[binutils-gdb] MIPS/GAS/testsuite: Split div test into 32-bit and 64-bit parts

Maciej W. Rozycki macro@sourceware.org
Fri Jul 19 08:50:45 GMT 2024


https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=b734aebe68e2db7e03eece1ae83467ef5d4391f1

commit b734aebe68e2db7e03eece1ae83467ef5d4391f1
Author: Maciej W. Rozycki <macro@redhat.com>
Date:   Fri Jul 19 09:42:56 2024 +0100

    MIPS/GAS/testsuite: Split div test into 32-bit and 64-bit parts
    
    Enable full 32-bit and 64-bit division macro verification, by splitting
    the 'div' test into two parts respectively, and run them across all the
    compatible architectures.

Diff:
---
 gas/testsuite/gas/mips/div.d             |  20 -----
 gas/testsuite/gas/mips/div.s             |   6 --
 gas/testsuite/gas/mips/div64.d           |  30 ++++++++
 gas/testsuite/gas/mips/div64.s           |  10 +++
 gas/testsuite/gas/mips/micromips@div.d   |  23 ------
 gas/testsuite/gas/mips/micromips@div64.d |  34 +++++++++
 gas/testsuite/gas/mips/mips.exp          |   4 +-
 gas/testsuite/gas/mips/mips1@div.d       | 102 +++++++++++++++++++++++++
 gas/testsuite/gas/mips/mips2@div.d       |   5 ++
 gas/testsuite/gas/mips/mips3@div.d       | 123 +------------------------------
 gas/testsuite/gas/mips/mips3@div64.d     |  34 +++++++++
 gas/testsuite/gas/mips/mips4@div.d       |   2 +-
 gas/testsuite/gas/mips/mips4@div64.d     |   5 ++
 gas/testsuite/gas/mips/mips5@div.d       |   2 +-
 gas/testsuite/gas/mips/mips5@div64.d     |   5 ++
 gas/testsuite/gas/mips/r3000@div.d       |   5 ++
 gas/testsuite/gas/mips/r3900@div.d       |   5 ++
 gas/testsuite/gas/mips/r4000@div.d       |   2 +-
 gas/testsuite/gas/mips/r4000@div64.d     |   5 ++
 gas/testsuite/gas/mips/vr5400@div.d      |   2 +-
 gas/testsuite/gas/mips/vr5400@div64.d    |   5 ++
 21 files changed, 253 insertions(+), 176 deletions(-)

diff --git a/gas/testsuite/gas/mips/div.d b/gas/testsuite/gas/mips/div.d
index fae4a5735a8..465633d4c01 100644
--- a/gas/testsuite/gas/mips/div.d
+++ b/gas/testsuite/gas/mips/div.d
@@ -87,24 +87,4 @@ Disassembly of section .text:
 0+0134 <[^>]*> li	at,2
 0+0138 <[^>]*> divu	zero,a1,at
 0+013c <[^>]*> mfhi	a0
-0+0140 <[^>]*> bnez	a2,0+014c <foo\+0x14c>
-0+0144 <[^>]*> ddiv	zero,a1,a2
-0+0148 <[^>]*> break	(0x0,0x7|0x7)
-0+014c <[^>]*> (daddiu	at,zero,-1|li	at,-1)
-0+0150 <[^>]*> bne	a2,at,0+0168 <foo\+0x168>
-0+0154 <[^>]*> (daddiu	at,zero,1|li	at,1)
-0+0158 <[^>]*> dsll32	at,at,0x1f
-0+015c <[^>]*> bne	a1,at,0+0168 <foo\+0x168>
-0+0160 <[^>]*> nop
-0+0164 <[^>]*> break	(0x0,0x6|0x6)
-0+0168 <[^>]*> mflo	a0
-0+016c <[^>]*> li	at,2
-0+0170 <[^>]*> ddivu	zero,a1,at
-0+0174 <[^>]*> mflo	a0
-0+0178 <[^>]*> li	at,0x8000
-0+017c <[^>]*> ddiv	zero,a1,at
-0+0180 <[^>]*> mfhi	a0
-0+0184 <[^>]*> li	at,-32768
-0+0188 <[^>]*> ddivu	zero,a1,at
-0+018c <[^>]*> mfhi	a0
 	...
diff --git a/gas/testsuite/gas/mips/div.s b/gas/testsuite/gas/mips/div.s
index 14e9e892547..c9aabaea85c 100644
--- a/gas/testsuite/gas/mips/div.s
+++ b/gas/testsuite/gas/mips/div.s
@@ -29,12 +29,6 @@ foo:
 	rem	$4,$5,$6
 	remu	$4,$5,2
 
-# Sanity check the 64 bit versions.
-	ddiv	$4,$5,$6
-	ddivu	$4,$5,2
-	drem	$4,$5,0x8000
-	dremu	$4,$5,-0x8000
-
 # force some padding, to make objdump consistently report that there's some
 # here...
 	.align	4, 0
diff --git a/gas/testsuite/gas/mips/div64.d b/gas/testsuite/gas/mips/div64.d
new file mode 100644
index 00000000000..3a02205e3be
--- /dev/null
+++ b/gas/testsuite/gas/mips/div64.d
@@ -0,0 +1,30 @@
+#as: -32
+#objdump: -dr --prefix-addresses
+#name: MIPS 64-bit div
+
+# Test the div macro.
+
+.*: +file format .*mips.*
+
+Disassembly of section \.text:
+0+0000 <[^>]*> bnez	a2,0+000c <foo\+0xc>
+0+0004 <[^>]*> ddiv	zero,a1,a2
+0+0008 <[^>]*> break	(0x0,0x7|0x7)
+0+000c <[^>]*> (daddiu	at,zero,-1|li	at,-1)
+0+0010 <[^>]*> bne	a2,at,0+0028 <foo\+0x28>
+0+0014 <[^>]*> (daddiu	at,zero,1|li	at,1)
+0+0018 <[^>]*> dsll32	at,at,0x1f
+0+001c <[^>]*> bne	a1,at,0+0028 <foo\+0x28>
+0+0020 <[^>]*> nop
+0+0024 <[^>]*> break	(0x0,0x6|0x6)
+0+0028 <[^>]*> mflo	a0
+0+002c <[^>]*> li	at,2
+0+0030 <[^>]*> ddivu	zero,a1,at
+0+0034 <[^>]*> mflo	a0
+0+0038 <[^>]*> li	at,0x8000
+0+003c <[^>]*> ddiv	zero,a1,at
+0+0040 <[^>]*> mfhi	a0
+0+0044 <[^>]*> li	at,-32768
+0+0048 <[^>]*> ddivu	zero,a1,at
+0+004c <[^>]*> mfhi	a0
+	\.\.\.
diff --git a/gas/testsuite/gas/mips/div64.s b/gas/testsuite/gas/mips/div64.s
new file mode 100644
index 00000000000..65acbea5736
--- /dev/null
+++ b/gas/testsuite/gas/mips/div64.s
@@ -0,0 +1,10 @@
+# Sanity check the 64 bit div macro versions.
+foo:
+	ddiv	$4,$5,$6
+	ddivu	$4,$5,2
+	drem	$4,$5,0x8000
+	dremu	$4,$5,-0x8000
+
+# Force some (non-delay-slot) zero bytes, to make 'objdump' print ...
+	.align	4, 0
+	.space	16
diff --git a/gas/testsuite/gas/mips/micromips@div.d b/gas/testsuite/gas/mips/micromips@div.d
index c7df2922167..e670c7aa5b0 100644
--- a/gas/testsuite/gas/mips/micromips@div.d
+++ b/gas/testsuite/gas/mips/micromips@div.d
@@ -98,28 +98,5 @@ Disassembly of section \.text:
 [0-9a-f]+ <\.L\^_7> 4604      	mfhi	a0
 [0-9a-f]+ <[^>]*> 3020 0002 	li	at,2
 [0-9a-f]+ <[^>]*> 0025 bb3c 	divu	zero,a1,at
-[0-9a-f]+ <[^>]*> 4604      	mfhi	a0
-[0-9a-f]+ <[^>]*> b406 fffe 	bnez	a2,[0-9a-f]+ <[^>]*>
-			[0-9a-f]+: R_MICROMIPS_PC16_S1	\.L\^_8
-[0-9a-f]+ <[^>]*> 58c5 ab3c 	ddiv	zero,a1,a2
-[0-9a-f]+ <[^>]*> 4687      	break	0x7
-[0-9a-f]+ <\.L\^_8> 3020 ffff 	li	at,-1
-[0-9a-f]+ <[^>]*> b426 fffe 	bne	a2,at,[0-9a-f]+ <[^>]*>
-			[0-9a-f]+: R_MICROMIPS_PC16_S1	\.L\^_9
-[0-9a-f]+ <[^>]*> 3020 0001 	li	at,1
-[0-9a-f]+ <[^>]*> 5821 f808 	dsll32	at,at,0x1f
-[0-9a-f]+ <[^>]*> b425 fffe 	bne	a1,at,[0-9a-f]+ <[^>]*>
-			[0-9a-f]+: R_MICROMIPS_PC16_S1	\.L\^_9
-[0-9a-f]+ <[^>]*> 0c00      	nop
-[0-9a-f]+ <[^>]*> 4686      	break	0x6
-[0-9a-f]+ <\.L\^_9> 4644      	mflo	a0
-[0-9a-f]+ <[^>]*> 3020 0002 	li	at,2
-[0-9a-f]+ <[^>]*> 5825 bb3c 	ddivu	zero,a1,at
-[0-9a-f]+ <[^>]*> 4644      	mflo	a0
-[0-9a-f]+ <[^>]*> 5020 8000 	li	at,0x8000
-[0-9a-f]+ <[^>]*> 5825 ab3c 	ddiv	zero,a1,at
-[0-9a-f]+ <[^>]*> 4604      	mfhi	a0
-[0-9a-f]+ <[^>]*> 3020 8000 	li	at,-32768
-[0-9a-f]+ <[^>]*> 5825 bb3c 	ddivu	zero,a1,at
 [0-9a-f]+ <[^>]*> 4604      	mfhi	a0
 	\.\.\.
diff --git a/gas/testsuite/gas/mips/micromips@div64.d b/gas/testsuite/gas/mips/micromips@div64.d
new file mode 100644
index 00000000000..07abe647995
--- /dev/null
+++ b/gas/testsuite/gas/mips/micromips@div64.d
@@ -0,0 +1,34 @@
+#as: -32
+#objdump: -dr --prefix-addresses --show-raw-insn
+#name: MIPS 64-bit div
+#source: div64.s
+
+# Test the div macro.
+
+.*: +file format .*mips.*
+
+Disassembly of section \.text:
+[0-9a-f]+ <[^>]*> b406 fffe 	bnez	a2,[0-9a-f]+ <[^>]*>
+			[0-9a-f]+: R_MICROMIPS_PC16_S1	\.L\^_0
+[0-9a-f]+ <[^>]*> 58c5 ab3c 	ddiv	zero,a1,a2
+[0-9a-f]+ <[^>]*> 4687      	break	0x7
+[0-9a-f]+ <\.L\^_0> 3020 ffff 	li	at,-1
+[0-9a-f]+ <[^>]*> b426 fffe 	bne	a2,at,[0-9a-f]+ <[^>]*>
+			[0-9a-f]+: R_MICROMIPS_PC16_S1	\.L\^_1
+[0-9a-f]+ <[^>]*> 3020 0001 	li	at,1
+[0-9a-f]+ <[^>]*> 5821 f808 	dsll32	at,at,0x1f
+[0-9a-f]+ <[^>]*> b425 fffe 	bne	a1,at,[0-9a-f]+ <[^>]*>
+			[0-9a-f]+: R_MICROMIPS_PC16_S1	\.L\^_1
+[0-9a-f]+ <[^>]*> 0c00      	nop
+[0-9a-f]+ <[^>]*> 4686      	break	0x6
+[0-9a-f]+ <\.L\^_1> 4644      	mflo	a0
+[0-9a-f]+ <[^>]*> 3020 0002 	li	at,2
+[0-9a-f]+ <[^>]*> 5825 bb3c 	ddivu	zero,a1,at
+[0-9a-f]+ <[^>]*> 4644      	mflo	a0
+[0-9a-f]+ <[^>]*> 5020 8000 	li	at,0x8000
+[0-9a-f]+ <[^>]*> 5825 ab3c 	ddiv	zero,a1,at
+[0-9a-f]+ <[^>]*> 4604      	mfhi	a0
+[0-9a-f]+ <[^>]*> 3020 8000 	li	at,-32768
+[0-9a-f]+ <[^>]*> 5825 bb3c 	ddivu	zero,a1,at
+[0-9a-f]+ <[^>]*> 4604      	mfhi	a0
+	\.\.\.
diff --git a/gas/testsuite/gas/mips/mips.exp b/gas/testsuite/gas/mips/mips.exp
index 3586fa1008c..f809d9d3fd5 100644
--- a/gas/testsuite/gas/mips/mips.exp
+++ b/gas/testsuite/gas/mips/mips.exp
@@ -725,7 +725,9 @@ if { [istarget mips*-*-vxworks*] } {
     run_list_test "compact-eh-err1"
     run_list_test "compact-eh-err2"
 
-    run_dump_test_arches "div"		[mips_arch_list_matching mips3 !r5900 \
+    run_dump_test_arches "div"		[mips_arch_list_matching mips1 \
+						!mips32r6]
+    run_dump_test_arches "div64"	[mips_arch_list_matching mips3 !r5900 \
 						!mips64r6]
 
     if { !$addr32 && $has_newabi } {
diff --git a/gas/testsuite/gas/mips/mips1@div.d b/gas/testsuite/gas/mips/mips1@div.d
new file mode 100644
index 00000000000..72fd3e5dbc1
--- /dev/null
+++ b/gas/testsuite/gas/mips/mips1@div.d
@@ -0,0 +1,102 @@
+#as: -32
+#objdump: -dr --prefix-addresses
+#name: MIPS div
+#source: div.s
+
+# Test the div macro.
+
+.*: +file format .*mips.*
+
+Disassembly of section .text:
+0+0000 <[^>]*> div	zero,a0,a1
+0+0004 <[^>]*> bnez	a1,0+0010 <foo\+0x10>
+0+0008 <[^>]*> div	zero,a0,a1
+0+000c <[^>]*> break	(0x0,0x7|0x7)
+0+0010 <[^>]*> li	at,-1
+0+0014 <[^>]*> bne	a1,at,0+0028 <foo\+0x28>
+0+0018 <[^>]*> lui	at,0x8000
+0+001c <[^>]*> bne	a0,at,0+0028 <foo\+0x28>
+0+0020 <[^>]*> nop
+0+0024 <[^>]*> break	(0x0,0x6|0x6)
+0+0028 <[^>]*> mflo	a0
+0+002c <[^>]*> nop
+0+0030 <[^>]*> bnez	a2,0+003c <foo\+0x3c>
+0+0034 <[^>]*> div	zero,a1,a2
+0+0038 <[^>]*> break	(0x0,0x7|0x7)
+0+003c <[^>]*> li	at,-1
+0+0040 <[^>]*> bne	a2,at,0+0054 <foo\+0x54>
+0+0044 <[^>]*> lui	at,0x8000
+0+0048 <[^>]*> bne	a1,at,0+0054 <foo\+0x54>
+0+004c <[^>]*> nop
+0+0050 <[^>]*> break	(0x0,0x6|0x6)
+0+0054 <[^>]*> mflo	a0
+0+0058 <[^>]*> move	a0,a0
+0+005c <[^>]*> move	a0,a1
+0+0060 <[^>]*> neg	a0,a0
+0+0064 <[^>]*> neg	a0,a1
+0+0068 <[^>]*> li	at,2
+0+006c <[^>]*> div	zero,a0,at
+0+0070 <[^>]*> mflo	a0
+0+0074 <[^>]*> li	at,2
+0+0078 <[^>]*> nop
+0+007c <[^>]*> div	zero,a1,at
+0+0080 <[^>]*> mflo	a0
+0+0084 <[^>]*> li	at,0x8000
+0+0088 <[^>]*> nop
+0+008c <[^>]*> div	zero,a0,at
+0+0090 <[^>]*> mflo	a0
+0+0094 <[^>]*> li	at,0x8000
+0+0098 <[^>]*> nop
+0+009c <[^>]*> div	zero,a1,at
+0+00a0 <[^>]*> mflo	a0
+0+00a4 <[^>]*> li	at,-32768
+0+00a8 <[^>]*> nop
+0+00ac <[^>]*> div	zero,a0,at
+0+00b0 <[^>]*> mflo	a0
+0+00b4 <[^>]*> li	at,-32768
+0+00b8 <[^>]*> nop
+0+00bc <[^>]*> div	zero,a1,at
+0+00c0 <[^>]*> mflo	a0
+0+00c4 <[^>]*> lui	at,0x1
+0+00c8 <[^>]*> nop
+0+00cc <[^>]*> div	zero,a0,at
+0+00d0 <[^>]*> mflo	a0
+0+00d4 <[^>]*> lui	at,0x1
+0+00d8 <[^>]*> nop
+0+00dc <[^>]*> div	zero,a1,at
+0+00e0 <[^>]*> mflo	a0
+0+00e4 <[^>]*> lui	at,0x1
+0+00e8 <[^>]*> ori	at,at,0xa5a5
+0+00ec <[^>]*> div	zero,a0,at
+0+00f0 <[^>]*> mflo	a0
+0+00f4 <[^>]*> lui	at,0x1
+0+00f8 <[^>]*> ori	at,at,0xa5a5
+0+00fc <[^>]*> div	zero,a1,at
+0+0100 <[^>]*> mflo	a0
+	...
+0+010c <[^>]*> divu	zero,a0,a1
+0+0110 <[^>]*> bnez	a1,0+011c <foo\+0x11c>
+0+0114 <[^>]*> divu	zero,a0,a1
+0+0118 <[^>]*> break	(0x0,0x7|0x7)
+0+011c <[^>]*> mflo	a0
+0+0120 <[^>]*> nop
+0+0124 <[^>]*> bnez	a2,0+0130 <foo\+0x130>
+0+0128 <[^>]*> divu	zero,a1,a2
+0+012c <[^>]*> break	(0x0,0x7|0x7)
+0+0130 <[^>]*> mflo	a0
+0+0134 <[^>]*> move	a0,a0
+0+0138 <[^>]*> bnez	a2,0+0144 <foo\+0x144>
+0+013c <[^>]*> div	zero,a1,a2
+0+0140 <[^>]*> break	(0x0,0x7|0x7)
+0+0144 <[^>]*> li	at,-1
+0+0148 <[^>]*> bne	a2,at,0+015c <foo\+0x15c>
+0+014c <[^>]*> lui	at,0x8000
+0+0150 <[^>]*> bne	a1,at,0+015c <foo\+0x15c>
+0+0154 <[^>]*> nop
+0+0158 <[^>]*> break	(0x0,0x6|0x6)
+0+015c <[^>]*> mfhi	a0
+0+0160 <[^>]*> li	at,2
+0+0164 <[^>]*> nop
+0+0168 <[^>]*> divu	zero,a1,at
+0+016c <[^>]*> mfhi	a0
+	...
diff --git a/gas/testsuite/gas/mips/mips2@div.d b/gas/testsuite/gas/mips/mips2@div.d
new file mode 100644
index 00000000000..f89764b87d3
--- /dev/null
+++ b/gas/testsuite/gas/mips/mips2@div.d
@@ -0,0 +1,5 @@
+#as: -32
+#objdump: -dr --prefix-addresses
+#name: MIPS div
+#source: div.s
+#dump: mips1@div.d
diff --git a/gas/testsuite/gas/mips/mips3@div.d b/gas/testsuite/gas/mips/mips3@div.d
index 2aedab3b78a..f89764b87d3 100644
--- a/gas/testsuite/gas/mips/mips3@div.d
+++ b/gas/testsuite/gas/mips/mips3@div.d
@@ -2,125 +2,4 @@
 #objdump: -dr --prefix-addresses
 #name: MIPS div
 #source: div.s
-
-# Test the div macro.
-
-.*: +file format .*mips.*
-
-Disassembly of section .text:
-0+0000 <[^>]*> div	zero,a0,a1
-0+0004 <[^>]*> bnez	a1,0+0010 <foo\+0x10>
-0+0008 <[^>]*> div	zero,a0,a1
-0+000c <[^>]*> break	(0x0,0x7|0x7)
-0+0010 <[^>]*> li	at,-1
-0+0014 <[^>]*> bne	a1,at,0+0028 <foo\+0x28>
-0+0018 <[^>]*> lui	at,0x8000
-0+001c <[^>]*> bne	a0,at,0+0028 <foo\+0x28>
-0+0020 <[^>]*> nop
-0+0024 <[^>]*> break	(0x0,0x6|0x6)
-0+0028 <[^>]*> mflo	a0
-0+002c <[^>]*> nop
-0+0030 <[^>]*> bnez	a2,0+003c <foo\+0x3c>
-0+0034 <[^>]*> div	zero,a1,a2
-0+0038 <[^>]*> break	(0x0,0x7|0x7)
-0+003c <[^>]*> li	at,-1
-0+0040 <[^>]*> bne	a2,at,0+0054 <foo\+0x54>
-0+0044 <[^>]*> lui	at,0x8000
-0+0048 <[^>]*> bne	a1,at,0+0054 <foo\+0x54>
-0+004c <[^>]*> nop
-0+0050 <[^>]*> break	(0x0,0x6|0x6)
-0+0054 <[^>]*> mflo	a0
-0+0058 <[^>]*> move	a0,a0
-0+005c <[^>]*> move	a0,a1
-0+0060 <[^>]*> neg	a0,a0
-0+0064 <[^>]*> neg	a0,a1
-0+0068 <[^>]*> li	at,2
-0+006c <[^>]*> div	zero,a0,at
-0+0070 <[^>]*> mflo	a0
-0+0074 <[^>]*> li	at,2
-0+0078 <[^>]*> nop
-0+007c <[^>]*> div	zero,a1,at
-0+0080 <[^>]*> mflo	a0
-0+0084 <[^>]*> li	at,0x8000
-0+0088 <[^>]*> nop
-0+008c <[^>]*> div	zero,a0,at
-0+0090 <[^>]*> mflo	a0
-0+0094 <[^>]*> li	at,0x8000
-0+0098 <[^>]*> nop
-0+009c <[^>]*> div	zero,a1,at
-0+00a0 <[^>]*> mflo	a0
-0+00a4 <[^>]*> li	at,-32768
-0+00a8 <[^>]*> nop
-0+00ac <[^>]*> div	zero,a0,at
-0+00b0 <[^>]*> mflo	a0
-0+00b4 <[^>]*> li	at,-32768
-0+00b8 <[^>]*> nop
-0+00bc <[^>]*> div	zero,a1,at
-0+00c0 <[^>]*> mflo	a0
-0+00c4 <[^>]*> lui	at,0x1
-0+00c8 <[^>]*> nop
-0+00cc <[^>]*> div	zero,a0,at
-0+00d0 <[^>]*> mflo	a0
-0+00d4 <[^>]*> lui	at,0x1
-0+00d8 <[^>]*> nop
-0+00dc <[^>]*> div	zero,a1,at
-0+00e0 <[^>]*> mflo	a0
-0+00e4 <[^>]*> lui	at,0x1
-0+00e8 <[^>]*> ori	at,at,0xa5a5
-0+00ec <[^>]*> div	zero,a0,at
-0+00f0 <[^>]*> mflo	a0
-0+00f4 <[^>]*> lui	at,0x1
-0+00f8 <[^>]*> ori	at,at,0xa5a5
-0+00fc <[^>]*> div	zero,a1,at
-0+0100 <[^>]*> mflo	a0
-	...
-0+010c <[^>]*> divu	zero,a0,a1
-0+0110 <[^>]*> bnez	a1,0+011c <foo\+0x11c>
-0+0114 <[^>]*> divu	zero,a0,a1
-0+0118 <[^>]*> break	(0x0,0x7|0x7)
-0+011c <[^>]*> mflo	a0
-0+0120 <[^>]*> nop
-0+0124 <[^>]*> bnez	a2,0+0130 <foo\+0x130>
-0+0128 <[^>]*> divu	zero,a1,a2
-0+012c <[^>]*> break	(0x0,0x7|0x7)
-0+0130 <[^>]*> mflo	a0
-0+0134 <[^>]*> move	a0,a0
-0+0138 <[^>]*> bnez	a2,0+0144 <foo\+0x144>
-0+013c <[^>]*> div	zero,a1,a2
-0+0140 <[^>]*> break	(0x0,0x7|0x7)
-0+0144 <[^>]*> li	at,-1
-0+0148 <[^>]*> bne	a2,at,0+015c <foo\+0x15c>
-0+014c <[^>]*> lui	at,0x8000
-0+0150 <[^>]*> bne	a1,at,0+015c <foo\+0x15c>
-0+0154 <[^>]*> nop
-0+0158 <[^>]*> break	(0x0,0x6|0x6)
-0+015c <[^>]*> mfhi	a0
-0+0160 <[^>]*> li	at,2
-0+0164 <[^>]*> nop
-0+0168 <[^>]*> divu	zero,a1,at
-0+016c <[^>]*> mfhi	a0
-0+0170 <[^>]*> nop
-0+0174 <[^>]*> bnez	a2,0+0180 <foo\+0x180>
-0+0178 <[^>]*> ddiv	zero,a1,a2
-0+017c <[^>]*> break	(0x0,0x7|0x7)
-0+0180 <[^>]*> (daddiu	at,zero,-1|li	at,-1)
-0+0184 <[^>]*> bne	a2,at,0+019c <foo\+0x19c>
-0+0188 <[^>]*> (daddiu	at,zero,1|li	at,1)
-0+018c <[^>]*> dsll32	at,at,0x1f
-0+0190 <[^>]*> bne	a1,at,0+019c <foo\+0x19c>
-0+0194 <[^>]*> nop
-0+0198 <[^>]*> break	(0x0,0x6|0x6)
-0+019c <[^>]*> mflo	a0
-0+01a0 <[^>]*> li	at,2
-0+01a4 <[^>]*> nop
-0+01a8 <[^>]*> ddivu	zero,a1,at
-0+01ac <[^>]*> mflo	a0
-0+01b0 <[^>]*> li	at,0x8000
-0+01b4 <[^>]*> nop
-0+01b8 <[^>]*> ddiv	zero,a1,at
-0+01bc <[^>]*> mfhi	a0
-0+01c0 <[^>]*> li	at,-32768
-0+01c4 <[^>]*> nop
-0+01c8 <[^>]*> ddivu	zero,a1,at
-0+01cc <[^>]*> mfhi	a0
-	...
+#dump: mips1@div.d
diff --git a/gas/testsuite/gas/mips/mips3@div64.d b/gas/testsuite/gas/mips/mips3@div64.d
new file mode 100644
index 00000000000..1ca95a3588a
--- /dev/null
+++ b/gas/testsuite/gas/mips/mips3@div64.d
@@ -0,0 +1,34 @@
+#as: -32
+#objdump: -dr --prefix-addresses
+#name: MIPS 64-bit div
+#source: div64.s
+
+# Test the div macro.
+
+.*: +file format .*mips.*
+
+Disassembly of section .text:
+0+0000 <[^>]*> bnez	a2,0+000c <foo\+0xc>
+0+0004 <[^>]*> ddiv	zero,a1,a2
+0+0008 <[^>]*> break	(0x0,0x7|0x7)
+0+000c <[^>]*> (daddiu	at,zero,-1|li	at,-1)
+0+0010 <[^>]*> bne	a2,at,0+0028 <foo\+0x28>
+0+0014 <[^>]*> (daddiu	at,zero,1|li	at,1)
+0+0018 <[^>]*> dsll32	at,at,0x1f
+0+001c <[^>]*> bne	a1,at,0+0028 <foo\+0x28>
+0+0020 <[^>]*> nop
+0+0024 <[^>]*> break	(0x0,0x6|0x6)
+0+0028 <[^>]*> mflo	a0
+0+002c <[^>]*> li	at,2
+0+0030 <[^>]*> nop
+0+0034 <[^>]*> ddivu	zero,a1,at
+0+0038 <[^>]*> mflo	a0
+0+003c <[^>]*> li	at,0x8000
+0+0040 <[^>]*> nop
+0+0044 <[^>]*> ddiv	zero,a1,at
+0+0048 <[^>]*> mfhi	a0
+0+004c <[^>]*> li	at,-32768
+0+0050 <[^>]*> nop
+0+0054 <[^>]*> ddivu	zero,a1,at
+0+0058 <[^>]*> mfhi	a0
+	...
diff --git a/gas/testsuite/gas/mips/mips4@div.d b/gas/testsuite/gas/mips/mips4@div.d
index b513cd58852..f89764b87d3 100644
--- a/gas/testsuite/gas/mips/mips4@div.d
+++ b/gas/testsuite/gas/mips/mips4@div.d
@@ -2,4 +2,4 @@
 #objdump: -dr --prefix-addresses
 #name: MIPS div
 #source: div.s
-#dump: mips3@div.d
+#dump: mips1@div.d
diff --git a/gas/testsuite/gas/mips/mips4@div64.d b/gas/testsuite/gas/mips/mips4@div64.d
new file mode 100644
index 00000000000..9849e856976
--- /dev/null
+++ b/gas/testsuite/gas/mips/mips4@div64.d
@@ -0,0 +1,5 @@
+#as: -32
+#objdump: -dr --prefix-addresses
+#name: MIPS 64-bit div
+#source: div64.s
+#dump: mips3@div64.d
diff --git a/gas/testsuite/gas/mips/mips5@div.d b/gas/testsuite/gas/mips/mips5@div.d
index b513cd58852..f89764b87d3 100644
--- a/gas/testsuite/gas/mips/mips5@div.d
+++ b/gas/testsuite/gas/mips/mips5@div.d
@@ -2,4 +2,4 @@
 #objdump: -dr --prefix-addresses
 #name: MIPS div
 #source: div.s
-#dump: mips3@div.d
+#dump: mips1@div.d
diff --git a/gas/testsuite/gas/mips/mips5@div64.d b/gas/testsuite/gas/mips/mips5@div64.d
new file mode 100644
index 00000000000..9849e856976
--- /dev/null
+++ b/gas/testsuite/gas/mips/mips5@div64.d
@@ -0,0 +1,5 @@
+#as: -32
+#objdump: -dr --prefix-addresses
+#name: MIPS 64-bit div
+#source: div64.s
+#dump: mips3@div64.d
diff --git a/gas/testsuite/gas/mips/r3000@div.d b/gas/testsuite/gas/mips/r3000@div.d
new file mode 100644
index 00000000000..f89764b87d3
--- /dev/null
+++ b/gas/testsuite/gas/mips/r3000@div.d
@@ -0,0 +1,5 @@
+#as: -32
+#objdump: -dr --prefix-addresses
+#name: MIPS div
+#source: div.s
+#dump: mips1@div.d
diff --git a/gas/testsuite/gas/mips/r3900@div.d b/gas/testsuite/gas/mips/r3900@div.d
new file mode 100644
index 00000000000..f89764b87d3
--- /dev/null
+++ b/gas/testsuite/gas/mips/r3900@div.d
@@ -0,0 +1,5 @@
+#as: -32
+#objdump: -dr --prefix-addresses
+#name: MIPS div
+#source: div.s
+#dump: mips1@div.d
diff --git a/gas/testsuite/gas/mips/r4000@div.d b/gas/testsuite/gas/mips/r4000@div.d
index b513cd58852..f89764b87d3 100644
--- a/gas/testsuite/gas/mips/r4000@div.d
+++ b/gas/testsuite/gas/mips/r4000@div.d
@@ -2,4 +2,4 @@
 #objdump: -dr --prefix-addresses
 #name: MIPS div
 #source: div.s
-#dump: mips3@div.d
+#dump: mips1@div.d
diff --git a/gas/testsuite/gas/mips/r4000@div64.d b/gas/testsuite/gas/mips/r4000@div64.d
new file mode 100644
index 00000000000..9849e856976
--- /dev/null
+++ b/gas/testsuite/gas/mips/r4000@div64.d
@@ -0,0 +1,5 @@
+#as: -32
+#objdump: -dr --prefix-addresses
+#name: MIPS 64-bit div
+#source: div64.s
+#dump: mips3@div64.d
diff --git a/gas/testsuite/gas/mips/vr5400@div.d b/gas/testsuite/gas/mips/vr5400@div.d
index b513cd58852..f89764b87d3 100644
--- a/gas/testsuite/gas/mips/vr5400@div.d
+++ b/gas/testsuite/gas/mips/vr5400@div.d
@@ -2,4 +2,4 @@
 #objdump: -dr --prefix-addresses
 #name: MIPS div
 #source: div.s
-#dump: mips3@div.d
+#dump: mips1@div.d
diff --git a/gas/testsuite/gas/mips/vr5400@div64.d b/gas/testsuite/gas/mips/vr5400@div64.d
new file mode 100644
index 00000000000..9849e856976
--- /dev/null
+++ b/gas/testsuite/gas/mips/vr5400@div64.d
@@ -0,0 +1,5 @@
+#as: -32
+#objdump: -dr --prefix-addresses
+#name: MIPS 64-bit div
+#source: div64.s
+#dump: mips3@div64.d


More information about the Binutils-cvs mailing list