llvm.org GIT mirror llvm / 08ef88f
[mips] Fix the predicates of round, ceiling, floor and trunc. Reviewers: atanasyan, abeserminji, smaksimovic Differential Revision: https://reviews.llvm.org/D46691 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@332258 91177308-0d34-0410-b5e6-96231b3b80d8 Simon Dardis 1 year, 5 months ago
19 changed file(s) with 261 addition(s) and 112 deletion(s). Raw diff Collapse all Expand all
7979 ROUND_W_FM_MM<0, 0x24>, ISA_MICROMIPS;
8080 }
8181
82 let isCodeGenOnly = 1 in {
83 def ROUND_W_S_MM : MMRel, StdMMR6Rel, ABSS_FT<"round.w.s", FGR32Opnd, FGR32Opnd,
84 II_ROUND>, ROUND_W_FM_MM<0, 0xec>,
85 ISA_MICROMIPS;
86
87 def CEIL_W_MM : MMRel, ABSS_FT<"ceil.w.d", FGR32Opnd, AFGR64Opnd, II_CEIL>,
88 ROUND_W_FM_MM<1, 0x6c>, ISA_MICROMIPS, FGR_32;
89 def FLOOR_W_MM : MMRel, ABSS_FT<"floor.w.d", FGR32Opnd, AFGR64Opnd, II_FLOOR>,
90 ROUND_W_FM_MM<1, 0x2c>, ISA_MICROMIPS, FGR_32;
91 def ROUND_W_MM : MMRel, StdMMR6Rel, ABSS_FT<"round.w.d", FGR32Opnd, AFGR64Opnd,
92 II_ROUND>, ROUND_W_FM_MM<1, 0xec>,
93 ISA_MICROMIPS, FGR_32;
94 def TRUNC_W_MM : MMRel, ABSS_FT<"trunc.w.d", FGR32Opnd, AFGR64Opnd, II_TRUNC>,
95 ROUND_W_FM_MM<1, 0xac>, ISA_MICROMIPS, FGR_32;
96 }
97 let DecoderNamespace = "MicroMips" in {
82 let DecoderNamespace = "MicroMips" in {
83 def ROUND_W_S_MM : MMRel, StdMMR6Rel, ABSS_FT<"round.w.s", FGR32Opnd,
84 FGR32Opnd, II_ROUND>,
85 ROUND_W_FM_MM<0, 0xec>, ISA_MICROMIPS;
86
87 def CEIL_W_MM : MMRel, ABSS_FT<"ceil.w.d", FGR32Opnd, AFGR64Opnd, II_CEIL>,
88 ROUND_W_FM_MM<1, 0x6c>, ISA_MICROMIPS, FGR_32;
89 def FLOOR_W_MM : MMRel, ABSS_FT<"floor.w.d", FGR32Opnd, AFGR64Opnd, II_FLOOR>,
90 ROUND_W_FM_MM<1, 0x2c>, ISA_MICROMIPS, FGR_32;
91 def ROUND_W_MM : MMRel, StdMMR6Rel, ABSS_FT<"round.w.d", FGR32Opnd,
92 AFGR64Opnd, II_ROUND>,
93 ROUND_W_FM_MM<1, 0xec>, ISA_MICROMIPS, FGR_32;
94 def TRUNC_W_MM : MMRel, ABSS_FT<"trunc.w.d", FGR32Opnd, AFGR64Opnd, II_TRUNC>,
95 ROUND_W_FM_MM<1, 0xac>, ISA_MICROMIPS, FGR_32;
96
9897 def CVT_L_S_MM : MMRel, ABSS_FT<"cvt.l.s", FGR64Opnd, FGR32Opnd, II_CVT>,
9998 ROUND_W_FM_MM<0, 0x4>, ISA_MICROMIPS, FGR_64;
10099 def CVT_L_D64_MM : MMRel, ABSS_FT<"cvt.l.d", FGR64Opnd, FGR64Opnd, II_CVT>,
220219 def NMSUB_D32_MM : MMRel, NMADDS_FT<"nmsub.d", AFGR64Opnd, II_NMSUB_D>,
221220 MADDS_FM_MM<0x2a>, ISA_MICROMIPS32_NOT_MIPS32R6, FGR_32;
222221 }
223 }
224
225 def FLOOR_W_S_MM : MMRel, ABSS_FT<"floor.w.s", FGR32Opnd, FGR32Opnd,
226 II_FLOOR>, ROUND_W_FM_MM<0, 0x2c>,
227 ISA_MICROMIPS;
228 def TRUNC_W_S_MM : MMRel, StdMMR6Rel, ABSS_FT<"trunc.w.s", FGR32Opnd,
229 FGR32Opnd, II_TRUNC>,
230 ROUND_W_FM_MM<0, 0xac>, ISA_MICROMIPS;
231 def CEIL_W_S_MM : MMRel, ABSS_FT<"ceil.w.s", FGR32Opnd, FGR32Opnd, II_CEIL>,
232 ROUND_W_FM_MM<0, 0x6c>, ISA_MICROMIPS;
222
223 def FLOOR_W_S_MM : MMRel, ABSS_FT<"floor.w.s", FGR32Opnd, FGR32Opnd,
224 II_FLOOR>, ROUND_W_FM_MM<0, 0x2c>,
225 ISA_MICROMIPS;
226 def TRUNC_W_S_MM : MMRel, StdMMR6Rel, ABSS_FT<"trunc.w.s", FGR32Opnd,
227 FGR32Opnd, II_TRUNC>,
228 ROUND_W_FM_MM<0, 0xac>, ISA_MICROMIPS;
229 def CEIL_W_S_MM : MMRel, ABSS_FT<"ceil.w.s", FGR32Opnd, FGR32Opnd, II_CEIL>,
230 ROUND_W_FM_MM<0, 0x6c>, ISA_MICROMIPS;
231 }
233232 def FSQRT_S_MM : MMRel, ABSS_FT<"sqrt.s", FGR32Opnd, FGR32Opnd, II_SQRT_S,
234233 fsqrt>, ROUND_W_FM_MM<0, 0x28>, ISA_MICROMIPS {
235234 string DecoderNamespace = "MicroMips";
348348 //===----------------------------------------------------------------------===//
349349 // Floating Point Instructions
350350 //===----------------------------------------------------------------------===//
351 def ROUND_W_S : MMRel, StdMMR6Rel, ABSS_FT<"round.w.s", FGR32Opnd, FGR32Opnd, II_ROUND>,
352 ABSS_FM<0xc, 16>, ISA_MIPS2;
353 defm ROUND_W : ROUND_M<"round.w.d", II_ROUND>, ABSS_FM<0xc, 17>, ISA_MIPS2;
354 def TRUNC_W_S : MMRel, StdMMR6Rel, ABSS_FT<"trunc.w.s", FGR32Opnd, FGR32Opnd, II_TRUNC>,
355 ABSS_FM<0xd, 16>, ISA_MIPS2;
356 def CEIL_W_S : MMRel, StdMMR6Rel, ABSS_FT<"ceil.w.s", FGR32Opnd, FGR32Opnd, II_CEIL>,
357 ABSS_FM<0xe, 16>, ISA_MIPS2;
358 def FLOOR_W_S : MMRel, StdMMR6Rel, ABSS_FT<"floor.w.s", FGR32Opnd, FGR32Opnd, II_FLOOR>,
359 ABSS_FM<0xf, 16>, ISA_MIPS2;
360 let AdditionalPredicates = [NotInMicroMips] in
351 let AdditionalPredicates = [NotInMicroMips] in {
352 def ROUND_W_S : MMRel, StdMMR6Rel, ABSS_FT<"round.w.s", FGR32Opnd, FGR32Opnd, II_ROUND>,
353 ABSS_FM<0xc, 16>, ISA_MIPS2;
354 defm ROUND_W : ROUND_M<"round.w.d", II_ROUND>, ABSS_FM<0xc, 17>, ISA_MIPS2;
355 def TRUNC_W_S : MMRel, StdMMR6Rel, ABSS_FT<"trunc.w.s", FGR32Opnd, FGR32Opnd, II_TRUNC>,
356 ABSS_FM<0xd, 16>, ISA_MIPS2;
357 def CEIL_W_S : MMRel, StdMMR6Rel, ABSS_FT<"ceil.w.s", FGR32Opnd, FGR32Opnd, II_CEIL>,
358 ABSS_FM<0xe, 16>, ISA_MIPS2;
359 def FLOOR_W_S : MMRel, StdMMR6Rel, ABSS_FT<"floor.w.s", FGR32Opnd, FGR32Opnd, II_FLOOR>,
360 ABSS_FM<0xf, 16>, ISA_MIPS2;
361361 def CVT_W_S : MMRel, ABSS_FT<"cvt.w.s", FGR32Opnd, FGR32Opnd, II_CVT>,
362362 ABSS_FM<0x24, 16>, ISA_MIPS1;
363363
364 defm TRUNC_W : ROUND_M<"trunc.w.d", II_TRUNC>, ABSS_FM<0xd, 17>, ISA_MIPS2;
365 defm CEIL_W : ROUND_M<"ceil.w.d", II_CEIL>, ABSS_FM<0xe, 17>, ISA_MIPS2;
366 defm FLOOR_W : ROUND_M<"floor.w.d", II_FLOOR>, ABSS_FM<0xf, 17>, ISA_MIPS2;
367 let AdditionalPredicates = [NotInMicroMips] in {
364 defm TRUNC_W : ROUND_M<"trunc.w.d", II_TRUNC>, ABSS_FM<0xd, 17>, ISA_MIPS2;
365 defm CEIL_W : ROUND_M<"ceil.w.d", II_CEIL>, ABSS_FM<0xe, 17>, ISA_MIPS2;
366 defm FLOOR_W : ROUND_M<"floor.w.d", II_FLOOR>, ABSS_FM<0xf, 17>, ISA_MIPS2;
368367 defm CVT_W : ROUND_M<"cvt.w.d", II_CVT>, ABSS_FM<0x24, 17>, ISA_MIPS1;
369368 }
370369
241241 0xc4 0x54 0xa9 0x00 # CHECK: msub.d $f0, $f2, $f4, $f6
242242 0xc4 0x54 0xa2 0x00 # CHECK: nmsub.s $f0, $f2, $f4, $f6
243243 0xc4 0x54 0xaa 0x00 # CHECK: nmsub.d $f0, $f2, $f4, $f6
244 0xc8 0x54 0x3b 0x1b # CHECK: ceil.w.s $f6, $f8
245 0xc8 0x54 0x3b 0x5b # CHECK: ceil.w.d $f6, $f8
246 0xc8 0x54 0x3b 0x09 # CHECK: cvt.w.s $f6, $f8
247 0xc8 0x54 0x3b 0x49 # CHECK: cvt.w.d $f6, $f8
248 0xc8 0x54 0x3b 0x0b # CHECK: floor.w.s $f6, $f8
249 0xc8 0x54 0x3b 0x4b # CHECK: floor.w.d $f6, $f8
250 0xc8 0x54 0x3b 0x3b # CHECK: round.w.s $f6, $f8
251 0xc8 0x54 0x3b 0x7b # CHECK: round.w.d $f6, $f8
252 0xc8 0x54 0x3b 0x2b # CHECK: trunc.w.s $f6, $f8
253 0xc8 0x54 0x3b 0x6b # CHECK: trunc.w.d $f6, $f8
243243 0x54 0xc4 0x00 0xa9 # CHECK: msub.d $f0, $f2, $f4, $f6
244244 0x54 0xc4 0x00 0xa2 # CHECK: nmsub.s $f0, $f2, $f4, $f6
245245 0x54 0xc4 0x00 0xaa # CHECK: nmsub.d $f0, $f2, $f4, $f6
246 0x54 0xc8 0x1b 0x3b # CHECK: ceil.w.s $f6, $f8
247 0x54 0xc8 0x5b 0x3b # CHECK: ceil.w.d $f6, $f8
248 0x54 0xc8 0x09 0x3b # CHECK: cvt.w.s $f6, $f8
249 0x54 0xc8 0x49 0x3b # CHECK: cvt.w.d $f6, $f8
250 0x54 0xc8 0x0b 0x3b # CHECK: floor.w.s $f6, $f8
251 0x54 0xc8 0x4b 0x3b # CHECK: floor.w.d $f6, $f8
252 0x54 0xc8 0x3b 0x3b # CHECK: round.w.s $f6, $f8
253 0x54 0xc8 0x7b 0x3b # CHECK: round.w.d $f6, $f8
254 0x54 0xc8 0x2b 0x3b # CHECK: trunc.w.s $f6, $f8
255 0x54 0xc8 0x6b 0x3b # CHECK: trunc.w.d $f6, $f8
2525 # CHECK-EL: bc1t 1332 # encoding: [0xa0,0x43,0x9a,0x02]
2626 # CHECK-EL: nop # encoding: [0x00,0x00,0x00,0x00]
2727 # CHECK-EL: ceil.w.s $f6, $f8 # encoding: [0xc8,0x54,0x3b,0x1b]
28 # CHECK-EL-NEXT: #
2829 # CHECK-EL: ceil.w.d $f6, $f8 # encoding: [0xc8,0x54,0x3b,0x5b]
30 # CHECK-EL-NEXT: #
2931 # CHECK-EL: cvt.w.s $f6, $f8 # encoding: [0xc8,0x54,0x3b,0x09]
3032 # CHECK-EL: cvt.w.d $f6, $f8 # encoding: [0xc8,0x54,0x3b,0x49]
3133 # CHECK-EL: floor.w.s $f6, $f8 # encoding: [0xc8,0x54,0x3b,0x0b]
34 # CHECK-EL-NEXT: #
3235 # CHECK-EL: floor.w.d $f6, $f8 # encoding: [0xc8,0x54,0x3b,0x4b]
36 # CHECK-EL-NEXT: #
3337 # CHECK-EL: round.w.s $f6, $f8 # encoding: [0xc8,0x54,0x3b,0x3b]
38 # CHECK-EL-NEXT: #
3439 # CHECK-EL: round.w.d $f6, $f8 # encoding: [0xc8,0x54,0x3b,0x7b]
40 # CHECK-EL-NEXT: #
3541 # CHECK-EL: sqrt.s $f6, $f8 # encoding: [0xc8,0x54,0x3b,0x0a]
3642 # CHECK-EL: sqrt.d $f6, $f8 # encoding: [0xc8,0x54,0x3b,0x4a]
3743 # CHECK-EL: trunc.w.s $f6, $f8 # encoding: [0xc8,0x54,0x3b,0x2b]
44 # CHECK-EL-NEXT: #
3845 # CHECK-EL: trunc.w.d $f6, $f8 # encoding: [0xc8,0x54,0x3b,0x6b]
46 # CHECK-EL-NEXT: #
3947 # CHECK-EL: abs.s $f6, $f8 # encoding: [0xc8,0x54,0x7b,0x03]
4048 # CHECK-EL: abs.d $f6, $f8 # encoding: [0xc8,0x54,0x7b,0x23]
4149 # CHECK-EL: mov.s $f6, $f8 # encoding: [0xc8,0x54,0x7b,0x00]
100108 # CHECK-EB: bc1t 1332 # encoding: [0x43,0xa0,0x02,0x9a]
101109 # CHECK-EB: nop # encoding: [0x00,0x00,0x00,0x00]
102110 # CHECK-EB: ceil.w.s $f6, $f8 # encoding: [0x54,0xc8,0x1b,0x3b]
111 # CHECK-EB-NEXT: #
103112 # CHECK-EB: ceil.w.d $f6, $f8 # encoding: [0x54,0xc8,0x5b,0x3b]
113 # CHECK-EB-NEXT: #
104114 # CHECK-EB: cvt.w.s $f6, $f8 # encoding: [0x54,0xc8,0x09,0x3b]
105115 # CHECK-EB: cvt.w.d $f6, $f8 # encoding: [0x54,0xc8,0x49,0x3b]
106116 # CHECK-EB: floor.w.s $f6, $f8 # encoding: [0x54,0xc8,0x0b,0x3b]
117 # CHECK-EB-NEXT: #
107118 # CHECK-EB: floor.w.d $f6, $f8 # encoding: [0x54,0xc8,0x4b,0x3b]
119 # CHECK-EB-NEXT: #
108120 # CHECK-EB: round.w.s $f6, $f8 # encoding: [0x54,0xc8,0x3b,0x3b]
121 # CHECK-EB-NEXT: #
109122 # CHECK-EB: round.w.d $f6, $f8 # encoding: [0x54,0xc8,0x7b,0x3b]
123 # CHECK-EB-NEXT: #
110124 # CHECK-EB: sqrt.s $f6, $f8 # encoding: [0x54,0xc8,0x0a,0x3b]
111125 # CHECK-EB: sqrt.d $f6, $f8 # encoding: [0x54,0xc8,0x4a,0x3b]
112126 # CHECK-EB: trunc.w.s $f6, $f8 # encoding: [0x54,0xc8,0x2b,0x3b]
127 # CHECK-EB-NEXT: #
113128 # CHECK-EB: trunc.w.d $f6, $f8 # encoding: [0x54,0xc8,0x6b,0x3b]
129 # CHECK-EB-NEXT: #
114130 # CHECK-EB: abs.s $f6, $f8 # encoding: [0x54,0xc8,0x03,0x7b]
115131 # CHECK-EB: abs.d $f6, $f8 # encoding: [0x54,0xc8,0x23,0x7b]
116132 # CHECK-EB: mov.s $f6, $f8 # encoding: [0x54,0xc8,0x00,0x7b]
4242 c.ngle.d $f0,$f16
4343 c.sf.d $f30,$f0
4444 c.sf.s $f14,$f22
45 ceil.w.d $f11,$f25
46 ceil.w.s $f6,$f20
45 ceil.w.d $f10,$f24 # CHECK: ceil.w.d $f10, $f24 # encoding: [0x46,0x20,0xc2,0x8e]
46 # CHECK: #
47 ceil.w.s $f6,$f20 # CHECK: ceil.w.s $f6, $f20 # encoding: [0x46,0x00,0xa1,0x8e]
48 # CHECK: #
4749 cfc1 $s1,$21
4850 ctc1 $a2,$26
4951 cvt.d.s $f0,$f2 # CHECK: cvt.d.s $f0, $f2 # encoding: [0x46,0x00,0x10,0x21]
6264 div.s $f4,$f5,$f15
6365 divu $zero,$25,$15
6466 ehb # CHECK: ehb # encoding: [0x00,0x00,0x00,0xc0]
65 floor.w.d $f14,$f11
66 floor.w.s $f8,$f9
67 floor.w.d $f14,$f11 # CHECK: floor.w.d $f14, $f10 # encoding: [0x46,0x20,0x53,0x8f]
68 # CHECK: #
69 floor.w.s $f8,$f9 # CHECK: floor.w.s $f8, $f9 # encoding: [0x46,0x00,0x4a,0x0f]
70 # CHECK: #
6771 j 1f # CHECK: j $tmp0 # encoding: [0b000010AA,A,A,A]
6872 # CHECK: # fixup A - offset: 0, value: ($tmp0), kind: fixup_Mips_26
6973 j a # CHECK: j a # encoding: [0b000010AA,A,A,A]
121125 not $3 # CHECK: not $3, $3 # encoding: [0x00,0x60,0x18,0x27]
122126 or $12,$s0,$sp
123127 or $2, 4 # CHECK: ori $2, $2, 4 # encoding: [0x34,0x42,0x00,0x04]
124 round.w.d $f6,$f4
125 round.w.s $f27,$f28
128 round.w.d $f6, $f4 # CHECK: round.w.d $f6, $f4 # encoding: [0x46,0x20,0x21,0x8c]
129 # CHECK: #
130 round.w.s $f27,$f28 # CHECK: round.w.s $f27, $f28 # encoding: [0x46,0x00,0xe6,0xcc]
131 # CHECK: #
126132 s.s $f2, 8($3) # CHECK: swc1 $f2, 8($3) # encoding: [0xe4,0x62,0x00,0x08]
127133 s.d $f2, 8($3) # CHECK: sdc1 $f2, 8($3) # encoding: [0xf4,0x62,0x00,0x08]
128134 sb $s6,-19857($14)
240246 tnei $12, -29647 # CHECK: tnei $12, -29647 # encoding: [0x05,0x8e,0x8c,0x31]
241247 trunc.w.d $f22,$f15 # CHECK: trunc.w.d $f22, $f14 # encoding: [0x46,0x20,0x75,0x8d]
242248 trunc.w.s $f28,$f30 # CHECK: trunc.w.s $f28, $f30 # encoding: [0x46,0x00,0xf7,0x0d]
249 # CHECK:
243250 trunc.w.d $f4,$f6,$4 # CHECK: trunc.w.d $f4, $f6 # encoding: [0x46,0x20,0x31,0x0d]
244251 trunc.w.s $f4,$f6,$4 # CHECK: trunc.w.s $f4, $f6 # encoding: [0x46,0x00,0x31,0x0d]
245252 xor $s2,$a0,$s8
4242 c.sf.s $f14,$f22
4343 ceil.l.d $f1,$f3
4444 ceil.l.s $f18,$f13
45 ceil.w.d $f11,$f25
46 ceil.w.s $f6,$f20
45 ceil.w.d $f11,$f25 # CHECK: ceil.w.d $f11, $f25 # encoding: [0x46,0x20,0xca,0xce]
46 # CHECK: #
47 ceil.w.s $f6,$f20 # CHECK: ceil.w.s $f6, $f20 # encoding: [0x46,0x00,0xa1,0x8e]
48 # CHECK: #
4749 cfc1 $s1,$21
4850 ctc1 $a2,$26
4951 cvt.d.l $f4,$f16 # CHECK: cvt.d.l $f4, $f16 # encoding: [0x46,0xa0,0x81,0x21]
123125 eret
124126 floor.l.d $f26,$f7
125127 floor.l.s $f12,$f5
126 floor.w.d $f14,$f11
127 floor.w.s $f8,$f9
128 floor.w.d $f14,$f11 # CHECK: floor.w.d $f14, $f11 # encoding: [0x46,0x20,0x5b,0x8f]
129 # CHECK: #
130 floor.w.s $f8,$f9 # CHECK: floor.w.s $f8, $f9 # encoding: [0x46,0x00,0x4a,0x0f]
131 # CHECK: #
128132 j 1f # CHECK: j .Ltmp0 # encoding: [0b000010AA,A,A,A]
129133 # CHECK: # fixup A - offset: 0, value: .Ltmp0, kind: fixup_Mips_26
130134 j a # CHECK: j a # encoding: [0b000010AA,A,A,A]
186190 or $2, 4 # CHECK: ori $2, $2, 4 # encoding: [0x34,0x42,0x00,0x04]
187191 round.l.d $f12,$f1
188192 round.l.s $f25,$f5
189 round.w.d $f6,$f4
190 round.w.s $f27,$f28
193 round.w.d $f6, $f4 # CHECK: round.w.d $f6, $f4 # encoding: [0x46,0x20,0x21,0x8c]
194 # CHECK: #
195 round.w.s $f27,$f28 # CHECK: round.w.s $f27, $f28 # encoding: [0x46,0x00,0xe6,0xcc]
196 # CHECK: #
191197 s.s $f2, 8($3) # CHECK: swc1 $f2, 8($3) # encoding: [0xe4,0x62,0x00,0x08]
192198 s.d $f2, 8($3) # CHECK: sdc1 $f2, 8($3) # encoding: [0xf4,0x62,0x00,0x08]
193199 sb $s6,-19857($14)
304310 trunc.l.d $f23,$f23 # CHECK: trunc.l.d $f23, $f23 # encoding: [0x46,0x20,0xbd,0xc9]
305311 trunc.l.s $f28,$f31 # CHECK: trunc.l.s $f28, $f31 # encoding: [0x46,0x00,0xff,0x09]
306312 trunc.w.d $f22,$f15 # CHECK: trunc.w.d $f22, $f15 # encoding: [0x46,0x20,0x7d,0x8d]
313 # CHECK:
307314 trunc.w.s $f28,$f30 # CHECK: trunc.w.s $f28, $f30 # encoding: [0x46,0x00,0xf7,0x0d]
315 # CHECK:
308316 trunc.w.d $f4,$f6,$4 # CHECK: trunc.w.d $f4, $f6 # encoding: [0x46,0x20,0x31,0x0d]
309317 trunc.w.s $f4,$f6,$4 # CHECK: trunc.w.s $f4, $f6 # encoding: [0x46,0x00,0x31,0x0d]
310318 xor $s2,$a0,$s8
7575 c.ult.s $fcc7, $f24, $f10 # CHECK: c.ult.s $fcc7, $f24, $f10 # encoding: [0x46,0x0a,0xc7,0x35]
7676 c.un.d $fcc6, $f22, $f24 # CHECK: c.un.d $fcc6, $f22, $f24 # encoding: [0x46,0x38,0xb6,0x31]
7777 c.un.s $fcc1, $f30, $f4 # CHECK: c.un.s $fcc1, $f30, $f4 # encoding: [0x46,0x04,0xf1,0x31]
78 ceil.w.d $f11,$f25
79 ceil.w.s $f6,$f20
78 ceil.w.d $f11,$f24 # CHECK: ceil.w.d $f11, $f24 # encoding: [0x46,0x20,0xc2,0xce]
79 # CHECK: #
80 ceil.w.s $f6,$f20 # CHECK: ceil.w.s $f6, $f20 # encoding: [0x46,0x00,0xa1,0x8e]
81 # CHECK: #
8082 cfc1 $s1,$21
8183 clo $11,$a1 # CHECK: clo $11, $5 # encoding: [0x70,0xab,0x58,0x21]
8284 # CHECK-NEXT: #
101103 divu $zero,$25,$15
102104 ehb # CHECK: ehb # encoding: [0x00,0x00,0x00,0xc0]
103105 eret
104 floor.w.d $f14,$f11
105 floor.w.s $f8,$f9
106 floor.w.d $f14,$f11 # CHECK: floor.w.d $f14, $f10 # encoding: [0x46,0x20,0x53,0x8f]
107 # CHECK: #
108 floor.w.s $f8,$f9 # CHECK: floor.w.s $f8, $f9 # encoding: [0x46,0x00,0x4a,0x0f]
109 # CHECK: #
106110 j 1f # CHECK: j $tmp0 # encoding: [0b000010AA,A,A,A]
107111 # CHECK: # fixup A - offset: 0, value: ($tmp0), kind: fixup_Mips_26
108112 j a # CHECK: j a # encoding: [0b000010AA,A,A,A]
180184 or $12,$s0,$sp
181185 or $2, 4 # CHECK: ori $2, $2, 4 # encoding: [0x34,0x42,0x00,0x04]
182186 pref 1, 8($5) # CHECK: pref 1, 8($5) # encoding: [0xcc,0xa1,0x00,0x08]
183 round.w.d $f6,$f4
184 round.w.s $f27,$f28
187 round.w.d $f6, $f4 # CHECK: round.w.d $f6, $f4 # encoding: [0x46,0x20,0x21,0x8c]
188 # CHECK: #
189 round.w.s $f27,$f28 # CHECK: round.w.s $f27, $f28 # encoding: [0x46,0x00,0xe6,0xcc]
190 # CHECK: #
185191 s.s $f2, 8($3) # CHECK: swc1 $f2, 8($3) # encoding: [0xe4,0x62,0x00,0x08]
186192 s.d $f2, 8($3) # CHECK: sdc1 $f2, 8($3) # encoding: [0xf4,0x62,0x00,0x08]
187193 sb $s6,-19857($14)
302308 tnei $12, -29647 # CHECK: tnei $12, -29647 # encoding: [0x05,0x8e,0x8c,0x31]
303309 trunc.w.d $f22,$f15 # CHECK: trunc.w.d $f22, $f14 # encoding: [0x46,0x20,0x75,0x8d]
304310 trunc.w.s $f28,$f30 # CHECK: trunc.w.s $f28, $f30 # encoding: [0x46,0x00,0xf7,0x0d]
311 # CHECK:
305312 trunc.w.d $f4,$f6,$4 # CHECK: trunc.w.d $f4, $f6 # encoding: [0x46,0x20,0x31,0x0d]
306313 trunc.w.s $f4,$f6,$4 # CHECK: trunc.w.s $f4, $f6 # encoding: [0x46,0x00,0x31,0x0d]
307314 xor $s2,$a0,$s8
7575 c.ult.s $fcc7, $f24, $f10 # CHECK: c.ult.s $fcc7, $f24, $f10 # encoding: [0x46,0x0a,0xc7,0x35]
7676 c.un.d $fcc6, $f22, $f24 # CHECK: c.un.d $fcc6, $f22, $f24 # encoding: [0x46,0x38,0xb6,0x31]
7777 c.un.s $fcc1, $f30, $f4 # CHECK: c.un.s $fcc1, $f30, $f4 # encoding: [0x46,0x04,0xf1,0x31]
78 ceil.w.d $f11,$f25
79 ceil.w.s $f6,$f20
78 ceil.w.d $f11, $f24 # CHECK: ceil.w.d $f11, $f24 # encoding: [0x46,0x20,0xc2,0xce]
79 # CHECK: #
80 ceil.w.s $f6,$f20 # CHECK: ceil.w.s $f6, $f20 # encoding: [0x46,0x00,0xa1,0x8e]
81 # CHECK: #
8082 cfc1 $s1,$21
8183 clo $11,$a1 # CHECK: clo $11, $5 # encoding: [0x70,0xab,0x58,0x21]
8284 # CHECK-NEXT: #
107109 ei $14 # CHECK: ei $14 # encoding: [0x41,0x6e,0x60,0x20]
108110 ei # CHECK: ei # encoding: [0x41,0x60,0x60,0x20]
109111 eret
110 floor.w.d $f14,$f11
111 floor.w.s $f8,$f9
112 floor.w.d $f14,$f11 # CHECK: floor.w.d $f14, $f10 # encoding: [0x46,0x20,0x53,0x8f]
113 # CHECK: #
114 floor.w.s $f8,$f9 # CHECK: floor.w.s $f8, $f9 # encoding: [0x46,0x00,0x4a,0x0f]
115 # CHECK: #
112116 j 1f # CHECK: j $tmp0 # encoding: [0b000010AA,A,A,A]
113117 # CHECK: # fixup A - offset: 0, value: ($tmp0), kind: fixup_Mips_26
114118 j a # CHECK: j a # encoding: [0b000010AA,A,A,A]
218222 rotr $1,15 # CHECK: rotr $1, $1, 15 # encoding: [0x00,0x21,0x0b,0xc2]
219223 rotr $1,$14,15 # CHECK: rotr $1, $14, 15 # encoding: [0x00,0x2e,0x0b,0xc2]
220224 rotrv $1,$14,$15 # CHECK: rotrv $1, $14, $15 # encoding: [0x01,0xee,0x08,0x46]
221 round.w.d $f6,$f4
222 round.w.s $f27,$f28
225 round.w.d $f6, $f4 # CHECK: round.w.d $f6, $f4 # encoding: [0x46,0x20,0x21,0x8c]
226 # CHECK: #
227 round.w.s $f27,$f28 # CHECK: round.w.s $f27, $f28 # encoding: [0x46,0x00,0xe6,0xcc]
228 # CHECK: #
223229 rsqrt.s $f0,$f4 # CHECK: rsqrt.s $f0, $f4 # encoding: [0x46,0x00,0x20,0x16]
224230 rsqrt.d $f2,$f6 # CHECK: rsqrt.d $f2, $f6 # encoding: [0x46,0x20,0x30,0x96]
225231 s.s $f2, 8($3) # CHECK: swc1 $f2, 8($3) # encoding: [0xe4,0x62,0x00,0x08]
353359 tnei $12, -29647 # CHECK: tnei $12, -29647 # encoding: [0x05,0x8e,0x8c,0x31]
354360 trunc.w.d $f22,$f15 # CHECK: trunc.w.d $f22, $f14 # encoding: [0x46,0x20,0x75,0x8d]
355361 trunc.w.s $f28,$f30 # CHECK: trunc.w.s $f28, $f30 # encoding: [0x46,0x00,0xf7,0x0d]
362 # CHECK:
356363 trunc.w.d $f4,$f6,$4 # CHECK: trunc.w.d $f4, $f6 # encoding: [0x46,0x20,0x31,0x0d]
357364 trunc.w.s $f4,$f6,$4 # CHECK: trunc.w.s $f4, $f6 # encoding: [0x46,0x00,0x31,0x0d]
358365 wsbh $k1,$9
7575 c.ult.s $fcc7, $f24, $f10 # CHECK: c.ult.s $fcc7, $f24, $f10 # encoding: [0x46,0x0a,0xc7,0x35]
7676 c.un.d $fcc6, $f22, $f24 # CHECK: c.un.d $fcc6, $f22, $f24 # encoding: [0x46,0x38,0xb6,0x31]
7777 c.un.s $fcc1, $f30, $f4 # CHECK: c.un.s $fcc1, $f30, $f4 # encoding: [0x46,0x04,0xf1,0x31]
78 ceil.w.d $f11,$f25
79 ceil.w.s $f6,$f20
78 ceil.w.d $f11,$f24 # CHECK: ceil.w.d $f11, $f24 # encoding: [0x46,0x20,0xc2,0xce]
79 # CHECK: #
80 ceil.w.s $f6,$f20 # CHECK: ceil.w.s $f6, $f20 # encoding: [0x46,0x00,0xa1,0x8e]
81 # CHECK: #
8082 cfc1 $s1,$21
8183 clo $11,$a1 # CHECK: clo $11, $5 # encoding: [0x70,0xab,0x58,0x21]
8284 # CHECK-NEXT: #
107109 ei $14 # CHECK: ei $14 # encoding: [0x41,0x6e,0x60,0x20]
108110 ei # CHECK: ei # encoding: [0x41,0x60,0x60,0x20]
109111 eret
110 floor.w.d $f14,$f11
111 floor.w.s $f8,$f9
112 floor.w.d $f14,$f11 # CHECK: floor.w.d $f14, $f10 # encoding: [0x46,0x20,0x53,0x8f]
113 # CHECK: #
114 floor.w.s $f8,$f9 # CHECK: floor.w.s $f8, $f9 # encoding: [0x46,0x00,0x4a,0x0f]
115 # CHECK: #
112116 j 1f # CHECK: j $tmp0 # encoding: [0b000010AA,A,A,A]
113117 # CHECK: # fixup A - offset: 0, value: ($tmp0), kind: fixup_Mips_26
114118 j a # CHECK: j a # encoding: [0b000010AA,A,A,A]
218222 rotr $1,15 # CHECK: rotr $1, $1, 15 # encoding: [0x00,0x21,0x0b,0xc2]
219223 rotr $1,$14,15 # CHECK: rotr $1, $14, 15 # encoding: [0x00,0x2e,0x0b,0xc2]
220224 rotrv $1,$14,$15 # CHECK: rotrv $1, $14, $15 # encoding: [0x01,0xee,0x08,0x46]
221 round.w.d $f6,$f4
222 round.w.s $f27,$f28
225 round.w.d $f6, $f4 # CHECK: round.w.d $f6, $f4 # encoding: [0x46,0x20,0x21,0x8c]
226 # CHECK: #
227 round.w.s $f27,$f28 # CHECK: round.w.s $f27, $f28 # encoding: [0x46,0x00,0xe6,0xcc]
228 # CHECK: #
223229 rsqrt.s $f0,$f4 # CHECK: rsqrt.s $f0, $f4 # encoding: [0x46,0x00,0x20,0x16]
224230 rsqrt.d $f2,$f6 # CHECK: rsqrt.d $f2, $f6 # encoding: [0x46,0x20,0x30,0x96]
225231 s.s $f2, 8($3) # CHECK: swc1 $f2, 8($3) # encoding: [0xe4,0x62,0x00,0x08]
355361 tnei $12, -29647 # CHECK: tnei $12, -29647 # encoding: [0x05,0x8e,0x8c,0x31]
356362 trunc.w.d $f22,$f15 # CHECK: trunc.w.d $f22, $f14 # encoding: [0x46,0x20,0x75,0x8d]
357363 trunc.w.s $f28,$f30 # CHECK: trunc.w.s $f28, $f30 # encoding: [0x46,0x00,0xf7,0x0d]
364 # CHECK:
358365 trunc.w.d $f4,$f6,$4 # CHECK: trunc.w.d $f4, $f6 # encoding: [0x46,0x20,0x31,0x0d]
359366 trunc.w.s $f4,$f6,$4 # CHECK: trunc.w.s $f4, $f6 # encoding: [0x46,0x00,0x31,0x0d]
360367 wsbh $k1,$9
7575 c.ult.s $fcc7, $f24, $f10 # CHECK: c.ult.s $fcc7, $f24, $f10 # encoding: [0x46,0x0a,0xc7,0x35]
7676 c.un.d $fcc6, $f22, $f24 # CHECK: c.un.d $fcc6, $f22, $f24 # encoding: [0x46,0x38,0xb6,0x31]
7777 c.un.s $fcc1, $f30, $f4 # CHECK: c.un.s $fcc1, $f30, $f4 # encoding: [0x46,0x04,0xf1,0x31]
78 ceil.w.d $f11,$f25
79 ceil.w.s $f6,$f20
78 ceil.w.d $f11,$f24 # CHECK: ceil.w.d $f11, $f24 # encoding: [0x46,0x20,0xc2,0xce]
79 # CHECK: #
80 ceil.w.s $f6,$f20 # CHECK: ceil.w.s $f6, $f20 # encoding: [0x46,0x00,0xa1,0x8e]
81 # CHECK: #
8082 cfc1 $s1,$21
8183 clo $11,$a1 # CHECK: clo $11, $5 # encoding: [0x70,0xab,0x58,0x21]
8284 # CHECK-NEXT: #
108110 ei # CHECK: ei # encoding: [0x41,0x60,0x60,0x20]
109111 eret
110112 eretnc # CHECK: eretnc # encoding: [0x42,0x00,0x00,0x58]
111 floor.w.d $f14,$f11
112 floor.w.s $f8,$f9
113 floor.w.d $f14,$f11 # CHECK: floor.w.d $f14, $f10 # encoding: [0x46,0x20,0x53,0x8f]
114 # CHECK: #
115 floor.w.s $f8,$f9 # CHECK: floor.w.s $f8, $f9 # encoding: [0x46,0x00,0x4a,0x0f]
116 # CHECK: #
113117 j 1f # CHECK: j $tmp0 # encoding: [0b000010AA,A,A,A]
114118 # CHECK: # fixup A - offset: 0, value: ($tmp0), kind: fixup_Mips_26
115119 j a # CHECK: j a # encoding: [0b000010AA,A,A,A]
219223 rotr $1,15 # CHECK: rotr $1, $1, 15 # encoding: [0x00,0x21,0x0b,0xc2]
220224 rotr $1,$14,15 # CHECK: rotr $1, $14, 15 # encoding: [0x00,0x2e,0x0b,0xc2]
221225 rotrv $1,$14,$15 # CHECK: rotrv $1, $14, $15 # encoding: [0x01,0xee,0x08,0x46]
222 round.w.d $f6,$f4
223 round.w.s $f27,$f28
226 round.w.d $f6, $f4 # CHECK: round.w.d $f6, $f4 # encoding: [0x46,0x20,0x21,0x8c]
227 # CHECK: #
228 round.w.s $f27,$f28 # CHECK: round.w.s $f27, $f28 # encoding: [0x46,0x00,0xe6,0xcc]
229 # CHECK: #
224230 rsqrt.s $f0,$f4 # CHECK: rsqrt.s $f0, $f4 # encoding: [0x46,0x00,0x20,0x16]
225231 rsqrt.d $f2,$f6 # CHECK: rsqrt.d $f2, $f6 # encoding: [0x46,0x20,0x30,0x96]
226232 s.s $f2, 8($3) # CHECK: swc1 $f2, 8($3) # encoding: [0xe4,0x62,0x00,0x08]
356362 tnei $12, -29647 # CHECK: tnei $12, -29647 # encoding: [0x05,0x8e,0x8c,0x31]
357363 trunc.w.d $f22,$f15 # CHECK: trunc.w.d $f22, $f14 # encoding: [0x46,0x20,0x75,0x8d]
358364 trunc.w.s $f28,$f30 # CHECK: trunc.w.s $f28, $f30 # encoding: [0x46,0x00,0xf7,0x0d]
365 # CHECK:
359366 trunc.w.d $f4,$f6,$4 # CHECK: trunc.w.d $f4, $f6 # encoding: [0x46,0x20,0x31,0x0d]
360367 trunc.w.s $f4,$f6,$4 # CHECK: trunc.w.s $f4, $f6 # encoding: [0x46,0x00,0x31,0x0d]
361368 wsbh $k1,$9
6565 bovc $2, $0, 4 # CHECK: bovc $2, $zero, 4 # encoding: [0x20,0x40,0x00,0x01]
6666 bovc $2, $4, 4 # CHECK: bovc $2, $4, 4 # encoding: [0x20,0x82,0x00,0x01]
6767 cache 1, 8($5) # CHECK: cache 1, 8($5) # encoding: [0x7c,0xa1,0x04,0x25]
68 ceil.w.d $f11,$f24 # CHECK: ceil.w.d $f11, $f24 # encoding: [0x46,0x20,0xc2,0xce]
69 # CHECK: #
70 ceil.w.s $f6,$f20 # CHECK: ceil.w.s $f6, $f20 # encoding: [0x46,0x00,0xa1,0x8e]
71 # CHECK: #
6872 cmp.af.s $f2,$f3,$f4 # CHECK: cmp.af.s $f2, $f3, $f4 # encoding: [0x46,0x84,0x18,0x80]
6973 cmp.af.d $f2,$f3,$f4 # CHECK: cmp.af.d $f2, $f3, $f4 # encoding: [0x46,0xa4,0x18,0x80]
7074 cmp.un.s $f2,$f3,$f4 # CHECK: cmp.un.s $f2, $f3, $f4 # encoding: [0x46,0x84,0x18,0x81]
109113 eretnc # CHECK: eretnc # encoding: [0x42,0x00,0x00,0x58]
110114 evp $5 # CHECK: evp $5 # encoding: [0x41,0x65,0x00,0x04]
111115 evp # CHECK: evp $zero # encoding: [0x41,0x60,0x00,0x04]
116 floor.w.d $f14,$f11 # CHECK: floor.w.d $f14, $f11 # encoding: [0x46,0x20,0x5b,0x8f]
117 # CHECK: #
118 floor.w.s $f8,$f9 # CHECK: floor.w.s $f8, $f9 # encoding: [0x46,0x00,0x4a,0x0f]
119 # CHECK: #
112120 jialc $5, 256 # CHECK: jialc $5, 256 # encoding: [0xf8,0x05,0x01,0x00]
113121 jic $5, 256 # CHECK: jic $5, 256 # encoding: [0xd8,0x05,0x01,0x00]
114122 l.s $f2, 8($3) # CHECK: lwc1 $f2, 8($3) # encoding: [0xc4,0x62,0x00,0x08]
149157 # CHECK-NEXT: .set mips32r2
150158 # CHECK-NEXT: rdhwr $sp, $11
151159 # CHECK-NEXT: .set pop # encoding: [0x7c,0x1d,0x58,0x3b]
160 round.w.d $f6, $f4 # CHECK: round.w.d $f6, $f4 # encoding: [0x46,0x20,0x21,0x8c]
161 # CHECK: #
162 round.w.s $f27,$f28 # CHECK: round.w.s $f27, $f28 # encoding: [0x46,0x00,0xe6,0xcc]
163 # CHECK: #
152164 recip.d $f19,$f6 # CHECK: recip.d $f19, $f6 # encoding: [0x46,0x20,0x34,0xd5]
153165 recip.s $f3,$f30 # CHECK: recip.s $f3, $f30 # encoding: [0x46,0x00,0xf0,0xd5]
154166 s.s $f2, 8($3) # CHECK: swc1 $f2, 8($3) # encoding: [0xe4,0x62,0x00,0x08]
7474 c.un.s $fcc1, $f30, $f4 # CHECK: c.un.s $fcc1, $f30, $f4 # encoding: [0x46,0x04,0xf1,0x31]
7575 ceil.l.d $f1,$f3
7676 ceil.l.s $f18,$f13
77 ceil.w.d $f11,$f25
78 ceil.w.s $f6,$f20
77 ceil.w.d $f11,$f25 # CHECK: ceil.w.d $f11, $f25 # encoding: [0x46,0x20,0xca,0xce]
78 # CHECK: #
79 ceil.w.s $f6,$f20 # CHECK: ceil.w.s $f6, $f20 # encoding: [0x46,0x00,0xa1,0x8e]
80 # CHECK: #
7981 cfc1 $s1,$21
8082 ctc1 $a2,$26
8183 cvt.d.l $f4,$f16 # CHECK: cvt.d.l $f4, $f16 # encoding: [0x46,0xa0,0x81,0x21]
155157 eret
156158 floor.l.d $f26,$f7
157159 floor.l.s $f12,$f5
158 floor.w.d $f14,$f11
159 floor.w.s $f8,$f9
160 floor.w.d $f14,$f11 # CHECK: floor.w.d $f14, $f11 # encoding: [0x46,0x20,0x5b,0x8f]
161 # CHECK: #
162 floor.w.s $f8,$f9 # CHECK: floor.w.s $f8, $f9 # encoding: [0x46,0x00,0x4a,0x0f]
163 # CHECK: #
160164 j 1f # CHECK: j .Ltmp0 # encoding: [0b000010AA,A,A,A]
161165 # CHECK: # fixup A - offset: 0, value: .Ltmp0, kind: fixup_Mips_26
162166 j a # CHECK: j a # encoding: [0b000010AA,A,A,A]
243247 recip.s $f3,$f30 # CHECK: recip.s $f3, $f30 # encoding: [0x46,0x00,0xf0,0xd5]
244248 round.l.d $f12,$f1
245249 round.l.s $f25,$f5
246 round.w.d $f6,$f4
247 round.w.s $f27,$f28
250 round.w.d $f6, $f4 # CHECK: round.w.d $f6, $f4 # encoding: [0x46,0x20,0x21,0x8c]
251 # CHECK: #
252 round.w.s $f27,$f28 # CHECK: round.w.s $f27, $f28 # encoding: [0x46,0x00,0xe6,0xcc]
253 # CHECK: #
248254 rsqrt.s $f0,$f4 # CHECK: rsqrt.s $f0, $f4 # encoding: [0x46,0x00,0x20,0x16]
249255 rsqrt.d $f2,$f6 # CHECK: rsqrt.d $f2, $f6 # encoding: [0x46,0x20,0x30,0x96]
250256 s.s $f2, 8($3) # CHECK: swc1 $f2, 8($3) # encoding: [0xe4,0x62,0x00,0x08]
365371 trunc.l.d $f23,$f23 # CHECK: trunc.l.d $f23, $f23 # encoding: [0x46,0x20,0xbd,0xc9]
366372 trunc.l.s $f28,$f31 # CHECK: trunc.l.s $f28, $f31 # encoding: [0x46,0x00,0xff,0x09]
367373 trunc.w.d $f22,$f15 # CHECK: trunc.w.d $f22, $f15 # encoding: [0x46,0x20,0x7d,0x8d]
374 # CHECK:
368375 trunc.w.s $f28,$f30 # CHECK: trunc.w.s $f28, $f30 # encoding: [0x46,0x00,0xf7,0x0d]
376 # CHECK:
369377 trunc.w.d $f4,$f6,$4 # CHECK: trunc.w.d $f4, $f6 # encoding: [0x46,0x20,0x31,0x0d]
370378 trunc.w.s $f4,$f6,$4 # CHECK: trunc.w.s $f4, $f6 # encoding: [0x46,0x00,0x31,0x0d]
371379 xor $s2,$a0,$s8
7474 c.un.s $fcc1, $f30, $f4 # CHECK: c.un.s $fcc1, $f30, $f4 # encoding: [0x46,0x04,0xf1,0x31]
7575 ceil.l.d $f1,$f3
7676 ceil.l.s $f18,$f13
77 ceil.w.d $f11,$f25
78 ceil.w.s $f6,$f20
77 ceil.w.d $f11,$f25 # CHECK: ceil.w.d $f11, $f25 # encoding: [0x46,0x20,0xca,0xce]
78 # CHECK: #
79 ceil.w.s $f6,$f20 # CHECK: ceil.w.s $f6, $f20 # encoding: [0x46,0x00,0xa1,0x8e]
80 # CHECK: #
7981 cfc1 $s1,$21
8082 ctc1 $a2,$26
8183 cvt.d.l $f4,$f16 # CHECK: cvt.d.l $f4, $f16 # encoding: [0x46,0xa0,0x81,0x21]
155157 eret
156158 floor.l.d $f26,$f7
157159 floor.l.s $f12,$f5
158 floor.w.d $f14,$f11
159 floor.w.s $f8,$f9
160 floor.w.d $f14,$f11 # CHECK: floor.w.d $f14, $f11 # encoding: [0x46,0x20,0x5b,0x8f]
161 # CHECK: #
162 floor.w.s $f8,$f9 # CHECK: floor.w.s $f8, $f9 # encoding: [0x46,0x00,0x4a,0x0f]
163 # CHECK: #
160164 j 1f # CHECK: j .Ltmp0 # encoding: [0b000010AA,A,A,A]
161165 # CHECK: # fixup A - offset: 0, value: .Ltmp0, kind: fixup_Mips_26
162166 j a # CHECK: j a # encoding: [0b000010AA,A,A,A]
244248 recip.s $f3,$f30 # CHECK: recip.s $f3, $f30 # encoding: [0x46,0x00,0xf0,0xd5]
245249 round.l.d $f12,$f1
246250 round.l.s $f25,$f5
247 round.w.d $f6,$f4
248 round.w.s $f27,$f28
251 round.w.d $f6, $f4 # CHECK: round.w.d $f6, $f4 # encoding: [0x46,0x20,0x21,0x8c]
252 # CHECK: #
253 round.w.s $f27,$f28 # CHECK: round.w.s $f27, $f28 # encoding: [0x46,0x00,0xe6,0xcc]
254 # CHECK: #
249255 rsqrt.s $f0,$f4 # CHECK: rsqrt.s $f0, $f4 # encoding: [0x46,0x00,0x20,0x16]
250256 rsqrt.d $f2,$f6 # CHECK: rsqrt.d $f2, $f6 # encoding: [0x46,0x20,0x30,0x96]
251257 s.s $f2, 8($3) # CHECK: swc1 $f2, 8($3) # encoding: [0xe4,0x62,0x00,0x08]
367373 trunc.l.d $f23,$f23 # CHECK: trunc.l.d $f23, $f23 # encoding: [0x46,0x20,0xbd,0xc9]
368374 trunc.l.s $f28,$f31 # CHECK: trunc.l.s $f28, $f31 # encoding: [0x46,0x00,0xff,0x09]
369375 trunc.w.d $f22,$f15 # CHECK: trunc.w.d $f22, $f15 # encoding: [0x46,0x20,0x7d,0x8d]
376 # CHECK:
370377 trunc.w.s $f28,$f30 # CHECK: trunc.w.s $f28, $f30 # encoding: [0x46,0x00,0xf7,0x0d]
378 # CHECK:
371379 trunc.w.d $f4,$f6,$4 # CHECK: trunc.w.d $f4, $f6 # encoding: [0x46,0x20,0x31,0x0d]
372380 trunc.w.s $f4,$f6,$4 # CHECK: trunc.w.s $f4, $f6 # encoding: [0x46,0x00,0x31,0x0d]
373381 xor $s2,$a0,$s8
7474 c.un.s $fcc1, $f30, $f4 # CHECK: c.un.s $fcc1, $f30, $f4 # encoding: [0x46,0x04,0xf1,0x31]
7575 ceil.l.d $f1,$f3
7676 ceil.l.s $f18,$f13
77 ceil.w.d $f11,$f25
78 ceil.w.s $f6,$f20
77 ceil.w.d $f11,$f25 # CHECK: ceil.w.d $f11, $f25 # encoding: [0x46,0x20,0xca,0xce]
78 # CHECK: #
79 ceil.w.s $f6,$f20 # CHECK: ceil.w.s $f6, $f20 # encoding: [0x46,0x00,0xa1,0x8e]
80 # CHECK: #
7981 cfc1 $s1,$21
8082 clo $11,$a1 # CHECK: clo $11, $5 # encoding: [0x70,0xab,0x58,0x21]
8183 clz $sp,$gp # CHECK: clz $sp, $gp # encoding: [0x73,0x9d,0xe8,0x20]
162164 eret
163165 floor.l.d $f26,$f7
164166 floor.l.s $f12,$f5
165 floor.w.d $f14,$f11
166 floor.w.s $f8,$f9
167 floor.w.d $f14,$f11 # CHECK: floor.w.d $f14, $f11 # encoding: [0x46,0x20,0x5b,0x8f]
168 # CHECK: #
169 floor.w.s $f8,$f9 # CHECK: floor.w.s $f8, $f9 # encoding: [0x46,0x00,0x4a,0x0f]
170 # CHECK: #
167171 j 1f # CHECK: j .Ltmp0 # encoding: [0b000010AA,A,A,A]
168172 # CHECK: # fixup A - offset: 0, value: .Ltmp0, kind: fixup_Mips_26
169173 j a # CHECK: j a # encoding: [0b000010AA,A,A,A]
260264 recip.s $f3,$f30 # CHECK: recip.s $f3, $f30 # encoding: [0x46,0x00,0xf0,0xd5]
261265 round.l.d $f12,$f1
262266 round.l.s $f25,$f5
263 round.w.d $f6,$f4
264 round.w.s $f27,$f28
267 round.w.d $f6, $f4 # CHECK: round.w.d $f6, $f4 # encoding: [0x46,0x20,0x21,0x8c]
268 # CHECK: #
269 round.w.s $f27,$f28 # CHECK: round.w.s $f27, $f28 # encoding: [0x46,0x00,0xe6,0xcc]
270 # CHECK: #
265271 rsqrt.s $f0,$f4 # CHECK: rsqrt.s $f0, $f4 # encoding: [0x46,0x00,0x20,0x16]
266272 rsqrt.d $f2,$f6 # CHECK: rsqrt.d $f2, $f6 # encoding: [0x46,0x20,0x30,0x96]
267273 s.s $f2, 8($3) # CHECK: swc1 $f2, 8($3) # encoding: [0xe4,0x62,0x00,0x08]
385391 trunc.l.d $f23,$f23 # CHECK: trunc.l.d $f23, $f23 # encoding: [0x46,0x20,0xbd,0xc9]
386392 trunc.l.s $f28,$f31 # CHECK: trunc.l.s $f28, $f31 # encoding: [0x46,0x00,0xff,0x09]
387393 trunc.w.d $f22,$f15 # CHECK: trunc.w.d $f22, $f15 # encoding: [0x46,0x20,0x7d,0x8d]
394 # CHECK:
388395 trunc.w.s $f28,$f30 # CHECK: trunc.w.s $f28, $f30 # encoding: [0x46,0x00,0xf7,0x0d]
396 # CHECK:
389397 trunc.w.d $f4,$f6,$4 # CHECK: trunc.w.d $f4, $f6 # encoding: [0x46,0x20,0x31,0x0d]
390398 trunc.w.s $f4,$f6,$4 # CHECK: trunc.w.s $f4, $f6 # encoding: [0x46,0x00,0x31,0x0d]
391399 xor $s2,$a0,$s8
7474 c.un.s $fcc1, $f30, $f4 # CHECK: c.un.s $fcc1, $f30, $f4 # encoding: [0x46,0x04,0xf1,0x31]
7575 ceil.l.d $f1,$f3
7676 ceil.l.s $f18,$f13
77 ceil.w.d $f11,$f25
78 ceil.w.s $f6,$f20
77 ceil.w.d $f11,$f25 # CHECK: ceil.w.d $f11, $f25 # encoding: [0x46,0x20,0xca,0xce]
78 # CHECK: #
79 ceil.w.s $f6,$f20 # CHECK: ceil.w.s $f6, $f20 # encoding: [0x46,0x00,0xa1,0x8e]
80 # CHECK: #
7981 cfc1 $s1,$21
8082 clo $11,$a1 # CHECK: clo $11, $5 # encoding: [0x70,0xab,0x58,0x21]
8183 clz $sp,$gp # CHECK: clz $sp, $gp # encoding: [0x73,0x9d,0xe8,0x20]
181183 eret
182184 floor.l.d $f26,$f7
183185 floor.l.s $f12,$f5
184 floor.w.d $f14,$f11
185 floor.w.s $f8,$f9
186 floor.w.d $f14,$f11 # CHECK: floor.w.d $f14, $f11 # encoding: [0x46,0x20,0x5b,0x8f]
187 # CHECK: #
188 floor.w.s $f8,$f9 # CHECK: floor.w.s $f8, $f9 # encoding: [0x46,0x00,0x4a,0x0f]
189 # CHECK: #
186190 j 1f # CHECK: j .Ltmp0 # encoding: [0b000010AA,A,A,A]
187191 # CHECK: # fixup A - offset: 0, value: .Ltmp0, kind: fixup_Mips_26
188192 j a # CHECK: j a # encoding: [0b000010AA,A,A,A]
292296 rotrv $1,$14,$15 # CHECK: rotrv $1, $14, $15 # encoding: [0x01,0xee,0x08,0x46]
293297 round.l.d $f12,$f1
294298 round.l.s $f25,$f5
295 round.w.d $f6,$f4
296 round.w.s $f27,$f28
299 round.w.d $f6, $f4 # CHECK: round.w.d $f6, $f4 # encoding: [0x46,0x20,0x21,0x8c]
300 # CHECK: #
301 round.w.s $f27,$f28 # CHECK: round.w.s $f27, $f28 # encoding: [0x46,0x00,0xe6,0xcc]
302 # CHECK: #
297303 rsqrt.s $f0,$f4 # CHECK: rsqrt.s $f0, $f4 # encoding: [0x46,0x00,0x20,0x16]
298304 rsqrt.d $f2,$f6 # CHECK: rsqrt.d $f2, $f6 # encoding: [0x46,0x20,0x30,0x96]
299305 s.s $f2, 8($3) # CHECK: swc1 $f2, 8($3) # encoding: [0xe4,0x62,0x00,0x08]
431437 trunc.l.d $f23,$f23 # CHECK: trunc.l.d $f23, $f23 # encoding: [0x46,0x20,0xbd,0xc9]
432438 trunc.l.s $f28,$f31 # CHECK: trunc.l.s $f28, $f31 # encoding: [0x46,0x00,0xff,0x09]
433439 trunc.w.d $f22,$f15 # CHECK: trunc.w.d $f22, $f15 # encoding: [0x46,0x20,0x7d,0x8d]
440 # CHECK:
434441 trunc.w.s $f28,$f30 # CHECK: trunc.w.s $f28, $f30 # encoding: [0x46,0x00,0xf7,0x0d]
442 # CHECK:
435443 trunc.w.d $f4,$f6,$4 # CHECK: trunc.w.d $f4, $f6 # encoding: [0x46,0x20,0x31,0x0d]
436444 trunc.w.s $f4,$f6,$4 # CHECK: trunc.w.s $f4, $f6 # encoding: [0x46,0x00,0x31,0x0d]
437445 xor $s2,$a0,$s8
7474 c.un.s $fcc1, $f30, $f4 # CHECK: c.un.s $fcc1, $f30, $f4 # encoding: [0x46,0x04,0xf1,0x31]
7575 ceil.l.d $f1,$f3
7676 ceil.l.s $f18,$f13
77 ceil.w.d $f11,$f25
78 ceil.w.s $f6,$f20
77 ceil.w.d $f11,$f25 # CHECK: ceil.w.d $f11, $f25 # encoding: [0x46,0x20,0xca,0xce]
78 # CHECK: #
79 ceil.w.s $f6,$f20 # CHECK: ceil.w.s $f6, $f20 # encoding: [0x46,0x00,0xa1,0x8e]
80 # CHECK: #
7981 cfc1 $s1,$21
8082 clo $11,$a1 # CHECK: clo $11, $5 # encoding: [0x70,0xab,0x58,0x21]
8183 clz $sp,$gp # CHECK: clz $sp, $gp # encoding: [0x73,0x9d,0xe8,0x20]
175177 eret
176178 floor.l.d $f26,$f7
177179 floor.l.s $f12,$f5
178 floor.w.d $f14,$f11
179 floor.w.s $f8,$f9
180 floor.w.d $f14,$f11 # CHECK: floor.w.d $f14, $f11 # encoding: [0x46,0x20,0x5b,0x8f]
181 # CHECK: #
182 floor.w.s $f8,$f9 # CHECK: floor.w.s $f8, $f9 # encoding: [0x46,0x00,0x4a,0x0f]
183 # CHECK: #
180184 j 1f # CHECK: j .Ltmp0 # encoding: [0b000010AA,A,A,A]
181185 # CHECK: # fixup A - offset: 0, value: .Ltmp0, kind: fixup_Mips_26
182186 j a # CHECK: j a # encoding: [0b000010AA,A,A,A]
286290 rotrv $1,$14,$15 # CHECK: rotrv $1, $14, $15 # encoding: [0x01,0xee,0x08,0x46]
287291 round.l.d $f12,$f1
288292 round.l.s $f25,$f5
289 round.w.d $f6,$f4
290 round.w.s $f27,$f28
293 round.w.d $f6, $f4 # CHECK: round.w.d $f6, $f4 # encoding: [0x46,0x20,0x21,0x8c]
294 # CHECK: #
295 round.w.s $f27,$f28 # CHECK: round.w.s $f27, $f28 # encoding: [0x46,0x00,0xe6,0xcc]
296 # CHECK: #
291297 rsqrt.s $f0,$f4 # CHECK: rsqrt.s $f0, $f4 # encoding: [0x46,0x00,0x20,0x16]
292298 rsqrt.d $f2,$f6 # CHECK: rsqrt.d $f2, $f6 # encoding: [0x46,0x20,0x30,0x96]
293299 s.s $f2, 8($3) # CHECK: swc1 $f2, 8($3) # encoding: [0xe4,0x62,0x00,0x08]
421427 trunc.l.d $f23,$f23 # CHECK: trunc.l.d $f23, $f23 # encoding: [0x46,0x20,0xbd,0xc9]
422428 trunc.l.s $f28,$f31 # CHECK: trunc.l.s $f28, $f31 # encoding: [0x46,0x00,0xff,0x09]
423429 trunc.w.d $f22,$f15 # CHECK: trunc.w.d $f22, $f15 # encoding: [0x46,0x20,0x7d,0x8d]
430 # CHECK:
424431 trunc.w.s $f28,$f30 # CHECK: trunc.w.s $f28, $f30 # encoding: [0x46,0x00,0xf7,0x0d]
432 # CHECK:
425433 trunc.w.d $f4,$f6,$4 # CHECK: trunc.w.d $f4, $f6 # encoding: [0x46,0x20,0x31,0x0d]
426434 trunc.w.s $f4,$f6,$4 # CHECK: trunc.w.s $f4, $f6 # encoding: [0x46,0x00,0x31,0x0d]
427435 xor $s2,$a0,$s8
7474 c.un.s $fcc1, $f30, $f4 # CHECK: c.un.s $fcc1, $f30, $f4 # encoding: [0x46,0x04,0xf1,0x31]
7575 ceil.l.d $f1,$f3
7676 ceil.l.s $f18,$f13
77 ceil.w.d $f11,$f25
78 ceil.w.s $f6,$f20
77 ceil.w.d $f11,$f25 # CHECK: ceil.w.d $f11, $f25 # encoding: [0x46,0x20,0xca,0xce]
78 # CHECK: #
79 ceil.w.s $f6,$f20 # CHECK: ceil.w.s $f6, $f20 # encoding: [0x46,0x00,0xa1,0x8e]
80 # CHECK: #
7981 cfc1 $s1,$21
8082 clo $11,$a1 # CHECK: clo $11, $5 # encoding: [0x70,0xab,0x58,0x21]
8183 clz $sp,$gp # CHECK: clz $sp, $gp # encoding: [0x73,0x9d,0xe8,0x20]
176178 eretnc # CHECK: eretnc # encoding: [0x42,0x00,0x00,0x58]
177179 floor.l.d $f26,$f7
178180 floor.l.s $f12,$f5
179 floor.w.d $f14,$f11
180 floor.w.s $f8,$f9
181 floor.w.d $f14,$f11 # CHECK: floor.w.d $f14, $f11 # encoding: [0x46,0x20,0x5b,0x8f]
182 # CHECK: #
183 floor.w.s $f8,$f9 # CHECK: floor.w.s $f8, $f9 # encoding: [0x46,0x00,0x4a,0x0f]
184 # CHECK: #
181185 j 1f # CHECK: j .Ltmp0 # encoding: [0b000010AA,A,A,A]
182186 # CHECK: # fixup A - offset: 0, value: .Ltmp0, kind: fixup_Mips_26
183187 j a # CHECK: j a # encoding: [0b000010AA,A,A,A]
287291 rotrv $1,$14,$15 # CHECK: rotrv $1, $14, $15 # encoding: [0x01,0xee,0x08,0x46]
288292 round.l.d $f12,$f1
289293 round.l.s $f25,$f5
290 round.w.d $f6,$f4
291 round.w.s $f27,$f28
294 round.w.d $f6, $f4 # CHECK: round.w.d $f6, $f4 # encoding: [0x46,0x20,0x21,0x8c]
295 # CHECK: #
296 round.w.s $f27,$f28 # CHECK: round.w.s $f27, $f28 # encoding: [0x46,0x00,0xe6,0xcc]
297 # CHECK: #
292298 rsqrt.s $f0,$f4 # CHECK: rsqrt.s $f0, $f4 # encoding: [0x46,0x00,0x20,0x16]
293299 rsqrt.d $f2,$f6 # CHECK: rsqrt.d $f2, $f6 # encoding: [0x46,0x20,0x30,0x96]
294300 s.s $f2, 8($3) # CHECK: swc1 $f2, 8($3) # encoding: [0xe4,0x62,0x00,0x08]
426432 trunc.l.d $f23,$f23 # CHECK: trunc.l.d $f23, $f23 # encoding: [0x46,0x20,0xbd,0xc9]
427433 trunc.l.s $f28,$f31 # CHECK: trunc.l.s $f28, $f31 # encoding: [0x46,0x00,0xff,0x09]
428434 trunc.w.d $f22,$f15 # CHECK: trunc.w.d $f22, $f15 # encoding: [0x46,0x20,0x7d,0x8d]
435 # CHECK:
429436 trunc.w.s $f28,$f30 # CHECK: trunc.w.s $f28, $f30 # encoding: [0x46,0x00,0xf7,0x0d]
437 # CHECK:
430438 trunc.w.d $f4,$f6,$4 # CHECK: trunc.w.d $f4, $f6 # encoding: [0x46,0x20,0x31,0x0d]
431439 trunc.w.s $f4,$f6,$4 # CHECK: trunc.w.s $f4, $f6 # encoding: [0x46,0x00,0x31,0x0d]
432440 xor $s2,$a0,$s8
6868 class.s $f2, $f4 # CHECK: class.s $f2, $f4 # encoding: [0x46,0x00,0x20,0x9b]
6969 clo $11,$a1 # CHECK: clo $11, $5 # encoding: [0x00,0xa0,0x58,0x51]
7070 clz $sp,$gp # CHECK: clz $sp, $gp # encoding: [0x03,0x80,0xe8,0x50]
71 ceil.w.d $f11,$f25 # CHECK: ceil.w.d $f11, $f25 # encoding: [0x46,0x20,0xca,0xce]
72 # CHECK: #
73 ceil.w.s $f6,$f20 # CHECK: ceil.w.s $f6, $f20 # encoding: [0x46,0x00,0xa1,0x8e]
74 # CHECK: #
7175 cmp.af.d $f2,$f3,$f4 # CHECK: cmp.af.d $f2, $f3, $f4 # encoding: [0x46,0xa4,0x18,0x80]
7276 cmp.af.s $f2,$f3,$f4 # CHECK: cmp.af.s $f2, $f3, $f4 # encoding: [0x46,0x84,0x18,0x80]
7377 cmp.eq.d $f2,$f3,$f4 # CHECK: cmp.eq.d $f2, $f3, $f4 # encoding: [0x46,0xa4,0x18,0x82]
146150 eretnc # CHECK: eretnc # encoding: [0x42,0x00,0x00,0x58]
147151 evp $5 # CHECK: evp $5 # encoding: [0x41,0x65,0x00,0x04]
148152 evp # CHECK: evp $zero # encoding: [0x41,0x60,0x00,0x04]
153 floor.w.d $f14,$f11 # CHECK: floor.w.d $f14, $f11 # encoding: [0x46,0x20,0x5b,0x8f]
154 # CHECK: #
155 floor.w.s $f8,$f9 # CHECK: floor.w.s $f8, $f9 # encoding: [0x46,0x00,0x4a,0x0f]
156 # CHECK: #
149157 j 1f # CHECK: j $tmp0 # encoding: [0b000010AA,A,A,A]
150158 # CHECK: # fixup A - offset: 0, value: ($tmp0), kind: fixup_Mips_26
151159 j a # CHECK: j a # encoding: [0b000010AA,A,A,A]
217225 recip.s $f3,$f30 # CHECK: recip.s $f3, $f30 # encoding: [0x46,0x00,0xf0,0xd5]
218226 rint.d $f2, $f4 # CHECK: rint.d $f2, $f4 # encoding: [0x46,0x20,0x20,0x9a]
219227 rint.s $f2, $f4 # CHECK: rint.s $f2, $f4 # encoding: [0x46,0x00,0x20,0x9a]
228 round.w.d $f6, $f4 # CHECK: round.w.d $f6, $f4 # encoding: [0x46,0x20,0x21,0x8c]
229 # CHECK: #
230 round.w.s $f27,$f28 # CHECK: round.w.s $f27, $f28 # encoding: [0x46,0x00,0xe6,0xcc]
231 # CHECK: #
220232 rsqrt.s $f0,$f4 # CHECK: rsqrt.s $f0, $f4 # encoding: [0x46,0x00,0x20,0x16]
221233 rsqrt.d $f2,$f6 # CHECK: rsqrt.d $f2, $f6 # encoding: [0x46,0x20,0x30,0x96]
222234 s.s $f2, 8($3) # CHECK: swc1 $f2, 8($3) # encoding: [0xe4,0x62,0x00,0x08]