This is the mail archive of the binutils@sources.redhat.com mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: MIPS pseudo-insns and Re: Patch to add -mfp32 support to MIPS gas


On Fri, Aug 03, 2001 at 05:58:36PM -0700, cgd@broadcom.com wrote:
> cgd@broadcom.com (Chris G. Demetriou) writes:
> > First, no good deed goes unpunished.  For doing the good deed of
> > adding test cases...  there are new test failures:
> > 
> > 	Test:				Fails on:
> > 
> > 	MIPS -mgp32 -mfp32		(a) (b)
> > 	MIPS -mgp32 -mfp64		(a) (b)
> > 	MIPS -mgp64 -mfp32		(a) (b)
> > 	MIPS -mgp64 -mfp64		(a) (b)
> > 	MIPS -mabi=32			(a) (b)
> > 	MIPS -mgp32 -mfp32 (SVR4 PIC)	(a)
> > 	MIPS -mgp32 -mfp64 (SVR4 PIC)	(a)
> > 	MIPS -mgp64 -mfp32 (SVR4 PIC)	(a)
> > 	MIPS -mgp64 -mfp64 (SVR4 PIC)	(a)
> > 	MIPS -mabi=32 (SVR4 PIC)	(a)
> > 
> > (a): mips-linux, mipsel-linux, mips64-linux, mips64el-linux
> > (b): mips-ecoff, mipsel-ecoff
> 
> i found a little time to look into these.  patches like the ones
> below, but applied to all 10 of the tests rather than just 2, should
> make the problems go away.
> 
> I don't really have time to fix them all, but thought you might want
> the info...
> 

Tested on mips-linux, mipsel-linux, mips64-linux and mips64el-linux. I will
check in this patch shortly.

Thanks.


H.J.
----
2001-08-04  H.J. Lu  <hjl@gnu.org>
	    Chris G. Demetriou <cgd@broadcom.com>

	* gas/mips/e32-rel4.s: Removed.

	* gas/mips/e32-rel4.d: Use elf-rel4.s.

	* gas/mips/mips-abi32-pic.d: Add lines for objdump.
	* gas/mips/mips-abi32.d: Likewise.
	* gas/mips/mips-gp32-fp32-pic.d: Likewise.
	* gas/mips/mips-gp32-fp32.d: Likewise.
	* gas/mips/mips-gp32-fp64-pic.d: Likewise.
	* gas/mips/mips-gp32-fp64.d: Likewise.
	* gas/mips/mips-gp64-fp32-pic.d: Likewise.
	* gas/mips/mips-gp64-fp32.d: Likewise.
	* gas/mips/mips-gp64-fp64-pic.d: Likewise.
	* gas/mips/mips-gp64-fp64.d: Likewise.

	* gas/mips/mips-abi32-pic.s: Add space for objdump.
	* gas/mips/mips-abi32.s: Likewise.
	* gas/mips/mips-gp32-fp32-pic.s: Likewise.
	* gas/mips/mips-gp32-fp32.s: Likewise.
	* gas/mips/mips-gp32-fp64-pic.s: Likewise.
	* gas/mips/mips-gp32-fp64.s: Likewise.
	* gas/mips/mips-gp64-fp32-pic.s: Likewise.
	* gas/mips/mips-gp64-fp32.s: Likewise.
	* gas/mips/mips-gp64-fp64-pic.s: Likewise.
	* gas/mips/mips-gp64-fp64.s: Likewise.

	* gas/mips/mips-abi32-pic.s: Add the missing .end.
	* gas/mips/mips-gp32-fp32-pic.s: Likewise.
	* gas/mips/mips-gp32-fp64-pic.s: Likewise.
	* gas/mips/mips-gp64-fp32-pic.s: Likewise.
	* gas/mips/mips-gp64-fp64-pic.s: Likewise.

	* gas/mips/mips.exp: Use the same rel4 test for litte endian.

Index: gas/mips/e32-rel4.d
===================================================================
RCS file: /work/cvs/gnu/binutils/gas/testsuite/gas/mips/e32-rel4.d,v
retrieving revision 1.1.1.1
diff -u -p -r1.1.1.1 e32-rel4.d
--- gas/mips/e32-rel4.d	2001/08/04 00:04:04	1.1.1.1
+++ gas/mips/e32-rel4.d	2001/08/04 23:41:00
@@ -1,5 +1,6 @@
 #objdump: --prefix-addresses -dr
 #name: MIPS ELF reloc 4
+#source: elf-rel4.s
 
 .*: +file format.*
 
Index: gas/mips/e32-rel4.s
===================================================================
RCS file: /work/cvs/gnu/binutils/gas/testsuite/gas/mips/e32-rel4.s,v
retrieving revision 1.1.1.1
diff -u -p -r1.1.1.1 e32-rel4.s
--- gas/mips/e32-rel4.s	2001/08/04 00:04:04	1.1.1.1
+++ gas/mips/e32-rel4.s	2001/08/04 23:41:14
@@ -1,12 +0,0 @@
-
-	.section .sdata
-	.global a
-	.4byte 1
-a:	.4byte 2
-
-	.section .text
-	la $4,a
-	la $4,a+4
-	la $4,a+8
-	la $4,a+12
-
Index: gas/mips/mips-abi32-pic.d
===================================================================
RCS file: /work/cvs/gnu/binutils/gas/testsuite/gas/mips/mips-abi32-pic.d,v
retrieving revision 1.1.1.1
diff -u -p -r1.1.1.1 mips-abi32-pic.d
--- gas/mips/mips-abi32-pic.d	2001/08/03 15:41:17	1.1.1.1
+++ gas/mips/mips-abi32-pic.d	2001/08/04 23:41:00
@@ -112,3 +112,6 @@ Disassembly of section .text:
  198:	24a40064 	addiu	a0,a1,100
  19c:	0004202b 	sltu	a0,zero,a0
  1a0:	00a02025 	move	a0,a1
+
+0+01a4 <[^>]*>:
+	...
Index: gas/mips/mips-abi32-pic.s
===================================================================
RCS file: /work/cvs/gnu/binutils/gas/testsuite/gas/mips/mips-abi32-pic.s,v
retrieving revision 1.1.1.1
diff -u -p -r1.1.1.1 mips-abi32-pic.s
--- gas/mips/mips-abi32-pic.s	2001/08/03 15:41:17	1.1.1.1
+++ gas/mips/mips-abi32-pic.s	2001/08/04 23:41:00
@@ -137,4 +137,9 @@ func:
 # Should produce warnings given -mfp32
 #	add.d	$f1, $f2, $f3
 
+	.end	func
+
 end:
+
+# Force at least 8 (non-delay-slot) zero bytes, to make 'objdump' print ...
+	.space	8
Index: gas/mips/mips-abi32.d
===================================================================
RCS file: /work/cvs/gnu/binutils/gas/testsuite/gas/mips/mips-abi32.d,v
retrieving revision 1.1.1.1
diff -u -p -r1.1.1.1 mips-abi32.d
--- gas/mips/mips-abi32.d	2001/08/03 15:41:17	1.1.1.1
+++ gas/mips/mips-abi32.d	2001/08/04 23:41:00
@@ -73,3 +73,6 @@ Disassembly of section .text:
   fc:	24a40064 	addiu	a0,a1,100
  100:	0004202b 	sltu	a0,zero,a0
  104:	00a02025 	move	a0,a1
+
+0+0108 <[^>]*>:
+	...
Index: gas/mips/mips-abi32.s
===================================================================
RCS file: /work/cvs/gnu/binutils/gas/testsuite/gas/mips/mips-abi32.s,v
retrieving revision 1.1.1.1
diff -u -p -r1.1.1.1 mips-abi32.s
--- gas/mips/mips-abi32.s	2001/08/03 15:41:17	1.1.1.1
+++ gas/mips/mips-abi32.s	2001/08/04 23:41:00
@@ -97,3 +97,6 @@ func:
 #	add.d	$f1, $f2, $f3
 
 end:
+
+# Force at least 8 (non-delay-slot) zero bytes, to make 'objdump' print ...
+	.space	8
Index: gas/mips/mips-gp32-fp32-pic.d
===================================================================
RCS file: /work/cvs/gnu/binutils/gas/testsuite/gas/mips/mips-gp32-fp32-pic.d,v
retrieving revision 1.1.1.1
diff -u -p -r1.1.1.1 mips-gp32-fp32-pic.d
--- gas/mips/mips-gp32-fp32-pic.d	2001/08/03 15:41:17	1.1.1.1
+++ gas/mips/mips-gp32-fp32-pic.d	2001/08/04 23:41:00
@@ -112,3 +112,6 @@ Disassembly of section .text:
  198:	24a40064 	addiu	a0,a1,100
  19c:	0004202b 	sltu	a0,zero,a0
  1a0:	00a02025 	move	a0,a1
+
+0+01a4 <[^>]*>:
+	...
Index: gas/mips/mips-gp32-fp32-pic.s
===================================================================
RCS file: /work/cvs/gnu/binutils/gas/testsuite/gas/mips/mips-gp32-fp32-pic.s,v
retrieving revision 1.1.1.1
diff -u -p -r1.1.1.1 mips-gp32-fp32-pic.s
--- gas/mips/mips-gp32-fp32-pic.s	2001/08/03 15:41:17	1.1.1.1
+++ gas/mips/mips-gp32-fp32-pic.s	2001/08/04 23:41:00
@@ -137,4 +137,9 @@ func:
 # Should produce warnings given -mfp32
 #	add.d	$f1, $f2, $f3
 
+	.end	func
+
 end:
+
+# Force at least 8 (non-delay-slot) zero bytes, to make 'objdump' print ...
+      .space  8
Index: gas/mips/mips-gp32-fp32.d
===================================================================
RCS file: /work/cvs/gnu/binutils/gas/testsuite/gas/mips/mips-gp32-fp32.d,v
retrieving revision 1.1.1.1
diff -u -p -r1.1.1.1 mips-gp32-fp32.d
--- gas/mips/mips-gp32-fp32.d	2001/08/03 15:41:17	1.1.1.1
+++ gas/mips/mips-gp32-fp32.d	2001/08/04 23:43:02
@@ -73,3 +73,6 @@ Disassembly of section .text:
   fc:	24a40064 	addiu	a0,a1,100
  100:	0004202b 	sltu	a0,zero,a0
  104:	00a02025 	move	a0,a1
+
+0+0108 <[^>]*>:
+	...
Index: gas/mips/mips-gp32-fp32.s
===================================================================
RCS file: /work/cvs/gnu/binutils/gas/testsuite/gas/mips/mips-gp32-fp32.s,v
retrieving revision 1.1.1.1
diff -u -p -r1.1.1.1 mips-gp32-fp32.s
--- gas/mips/mips-gp32-fp32.s	2001/08/03 15:41:17	1.1.1.1
+++ gas/mips/mips-gp32-fp32.s	2001/08/04 23:41:00
@@ -97,3 +97,6 @@ func:
 #	add.d	$f1, $f2, $f3
 
 end:
+
+# Force at least 8 (non-delay-slot) zero bytes, to make 'objdump' print ...
+      .space  8
Index: gas/mips/mips-gp32-fp64-pic.d
===================================================================
RCS file: /work/cvs/gnu/binutils/gas/testsuite/gas/mips/mips-gp32-fp64-pic.d,v
retrieving revision 1.1.1.1
diff -u -p -r1.1.1.1 mips-gp32-fp64-pic.d
--- gas/mips/mips-gp32-fp64-pic.d	2001/08/03 15:41:17	1.1.1.1
+++ gas/mips/mips-gp32-fp64-pic.d	2001/08/04 23:41:00
@@ -112,3 +112,6 @@ Disassembly of section .text:
  198:	0004202b 	sltu	a0,zero,a0
  19c:	00a02025 	move	a0,a1
  1a0:	46231040 	add.d	\$f1,\$f2,\$f3
+
+0+01a4 <[^>]*>:
+	...
Index: gas/mips/mips-gp32-fp64-pic.s
===================================================================
RCS file: /work/cvs/gnu/binutils/gas/testsuite/gas/mips/mips-gp32-fp64-pic.s,v
retrieving revision 1.1.1.1
diff -u -p -r1.1.1.1 mips-gp32-fp64-pic.s
--- gas/mips/mips-gp32-fp64-pic.s	2001/08/03 15:41:17	1.1.1.1
+++ gas/mips/mips-gp32-fp64-pic.s	2001/08/04 23:41:00
@@ -136,4 +136,8 @@ func:
 # Should produce warnings given -mfp32
 	add.d	$f1, $f2, $f3	# 01a0 add.d	$f1,$f2,$f3
 
+	.end	func
 end:
+
+# Force at least 8 (non-delay-slot) zero bytes, to make 'objdump' print ...
+	.space	8
Index: gas/mips/mips-gp32-fp64.d
===================================================================
RCS file: /work/cvs/gnu/binutils/gas/testsuite/gas/mips/mips-gp32-fp64.d,v
retrieving revision 1.1.1.1
diff -u -p -r1.1.1.1 mips-gp32-fp64.d
--- gas/mips/mips-gp32-fp64.d	2001/08/03 15:41:17	1.1.1.1
+++ gas/mips/mips-gp32-fp64.d	2001/08/04 23:41:00
@@ -72,3 +72,6 @@ Disassembly of section .text:
   f8:	0004202b 	sltu	a0,zero,a0
   fc:	00a02025 	move	a0,a1
  100:	46231040 	add.d	\$f1,\$f2,\$f3
+
+0+0104 <[^>]*>:
+	...
Index: gas/mips/mips-gp32-fp64.s
===================================================================
RCS file: /work/cvs/gnu/binutils/gas/testsuite/gas/mips/mips-gp32-fp64.s,v
retrieving revision 1.1.1.1
diff -u -p -r1.1.1.1 mips-gp32-fp64.s
--- gas/mips/mips-gp32-fp64.s	2001/08/03 15:41:17	1.1.1.1
+++ gas/mips/mips-gp32-fp64.s	2001/08/04 23:41:00
@@ -94,3 +94,6 @@ func:
 	add.d	$f1, $f2, $f3	# 0100 add.d	$f1,$f2,$f3
 
 end:
+
+# Force at least 8 (non-delay-slot) zero bytes, to make 'objdump' print ...
+	.space	8
Index: gas/mips/mips-gp64-fp32-pic.d
===================================================================
RCS file: /work/cvs/gnu/binutils/gas/testsuite/gas/mips/mips-gp64-fp32-pic.d,v
retrieving revision 1.1.1.1
diff -u -p -r1.1.1.1 mips-gp64-fp32-pic.d
--- gas/mips/mips-gp64-fp32-pic.d	2001/08/03 15:41:17	1.1.1.1
+++ gas/mips/mips-gp64-fp32-pic.d	2001/08/04 23:41:01
@@ -145,3 +145,6 @@ Disassembly of section .text:
  21c:	0081082b 	sltu	at,a0,at
  220:	14200001 	bnez	at,228 <[^>]*>
  224:	00000000 	nop
+
+0+0228 <[^>]*>:
+	...
Index: gas/mips/mips-gp64-fp32-pic.s
===================================================================
RCS file: /work/cvs/gnu/binutils/gas/testsuite/gas/mips/mips-gp64-fp32-pic.s,v
retrieving revision 1.1.1.1
diff -u -p -r1.1.1.1 mips-gp64-fp32-pic.s
--- gas/mips/mips-gp64-fp32-pic.s	2001/08/03 15:41:17	1.1.1.1
+++ gas/mips/mips-gp64-fp32-pic.s	2001/08/04 23:41:01
@@ -160,4 +160,8 @@ func:
 # Should produce warnings given -mfp32
 #	add.d	$f1, $f2, $f3
 
+	.end	func
 end:
+
+# Force at least 8 (non-delay-slot) zero bytes, to make 'objdump' print ...
+	.space	8
Index: gas/mips/mips-gp64-fp32.d
===================================================================
RCS file: /work/cvs/gnu/binutils/gas/testsuite/gas/mips/mips-gp64-fp32.d,v
retrieving revision 1.1.1.1
diff -u -p -r1.1.1.1 mips-gp64-fp32.d
--- gas/mips/mips-gp64-fp32.d	2001/08/03 15:41:17	1.1.1.1
+++ gas/mips/mips-gp64-fp32.d	2001/08/04 23:41:01
@@ -92,3 +92,6 @@ Disassembly of section .text:
  148:	00010c78 	dsll	at,at,0x11
  14c:	0081082b 	sltu	at,a0,at
  150:	14200000 	bnez	at,154 <[^>]*>
+
+0+0154 <[^>]*>:
+	...
Index: gas/mips/mips-gp64-fp32.s
===================================================================
RCS file: /work/cvs/gnu/binutils/gas/testsuite/gas/mips/mips-gp64-fp32.s,v
retrieving revision 1.1.1.1
diff -u -p -r1.1.1.1 mips-gp64-fp32.s
--- gas/mips/mips-gp64-fp32.s	2001/08/03 15:41:17	1.1.1.1
+++ gas/mips/mips-gp64-fp32.s	2001/08/04 23:41:01
@@ -106,3 +106,6 @@ func:
 #	add.d	$f1, $f2, $f3
 
 end:
+
+# Force at least 8 (non-delay-slot) zero bytes, to make 'objdump' print ...
+	.space	8
Index: gas/mips/mips-gp64-fp64-pic.d
===================================================================
RCS file: /work/cvs/gnu/binutils/gas/testsuite/gas/mips/mips-gp64-fp64-pic.d,v
retrieving revision 1.1.1.1
diff -u -p -r1.1.1.1 mips-gp64-fp64-pic.d
--- gas/mips/mips-gp64-fp64-pic.d	2001/08/03 15:41:17	1.1.1.1
+++ gas/mips/mips-gp64-fp64-pic.d	2001/08/04 23:41:01
@@ -146,3 +146,6 @@ Disassembly of section .text:
  220:	14200002 	bnez	at,22c <[^>]*>
  224:	00000000 	nop
  228:	46231040 	add.d	\$f1,\$f2,\$f3
+
+0+022c <[^>]*>:
+	...
Index: gas/mips/mips-gp64-fp64-pic.s
===================================================================
RCS file: /work/cvs/gnu/binutils/gas/testsuite/gas/mips/mips-gp64-fp64-pic.s,v
retrieving revision 1.1.1.1
diff -u -p -r1.1.1.1 mips-gp64-fp64-pic.s
--- gas/mips/mips-gp64-fp64-pic.s	2001/08/03 15:41:17	1.1.1.1
+++ gas/mips/mips-gp64-fp64-pic.s	2001/08/04 23:41:01
@@ -159,4 +159,8 @@ func:
 
 	add.d	$f1, $f2, $f3	# 0228 add.d	$f1,$f2,$f3
 
+	.end	func
 end:
+
+# Force at least 8 (non-delay-slot) zero bytes, to make 'objdump' print ...
+	.space	8
Index: gas/mips/mips-gp64-fp64.d
===================================================================
RCS file: /work/cvs/gnu/binutils/gas/testsuite/gas/mips/mips-gp64-fp64.d,v
retrieving revision 1.1.1.1
diff -u -p -r1.1.1.1 mips-gp64-fp64.d
--- gas/mips/mips-gp64-fp64.d	2001/08/03 15:41:17	1.1.1.1
+++ gas/mips/mips-gp64-fp64.d	2001/08/04 23:41:01
@@ -93,3 +93,6 @@ Disassembly of section .text:
  14c:	0081082b 	sltu	at,a0,at
  150:	14200001 	bnez	at,158 <[^>]*>
  154:	46231040 	add.d	\$f1,\$f2,\$f3
+
+0+0158 <[^>]*>:
+	...
Index: gas/mips/mips-gp64-fp64.s
===================================================================
RCS file: /work/cvs/gnu/binutils/gas/testsuite/gas/mips/mips-gp64-fp64.s,v
retrieving revision 1.1.1.1
diff -u -p -r1.1.1.1 mips-gp64-fp64.s
--- gas/mips/mips-gp64-fp64.s	2001/08/03 15:41:17	1.1.1.1
+++ gas/mips/mips-gp64-fp64.s	2001/08/04 23:41:01
@@ -104,3 +104,6 @@ func:
 
 	add.d	$f1, $f2, $f3	# 0154 add.d	$f1,$f2,$f3
 end:
+
+# Force at least 8 (non-delay-slot) zero bytes, to make 'objdump' print ...
+	.space	8
Index: gas/mips/mips.exp
===================================================================
RCS file: /work/cvs/gnu/binutils/gas/testsuite/gas/mips/mips.exp,v
retrieving revision 1.1.1.14
diff -u -p -r1.1.1.14 mips.exp
--- gas/mips/mips.exp	2001/08/04 00:04:00	1.1.1.14
+++ gas/mips/mips.exp	2001/08/04 23:41:01
@@ -151,10 +151,10 @@ if { [istarget mips*-*-*] } then {
 	run_dump_test "elf${el}-rel"
 	if [istarget mips64*-*-*] { 
 	    run_dump_test "elf${el}-rel2"
-	    run_dump_test "elf${el}-rel4"
+	    run_dump_test "elf-rel4"
 	} {
 	    run_dump_test "e32${el}-rel2"
-	    run_dump_test "e32${el}-rel4"
+	    run_dump_test "e32-rel4"
 	}
 	run_dump_test "elf${el}-rel3"
 	run_dump_test "${tmips}${el}empic"
--- gas/mips/e32-rel4.s.orig	Fri Aug  3 17:04:04 2001
+++ gas/mips/e32-rel4.s	Sat Aug  4 16:41:14 2001
@@ -1,12 +0,0 @@
-
-	.section .sdata
-	.global a
-	.4byte 1
-a:	.4byte 2
-
-	.section .text
-	la $4,a
-	la $4,a+4
-	la $4,a+8
-	la $4,a+12
-


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]