diff options
-rw-r--r-- | llvm/lib/Target/Mips/MicroMipsInstrFPU.td | 47 | ||||
-rw-r--r-- | llvm/lib/Target/Mips/MipsInstrFPU.td | 27 | ||||
-rw-r--r-- | llvm/test/MC/Disassembler/Mips/micromips32r3/valid-el.txt | 10 | ||||
-rw-r--r-- | llvm/test/MC/Disassembler/Mips/micromips32r3/valid.txt | 10 | ||||
-rw-r--r-- | llvm/test/MC/Mips/micromips-fpu-instructions.s | 16 | ||||
-rw-r--r-- | llvm/test/MC/Mips/mips2/valid.s | 19 | ||||
-rw-r--r-- | llvm/test/MC/Mips/mips3/valid.s | 20 | ||||
-rw-r--r-- | llvm/test/MC/Mips/mips32/valid.s | 19 | ||||
-rw-r--r-- | llvm/test/MC/Mips/mips32r2/valid.s | 19 | ||||
-rw-r--r-- | llvm/test/MC/Mips/mips32r3/valid.s | 19 | ||||
-rw-r--r-- | llvm/test/MC/Mips/mips32r5/valid.s | 19 | ||||
-rw-r--r-- | llvm/test/MC/Mips/mips32r6/valid.s | 12 | ||||
-rw-r--r-- | llvm/test/MC/Mips/mips4/valid.s | 20 | ||||
-rw-r--r-- | llvm/test/MC/Mips/mips5/valid.s | 20 | ||||
-rw-r--r-- | llvm/test/MC/Mips/mips64/valid.s | 20 | ||||
-rw-r--r-- | llvm/test/MC/Mips/mips64r2/valid.s | 20 | ||||
-rw-r--r-- | llvm/test/MC/Mips/mips64r3/valid.s | 20 | ||||
-rw-r--r-- | llvm/test/MC/Mips/mips64r5/valid.s | 20 | ||||
-rw-r--r-- | llvm/test/MC/Mips/mips64r6/valid.s | 12 |
19 files changed, 259 insertions, 110 deletions
diff --git a/llvm/lib/Target/Mips/MicroMipsInstrFPU.td b/llvm/lib/Target/Mips/MicroMipsInstrFPU.td index c4127a6501d..e826472ea4c 100644 --- a/llvm/lib/Target/Mips/MicroMipsInstrFPU.td +++ b/llvm/lib/Target/Mips/MicroMipsInstrFPU.td @@ -80,22 +80,21 @@ let DecoderNamespace = "MicroMips" in { ROUND_W_FM_MM<0, 0x24>, ISA_MICROMIPS; } -let isCodeGenOnly = 1 in { -def ROUND_W_S_MM : MMRel, StdMMR6Rel, ABSS_FT<"round.w.s", FGR32Opnd, FGR32Opnd, - II_ROUND>, ROUND_W_FM_MM<0, 0xec>, - ISA_MICROMIPS; - -def CEIL_W_MM : MMRel, ABSS_FT<"ceil.w.d", FGR32Opnd, AFGR64Opnd, II_CEIL>, - ROUND_W_FM_MM<1, 0x6c>, ISA_MICROMIPS, FGR_32; -def FLOOR_W_MM : MMRel, ABSS_FT<"floor.w.d", FGR32Opnd, AFGR64Opnd, II_FLOOR>, - ROUND_W_FM_MM<1, 0x2c>, ISA_MICROMIPS, FGR_32; -def ROUND_W_MM : MMRel, StdMMR6Rel, ABSS_FT<"round.w.d", FGR32Opnd, AFGR64Opnd, - II_ROUND>, ROUND_W_FM_MM<1, 0xec>, - ISA_MICROMIPS, FGR_32; -def TRUNC_W_MM : MMRel, ABSS_FT<"trunc.w.d", FGR32Opnd, AFGR64Opnd, II_TRUNC>, - ROUND_W_FM_MM<1, 0xac>, ISA_MICROMIPS, FGR_32; -} let DecoderNamespace = "MicroMips" in { + def ROUND_W_S_MM : MMRel, StdMMR6Rel, ABSS_FT<"round.w.s", FGR32Opnd, + FGR32Opnd, II_ROUND>, + ROUND_W_FM_MM<0, 0xec>, ISA_MICROMIPS; + + def CEIL_W_MM : MMRel, ABSS_FT<"ceil.w.d", FGR32Opnd, AFGR64Opnd, II_CEIL>, + ROUND_W_FM_MM<1, 0x6c>, ISA_MICROMIPS, FGR_32; + def FLOOR_W_MM : MMRel, ABSS_FT<"floor.w.d", FGR32Opnd, AFGR64Opnd, II_FLOOR>, + ROUND_W_FM_MM<1, 0x2c>, ISA_MICROMIPS, FGR_32; + def ROUND_W_MM : MMRel, StdMMR6Rel, ABSS_FT<"round.w.d", FGR32Opnd, + AFGR64Opnd, II_ROUND>, + ROUND_W_FM_MM<1, 0xec>, ISA_MICROMIPS, FGR_32; + def TRUNC_W_MM : MMRel, ABSS_FT<"trunc.w.d", FGR32Opnd, AFGR64Opnd, II_TRUNC>, + ROUND_W_FM_MM<1, 0xac>, ISA_MICROMIPS, FGR_32; + def CVT_L_S_MM : MMRel, ABSS_FT<"cvt.l.s", FGR64Opnd, FGR32Opnd, II_CVT>, ROUND_W_FM_MM<0, 0x4>, ISA_MICROMIPS, FGR_64; def CVT_L_D64_MM : MMRel, ABSS_FT<"cvt.l.d", FGR64Opnd, FGR64Opnd, II_CVT>, @@ -221,16 +220,16 @@ let DecoderNamespace = "MicroMips" in { def NMSUB_D32_MM : MMRel, NMADDS_FT<"nmsub.d", AFGR64Opnd, II_NMSUB_D>, MADDS_FM_MM<0x2a>, ISA_MICROMIPS32_NOT_MIPS32R6, FGR_32; } -} -def FLOOR_W_S_MM : MMRel, ABSS_FT<"floor.w.s", FGR32Opnd, FGR32Opnd, - II_FLOOR>, ROUND_W_FM_MM<0, 0x2c>, - ISA_MICROMIPS; -def TRUNC_W_S_MM : MMRel, StdMMR6Rel, ABSS_FT<"trunc.w.s", FGR32Opnd, - FGR32Opnd, II_TRUNC>, - ROUND_W_FM_MM<0, 0xac>, ISA_MICROMIPS; -def CEIL_W_S_MM : MMRel, ABSS_FT<"ceil.w.s", FGR32Opnd, FGR32Opnd, II_CEIL>, - ROUND_W_FM_MM<0, 0x6c>, ISA_MICROMIPS; + def FLOOR_W_S_MM : MMRel, ABSS_FT<"floor.w.s", FGR32Opnd, FGR32Opnd, + II_FLOOR>, ROUND_W_FM_MM<0, 0x2c>, + ISA_MICROMIPS; + def TRUNC_W_S_MM : MMRel, StdMMR6Rel, ABSS_FT<"trunc.w.s", FGR32Opnd, + FGR32Opnd, II_TRUNC>, + ROUND_W_FM_MM<0, 0xac>, ISA_MICROMIPS; + def CEIL_W_S_MM : MMRel, ABSS_FT<"ceil.w.s", FGR32Opnd, FGR32Opnd, II_CEIL>, + ROUND_W_FM_MM<0, 0x6c>, ISA_MICROMIPS; +} def FSQRT_S_MM : MMRel, ABSS_FT<"sqrt.s", FGR32Opnd, FGR32Opnd, II_SQRT_S, fsqrt>, ROUND_W_FM_MM<0, 0x28>, ISA_MICROMIPS { string DecoderNamespace = "MicroMips"; diff --git a/llvm/lib/Target/Mips/MipsInstrFPU.td b/llvm/lib/Target/Mips/MipsInstrFPU.td index 33d98c1676b..3b4e4966725 100644 --- a/llvm/lib/Target/Mips/MipsInstrFPU.td +++ b/llvm/lib/Target/Mips/MipsInstrFPU.td @@ -349,23 +349,22 @@ defm D64 : C_COND_M<"d", FGR64Opnd, 17, II_C_CC_D>, ISA_MIPS1_NOT_32R6_64R6, //===----------------------------------------------------------------------===// // Floating Point Instructions //===----------------------------------------------------------------------===// -def ROUND_W_S : MMRel, StdMMR6Rel, ABSS_FT<"round.w.s", FGR32Opnd, FGR32Opnd, II_ROUND>, - ABSS_FM<0xc, 16>, ISA_MIPS2; -defm ROUND_W : ROUND_M<"round.w.d", II_ROUND>, ABSS_FM<0xc, 17>, ISA_MIPS2; -def TRUNC_W_S : MMRel, StdMMR6Rel, ABSS_FT<"trunc.w.s", FGR32Opnd, FGR32Opnd, II_TRUNC>, - ABSS_FM<0xd, 16>, ISA_MIPS2; -def CEIL_W_S : MMRel, StdMMR6Rel, ABSS_FT<"ceil.w.s", FGR32Opnd, FGR32Opnd, II_CEIL>, - ABSS_FM<0xe, 16>, ISA_MIPS2; -def FLOOR_W_S : MMRel, StdMMR6Rel, ABSS_FT<"floor.w.s", FGR32Opnd, FGR32Opnd, II_FLOOR>, - ABSS_FM<0xf, 16>, ISA_MIPS2; -let AdditionalPredicates = [NotInMicroMips] in +let AdditionalPredicates = [NotInMicroMips] in { + def ROUND_W_S : MMRel, StdMMR6Rel, ABSS_FT<"round.w.s", FGR32Opnd, FGR32Opnd, II_ROUND>, + ABSS_FM<0xc, 16>, ISA_MIPS2; + defm ROUND_W : ROUND_M<"round.w.d", II_ROUND>, ABSS_FM<0xc, 17>, ISA_MIPS2; + def TRUNC_W_S : MMRel, StdMMR6Rel, ABSS_FT<"trunc.w.s", FGR32Opnd, FGR32Opnd, II_TRUNC>, + ABSS_FM<0xd, 16>, ISA_MIPS2; + def CEIL_W_S : MMRel, StdMMR6Rel, ABSS_FT<"ceil.w.s", FGR32Opnd, FGR32Opnd, II_CEIL>, + ABSS_FM<0xe, 16>, ISA_MIPS2; + def FLOOR_W_S : MMRel, StdMMR6Rel, ABSS_FT<"floor.w.s", FGR32Opnd, FGR32Opnd, II_FLOOR>, + ABSS_FM<0xf, 16>, ISA_MIPS2; def CVT_W_S : MMRel, ABSS_FT<"cvt.w.s", FGR32Opnd, FGR32Opnd, II_CVT>, ABSS_FM<0x24, 16>, ISA_MIPS1; -defm TRUNC_W : ROUND_M<"trunc.w.d", II_TRUNC>, ABSS_FM<0xd, 17>, ISA_MIPS2; -defm CEIL_W : ROUND_M<"ceil.w.d", II_CEIL>, ABSS_FM<0xe, 17>, ISA_MIPS2; -defm FLOOR_W : ROUND_M<"floor.w.d", II_FLOOR>, ABSS_FM<0xf, 17>, ISA_MIPS2; -let AdditionalPredicates = [NotInMicroMips] in { + defm TRUNC_W : ROUND_M<"trunc.w.d", II_TRUNC>, ABSS_FM<0xd, 17>, ISA_MIPS2; + defm CEIL_W : ROUND_M<"ceil.w.d", II_CEIL>, ABSS_FM<0xe, 17>, ISA_MIPS2; + defm FLOOR_W : ROUND_M<"floor.w.d", II_FLOOR>, ABSS_FM<0xf, 17>, ISA_MIPS2; defm CVT_W : ROUND_M<"cvt.w.d", II_CVT>, ABSS_FM<0x24, 17>, ISA_MIPS1; } diff --git a/llvm/test/MC/Disassembler/Mips/micromips32r3/valid-el.txt b/llvm/test/MC/Disassembler/Mips/micromips32r3/valid-el.txt index 12ffb45363a..bf8c36c5fc6 100644 --- a/llvm/test/MC/Disassembler/Mips/micromips32r3/valid-el.txt +++ b/llvm/test/MC/Disassembler/Mips/micromips32r3/valid-el.txt @@ -242,3 +242,13 @@ 0xc4 0x54 0xa9 0x00 # CHECK: msub.d $f0, $f2, $f4, $f6 0xc4 0x54 0xa2 0x00 # CHECK: nmsub.s $f0, $f2, $f4, $f6 0xc4 0x54 0xaa 0x00 # CHECK: nmsub.d $f0, $f2, $f4, $f6 +0xc8 0x54 0x3b 0x1b # CHECK: ceil.w.s $f6, $f8 +0xc8 0x54 0x3b 0x5b # CHECK: ceil.w.d $f6, $f8 +0xc8 0x54 0x3b 0x09 # CHECK: cvt.w.s $f6, $f8 +0xc8 0x54 0x3b 0x49 # CHECK: cvt.w.d $f6, $f8 +0xc8 0x54 0x3b 0x0b # CHECK: floor.w.s $f6, $f8 +0xc8 0x54 0x3b 0x4b # CHECK: floor.w.d $f6, $f8 +0xc8 0x54 0x3b 0x3b # CHECK: round.w.s $f6, $f8 +0xc8 0x54 0x3b 0x7b # CHECK: round.w.d $f6, $f8 +0xc8 0x54 0x3b 0x2b # CHECK: trunc.w.s $f6, $f8 +0xc8 0x54 0x3b 0x6b # CHECK: trunc.w.d $f6, $f8 diff --git a/llvm/test/MC/Disassembler/Mips/micromips32r3/valid.txt b/llvm/test/MC/Disassembler/Mips/micromips32r3/valid.txt index 3fe11e75dfb..2332642fc51 100644 --- a/llvm/test/MC/Disassembler/Mips/micromips32r3/valid.txt +++ b/llvm/test/MC/Disassembler/Mips/micromips32r3/valid.txt @@ -244,3 +244,13 @@ 0x54 0xc4 0x00 0xa9 # CHECK: msub.d $f0, $f2, $f4, $f6 0x54 0xc4 0x00 0xa2 # CHECK: nmsub.s $f0, $f2, $f4, $f6 0x54 0xc4 0x00 0xaa # CHECK: nmsub.d $f0, $f2, $f4, $f6 +0x54 0xc8 0x1b 0x3b # CHECK: ceil.w.s $f6, $f8 +0x54 0xc8 0x5b 0x3b # CHECK: ceil.w.d $f6, $f8 +0x54 0xc8 0x09 0x3b # CHECK: cvt.w.s $f6, $f8 +0x54 0xc8 0x49 0x3b # CHECK: cvt.w.d $f6, $f8 +0x54 0xc8 0x0b 0x3b # CHECK: floor.w.s $f6, $f8 +0x54 0xc8 0x4b 0x3b # CHECK: floor.w.d $f6, $f8 +0x54 0xc8 0x3b 0x3b # CHECK: round.w.s $f6, $f8 +0x54 0xc8 0x7b 0x3b # CHECK: round.w.d $f6, $f8 +0x54 0xc8 0x2b 0x3b # CHECK: trunc.w.s $f6, $f8 +0x54 0xc8 0x6b 0x3b # CHECK: trunc.w.d $f6, $f8 diff --git a/llvm/test/MC/Mips/micromips-fpu-instructions.s b/llvm/test/MC/Mips/micromips-fpu-instructions.s index 3c8ee2d9860..d9350b602e8 100644 --- a/llvm/test/MC/Mips/micromips-fpu-instructions.s +++ b/llvm/test/MC/Mips/micromips-fpu-instructions.s @@ -26,17 +26,25 @@ # CHECK-EL: bc1t 1332 # encoding: [0xa0,0x43,0x9a,0x02] # CHECK-EL: nop # encoding: [0x00,0x00,0x00,0x00] # CHECK-EL: ceil.w.s $f6, $f8 # encoding: [0xc8,0x54,0x3b,0x1b] +# CHECK-EL-NEXT: # <MCInst #{{[0-9]+}} CEIL_W_S_MM # CHECK-EL: ceil.w.d $f6, $f8 # encoding: [0xc8,0x54,0x3b,0x5b] +# CHECK-EL-NEXT: # <MCInst #{{[0-9]+}} CEIL_W_MM # CHECK-EL: cvt.w.s $f6, $f8 # encoding: [0xc8,0x54,0x3b,0x09] # CHECK-EL: cvt.w.d $f6, $f8 # encoding: [0xc8,0x54,0x3b,0x49] # CHECK-EL: floor.w.s $f6, $f8 # encoding: [0xc8,0x54,0x3b,0x0b] +# CHECK-EL-NEXT: # <MCInst #{{[0-9]+}} FLOOR_W_S_MM # CHECK-EL: floor.w.d $f6, $f8 # encoding: [0xc8,0x54,0x3b,0x4b] +# CHECK-EL-NEXT: # <MCInst #{{[0-9]+}} FLOOR_W_MM # CHECK-EL: round.w.s $f6, $f8 # encoding: [0xc8,0x54,0x3b,0x3b] +# CHECK-EL-NEXT: # <MCInst #{{[0-9]+}} ROUND_W_S_MM # CHECK-EL: round.w.d $f6, $f8 # encoding: [0xc8,0x54,0x3b,0x7b] +# CHECK-EL-NEXT: # <MCInst #{{[0-9]+}} ROUND_W_MM # CHECK-EL: sqrt.s $f6, $f8 # encoding: [0xc8,0x54,0x3b,0x0a] # CHECK-EL: sqrt.d $f6, $f8 # encoding: [0xc8,0x54,0x3b,0x4a] # CHECK-EL: trunc.w.s $f6, $f8 # encoding: [0xc8,0x54,0x3b,0x2b] +# CHECK-EL-NEXT: # <MCInst #{{[0-9]+}} TRUNC_W_S_MM # CHECK-EL: trunc.w.d $f6, $f8 # encoding: [0xc8,0x54,0x3b,0x6b] +# CHECK-EL-NEXT: # <MCInst #{{[0-9]+}} TRUNC_W_MM # CHECK-EL: abs.s $f6, $f8 # encoding: [0xc8,0x54,0x7b,0x03] # CHECK-EL: abs.d $f6, $f8 # encoding: [0xc8,0x54,0x7b,0x23] # CHECK-EL: mov.s $f6, $f8 # encoding: [0xc8,0x54,0x7b,0x00] @@ -101,17 +109,25 @@ # CHECK-EB: bc1t 1332 # encoding: [0x43,0xa0,0x02,0x9a] # CHECK-EB: nop # encoding: [0x00,0x00,0x00,0x00] # CHECK-EB: ceil.w.s $f6, $f8 # encoding: [0x54,0xc8,0x1b,0x3b] +# CHECK-EB-NEXT: # <MCInst #{{[0-9]+}} CEIL_W_S_MM # CHECK-EB: ceil.w.d $f6, $f8 # encoding: [0x54,0xc8,0x5b,0x3b] +# CHECK-EB-NEXT: # <MCInst #{{[0-9]+}} CEIL_W_MM # CHECK-EB: cvt.w.s $f6, $f8 # encoding: [0x54,0xc8,0x09,0x3b] # CHECK-EB: cvt.w.d $f6, $f8 # encoding: [0x54,0xc8,0x49,0x3b] # CHECK-EB: floor.w.s $f6, $f8 # encoding: [0x54,0xc8,0x0b,0x3b] +# CHECK-EB-NEXT: # <MCInst #{{[0-9]+}} FLOOR_W_S_MM # CHECK-EB: floor.w.d $f6, $f8 # encoding: [0x54,0xc8,0x4b,0x3b] +# CHECK-EB-NEXT: # <MCInst #{{[0-9]+}} FLOOR_W_MM # CHECK-EB: round.w.s $f6, $f8 # encoding: [0x54,0xc8,0x3b,0x3b] +# CHECK-EB-NEXT: # <MCInst #{{[0-9]+}} ROUND_W_S_MM # CHECK-EB: round.w.d $f6, $f8 # encoding: [0x54,0xc8,0x7b,0x3b] +# CHECK-EB-NEXT: # <MCInst #{{[0-9]+}} ROUND_W_MM # CHECK-EB: sqrt.s $f6, $f8 # encoding: [0x54,0xc8,0x0a,0x3b] # CHECK-EB: sqrt.d $f6, $f8 # encoding: [0x54,0xc8,0x4a,0x3b] # CHECK-EB: trunc.w.s $f6, $f8 # encoding: [0x54,0xc8,0x2b,0x3b] +# CHECK-EB-NEXT: # <MCInst #{{[0-9]+}} TRUNC_W_S_MM # CHECK-EB: trunc.w.d $f6, $f8 # encoding: [0x54,0xc8,0x6b,0x3b] +# CHECK-EB-NEXT: # <MCInst #{{[0-9]+}} TRUNC_W_MM # CHECK-EB: abs.s $f6, $f8 # encoding: [0x54,0xc8,0x03,0x7b] # CHECK-EB: abs.d $f6, $f8 # encoding: [0x54,0xc8,0x23,0x7b] # CHECK-EB: mov.s $f6, $f8 # encoding: [0x54,0xc8,0x00,0x7b] diff --git a/llvm/test/MC/Mips/mips2/valid.s b/llvm/test/MC/Mips/mips2/valid.s index 4db4907c288..cd84791d1f6 100644 --- a/llvm/test/MC/Mips/mips2/valid.s +++ b/llvm/test/MC/Mips/mips2/valid.s @@ -43,8 +43,10 @@ a: c.ngle.d $f0,$f16 c.sf.d $f30,$f0 c.sf.s $f14,$f22 - ceil.w.d $f11,$f25 - ceil.w.s $f6,$f20 + ceil.w.d $f10,$f24 # CHECK: ceil.w.d $f10, $f24 # encoding: [0x46,0x20,0xc2,0x8e] + # CHECK: # <MCInst #{{.*}} CEIL_W_D32 + ceil.w.s $f6,$f20 # CHECK: ceil.w.s $f6, $f20 # encoding: [0x46,0x00,0xa1,0x8e] + # CHECK: # <MCInst #{{.*}} CEIL_W_S cfc1 $s1,$21 ctc1 $a2,$26 cvt.d.s $f0,$f2 # CHECK: cvt.d.s $f0, $f2 # encoding: [0x46,0x00,0x10,0x21] @@ -63,8 +65,10 @@ a: div.s $f4,$f5,$f15 divu $zero,$25,$15 ehb # CHECK: ehb # encoding: [0x00,0x00,0x00,0xc0] - floor.w.d $f14,$f11 - floor.w.s $f8,$f9 + floor.w.d $f14,$f11 # CHECK: floor.w.d $f14, $f10 # encoding: [0x46,0x20,0x53,0x8f] + # CHECK: # <MCInst #{{.*}} FLOOR_W_D32 + floor.w.s $f8,$f9 # CHECK: floor.w.s $f8, $f9 # encoding: [0x46,0x00,0x4a,0x0f] + # CHECK: # <MCInst #{{.*}} FLOOR_W_S j 1f # CHECK: j $tmp0 # encoding: [0b000010AA,A,A,A] # CHECK: # fixup A - offset: 0, value: ($tmp0), kind: fixup_Mips_26 j a # CHECK: j a # encoding: [0b000010AA,A,A,A] @@ -122,8 +126,10 @@ a: not $3 # CHECK: not $3, $3 # encoding: [0x00,0x60,0x18,0x27] or $12,$s0,$sp or $2, 4 # CHECK: ori $2, $2, 4 # encoding: [0x34,0x42,0x00,0x04] - round.w.d $f6,$f4 - round.w.s $f27,$f28 + round.w.d $f6, $f4 # CHECK: round.w.d $f6, $f4 # encoding: [0x46,0x20,0x21,0x8c] + # CHECK: # <MCInst #{{.*}} ROUND_W_D32 + round.w.s $f27,$f28 # CHECK: round.w.s $f27, $f28 # encoding: [0x46,0x00,0xe6,0xcc] + # CHECK: # <MCInst #{{.*}} ROUND_W_S s.s $f2, 8($3) # CHECK: swc1 $f2, 8($3) # encoding: [0xe4,0x62,0x00,0x08] s.d $f2, 8($3) # CHECK: sdc1 $f2, 8($3) # encoding: [0xf4,0x62,0x00,0x08] sb $s6,-19857($14) @@ -241,6 +247,7 @@ a: tnei $12, -29647 # CHECK: tnei $12, -29647 # encoding: [0x05,0x8e,0x8c,0x31] trunc.w.d $f22,$f15 # CHECK: trunc.w.d $f22, $f14 # encoding: [0x46,0x20,0x75,0x8d] trunc.w.s $f28,$f30 # CHECK: trunc.w.s $f28, $f30 # encoding: [0x46,0x00,0xf7,0x0d] + # CHECK: <MCInst #{{.*}} TRUNC_W_S trunc.w.d $f4,$f6,$4 # CHECK: trunc.w.d $f4, $f6 # encoding: [0x46,0x20,0x31,0x0d] trunc.w.s $f4,$f6,$4 # CHECK: trunc.w.s $f4, $f6 # encoding: [0x46,0x00,0x31,0x0d] xor $s2,$a0,$s8 diff --git a/llvm/test/MC/Mips/mips3/valid.s b/llvm/test/MC/Mips/mips3/valid.s index 4ac98f8f56b..94d03d35fc0 100644 --- a/llvm/test/MC/Mips/mips3/valid.s +++ b/llvm/test/MC/Mips/mips3/valid.s @@ -43,8 +43,10 @@ a: c.sf.s $f14,$f22 ceil.l.d $f1,$f3 ceil.l.s $f18,$f13 - ceil.w.d $f11,$f25 - ceil.w.s $f6,$f20 + ceil.w.d $f11,$f25 # CHECK: ceil.w.d $f11, $f25 # encoding: [0x46,0x20,0xca,0xce] + # CHECK: # <MCInst #{{.*}} CEIL_W_D64 + ceil.w.s $f6,$f20 # CHECK: ceil.w.s $f6, $f20 # encoding: [0x46,0x00,0xa1,0x8e] + # CHECK: # <MCInst #{{.*}} CEIL_W_S cfc1 $s1,$21 ctc1 $a2,$26 cvt.d.l $f4,$f16 # CHECK: cvt.d.l $f4, $f16 # encoding: [0x46,0xa0,0x81,0x21] @@ -124,8 +126,10 @@ a: eret floor.l.d $f26,$f7 floor.l.s $f12,$f5 - floor.w.d $f14,$f11 - floor.w.s $f8,$f9 + floor.w.d $f14,$f11 # CHECK: floor.w.d $f14, $f11 # encoding: [0x46,0x20,0x5b,0x8f] + # CHECK: # <MCInst #{{.*}} FLOOR_W_D64 + floor.w.s $f8,$f9 # CHECK: floor.w.s $f8, $f9 # encoding: [0x46,0x00,0x4a,0x0f] + # CHECK: # <MCInst #{{.*}} FLOOR_W_S j 1f # CHECK: j .Ltmp0 # encoding: [0b000010AA,A,A,A] # CHECK: # fixup A - offset: 0, value: .Ltmp0, kind: fixup_Mips_26 j a # CHECK: j a # encoding: [0b000010AA,A,A,A] @@ -187,8 +191,10 @@ a: or $2, 4 # CHECK: ori $2, $2, 4 # encoding: [0x34,0x42,0x00,0x04] round.l.d $f12,$f1 round.l.s $f25,$f5 - round.w.d $f6,$f4 - round.w.s $f27,$f28 + round.w.d $f6, $f4 # CHECK: round.w.d $f6, $f4 # encoding: [0x46,0x20,0x21,0x8c] + # CHECK: # <MCInst #{{.*}} ROUND_W_D64 + round.w.s $f27,$f28 # CHECK: round.w.s $f27, $f28 # encoding: [0x46,0x00,0xe6,0xcc] + # CHECK: # <MCInst #{{.*}} ROUND_W_S s.s $f2, 8($3) # CHECK: swc1 $f2, 8($3) # encoding: [0xe4,0x62,0x00,0x08] s.d $f2, 8($3) # CHECK: sdc1 $f2, 8($3) # encoding: [0xf4,0x62,0x00,0x08] sb $s6,-19857($14) @@ -305,7 +311,9 @@ a: trunc.l.d $f23,$f23 # CHECK: trunc.l.d $f23, $f23 # encoding: [0x46,0x20,0xbd,0xc9] trunc.l.s $f28,$f31 # CHECK: trunc.l.s $f28, $f31 # encoding: [0x46,0x00,0xff,0x09] trunc.w.d $f22,$f15 # CHECK: trunc.w.d $f22, $f15 # encoding: [0x46,0x20,0x7d,0x8d] + # CHECK: <MCInst #{{.*}} TRUNC_W_D64 trunc.w.s $f28,$f30 # CHECK: trunc.w.s $f28, $f30 # encoding: [0x46,0x00,0xf7,0x0d] + # CHECK: <MCInst #{{.*}} TRUNC_W_S trunc.w.d $f4,$f6,$4 # CHECK: trunc.w.d $f4, $f6 # encoding: [0x46,0x20,0x31,0x0d] trunc.w.s $f4,$f6,$4 # CHECK: trunc.w.s $f4, $f6 # encoding: [0x46,0x00,0x31,0x0d] xor $s2,$a0,$s8 diff --git a/llvm/test/MC/Mips/mips32/valid.s b/llvm/test/MC/Mips/mips32/valid.s index f909f598b4a..aebf1713cb5 100644 --- a/llvm/test/MC/Mips/mips32/valid.s +++ b/llvm/test/MC/Mips/mips32/valid.s @@ -76,8 +76,10 @@ a: c.ult.s $fcc7, $f24, $f10 # CHECK: c.ult.s $fcc7, $f24, $f10 # encoding: [0x46,0x0a,0xc7,0x35] c.un.d $fcc6, $f22, $f24 # CHECK: c.un.d $fcc6, $f22, $f24 # encoding: [0x46,0x38,0xb6,0x31] c.un.s $fcc1, $f30, $f4 # CHECK: c.un.s $fcc1, $f30, $f4 # encoding: [0x46,0x04,0xf1,0x31] - ceil.w.d $f11,$f25 - ceil.w.s $f6,$f20 + ceil.w.d $f11,$f24 # CHECK: ceil.w.d $f11, $f24 # encoding: [0x46,0x20,0xc2,0xce] + # CHECK: # <MCInst #{{.*}} CEIL_W_D32 + ceil.w.s $f6,$f20 # CHECK: ceil.w.s $f6, $f20 # encoding: [0x46,0x00,0xa1,0x8e] + # CHECK: # <MCInst #{{.*}} CEIL_W_S cfc1 $s1,$21 clo $11,$a1 # CHECK: clo $11, $5 # encoding: [0x70,0xab,0x58,0x21] # CHECK-NEXT: # <MCInst #{{.*}} CLO @@ -102,8 +104,10 @@ a: divu $zero,$25,$15 ehb # CHECK: ehb # encoding: [0x00,0x00,0x00,0xc0] eret - floor.w.d $f14,$f11 - floor.w.s $f8,$f9 + floor.w.d $f14,$f11 # CHECK: floor.w.d $f14, $f10 # encoding: [0x46,0x20,0x53,0x8f] + # CHECK: # <MCInst #{{.*}} FLOOR_W_D32 + floor.w.s $f8,$f9 # CHECK: floor.w.s $f8, $f9 # encoding: [0x46,0x00,0x4a,0x0f] + # CHECK: # <MCInst #{{.*}} FLOOR_W_S j 1f # CHECK: j $tmp0 # encoding: [0b000010AA,A,A,A] # CHECK: # fixup A - offset: 0, value: ($tmp0), kind: fixup_Mips_26 j a # CHECK: j a # encoding: [0b000010AA,A,A,A] @@ -181,8 +185,10 @@ a: or $12,$s0,$sp or $2, 4 # CHECK: ori $2, $2, 4 # encoding: [0x34,0x42,0x00,0x04] pref 1, 8($5) # CHECK: pref 1, 8($5) # encoding: [0xcc,0xa1,0x00,0x08] - round.w.d $f6,$f4 - round.w.s $f27,$f28 + round.w.d $f6, $f4 # CHECK: round.w.d $f6, $f4 # encoding: [0x46,0x20,0x21,0x8c] + # CHECK: # <MCInst #{{.*}} ROUND_W_D32 + round.w.s $f27,$f28 # CHECK: round.w.s $f27, $f28 # encoding: [0x46,0x00,0xe6,0xcc] + # CHECK: # <MCInst #{{.*}} ROUND_W_S s.s $f2, 8($3) # CHECK: swc1 $f2, 8($3) # encoding: [0xe4,0x62,0x00,0x08] s.d $f2, 8($3) # CHECK: sdc1 $f2, 8($3) # encoding: [0xf4,0x62,0x00,0x08] sb $s6,-19857($14) @@ -303,6 +309,7 @@ a: tnei $12, -29647 # CHECK: tnei $12, -29647 # encoding: [0x05,0x8e,0x8c,0x31] trunc.w.d $f22,$f15 # CHECK: trunc.w.d $f22, $f14 # encoding: [0x46,0x20,0x75,0x8d] trunc.w.s $f28,$f30 # CHECK: trunc.w.s $f28, $f30 # encoding: [0x46,0x00,0xf7,0x0d] + # CHECK: <MCInst #{{.*}} TRUNC_W_S trunc.w.d $f4,$f6,$4 # CHECK: trunc.w.d $f4, $f6 # encoding: [0x46,0x20,0x31,0x0d] trunc.w.s $f4,$f6,$4 # CHECK: trunc.w.s $f4, $f6 # encoding: [0x46,0x00,0x31,0x0d] xor $s2,$a0,$s8 diff --git a/llvm/test/MC/Mips/mips32r2/valid.s b/llvm/test/MC/Mips/mips32r2/valid.s index 3076f3770d9..5b3b8ca1efd 100644 --- a/llvm/test/MC/Mips/mips32r2/valid.s +++ b/llvm/test/MC/Mips/mips32r2/valid.s @@ -76,8 +76,10 @@ a: c.ult.s $fcc7, $f24, $f10 # CHECK: c.ult.s $fcc7, $f24, $f10 # encoding: [0x46,0x0a,0xc7,0x35] c.un.d $fcc6, $f22, $f24 # CHECK: c.un.d $fcc6, $f22, $f24 # encoding: [0x46,0x38,0xb6,0x31] c.un.s $fcc1, $f30, $f4 # CHECK: c.un.s $fcc1, $f30, $f4 # encoding: [0x46,0x04,0xf1,0x31] - ceil.w.d $f11,$f25 - ceil.w.s $f6,$f20 + ceil.w.d $f11, $f24 # CHECK: ceil.w.d $f11, $f24 # encoding: [0x46,0x20,0xc2,0xce] + # CHECK: # <MCInst #{{.*}} CEIL_W_D32 + ceil.w.s $f6,$f20 # CHECK: ceil.w.s $f6, $f20 # encoding: [0x46,0x00,0xa1,0x8e] + # CHECK: # <MCInst #{{.*}} CEIL_W_S cfc1 $s1,$21 clo $11,$a1 # CHECK: clo $11, $5 # encoding: [0x70,0xab,0x58,0x21] # CHECK-NEXT: # <MCInst #{{.*}} CLO @@ -108,8 +110,10 @@ a: ei $14 # CHECK: ei $14 # encoding: [0x41,0x6e,0x60,0x20] ei # CHECK: ei # encoding: [0x41,0x60,0x60,0x20] eret - floor.w.d $f14,$f11 - floor.w.s $f8,$f9 + floor.w.d $f14,$f11 # CHECK: floor.w.d $f14, $f10 # encoding: [0x46,0x20,0x53,0x8f] + # CHECK: # <MCInst #{{.*}} FLOOR_W_D32 + floor.w.s $f8,$f9 # CHECK: floor.w.s $f8, $f9 # encoding: [0x46,0x00,0x4a,0x0f] + # CHECK: # <MCInst #{{.*}} FLOOR_W_S j 1f # CHECK: j $tmp0 # encoding: [0b000010AA,A,A,A] # CHECK: # fixup A - offset: 0, value: ($tmp0), kind: fixup_Mips_26 j a # CHECK: j a # encoding: [0b000010AA,A,A,A] @@ -219,8 +223,10 @@ a: rotr $1,15 # CHECK: rotr $1, $1, 15 # encoding: [0x00,0x21,0x0b,0xc2] rotr $1,$14,15 # CHECK: rotr $1, $14, 15 # encoding: [0x00,0x2e,0x0b,0xc2] rotrv $1,$14,$15 # CHECK: rotrv $1, $14, $15 # encoding: [0x01,0xee,0x08,0x46] - round.w.d $f6,$f4 - round.w.s $f27,$f28 + round.w.d $f6, $f4 # CHECK: round.w.d $f6, $f4 # encoding: [0x46,0x20,0x21,0x8c] + # CHECK: # <MCInst #{{.*}} ROUND_W_D32 + round.w.s $f27,$f28 # CHECK: round.w.s $f27, $f28 # encoding: [0x46,0x00,0xe6,0xcc] + # CHECK: # <MCInst #{{.*}} ROUND_W_S rsqrt.s $f0,$f4 # CHECK: rsqrt.s $f0, $f4 # encoding: [0x46,0x00,0x20,0x16] rsqrt.d $f2,$f6 # CHECK: rsqrt.d $f2, $f6 # encoding: [0x46,0x20,0x30,0x96] s.s $f2, 8($3) # CHECK: swc1 $f2, 8($3) # encoding: [0xe4,0x62,0x00,0x08] @@ -354,6 +360,7 @@ a: tnei $12, -29647 # CHECK: tnei $12, -29647 # encoding: [0x05,0x8e,0x8c,0x31] trunc.w.d $f22,$f15 # CHECK: trunc.w.d $f22, $f14 # encoding: [0x46,0x20,0x75,0x8d] trunc.w.s $f28,$f30 # CHECK: trunc.w.s $f28, $f30 # encoding: [0x46,0x00,0xf7,0x0d] + # CHECK: <MCInst #{{.*}} TRUNC_W_S trunc.w.d $f4,$f6,$4 # CHECK: trunc.w.d $f4, $f6 # encoding: [0x46,0x20,0x31,0x0d] trunc.w.s $f4,$f6,$4 # CHECK: trunc.w.s $f4, $f6 # encoding: [0x46,0x00,0x31,0x0d] wsbh $k1,$9 diff --git a/llvm/test/MC/Mips/mips32r3/valid.s b/llvm/test/MC/Mips/mips32r3/valid.s index 407314cb8cb..103073b02dd 100644 --- a/llvm/test/MC/Mips/mips32r3/valid.s +++ b/llvm/test/MC/Mips/mips32r3/valid.s @@ -76,8 +76,10 @@ a: c.ult.s $fcc7, $f24, $f10 # CHECK: c.ult.s $fcc7, $f24, $f10 # encoding: [0x46,0x0a,0xc7,0x35] c.un.d $fcc6, $f22, $f24 # CHECK: c.un.d $fcc6, $f22, $f24 # encoding: [0x46,0x38,0xb6,0x31] c.un.s $fcc1, $f30, $f4 # CHECK: c.un.s $fcc1, $f30, $f4 # encoding: [0x46,0x04,0xf1,0x31] - ceil.w.d $f11,$f25 - ceil.w.s $f6,$f20 + ceil.w.d $f11,$f24 # CHECK: ceil.w.d $f11, $f24 # encoding: [0x46,0x20,0xc2,0xce] + # CHECK: # <MCInst #{{.*}} CEIL_W_D32 + ceil.w.s $f6,$f20 # CHECK: ceil.w.s $f6, $f20 # encoding: [0x46,0x00,0xa1,0x8e] + # CHECK: # <MCInst #{{.*}} CEIL_W_S cfc1 $s1,$21 clo $11,$a1 # CHECK: clo $11, $5 # encoding: [0x70,0xab,0x58,0x21] # CHECK-NEXT: # <MCInst #{{.*}} CLO @@ -108,8 +110,10 @@ a: ei $14 # CHECK: ei $14 # encoding: [0x41,0x6e,0x60,0x20] ei # CHECK: ei # encoding: [0x41,0x60,0x60,0x20] eret - floor.w.d $f14,$f11 - floor.w.s $f8,$f9 + floor.w.d $f14,$f11 # CHECK: floor.w.d $f14, $f10 # encoding: [0x46,0x20,0x53,0x8f] + # CHECK: # <MCInst #{{.*}} FLOOR_W_D32 + floor.w.s $f8,$f9 # CHECK: floor.w.s $f8, $f9 # encoding: [0x46,0x00,0x4a,0x0f] + # CHECK: # <MCInst #{{.*}} FLOOR_W_S j 1f # CHECK: j $tmp0 # encoding: [0b000010AA,A,A,A] # CHECK: # fixup A - offset: 0, value: ($tmp0), kind: fixup_Mips_26 j a # CHECK: j a # encoding: [0b000010AA,A,A,A] @@ -219,8 +223,10 @@ a: rotr $1,15 # CHECK: rotr $1, $1, 15 # encoding: [0x00,0x21,0x0b,0xc2] rotr $1,$14,15 # CHECK: rotr $1, $14, 15 # encoding: [0x00,0x2e,0x0b,0xc2] rotrv $1,$14,$15 # CHECK: rotrv $1, $14, $15 # encoding: [0x01,0xee,0x08,0x46] - round.w.d $f6,$f4 - round.w.s $f27,$f28 + round.w.d $f6, $f4 # CHECK: round.w.d $f6, $f4 # encoding: [0x46,0x20,0x21,0x8c] + # CHECK: # <MCInst #{{.*}} ROUND_W_D32 + round.w.s $f27,$f28 # CHECK: round.w.s $f27, $f28 # encoding: [0x46,0x00,0xe6,0xcc] + # CHECK: # <MCInst #{{.*}} ROUND_W_S rsqrt.s $f0,$f4 # CHECK: rsqrt.s $f0, $f4 # encoding: [0x46,0x00,0x20,0x16] rsqrt.d $f2,$f6 # CHECK: rsqrt.d $f2, $f6 # encoding: [0x46,0x20,0x30,0x96] s.s $f2, 8($3) # CHECK: swc1 $f2, 8($3) # encoding: [0xe4,0x62,0x00,0x08] @@ -356,6 +362,7 @@ a: tnei $12, -29647 # CHECK: tnei $12, -29647 # encoding: [0x05,0x8e,0x8c,0x31] trunc.w.d $f22,$f15 # CHECK: trunc.w.d $f22, $f14 # encoding: [0x46,0x20,0x75,0x8d] trunc.w.s $f28,$f30 # CHECK: trunc.w.s $f28, $f30 # encoding: [0x46,0x00,0xf7,0x0d] + # CHECK: <MCInst #{{.*}} TRUNC_W_S trunc.w.d $f4,$f6,$4 # CHECK: trunc.w.d $f4, $f6 # encoding: [0x46,0x20,0x31,0x0d] trunc.w.s $f4,$f6,$4 # CHECK: trunc.w.s $f4, $f6 # encoding: [0x46,0x00,0x31,0x0d] wsbh $k1,$9 diff --git a/llvm/test/MC/Mips/mips32r5/valid.s b/llvm/test/MC/Mips/mips32r5/valid.s index f7d64fc2dd2..935adfb0427 100644 --- a/llvm/test/MC/Mips/mips32r5/valid.s +++ b/llvm/test/MC/Mips/mips32r5/valid.s @@ -76,8 +76,10 @@ a: c.ult.s $fcc7, $f24, $f10 # CHECK: c.ult.s $fcc7, $f24, $f10 # encoding: [0x46,0x0a,0xc7,0x35] c.un.d $fcc6, $f22, $f24 # CHECK: c.un.d $fcc6, $f22, $f24 # encoding: [0x46,0x38,0xb6,0x31] c.un.s $fcc1, $f30, $f4 # CHECK: c.un.s $fcc1, $f30, $f4 # encoding: [0x46,0x04,0xf1,0x31] - ceil.w.d $f11,$f25 - ceil.w.s $f6,$f20 + ceil.w.d $f11,$f24 # CHECK: ceil.w.d $f11, $f24 # encoding: [0x46,0x20,0xc2,0xce] + # CHECK: # <MCInst #{{.*}} CEIL_W_D32 + ceil.w.s $f6,$f20 # CHECK: ceil.w.s $f6, $f20 # encoding: [0x46,0x00,0xa1,0x8e] + # CHECK: # <MCInst #{{.*}} CEIL_W_S cfc1 $s1,$21 clo $11,$a1 # CHECK: clo $11, $5 # encoding: [0x70,0xab,0x58,0x21] # CHECK-NEXT: # <MCInst #{{.*}} CLO @@ -109,8 +111,10 @@ a: ei # CHECK: ei # encoding: [0x41,0x60,0x60,0x20] eret eretnc # CHECK: eretnc # encoding: [0x42,0x00,0x00,0x58] - floor.w.d $f14,$f11 - floor.w.s $f8,$f9 + floor.w.d $f14,$f11 # CHECK: floor.w.d $f14, $f10 # encoding: [0x46,0x20,0x53,0x8f] + # CHECK: # <MCInst #{{.*}} FLOOR_W_D32 + floor.w.s $f8,$f9 # CHECK: floor.w.s $f8, $f9 # encoding: [0x46,0x00,0x4a,0x0f] + # CHECK: # <MCInst #{{.*}} FLOOR_W_S j 1f # CHECK: j $tmp0 # encoding: [0b000010AA,A,A,A] # CHECK: # fixup A - offset: 0, value: ($tmp0), kind: fixup_Mips_26 j a # CHECK: j a # encoding: [0b000010AA,A,A,A] @@ -220,8 +224,10 @@ a: rotr $1,15 # CHECK: rotr $1, $1, 15 # encoding: [0x00,0x21,0x0b,0xc2] rotr $1,$14,15 # CHECK: rotr $1, $14, 15 # encoding: [0x00,0x2e,0x0b,0xc2] rotrv $1,$14,$15 # CHECK: rotrv $1, $14, $15 # encoding: [0x01,0xee,0x08,0x46] - round.w.d $f6,$f4 - round.w.s $f27,$f28 + round.w.d $f6, $f4 # CHECK: round.w.d $f6, $f4 # encoding: [0x46,0x20,0x21,0x8c] + # CHECK: # <MCInst #{{.*}} ROUND_W_D32 + round.w.s $f27,$f28 # CHECK: round.w.s $f27, $f28 # encoding: [0x46,0x00,0xe6,0xcc] + # CHECK: # <MCInst #{{.*}} ROUND_W_S rsqrt.s $f0,$f4 # CHECK: rsqrt.s $f0, $f4 # encoding: [0x46,0x00,0x20,0x16] rsqrt.d $f2,$f6 # CHECK: rsqrt.d $f2, $f6 # encoding: [0x46,0x20,0x30,0x96] s.s $f2, 8($3) # CHECK: swc1 $f2, 8($3) # encoding: [0xe4,0x62,0x00,0x08] @@ -357,6 +363,7 @@ a: tnei $12, -29647 # CHECK: tnei $12, -29647 # encoding: [0x05,0x8e,0x8c,0x31] trunc.w.d $f22,$f15 # CHECK: trunc.w.d $f22, $f14 # encoding: [0x46,0x20,0x75,0x8d] trunc.w.s $f28,$f30 # CHECK: trunc.w.s $f28, $f30 # encoding: [0x46,0x00,0xf7,0x0d] + # CHECK: <MCInst #{{.*}} TRUNC_W_S trunc.w.d $f4,$f6,$4 # CHECK: trunc.w.d $f4, $f6 # encoding: [0x46,0x20,0x31,0x0d] trunc.w.s $f4,$f6,$4 # CHECK: trunc.w.s $f4, $f6 # encoding: [0x46,0x00,0x31,0x0d] wsbh $k1,$9 diff --git a/llvm/test/MC/Mips/mips32r6/valid.s b/llvm/test/MC/Mips/mips32r6/valid.s index 8a9a98393f8..343330e72cd 100644 --- a/llvm/test/MC/Mips/mips32r6/valid.s +++ b/llvm/test/MC/Mips/mips32r6/valid.s @@ -66,6 +66,10 @@ a: bovc $2, $0, 4 # CHECK: bovc $2, $zero, 4 # encoding: [0x20,0x40,0x00,0x01] bovc $2, $4, 4 # CHECK: bovc $2, $4, 4 # encoding: [0x20,0x82,0x00,0x01] cache 1, 8($5) # CHECK: cache 1, 8($5) # encoding: [0x7c,0xa1,0x04,0x25] + ceil.w.d $f11,$f24 # CHECK: ceil.w.d $f11, $f24 # encoding: [0x46,0x20,0xc2,0xce] + # CHECK: # <MCInst #{{.*}} CEIL_W_D64 + ceil.w.s $f6,$f20 # CHECK: ceil.w.s $f6, $f20 # encoding: [0x46,0x00,0xa1,0x8e] + # CHECK: # <MCInst #{{.*}} CEIL_W_S cmp.af.s $f2,$f3,$f4 # CHECK: cmp.af.s $f2, $f3, $f4 # encoding: [0x46,0x84,0x18,0x80] cmp.af.d $f2,$f3,$f4 # CHECK: cmp.af.d $f2, $f3, $f4 # encoding: [0x46,0xa4,0x18,0x80] cmp.un.s $f2,$f3,$f4 # CHECK: cmp.un.s $f2, $f3, $f4 # encoding: [0x46,0x84,0x18,0x81] @@ -110,6 +114,10 @@ a: eretnc # CHECK: eretnc # encoding: [0x42,0x00,0x00,0x58] evp $5 # CHECK: evp $5 # encoding: [0x41,0x65,0x00,0x04] evp # CHECK: evp $zero # encoding: [0x41,0x60,0x00,0x04] + floor.w.d $f14,$f11 # CHECK: floor.w.d $f14, $f11 # encoding: [0x46,0x20,0x5b,0x8f] + # CHECK: # <MCInst #{{.*}} FLOOR_W_D64 + floor.w.s $f8,$f9 # CHECK: floor.w.s $f8, $f9 # encoding: [0x46,0x00,0x4a,0x0f] + # CHECK: # <MCInst #{{.*}} FLOOR_W_S jialc $5, 256 # CHECK: jialc $5, 256 # encoding: [0xf8,0x05,0x01,0x00] jic $5, 256 # CHECK: jic $5, 256 # encoding: [0xd8,0x05,0x01,0x00] l.s $f2, 8($3) # CHECK: lwc1 $f2, 8($3) # encoding: [0xc4,0x62,0x00,0x08] @@ -150,6 +158,10 @@ a: # CHECK-NEXT: .set mips32r2 # CHECK-NEXT: rdhwr $sp, $11 # CHECK-NEXT: .set pop # encoding: [0x7c,0x1d,0x58,0x3b] + round.w.d $f6, $f4 # CHECK: round.w.d $f6, $f4 # encoding: [0x46,0x20,0x21,0x8c] + # CHECK: # <MCInst #{{.*}} ROUND_W_D64 + round.w.s $f27,$f28 # CHECK: round.w.s $f27, $f28 # encoding: [0x46,0x00,0xe6,0xcc] + # CHECK: # <MCInst #{{.*}} ROUND_W_S recip.d $f19,$f6 # CHECK: recip.d $f19, $f6 # encoding: [0x46,0x20,0x34,0xd5] recip.s $f3,$f30 # CHECK: recip.s $f3, $f30 # encoding: [0x46,0x00,0xf0,0xd5] s.s $f2, 8($3) # CHECK: swc1 $f2, 8($3) # encoding: [0xe4,0x62,0x00,0x08] diff --git a/llvm/test/MC/Mips/mips4/valid.s b/llvm/test/MC/Mips/mips4/valid.s index b219d052e40..e12807f4a10 100644 --- a/llvm/test/MC/Mips/mips4/valid.s +++ b/llvm/test/MC/Mips/mips4/valid.s @@ -75,8 +75,10 @@ a: c.un.s $fcc1, $f30, $f4 # CHECK: c.un.s $fcc1, $f30, $f4 # encoding: [0x46,0x04,0xf1,0x31] ceil.l.d $f1,$f3 ceil.l.s $f18,$f13 - ceil.w.d $f11,$f25 - ceil.w.s $f6,$f20 + ceil.w.d $f11,$f25 # CHECK: ceil.w.d $f11, $f25 # encoding: [0x46,0x20,0xca,0xce] + # CHECK: # <MCInst #{{.*}} CEIL_W_D64 + ceil.w.s $f6,$f20 # CHECK: ceil.w.s $f6, $f20 # encoding: [0x46,0x00,0xa1,0x8e] + # CHECK: # <MCInst #{{.*}} CEIL_W_S cfc1 $s1,$21 ctc1 $a2,$26 cvt.d.l $f4,$f16 # CHECK: cvt.d.l $f4, $f16 # encoding: [0x46,0xa0,0x81,0x21] @@ -156,8 +158,10 @@ a: eret floor.l.d $f26,$f7 floor.l.s $f12,$f5 - floor.w.d $f14,$f11 - floor.w.s $f8,$f9 + floor.w.d $f14,$f11 # CHECK: floor.w.d $f14, $f11 # encoding: [0x46,0x20,0x5b,0x8f] + # CHECK: # <MCInst #{{.*}} FLOOR_W_D64 + floor.w.s $f8,$f9 # CHECK: floor.w.s $f8, $f9 # encoding: [0x46,0x00,0x4a,0x0f] + # CHECK: # <MCInst #{{.*}} FLOOR_W_S j 1f # CHECK: j .Ltmp0 # encoding: [0b000010AA,A,A,A] # CHECK: # fixup A - offset: 0, value: .Ltmp0, kind: fixup_Mips_26 j a # CHECK: j a # encoding: [0b000010AA,A,A,A] @@ -244,8 +248,10 @@ a: recip.s $f3,$f30 # CHECK: recip.s $f3, $f30 # encoding: [0x46,0x00,0xf0,0xd5] round.l.d $f12,$f1 round.l.s $f25,$f5 - round.w.d $f6,$f4 - round.w.s $f27,$f28 + round.w.d $f6, $f4 # CHECK: round.w.d $f6, $f4 # encoding: [0x46,0x20,0x21,0x8c] + # CHECK: # <MCInst #{{.*}} ROUND_W_D64 + round.w.s $f27,$f28 # CHECK: round.w.s $f27, $f28 # encoding: [0x46,0x00,0xe6,0xcc] + # CHECK: # <MCInst #{{.*}} ROUND_W_S rsqrt.s $f0,$f4 # CHECK: rsqrt.s $f0, $f4 # encoding: [0x46,0x00,0x20,0x16] rsqrt.d $f2,$f6 # CHECK: rsqrt.d $f2, $f6 # encoding: [0x46,0x20,0x30,0x96] s.s $f2, 8($3) # CHECK: swc1 $f2, 8($3) # encoding: [0xe4,0x62,0x00,0x08] @@ -366,7 +372,9 @@ a: trunc.l.d $f23,$f23 # CHECK: trunc.l.d $f23, $f23 # encoding: [0x46,0x20,0xbd,0xc9] trunc.l.s $f28,$f31 # CHECK: trunc.l.s $f28, $f31 # encoding: [0x46,0x00,0xff,0x09] trunc.w.d $f22,$f15 # CHECK: trunc.w.d $f22, $f15 # encoding: [0x46,0x20,0x7d,0x8d] + # CHECK: <MCInst #{{.*}} TRUNC_W_D64 trunc.w.s $f28,$f30 # CHECK: trunc.w.s $f28, $f30 # encoding: [0x46,0x00,0xf7,0x0d] + # CHECK: <MCInst #{{.*}} TRUNC_W_S trunc.w.d $f4,$f6,$4 # CHECK: trunc.w.d $f4, $f6 # encoding: [0x46,0x20,0x31,0x0d] trunc.w.s $f4,$f6,$4 # CHECK: trunc.w.s $f4, $f6 # encoding: [0x46,0x00,0x31,0x0d] xor $s2,$a0,$s8 diff --git a/llvm/test/MC/Mips/mips5/valid.s b/llvm/test/MC/Mips/mips5/valid.s index 5d797dea588..233acdb76b8 100644 --- a/llvm/test/MC/Mips/mips5/valid.s +++ b/llvm/test/MC/Mips/mips5/valid.s @@ -75,8 +75,10 @@ a: c.un.s $fcc1, $f30, $f4 # CHECK: c.un.s $fcc1, $f30, $f4 # encoding: [0x46,0x04,0xf1,0x31] ceil.l.d $f1,$f3 ceil.l.s $f18,$f13 - ceil.w.d $f11,$f25 - ceil.w.s $f6,$f20 + ceil.w.d $f11,$f25 # CHECK: ceil.w.d $f11, $f25 # encoding: [0x46,0x20,0xca,0xce] + # CHECK: # <MCInst #{{.*}} CEIL_W_D64 + ceil.w.s $f6,$f20 # CHECK: ceil.w.s $f6, $f20 # encoding: [0x46,0x00,0xa1,0x8e] + # CHECK: # <MCInst #{{.*}} CEIL_W_S cfc1 $s1,$21 ctc1 $a2,$26 cvt.d.l $f4,$f16 # CHECK: cvt.d.l $f4, $f16 # encoding: [0x46,0xa0,0x81,0x21] @@ -156,8 +158,10 @@ a: eret floor.l.d $f26,$f7 floor.l.s $f12,$f5 - floor.w.d $f14,$f11 - floor.w.s $f8,$f9 + floor.w.d $f14,$f11 # CHECK: floor.w.d $f14, $f11 # encoding: [0x46,0x20,0x5b,0x8f] + # CHECK: # <MCInst #{{.*}} FLOOR_W_D64 + floor.w.s $f8,$f9 # CHECK: floor.w.s $f8, $f9 # encoding: [0x46,0x00,0x4a,0x0f] + # CHECK: # <MCInst #{{.*}} FLOOR_W_S j 1f # CHECK: j .Ltmp0 # encoding: [0b000010AA,A,A,A] # CHECK: # fixup A - offset: 0, value: .Ltmp0, kind: fixup_Mips_26 j a # CHECK: j a # encoding: [0b000010AA,A,A,A] @@ -245,8 +249,10 @@ a: recip.s $f3,$f30 # CHECK: recip.s $f3, $f30 # encoding: [0x46,0x00,0xf0,0xd5] round.l.d $f12,$f1 round.l.s $f25,$f5 - round.w.d $f6,$f4 - round.w.s $f27,$f28 + round.w.d $f6, $f4 # CHECK: round.w.d $f6, $f4 # encoding: [0x46,0x20,0x21,0x8c] + # CHECK: # <MCInst #{{.*}} ROUND_W_D64 + round.w.s $f27,$f28 # CHECK: round.w.s $f27, $f28 # encoding: [0x46,0x00,0xe6,0xcc] + # CHECK: # <MCInst #{{.*}} ROUND_W_S rsqrt.s $f0,$f4 # CHECK: rsqrt.s $f0, $f4 # encoding: [0x46,0x00,0x20,0x16] rsqrt.d $f2,$f6 # CHECK: rsqrt.d $f2, $f6 # encoding: [0x46,0x20,0x30,0x96] s.s $f2, 8($3) # CHECK: swc1 $f2, 8($3) # encoding: [0xe4,0x62,0x00,0x08] @@ -368,7 +374,9 @@ a: trunc.l.d $f23,$f23 # CHECK: trunc.l.d $f23, $f23 # encoding: [0x46,0x20,0xbd,0xc9] trunc.l.s $f28,$f31 # CHECK: trunc.l.s $f28, $f31 # encoding: [0x46,0x00,0xff,0x09] trunc.w.d $f22,$f15 # CHECK: trunc.w.d $f22, $f15 # encoding: [0x46,0x20,0x7d,0x8d] + # CHECK: <MCInst #{{.*}} TRUNC_W_D64 trunc.w.s $f28,$f30 # CHECK: trunc.w.s $f28, $f30 # encoding: [0x46,0x00,0xf7,0x0d] + # CHECK: <MCInst #{{.*}} TRUNC_W_S trunc.w.d $f4,$f6,$4 # CHECK: trunc.w.d $f4, $f6 # encoding: [0x46,0x20,0x31,0x0d] trunc.w.s $f4,$f6,$4 # CHECK: trunc.w.s $f4, $f6 # encoding: [0x46,0x00,0x31,0x0d] xor $s2,$a0,$s8 diff --git a/llvm/test/MC/Mips/mips64/valid.s b/llvm/test/MC/Mips/mips64/valid.s index b3da0eb656b..b8c06062de4 100644 --- a/llvm/test/MC/Mips/mips64/valid.s +++ b/llvm/test/MC/Mips/mips64/valid.s @@ -75,8 +75,10 @@ a: c.un.s $fcc1, $f30, $f4 # CHECK: c.un.s $fcc1, $f30, $f4 # encoding: [0x46,0x04,0xf1,0x31] ceil.l.d $f1,$f3 ceil.l.s $f18,$f13 - ceil.w.d $f11,$f25 - ceil.w.s $f6,$f20 + ceil.w.d $f11,$f25 # CHECK: ceil.w.d $f11, $f25 # encoding: [0x46,0x20,0xca,0xce] + # CHECK: # <MCInst #{{.*}} CEIL_W_D64 + ceil.w.s $f6,$f20 # CHECK: ceil.w.s $f6, $f20 # encoding: [0x46,0x00,0xa1,0x8e] + # CHECK: # <MCInst #{{.*}} CEIL_W_S cfc1 $s1,$21 clo $11,$a1 # CHECK: clo $11, $5 # encoding: [0x70,0xab,0x58,0x21] clz $sp,$gp # CHECK: clz $sp, $gp # encoding: [0x73,0x9d,0xe8,0x20] @@ -163,8 +165,10 @@ a: eret floor.l.d $f26,$f7 floor.l.s $f12,$f5 - floor.w.d $f14,$f11 - floor.w.s $f8,$f9 + floor.w.d $f14,$f11 # CHECK: floor.w.d $f14, $f11 # encoding: [0x46,0x20,0x5b,0x8f] + # CHECK: # <MCInst #{{.*}} FLOOR_W_D64 + floor.w.s $f8,$f9 # CHECK: floor.w.s $f8, $f9 # encoding: [0x46,0x00,0x4a,0x0f] + # CHECK: # <MCInst #{{.*}} FLOOR_W_S j 1f # CHECK: j .Ltmp0 # encoding: [0b000010AA,A,A,A] # CHECK: # fixup A - offset: 0, value: .Ltmp0, kind: fixup_Mips_26 j a # CHECK: j a # encoding: [0b000010AA,A,A,A] @@ -261,8 +265,10 @@ a: recip.s $f3,$f30 # CHECK: recip.s $f3, $f30 # encoding: [0x46,0x00,0xf0,0xd5] round.l.d $f12,$f1 round.l.s $f25,$f5 - round.w.d $f6,$f4 - round.w.s $f27,$f28 + round.w.d $f6, $f4 # CHECK: round.w.d $f6, $f4 # encoding: [0x46,0x20,0x21,0x8c] + # CHECK: # <MCInst #{{.*}} ROUND_W_D64 + round.w.s $f27,$f28 # CHECK: round.w.s $f27, $f28 # encoding: [0x46,0x00,0xe6,0xcc] + # CHECK: # <MCInst #{{.*}} ROUND_W_S rsqrt.s $f0,$f4 # CHECK: rsqrt.s $f0, $f4 # encoding: [0x46,0x00,0x20,0x16] rsqrt.d $f2,$f6 # CHECK: rsqrt.d $f2, $f6 # encoding: [0x46,0x20,0x30,0x96] s.s $f2, 8($3) # CHECK: swc1 $f2, 8($3) # encoding: [0xe4,0x62,0x00,0x08] @@ -386,7 +392,9 @@ a: trunc.l.d $f23,$f23 # CHECK: trunc.l.d $f23, $f23 # encoding: [0x46,0x20,0xbd,0xc9] trunc.l.s $f28,$f31 # CHECK: trunc.l.s $f28, $f31 # encoding: [0x46,0x00,0xff,0x09] trunc.w.d $f22,$f15 # CHECK: trunc.w.d $f22, $f15 # encoding: [0x46,0x20,0x7d,0x8d] + # CHECK: <MCInst #{{.*}} TRUNC_W_D64 trunc.w.s $f28,$f30 # CHECK: trunc.w.s $f28, $f30 # encoding: [0x46,0x00,0xf7,0x0d] + # CHECK: <MCInst #{{.*}} TRUNC_W_S trunc.w.d $f4,$f6,$4 # CHECK: trunc.w.d $f4, $f6 # encoding: [0x46,0x20,0x31,0x0d] trunc.w.s $f4,$f6,$4 # CHECK: trunc.w.s $f4, $f6 # encoding: [0x46,0x00,0x31,0x0d] xor $s2,$a0,$s8 diff --git a/llvm/test/MC/Mips/mips64r2/valid.s b/llvm/test/MC/Mips/mips64r2/valid.s index b238bb571d0..dc62ddeb29a 100644 --- a/llvm/test/MC/Mips/mips64r2/valid.s +++ b/llvm/test/MC/Mips/mips64r2/valid.s @@ -75,8 +75,10 @@ a: c.un.s $fcc1, $f30, $f4 # CHECK: c.un.s $fcc1, $f30, $f4 # encoding: [0x46,0x04,0xf1,0x31] ceil.l.d $f1,$f3 ceil.l.s $f18,$f13 - ceil.w.d $f11,$f25 - ceil.w.s $f6,$f20 + ceil.w.d $f11,$f25 # CHECK: ceil.w.d $f11, $f25 # encoding: [0x46,0x20,0xca,0xce] + # CHECK: # <MCInst #{{.*}} CEIL_W_D64 + ceil.w.s $f6,$f20 # CHECK: ceil.w.s $f6, $f20 # encoding: [0x46,0x00,0xa1,0x8e] + # CHECK: # <MCInst #{{.*}} CEIL_W_S cfc1 $s1,$21 clo $11,$a1 # CHECK: clo $11, $5 # encoding: [0x70,0xab,0x58,0x21] clz $sp,$gp # CHECK: clz $sp, $gp # encoding: [0x73,0x9d,0xe8,0x20] @@ -182,8 +184,10 @@ a: eret floor.l.d $f26,$f7 floor.l.s $f12,$f5 - floor.w.d $f14,$f11 - floor.w.s $f8,$f9 + floor.w.d $f14,$f11 # CHECK: floor.w.d $f14, $f11 # encoding: [0x46,0x20,0x5b,0x8f] + # CHECK: # <MCInst #{{.*}} FLOOR_W_D64 + floor.w.s $f8,$f9 # CHECK: floor.w.s $f8, $f9 # encoding: [0x46,0x00,0x4a,0x0f] + # CHECK: # <MCInst #{{.*}} FLOOR_W_S j 1f # CHECK: j .Ltmp0 # encoding: [0b000010AA,A,A,A] # CHECK: # fixup A - offset: 0, value: .Ltmp0, kind: fixup_Mips_26 j a # CHECK: j a # encoding: [0b000010AA,A,A,A] @@ -293,8 +297,10 @@ a: rotrv $1,$14,$15 # CHECK: rotrv $1, $14, $15 # encoding: [0x01,0xee,0x08,0x46] round.l.d $f12,$f1 round.l.s $f25,$f5 - round.w.d $f6,$f4 - round.w.s $f27,$f28 + round.w.d $f6, $f4 # CHECK: round.w.d $f6, $f4 # encoding: [0x46,0x20,0x21,0x8c] + # CHECK: # <MCInst #{{.*}} ROUND_W_D64 + round.w.s $f27,$f28 # CHECK: round.w.s $f27, $f28 # encoding: [0x46,0x00,0xe6,0xcc] + # CHECK: # <MCInst #{{.*}} ROUND_W_S rsqrt.s $f0,$f4 # CHECK: rsqrt.s $f0, $f4 # encoding: [0x46,0x00,0x20,0x16] rsqrt.d $f2,$f6 # CHECK: rsqrt.d $f2, $f6 # encoding: [0x46,0x20,0x30,0x96] s.s $f2, 8($3) # CHECK: swc1 $f2, 8($3) # encoding: [0xe4,0x62,0x00,0x08] @@ -432,7 +438,9 @@ a: trunc.l.d $f23,$f23 # CHECK: trunc.l.d $f23, $f23 # encoding: [0x46,0x20,0xbd,0xc9] trunc.l.s $f28,$f31 # CHECK: trunc.l.s $f28, $f31 # encoding: [0x46,0x00,0xff,0x09] trunc.w.d $f22,$f15 # CHECK: trunc.w.d $f22, $f15 # encoding: [0x46,0x20,0x7d,0x8d] + # CHECK: <MCInst #{{.*}} TRUNC_W_D64 trunc.w.s $f28,$f30 # CHECK: trunc.w.s $f28, $f30 # encoding: [0x46,0x00,0xf7,0x0d] + # CHECK: <MCInst #{{.*}} TRUNC_W_S trunc.w.d $f4,$f6,$4 # CHECK: trunc.w.d $f4, $f6 # encoding: [0x46,0x20,0x31,0x0d] trunc.w.s $f4,$f6,$4 # CHECK: trunc.w.s $f4, $f6 # encoding: [0x46,0x00,0x31,0x0d] xor $s2,$a0,$s8 diff --git a/llvm/test/MC/Mips/mips64r3/valid.s b/llvm/test/MC/Mips/mips64r3/valid.s index a07cd18f922..e3a2e5a88aa 100644 --- a/llvm/test/MC/Mips/mips64r3/valid.s +++ b/llvm/test/MC/Mips/mips64r3/valid.s @@ -75,8 +75,10 @@ a: c.un.s $fcc1, $f30, $f4 # CHECK: c.un.s $fcc1, $f30, $f4 # encoding: [0x46,0x04,0xf1,0x31] ceil.l.d $f1,$f3 ceil.l.s $f18,$f13 - ceil.w.d $f11,$f25 - ceil.w.s $f6,$f20 + ceil.w.d $f11,$f25 # CHECK: ceil.w.d $f11, $f25 # encoding: [0x46,0x20,0xca,0xce] + # CHECK: # <MCInst #{{.*}} CEIL_W_D64 + ceil.w.s $f6,$f20 # CHECK: ceil.w.s $f6, $f20 # encoding: [0x46,0x00,0xa1,0x8e] + # CHECK: # <MCInst #{{.*}} CEIL_W_S cfc1 $s1,$21 clo $11,$a1 # CHECK: clo $11, $5 # encoding: [0x70,0xab,0x58,0x21] clz $sp,$gp # CHECK: clz $sp, $gp # encoding: [0x73,0x9d,0xe8,0x20] @@ -176,8 +178,10 @@ a: eret floor.l.d $f26,$f7 floor.l.s $f12,$f5 - floor.w.d $f14,$f11 - floor.w.s $f8,$f9 + floor.w.d $f14,$f11 # CHECK: floor.w.d $f14, $f11 # encoding: [0x46,0x20,0x5b,0x8f] + # CHECK: # <MCInst #{{.*}} FLOOR_W_D64 + floor.w.s $f8,$f9 # CHECK: floor.w.s $f8, $f9 # encoding: [0x46,0x00,0x4a,0x0f] + # CHECK: # <MCInst #{{.*}} FLOOR_W_S j 1f # CHECK: j .Ltmp0 # encoding: [0b000010AA,A,A,A] # CHECK: # fixup A - offset: 0, value: .Ltmp0, kind: fixup_Mips_26 j a # CHECK: j a # encoding: [0b000010AA,A,A,A] @@ -287,8 +291,10 @@ a: rotrv $1,$14,$15 # CHECK: rotrv $1, $14, $15 # encoding: [0x01,0xee,0x08,0x46] round.l.d $f12,$f1 round.l.s $f25,$f5 - round.w.d $f6,$f4 - round.w.s $f27,$f28 + round.w.d $f6, $f4 # CHECK: round.w.d $f6, $f4 # encoding: [0x46,0x20,0x21,0x8c] + # CHECK: # <MCInst #{{.*}} ROUND_W_D64 + round.w.s $f27,$f28 # CHECK: round.w.s $f27, $f28 # encoding: [0x46,0x00,0xe6,0xcc] + # CHECK: # <MCInst #{{.*}} ROUND_W_S rsqrt.s $f0,$f4 # CHECK: rsqrt.s $f0, $f4 # encoding: [0x46,0x00,0x20,0x16] rsqrt.d $f2,$f6 # CHECK: rsqrt.d $f2, $f6 # encoding: [0x46,0x20,0x30,0x96] s.s $f2, 8($3) # CHECK: swc1 $f2, 8($3) # encoding: [0xe4,0x62,0x00,0x08] @@ -422,7 +428,9 @@ a: trunc.l.d $f23,$f23 # CHECK: trunc.l.d $f23, $f23 # encoding: [0x46,0x20,0xbd,0xc9] trunc.l.s $f28,$f31 # CHECK: trunc.l.s $f28, $f31 # encoding: [0x46,0x00,0xff,0x09] trunc.w.d $f22,$f15 # CHECK: trunc.w.d $f22, $f15 # encoding: [0x46,0x20,0x7d,0x8d] + # CHECK: <MCInst #{{.*}} TRUNC_W_D64 trunc.w.s $f28,$f30 # CHECK: trunc.w.s $f28, $f30 # encoding: [0x46,0x00,0xf7,0x0d] + # CHECK: <MCInst #{{.*}} TRUNC_W_S trunc.w.d $f4,$f6,$4 # CHECK: trunc.w.d $f4, $f6 # encoding: [0x46,0x20,0x31,0x0d] trunc.w.s $f4,$f6,$4 # CHECK: trunc.w.s $f4, $f6 # encoding: [0x46,0x00,0x31,0x0d] xor $s2,$a0,$s8 diff --git a/llvm/test/MC/Mips/mips64r5/valid.s b/llvm/test/MC/Mips/mips64r5/valid.s index faee9adaf12..0ac870da6c6 100644 --- a/llvm/test/MC/Mips/mips64r5/valid.s +++ b/llvm/test/MC/Mips/mips64r5/valid.s @@ -75,8 +75,10 @@ a: c.un.s $fcc1, $f30, $f4 # CHECK: c.un.s $fcc1, $f30, $f4 # encoding: [0x46,0x04,0xf1,0x31] ceil.l.d $f1,$f3 ceil.l.s $f18,$f13 - ceil.w.d $f11,$f25 - ceil.w.s $f6,$f20 + ceil.w.d $f11,$f25 # CHECK: ceil.w.d $f11, $f25 # encoding: [0x46,0x20,0xca,0xce] + # CHECK: # <MCInst #{{.*}} CEIL_W_D64 + ceil.w.s $f6,$f20 # CHECK: ceil.w.s $f6, $f20 # encoding: [0x46,0x00,0xa1,0x8e] + # CHECK: # <MCInst #{{.*}} CEIL_W_S cfc1 $s1,$21 clo $11,$a1 # CHECK: clo $11, $5 # encoding: [0x70,0xab,0x58,0x21] clz $sp,$gp # CHECK: clz $sp, $gp # encoding: [0x73,0x9d,0xe8,0x20] @@ -177,8 +179,10 @@ a: eretnc # CHECK: eretnc # encoding: [0x42,0x00,0x00,0x58] floor.l.d $f26,$f7 floor.l.s $f12,$f5 - floor.w.d $f14,$f11 - floor.w.s $f8,$f9 + floor.w.d $f14,$f11 # CHECK: floor.w.d $f14, $f11 # encoding: [0x46,0x20,0x5b,0x8f] + # CHECK: # <MCInst #{{.*}} FLOOR_W_D64 + floor.w.s $f8,$f9 # CHECK: floor.w.s $f8, $f9 # encoding: [0x46,0x00,0x4a,0x0f] + # CHECK: # <MCInst #{{.*}} FLOOR_W_S j 1f # CHECK: j .Ltmp0 # encoding: [0b000010AA,A,A,A] # CHECK: # fixup A - offset: 0, value: .Ltmp0, kind: fixup_Mips_26 j a # CHECK: j a # encoding: [0b000010AA,A,A,A] @@ -288,8 +292,10 @@ a: rotrv $1,$14,$15 # CHECK: rotrv $1, $14, $15 # encoding: [0x01,0xee,0x08,0x46] round.l.d $f12,$f1 round.l.s $f25,$f5 - round.w.d $f6,$f4 - round.w.s $f27,$f28 + round.w.d $f6, $f4 # CHECK: round.w.d $f6, $f4 # encoding: [0x46,0x20,0x21,0x8c] + # CHECK: # <MCInst #{{.*}} ROUND_W_D64 + round.w.s $f27,$f28 # CHECK: round.w.s $f27, $f28 # encoding: [0x46,0x00,0xe6,0xcc] + # CHECK: # <MCInst #{{.*}} ROUND_W_S rsqrt.s $f0,$f4 # CHECK: rsqrt.s $f0, $f4 # encoding: [0x46,0x00,0x20,0x16] rsqrt.d $f2,$f6 # CHECK: rsqrt.d $f2, $f6 # encoding: [0x46,0x20,0x30,0x96] s.s $f2, 8($3) # CHECK: swc1 $f2, 8($3) # encoding: [0xe4,0x62,0x00,0x08] @@ -427,7 +433,9 @@ a: trunc.l.d $f23,$f23 # CHECK: trunc.l.d $f23, $f23 # encoding: [0x46,0x20,0xbd,0xc9] trunc.l.s $f28,$f31 # CHECK: trunc.l.s $f28, $f31 # encoding: [0x46,0x00,0xff,0x09] trunc.w.d $f22,$f15 # CHECK: trunc.w.d $f22, $f15 # encoding: [0x46,0x20,0x7d,0x8d] + # CHECK: <MCInst #{{.*}} TRUNC_W_D64 trunc.w.s $f28,$f30 # CHECK: trunc.w.s $f28, $f30 # encoding: [0x46,0x00,0xf7,0x0d] + # CHECK: <MCInst #{{.*}} TRUNC_W_S trunc.w.d $f4,$f6,$4 # CHECK: trunc.w.d $f4, $f6 # encoding: [0x46,0x20,0x31,0x0d] trunc.w.s $f4,$f6,$4 # CHECK: trunc.w.s $f4, $f6 # encoding: [0x46,0x00,0x31,0x0d] xor $s2,$a0,$s8 diff --git a/llvm/test/MC/Mips/mips64r6/valid.s b/llvm/test/MC/Mips/mips64r6/valid.s index 73754e232ef..c79077ba400 100644 --- a/llvm/test/MC/Mips/mips64r6/valid.s +++ b/llvm/test/MC/Mips/mips64r6/valid.s @@ -69,6 +69,10 @@ a: class.s $f2, $f4 # CHECK: class.s $f2, $f4 # encoding: [0x46,0x00,0x20,0x9b] clo $11,$a1 # CHECK: clo $11, $5 # encoding: [0x00,0xa0,0x58,0x51] clz $sp,$gp # CHECK: clz $sp, $gp # encoding: [0x03,0x80,0xe8,0x50] + ceil.w.d $f11,$f25 # CHECK: ceil.w.d $f11, $f25 # encoding: [0x46,0x20,0xca,0xce] + # CHECK: # <MCInst #{{.*}} CEIL_W_D64 + ceil.w.s $f6,$f20 # CHECK: ceil.w.s $f6, $f20 # encoding: [0x46,0x00,0xa1,0x8e] + # CHECK: # <MCInst #{{.*}} CEIL_W_S cmp.af.d $f2,$f3,$f4 # CHECK: cmp.af.d $f2, $f3, $f4 # encoding: [0x46,0xa4,0x18,0x80] cmp.af.s $f2,$f3,$f4 # CHECK: cmp.af.s $f2, $f3, $f4 # encoding: [0x46,0x84,0x18,0x80] cmp.eq.d $f2,$f3,$f4 # CHECK: cmp.eq.d $f2, $f3, $f4 # encoding: [0x46,0xa4,0x18,0x82] @@ -147,6 +151,10 @@ a: eretnc # CHECK: eretnc # encoding: [0x42,0x00,0x00,0x58] evp $5 # CHECK: evp $5 # encoding: [0x41,0x65,0x00,0x04] evp # CHECK: evp $zero # encoding: [0x41,0x60,0x00,0x04] + floor.w.d $f14,$f11 # CHECK: floor.w.d $f14, $f11 # encoding: [0x46,0x20,0x5b,0x8f] + # CHECK: # <MCInst #{{.*}} FLOOR_W_D64 + floor.w.s $f8,$f9 # CHECK: floor.w.s $f8, $f9 # encoding: [0x46,0x00,0x4a,0x0f] + # CHECK: # <MCInst #{{.*}} FLOOR_W_S j 1f # CHECK: j $tmp0 # encoding: [0b000010AA,A,A,A] # CHECK: # fixup A - offset: 0, value: ($tmp0), kind: fixup_Mips_26 j a # CHECK: j a # encoding: [0b000010AA,A,A,A] @@ -218,6 +226,10 @@ a: recip.s $f3,$f30 # CHECK: recip.s $f3, $f30 # encoding: [0x46,0x00,0xf0,0xd5] rint.d $f2, $f4 # CHECK: rint.d $f2, $f4 # encoding: [0x46,0x20,0x20,0x9a] rint.s $f2, $f4 # CHECK: rint.s $f2, $f4 # encoding: [0x46,0x00,0x20,0x9a] + round.w.d $f6, $f4 # CHECK: round.w.d $f6, $f4 # encoding: [0x46,0x20,0x21,0x8c] + # CHECK: # <MCInst #{{.*}} ROUND_W_D64 + round.w.s $f27,$f28 # CHECK: round.w.s $f27, $f28 # encoding: [0x46,0x00,0xe6,0xcc] + # CHECK: # <MCInst #{{.*}} ROUND_W_S rsqrt.s $f0,$f4 # CHECK: rsqrt.s $f0, $f4 # encoding: [0x46,0x00,0x20,0x16] rsqrt.d $f2,$f6 # CHECK: rsqrt.d $f2, $f6 # encoding: [0x46,0x20,0x30,0x96] s.s $f2, 8($3) # CHECK: swc1 $f2, 8($3) # encoding: [0xe4,0x62,0x00,0x08] |