From 39fedc9aa2fda6223e15b13fe43fbc89f1e2de44 Mon Sep 17 00:00:00 2001 From: Toma Tabacu Date: Wed, 8 Apr 2015 10:06:45 +0000 Subject: [PATCH] [mips] [IAS] Remove AssemblerPredicate's from RelocPIC and RelocStatic. Summary: These AssemblerPredicate's are unnecessary and actually make some instructions unusable when assembling pre-MIPS32 ISAs. For example, this was causing the IAS to reject the 'j' instruction for MIPS I-V. Reviewers: dsanders Reviewed By: dsanders Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D8300 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@234398 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Target/Mips/MipsInstrInfo.td | 6 ++---- test/MC/Mips/mips1/valid.s | 9 ++++++++- test/MC/Mips/mips2/valid.s | 9 ++++++++- test/MC/Mips/mips3/valid.s | 9 ++++++++- test/MC/Mips/mips32/valid.s | 9 ++++++++- test/MC/Mips/mips32r2/valid.s | 9 ++++++++- test/MC/Mips/mips32r3/valid.s | 9 ++++++++- test/MC/Mips/mips32r5/valid.s | 9 ++++++++- test/MC/Mips/mips32r6/valid.s | 9 ++++++++- test/MC/Mips/mips4/valid.s | 9 ++++++++- test/MC/Mips/mips5/valid.s | 9 ++++++++- test/MC/Mips/mips64/valid.s | 9 ++++++++- test/MC/Mips/mips64r2/valid.s | 9 ++++++++- test/MC/Mips/mips64r3/valid.s | 9 ++++++++- test/MC/Mips/mips64r5/valid.s | 9 ++++++++- test/MC/Mips/mips64r6/valid.s | 9 ++++++++- 16 files changed, 122 insertions(+), 19 deletions(-) diff --git a/lib/Target/Mips/MipsInstrInfo.td b/lib/Target/Mips/MipsInstrInfo.td index c937d2b21ee..b13d372660b 100644 --- a/lib/Target/Mips/MipsInstrInfo.td +++ b/lib/Target/Mips/MipsInstrInfo.td @@ -186,10 +186,8 @@ def InMips16Mode : Predicate<"Subtarget->inMips16Mode()">, 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">; diff --git a/test/MC/Mips/mips1/valid.s b/test/MC/Mips/mips1/valid.s index d18f6f5780b..e2feeac4dd5 100644 --- a/test/MC/Mips/mips1/valid.s +++ b/test/MC/Mips/mips1/valid.s @@ -1,7 +1,7 @@ # 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 @@ -41,6 +41,11 @@ 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) @@ -117,3 +122,5 @@ 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: diff --git a/test/MC/Mips/mips2/valid.s b/test/MC/Mips/mips2/valid.s index 6ee65122207..93fdbafdfcd 100644 --- a/test/MC/Mips/mips2/valid.s +++ b/test/MC/Mips/mips2/valid.s @@ -1,7 +1,7 @@ # 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 @@ -57,6 +57,11 @@ 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) @@ -166,3 +171,5 @@ trunc.w.s $f28,$f30 xor $s2,$a0,$s8 xor $2, 4 # CHECK: xori $2, $2, 4 # encoding: [0x38,0x42,0x00,0x04] + +1: diff --git a/test/MC/Mips/mips3/valid.s b/test/MC/Mips/mips3/valid.s index 6d55079f93f..954631d29f2 100644 --- a/test/MC/Mips/mips3/valid.s +++ b/test/MC/Mips/mips3/valid.s @@ -1,7 +1,7 @@ # 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 @@ -109,6 +109,11 @@ 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) @@ -229,3 +234,5 @@ trunc.w.s $f28,$f30 xor $s2,$a0,$s8 xor $2, 4 # CHECK: xori $2, $2, 4 # encoding: [0x38,0x42,0x00,0x04] + +1: diff --git a/test/MC/Mips/mips32/valid.s b/test/MC/Mips/mips32/valid.s index ba75d77e746..3765044339c 100644 --- a/test/MC/Mips/mips32/valid.s +++ b/test/MC/Mips/mips32/valid.s @@ -1,7 +1,7 @@ # 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 @@ -66,6 +66,11 @@ 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) @@ -196,3 +201,5 @@ trunc.w.s $f28,$f30 xor $s2,$a0,$s8 xor $2, 4 # CHECK: xori $2, $2, 4 # encoding: [0x38,0x42,0x00,0x04] + +1: diff --git a/test/MC/Mips/mips32r2/valid.s b/test/MC/Mips/mips32r2/valid.s index 61be290d0b8..ee7af3f3ec0 100644 --- a/test/MC/Mips/mips32r2/valid.s +++ b/test/MC/Mips/mips32r2/valid.s @@ -1,7 +1,7 @@ # 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 @@ -72,6 +72,11 @@ 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] @@ -235,3 +240,5 @@ 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: diff --git a/test/MC/Mips/mips32r3/valid.s b/test/MC/Mips/mips32r3/valid.s index ff6589d951f..0a4e5b19aef 100644 --- a/test/MC/Mips/mips32r3/valid.s +++ b/test/MC/Mips/mips32r3/valid.s @@ -1,7 +1,7 @@ # 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 @@ -72,6 +72,11 @@ 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] @@ -235,3 +240,5 @@ 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: diff --git a/test/MC/Mips/mips32r5/valid.s b/test/MC/Mips/mips32r5/valid.s index 408d0cc5afb..036b908c8ef 100644 --- a/test/MC/Mips/mips32r5/valid.s +++ b/test/MC/Mips/mips32r5/valid.s @@ -1,7 +1,7 @@ # 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 @@ -72,6 +72,11 @@ 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] @@ -235,3 +240,5 @@ 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: diff --git a/test/MC/Mips/mips32r6/valid.s b/test/MC/Mips/mips32r6/valid.s index 7033d4abbe5..2c3a5b2a7a4 100644 --- a/test/MC/Mips/mips32r6/valid.s +++ b/test/MC/Mips/mips32r6/valid.s @@ -12,7 +12,7 @@ # # 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] @@ -146,6 +146,11 @@ 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] @@ -176,3 +181,5 @@ 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: diff --git a/test/MC/Mips/mips4/valid.s b/test/MC/Mips/mips4/valid.s index 7fcf781713d..a23990c94dd 100644 --- a/test/MC/Mips/mips4/valid.s +++ b/test/MC/Mips/mips4/valid.s @@ -1,7 +1,7 @@ # 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 @@ -113,6 +113,11 @@ 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) @@ -258,3 +263,5 @@ trunc.w.s $f28,$f30 xor $s2,$a0,$s8 xor $2, 4 # CHECK: xori $2, $2, 4 # encoding: [0x38,0x42,0x00,0x04] + +1: diff --git a/test/MC/Mips/mips5/valid.s b/test/MC/Mips/mips5/valid.s index 4b1282e30f7..094c07fce3b 100644 --- a/test/MC/Mips/mips5/valid.s +++ b/test/MC/Mips/mips5/valid.s @@ -1,7 +1,7 @@ # 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 @@ -113,6 +113,11 @@ 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) @@ -260,3 +265,5 @@ trunc.w.s $f28,$f30 xor $s2,$a0,$s8 xor $2, 4 # CHECK: xori $2, $2, 4 # encoding: [0x38,0x42,0x00,0x04] + +1: diff --git a/test/MC/Mips/mips64/valid.s b/test/MC/Mips/mips64/valid.s index d900ab7428a..1a65152337d 100644 --- a/test/MC/Mips/mips64/valid.s +++ b/test/MC/Mips/mips64/valid.s @@ -1,7 +1,7 @@ # 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 @@ -118,6 +118,11 @@ 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) @@ -277,3 +282,5 @@ trunc.w.s $f28,$f30 xor $s2,$a0,$s8 xor $2, 4 # CHECK: xori $2, $2, 4 # encoding: [0x38,0x42,0x00,0x04] + +1: diff --git a/test/MC/Mips/mips64r2/valid.s b/test/MC/Mips/mips64r2/valid.s index 719345126b8..61b1d6dcd83 100644 --- a/test/MC/Mips/mips64r2/valid.s +++ b/test/MC/Mips/mips64r2/valid.s @@ -1,7 +1,7 @@ # 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 @@ -131,6 +131,11 @@ 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] @@ -304,3 +309,5 @@ xor $s2,$a0,$s8 xor $2, 4 # CHECK: xori $2, $2, 4 # encoding: [0x38,0x42,0x00,0x04] wsbh $k1,$9 + +1: diff --git a/test/MC/Mips/mips64r3/valid.s b/test/MC/Mips/mips64r3/valid.s index 3a3f7adfad1..bfd16d3faf2 100644 --- a/test/MC/Mips/mips64r3/valid.s +++ b/test/MC/Mips/mips64r3/valid.s @@ -1,7 +1,7 @@ # 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 @@ -131,6 +131,11 @@ 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] @@ -304,3 +309,5 @@ xor $s2,$a0,$s8 xor $2, 4 # CHECK: xori $2, $2, 4 # encoding: [0x38,0x42,0x00,0x04] wsbh $k1,$9 + +1: diff --git a/test/MC/Mips/mips64r5/valid.s b/test/MC/Mips/mips64r5/valid.s index 5ba102d253d..22c50939cfb 100644 --- a/test/MC/Mips/mips64r5/valid.s +++ b/test/MC/Mips/mips64r5/valid.s @@ -1,7 +1,7 @@ # 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 @@ -131,6 +131,11 @@ 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] @@ -304,3 +309,5 @@ xor $s2,$a0,$s8 xor $2, 4 # CHECK: xori $2, $2, 4 # encoding: [0x38,0x42,0x00,0x04] wsbh $k1,$9 + +1: diff --git a/test/MC/Mips/mips64r6/valid.s b/test/MC/Mips/mips64r6/valid.s index 600cb4813dc..31a0d7f6d36 100644 --- a/test/MC/Mips/mips64r6/valid.s +++ b/test/MC/Mips/mips64r6/valid.s @@ -12,7 +12,7 @@ # # 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] @@ -165,6 +165,11 @@ 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] @@ -199,3 +204,5 @@ 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: -- 2.34.1