* gas/mips/mips16.s, gas/mips/mips16.d: New test.
authorIan Lance Taylor <ian@airs.com>
Thu, 2 Jan 1997 21:51:31 +0000 (21:51 +0000)
committerIan Lance Taylor <ian@airs.com>
Thu, 2 Jan 1997 21:51:31 +0000 (21:51 +0000)
* 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.

gas/testsuite/gas/mips/.Sanitize
gas/testsuite/gas/mips/mips16.s [new file with mode: 0644]

index ec9e254..ab55255 100644 (file)
@@ -77,6 +77,8 @@ lif-xgot.d
 lifloat.d
 lifloat.s
 mips.exp
+mips16.d
+mips16.s
 mips4.d
 mips4.s
 mul-ilocks.d
diff --git a/gas/testsuite/gas/mips/mips16.s b/gas/testsuite/gas/mips/mips16.s
new file mode 100644 (file)
index 0000000..6268fb1
--- /dev/null
@@ -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: