AssemblerPredicate<"FeatureMips16">;
def HasCnMips : Predicate<"Subtarget->hasCnMips()">,
AssemblerPredicate<"FeatureCnMips">;
-def RelocStatic : Predicate<"TM.getRelocationModel() == Reloc::Static">,
- AssemblerPredicate<"FeatureMips32">;
-def RelocPIC : Predicate<"TM.getRelocationModel() == Reloc::PIC_">,
- AssemblerPredicate<"FeatureMips32">;
+def RelocStatic : Predicate<"TM.getRelocationModel() == Reloc::Static">;
+def RelocPIC : Predicate<"TM.getRelocationModel() == Reloc::PIC_">;
def NoNaNsFPMath : Predicate<"TM.Options.NoNaNsFPMath">;
def HasStdEnc : Predicate<"Subtarget->hasStandardEncoding()">,
AssemblerPredicate<"!FeatureMips16">;
# Instructions that are valid
#
# RUN: llvm-mc %s -triple=mips-unknown-linux -show-encoding -mcpu=mips1 | FileCheck %s
-
+a:
.set noat
abs.d $f7,$f25 # CHECK: encoding:
abs.s $f9,$f16
div.s $f4,$f5,$f15
divu $zero,$25,$15
ehb # CHECK: ehb # encoding: [0x00,0x00,0x00,0xc0]
+ 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]
+ # CHECK: # fixup A - offset: 0, value: a, kind: fixup_Mips_26
+ j 1328 # CHECK: j 1328 # encoding: [0x08,0x00,0x01,0x4c]
lb $24,-14515($10)
lbu $8,30195($v1)
lh $11,-8556($s5)
tlbwr # CHECK: tlbwr # encoding: [0x42,0x00,0x00,0x06]
xor $s2,$a0,$s8
xor $2, 4 # CHECK: xori $2, $2, 4 # encoding: [0x38,0x42,0x00,0x04]
+
+1:
# Instructions that are valid
#
# RUN: llvm-mc %s -triple=mips-unknown-linux -show-encoding -mcpu=mips2 | FileCheck %s
-
+a:
.set noat
abs.d $f7,$f25 # CHECK: encoding:
abs.s $f9,$f16
ehb # CHECK: ehb # encoding: [0x00,0x00,0x00,0xc0]
floor.w.d $f14,$f11
floor.w.s $f8,$f9
+ 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]
+ # CHECK: # fixup A - offset: 0, value: a, kind: fixup_Mips_26
+ j 1328 # CHECK: j 1328 # encoding: [0x08,0x00,0x01,0x4c]
lb $24,-14515($10)
lbu $8,30195($v1)
ldc1 $f11,16391($s0)
trunc.w.s $f28,$f30
xor $s2,$a0,$s8
xor $2, 4 # CHECK: xori $2, $2, 4 # encoding: [0x38,0x42,0x00,0x04]
+
+1:
# Instructions that are valid
#
# RUN: llvm-mc %s -triple=mips64-unknown-linux -show-encoding -mcpu=mips3 | FileCheck %s
-
+a:
.set noat
abs.d $f7,$f25 # CHECK: encoding:
abs.s $f9,$f16
floor.l.s $f12,$f5
floor.w.d $f14,$f11
floor.w.s $f8,$f9
+ 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]
+ # CHECK: # fixup A - offset: 0, value: a, kind: fixup_Mips_26
+ j 1328 # CHECK: j 1328 # encoding: [0x08,0x00,0x01,0x4c]
lb $24,-14515($10)
lbu $8,30195($v1)
ld $sp,-28645($s1)
trunc.w.s $f28,$f30
xor $s2,$a0,$s8
xor $2, 4 # CHECK: xori $2, $2, 4 # encoding: [0x38,0x42,0x00,0x04]
+
+1:
# Instructions that are valid
#
# RUN: llvm-mc %s -triple=mips-unknown-linux -show-encoding -mcpu=mips32 | FileCheck %s
-
+a:
.set noat
abs.d $f7,$f25 # CHECK: encoding:
abs.s $f9,$f16
eret
floor.w.d $f14,$f11
floor.w.s $f8,$f9
+ 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]
+ # CHECK: # fixup A - offset: 0, value: a, kind: fixup_Mips_26
+ j 1328 # CHECK: j 1328 # encoding: [0x08,0x00,0x01,0x4c]
lb $24,-14515($10)
lbu $8,30195($v1)
ldc1 $f11,16391($s0)
trunc.w.s $f28,$f30
xor $s2,$a0,$s8
xor $2, 4 # CHECK: xori $2, $2, 4 # encoding: [0x38,0x42,0x00,0x04]
+
+1:
# Instructions that are valid
#
# RUN: llvm-mc %s -triple=mips-unknown-linux -show-encoding -mcpu=mips32r2 | FileCheck %s
-
+a:
.set noat
abs.d $f7,$f25 # CHECK: encoding:
abs.s $f9,$f16
eret
floor.w.d $f14,$f11
floor.w.s $f8,$f9
+ 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]
+ # CHECK: # fixup A - offset: 0, value: a, kind: fixup_Mips_26
+ j 1328 # CHECK: j 1328 # encoding: [0x08,0x00,0x01,0x4c]
jr.hb $4 # CHECK: jr.hb $4 # encoding: [0x00,0x80,0x04,0x08]
jalr.hb $4 # CHECK: jalr.hb $4 # encoding: [0x00,0x80,0xfc,0x09]
jalr.hb $4, $5 # CHECK: jalr.hb $4, $5 # encoding: [0x00,0xa0,0x24,0x09]
xor $s2,$a0,$s8
xor $2, 4 # CHECK: xori $2, $2, 4 # encoding: [0x38,0x42,0x00,0x04]
synci -15842($a2) # CHECK: synci -15842($6) # encoding: [0x04,0xdf,0xc2,0x1e]
+
+1:
# Instructions that are valid
#
# RUN: llvm-mc %s -triple=mips-unknown-linux -show-encoding -mcpu=mips32r3 | FileCheck %s
-
+a:
.set noat
abs.d $f7,$f25 # CHECK: encoding:
abs.s $f9,$f16
eret
floor.w.d $f14,$f11
floor.w.s $f8,$f9
+ 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]
+ # CHECK: # fixup A - offset: 0, value: a, kind: fixup_Mips_26
+ j 1328 # CHECK: j 1328 # encoding: [0x08,0x00,0x01,0x4c]
jr.hb $4 # CHECK: jr.hb $4 # encoding: [0x00,0x80,0x04,0x08]
jalr.hb $4 # CHECK: jalr.hb $4 # encoding: [0x00,0x80,0xfc,0x09]
jalr.hb $4, $5 # CHECK: jalr.hb $4, $5 # encoding: [0x00,0xa0,0x24,0x09]
xor $s2,$a0,$s8
xor $2, 4 # CHECK: xori $2, $2, 4 # encoding: [0x38,0x42,0x00,0x04]
synci -15842($a2) # CHECK: synci -15842($6) # encoding: [0x04,0xdf,0xc2,0x1e]
+
+1:
# Instructions that are valid
#
# RUN: llvm-mc %s -triple=mips-unknown-linux -show-encoding -mcpu=mips32r5 | FileCheck %s
-
+a:
.set noat
abs.d $f7,$f25 # CHECK: encoding:
abs.s $f9,$f16
eret
floor.w.d $f14,$f11
floor.w.s $f8,$f9
+ 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]
+ # CHECK: # fixup A - offset: 0, value: a, kind: fixup_Mips_26
+ j 1328 # CHECK: j 1328 # encoding: [0x08,0x00,0x01,0x4c]
jr.hb $4 # CHECK: jr.hb $4 # encoding: [0x00,0x80,0x04,0x08]
jalr.hb $4 # CHECK: jalr.hb $4 # encoding: [0x00,0x80,0xfc,0x09]
jalr.hb $4, $5 # CHECK: jalr.hb $4, $5 # encoding: [0x00,0xa0,0x24,0x09]
xor $s2,$a0,$s8
xor $2, 4 # CHECK: xori $2, $2, 4 # encoding: [0x38,0x42,0x00,0x04]
synci -15842($a2) # CHECK: synci -15842($6) # encoding: [0x04,0xdf,0xc2,0x1e]
+
+1:
#
# RUN: llvm-mc %s -triple=mips-unknown-linux -show-encoding -mcpu=mips32r6 2> %t0 | FileCheck %s
# RUN: FileCheck %s -check-prefix=WARNING < %t0
-
+a:
.set noat
# FIXME: Add the instructions carried forward from older ISA's
and $2,4 # CHECK: andi $2, $2, 4 # encoding: [0x30,0x42,0x00,0x04]
rint.d $f2, $f4 # CHECK: rint.d $f2, $f4 # encoding: [0x46,0x20,0x20,0x9a]
class.s $f2, $f4 # CHECK: class.s $f2, $f4 # encoding: [0x46,0x00,0x20,0x9b]
class.d $f2, $f4 # CHECK: class.d $f2, $f4 # encoding: [0x46,0x20,0x20,0x9b]
+ 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]
+ # CHECK: # fixup A - offset: 0, value: a, kind: fixup_Mips_26
+ j 1328 # CHECK: j 1328 # encoding: [0x08,0x00,0x01,0x4c]
jr.hb $4 # CHECK: jr.hb $4 # encoding: [0x00,0x80,0x04,0x09]
jalr.hb $4 # CHECK: jalr.hb $4 # encoding: [0x00,0x80,0xfc,0x09]
jalr.hb $4, $5 # CHECK: jalr.hb $4, $5 # encoding: [0x00,0xa0,0x24,0x09]
tne $6,$17 # CHECK: tne $6, $17 # encoding: [0x00,0xd1,0x00,0x36]
tne $7,$8,885 # CHECK: tne $7, $8, 885 # encoding: [0x00,0xe8,0xdd,0x76]
xor $2, 4 # CHECK: xori $2, $2, 4 # encoding: [0x38,0x42,0x00,0x04]
+
+1:
# Instructions that are valid
#
# RUN: llvm-mc %s -triple=mips64-unknown-linux -show-encoding -mcpu=mips4 | FileCheck %s
-
+a:
.set noat
abs.d $f7,$f25 # CHECK: encoding:
abs.s $f9,$f16
floor.l.s $f12,$f5
floor.w.d $f14,$f11
floor.w.s $f8,$f9
+ 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]
+ # CHECK: # fixup A - offset: 0, value: a, kind: fixup_Mips_26
+ j 1328 # CHECK: j 1328 # encoding: [0x08,0x00,0x01,0x4c]
lb $24,-14515($10)
lbu $8,30195($v1)
ld $sp,-28645($s1)
trunc.w.s $f28,$f30
xor $s2,$a0,$s8
xor $2, 4 # CHECK: xori $2, $2, 4 # encoding: [0x38,0x42,0x00,0x04]
+
+1:
# Instructions that are valid
#
# RUN: llvm-mc %s -triple=mips64-unknown-linux -show-encoding -mcpu=mips5 | FileCheck %s
-
+a:
.set noat
abs.d $f7,$f25 # CHECK: encoding:
abs.s $f9,$f16
floor.l.s $f12,$f5
floor.w.d $f14,$f11
floor.w.s $f8,$f9
+ 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]
+ # CHECK: # fixup A - offset: 0, value: a, kind: fixup_Mips_26
+ j 1328 # CHECK: j 1328 # encoding: [0x08,0x00,0x01,0x4c]
lb $24,-14515($10)
lbu $8,30195($v1)
ld $sp,-28645($s1)
trunc.w.s $f28,$f30
xor $s2,$a0,$s8
xor $2, 4 # CHECK: xori $2, $2, 4 # encoding: [0x38,0x42,0x00,0x04]
+
+1:
# Instructions that are valid
#
# RUN: llvm-mc %s -triple=mips64-unknown-linux -show-encoding -mcpu=mips64 | FileCheck %s
-
+a:
.set noat
abs.d $f7,$f25 # CHECK: encoding:
abs.s $f9,$f16
floor.l.s $f12,$f5
floor.w.d $f14,$f11
floor.w.s $f8,$f9
+ 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]
+ # CHECK: # fixup A - offset: 0, value: a, kind: fixup_Mips_26
+ j 1328 # CHECK: j 1328 # encoding: [0x08,0x00,0x01,0x4c]
lb $24,-14515($10)
lbu $8,30195($v1)
ld $sp,-28645($s1)
trunc.w.s $f28,$f30
xor $s2,$a0,$s8
xor $2, 4 # CHECK: xori $2, $2, 4 # encoding: [0x38,0x42,0x00,0x04]
+
+1:
# Instructions that are valid
#
# RUN: llvm-mc %s -triple=mips64-unknown-linux -show-encoding -mcpu=mips64r2 | FileCheck %s
-
+a:
.set noat
abs.d $f7,$f25 # CHECK: encoding:
abs.s $f9,$f16
floor.l.s $f12,$f5
floor.w.d $f14,$f11
floor.w.s $f8,$f9
+ 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]
+ # CHECK: # fixup A - offset: 0, value: a, kind: fixup_Mips_26
+ j 1328 # CHECK: j 1328 # encoding: [0x08,0x00,0x01,0x4c]
jr.hb $4 # CHECK: jr.hb $4 # encoding: [0x00,0x80,0x04,0x08]
jalr.hb $4 # CHECK: jalr.hb $4 # encoding: [0x00,0x80,0xfc,0x09]
jalr.hb $4, $5 # CHECK: jalr.hb $4, $5 # encoding: [0x00,0xa0,0x24,0x09]
xor $s2,$a0,$s8
xor $2, 4 # CHECK: xori $2, $2, 4 # encoding: [0x38,0x42,0x00,0x04]
wsbh $k1,$9
+
+1:
# Instructions that are valid
#
# RUN: llvm-mc %s -triple=mips64-unknown-linux -show-encoding -mcpu=mips64r3 | FileCheck %s
-
+a:
.set noat
abs.d $f7,$f25 # CHECK: encoding:
abs.s $f9,$f16
floor.l.s $f12,$f5
floor.w.d $f14,$f11
floor.w.s $f8,$f9
+ 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]
+ # CHECK: # fixup A - offset: 0, value: a, kind: fixup_Mips_26
+ j 1328 # CHECK: j 1328 # encoding: [0x08,0x00,0x01,0x4c]
jr.hb $4 # CHECK: jr.hb $4 # encoding: [0x00,0x80,0x04,0x08]
jalr.hb $4 # CHECK: jalr.hb $4 # encoding: [0x00,0x80,0xfc,0x09]
jalr.hb $4, $5 # CHECK: jalr.hb $4, $5 # encoding: [0x00,0xa0,0x24,0x09]
xor $s2,$a0,$s8
xor $2, 4 # CHECK: xori $2, $2, 4 # encoding: [0x38,0x42,0x00,0x04]
wsbh $k1,$9
+
+1:
# Instructions that are valid
#
# RUN: llvm-mc %s -triple=mips64-unknown-linux -show-encoding -mcpu=mips64r5 | FileCheck %s
-
+a:
.set noat
abs.d $f7,$f25 # CHECK: encoding:
abs.s $f9,$f16
floor.l.s $f12,$f5
floor.w.d $f14,$f11
floor.w.s $f8,$f9
+ 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]
+ # CHECK: # fixup A - offset: 0, value: a, kind: fixup_Mips_26
+ j 1328 # CHECK: j 1328 # encoding: [0x08,0x00,0x01,0x4c]
jr.hb $4 # CHECK: jr.hb $4 # encoding: [0x00,0x80,0x04,0x08]
jalr.hb $4 # CHECK: jalr.hb $4 # encoding: [0x00,0x80,0xfc,0x09]
jalr.hb $4, $5 # CHECK: jalr.hb $4, $5 # encoding: [0x00,0xa0,0x24,0x09]
xor $s2,$a0,$s8
xor $2, 4 # CHECK: xori $2, $2, 4 # encoding: [0x38,0x42,0x00,0x04]
wsbh $k1,$9
+
+1:
#
# RUN: llvm-mc %s -triple=mips-unknown-linux -show-encoding -mcpu=mips64r6 2> %t0 | FileCheck %s
# RUN: FileCheck %s -check-prefix=WARNING < %t0
-
+a:
.set noat
# FIXME: Add the instructions carried forward from older ISA's
and $2,4 # CHECK: andi $2, $2, 4 # encoding: [0x30,0x42,0x00,0x04]
rint.d $f2, $f4 # CHECK: rint.d $f2, $f4 # encoding: [0x46,0x20,0x20,0x9a]
class.s $f2, $f4 # CHECK: class.s $f2, $f4 # encoding: [0x46,0x00,0x20,0x9b]
class.d $f2, $f4 # CHECK: class.d $f2, $f4 # encoding: [0x46,0x20,0x20,0x9b]
+ 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]
+ # CHECK: # fixup A - offset: 0, value: a, kind: fixup_Mips_26
+ j 1328 # CHECK: j 1328 # encoding: [0x08,0x00,0x01,0x4c]
jr.hb $4 # CHECK: jr.hb $4 # encoding: [0x00,0x80,0x04,0x09]
jalr.hb $4 # CHECK: jalr.hb $4 # encoding: [0x00,0x80,0xfc,0x09]
jalr.hb $4, $5 # CHECK: jalr.hb $4, $5 # encoding: [0x00,0xa0,0x24,0x09]
tne $6,$17 # CHECK: tne $6, $17 # encoding: [0x00,0xd1,0x00,0x36]
tne $7,$8,885 # CHECK: tne $7, $8, 885 # encoding: [0x00,0xe8,0xdd,0x76]
xor $2, 4 # CHECK: xori $2, $2, 4 # encoding: [0x38,0x42,0x00,0x04]
+
+1: