aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThiemo Seufer <ths@networkno.de>2002-02-25 13:21:38 +0000
committerThiemo Seufer <ths@networkno.de>2002-02-25 13:21:38 +0000
commit4d34fb5fed403853dee153493a9018a5c63d7d64 (patch)
treeee8ea53994f532595d8a0b084184ac995660f5d7
parent9e32ca895c9d43620d62c63d7f3cc99da6b5df3a (diff)
downloadfsf-binutils-gdb-4d34fb5fed403853dee153493a9018a5c63d7d64.zip
fsf-binutils-gdb-4d34fb5fed403853dee153493a9018a5c63d7d64.tar.gz
fsf-binutils-gdb-4d34fb5fed403853dee153493a9018a5c63d7d64.tar.bz2
* config/tc-mips.c (set_at): Fix handling of 64bit register loads.
(macro): Likewise. Fix la/dla address expansions for EMBEDDED_PIC and NO_PIC cases. Code cleanup. (macro2): Fix handling of 64bit register loads. * mips-gp64-fp32-pic.d: Fix test of 64bit register loads. * mips-gp64-fp32-pic.s: Likewise. * mips-gp64-fp32.d: Likewise. * mips-gp64-fp32.s: Likewise. * mips-gp64-fp64-pic.d: Likewise. * mips-gp64-fp64-pic.s: Likewise. * mips-gp64-fp64.d: Likewise. * mips-gp64-fp64.s: Likewise.
-rw-r--r--gas/ChangeLog7
-rw-r--r--gas/config/tc-mips.c56
-rw-r--r--gas/testsuite/ChangeLog11
-rw-r--r--gas/testsuite/gas/mips/mips-gp64-fp32-pic.d54
-rw-r--r--gas/testsuite/gas/mips/mips-gp64-fp32-pic.s42
-rw-r--r--gas/testsuite/gas/mips/mips-gp64-fp32.d42
-rw-r--r--gas/testsuite/gas/mips/mips-gp64-fp32.s30
-rw-r--r--gas/testsuite/gas/mips/mips-gp64-fp64-pic.d56
-rw-r--r--gas/testsuite/gas/mips/mips-gp64-fp64-pic.s44
-rw-r--r--gas/testsuite/gas/mips/mips-gp64-fp64.d44
-rw-r--r--gas/testsuite/gas/mips/mips-gp64-fp64.s32
11 files changed, 231 insertions, 187 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog
index 5fb24c2..fa45c7c 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -1,3 +1,10 @@
+2002-02-25 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
+
+ * config/tc-mips.c (set_at): Fix handling of 64bit register loads.
+ (macro): Likewise. Fix la/dla address expansions for EMBEDDED_PIC
+ and NO_PIC cases. Code cleanup.
+ (macro2): Fix handling of 64bit register loads.
+
2002-02-25 David Mosberger <davidm@hpl.hp.com>
* doc/as.texinfo: Add entry for IA64.
diff --git a/gas/config/tc-mips.c b/gas/config/tc-mips.c
index 99e5266..048d445 100644
--- a/gas/config/tc-mips.c
+++ b/gas/config/tc-mips.c
@@ -3257,7 +3257,7 @@ set_at (counter, reg, unsignedp)
"t,r,j", AT, reg, (int) BFD_RELOC_LO16);
else
{
- load_register (counter, AT, &imm_expr, 0);
+ load_register (counter, AT, &imm_expr, HAVE_64BIT_GPRS);
macro_build ((char *) NULL, counter, (expressionS *) NULL,
unsignedp ? "sltu" : "slt",
"d,v,t", AT, reg, AT);
@@ -4024,7 +4024,7 @@ macro (ip)
0);
return;
}
- load_register (&icnt, AT, &imm_expr, 0);
+ load_register (&icnt, AT, &imm_expr, HAVE_64BIT_GPRS);
macro_build ((char *) NULL, &icnt, &offset_expr, s, "s,t,p", sreg, AT);
break;
@@ -4616,11 +4616,11 @@ macro (ip)
macro_build ((char *) NULL, &icnt, &offset_expr, "lui", "t,u",
tempreg, (int) BFD_RELOC_PCREL_HI16_S);
macro_build ((char *) NULL, &icnt, (expressionS *) NULL,
- HAVE_32BIT_ADDRESSES ? "addu" : "daddu",
+ (dbl || HAVE_64BIT_ADDRESSES) ? "daddu" : "addu",
"d,v,t", tempreg, tempreg, breg);
}
macro_build ((char *) NULL, &icnt, &offset_expr,
- HAVE_32BIT_ADDRESSES ? "addiu" : "daddiu",
+ (dbl || HAVE_64BIT_ADDRESSES) ? "daddiu" : "addiu",
"t,r,j", treg, tempreg, (int) BFD_RELOC_PCREL_LO16);
if (! used_at)
return;
@@ -4635,7 +4635,10 @@ macro (ip)
}
if (offset_expr.X_op == O_constant)
- load_register (&icnt, tempreg, &offset_expr, dbl);
+ load_register (&icnt, tempreg, &offset_expr,
+ ((mips_pic == EMBEDDED_PIC || mips_pic == NO_PIC)
+ ? (dbl || HAVE_64BIT_ADDRESSES)
+ : HAVE_64BIT_ADDRESSES));
else if (mips_pic == NO_PIC)
{
/* If this is a reference to a GP relative symbol, we want
@@ -4707,8 +4710,7 @@ macro (ip)
&& ! nopic_need_relax (offset_expr.X_add_symbol, 1))
{
frag_grow (20);
- macro_build ((char *) NULL, &icnt, &offset_expr,
- HAVE_32BIT_ADDRESSES ? "addiu" : "daddiu",
+ macro_build ((char *) NULL, &icnt, &offset_expr, "addiu",
"t,r,j", tempreg, GP, (int) BFD_RELOC_GPREL16);
p = frag_var (rs_machine_dependent, 8, 0,
RELAX_ENCODE (4, 8, 0, 4, 0,
@@ -4718,8 +4720,7 @@ macro (ip)
macro_build_lui (p, &icnt, &offset_expr, tempreg);
if (p != NULL)
p += 4;
- macro_build (p, &icnt, &offset_expr,
- HAVE_32BIT_ADDRESSES ? "addiu" : "daddiu",
+ macro_build (p, &icnt, &offset_expr, "addiu",
"t,r,j", tempreg, tempreg, (int) BFD_RELOC_LO16);
}
}
@@ -4760,7 +4761,8 @@ macro (ip)
frag_grow (32);
if (expr1.X_add_number == 0 && tempreg == PIC_CALL_REG)
lw_reloc_type = (int) BFD_RELOC_MIPS_CALL16;
- macro_build ((char *) NULL, &icnt, &offset_expr, dbl ? "ld" : "lw",
+ macro_build ((char *) NULL, &icnt, &offset_expr,
+ HAVE_32BIT_ADDRESSES ? "lw" : "ld",
"t,o(b)", tempreg, lw_reloc_type, GP);
if (expr1.X_add_number == 0)
{
@@ -4915,7 +4917,7 @@ macro (ip)
HAVE_32BIT_ADDRESSES ? "addu" : "daddu",
"d,v,t", tempreg, tempreg, GP);
macro_build ((char *) NULL, &icnt, &offset_expr,
- dbl ? "ld" : "lw",
+ HAVE_32BIT_ADDRESSES ? "lw" : "ld",
"t,o(b)", tempreg, lw_reloc_type, tempreg);
if (expr1.X_add_number == 0)
{
@@ -5018,7 +5020,7 @@ macro (ip)
p += 4;
}
macro_build (p, &icnt, &offset_expr,
- dbl ? "ld" : "lw",
+ HAVE_32BIT_ADDRESSES ? "lw" : "ld",
"t,o(b)", tempreg, (int) BFD_RELOC_MIPS_GOT16, GP);
p += 4;
if (expr1.X_add_number >= -0x8000
@@ -5079,9 +5081,17 @@ macro (ip)
abort ();
if (breg != 0)
- macro_build ((char *) NULL, &icnt, (expressionS *) NULL,
- HAVE_32BIT_ADDRESSES ? "addu" : "daddu",
- "d,v,t", treg, tempreg, breg);
+ {
+ char *s;
+
+ if (mips_pic == EMBEDDED_PIC || mips_pic == NO_PIC)
+ s = (dbl || HAVE_64BIT_ADDRESSES) ? "daddu" : "addu";
+ else
+ s = HAVE_64BIT_ADDRESSES ? "daddu" : "addu";
+
+ macro_build ((char *) NULL, &icnt, (expressionS *) NULL, s,
+ "d,v,t", treg, tempreg, breg);
+ }
if (! used_at)
return;
@@ -6751,7 +6761,7 @@ macro2 (ip)
}
else
{
- load_register (&icnt, AT, &imm_expr, 0);
+ load_register (&icnt, AT, &imm_expr, HAVE_64BIT_GPRS);
macro_build ((char *) NULL, &icnt, (expressionS *) NULL, "xor",
"d,v,t", dreg, sreg, AT);
used_at = 1;
@@ -6787,7 +6797,7 @@ macro2 (ip)
}
else
{
- load_register (&icnt, AT, &imm_expr, 0);
+ load_register (&icnt, AT, &imm_expr, HAVE_64BIT_GPRS);
macro_build ((char *) NULL, &icnt, (expressionS *) NULL,
mask == M_SGE_I ? "slt" : "sltu", "d,v,t", dreg, sreg,
AT);
@@ -6815,7 +6825,7 @@ macro2 (ip)
case M_SGTU_I:
s = "sltu";
sgti:
- load_register (&icnt, AT, &imm_expr, 0);
+ load_register (&icnt, AT, &imm_expr, HAVE_64BIT_GPRS);
macro_build ((char *) NULL, &icnt, (expressionS *) NULL, s, "d,v,t",
dreg, AT, sreg);
break;
@@ -6838,7 +6848,7 @@ macro2 (ip)
case M_SLEU_I:
s = "sltu";
slei:
- load_register (&icnt, AT, &imm_expr, 0);
+ load_register (&icnt, AT, &imm_expr, HAVE_64BIT_GPRS);
macro_build ((char *) NULL, &icnt, (expressionS *) NULL, s, "d,v,t",
dreg, AT, sreg);
macro_build ((char *) NULL, &icnt, &expr1, "xori", "t,r,i", dreg, dreg,
@@ -6854,7 +6864,7 @@ macro2 (ip)
dreg, sreg, (int) BFD_RELOC_LO16);
return;
}
- load_register (&icnt, AT, &imm_expr, 0);
+ load_register (&icnt, AT, &imm_expr, HAVE_64BIT_GPRS);
macro_build ((char *) NULL, &icnt, (expressionS *) NULL, "slt", "d,v,t",
dreg, sreg, AT);
break;
@@ -6868,7 +6878,7 @@ macro2 (ip)
dreg, sreg, (int) BFD_RELOC_LO16);
return;
}
- load_register (&icnt, AT, &imm_expr, 0);
+ load_register (&icnt, AT, &imm_expr, HAVE_64BIT_GPRS);
macro_build ((char *) NULL, &icnt, (expressionS *) NULL, "sltu",
"d,v,t", dreg, sreg, AT);
break;
@@ -6925,7 +6935,7 @@ macro2 (ip)
}
else
{
- load_register (&icnt, AT, &imm_expr, 0);
+ load_register (&icnt, AT, &imm_expr, HAVE_64BIT_GPRS);
macro_build ((char *) NULL, &icnt, (expressionS *) NULL, "xor",
"d,v,t", dreg, sreg, AT);
used_at = 1;
@@ -6990,7 +7000,7 @@ macro2 (ip)
case M_TNE_I:
s = "tne";
trap:
- load_register (&icnt, AT, &imm_expr, 0);
+ load_register (&icnt, AT, &imm_expr, HAVE_64BIT_GPRS);
macro_build ((char *) NULL, &icnt, (expressionS *) NULL, s, "s,t", sreg,
AT);
break;
diff --git a/gas/testsuite/ChangeLog b/gas/testsuite/ChangeLog
index fb10158..d8617cf 100644
--- a/gas/testsuite/ChangeLog
+++ b/gas/testsuite/ChangeLog
@@ -1,3 +1,14 @@
+2002-02-25 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
+
+ * mips-gp64-fp32-pic.d: Fix test of 64bit register loads.
+ * mips-gp64-fp32-pic.s: Likewise.
+ * mips-gp64-fp32.d: Likewise.
+ * mips-gp64-fp32.s: Likewise.
+ * mips-gp64-fp64-pic.d: Likewise.
+ * mips-gp64-fp64-pic.s: Likewise.
+ * mips-gp64-fp64.d: Likewise.
+ * mips-gp64-fp64.s: Likewise.
+
2002-02-25 Alan Modra <amodra@bigpond.net.au>
* gas/hppa/reloc/reloc.exp: Update copyright date.
diff --git a/gas/testsuite/gas/mips/mips-gp64-fp32-pic.d b/gas/testsuite/gas/mips/mips-gp64-fp32-pic.d
index 27ad78c..a05e1e0 100644
--- a/gas/testsuite/gas/mips/mips-gp64-fp32-pic.d
+++ b/gas/testsuite/gas/mips/mips-gp64-fp32-pic.d
@@ -22,12 +22,12 @@ Disassembly of section .text:
30: 24840000 addiu a0,a0,0
34: 8f840000 lw a0,0\(gp\)
38: 00000000 nop
- 3c: 24840228 addiu a0,a0,552
- 40: 10000079 b 228 <[^>]*>
+ 3c: 24840230 addiu a0,a0,560
+ 40: 1000007b b 230 <[^>]*>
44: 00000000 nop
48: 8f990000 lw t9,0\(gp\)
4c: 00000000 nop
- 50: 27390228 addiu t9,t9,552
+ 50: 27390230 addiu t9,t9,560
54: 0320f809 jalr t9
58: 00000000 nop
5c: 8fbc0008 lw gp,8\(sp\)
@@ -41,7 +41,7 @@ Disassembly of section .text:
7c: 8c840000 lw a0,0\(a0\)
80: 8f840000 lw a0,0\(gp\)
84: 00000000 nop
- 88: 24840228 addiu a0,a0,552
+ 88: 24840230 addiu a0,a0,560
8c: 8c840000 lw a0,0\(a0\)
90: 8f840000 lw a0,0\(gp\)
94: 00000000 nop
@@ -53,7 +53,7 @@ Disassembly of section .text:
ac: dc840000 ld a0,0\(a0\)
b0: 8f840000 lw a0,0\(gp\)
b4: 00000000 nop
- b8: 24840228 addiu a0,a0,552
+ b8: 24840230 addiu a0,a0,560
bc: dc840000 ld a0,0\(a0\)
c0: 8f810000 lw at,0\(gp\)
c4: 00000000 nop
@@ -111,10 +111,10 @@ Disassembly of section .text:
194: 64a40064 daddiu a0,a1,100
198: 0004202b sltu a0,zero,a0
19c: 00a0202d move a0,a1
- 1a0: df840000 ld a0,0\(gp\)
+ 1a0: 8f840000 lw a0,0\(gp\)
1a4: 00000000 nop
1a8: 24840000 addiu a0,a0,0
- 1ac: df840000 ld a0,0\(gp\)
+ 1ac: 8f840000 lw a0,0\(gp\)
1b0: 00000000 nop
1b4: 24840000 addiu a0,a0,0
1b8: 8f810000 lw at,0\(gp\)
@@ -127,24 +127,26 @@ Disassembly of section .text:
1d4: 24210000 addiu at,at,0
1d8: b0240000 sdl a0,0\(at\)
1dc: b4240007 sdr a0,7\(at\)
- 1e0: 3c018000 lui at,0x8000
- 1e4: 0081082a slt at,a0,at
- 1e8: 1020000f beqz at,228 <[^>]*>
- 1ec: 00000000 nop
- 1f0: 34018000 li at,0x8000
- 1f4: 00010c78 dsll at,at,0x11
- 1f8: 0081082b sltu at,a0,at
- 1fc: 1020000a beqz at,228 <[^>]*>
- 200: 00000000 nop
- 204: 3c018000 lui at,0x8000
- 208: 0081082a slt at,a0,at
- 20c: 14200006 bnez at,228 <[^>]*>
- 210: 00000000 nop
- 214: 34018000 li at,0x8000
- 218: 00010c78 dsll at,at,0x11
- 21c: 0081082b sltu at,a0,at
- 220: 14200001 bnez at,228 <[^>]*>
- 224: 00000000 nop
+ 1e0: 34018000 li at,0x8000
+ 1e4: 00010c38 dsll at,at,0x10
+ 1e8: 0081082a slt at,a0,at
+ 1ec: 10200010 beqz at,230 <[^>]*>
+ 1f0: 00000000 nop
+ 1f4: 34018000 li at,0x8000
+ 1f8: 00010c78 dsll at,at,0x11
+ 1fc: 0081082b sltu at,a0,at
+ 200: 1020000b beqz at,230 <[^>]*>
+ 204: 00000000 nop
+ 208: 34018000 li at,0x8000
+ 20c: 00010c38 dsll at,at,0x10
+ 210: 0081082a slt at,a0,at
+ 214: 14200006 bnez at,230 <[^>]*>
+ 218: 00000000 nop
+ 21c: 34018000 li at,0x8000
+ 220: 00010c78 dsll at,at,0x11
+ 224: 0081082b sltu at,a0,at
+ 228: 14200001 bnez at,230 <[^>]*>
+ 22c: 00000000 nop
-0+0228 <[^>]*>:
+0+0230 <[^>]*>:
...
diff --git a/gas/testsuite/gas/mips/mips-gp64-fp32-pic.s b/gas/testsuite/gas/mips/mips-gp64-fp32-pic.s
index 6d62890..b00370e 100644
--- a/gas/testsuite/gas/mips/mips-gp64-fp32-pic.s
+++ b/gas/testsuite/gas/mips/mips-gp64-fp32-pic.s
@@ -120,10 +120,10 @@ func:
# 0198 sltu a0,zero,a0
move $4, $5 # 019c move a0,a1
- dla $4, shared # 01a0 ld a0,got(.sdata)(gp)
+ dla $4, shared # 01a0 lw a0,got(.sdata)(gp)
# 01a4 nop
# 01a8 addiu a0,a0,lo(shared)
- dla $4, unshared # 01ac ld a0,got(.data)(gp)
+ dla $4, unshared # 01ac lw a0,got(.data)(gp)
# 01b0 nop
# 01b4 addiu a0,a0,lo(unshared)
uld $4, unshared # 01b8 lw at,got(.data)(gp)
@@ -137,24 +137,26 @@ func:
# 01d8 sdl a0,0(at)
# 01dc sdr a0,7(at)
- bgt $4, 0x7fffffff, end # 01e0 lui at,0x8000
- # 01e4 slt at,a0,at
- # 01e8 beqz at,end
- # 01ec nop
- bgtu $4, 0xffffffff, end # 01f0 li at,0x8000
- # 01f4 dsll at,at,17
- # 01f8 sltu at,a0,at
- # 01fc beqz at,end
- # 0200 nop
- ble $4, 0x7fffffff, end # 0204 lui at,0x8000
- # 0208 slt at,a0,at
- # 020c bnez at,end
- # 0210 nop
- bleu $4, 0xffffffff, end # 0214 li at,0x8000
- # 0218 dsll at,at,17
- # 021c sltu at,a0,at
- # 0220 bnez at,end
- # 0224 nop
+ bgt $4, 0x7fffffff, end # 01e0 li at,0x8000
+ # 01e4 dsll at,at,0x10
+ # 01e8 slt at,a0,at
+ # 01ec beqz at,end
+ # 01f0 nop
+ bgtu $4, 0xffffffff, end # 01f4 li at,0x8000
+ # 01f8 dsll at,at,17
+ # 01fc sltu at,a0,at
+ # 0200 beqz at,end
+ # 0204 nop
+ ble $4, 0x7fffffff, end # 0208 li at,0x8000
+ # 020c dsll at,at,0x10
+ # 0210 slt at,a0,at
+ # 0214 bnez at,end
+ # 0218 nop
+ bleu $4, 0xffffffff, end # 021c li at,0x8000
+ # 0220 dsll at,at,17
+ # 0224 sltu at,a0,at
+ # 0228 bnez at,end
+ # 022c nop
# Should produce warnings given -mfp32
# add.d $f1, $f2, $f3
diff --git a/gas/testsuite/gas/mips/mips-gp64-fp32.d b/gas/testsuite/gas/mips/mips-gp64-fp32.d
index df8d1ec..f0e072a 100644
--- a/gas/testsuite/gas/mips/mips-gp64-fp32.d
+++ b/gas/testsuite/gas/mips/mips-gp64-fp32.d
@@ -13,19 +13,19 @@ Disassembly of section .text:
c: 3c040000 lui a0,0x0
10: 24840000 addiu a0,a0,0
14: 3c040000 lui a0,0x0
- 18: 24840154 addiu a0,a0,340
- 1c: 08000055 j 154 <[^>]*>
- 20: 0c000055 jal 154 <[^>]*>
+ 18: 2484015c addiu a0,a0,348
+ 1c: 08000057 j 15c <[^>]*>
+ 20: 0c000057 jal 15c <[^>]*>
24: 8f84c000 lw a0,-16384\(gp\)
28: 3c040000 lui a0,0x0
2c: 8c840000 lw a0,0\(a0\)
30: 3c040000 lui a0,0x0
- 34: 8c840154 lw a0,340\(a0\)
+ 34: 8c84015c lw a0,348\(a0\)
38: df84c000 ld a0,-16384\(gp\)
3c: 3c040000 lui a0,0x0
40: dc840000 ld a0,0\(a0\)
44: 3c040000 lui a0,0x0
- 48: dc840154 ld a0,340\(a0\)
+ 48: dc84015c ld a0,348\(a0\)
4c: af84c000 sw a0,-16384\(gp\)
50: 3c010000 lui at,0x0
54: ac240000 sw a0,0\(at\)
@@ -78,20 +78,22 @@ Disassembly of section .text:
110: 24210000 addiu at,at,0
114: b0240000 sdl a0,0\(at\)
118: b4240007 sdr a0,7\(at\)
- 11c: 3c018000 lui at,0x8000
- 120: 0081082a slt at,a0,at
- 124: 1020000b beqz at,154 <[^>]*>
- 128: 34018000 li at,0x8000
- 12c: 00010c78 dsll at,at,0x11
- 130: 0081082b sltu at,a0,at
- 134: 10200007 beqz at,154 <[^>]*>
- 138: 3c018000 lui at,0x8000
- 13c: 0081082a slt at,a0,at
- 140: 14200004 bnez at,154 <[^>]*>
- 144: 34018000 li at,0x8000
- 148: 00010c78 dsll at,at,0x11
- 14c: 0081082b sltu at,a0,at
- 150: 14200000 bnez at,154 <[^>]*>
+ 11c: 34018000 li at,0x8000
+ 120: 00010c38 dsll at,at,0x10
+ 124: 0081082a slt at,a0,at
+ 128: 1020000c beqz at,15c <[^>]*>
+ 12c: 34018000 li at,0x8000
+ 130: 00010c78 dsll at,at,0x11
+ 134: 0081082b sltu at,a0,at
+ 138: 10200008 beqz at,15c <[^>]*>
+ 13c: 34018000 li at,0x8000
+ 140: 00010c38 dsll at,at,0x10
+ 144: 0081082a slt at,a0,at
+ 148: 14200004 bnez at,15c <[^>]*>
+ 14c: 34018000 li at,0x8000
+ 150: 00010c78 dsll at,at,0x11
+ 154: 0081082b sltu at,a0,at
+ 158: 14200000 bnez at,15c <[^>]*>
-0+0154 <[^>]*>:
+0+015c <[^>]*>:
...
diff --git a/gas/testsuite/gas/mips/mips-gp64-fp32.s b/gas/testsuite/gas/mips/mips-gp64-fp32.s
index 350102d..dc0c745 100644
--- a/gas/testsuite/gas/mips/mips-gp64-fp32.s
+++ b/gas/testsuite/gas/mips/mips-gp64-fp32.s
@@ -85,20 +85,22 @@ func:
# 0114 sdl a0,0(at)
# 0118 sdr a0,7(at)
- bgt $4, 0x7fffffff, end # 011c lui at,0x8000
- # 0120 slt at,a0,at
- # 0124 beqz at,end
- bgtu $4, 0xffffffff, end # 0128 li at,0x8000
- # 012c dsll at,at,17
- # 0130 sltu at,a0,at
- # 0134 beqz at,end
- ble $4, 0x7fffffff, end # 0138 lui at,0x8000
- # 013c slt at,a0,at
- # 0140 bnez at,end
- bleu $4, 0xffffffff, end # 0144 li at,0x8000
- # 0148 dsll at,at,17
- # 014c sltu at,a0,at
- # 0150 bnez at,end
+ bgt $4, 0x7fffffff, end # 011c li at,0x8000
+ # 0120 dsll at,at,0x10
+ # 0124 slt at,a0,at
+ # 0128 beqz at,end
+ bgtu $4, 0xffffffff, end # 012c li at,0x8000
+ # 0130 dsll at,at,17
+ # 0134 sltu at,a0,at
+ # 0138 beqz at,end
+ ble $4, 0x7fffffff, end # 013c li at,0x8000
+ # 0140 dsll at,at,0x10
+ # 0144 slt at,a0,at
+ # 0148 bnez at,end
+ bleu $4, 0xffffffff, end # 014c li at,0x8000
+ # 0150 dsll at,at,17
+ # 0154 sltu at,a0,at
+ # 0158 bnez at,end
# Should produce warnings given -mfp32
# add.d $f1, $f2, $f3
diff --git a/gas/testsuite/gas/mips/mips-gp64-fp64-pic.d b/gas/testsuite/gas/mips/mips-gp64-fp64-pic.d
index 449e67c..0e95795 100644
--- a/gas/testsuite/gas/mips/mips-gp64-fp64-pic.d
+++ b/gas/testsuite/gas/mips/mips-gp64-fp64-pic.d
@@ -22,12 +22,12 @@ Disassembly of section .text:
30: 24840000 addiu a0,a0,0
34: 8f840000 lw a0,0\(gp\)
38: 00000000 nop
- 3c: 2484022c addiu a0,a0,556
- 40: 1000007a b 22c <[^>]*>
+ 3c: 24840234 addiu a0,a0,564
+ 40: 1000007c b 234 <[^>]*>
44: 00000000 nop
48: 8f990000 lw t9,0\(gp\)
4c: 00000000 nop
- 50: 2739022c addiu t9,t9,556
+ 50: 27390234 addiu t9,t9,564
54: 0320f809 jalr t9
58: 00000000 nop
5c: 8fbc0008 lw gp,8\(sp\)
@@ -41,7 +41,7 @@ Disassembly of section .text:
7c: 8c840000 lw a0,0\(a0\)
80: 8f840000 lw a0,0\(gp\)
84: 00000000 nop
- 88: 2484022c addiu a0,a0,556
+ 88: 24840234 addiu a0,a0,564
8c: 8c840000 lw a0,0\(a0\)
90: 8f840000 lw a0,0\(gp\)
94: 00000000 nop
@@ -53,7 +53,7 @@ Disassembly of section .text:
ac: dc840000 ld a0,0\(a0\)
b0: 8f840000 lw a0,0\(gp\)
b4: 00000000 nop
- b8: 2484022c addiu a0,a0,556
+ b8: 24840234 addiu a0,a0,564
bc: dc840000 ld a0,0\(a0\)
c0: 8f810000 lw at,0\(gp\)
c4: 00000000 nop
@@ -111,10 +111,10 @@ Disassembly of section .text:
194: 64a40064 daddiu a0,a1,100
198: 0004202b sltu a0,zero,a0
19c: 00a0202d move a0,a1
- 1a0: df840000 ld a0,0\(gp\)
+ 1a0: 8f840000 lw a0,0\(gp\)
1a4: 00000000 nop
1a8: 24840000 addiu a0,a0,0
- 1ac: df840000 ld a0,0\(gp\)
+ 1ac: 8f840000 lw a0,0\(gp\)
1b0: 00000000 nop
1b4: 24840000 addiu a0,a0,0
1b8: 8f810000 lw at,0\(gp\)
@@ -127,25 +127,27 @@ Disassembly of section .text:
1d4: 24210000 addiu at,at,0
1d8: b0240000 sdl a0,0\(at\)
1dc: b4240007 sdr a0,7\(at\)
- 1e0: 3c018000 lui at,0x8000
- 1e4: 0081082a slt at,a0,at
- 1e8: 10200010 beqz at,22c <[^>]*>
- 1ec: 00000000 nop
- 1f0: 34018000 li at,0x8000
- 1f4: 00010c78 dsll at,at,0x11
- 1f8: 0081082b sltu at,a0,at
- 1fc: 1020000b beqz at,22c <[^>]*>
- 200: 00000000 nop
- 204: 3c018000 lui at,0x8000
- 208: 0081082a slt at,a0,at
- 20c: 14200007 bnez at,22c <[^>]*>
- 210: 00000000 nop
- 214: 34018000 li at,0x8000
- 218: 00010c78 dsll at,at,0x11
- 21c: 0081082b sltu at,a0,at
- 220: 14200002 bnez at,22c <[^>]*>
- 224: 00000000 nop
- 228: 46231040 add.d \$f1,\$f2,\$f3
+ 1e0: 34018000 li at,0x8000
+ 1e4: 00010c38 dsll at,at,0x10
+ 1e8: 0081082a slt at,a0,at
+ 1ec: 10200011 beqz at,234 <[^>]*>
+ 1f0: 00000000 nop
+ 1f4: 34018000 li at,0x8000
+ 1f8: 00010c78 dsll at,at,0x11
+ 1fc: 0081082b sltu at,a0,at
+ 200: 1020000c beqz at,234 <[^>]*>
+ 204: 00000000 nop
+ 208: 34018000 li at,0x8000
+ 20c: 00010c38 dsll at,at,0x10
+ 210: 0081082a slt at,a0,at
+ 214: 14200007 bnez at,234 <[^>]*>
+ 218: 00000000 nop
+ 21c: 34018000 li at,0x8000
+ 220: 00010c78 dsll at,at,0x11
+ 224: 0081082b sltu at,a0,at
+ 228: 14200002 bnez at,234 <[^>]*>
+ 22c: 00000000 nop
+ 230: 46231040 add.d \$f1,\$f2,\$f3
-0+022c <[^>]*>:
+0+0234 <[^>]*>:
...
diff --git a/gas/testsuite/gas/mips/mips-gp64-fp64-pic.s b/gas/testsuite/gas/mips/mips-gp64-fp64-pic.s
index 0d42de3..7c9abce 100644
--- a/gas/testsuite/gas/mips/mips-gp64-fp64-pic.s
+++ b/gas/testsuite/gas/mips/mips-gp64-fp64-pic.s
@@ -120,10 +120,10 @@ func:
# 0198 sltu a0,zero,a0
move $4, $5 # 019c move a0,a1
- dla $4, shared # 01a0 ld a0,got(.sdata)(gp)
+ dla $4, shared # 01a0 lw a0,got(.sdata)(gp)
# 01a4 nop
# 01a8 addiu a0,a0,lo(shared)
- dla $4, unshared # 01ac ld a0,got(.data)(gp)
+ dla $4, unshared # 01ac lw a0,got(.data)(gp)
# 01b0 nop
# 01b4 addiu a0,a0,lo(unshared)
uld $4, unshared # 01b8 lw at,got(.data)(gp)
@@ -137,26 +137,28 @@ func:
# 01d8 sdl a0,0(at)
# 01dc sdr a0,7(at)
- bgt $4, 0x7fffffff, end # 01e0 lui at,0x8000
- # 01e4 slt at,a0,at
- # 01e8 beqz at,end
- # 01ec nop
- bgtu $4, 0xffffffff, end # 01f0 li at,0x8000
- # 01f4 dsll at,at,17
- # 01f8 sltu at,a0,at
- # 01fc beqz at,end
- # 0200 nop
- ble $4, 0x7fffffff, end # 0204 lui at,0x8000
- # 0208 slt at,a0,at
- # 020c bnez at,end
- # 0210 nop
- bleu $4, 0xffffffff, end # 0214 li at,0x8000
- # 0218 dsll at,at,17
- # 021c sltu at,a0,at
- # 0220 bnez at,end
- # 0224 nop
+ bgt $4, 0x7fffffff, end # 01e0 li at,0x8000
+ # 01e4 dsll at,at,0x10
+ # 01e8 slt at,a0,at
+ # 01ec beqz at,end
+ # 01f0 nop
+ bgtu $4, 0xffffffff, end # 01f4 li at,0x8000
+ # 01f8 dsll at,at,17
+ # 01fc sltu at,a0,at
+ # 0200 beqz at,end
+ # 0204 nop
+ ble $4, 0x7fffffff, end # 0208 li at,0x8000
+ # 020c dsll at,at,0x10
+ # 0210 slt at,a0,at
+ # 0214 bnez at,end
+ # 0218 nop
+ bleu $4, 0xffffffff, end # 021c li at,0x8000
+ # 0220 dsll at,at,17
+ # 0224 sltu at,a0,at
+ # 0228 bnez at,end
+ # 022c nop
- add.d $f1, $f2, $f3 # 0228 add.d $f1,$f2,$f3
+ add.d $f1, $f2, $f3 # 0230 add.d $f1,$f2,$f3
.end func
end:
diff --git a/gas/testsuite/gas/mips/mips-gp64-fp64.d b/gas/testsuite/gas/mips/mips-gp64-fp64.d
index 804f01e..29ddb89 100644
--- a/gas/testsuite/gas/mips/mips-gp64-fp64.d
+++ b/gas/testsuite/gas/mips/mips-gp64-fp64.d
@@ -13,19 +13,19 @@ Disassembly of section .text:
c: 3c040000 lui a0,0x0
10: 24840000 addiu a0,a0,0
14: 3c040000 lui a0,0x0
- 18: 24840158 addiu a0,a0,344
- 1c: 08000056 j 158 <[^>]*>
- 20: 0c000056 jal 158 <[^>]*>
+ 18: 24840160 addiu a0,a0,352
+ 1c: 08000058 j 160 <[^>]*>
+ 20: 0c000058 jal 160 <[^>]*>
24: 8f84c000 lw a0,-16384\(gp\)
28: 3c040000 lui a0,0x0
2c: 8c840000 lw a0,0\(a0\)
30: 3c040000 lui a0,0x0
- 34: 8c840158 lw a0,344\(a0\)
+ 34: 8c840160 lw a0,352\(a0\)
38: df84c000 ld a0,-16384\(gp\)
3c: 3c040000 lui a0,0x0
40: dc840000 ld a0,0\(a0\)
44: 3c040000 lui a0,0x0
- 48: dc840158 ld a0,344\(a0\)
+ 48: dc840160 ld a0,352\(a0\)
4c: af84c000 sw a0,-16384\(gp\)
50: 3c010000 lui at,0x0
54: ac240000 sw a0,0\(at\)
@@ -78,21 +78,23 @@ Disassembly of section .text:
110: 24210000 addiu at,at,0
114: b0240000 sdl a0,0\(at\)
118: b4240007 sdr a0,7\(at\)
- 11c: 3c018000 lui at,0x8000
- 120: 0081082a slt at,a0,at
- 124: 1020000c beqz at,158 <[^>]*>
- 128: 34018000 li at,0x8000
- 12c: 00010c78 dsll at,at,0x11
- 130: 0081082b sltu at,a0,at
- 134: 10200008 beqz at,158 <[^>]*>
- 138: 3c018000 lui at,0x8000
- 13c: 0081082a slt at,a0,at
- 140: 14200005 bnez at,158 <[^>]*>
- 144: 34018000 li at,0x8000
- 148: 00010c78 dsll at,at,0x11
- 14c: 0081082b sltu at,a0,at
- 150: 14200001 bnez at,158 <[^>]*>
- 154: 46231040 add.d \$f1,\$f2,\$f3
+ 11c: 34018000 li at,0x8000
+ 120: 00010c38 dsll at,at,0x10
+ 124: 0081082a slt at,a0,at
+ 128: 1020000d beqz at,160 <[^>]*>
+ 12c: 34018000 li at,0x8000
+ 130: 00010c78 dsll at,at,0x11
+ 134: 0081082b sltu at,a0,at
+ 138: 10200009 beqz at,160 <[^>]*>
+ 13c: 34018000 li at,0x8000
+ 140: 00010c38 dsll at,at,0x10
+ 144: 0081082a slt at,a0,at
+ 148: 14200005 bnez at,160 <[^>]*>
+ 14c: 34018000 li at,0x8000
+ 150: 00010c78 dsll at,at,0x11
+ 154: 0081082b sltu at,a0,at
+ 158: 14200001 bnez at,160 <[^>]*>
+ 15c: 46231040 add.d \$f1,\$f2,\$f3
-0+0158 <[^>]*>:
+0+0160 <[^>]*>:
...
diff --git a/gas/testsuite/gas/mips/mips-gp64-fp64.s b/gas/testsuite/gas/mips/mips-gp64-fp64.s
index cc5a74d..88f99e0 100644
--- a/gas/testsuite/gas/mips/mips-gp64-fp64.s
+++ b/gas/testsuite/gas/mips/mips-gp64-fp64.s
@@ -85,22 +85,24 @@ func:
# 0114 sdl a0,0(at)
# 0118 sdr a0,7(at)
- bgt $4, 0x7fffffff, end # 011c lui at,0x8000
- # 0120 slt at,a0,at
- # 0124 beqz at,end
- bgtu $4, 0xffffffff, end # 0128 li at,0x8000
- # 012c dsll at,at,17
- # 0130 sltu at,a0,at
- # 0134 beqz at,end
- ble $4, 0x7fffffff, end # 0138 lui at,0x8000
- # 013c slt at,a0,at
- # 0140 bnez at,end
- bleu $4, 0xffffffff, end # 0144 li at,0x8000
- # 0148 dsll at,at,17
- # 014c sltu at,a0,at
- # 0150 bnez at,end
+ bgt $4, 0x7fffffff, end # 011c li at,0x8000
+ # 0120 dsll at,at,0x10
+ # 0124 slt at,a0,at
+ # 0128 beqz at,end
+ bgtu $4, 0xffffffff, end # 012c li at,0x8000
+ # 0130 dsll at,at,17
+ # 0134 sltu at,a0,at
+ # 0138 beqz at,end
+ ble $4, 0x7fffffff, end # 013c li at,0x8000
+ # 0140 dsll at,at,0x10
+ # 0144 slt at,a0,at
+ # 0148 bnez at,end
+ bleu $4, 0xffffffff, end # 014c li at,0x8000
+ # 0150 dsll at,at,17
+ # 0154 sltu at,a0,at
+ # 0158 bnez at,end
- add.d $f1, $f2, $f3 # 0154 add.d $f1,$f2,$f3
+ add.d $f1, $f2, $f3 # 015c add.d $f1,$f2,$f3
end:
# Force at least 8 (non-delay-slot) zero bytes, to make 'objdump' print ...