This is the mail archive of the
binutils@sources.redhat.com
mailing list for the binutils project.
Re: MIPS pseudo-insns and Re: Patch to add -mfp32 support to MIPS gas
- To: cgd at broadcom dot com
- Subject: Re: MIPS pseudo-insns and Re: Patch to add -mfp32 support to MIPS gas
- From: "H . J . Lu" <hjl at lucon dot org>
- Date: Sat, 4 Aug 2001 16:45:38 -0700
- Cc: r dot sandiford at redhat dot com, binutils at sources dot redhat dot com,echristo at redhat dot com
- References: <20010724223714.H14821@rembrandt.csv.ica.uni-stuttgart.de> <wvnbsm9qcim.fsf@talisman.cambridge.redhat.com> <996507067.1417.5.camel@ghostwheel.cygnus.com> <wvnelqxe0v5.fsf@talisman.cambridge.redhat.com> <996583321.24309.169.camel@ghostwheel.cygnus.com> <wvn8zh5dzf1.fsf@talisman.cambridge.redhat.com> <mailpost.996584774.27152@postal.sibyte.com> <yov5u1zo7lzp.fsf_-_@highland.sibyte.com> <yov5zo9god37.fsf@highland.sibyte.com>
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
-