diff options
author | Daniel Sanders <daniel.sanders@imgtec.com> | 2014-05-08 15:17:29 +0000 |
---|---|---|
committer | Daniel Sanders <daniel.sanders@imgtec.com> | 2014-05-08 15:17:29 +0000 |
commit | 4f83e2ca5dfdf149e920942a4f143c5864fcaec5 (patch) | |
tree | 43e74547696b5786a1e1a6368a32e1e2d3a29e61 /test/MC/Mips/mips32 | |
parent | 23f5a0bbb9d0010a9bc1d2deb79e6b65e03a8eeb (diff) |
[mips] Correct tests that are meant to test valid assembly. They were actually rejected by GAS.
Summary:
I've noticed a bug in my test generator script that caused 64-bit objects
to be disassembled as if it were using the O32 ABI, giving the wrong register
names. As a result, it generated assembly files that are rejected by GAS when
assembling for the correct ABI. This was caused by the generator setting the
ELF e_flags incorrectly before disassembling the object.
This patch corrects the invalid tests that have already been committed by
replacing the ABI-dependent register names with numeric registers. In addition
to fixing the tests this allows the 32-bit and 64-bit ISA tests to be easily diffed
to produce the invalid-*.s tests which test that instructions defined in later ISA's
are not accepted.
Depends on D3648
Reviewers: vmedic
Reviewed By: vmedic
Differential Revision: http://reviews.llvm.org/D3649
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@208327 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/MC/Mips/mips32')
-rw-r--r-- | test/MC/Mips/mips32/valid-xfail.s | 62 | ||||
-rw-r--r-- | test/MC/Mips/mips32/valid.s | 284 |
2 files changed, 173 insertions, 173 deletions
diff --git a/test/MC/Mips/mips32/valid-xfail.s b/test/MC/Mips/mips32/valid-xfail.s index 112849214fb8..d680740babf8 100644 --- a/test/MC/Mips/mips32/valid-xfail.s +++ b/test/MC/Mips/mips32/valid-xfail.s @@ -2,37 +2,37 @@ # they aren't implemented yet). # This test is set up to XPASS if any instruction generates an encoding. # -# RUN: not llvm-mc %s -triple=mips-unknown-linux -show-encoding -mcpu=mips32 | not FileCheck %s +# RUN: not llvm-mc %s -triple=mips-unknown-linux -show-encoding -mcpu=mips32 | not FileCheck %s # CHECK-NOT: encoding # XFAIL: * - .set noat - c.eq.d $fcc1,$f15,$f15 - c.eq.s $fcc5,$f24,$f17 - c.f.d $fcc4,$f11,$f21 - c.f.s $fcc4,$f30,$f7 - c.le.d $fcc4,$f18,$f1 - c.le.s $fcc6,$f24,$f4 - c.lt.d $fcc3,$f9,$f3 - c.lt.s $fcc2,$f17,$f14 - c.nge.d $fcc5,$f21,$f16 - c.nge.s $fcc3,$f11,$f8 - c.ngl.s $fcc2,$f31,$f23 - c.ngle.s $fcc2,$f18,$f23 - c.ngt.d $fcc4,$f24,$f7 - c.ngt.s $fcc5,$f8,$f13 - c.ole.d $fcc2,$f16,$f31 - c.ole.s $fcc3,$f7,$f20 - c.olt.d $fcc4,$f19,$f28 - c.olt.s $fcc6,$f20,$f7 - c.seq.d $fcc4,$f31,$f7 - c.seq.s $fcc7,$f1,$f25 - c.ueq.d $fcc4,$f13,$f25 - c.ueq.s $fcc6,$f3,$f30 - c.ule.d $fcc7,$f25,$f18 - c.ule.s $fcc7,$f21,$f30 - c.ult.d $fcc6,$f6,$f17 - c.ult.s $fcc7,$f24,$f10 - c.un.d $fcc6,$f23,$f24 - c.un.s $fcc1,$f30,$f4 - rorv $t5,$a3,$s5 + .set noat + c.eq.d $fcc1,$f15,$f15 + c.eq.s $fcc5,$f24,$f17 + c.f.d $fcc4,$f11,$f21 + c.f.s $fcc4,$f30,$f7 + c.le.d $fcc4,$f18,$f1 + c.le.s $fcc6,$f24,$f4 + c.lt.d $fcc3,$f9,$f3 + c.lt.s $fcc2,$f17,$f14 + c.nge.d $fcc5,$f21,$f16 + c.nge.s $fcc3,$f11,$f8 + c.ngl.s $fcc2,$f31,$f23 + c.ngle.s $fcc2,$f18,$f23 + c.ngt.d $fcc4,$f24,$f7 + c.ngt.s $fcc5,$f8,$f13 + c.ole.d $fcc2,$f16,$f31 + c.ole.s $fcc3,$f7,$f20 + c.olt.d $fcc4,$f19,$f28 + c.olt.s $fcc6,$f20,$f7 + c.seq.d $fcc4,$f31,$f7 + c.seq.s $fcc7,$f1,$f25 + c.ueq.d $fcc4,$f13,$f25 + c.ueq.s $fcc6,$f3,$f30 + c.ule.d $fcc7,$f25,$f18 + c.ule.s $fcc7,$f21,$f30 + c.ult.d $fcc6,$f6,$f17 + c.ult.s $fcc7,$f24,$f10 + c.un.d $fcc6,$f23,$f24 + c.un.s $fcc1,$f30,$f4 + rorv $13,$a3,$s5 diff --git a/test/MC/Mips/mips32/valid.s b/test/MC/Mips/mips32/valid.s index be31475a9cbd..159f4de44830 100644 --- a/test/MC/Mips/mips32/valid.s +++ b/test/MC/Mips/mips32/valid.s @@ -1,146 +1,146 @@ # Instructions that are valid # -# RUN: llvm-mc %s -triple=mips-unknown-linux -show-encoding -mcpu=mips32 | FileCheck %s +# RUN: llvm-mc %s -triple=mips-unknown-linux -show-encoding -mcpu=mips32 | FileCheck %s .set noat - abs.d $f7,$f25 # CHECK: encoding - abs.s $f9,$f16 - add $s7,$s2,$a1 - add.d $f1,$f7,$f29 - add.s $f8,$f21,$f24 - addi $t5,$t1,26322 - addu $t1,$a0,$a2 - and $s7,$v0,$t4 - c.ngl.d $f29,$f29 - 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 - cfc1 $s1,$21 - clo $t3,$a1 - clz $sp,$gp - ctc1 $a2,$26 - cvt.d.s $f22,$f28 - cvt.d.w $f26,$f11 - cvt.s.d $f26,$f8 - cvt.s.w $f22,$f15 - cvt.w.d $f20,$f14 - cvt.w.s $f20,$f24 - deret - div $zero,$t9,$t3 - div.d $f29,$f20,$f27 - div.s $f4,$f5,$f15 - divu $zero,$t9,$t7 - ehb # CHECK: ehb # encoding: [0x00,0x00,0x00,0xc0] - eret - floor.w.d $f14,$f11 - floor.w.s $f8,$f9 - lb $t8,-14515($t2) - lbu $t0,30195($v1) - ldc1 $f11,16391($s0) - ldc2 $8,-21181($at) - lh $t3,-8556($s5) - lhu $s3,-22851($v0) - li $at,-29773 - li $zero,-29889 - ll $v0,-7321($s2) - lw $t0,5674($a1) - lwc1 $f16,10225($k0) - lwc2 $18,-841($a2) - lwl $s4,-4231($t7) - lwr $zero,-19147($gp) - madd $s6,$t5 - madd $zero,$t1 - maddu $s3,$gp - maddu $t8,$s2 - mfc0 $a2,$14,1 - mfc1 $a3,$f27 - mfhi $s3 - mfhi $sp - mflo $s1 - mov.d $f20,$f14 - mov.s $f2,$f27 - move $s8,$a0 - move $t9,$a2 - movf $gp,$t0,$fcc7 - movf.d $f6,$f11,$fcc5 - movf.s $f23,$f5,$fcc6 - movn $v1,$s1,$s0 - movn.d $f27,$f21,$k0 - movn.s $f12,$f0,$s7 - movt $zero,$s4,$fcc5 - movt.d $f0,$f2,$fcc0 - movt.s $f30,$f2,$fcc1 - movz $a1,$s6,$t1 - movz.d $f12,$f29,$t1 - movz.s $f25,$f7,$v1 - msub $s7,$k1 - msubu $t7,$a1 - mtc0 $t1,$29,3 - mtc1 $s8,$f9 - mthi $s1 - mtlo $sp - mtlo $t9 - mul $s0,$s4,$at - mul.d $f20,$f20,$f16 - mul.s $f30,$f10,$f2 - mult $sp,$s4 - mult $sp,$v0 - multu $gp,$k0 - multu $t1,$s2 - negu $2 # CHECK: negu $2, $2 # encoding: [0x00,0x02,0x10,0x23] - negu $2,$3 # CHECK: negu $2, $3 # encoding: [0x00,0x03,0x10,0x23] - neg.d $f27,$f18 - neg.s $f1,$f15 - nop - nor $a3,$zero,$a3 - or $t4,$s0,$sp - round.w.d $f6,$f4 - round.w.s $f27,$f28 - sb $s6,-19857($t6) - sc $t7,18904($s3) - sdc1 $f31,30574($t5) - sdc2 $20,23157($s2) - sh $t6,-6704($t7) - sll $a3,18 # CHECK: sll $7, $7, 18 # encoding: [0x00,0x07,0x3c,0x80] - sll $a3,$zero,18 # CHECK: sll $7, $zero, 18 # encoding: [0x00,0x00,0x3c,0x80] - sll $a3,$zero,$t1 # CHECK: sllv $7, $zero, $9 # encoding: [0x01,0x20,0x38,0x04] - sllv $a3,$zero,$t1 # CHECK: sllv $7, $zero, $9 # encoding: [0x01,0x20,0x38,0x04] - slt $s7,$11,$k1 # CHECK: slt $23, $11, $27 # encoding: [0x01,0x7b,0xb8,0x2a] - slti $s1,$10,9489 # CHECK: slti $17, $10, 9489 # encoding: [0x29,0x51,0x25,0x11] - sltiu $t9,$t9,-15531 # CHECK: sltiu $25, $25, -15531 # encoding: [0x2f,0x39,0xc3,0x55] - sltu $s4,$s5,$11 # CHECK: sltu $20, $21, $11 # encoding: [0x02,0xab,0xa0,0x2b] - sltu $t8,$t9,-15531 # CHECK: sltiu $24, $25, -15531 # encoding: [0x2f,0x38,0xc3,0x55] - sqrt.d $f17,$f22 - sqrt.s $f0,$f1 - sra $s1,15 # CHECK: sra $17, $17, 15 # encoding: [0x00,0x11,0x8b,0xc3] - sra $s1,$s7,15 # CHECK: sra $17, $23, 15 # encoding: [0x00,0x17,0x8b,0xc3] - srav $s1,$s7,$sp # CHECK: srav $17, $23, $sp # encoding: [0x03,0xb7,0x88,0x07] - srl $2,7 # CHECK: srl $2, $2, 7 # encoding: [0x00,0x02,0x11,0xc2] - srl $2,$2,7 # CHECK: srl $2, $2, 7 # encoding: [0x00,0x02,0x11,0xc2] - srl $t9,$s4,$a0 # CHECK: srlv $25, $20, $4 # encoding: [0x00,0x94,0xc8,0x06] - srlv $t9,$s4,$a0 # CHECK: srlv $25, $20, $4 # encoding: [0x00,0x94,0xc8,0x06] - ssnop # CHECK: ssnop # encoding: [0x00,0x00,0x00,0x40] - sub $s6,$s3,$t4 - sub.d $f18,$f3,$f17 - sub.s $f23,$f22,$f22 - subu $sp,$s6,$s6 - sw $ra,-10160($sp) - swc1 $f6,-8465($t8) - swc2 $25,24880($s0) - swl $t7,13694($s3) - swr $s1,-26590($t6) - teqi $s5,-17504 - tgei $s1,5025 - tgeiu $sp,-28621 - tlbp # CHECK: tlbp # encoding: [0x42,0x00,0x00,0x08] - tlbr # CHECK: tlbr # encoding: [0x42,0x00,0x00,0x01] - tlbwi # CHECK: tlbwi # encoding: [0x42,0x00,0x00,0x02] - tlbwr # CHECK: tlbwr # encoding: [0x42,0x00,0x00,0x06] - tlti $t6,-21059 - tltiu $ra,-5076 - tnei $t4,-29647 - trunc.w.d $f22,$f15 - trunc.w.s $f28,$f30 - xor $s2,$a0,$s8 + abs.d $f7,$f25 # CHECK: encoding: + abs.s $f9,$f16 + add $s7,$s2,$a1 + add.d $f1,$f7,$f29 + add.s $f8,$f21,$f24 + addi $13,$9,26322 + addu $9,$a0,$a2 + and $s7,$v0,$12 + c.ngl.d $f29,$f29 + 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 + cfc1 $s1,$21 + clo $11,$a1 + clz $sp,$gp + ctc1 $a2,$26 + cvt.d.s $f22,$f28 + cvt.d.w $f26,$f11 + cvt.s.d $f26,$f8 + cvt.s.w $f22,$f15 + cvt.w.d $f20,$f14 + cvt.w.s $f20,$f24 + deret + div $zero,$25,$11 + div.d $f29,$f20,$f27 + div.s $f4,$f5,$f15 + divu $zero,$25,$15 + ehb # CHECK: ehb # encoding: [0x00,0x00,0x00,0xc0] + eret + floor.w.d $f14,$f11 + floor.w.s $f8,$f9 + lb $24,-14515($10) + lbu $8,30195($v1) + ldc1 $f11,16391($s0) + ldc2 $8,-21181($at) + lh $11,-8556($s5) + lhu $s3,-22851($v0) + li $at,-29773 + li $zero,-29889 + ll $v0,-7321($s2) + lw $8,5674($a1) + lwc1 $f16,10225($k0) + lwc2 $18,-841($a2) + lwl $s4,-4231($15) + lwr $zero,-19147($gp) + madd $s6,$13 + madd $zero,$9 + maddu $s3,$gp + maddu $24,$s2 + mfc0 $a2,$14,1 + mfc1 $a3,$f27 + mfhi $s3 + mfhi $sp + mflo $s1 + mov.d $f20,$f14 + mov.s $f2,$f27 + move $s8,$a0 + move $25,$a2 + movf $gp,$8,$fcc7 + movf.d $f6,$f11,$fcc5 + movf.s $f23,$f5,$fcc6 + movn $v1,$s1,$s0 + movn.d $f27,$f21,$k0 + movn.s $f12,$f0,$s7 + movt $zero,$s4,$fcc5 + movt.d $f0,$f2,$fcc0 + movt.s $f30,$f2,$fcc1 + movz $a1,$s6,$9 + movz.d $f12,$f29,$9 + movz.s $f25,$f7,$v1 + msub $s7,$k1 + msubu $15,$a1 + mtc0 $9,$29,3 + mtc1 $s8,$f9 + mthi $s1 + mtlo $sp + mtlo $25 + mul $s0,$s4,$at + mul.d $f20,$f20,$f16 + mul.s $f30,$f10,$f2 + mult $sp,$s4 + mult $sp,$v0 + multu $gp,$k0 + multu $9,$s2 + negu $2 # CHECK: negu $2, $2 # encoding: [0x00,0x02,0x10,0x23] + negu $2,$3 # CHECK: negu $2, $3 # encoding: [0x00,0x03,0x10,0x23] + neg.d $f27,$f18 + neg.s $f1,$f15 + nop + nor $a3,$zero,$a3 + or $12,$s0,$sp + round.w.d $f6,$f4 + round.w.s $f27,$f28 + sb $s6,-19857($14) + sc $15,18904($s3) + sdc1 $f31,30574($13) + sdc2 $20,23157($s2) + sh $14,-6704($15) + sll $a3,18 # CHECK: sll $7, $7, 18 # encoding: [0x00,0x07,0x3c,0x80] + sll $a3,$zero,18 # CHECK: sll $7, $zero, 18 # encoding: [0x00,0x00,0x3c,0x80] + sll $a3,$zero,$9 # CHECK: sllv $7, $zero, $9 # encoding: [0x01,0x20,0x38,0x04] + sllv $a3,$zero,$9 # CHECK: sllv $7, $zero, $9 # encoding: [0x01,0x20,0x38,0x04] + slt $s7,$11,$k1 # CHECK: slt $23, $11, $27 # encoding: [0x01,0x7b,0xb8,0x2a] + slti $s1,$10,9489 # CHECK: slti $17, $10, 9489 # encoding: [0x29,0x51,0x25,0x11] + sltiu $25,$25,-15531 # CHECK: sltiu $25, $25, -15531 # encoding: [0x2f,0x39,0xc3,0x55] + sltu $s4,$s5,$11 # CHECK: sltu $20, $21, $11 # encoding: [0x02,0xab,0xa0,0x2b] + sltu $24,$25,-15531 # CHECK: sltiu $24, $25, -15531 # encoding: [0x2f,0x38,0xc3,0x55] + sqrt.d $f17,$f22 + sqrt.s $f0,$f1 + sra $s1,15 # CHECK: sra $17, $17, 15 # encoding: [0x00,0x11,0x8b,0xc3] + sra $s1,$s7,15 # CHECK: sra $17, $23, 15 # encoding: [0x00,0x17,0x8b,0xc3] + srav $s1,$s7,$sp # CHECK: srav $17, $23, $sp # encoding: [0x03,0xb7,0x88,0x07] + srl $2,7 # CHECK: srl $2, $2, 7 # encoding: [0x00,0x02,0x11,0xc2] + srl $2,$2,7 # CHECK: srl $2, $2, 7 # encoding: [0x00,0x02,0x11,0xc2] + srl $25,$s4,$a0 # CHECK: srlv $25, $20, $4 # encoding: [0x00,0x94,0xc8,0x06] + srlv $25,$s4,$a0 # CHECK: srlv $25, $20, $4 # encoding: [0x00,0x94,0xc8,0x06] + ssnop # CHECK: ssnop # encoding: [0x00,0x00,0x00,0x40] + sub $s6,$s3,$12 + sub.d $f18,$f3,$f17 + sub.s $f23,$f22,$f22 + subu $sp,$s6,$s6 + sw $ra,-10160($sp) + swc1 $f6,-8465($24) + swc2 $25,24880($s0) + swl $15,13694($s3) + swr $s1,-26590($14) + teqi $s5,-17504 + tgei $s1,5025 + tgeiu $sp,-28621 + tlbp # CHECK: tlbp # encoding: [0x42,0x00,0x00,0x08] + tlbr # CHECK: tlbr # encoding: [0x42,0x00,0x00,0x01] + tlbwi # CHECK: tlbwi # encoding: [0x42,0x00,0x00,0x02] + tlbwr # CHECK: tlbwr # encoding: [0x42,0x00,0x00,0x06] + tlti $14,-21059 + tltiu $ra,-5076 + tnei $12,-29647 + trunc.w.d $f22,$f15 + trunc.w.s $f28,$f30 + xor $s2,$a0,$s8 |