* gas/mips/mips16.s, gas/mips/mips16.d: New test.
* gas/mips/mips.exp: Run mips16 test. * gas/mips/mips.exp: Run dli test unconditionally. * gas/mips/dli.s: Add text symbol. Add nops to round to 16 byte boundary. * gas/mips/dli.d: Corresponding changes.
This commit is contained in:
parent
b9129c6fcd
commit
d899ee85b4
@ -77,6 +77,8 @@ lif-xgot.d
|
||||
lifloat.d
|
||||
lifloat.s
|
||||
mips.exp
|
||||
mips16.d
|
||||
mips16.s
|
||||
mips4.d
|
||||
mips4.s
|
||||
mul-ilocks.d
|
||||
|
258
gas/testsuite/gas/mips/mips16.s
Normal file
258
gas/testsuite/gas/mips/mips16.s
Normal file
@ -0,0 +1,258 @@
|
||||
# Test the mips16 instruction set.
|
||||
|
||||
.set mips16
|
||||
|
||||
.macro ldst op, reg, base
|
||||
\op \reg,0(\base)
|
||||
\op \reg,1(\base)
|
||||
\op \reg,2(\base)
|
||||
\op \reg,3(\base)
|
||||
\op \reg,4(\base)
|
||||
\op \reg,8(\base)
|
||||
\op \reg,16(\base)
|
||||
\op \reg,32(\base)
|
||||
\op \reg,64(\base)
|
||||
\op \reg,128(\base)
|
||||
\op \reg,256(\base)
|
||||
\op \reg,512(\base)
|
||||
\op \reg,1024(\base)
|
||||
\op \reg,2048(\base)
|
||||
\op \reg,-1(\base)
|
||||
\op \reg,-2(\base)
|
||||
\op \reg,-3(\base)
|
||||
\op \reg,-4(\base)
|
||||
\op \reg,-8(\base)
|
||||
\op \reg,-16(\base)
|
||||
\op \reg,-32(\base)
|
||||
\op \reg,-64(\base)
|
||||
\op \reg,-128(\base)
|
||||
\op \reg,-256(\base)
|
||||
\op \reg,-512(\base)
|
||||
\op \reg,-1024(\base)
|
||||
\op \reg,-2048(\base)
|
||||
.endm
|
||||
|
||||
.p2align 3
|
||||
data1:
|
||||
.word 0
|
||||
insns1:
|
||||
ldst ld, $2, $3
|
||||
ld $2,data1
|
||||
ld $2,data2
|
||||
ld $2,bar
|
||||
ld $2,quux
|
||||
ldst ld, $2, $sp
|
||||
ldst lwu, $2, $3
|
||||
ldst lw, $2, $3
|
||||
lw $2,data1
|
||||
lw $2,data2
|
||||
lw $2,bar
|
||||
lw $2,quux
|
||||
ldst lw, $2, $sp
|
||||
ldst lh, $2, $3
|
||||
ldst lhu, $2, $3
|
||||
ldst lb, $2, $3
|
||||
ldst lbu, $2, $3
|
||||
ldst sd, $2, $3
|
||||
ldst sd, $2, $sp
|
||||
ldst sd, $31, $sp
|
||||
ldst sw, $2, $3
|
||||
ldst sw, $2, $sp
|
||||
ldst sw, $31, $sp
|
||||
ldst sh, $2, $3
|
||||
ldst sb, $2, $3
|
||||
|
||||
li $2,0
|
||||
li $2,1
|
||||
li $2,256
|
||||
|
||||
move $2,$30
|
||||
move $20,$2
|
||||
|
||||
daddu $2,$3,0
|
||||
daddu $2,$3,1
|
||||
daddu $2,$3,-1
|
||||
daddu $2,$3,16
|
||||
daddu $2,$3,-16
|
||||
daddu $2,$3,$4
|
||||
daddu $2,0
|
||||
daddu $2,1
|
||||
daddu $2,-1
|
||||
daddu $2,32
|
||||
daddu $2,-32
|
||||
daddu $2,128
|
||||
daddu $2,-128
|
||||
dla $2,data1
|
||||
dla $2,data2
|
||||
dla $2,bar
|
||||
dla $2,quux
|
||||
daddu $sp,0
|
||||
daddu $sp,1
|
||||
daddu $sp,-1
|
||||
daddu $sp,256
|
||||
daddu $sp,-256
|
||||
daddu $2,$sp,0
|
||||
daddu $2,$sp,1
|
||||
daddu $2,$sp,-1
|
||||
daddu $2,$sp,32
|
||||
daddu $2,$sp,-32
|
||||
daddu $2,$sp,128
|
||||
daddu $2,$sp,-128
|
||||
|
||||
addu $2,$3,0
|
||||
addu $2,$3,1
|
||||
addu $2,$3,-1
|
||||
addu $2,$3,16
|
||||
addu $2,$3,-16
|
||||
addu $2,$3,$4
|
||||
addu $2,0
|
||||
addu $2,1
|
||||
addu $2,-1
|
||||
addu $2,32
|
||||
addu $2,-32
|
||||
addu $2,128
|
||||
addu $2,-128
|
||||
la $2,data1
|
||||
la $2,data2
|
||||
la $2,bar
|
||||
la $2,quux
|
||||
addu $sp,0
|
||||
addu $sp,1
|
||||
addu $sp,-1
|
||||
addu $sp,256
|
||||
addu $sp,-256
|
||||
addu $2,$sp,0
|
||||
addu $2,$sp,1
|
||||
addu $2,$sp,-1
|
||||
addu $2,$sp,32
|
||||
addu $2,$sp,-32
|
||||
addu $2,$sp,128
|
||||
addu $2,$sp,-128
|
||||
|
||||
data2:
|
||||
.word 0
|
||||
insns2:
|
||||
dsubu $2,$3,$4
|
||||
subu $2,$3,$4
|
||||
neg $2,$3
|
||||
|
||||
and $2,$3
|
||||
or $2,$3
|
||||
xor $2,$3
|
||||
not $2,$3
|
||||
|
||||
slt $2,0
|
||||
slt $2,1
|
||||
slt $2,-1
|
||||
slt $2,255
|
||||
slt $2,256
|
||||
slt $2,$3
|
||||
sltu $2,0
|
||||
sltu $2,1
|
||||
sltu $2,-1
|
||||
sltu $2,255
|
||||
sltu $2,256
|
||||
sltu $2,$3
|
||||
cmp $2,0
|
||||
cmp $2,1
|
||||
cmp $2,255
|
||||
cmp $2,256
|
||||
cmp $2,$3
|
||||
|
||||
dsll $2,$3,0
|
||||
dsll $2,$3,1
|
||||
dsll $2,$3,8
|
||||
dsll $2,$3,9
|
||||
dsll $2,$3,63
|
||||
dsll $2,$3
|
||||
dsrl $2,0
|
||||
dsrl $2,1
|
||||
dsrl $2,8
|
||||
dsrl $2,9
|
||||
dsrl $2,63
|
||||
dsrl $2,$3
|
||||
dsra $2,0
|
||||
dsra $2,1
|
||||
dsra $2,8
|
||||
dsra $2,9
|
||||
dsra $2,63
|
||||
dsra $2,$3
|
||||
|
||||
mflo $2
|
||||
mfhi $3
|
||||
|
||||
sll $2,$3,0
|
||||
sll $2,$3,1
|
||||
sll $2,$3,8
|
||||
sll $2,$3,9
|
||||
sll $2,$3,31
|
||||
sll $2,$3
|
||||
srl $2,$3,0
|
||||
srl $2,$3,1
|
||||
srl $2,$3,8
|
||||
srl $2,$3,9
|
||||
srl $2,$3,31
|
||||
srl $2,$3
|
||||
sra $2,$3,0
|
||||
sra $2,$3,1
|
||||
sra $2,$3,8
|
||||
sra $2,$3,9
|
||||
sra $2,$3,31
|
||||
sra $2,$3
|
||||
|
||||
dmult $2,$3
|
||||
dmultu $2,$3
|
||||
ddiv $2,$3
|
||||
ddivu $2,$3
|
||||
|
||||
mult $2,$3
|
||||
multu $2,$3
|
||||
div $2,$3
|
||||
divu $2,$3
|
||||
|
||||
jr $2
|
||||
jr $31
|
||||
jalr $31,$2
|
||||
|
||||
beqz $2,insns1
|
||||
beqz $2,insns2
|
||||
beqz $2,bar
|
||||
beqz $2,quux
|
||||
bnez $2,insns1
|
||||
bnez $2,insns2
|
||||
bnez $2,bar
|
||||
bnez $2,quux
|
||||
bteqz insns1
|
||||
bteqz insns2
|
||||
bteqz bar
|
||||
bteqz quux
|
||||
btnez insns1
|
||||
btnez insns2
|
||||
btnez bar
|
||||
btnez quux
|
||||
b insns1
|
||||
b insns2
|
||||
b bar
|
||||
b quux
|
||||
|
||||
break 0
|
||||
break 1
|
||||
break 63
|
||||
|
||||
jal extern
|
||||
|
||||
entry
|
||||
entry $4
|
||||
entry $4-$6,$16
|
||||
entry $16-$17,$31
|
||||
entry $31
|
||||
exit
|
||||
exit $16
|
||||
exit $16-$17,$31
|
||||
exit $31
|
||||
|
||||
.p2align 3
|
||||
bar:
|
||||
|
||||
.skip 200
|
||||
quux:
|
Loading…
Reference in New Issue
Block a user