aboutsummaryrefslogtreecommitdiff
path: root/gas
diff options
context:
space:
mode:
Diffstat (limited to 'gas')
-rw-r--r--gas/testsuite/ChangeLog9
-rw-r--r--gas/testsuite/gas/mips/break5900.d53
-rw-r--r--gas/testsuite/gas/mips/mul-ilocks.d80
3 files changed, 142 insertions, 0 deletions
diff --git a/gas/testsuite/ChangeLog b/gas/testsuite/ChangeLog
index 77d1bee..2b9b746 100644
--- a/gas/testsuite/ChangeLog
+++ b/gas/testsuite/ChangeLog
@@ -1,3 +1,12 @@
+Mon Jun 1 17:00:22 1998 Jeffrey A Law (law@cygnus.com)
+
+start-sanitize-r5900
+ * gas/mips/break5900.d: Update after interlock changes.
+ * gas/mips/mips.exp: The r5900 has ilocks and gpr_ilocks.
+end-sanitize-r5900
+ * gas/mips/div-ilocks.d: Handle both "break" instruction variants.
+ * gas/mips/{div.d, mul-ilocks.d, mul.d}: Likewise.
+
start-sanitize-sky
Mon Jun 1 14:33:43 1998 Doug Evans <devans@canuck.cygnus.com>
diff --git a/gas/testsuite/gas/mips/break5900.d b/gas/testsuite/gas/mips/break5900.d
new file mode 100644
index 0000000..523dc1a
--- /dev/null
+++ b/gas/testsuite/gas/mips/break5900.d
@@ -0,0 +1,53 @@
+#as: -mcpu=r5900
+#objdump: -dr --prefix-addresses --show-raw-insn -mmips:5900
+#name: MIPS R5900 20-bit break
+
+.*: +file format .*mips.*
+
+Disassembly of section .text:
+0+0000 <[^>]*>.*0000000d.*break
+0+0004 <[^>]*>.*0000000d.*break
+0+0008 <[^>]*>.*0000050d.*break 0x14
+0+000c <[^>]*>.*00000a0d.*break 0x28
+0+0010 <[^>]*>.*0000ffcd.*break 0x3ff
+0+0014 <[^>]*>.*03fffc0d.*break 0xffff0
+0+0018 <[^>]*>.*03ffffcd.*break 0xfffff
+0+001c <[^>]*>.*0080202d.*move \$a0,\$a0
+0+0020 <[^>]*>.*00a0202d.*move \$a0,\$a1
+0+0024 <[^>]*>.*0085001b.*divu \$zero,\$a0,\$a1
+0+0028 <[^>]*>.*14a00002.*bnez \$a1,0+0034 <[^>]*>
+0+002c <[^>]*>.*0085001b.*divu \$zero,\$a0,\$a1
+0+0030 <[^>]*>.*000001cd.*break 0x7
+0+0034 <[^>]*>.*00002012.*mflo \$a0
+0+0038 <[^>]*>.*0080202d.*move \$a0,\$a0
+0+003c <[^>]*>.*14c00002.*bnez \$a2,0+0048 <[^>]*>
+0+0040 <[^>]*>.*00a6001a.*div \$zero,\$a1,\$a2
+0+0044 <[^>]*>.*000001cd.*break 0x7
+0+0048 <[^>]*>.*2401ffff.*li \$at,-1
+0+004c <[^>]*>.*14c10004.*bne \$a2,\$at,0+0060 <[^>]*>
+0+0050 <[^>]*>.*3c018000.*lui \$at,0x8000
+0+0054 <[^>]*>.*14a10002.*bne \$a1,\$at,0+0060 <[^>]*>
+0+0058 <[^>]*>.*00000000.*nop
+0+005c <[^>]*>.*0000018d.*break 0x6
+0+0060 <[^>]*>.*00002010.*mfhi \$a0
+0+0064 <[^>]*>.*24010002.*li \$at,2
+0+0068 <[^>]*>.*00a1001b.*divu \$zero,\$a1,\$at
+0+006c <[^>]*>.*00002010.*mfhi \$a0
+0+0070 <[^>]*>.*14c00002.*bnez \$a2,0+007c <[^>]*>
+0+0074 <[^>]*>.*00a6001e.*ddiv \$zero,\$a1,\$a2
+0+0078 <[^>]*>.*000001cd.*break 0x7
+0+007c <[^>]*>.*6401ffff.*daddiu \$at,\$zero,-1
+0+0080 <[^>]*>.*14c10005.*bne \$a2,\$at,0+0098 <[^>]*>
+0+0084 <[^>]*>.*64010001.*daddiu \$at,\$zero,1
+0+0088 <[^>]*>.*00010ffc.*dsll32 \$at,\$at,0x1f
+0+008c <[^>]*>.*14a10002.*bne \$a1,\$at,0+0098 <[^>]*>
+0+0090 <[^>]*>.*00000000.*nop
+0+0094 <[^>]*>.*0000018d.*break 0x6
+0+0098 <[^>]*>.*00002012.*mflo \$a0
+0+009c <[^>]*>.*24010002.*li \$at,2
+0+00a0 <[^>]*>.*00a1001f.*ddivu \$zero,\$a1,\$at
+0+00a4 <[^>]*>.*00002012.*mflo \$a0
+0+00a8 <[^>]*>.*34018000.*li \$at,0x8000
+0+00ac <[^>]*>.*00a1001e.*ddiv \$zero,\$a1,\$at
+0+00b0 <[^>]*>.*00002010.*mfhi \$a0
+ ...
diff --git a/gas/testsuite/gas/mips/mul-ilocks.d b/gas/testsuite/gas/mips/mul-ilocks.d
new file mode 100644
index 0000000..07478ea
--- /dev/null
+++ b/gas/testsuite/gas/mips/mul-ilocks.d
@@ -0,0 +1,80 @@
+#objdump: -dr --prefix-addresses -mmips:4000
+#name: MIPS mul
+#source: mul.s
+
+# Test the mul macro.
+
+.*: +file format .*mips.*
+
+Disassembly of section .text:
+0+0000 <[^>]*> multu \$a0,\$a1
+0+0004 <[^>]*> mflo \$a0
+0+0008 <[^>]*> multu \$a1,\$a2
+0+000c <[^>]*> mflo \$a0
+0+0010 <[^>]*> li \$at,0
+0+0014 <[^>]*> mult \$a1,\$at
+0+0018 <[^>]*> mflo \$a0
+0+001c <[^>]*> li \$at,1
+0+0020 <[^>]*> mult \$a1,\$at
+0+0024 <[^>]*> mflo \$a0
+0+0028 <[^>]*> li \$at,0x8000
+0+002c <[^>]*> mult \$a1,\$at
+0+0030 <[^>]*> mflo \$a0
+0+0034 <[^>]*> li \$at,-32768
+0+0038 <[^>]*> mult \$a1,\$at
+0+003c <[^>]*> mflo \$a0
+0+0040 <[^>]*> lui \$at,0x1
+0+0044 <[^>]*> mult \$a1,\$at
+0+0048 <[^>]*> mflo \$a0
+0+004c <[^>]*> lui \$at,0x1
+0+0050 <[^>]*> ori \$at,\$at,0xa5a5
+0+0054 <[^>]*> mult \$a1,\$at
+0+0058 <[^>]*> mflo \$a0
+0+005c <[^>]*> mult \$a0,\$a1
+0+0060 <[^>]*> mflo \$a0
+0+0064 <[^>]*> sra \$a0,\$a0,0x1f
+0+0068 <[^>]*> mfhi \$at
+0+006c <[^>]*> beq \$a0,\$at,0+78 <foo\+(0x|)78>
+0+0070 <[^>]*> nop
+0+0074 <[^>]*> break (0x0,0x6|0x6)
+0+0078 <[^>]*> mflo \$a0
+0+007c <[^>]*> mult \$a1,\$a2
+0+0080 <[^>]*> mflo \$a0
+0+0084 <[^>]*> sra \$a0,\$a0,0x1f
+0+0088 <[^>]*> mfhi \$at
+0+008c <[^>]*> beq \$a0,\$at,0+98 <foo\+(0x|)98>
+0+0090 <[^>]*> nop
+0+0094 <[^>]*> break (0x0,0x6|0x6)
+0+0098 <[^>]*> mflo \$a0
+0+009c <[^>]*> multu \$a0,\$a1
+0+00a0 <[^>]*> mfhi \$at
+0+00a4 <[^>]*> mflo \$a0
+0+00a8 <[^>]*> beqz \$at,0+b4 <foo\+(0x|)b4>
+0+00ac <[^>]*> nop
+0+00b0 <[^>]*> break (0x0,0x6|0x6)
+0+00b4 <[^>]*> multu \$a1,\$a2
+0+00b8 <[^>]*> mfhi \$at
+0+00bc <[^>]*> mflo \$a0
+0+00c0 <[^>]*> beqz \$at,0+cc <foo\+(0x|)cc>
+0+00c4 <[^>]*> nop
+0+00c8 <[^>]*> break (0x0,0x6|0x6)
+0+00cc <[^>]*> dmultu \$a1,\$a2
+0+00d0 <[^>]*> mflo \$a0
+0+00d4 <[^>]*> li \$at,1
+0+00d8 <[^>]*> dmult \$a1,\$at
+0+00dc <[^>]*> mflo \$a0
+0+00e0 <[^>]*> dmult \$a1,\$a2
+0+00e4 <[^>]*> mflo \$a0
+0+00e8 <[^>]*> dsra32 \$a0,\$a0,0x1f
+0+00ec <[^>]*> mfhi \$at
+0+00f0 <[^>]*> beq \$a0,\$at,0+fc <foo\+(0x|)fc>
+0+00f4 <[^>]*> nop
+0+00f8 <[^>]*> break (0x0,0x6|0x6)
+0+00fc <[^>]*> mflo \$a0
+0+0100 <[^>]*> dmultu \$a1,\$a2
+0+0104 <[^>]*> mfhi \$at
+0+0108 <[^>]*> mflo \$a0
+0+010c <[^>]*> beqz \$at,0+118 <foo\+(0x|)118>
+0+0110 <[^>]*> nop
+0+0114 <[^>]*> break (0x0,0x6|0x6)
+ ...