This is the mail archive of the
binutils@sources.redhat.com
mailing list for the binutils project.
[patch] gas/MIPS: Optimize certain macro expansions
- From: "Maciej W. Rozycki" <macro at ds2 dot pg dot gda dot pl>
- To: binutils at sources dot redhat dot com
- Date: Fri, 30 Jan 2004 20:51:17 +0100 (CET)
- Subject: [patch] gas/MIPS: Optimize certain macro expansions
- Organization: Technical University of Gdansk
Hello,
Now after Richard's changes to relaxation it is quite easy to do certain
optimization of variant code. Here is my proposal to emit the shortest
sequence possible when loading constants in a few places, mostly global
variants of macro expansions (where no relocations are used in the
affected range). This is based on bits from one of my unofficial patches
and I've used it successfully for several months now. The patch updates
several tests as their output differs after the change, either because
superfluous operations are removed (like "addiu at,at,0") or because
load_register() emits a sequence different from what used to be hardcoded.
gas/ChangeLog
2004-01-30 Maciej W. Rozycki <macro@ds2.pg.gda.pl>
* config/tc-mips.c (add_got_offset_hilo): New function.
(macro): Use load_register() and add_got_offset_hilo() to load
constants instead of hardcoding code sequences throughout.
gas/testsuite/ChangeLog
2004-01-30 Maciej W. Rozycki <macro@ds2.pg.gda.pl>
* gas/mips/div.d: Update to accomodate changes in macro
expansions.
gas/mips/elf-rel-got-n32.d: Likewise.
gas/mips/elf-rel-got-n64.d: Likewise.
gas/mips/elf-rel-xgot-n32.d: Likewise.
gas/mips/elf-rel-xgot-n64.d: Likewise.
gas/mips/la-svr4pic.d: Likewise.
gas/mips/la-xgot.d: Likewise.
gas/mips/lca-svr4pic.d: Likewise.
gas/mips/lca-xgot.d: Likewise.
OK to apply?
Maciej
--
+ Maciej W. Rozycki, Technical University of Gdansk, Poland +
+--------------------------------------------------------------+
+ e-mail: macro@ds2.pg.gda.pl, PGP key available +
binutils-2.14.90-20040124-mips-load_register.patch
diff -up --recursive --new-file binutils-2.14.90-20040124.macro/gas/config/tc-mips.c binutils-2.14.90-20040124/gas/config/tc-mips.c
--- binutils-2.14.90-20040124.macro/gas/config/tc-mips.c 2004-01-23 13:39:52.000000000 +0000
+++ binutils-2.14.90-20040124/gas/config/tc-mips.c 2004-01-30 18:32:40.000000000 +0000
@@ -4029,8 +4029,8 @@ move_register (int dest, int source)
}
/* Emit an SVR4 PIC sequence to load address LOCAL into DEST, where
- LOCAL is the sum of a symbol and a 16-bit displacement. The two
- alternatives are:
+ LOCAL is the sum of a symbol and a 16-bit or 32-bit displacement.
+ The two alternatives are:
Global symbol Local sybmol
------------- ------------
@@ -4039,7 +4039,8 @@ move_register (int dest, int source)
addiu DEST,DEST,OFFSET addiu DEST,DEST,%lo(SYMBOL + OFFSET)
load_got_offset emits the first instruction and add_got_offset
- emits the second. */
+ emits the second for a 16-bit offset or add_got_offset_hilo emits
+ a sequence to add a 32-bit offset using a scratch register. */
static void
load_got_offset (int dest, expressionS *local)
@@ -4076,6 +4077,32 @@ add_got_offset (int dest, expressionS *l
relax_end ();
}
+static void
+add_got_offset_hilo (int dest, expressionS *local, int tmp)
+{
+ expressionS global;
+ int hold_mips_optimize;
+
+ global.X_op = O_constant;
+ global.X_op_symbol = NULL;
+ global.X_add_symbol = NULL;
+ global.X_add_number = local->X_add_number;
+
+ relax_start (local->X_add_symbol);
+ load_register (tmp, &global, HAVE_64BIT_ADDRESSES);
+ relax_switch ();
+ /* Set mips_optimize around the lui instruction to avoid
+ inserting an unnecessary nop after the lw. */
+ hold_mips_optimize = mips_optimize;
+ mips_optimize = 2;
+ macro_build_lui (&global, tmp);
+ mips_optimize = hold_mips_optimize;
+ macro_build (local, ADDRESS_ADDI_INSN, "t,r,j", tmp, tmp, BFD_RELOC_LO16);
+ relax_end ();
+
+ macro_build (NULL, ADDRESS_ADD_INSN, "d,v,t", dest, dest, tmp);
+}
+
/*
* Build macros
* This routine implements the seemingly endless macro or synthesized
@@ -4659,14 +4686,13 @@ macro (struct mips_cl_insn *ip)
macro_build (NULL, "break", "c", 7);
}
expr1.X_add_number = -1;
- macro_build (&expr1, dbl ? "daddiu" : "addiu", "t,r,j", AT, 0,
- BFD_RELOC_LO16);
+ load_register (AT, &expr1, dbl);
expr1.X_add_number = mips_trap ? (dbl ? 12 : 8) : (dbl ? 20 : 16);
macro_build (&expr1, "bne", "s,t,p", treg, AT);
if (dbl)
{
expr1.X_add_number = 1;
- macro_build (&expr1, "daddiu", "t,r,j", AT, 0, BFD_RELOC_LO16);
+ load_register (AT, &expr1, dbl);
macro_build (NULL, "dsll32", "d,w,<", AT, AT, 31);
}
else
@@ -5054,6 +5080,7 @@ macro (struct mips_cl_insn *ip)
offset_expr.X_add_number =
((offset_expr.X_add_number + 0x8000) & 0xffff) - 0x8000;
load_got_offset (tempreg, &offset_expr);
+ offset_expr.X_add_number = expr1.X_add_number;
/* If we are going to add in a base register, and the
target register and the base register are the same,
then we are using AT as a temporary register. Since
@@ -5069,17 +5096,7 @@ macro (struct mips_cl_insn *ip)
breg = 0;
tempreg = treg;
}
-
- /* Set mips_optimize around the lui instruction to avoid
- inserting an unnecessary nop after the lw. */
- hold_mips_optimize = mips_optimize;
- mips_optimize = 2;
- macro_build_lui (&expr1, AT);
- mips_optimize = hold_mips_optimize;
-
- add_got_offset (AT, &offset_expr);
- macro_build (NULL, ADDRESS_ADD_INSN, "d,v,t",
- tempreg, tempreg, AT);
+ add_got_offset_hilo (tempreg, &offset_expr, AT);
used_at = 1;
}
}
@@ -5147,9 +5164,7 @@ macro (struct mips_cl_insn *ip)
add_breg_early = 1;
}
- macro_build_lui (&expr1, AT);
- macro_build (&expr1, ADDRESS_ADDI_INSN, "t,r,j",
- AT, AT, BFD_RELOC_LO16);
+ load_register (AT, &expr1, HAVE_64BIT_ADDRESSES);
macro_build (NULL, ADDRESS_ADD_INSN, "d,v,t",
dreg, dreg, AT);
@@ -5290,15 +5305,7 @@ macro (struct mips_cl_insn *ip)
dreg = treg;
}
- /* Set mips_optimize around the lui instruction to avoid
- inserting an unnecessary nop after the lw. */
- hold_mips_optimize = mips_optimize;
- mips_optimize = 2;
- macro_build_lui (&expr1, AT);
- mips_optimize = hold_mips_optimize;
-
- macro_build (&expr1, ADDRESS_ADDI_INSN, "t,r,j",
- AT, AT, BFD_RELOC_LO16);
+ load_register (AT, &expr1, HAVE_64BIT_ADDRESSES);
macro_build (NULL, ADDRESS_ADD_INSN, "d,v,t", dreg, dreg, AT);
used_at = 1;
@@ -5436,11 +5443,7 @@ macro (struct mips_cl_insn *ip)
add_breg_early = 1;
}
- /* Set mips_optimize around the lui instruction to avoid
- inserting an unnecessary nop after the lw. */
- macro_build_lui (&expr1, AT);
- macro_build (&expr1, ADDRESS_ADDI_INSN, "t,r,j",
- AT, AT, BFD_RELOC_LO16);
+ load_register (AT, &expr1, HAVE_64BIT_ADDRESSES);
macro_build (NULL, ADDRESS_ADD_INSN, "d,v,t", dreg, dreg, AT);
used_at = 1;
diff -up --recursive --new-file binutils-2.14.90-20040124.macro/gas/testsuite/gas/mips/div.d binutils-2.14.90-20040124/gas/testsuite/gas/mips/div.d
--- binutils-2.14.90-20040124.macro/gas/testsuite/gas/mips/div.d 2001-06-30 03:25:20.000000000 +0000
+++ binutils-2.14.90-20040124/gas/testsuite/gas/mips/div.d 2003-11-09 17:42:01.000000000 +0000
@@ -102,9 +102,9 @@ Disassembly of section .text:
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
+0+0180 <[^>]*> (daddiu at,zero,-1|li at,-1)
0+0184 <[^>]*> bne a2,at,0+019c <foo\+0x19c>
-0+0188 <[^>]*> daddiu at,zero,1
+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
diff -up --recursive --new-file binutils-2.14.90-20040124.macro/gas/testsuite/gas/mips/elf-rel-got-n32.d binutils-2.14.90-20040124/gas/testsuite/gas/mips/elf-rel-got-n32.d
--- binutils-2.14.90-20040124.macro/gas/testsuite/gas/mips/elf-rel-got-n32.d 2003-09-02 03:25:23.000000000 +0000
+++ binutils-2.14.90-20040124/gas/testsuite/gas/mips/elf-rel-got-n32.d 2003-11-09 17:42:01.000000000 +0000
@@ -12,8 +12,8 @@ Disassembly of section \.text:
00000008 <fn\+0x8> 24a5000c addiu a1,a1,12
0000000c <fn\+0xc> 8f850000 lw a1,0\(gp\)
c: R_MIPS_GOT_DISP dg1
-00000010 <fn\+0x10> 3c010002 lui at,0x2
-00000014 <fn\+0x14> 2421e240 addiu at,at,-7616
+00000010 <fn\+0x10> 3c010001 lui at,0x1
+00000014 <fn\+0x14> 3421e240 ori at,at,0xe240
00000018 <fn\+0x18> 00a12821 addu a1,a1,at
0000001c <fn\+0x1c> 8f850000 lw a1,0\(gp\)
1c: R_MIPS_GOT_DISP dg1
@@ -24,8 +24,8 @@ Disassembly of section \.text:
0000002c <fn\+0x2c> 00b12821 addu a1,a1,s1
00000030 <fn\+0x30> 8f850000 lw a1,0\(gp\)
30: R_MIPS_GOT_DISP dg1
-00000034 <fn\+0x34> 3c010002 lui at,0x2
-00000038 <fn\+0x38> 2421e240 addiu at,at,-7616
+00000034 <fn\+0x34> 3c010001 lui at,0x1
+00000038 <fn\+0x38> 3421e240 ori at,at,0xe240
0000003c <fn\+0x3c> 00a12821 addu a1,a1,at
00000040 <fn\+0x40> 00b12821 addu a1,a1,s1
00000044 <fn\+0x44> 8f850000 lw a1,0\(gp\)
@@ -184,8 +184,8 @@ Disassembly of section \.text:
000001d8 <fn\+0x1d8> 24a5000c addiu a1,a1,12
000001dc <fn\+0x1dc> 8f850000 lw a1,0\(gp\)
1dc: R_MIPS_GOT_DISP dg2
-000001e0 <fn\+0x1e0> 3c010002 lui at,0x2
-000001e4 <fn\+0x1e4> 2421e240 addiu at,at,-7616
+000001e0 <fn\+0x1e0> 3c010001 lui at,0x1
+000001e4 <fn\+0x1e4> 3421e240 ori at,at,0xe240
000001e8 <fn\+0x1e8> 00a12821 addu a1,a1,at
000001ec <fn\+0x1ec> 8f850000 lw a1,0\(gp\)
1ec: R_MIPS_GOT_DISP dg2
@@ -196,8 +196,8 @@ Disassembly of section \.text:
000001fc <fn\+0x1fc> 00b12821 addu a1,a1,s1
00000200 <fn\+0x200> 8f850000 lw a1,0\(gp\)
200: R_MIPS_GOT_DISP dg2
-00000204 <fn\+0x204> 3c010002 lui at,0x2
-00000208 <fn\+0x208> 2421e240 addiu at,at,-7616
+00000204 <fn\+0x204> 3c010001 lui at,0x1
+00000208 <fn\+0x208> 3421e240 ori at,at,0xe240
0000020c <fn\+0x20c> 00a12821 addu a1,a1,at
00000210 <fn\+0x210> 00b12821 addu a1,a1,s1
00000214 <fn\+0x214> 8f850000 lw a1,0\(gp\)
diff -up --recursive --new-file binutils-2.14.90-20040124.macro/gas/testsuite/gas/mips/elf-rel-got-n64.d binutils-2.14.90-20040124/gas/testsuite/gas/mips/elf-rel-got-n64.d
--- binutils-2.14.90-20040124.macro/gas/testsuite/gas/mips/elf-rel-got-n64.d 2003-09-02 03:25:23.000000000 +0000
+++ binutils-2.14.90-20040124/gas/testsuite/gas/mips/elf-rel-got-n64.d 2003-11-09 17:42:01.000000000 +0000
@@ -18,8 +18,8 @@ Disassembly of section \.text:
c: R_MIPS_GOT_DISP dg1
c: R_MIPS_NONE \*ABS\*
c: R_MIPS_NONE \*ABS\*
-0000000000000010 <fn\+0x10> 3c010002 lui at,0x2
-0000000000000014 <fn\+0x14> 6421e240 daddiu at,at,-7616
+0000000000000010 <fn\+0x10> 3c010001 lui at,0x1
+0000000000000014 <fn\+0x14> 3421e240 ori at,at,0xe240
0000000000000018 <fn\+0x18> 00a1282d daddu a1,a1,at
000000000000001c <fn\+0x1c> df850000 ld a1,0\(gp\)
1c: R_MIPS_GOT_DISP dg1
@@ -36,8 +36,8 @@ Disassembly of section \.text:
30: R_MIPS_GOT_DISP dg1
30: R_MIPS_NONE \*ABS\*
30: R_MIPS_NONE \*ABS\*
-0000000000000034 <fn\+0x34> 3c010002 lui at,0x2
-0000000000000038 <fn\+0x38> 6421e240 daddiu at,at,-7616
+0000000000000034 <fn\+0x34> 3c010001 lui at,0x1
+0000000000000038 <fn\+0x38> 3421e240 ori at,at,0xe240
000000000000003c <fn\+0x3c> 00a1282d daddu a1,a1,at
0000000000000040 <fn\+0x40> 00b1282d daddu a1,a1,s1
0000000000000044 <fn\+0x44> df850000 ld a1,0\(gp\)
@@ -302,8 +302,8 @@ Disassembly of section \.text:
1dc: R_MIPS_GOT_DISP dg2
1dc: R_MIPS_NONE \*ABS\*
1dc: R_MIPS_NONE \*ABS\*
-00000000000001e0 <fn\+0x1e0> 3c010002 lui at,0x2
-00000000000001e4 <fn\+0x1e4> 6421e240 daddiu at,at,-7616
+00000000000001e0 <fn\+0x1e0> 3c010001 lui at,0x1
+00000000000001e4 <fn\+0x1e4> 3421e240 ori at,at,0xe240
00000000000001e8 <fn\+0x1e8> 00a1282d daddu a1,a1,at
00000000000001ec <fn\+0x1ec> df850000 ld a1,0\(gp\)
1ec: R_MIPS_GOT_DISP dg2
@@ -320,8 +320,8 @@ Disassembly of section \.text:
200: R_MIPS_GOT_DISP dg2
200: R_MIPS_NONE \*ABS\*
200: R_MIPS_NONE \*ABS\*
-0000000000000204 <fn\+0x204> 3c010002 lui at,0x2
-0000000000000208 <fn\+0x208> 6421e240 daddiu at,at,-7616
+0000000000000204 <fn\+0x204> 3c010001 lui at,0x1
+0000000000000208 <fn\+0x208> 3421e240 ori at,at,0xe240
000000000000020c <fn\+0x20c> 00a1282d daddu a1,a1,at
0000000000000210 <fn\+0x210> 00b1282d daddu a1,a1,s1
0000000000000214 <fn\+0x214> df850000 ld a1,0\(gp\)
diff -up --recursive --new-file binutils-2.14.90-20040124.macro/gas/testsuite/gas/mips/elf-rel-xgot-n32.d binutils-2.14.90-20040124/gas/testsuite/gas/mips/elf-rel-xgot-n32.d
--- binutils-2.14.90-20040124.macro/gas/testsuite/gas/mips/elf-rel-xgot-n32.d 2003-12-07 04:25:20.000000000 +0000
+++ binutils-2.14.90-20040124/gas/testsuite/gas/mips/elf-rel-xgot-n32.d 2004-01-29 18:28:50.000000000 +0000
@@ -22,8 +22,8 @@ Disassembly of section \.text:
00000020 <fn\+0x20> 00bc2821 addu a1,a1,gp
00000024 <fn\+0x24> 8ca50000 lw a1,0\(a1\)
24: R_MIPS_GOT_LO16 dg1
-00000028 <fn\+0x28> 3c010002 lui at,0x2
-0000002c <fn\+0x2c> 2421e240 addiu at,at,-7616
+00000028 <fn\+0x28> 3c010001 lui at,0x1
+0000002c <fn\+0x2c> 3421e240 ori at,at,0xe240
00000030 <fn\+0x30> 00a12821 addu a1,a1,at
00000034 <fn\+0x34> 3c050000 lui a1,0x0
34: R_MIPS_GOT_HI16 dg1
@@ -43,8 +43,8 @@ Disassembly of section \.text:
0000005c <fn\+0x5c> 00bc2821 addu a1,a1,gp
00000060 <fn\+0x60> 8ca50000 lw a1,0\(a1\)
60: R_MIPS_GOT_LO16 dg1
-00000064 <fn\+0x64> 3c010002 lui at,0x2
-00000068 <fn\+0x68> 2421e240 addiu at,at,-7616
+00000064 <fn\+0x64> 3c010001 lui at,0x1
+00000068 <fn\+0x68> 3421e240 ori at,at,0xe240
0000006c <fn\+0x6c> 00a12821 addu a1,a1,at
00000070 <fn\+0x70> 00b12821 addu a1,a1,s1
00000074 <fn\+0x74> 3c050000 lui a1,0x0
@@ -281,8 +281,8 @@ Disassembly of section \.text:
000002d4 <fn\+0x2d4> 00bc2821 addu a1,a1,gp
000002d8 <fn\+0x2d8> 8ca50000 lw a1,0\(a1\)
2d8: R_MIPS_GOT_LO16 dg2
-000002dc <fn\+0x2dc> 3c010002 lui at,0x2
-000002e0 <fn\+0x2e0> 2421e240 addiu at,at,-7616
+000002dc <fn\+0x2dc> 3c010001 lui at,0x1
+000002e0 <fn\+0x2e0> 3421e240 ori at,at,0xe240
000002e4 <fn\+0x2e4> 00a12821 addu a1,a1,at
000002e8 <fn\+0x2e8> 3c050000 lui a1,0x0
2e8: R_MIPS_GOT_HI16 dg2
@@ -302,8 +302,8 @@ Disassembly of section \.text:
00000310 <fn\+0x310> 00bc2821 addu a1,a1,gp
00000314 <fn\+0x314> 8ca50000 lw a1,0\(a1\)
314: R_MIPS_GOT_LO16 dg2
-00000318 <fn\+0x318> 3c010002 lui at,0x2
-0000031c <fn\+0x31c> 2421e240 addiu at,at,-7616
+00000318 <fn\+0x318> 3c010001 lui at,0x1
+0000031c <fn\+0x31c> 3421e240 ori at,at,0xe240
00000320 <fn\+0x320> 00a12821 addu a1,a1,at
00000324 <fn\+0x324> 00b12821 addu a1,a1,s1
00000328 <fn\+0x328> 3c050000 lui a1,0x0
diff -up --recursive --new-file binutils-2.14.90-20040124.macro/gas/testsuite/gas/mips/elf-rel-xgot-n64.d binutils-2.14.90-20040124/gas/testsuite/gas/mips/elf-rel-xgot-n64.d
--- binutils-2.14.90-20040124.macro/gas/testsuite/gas/mips/elf-rel-xgot-n64.d 2003-12-07 04:25:20.000000000 +0000
+++ binutils-2.14.90-20040124/gas/testsuite/gas/mips/elf-rel-xgot-n64.d 2004-01-29 18:28:50.000000000 +0000
@@ -34,8 +34,8 @@ Disassembly of section \.text:
24: R_MIPS_GOT_LO16 dg1
24: R_MIPS_NONE \*ABS\*
24: R_MIPS_NONE \*ABS\*
-0000000000000028 <fn\+0x28> 3c010002 lui at,0x2
-000000000000002c <fn\+0x2c> 6421e240 daddiu at,at,-7616
+0000000000000028 <fn\+0x28> 3c010001 lui at,0x1
+000000000000002c <fn\+0x2c> 3421e240 ori at,at,0xe240
0000000000000030 <fn\+0x30> 00a1282d daddu a1,a1,at
0000000000000034 <fn\+0x34> 3c050000 lui a1,0x0
34: R_MIPS_GOT_HI16 dg1
@@ -67,8 +67,8 @@ Disassembly of section \.text:
60: R_MIPS_GOT_LO16 dg1
60: R_MIPS_NONE \*ABS\*
60: R_MIPS_NONE \*ABS\*
-0000000000000064 <fn\+0x64> 3c010002 lui at,0x2
-0000000000000068 <fn\+0x68> 6421e240 daddiu at,at,-7616
+0000000000000064 <fn\+0x64> 3c010001 lui at,0x1
+0000000000000068 <fn\+0x68> 3421e240 ori at,at,0xe240
000000000000006c <fn\+0x6c> 00a1282d daddu a1,a1,at
0000000000000070 <fn\+0x70> 00b1282d daddu a1,a1,s1
0000000000000074 <fn\+0x74> 3c050000 lui a1,0x0
@@ -465,8 +465,8 @@ Disassembly of section \.text:
2d8: R_MIPS_GOT_LO16 dg2
2d8: R_MIPS_NONE \*ABS\*
2d8: R_MIPS_NONE \*ABS\*
-00000000000002dc <fn\+0x2dc> 3c010002 lui at,0x2
-00000000000002e0 <fn\+0x2e0> 6421e240 daddiu at,at,-7616
+00000000000002dc <fn\+0x2dc> 3c010001 lui at,0x1
+00000000000002e0 <fn\+0x2e0> 3421e240 ori at,at,0xe240
00000000000002e4 <fn\+0x2e4> 00a1282d daddu a1,a1,at
00000000000002e8 <fn\+0x2e8> 3c050000 lui a1,0x0
2e8: R_MIPS_GOT_HI16 dg2
@@ -498,8 +498,8 @@ Disassembly of section \.text:
314: R_MIPS_GOT_LO16 dg2
314: R_MIPS_NONE \*ABS\*
314: R_MIPS_NONE \*ABS\*
-0000000000000318 <fn\+0x318> 3c010002 lui at,0x2
-000000000000031c <fn\+0x31c> 6421e240 daddiu at,at,-7616
+0000000000000318 <fn\+0x318> 3c010001 lui at,0x1
+000000000000031c <fn\+0x31c> 3421e240 ori at,at,0xe240
0000000000000320 <fn\+0x320> 00a1282d daddu a1,a1,at
0000000000000324 <fn\+0x324> 00b1282d daddu a1,a1,s1
0000000000000328 <fn\+0x328> 3c050000 lui a1,0x0
diff -up --recursive --new-file binutils-2.14.90-20040124.macro/gas/testsuite/gas/mips/la-svr4pic.d binutils-2.14.90-20040124/gas/testsuite/gas/mips/la-svr4pic.d
--- binutils-2.14.90-20040124.macro/gas/testsuite/gas/mips/la-svr4pic.d 2003-05-08 03:25:31.000000000 +0000
+++ binutils-2.14.90-20040124/gas/testsuite/gas/mips/la-svr4pic.d 2003-11-09 17:42:01.000000000 +0000
@@ -87,23 +87,19 @@ Disassembly of section .text:
[0-9a-f]+ <[^>]*> addu a0,a0,at
[0-9a-f]+ <[^>]*> lw a0,0\(gp\)
[ ]*[0-9a-f]+: R_MIPS_GOT16 big_external_data_label
-[0-9a-f]+ <[^>]*> lui at,0x1
-[0-9a-f]+ <[^>]*> addiu at,at,-32768
+[0-9a-f]+ <[^>]*> li at,0x8000
[0-9a-f]+ <[^>]*> addu a0,a0,at
[0-9a-f]+ <[^>]*> lw a0,0\(gp\)
[ ]*[0-9a-f]+: R_MIPS_GOT16 small_external_data_label
-[0-9a-f]+ <[^>]*> lui at,0x1
-[0-9a-f]+ <[^>]*> addiu at,at,-32768
+[0-9a-f]+ <[^>]*> li at,0x8000
[0-9a-f]+ <[^>]*> addu a0,a0,at
[0-9a-f]+ <[^>]*> lw a0,0\(gp\)
[ ]*[0-9a-f]+: R_MIPS_GOT16 big_external_common
-[0-9a-f]+ <[^>]*> lui at,0x1
-[0-9a-f]+ <[^>]*> addiu at,at,-32768
+[0-9a-f]+ <[^>]*> li at,0x8000
[0-9a-f]+ <[^>]*> addu a0,a0,at
[0-9a-f]+ <[^>]*> lw a0,0\(gp\)
[ ]*[0-9a-f]+: R_MIPS_GOT16 small_external_common
-[0-9a-f]+ <[^>]*> lui at,0x1
-[0-9a-f]+ <[^>]*> addiu at,at,-32768
+[0-9a-f]+ <[^>]*> li at,0x8000
[0-9a-f]+ <[^>]*> addu a0,a0,at
[0-9a-f]+ <[^>]*> lw a0,0\(gp\)
[ ]*[0-9a-f]+: R_MIPS_GOT16 .bss
@@ -157,22 +153,18 @@ Disassembly of section .text:
[0-9a-f]+ <[^>]*> lw a0,0\(gp\)
[ ]*[0-9a-f]+: R_MIPS_GOT16 big_external_data_label
[0-9a-f]+ <[^>]*> lui at,0x1
-[0-9a-f]+ <[^>]*> addiu at,at,0
[0-9a-f]+ <[^>]*> addu a0,a0,at
[0-9a-f]+ <[^>]*> lw a0,0\(gp\)
[ ]*[0-9a-f]+: R_MIPS_GOT16 small_external_data_label
[0-9a-f]+ <[^>]*> lui at,0x1
-[0-9a-f]+ <[^>]*> addiu at,at,0
[0-9a-f]+ <[^>]*> addu a0,a0,at
[0-9a-f]+ <[^>]*> lw a0,0\(gp\)
[ ]*[0-9a-f]+: R_MIPS_GOT16 big_external_common
[0-9a-f]+ <[^>]*> lui at,0x1
-[0-9a-f]+ <[^>]*> addiu at,at,0
[0-9a-f]+ <[^>]*> addu a0,a0,at
[0-9a-f]+ <[^>]*> lw a0,0\(gp\)
[ ]*[0-9a-f]+: R_MIPS_GOT16 small_external_common
[0-9a-f]+ <[^>]*> lui at,0x1
-[0-9a-f]+ <[^>]*> addiu at,at,0
[0-9a-f]+ <[^>]*> addu a0,a0,at
[0-9a-f]+ <[^>]*> lw a0,0\(gp\)
[ ]*[0-9a-f]+: R_MIPS_GOT16 .bss
@@ -194,23 +186,23 @@ Disassembly of section .text:
[0-9a-f]+ <[^>]*> addu a0,a0,at
[0-9a-f]+ <[^>]*> lw a0,0\(gp\)
[ ]*[0-9a-f]+: R_MIPS_GOT16 big_external_data_label
-[0-9a-f]+ <[^>]*> lui at,0x2
-[0-9a-f]+ <[^>]*> addiu at,at,-23131
+[0-9a-f]+ <[^>]*> lui at,0x1
+[0-9a-f]+ <[^>]*> ori at,at,0xa5a5
[0-9a-f]+ <[^>]*> addu a0,a0,at
[0-9a-f]+ <[^>]*> lw a0,0\(gp\)
[ ]*[0-9a-f]+: R_MIPS_GOT16 small_external_data_label
-[0-9a-f]+ <[^>]*> lui at,0x2
-[0-9a-f]+ <[^>]*> addiu at,at,-23131
+[0-9a-f]+ <[^>]*> lui at,0x1
+[0-9a-f]+ <[^>]*> ori at,at,0xa5a5
[0-9a-f]+ <[^>]*> addu a0,a0,at
[0-9a-f]+ <[^>]*> lw a0,0\(gp\)
[ ]*[0-9a-f]+: R_MIPS_GOT16 big_external_common
-[0-9a-f]+ <[^>]*> lui at,0x2
-[0-9a-f]+ <[^>]*> addiu at,at,-23131
+[0-9a-f]+ <[^>]*> lui at,0x1
+[0-9a-f]+ <[^>]*> ori at,at,0xa5a5
[0-9a-f]+ <[^>]*> addu a0,a0,at
[0-9a-f]+ <[^>]*> lw a0,0\(gp\)
[ ]*[0-9a-f]+: R_MIPS_GOT16 small_external_common
-[0-9a-f]+ <[^>]*> lui at,0x2
-[0-9a-f]+ <[^>]*> addiu at,at,-23131
+[0-9a-f]+ <[^>]*> lui at,0x1
+[0-9a-f]+ <[^>]*> ori at,at,0xa5a5
[0-9a-f]+ <[^>]*> addu a0,a0,at
[0-9a-f]+ <[^>]*> lw a0,0\(gp\)
[ ]*[0-9a-f]+: R_MIPS_GOT16 .bss
@@ -305,26 +297,22 @@ Disassembly of section .text:
[0-9a-f]+ <[^>]*> addu a0,a0,a1
[0-9a-f]+ <[^>]*> lw a0,0\(gp\)
[ ]*[0-9a-f]+: R_MIPS_GOT16 big_external_data_label
-[0-9a-f]+ <[^>]*> lui at,0x1
-[0-9a-f]+ <[^>]*> addiu at,at,-32768
+[0-9a-f]+ <[^>]*> li at,0x8000
[0-9a-f]+ <[^>]*> addu a0,a0,at
[0-9a-f]+ <[^>]*> addu a0,a0,a1
[0-9a-f]+ <[^>]*> lw a0,0\(gp\)
[ ]*[0-9a-f]+: R_MIPS_GOT16 small_external_data_label
-[0-9a-f]+ <[^>]*> lui at,0x1
-[0-9a-f]+ <[^>]*> addiu at,at,-32768
+[0-9a-f]+ <[^>]*> li at,0x8000
[0-9a-f]+ <[^>]*> addu a0,a0,at
[0-9a-f]+ <[^>]*> addu a0,a0,a1
[0-9a-f]+ <[^>]*> lw a0,0\(gp\)
[ ]*[0-9a-f]+: R_MIPS_GOT16 big_external_common
-[0-9a-f]+ <[^>]*> lui at,0x1
-[0-9a-f]+ <[^>]*> addiu at,at,-32768
+[0-9a-f]+ <[^>]*> li at,0x8000
[0-9a-f]+ <[^>]*> addu a0,a0,at
[0-9a-f]+ <[^>]*> addu a0,a0,a1
[0-9a-f]+ <[^>]*> lw a0,0\(gp\)
[ ]*[0-9a-f]+: R_MIPS_GOT16 small_external_common
-[0-9a-f]+ <[^>]*> lui at,0x1
-[0-9a-f]+ <[^>]*> addiu at,at,-32768
+[0-9a-f]+ <[^>]*> li at,0x8000
[0-9a-f]+ <[^>]*> addu a0,a0,at
[0-9a-f]+ <[^>]*> addu a0,a0,a1
[0-9a-f]+ <[^>]*> lw a0,0\(gp\)
@@ -389,25 +377,21 @@ Disassembly of section .text:
[0-9a-f]+ <[^>]*> lw a0,0\(gp\)
[ ]*[0-9a-f]+: R_MIPS_GOT16 big_external_data_label
[0-9a-f]+ <[^>]*> lui at,0x1
-[0-9a-f]+ <[^>]*> addiu at,at,0
[0-9a-f]+ <[^>]*> addu a0,a0,at
[0-9a-f]+ <[^>]*> addu a0,a0,a1
[0-9a-f]+ <[^>]*> lw a0,0\(gp\)
[ ]*[0-9a-f]+: R_MIPS_GOT16 small_external_data_label
[0-9a-f]+ <[^>]*> lui at,0x1
-[0-9a-f]+ <[^>]*> addiu at,at,0
[0-9a-f]+ <[^>]*> addu a0,a0,at
[0-9a-f]+ <[^>]*> addu a0,a0,a1
[0-9a-f]+ <[^>]*> lw a0,0\(gp\)
[ ]*[0-9a-f]+: R_MIPS_GOT16 big_external_common
[0-9a-f]+ <[^>]*> lui at,0x1
-[0-9a-f]+ <[^>]*> addiu at,at,0
[0-9a-f]+ <[^>]*> addu a0,a0,at
[0-9a-f]+ <[^>]*> addu a0,a0,a1
[0-9a-f]+ <[^>]*> lw a0,0\(gp\)
[ ]*[0-9a-f]+: R_MIPS_GOT16 small_external_common
[0-9a-f]+ <[^>]*> lui at,0x1
-[0-9a-f]+ <[^>]*> addiu at,at,0
[0-9a-f]+ <[^>]*> addu a0,a0,at
[0-9a-f]+ <[^>]*> addu a0,a0,a1
[0-9a-f]+ <[^>]*> lw a0,0\(gp\)
@@ -433,26 +417,26 @@ Disassembly of section .text:
[0-9a-f]+ <[^>]*> addu a0,a0,a1
[0-9a-f]+ <[^>]*> lw a0,0\(gp\)
[ ]*[0-9a-f]+: R_MIPS_GOT16 big_external_data_label
-[0-9a-f]+ <[^>]*> lui at,0x2
-[0-9a-f]+ <[^>]*> addiu at,at,-23131
+[0-9a-f]+ <[^>]*> lui at,0x1
+[0-9a-f]+ <[^>]*> ori at,at,0xa5a5
[0-9a-f]+ <[^>]*> addu a0,a0,at
[0-9a-f]+ <[^>]*> addu a0,a0,a1
[0-9a-f]+ <[^>]*> lw a0,0\(gp\)
[ ]*[0-9a-f]+: R_MIPS_GOT16 small_external_data_label
-[0-9a-f]+ <[^>]*> lui at,0x2
-[0-9a-f]+ <[^>]*> addiu at,at,-23131
+[0-9a-f]+ <[^>]*> lui at,0x1
+[0-9a-f]+ <[^>]*> ori at,at,0xa5a5
[0-9a-f]+ <[^>]*> addu a0,a0,at
[0-9a-f]+ <[^>]*> addu a0,a0,a1
[0-9a-f]+ <[^>]*> lw a0,0\(gp\)
[ ]*[0-9a-f]+: R_MIPS_GOT16 big_external_common
-[0-9a-f]+ <[^>]*> lui at,0x2
-[0-9a-f]+ <[^>]*> addiu at,at,-23131
+[0-9a-f]+ <[^>]*> lui at,0x1
+[0-9a-f]+ <[^>]*> ori at,at,0xa5a5
[0-9a-f]+ <[^>]*> addu a0,a0,at
[0-9a-f]+ <[^>]*> addu a0,a0,a1
[0-9a-f]+ <[^>]*> lw a0,0\(gp\)
[ ]*[0-9a-f]+: R_MIPS_GOT16 small_external_common
-[0-9a-f]+ <[^>]*> lui at,0x2
-[0-9a-f]+ <[^>]*> addiu at,at,-23131
+[0-9a-f]+ <[^>]*> lui at,0x1
+[0-9a-f]+ <[^>]*> ori at,at,0xa5a5
[0-9a-f]+ <[^>]*> addu a0,a0,at
[0-9a-f]+ <[^>]*> addu a0,a0,a1
[0-9a-f]+ <[^>]*> lw a0,0\(gp\)
diff -up --recursive --new-file binutils-2.14.90-20040124.macro/gas/testsuite/gas/mips/la-xgot.d binutils-2.14.90-20040124/gas/testsuite/gas/mips/la-xgot.d
--- binutils-2.14.90-20040124.macro/gas/testsuite/gas/mips/la-xgot.d 2003-05-08 03:25:32.000000000 +0000
+++ binutils-2.14.90-20040124/gas/testsuite/gas/mips/la-xgot.d 2003-11-09 17:42:01.000000000 +0000
@@ -114,32 +114,28 @@ Disassembly of section .text:
[0-9a-f]+ <[^>]*> addu a0,a0,gp
[0-9a-f]+ <[^>]*> lw a0,0\(a0\)
[ ]*[0-9a-f]+: R_MIPS_GOT_LO16 big_external_data_label
-[0-9a-f]+ <[^>]*> lui at,0x1
-[0-9a-f]+ <[^>]*> addiu at,at,-32768
+[0-9a-f]+ <[^>]*> li at,0x8000
[0-9a-f]+ <[^>]*> addu a0,a0,at
[0-9a-f]+ <[^>]*> lui a0,0x0
[ ]*[0-9a-f]+: R_MIPS_GOT_HI16 small_external_data_label
[0-9a-f]+ <[^>]*> addu a0,a0,gp
[0-9a-f]+ <[^>]*> lw a0,0\(a0\)
[ ]*[0-9a-f]+: R_MIPS_GOT_LO16 small_external_data_label
-[0-9a-f]+ <[^>]*> lui at,0x1
-[0-9a-f]+ <[^>]*> addiu at,at,-32768
+[0-9a-f]+ <[^>]*> li at,0x8000
[0-9a-f]+ <[^>]*> addu a0,a0,at
[0-9a-f]+ <[^>]*> lui a0,0x0
[ ]*[0-9a-f]+: R_MIPS_GOT_HI16 big_external_common
[0-9a-f]+ <[^>]*> addu a0,a0,gp
[0-9a-f]+ <[^>]*> lw a0,0\(a0\)
[ ]*[0-9a-f]+: R_MIPS_GOT_LO16 big_external_common
-[0-9a-f]+ <[^>]*> lui at,0x1
-[0-9a-f]+ <[^>]*> addiu at,at,-32768
+[0-9a-f]+ <[^>]*> li at,0x8000
[0-9a-f]+ <[^>]*> addu a0,a0,at
[0-9a-f]+ <[^>]*> lui a0,0x0
[ ]*[0-9a-f]+: R_MIPS_GOT_HI16 small_external_common
[0-9a-f]+ <[^>]*> addu a0,a0,gp
[0-9a-f]+ <[^>]*> lw a0,0\(a0\)
[ ]*[0-9a-f]+: R_MIPS_GOT_LO16 small_external_common
-[0-9a-f]+ <[^>]*> lui at,0x1
-[0-9a-f]+ <[^>]*> addiu at,at,-32768
+[0-9a-f]+ <[^>]*> li at,0x8000
[0-9a-f]+ <[^>]*> addu a0,a0,at
[0-9a-f]+ <[^>]*> lw a0,0\(gp\)
[ ]*[0-9a-f]+: R_MIPS_GOT16 .bss
@@ -208,7 +204,6 @@ Disassembly of section .text:
[0-9a-f]+ <[^>]*> lw a0,0\(a0\)
[ ]*[0-9a-f]+: R_MIPS_GOT_LO16 big_external_data_label
[0-9a-f]+ <[^>]*> lui at,0x1
-[0-9a-f]+ <[^>]*> addiu at,at,0
[0-9a-f]+ <[^>]*> addu a0,a0,at
[0-9a-f]+ <[^>]*> lui a0,0x0
[ ]*[0-9a-f]+: R_MIPS_GOT_HI16 small_external_data_label
@@ -216,7 +211,6 @@ Disassembly of section .text:
[0-9a-f]+ <[^>]*> lw a0,0\(a0\)
[ ]*[0-9a-f]+: R_MIPS_GOT_LO16 small_external_data_label
[0-9a-f]+ <[^>]*> lui at,0x1
-[0-9a-f]+ <[^>]*> addiu at,at,0
[0-9a-f]+ <[^>]*> addu a0,a0,at
[0-9a-f]+ <[^>]*> lui a0,0x0
[ ]*[0-9a-f]+: R_MIPS_GOT_HI16 big_external_common
@@ -224,7 +218,6 @@ Disassembly of section .text:
[0-9a-f]+ <[^>]*> lw a0,0\(a0\)
[ ]*[0-9a-f]+: R_MIPS_GOT_LO16 big_external_common
[0-9a-f]+ <[^>]*> lui at,0x1
-[0-9a-f]+ <[^>]*> addiu at,at,0
[0-9a-f]+ <[^>]*> addu a0,a0,at
[0-9a-f]+ <[^>]*> lui a0,0x0
[ ]*[0-9a-f]+: R_MIPS_GOT_HI16 small_external_common
@@ -232,7 +225,6 @@ Disassembly of section .text:
[0-9a-f]+ <[^>]*> lw a0,0\(a0\)
[ ]*[0-9a-f]+: R_MIPS_GOT_LO16 small_external_common
[0-9a-f]+ <[^>]*> lui at,0x1
-[0-9a-f]+ <[^>]*> addiu at,at,0
[0-9a-f]+ <[^>]*> addu a0,a0,at
[0-9a-f]+ <[^>]*> lw a0,0\(gp\)
[ ]*[0-9a-f]+: R_MIPS_GOT16 .bss
@@ -257,32 +249,32 @@ Disassembly of section .text:
[0-9a-f]+ <[^>]*> addu a0,a0,gp
[0-9a-f]+ <[^>]*> lw a0,0\(a0\)
[ ]*[0-9a-f]+: R_MIPS_GOT_LO16 big_external_data_label
-[0-9a-f]+ <[^>]*> lui at,0x2
-[0-9a-f]+ <[^>]*> addiu at,at,-23131
+[0-9a-f]+ <[^>]*> lui at,0x1
+[0-9a-f]+ <[^>]*> ori at,at,0xa5a5
[0-9a-f]+ <[^>]*> addu a0,a0,at
[0-9a-f]+ <[^>]*> lui a0,0x0
[ ]*[0-9a-f]+: R_MIPS_GOT_HI16 small_external_data_label
[0-9a-f]+ <[^>]*> addu a0,a0,gp
[0-9a-f]+ <[^>]*> lw a0,0\(a0\)
[ ]*[0-9a-f]+: R_MIPS_GOT_LO16 small_external_data_label
-[0-9a-f]+ <[^>]*> lui at,0x2
-[0-9a-f]+ <[^>]*> addiu at,at,-23131
+[0-9a-f]+ <[^>]*> lui at,0x1
+[0-9a-f]+ <[^>]*> ori at,at,0xa5a5
[0-9a-f]+ <[^>]*> addu a0,a0,at
[0-9a-f]+ <[^>]*> lui a0,0x0
[ ]*[0-9a-f]+: R_MIPS_GOT_HI16 big_external_common
[0-9a-f]+ <[^>]*> addu a0,a0,gp
[0-9a-f]+ <[^>]*> lw a0,0\(a0\)
[ ]*[0-9a-f]+: R_MIPS_GOT_LO16 big_external_common
-[0-9a-f]+ <[^>]*> lui at,0x2
-[0-9a-f]+ <[^>]*> addiu at,at,-23131
+[0-9a-f]+ <[^>]*> lui at,0x1
+[0-9a-f]+ <[^>]*> ori at,at,0xa5a5
[0-9a-f]+ <[^>]*> addu a0,a0,at
[0-9a-f]+ <[^>]*> lui a0,0x0
[ ]*[0-9a-f]+: R_MIPS_GOT_HI16 small_external_common
[0-9a-f]+ <[^>]*> addu a0,a0,gp
[0-9a-f]+ <[^>]*> lw a0,0\(a0\)
[ ]*[0-9a-f]+: R_MIPS_GOT_LO16 small_external_common
-[0-9a-f]+ <[^>]*> lui at,0x2
-[0-9a-f]+ <[^>]*> addiu at,at,-23131
+[0-9a-f]+ <[^>]*> lui at,0x1
+[0-9a-f]+ <[^>]*> ori at,at,0xa5a5
[0-9a-f]+ <[^>]*> addu a0,a0,at
[0-9a-f]+ <[^>]*> lw a0,0\(gp\)
[ ]*[0-9a-f]+: R_MIPS_GOT16 .bss
@@ -404,8 +396,7 @@ Disassembly of section .text:
[0-9a-f]+ <[^>]*> addu a0,a0,gp
[0-9a-f]+ <[^>]*> lw a0,0\(a0\)
[ ]*[0-9a-f]+: R_MIPS_GOT_LO16 big_external_data_label
-[0-9a-f]+ <[^>]*> lui at,0x1
-[0-9a-f]+ <[^>]*> addiu at,at,-32768
+[0-9a-f]+ <[^>]*> li at,0x8000
[0-9a-f]+ <[^>]*> addu a0,a0,at
[0-9a-f]+ <[^>]*> addu a0,a0,a1
[0-9a-f]+ <[^>]*> lui a0,0x0
@@ -413,8 +404,7 @@ Disassembly of section .text:
[0-9a-f]+ <[^>]*> addu a0,a0,gp
[0-9a-f]+ <[^>]*> lw a0,0\(a0\)
[ ]*[0-9a-f]+: R_MIPS_GOT_LO16 small_external_data_label
-[0-9a-f]+ <[^>]*> lui at,0x1
-[0-9a-f]+ <[^>]*> addiu at,at,-32768
+[0-9a-f]+ <[^>]*> li at,0x8000
[0-9a-f]+ <[^>]*> addu a0,a0,at
[0-9a-f]+ <[^>]*> addu a0,a0,a1
[0-9a-f]+ <[^>]*> lui a0,0x0
@@ -422,8 +412,7 @@ Disassembly of section .text:
[0-9a-f]+ <[^>]*> addu a0,a0,gp
[0-9a-f]+ <[^>]*> lw a0,0\(a0\)
[ ]*[0-9a-f]+: R_MIPS_GOT_LO16 big_external_common
-[0-9a-f]+ <[^>]*> lui at,0x1
-[0-9a-f]+ <[^>]*> addiu at,at,-32768
+[0-9a-f]+ <[^>]*> li at,0x8000
[0-9a-f]+ <[^>]*> addu a0,a0,at
[0-9a-f]+ <[^>]*> addu a0,a0,a1
[0-9a-f]+ <[^>]*> lui a0,0x0
@@ -431,8 +420,7 @@ Disassembly of section .text:
[0-9a-f]+ <[^>]*> addu a0,a0,gp
[0-9a-f]+ <[^>]*> lw a0,0\(a0\)
[ ]*[0-9a-f]+: R_MIPS_GOT_LO16 small_external_common
-[0-9a-f]+ <[^>]*> lui at,0x1
-[0-9a-f]+ <[^>]*> addiu at,at,-32768
+[0-9a-f]+ <[^>]*> li at,0x8000
[0-9a-f]+ <[^>]*> addu a0,a0,at
[0-9a-f]+ <[^>]*> addu a0,a0,a1
[0-9a-f]+ <[^>]*> lw a0,0\(gp\)
@@ -512,7 +500,6 @@ Disassembly of section .text:
[0-9a-f]+ <[^>]*> lw a0,0\(a0\)
[ ]*[0-9a-f]+: R_MIPS_GOT_LO16 big_external_data_label
[0-9a-f]+ <[^>]*> lui at,0x1
-[0-9a-f]+ <[^>]*> addiu at,at,0
[0-9a-f]+ <[^>]*> addu a0,a0,at
[0-9a-f]+ <[^>]*> addu a0,a0,a1
[0-9a-f]+ <[^>]*> lui a0,0x0
@@ -521,7 +508,6 @@ Disassembly of section .text:
[0-9a-f]+ <[^>]*> lw a0,0\(a0\)
[ ]*[0-9a-f]+: R_MIPS_GOT_LO16 small_external_data_label
[0-9a-f]+ <[^>]*> lui at,0x1
-[0-9a-f]+ <[^>]*> addiu at,at,0
[0-9a-f]+ <[^>]*> addu a0,a0,at
[0-9a-f]+ <[^>]*> addu a0,a0,a1
[0-9a-f]+ <[^>]*> lui a0,0x0
@@ -530,7 +516,6 @@ Disassembly of section .text:
[0-9a-f]+ <[^>]*> lw a0,0\(a0\)
[ ]*[0-9a-f]+: R_MIPS_GOT_LO16 big_external_common
[0-9a-f]+ <[^>]*> lui at,0x1
-[0-9a-f]+ <[^>]*> addiu at,at,0
[0-9a-f]+ <[^>]*> addu a0,a0,at
[0-9a-f]+ <[^>]*> addu a0,a0,a1
[0-9a-f]+ <[^>]*> lui a0,0x0
@@ -539,7 +524,6 @@ Disassembly of section .text:
[0-9a-f]+ <[^>]*> lw a0,0\(a0\)
[ ]*[0-9a-f]+: R_MIPS_GOT_LO16 small_external_common
[0-9a-f]+ <[^>]*> lui at,0x1
-[0-9a-f]+ <[^>]*> addiu at,at,0
[0-9a-f]+ <[^>]*> addu a0,a0,at
[0-9a-f]+ <[^>]*> addu a0,a0,a1
[0-9a-f]+ <[^>]*> lw a0,0\(gp\)
@@ -568,8 +552,8 @@ Disassembly of section .text:
[0-9a-f]+ <[^>]*> addu a0,a0,gp
[0-9a-f]+ <[^>]*> lw a0,0\(a0\)
[ ]*[0-9a-f]+: R_MIPS_GOT_LO16 big_external_data_label
-[0-9a-f]+ <[^>]*> lui at,0x2
-[0-9a-f]+ <[^>]*> addiu at,at,-23131
+[0-9a-f]+ <[^>]*> lui at,0x1
+[0-9a-f]+ <[^>]*> ori at,at,0xa5a5
[0-9a-f]+ <[^>]*> addu a0,a0,at
[0-9a-f]+ <[^>]*> addu a0,a0,a1
[0-9a-f]+ <[^>]*> lui a0,0x0
@@ -577,8 +561,8 @@ Disassembly of section .text:
[0-9a-f]+ <[^>]*> addu a0,a0,gp
[0-9a-f]+ <[^>]*> lw a0,0\(a0\)
[ ]*[0-9a-f]+: R_MIPS_GOT_LO16 small_external_data_label
-[0-9a-f]+ <[^>]*> lui at,0x2
-[0-9a-f]+ <[^>]*> addiu at,at,-23131
+[0-9a-f]+ <[^>]*> lui at,0x1
+[0-9a-f]+ <[^>]*> ori at,at,0xa5a5
[0-9a-f]+ <[^>]*> addu a0,a0,at
[0-9a-f]+ <[^>]*> addu a0,a0,a1
[0-9a-f]+ <[^>]*> lui a0,0x0
@@ -586,8 +570,8 @@ Disassembly of section .text:
[0-9a-f]+ <[^>]*> addu a0,a0,gp
[0-9a-f]+ <[^>]*> lw a0,0\(a0\)
[ ]*[0-9a-f]+: R_MIPS_GOT_LO16 big_external_common
-[0-9a-f]+ <[^>]*> lui at,0x2
-[0-9a-f]+ <[^>]*> addiu at,at,-23131
+[0-9a-f]+ <[^>]*> lui at,0x1
+[0-9a-f]+ <[^>]*> ori at,at,0xa5a5
[0-9a-f]+ <[^>]*> addu a0,a0,at
[0-9a-f]+ <[^>]*> addu a0,a0,a1
[0-9a-f]+ <[^>]*> lui a0,0x0
@@ -595,8 +579,8 @@ Disassembly of section .text:
[0-9a-f]+ <[^>]*> addu a0,a0,gp
[0-9a-f]+ <[^>]*> lw a0,0\(a0\)
[ ]*[0-9a-f]+: R_MIPS_GOT_LO16 small_external_common
-[0-9a-f]+ <[^>]*> lui at,0x2
-[0-9a-f]+ <[^>]*> addiu at,at,-23131
+[0-9a-f]+ <[^>]*> lui at,0x1
+[0-9a-f]+ <[^>]*> ori at,at,0xa5a5
[0-9a-f]+ <[^>]*> addu a0,a0,at
[0-9a-f]+ <[^>]*> addu a0,a0,a1
[0-9a-f]+ <[^>]*> lw a0,0\(gp\)
diff -up --recursive --new-file binutils-2.14.90-20040124.macro/gas/testsuite/gas/mips/lca-svr4pic.d binutils-2.14.90-20040124/gas/testsuite/gas/mips/lca-svr4pic.d
--- binutils-2.14.90-20040124.macro/gas/testsuite/gas/mips/lca-svr4pic.d 2003-11-18 21:22:55.000000000 +0000
+++ binutils-2.14.90-20040124/gas/testsuite/gas/mips/lca-svr4pic.d 2004-01-29 18:28:50.000000000 +0000
@@ -87,23 +87,19 @@ Disassembly of section .text:
[0-9a-f]+ <[^>]*> addu a0,a0,at
[0-9a-f]+ <[^>]*> lw a0,0\(gp\)
[ ]*[0-9a-f]+: R_MIPS_GOT16 big_external_data_label
-[0-9a-f]+ <[^>]*> lui at,0x1
-[0-9a-f]+ <[^>]*> addiu at,at,-32768
+[0-9a-f]+ <[^>]*> li at,0x8000
[0-9a-f]+ <[^>]*> addu a0,a0,at
[0-9a-f]+ <[^>]*> lw a0,0\(gp\)
[ ]*[0-9a-f]+: R_MIPS_GOT16 small_external_data_label
-[0-9a-f]+ <[^>]*> lui at,0x1
-[0-9a-f]+ <[^>]*> addiu at,at,-32768
+[0-9a-f]+ <[^>]*> li at,0x8000
[0-9a-f]+ <[^>]*> addu a0,a0,at
[0-9a-f]+ <[^>]*> lw a0,0\(gp\)
[ ]*[0-9a-f]+: R_MIPS_GOT16 big_external_common
-[0-9a-f]+ <[^>]*> lui at,0x1
-[0-9a-f]+ <[^>]*> addiu at,at,-32768
+[0-9a-f]+ <[^>]*> li at,0x8000
[0-9a-f]+ <[^>]*> addu a0,a0,at
[0-9a-f]+ <[^>]*> lw a0,0\(gp\)
[ ]*[0-9a-f]+: R_MIPS_GOT16 small_external_common
-[0-9a-f]+ <[^>]*> lui at,0x1
-[0-9a-f]+ <[^>]*> addiu at,at,-32768
+[0-9a-f]+ <[^>]*> li at,0x8000
[0-9a-f]+ <[^>]*> addu a0,a0,at
[0-9a-f]+ <[^>]*> lw a0,0\(gp\)
[ ]*[0-9a-f]+: R_MIPS_GOT16 .bss
@@ -157,22 +153,18 @@ Disassembly of section .text:
[0-9a-f]+ <[^>]*> lw a0,0\(gp\)
[ ]*[0-9a-f]+: R_MIPS_GOT16 big_external_data_label
[0-9a-f]+ <[^>]*> lui at,0x1
-[0-9a-f]+ <[^>]*> addiu at,at,0
[0-9a-f]+ <[^>]*> addu a0,a0,at
[0-9a-f]+ <[^>]*> lw a0,0\(gp\)
[ ]*[0-9a-f]+: R_MIPS_GOT16 small_external_data_label
[0-9a-f]+ <[^>]*> lui at,0x1
-[0-9a-f]+ <[^>]*> addiu at,at,0
[0-9a-f]+ <[^>]*> addu a0,a0,at
[0-9a-f]+ <[^>]*> lw a0,0\(gp\)
[ ]*[0-9a-f]+: R_MIPS_GOT16 big_external_common
[0-9a-f]+ <[^>]*> lui at,0x1
-[0-9a-f]+ <[^>]*> addiu at,at,0
[0-9a-f]+ <[^>]*> addu a0,a0,at
[0-9a-f]+ <[^>]*> lw a0,0\(gp\)
[ ]*[0-9a-f]+: R_MIPS_GOT16 small_external_common
[0-9a-f]+ <[^>]*> lui at,0x1
-[0-9a-f]+ <[^>]*> addiu at,at,0
[0-9a-f]+ <[^>]*> addu a0,a0,at
[0-9a-f]+ <[^>]*> lw a0,0\(gp\)
[ ]*[0-9a-f]+: R_MIPS_GOT16 .bss
@@ -194,23 +186,23 @@ Disassembly of section .text:
[0-9a-f]+ <[^>]*> addu a0,a0,at
[0-9a-f]+ <[^>]*> lw a0,0\(gp\)
[ ]*[0-9a-f]+: R_MIPS_GOT16 big_external_data_label
-[0-9a-f]+ <[^>]*> lui at,0x2
-[0-9a-f]+ <[^>]*> addiu at,at,-23131
+[0-9a-f]+ <[^>]*> lui at,0x1
+[0-9a-f]+ <[^>]*> ori at,at,0xa5a5
[0-9a-f]+ <[^>]*> addu a0,a0,at
[0-9a-f]+ <[^>]*> lw a0,0\(gp\)
[ ]*[0-9a-f]+: R_MIPS_GOT16 small_external_data_label
-[0-9a-f]+ <[^>]*> lui at,0x2
-[0-9a-f]+ <[^>]*> addiu at,at,-23131
+[0-9a-f]+ <[^>]*> lui at,0x1
+[0-9a-f]+ <[^>]*> ori at,at,0xa5a5
[0-9a-f]+ <[^>]*> addu a0,a0,at
[0-9a-f]+ <[^>]*> lw a0,0\(gp\)
[ ]*[0-9a-f]+: R_MIPS_GOT16 big_external_common
-[0-9a-f]+ <[^>]*> lui at,0x2
-[0-9a-f]+ <[^>]*> addiu at,at,-23131
+[0-9a-f]+ <[^>]*> lui at,0x1
+[0-9a-f]+ <[^>]*> ori at,at,0xa5a5
[0-9a-f]+ <[^>]*> addu a0,a0,at
[0-9a-f]+ <[^>]*> lw a0,0\(gp\)
[ ]*[0-9a-f]+: R_MIPS_GOT16 small_external_common
-[0-9a-f]+ <[^>]*> lui at,0x2
-[0-9a-f]+ <[^>]*> addiu at,at,-23131
+[0-9a-f]+ <[^>]*> lui at,0x1
+[0-9a-f]+ <[^>]*> ori at,at,0xa5a5
[0-9a-f]+ <[^>]*> addu a0,a0,at
[0-9a-f]+ <[^>]*> lw a0,0\(gp\)
[ ]*[0-9a-f]+: R_MIPS_GOT16 .bss
@@ -305,26 +297,22 @@ Disassembly of section .text:
[0-9a-f]+ <[^>]*> addu a0,a0,a1
[0-9a-f]+ <[^>]*> lw a0,0\(gp\)
[ ]*[0-9a-f]+: R_MIPS_GOT16 big_external_data_label
-[0-9a-f]+ <[^>]*> lui at,0x1
-[0-9a-f]+ <[^>]*> addiu at,at,-32768
+[0-9a-f]+ <[^>]*> li at,0x8000
[0-9a-f]+ <[^>]*> addu a0,a0,at
[0-9a-f]+ <[^>]*> addu a0,a0,a1
[0-9a-f]+ <[^>]*> lw a0,0\(gp\)
[ ]*[0-9a-f]+: R_MIPS_GOT16 small_external_data_label
-[0-9a-f]+ <[^>]*> lui at,0x1
-[0-9a-f]+ <[^>]*> addiu at,at,-32768
+[0-9a-f]+ <[^>]*> li at,0x8000
[0-9a-f]+ <[^>]*> addu a0,a0,at
[0-9a-f]+ <[^>]*> addu a0,a0,a1
[0-9a-f]+ <[^>]*> lw a0,0\(gp\)
[ ]*[0-9a-f]+: R_MIPS_GOT16 big_external_common
-[0-9a-f]+ <[^>]*> lui at,0x1
-[0-9a-f]+ <[^>]*> addiu at,at,-32768
+[0-9a-f]+ <[^>]*> li at,0x8000
[0-9a-f]+ <[^>]*> addu a0,a0,at
[0-9a-f]+ <[^>]*> addu a0,a0,a1
[0-9a-f]+ <[^>]*> lw a0,0\(gp\)
[ ]*[0-9a-f]+: R_MIPS_GOT16 small_external_common
-[0-9a-f]+ <[^>]*> lui at,0x1
-[0-9a-f]+ <[^>]*> addiu at,at,-32768
+[0-9a-f]+ <[^>]*> li at,0x8000
[0-9a-f]+ <[^>]*> addu a0,a0,at
[0-9a-f]+ <[^>]*> addu a0,a0,a1
[0-9a-f]+ <[^>]*> lw a0,0\(gp\)
@@ -389,25 +377,21 @@ Disassembly of section .text:
[0-9a-f]+ <[^>]*> lw a0,0\(gp\)
[ ]*[0-9a-f]+: R_MIPS_GOT16 big_external_data_label
[0-9a-f]+ <[^>]*> lui at,0x1
-[0-9a-f]+ <[^>]*> addiu at,at,0
[0-9a-f]+ <[^>]*> addu a0,a0,at
[0-9a-f]+ <[^>]*> addu a0,a0,a1
[0-9a-f]+ <[^>]*> lw a0,0\(gp\)
[ ]*[0-9a-f]+: R_MIPS_GOT16 small_external_data_label
[0-9a-f]+ <[^>]*> lui at,0x1
-[0-9a-f]+ <[^>]*> addiu at,at,0
[0-9a-f]+ <[^>]*> addu a0,a0,at
[0-9a-f]+ <[^>]*> addu a0,a0,a1
[0-9a-f]+ <[^>]*> lw a0,0\(gp\)
[ ]*[0-9a-f]+: R_MIPS_GOT16 big_external_common
[0-9a-f]+ <[^>]*> lui at,0x1
-[0-9a-f]+ <[^>]*> addiu at,at,0
[0-9a-f]+ <[^>]*> addu a0,a0,at
[0-9a-f]+ <[^>]*> addu a0,a0,a1
[0-9a-f]+ <[^>]*> lw a0,0\(gp\)
[ ]*[0-9a-f]+: R_MIPS_GOT16 small_external_common
[0-9a-f]+ <[^>]*> lui at,0x1
-[0-9a-f]+ <[^>]*> addiu at,at,0
[0-9a-f]+ <[^>]*> addu a0,a0,at
[0-9a-f]+ <[^>]*> addu a0,a0,a1
[0-9a-f]+ <[^>]*> lw a0,0\(gp\)
@@ -433,26 +417,26 @@ Disassembly of section .text:
[0-9a-f]+ <[^>]*> addu a0,a0,a1
[0-9a-f]+ <[^>]*> lw a0,0\(gp\)
[ ]*[0-9a-f]+: R_MIPS_GOT16 big_external_data_label
-[0-9a-f]+ <[^>]*> lui at,0x2
-[0-9a-f]+ <[^>]*> addiu at,at,-23131
+[0-9a-f]+ <[^>]*> lui at,0x1
+[0-9a-f]+ <[^>]*> ori at,at,0xa5a5
[0-9a-f]+ <[^>]*> addu a0,a0,at
[0-9a-f]+ <[^>]*> addu a0,a0,a1
[0-9a-f]+ <[^>]*> lw a0,0\(gp\)
[ ]*[0-9a-f]+: R_MIPS_GOT16 small_external_data_label
-[0-9a-f]+ <[^>]*> lui at,0x2
-[0-9a-f]+ <[^>]*> addiu at,at,-23131
+[0-9a-f]+ <[^>]*> lui at,0x1
+[0-9a-f]+ <[^>]*> ori at,at,0xa5a5
[0-9a-f]+ <[^>]*> addu a0,a0,at
[0-9a-f]+ <[^>]*> addu a0,a0,a1
[0-9a-f]+ <[^>]*> lw a0,0\(gp\)
[ ]*[0-9a-f]+: R_MIPS_GOT16 big_external_common
-[0-9a-f]+ <[^>]*> lui at,0x2
-[0-9a-f]+ <[^>]*> addiu at,at,-23131
+[0-9a-f]+ <[^>]*> lui at,0x1
+[0-9a-f]+ <[^>]*> ori at,at,0xa5a5
[0-9a-f]+ <[^>]*> addu a0,a0,at
[0-9a-f]+ <[^>]*> addu a0,a0,a1
[0-9a-f]+ <[^>]*> lw a0,0\(gp\)
[ ]*[0-9a-f]+: R_MIPS_GOT16 small_external_common
-[0-9a-f]+ <[^>]*> lui at,0x2
-[0-9a-f]+ <[^>]*> addiu at,at,-23131
+[0-9a-f]+ <[^>]*> lui at,0x1
+[0-9a-f]+ <[^>]*> ori at,at,0xa5a5
[0-9a-f]+ <[^>]*> addu a0,a0,at
[0-9a-f]+ <[^>]*> addu a0,a0,a1
[0-9a-f]+ <[^>]*> lw a0,0\(gp\)
diff -up --recursive --new-file binutils-2.14.90-20040124.macro/gas/testsuite/gas/mips/lca-xgot.d binutils-2.14.90-20040124/gas/testsuite/gas/mips/lca-xgot.d
--- binutils-2.14.90-20040124.macro/gas/testsuite/gas/mips/lca-xgot.d 2003-11-18 21:22:55.000000000 +0000
+++ binutils-2.14.90-20040124/gas/testsuite/gas/mips/lca-xgot.d 2004-01-29 18:28:50.000000000 +0000
@@ -114,32 +114,28 @@ Disassembly of section .text:
[0-9a-f]+ <[^>]*> addu a0,a0,gp
[0-9a-f]+ <[^>]*> lw a0,0\(a0\)
[ ]*[0-9a-f]+: R_MIPS_GOT_LO16 big_external_data_label
-[0-9a-f]+ <[^>]*> lui at,0x1
-[0-9a-f]+ <[^>]*> addiu at,at,-32768
+[0-9a-f]+ <[^>]*> li at,0x8000
[0-9a-f]+ <[^>]*> addu a0,a0,at
[0-9a-f]+ <[^>]*> lui a0,0x0
[ ]*[0-9a-f]+: R_MIPS_GOT_HI16 small_external_data_label
[0-9a-f]+ <[^>]*> addu a0,a0,gp
[0-9a-f]+ <[^>]*> lw a0,0\(a0\)
[ ]*[0-9a-f]+: R_MIPS_GOT_LO16 small_external_data_label
-[0-9a-f]+ <[^>]*> lui at,0x1
-[0-9a-f]+ <[^>]*> addiu at,at,-32768
+[0-9a-f]+ <[^>]*> li at,0x8000
[0-9a-f]+ <[^>]*> addu a0,a0,at
[0-9a-f]+ <[^>]*> lui a0,0x0
[ ]*[0-9a-f]+: R_MIPS_GOT_HI16 big_external_common
[0-9a-f]+ <[^>]*> addu a0,a0,gp
[0-9a-f]+ <[^>]*> lw a0,0\(a0\)
[ ]*[0-9a-f]+: R_MIPS_GOT_LO16 big_external_common
-[0-9a-f]+ <[^>]*> lui at,0x1
-[0-9a-f]+ <[^>]*> addiu at,at,-32768
+[0-9a-f]+ <[^>]*> li at,0x8000
[0-9a-f]+ <[^>]*> addu a0,a0,at
[0-9a-f]+ <[^>]*> lui a0,0x0
[ ]*[0-9a-f]+: R_MIPS_GOT_HI16 small_external_common
[0-9a-f]+ <[^>]*> addu a0,a0,gp
[0-9a-f]+ <[^>]*> lw a0,0\(a0\)
[ ]*[0-9a-f]+: R_MIPS_GOT_LO16 small_external_common
-[0-9a-f]+ <[^>]*> lui at,0x1
-[0-9a-f]+ <[^>]*> addiu at,at,-32768
+[0-9a-f]+ <[^>]*> li at,0x8000
[0-9a-f]+ <[^>]*> addu a0,a0,at
[0-9a-f]+ <[^>]*> lw a0,0\(gp\)
[ ]*[0-9a-f]+: R_MIPS_GOT16 .bss
@@ -208,7 +204,6 @@ Disassembly of section .text:
[0-9a-f]+ <[^>]*> lw a0,0\(a0\)
[ ]*[0-9a-f]+: R_MIPS_GOT_LO16 big_external_data_label
[0-9a-f]+ <[^>]*> lui at,0x1
-[0-9a-f]+ <[^>]*> addiu at,at,0
[0-9a-f]+ <[^>]*> addu a0,a0,at
[0-9a-f]+ <[^>]*> lui a0,0x0
[ ]*[0-9a-f]+: R_MIPS_GOT_HI16 small_external_data_label
@@ -216,7 +211,6 @@ Disassembly of section .text:
[0-9a-f]+ <[^>]*> lw a0,0\(a0\)
[ ]*[0-9a-f]+: R_MIPS_GOT_LO16 small_external_data_label
[0-9a-f]+ <[^>]*> lui at,0x1
-[0-9a-f]+ <[^>]*> addiu at,at,0
[0-9a-f]+ <[^>]*> addu a0,a0,at
[0-9a-f]+ <[^>]*> lui a0,0x0
[ ]*[0-9a-f]+: R_MIPS_GOT_HI16 big_external_common
@@ -224,7 +218,6 @@ Disassembly of section .text:
[0-9a-f]+ <[^>]*> lw a0,0\(a0\)
[ ]*[0-9a-f]+: R_MIPS_GOT_LO16 big_external_common
[0-9a-f]+ <[^>]*> lui at,0x1
-[0-9a-f]+ <[^>]*> addiu at,at,0
[0-9a-f]+ <[^>]*> addu a0,a0,at
[0-9a-f]+ <[^>]*> lui a0,0x0
[ ]*[0-9a-f]+: R_MIPS_GOT_HI16 small_external_common
@@ -232,7 +225,6 @@ Disassembly of section .text:
[0-9a-f]+ <[^>]*> lw a0,0\(a0\)
[ ]*[0-9a-f]+: R_MIPS_GOT_LO16 small_external_common
[0-9a-f]+ <[^>]*> lui at,0x1
-[0-9a-f]+ <[^>]*> addiu at,at,0
[0-9a-f]+ <[^>]*> addu a0,a0,at
[0-9a-f]+ <[^>]*> lw a0,0\(gp\)
[ ]*[0-9a-f]+: R_MIPS_GOT16 .bss
@@ -257,32 +249,32 @@ Disassembly of section .text:
[0-9a-f]+ <[^>]*> addu a0,a0,gp
[0-9a-f]+ <[^>]*> lw a0,0\(a0\)
[ ]*[0-9a-f]+: R_MIPS_GOT_LO16 big_external_data_label
-[0-9a-f]+ <[^>]*> lui at,0x2
-[0-9a-f]+ <[^>]*> addiu at,at,-23131
+[0-9a-f]+ <[^>]*> lui at,0x1
+[0-9a-f]+ <[^>]*> ori at,at,0xa5a5
[0-9a-f]+ <[^>]*> addu a0,a0,at
[0-9a-f]+ <[^>]*> lui a0,0x0
[ ]*[0-9a-f]+: R_MIPS_GOT_HI16 small_external_data_label
[0-9a-f]+ <[^>]*> addu a0,a0,gp
[0-9a-f]+ <[^>]*> lw a0,0\(a0\)
[ ]*[0-9a-f]+: R_MIPS_GOT_LO16 small_external_data_label
-[0-9a-f]+ <[^>]*> lui at,0x2
-[0-9a-f]+ <[^>]*> addiu at,at,-23131
+[0-9a-f]+ <[^>]*> lui at,0x1
+[0-9a-f]+ <[^>]*> ori at,at,0xa5a5
[0-9a-f]+ <[^>]*> addu a0,a0,at
[0-9a-f]+ <[^>]*> lui a0,0x0
[ ]*[0-9a-f]+: R_MIPS_GOT_HI16 big_external_common
[0-9a-f]+ <[^>]*> addu a0,a0,gp
[0-9a-f]+ <[^>]*> lw a0,0\(a0\)
[ ]*[0-9a-f]+: R_MIPS_GOT_LO16 big_external_common
-[0-9a-f]+ <[^>]*> lui at,0x2
-[0-9a-f]+ <[^>]*> addiu at,at,-23131
+[0-9a-f]+ <[^>]*> lui at,0x1
+[0-9a-f]+ <[^>]*> ori at,at,0xa5a5
[0-9a-f]+ <[^>]*> addu a0,a0,at
[0-9a-f]+ <[^>]*> lui a0,0x0
[ ]*[0-9a-f]+: R_MIPS_GOT_HI16 small_external_common
[0-9a-f]+ <[^>]*> addu a0,a0,gp
[0-9a-f]+ <[^>]*> lw a0,0\(a0\)
[ ]*[0-9a-f]+: R_MIPS_GOT_LO16 small_external_common
-[0-9a-f]+ <[^>]*> lui at,0x2
-[0-9a-f]+ <[^>]*> addiu at,at,-23131
+[0-9a-f]+ <[^>]*> lui at,0x1
+[0-9a-f]+ <[^>]*> ori at,at,0xa5a5
[0-9a-f]+ <[^>]*> addu a0,a0,at
[0-9a-f]+ <[^>]*> lw a0,0\(gp\)
[ ]*[0-9a-f]+: R_MIPS_GOT16 .bss
@@ -404,8 +396,7 @@ Disassembly of section .text:
[0-9a-f]+ <[^>]*> addu a0,a0,gp
[0-9a-f]+ <[^>]*> lw a0,0\(a0\)
[ ]*[0-9a-f]+: R_MIPS_GOT_LO16 big_external_data_label
-[0-9a-f]+ <[^>]*> lui at,0x1
-[0-9a-f]+ <[^>]*> addiu at,at,-32768
+[0-9a-f]+ <[^>]*> li at,0x8000
[0-9a-f]+ <[^>]*> addu a0,a0,at
[0-9a-f]+ <[^>]*> addu a0,a0,a1
[0-9a-f]+ <[^>]*> lui a0,0x0
@@ -413,8 +404,7 @@ Disassembly of section .text:
[0-9a-f]+ <[^>]*> addu a0,a0,gp
[0-9a-f]+ <[^>]*> lw a0,0\(a0\)
[ ]*[0-9a-f]+: R_MIPS_GOT_LO16 small_external_data_label
-[0-9a-f]+ <[^>]*> lui at,0x1
-[0-9a-f]+ <[^>]*> addiu at,at,-32768
+[0-9a-f]+ <[^>]*> li at,0x8000
[0-9a-f]+ <[^>]*> addu a0,a0,at
[0-9a-f]+ <[^>]*> addu a0,a0,a1
[0-9a-f]+ <[^>]*> lui a0,0x0
@@ -422,8 +412,7 @@ Disassembly of section .text:
[0-9a-f]+ <[^>]*> addu a0,a0,gp
[0-9a-f]+ <[^>]*> lw a0,0\(a0\)
[ ]*[0-9a-f]+: R_MIPS_GOT_LO16 big_external_common
-[0-9a-f]+ <[^>]*> lui at,0x1
-[0-9a-f]+ <[^>]*> addiu at,at,-32768
+[0-9a-f]+ <[^>]*> li at,0x8000
[0-9a-f]+ <[^>]*> addu a0,a0,at
[0-9a-f]+ <[^>]*> addu a0,a0,a1
[0-9a-f]+ <[^>]*> lui a0,0x0
@@ -431,8 +420,7 @@ Disassembly of section .text:
[0-9a-f]+ <[^>]*> addu a0,a0,gp
[0-9a-f]+ <[^>]*> lw a0,0\(a0\)
[ ]*[0-9a-f]+: R_MIPS_GOT_LO16 small_external_common
-[0-9a-f]+ <[^>]*> lui at,0x1
-[0-9a-f]+ <[^>]*> addiu at,at,-32768
+[0-9a-f]+ <[^>]*> li at,0x8000
[0-9a-f]+ <[^>]*> addu a0,a0,at
[0-9a-f]+ <[^>]*> addu a0,a0,a1
[0-9a-f]+ <[^>]*> lw a0,0\(gp\)
@@ -512,7 +500,6 @@ Disassembly of section .text:
[0-9a-f]+ <[^>]*> lw a0,0\(a0\)
[ ]*[0-9a-f]+: R_MIPS_GOT_LO16 big_external_data_label
[0-9a-f]+ <[^>]*> lui at,0x1
-[0-9a-f]+ <[^>]*> addiu at,at,0
[0-9a-f]+ <[^>]*> addu a0,a0,at
[0-9a-f]+ <[^>]*> addu a0,a0,a1
[0-9a-f]+ <[^>]*> lui a0,0x0
@@ -521,7 +508,6 @@ Disassembly of section .text:
[0-9a-f]+ <[^>]*> lw a0,0\(a0\)
[ ]*[0-9a-f]+: R_MIPS_GOT_LO16 small_external_data_label
[0-9a-f]+ <[^>]*> lui at,0x1
-[0-9a-f]+ <[^>]*> addiu at,at,0
[0-9a-f]+ <[^>]*> addu a0,a0,at
[0-9a-f]+ <[^>]*> addu a0,a0,a1
[0-9a-f]+ <[^>]*> lui a0,0x0
@@ -530,7 +516,6 @@ Disassembly of section .text:
[0-9a-f]+ <[^>]*> lw a0,0\(a0\)
[ ]*[0-9a-f]+: R_MIPS_GOT_LO16 big_external_common
[0-9a-f]+ <[^>]*> lui at,0x1
-[0-9a-f]+ <[^>]*> addiu at,at,0
[0-9a-f]+ <[^>]*> addu a0,a0,at
[0-9a-f]+ <[^>]*> addu a0,a0,a1
[0-9a-f]+ <[^>]*> lui a0,0x0
@@ -539,7 +524,6 @@ Disassembly of section .text:
[0-9a-f]+ <[^>]*> lw a0,0\(a0\)
[ ]*[0-9a-f]+: R_MIPS_GOT_LO16 small_external_common
[0-9a-f]+ <[^>]*> lui at,0x1
-[0-9a-f]+ <[^>]*> addiu at,at,0
[0-9a-f]+ <[^>]*> addu a0,a0,at
[0-9a-f]+ <[^>]*> addu a0,a0,a1
[0-9a-f]+ <[^>]*> lw a0,0\(gp\)
@@ -568,8 +552,8 @@ Disassembly of section .text:
[0-9a-f]+ <[^>]*> addu a0,a0,gp
[0-9a-f]+ <[^>]*> lw a0,0\(a0\)
[ ]*[0-9a-f]+: R_MIPS_GOT_LO16 big_external_data_label
-[0-9a-f]+ <[^>]*> lui at,0x2
-[0-9a-f]+ <[^>]*> addiu at,at,-23131
+[0-9a-f]+ <[^>]*> lui at,0x1
+[0-9a-f]+ <[^>]*> ori at,at,0xa5a5
[0-9a-f]+ <[^>]*> addu a0,a0,at
[0-9a-f]+ <[^>]*> addu a0,a0,a1
[0-9a-f]+ <[^>]*> lui a0,0x0
@@ -577,8 +561,8 @@ Disassembly of section .text:
[0-9a-f]+ <[^>]*> addu a0,a0,gp
[0-9a-f]+ <[^>]*> lw a0,0\(a0\)
[ ]*[0-9a-f]+: R_MIPS_GOT_LO16 small_external_data_label
-[0-9a-f]+ <[^>]*> lui at,0x2
-[0-9a-f]+ <[^>]*> addiu at,at,-23131
+[0-9a-f]+ <[^>]*> lui at,0x1
+[0-9a-f]+ <[^>]*> ori at,at,0xa5a5
[0-9a-f]+ <[^>]*> addu a0,a0,at
[0-9a-f]+ <[^>]*> addu a0,a0,a1
[0-9a-f]+ <[^>]*> lui a0,0x0
@@ -586,8 +570,8 @@ Disassembly of section .text:
[0-9a-f]+ <[^>]*> addu a0,a0,gp
[0-9a-f]+ <[^>]*> lw a0,0\(a0\)
[ ]*[0-9a-f]+: R_MIPS_GOT_LO16 big_external_common
-[0-9a-f]+ <[^>]*> lui at,0x2
-[0-9a-f]+ <[^>]*> addiu at,at,-23131
+[0-9a-f]+ <[^>]*> lui at,0x1
+[0-9a-f]+ <[^>]*> ori at,at,0xa5a5
[0-9a-f]+ <[^>]*> addu a0,a0,at
[0-9a-f]+ <[^>]*> addu a0,a0,a1
[0-9a-f]+ <[^>]*> lui a0,0x0
@@ -595,8 +579,8 @@ Disassembly of section .text:
[0-9a-f]+ <[^>]*> addu a0,a0,gp
[0-9a-f]+ <[^>]*> lw a0,0\(a0\)
[ ]*[0-9a-f]+: R_MIPS_GOT_LO16 small_external_common
-[0-9a-f]+ <[^>]*> lui at,0x2
-[0-9a-f]+ <[^>]*> addiu at,at,-23131
+[0-9a-f]+ <[^>]*> lui at,0x1
+[0-9a-f]+ <[^>]*> ori at,at,0xa5a5
[0-9a-f]+ <[^>]*> addu a0,a0,at
[0-9a-f]+ <[^>]*> addu a0,a0,a1
[0-9a-f]+ <[^>]*> lw a0,0\(gp\)