summaryrefslogtreecommitdiff
path: root/gas/testsuite/gas/mips
diff options
context:
space:
mode:
Diffstat (limited to 'gas/testsuite/gas/mips')
-rw-r--r--gas/testsuite/gas/mips/div.d4
-rw-r--r--gas/testsuite/gas/mips/elf-rel-got-n32.d16
-rw-r--r--gas/testsuite/gas/mips/elf-rel-got-n64.d16
-rw-r--r--gas/testsuite/gas/mips/elf-rel-xgot-n32.d16
-rw-r--r--gas/testsuite/gas/mips/elf-rel-xgot-n64.d16
-rw-r--r--gas/testsuite/gas/mips/elf-rel19.d34
-rw-r--r--gas/testsuite/gas/mips/elf-rel19.s8
-rw-r--r--gas/testsuite/gas/mips/la-svr4pic.d64
-rw-r--r--gas/testsuite/gas/mips/la-xgot.d64
-rw-r--r--gas/testsuite/gas/mips/lca-svr4pic.d64
-rw-r--r--gas/testsuite/gas/mips/lca-xgot.d64
-rw-r--r--gas/testsuite/gas/mips/macro-warn-1-n32.d5
-rw-r--r--gas/testsuite/gas/mips/macro-warn-1-n32.l6
-rw-r--r--gas/testsuite/gas/mips/macro-warn-1.d5
-rw-r--r--gas/testsuite/gas/mips/macro-warn-1.l8
-rw-r--r--gas/testsuite/gas/mips/macro-warn-1.s21
-rw-r--r--gas/testsuite/gas/mips/macro-warn-2-n32.d4
-rw-r--r--gas/testsuite/gas/mips/macro-warn-2.d5
-rw-r--r--gas/testsuite/gas/mips/macro-warn-2.l3
-rw-r--r--gas/testsuite/gas/mips/macro-warn-2.s10
-rw-r--r--gas/testsuite/gas/mips/macro-warn-3.d5
-rw-r--r--gas/testsuite/gas/mips/macro-warn-3.l3
-rw-r--r--gas/testsuite/gas/mips/macro-warn-3.s10
-rw-r--r--gas/testsuite/gas/mips/macro-warn-4.d5
-rw-r--r--gas/testsuite/gas/mips/macro-warn-4.l3
-rw-r--r--gas/testsuite/gas/mips/macro-warn-4.s7
-rw-r--r--gas/testsuite/gas/mips/mips.exp10
-rw-r--r--gas/testsuite/gas/mips/relax-swap1-mips2.d2
-rw-r--r--gas/testsuite/gas/mips/relax-swap1.s2
-rw-r--r--gas/testsuite/gas/mips/relax-swap2.s2
30 files changed, 287 insertions, 195 deletions
diff --git a/gas/testsuite/gas/mips/div.d b/gas/testsuite/gas/mips/div.d
index 6d60da50fc5..869c0fd831b 100644
--- a/gas/testsuite/gas/mips/div.d
+++ b/gas/testsuite/gas/mips/div.d
@@ -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 --git a/gas/testsuite/gas/mips/elf-rel-got-n32.d b/gas/testsuite/gas/mips/elf-rel-got-n32.d
index 4ce7673d45e..41c2c3ea2fc 100644
--- a/gas/testsuite/gas/mips/elf-rel-got-n32.d
+++ b/gas/testsuite/gas/mips/elf-rel-got-n32.d
@@ -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 --git a/gas/testsuite/gas/mips/elf-rel-got-n64.d b/gas/testsuite/gas/mips/elf-rel-got-n64.d
index 9fe98b53455..9b971c011fd 100644
--- a/gas/testsuite/gas/mips/elf-rel-got-n64.d
+++ b/gas/testsuite/gas/mips/elf-rel-got-n64.d
@@ -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 --git a/gas/testsuite/gas/mips/elf-rel-xgot-n32.d b/gas/testsuite/gas/mips/elf-rel-xgot-n32.d
index a3f5d0c01ca..a7039dfeeff 100644
--- a/gas/testsuite/gas/mips/elf-rel-xgot-n32.d
+++ b/gas/testsuite/gas/mips/elf-rel-xgot-n32.d
@@ -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 --git a/gas/testsuite/gas/mips/elf-rel-xgot-n64.d b/gas/testsuite/gas/mips/elf-rel-xgot-n64.d
index 3d4c13d1dd4..717f8acb4c8 100644
--- a/gas/testsuite/gas/mips/elf-rel-xgot-n64.d
+++ b/gas/testsuite/gas/mips/elf-rel-xgot-n64.d
@@ -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 --git a/gas/testsuite/gas/mips/elf-rel19.d b/gas/testsuite/gas/mips/elf-rel19.d
new file mode 100644
index 00000000000..e80aa61c707
--- /dev/null
+++ b/gas/testsuite/gas/mips/elf-rel19.d
@@ -0,0 +1,34 @@
+#objdump: -dr
+#as: -mabi=32 -KPIC
+
+.*: file format .*
+
+Disassembly of section \.text:
+
+00000000 <.*>:
+#
+# Relocation agsinst .rodata.str1.1
+#
+.*: 8f840000 lw a0,0\(gp\)
+ .*: R_MIPS_GOT16 \.rodata\.str1\.1
+.*: 00000000 nop
+.*: 24840004 addiu a0,a0,4
+ .*: R_MIPS_LO16 \.rodata\.str1\.1
+#
+# Relocation agsinst L2 + 2
+#
+.*: 8f840000 lw a0,0\(gp\)
+ .*: R_MIPS_GOT16 L2
+.*: 00000000 nop
+.*: 24840002 addiu a0,a0,2
+ .*: R_MIPS_LO16 L2
+#
+# Relocation agsinst L2 - 0x4000 with 0x10000 added separately.
+#
+.*: 8f840000 lw a0,0\(gp\)
+ .*: R_MIPS_GOT16 L2
+.*: 3c010001 lui at,0x1
+.*: 2421c000 addiu at,at,-16384
+ .*: R_MIPS_LO16 L2
+.*: 00812021 addu a0,a0,at
+ \.\.\.
diff --git a/gas/testsuite/gas/mips/elf-rel19.s b/gas/testsuite/gas/mips/elf-rel19.s
new file mode 100644
index 00000000000..9a3c6d5009d
--- /dev/null
+++ b/gas/testsuite/gas/mips/elf-rel19.s
@@ -0,0 +1,8 @@
+ .abicalls
+ la $4,L2
+ la $4,L2 + 2
+ la $4,L2 + 0xc000
+ .space 16
+ .section .rodata.str1.1,"aMS",@progbits,1
+L1: .string "foo"
+L2: .string "a"
diff --git a/gas/testsuite/gas/mips/la-svr4pic.d b/gas/testsuite/gas/mips/la-svr4pic.d
index 698b57c03f9..d53580faeb1 100644
--- a/gas/testsuite/gas/mips/la-svr4pic.d
+++ b/gas/testsuite/gas/mips/la-svr4pic.d
@@ -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 --git a/gas/testsuite/gas/mips/la-xgot.d b/gas/testsuite/gas/mips/la-xgot.d
index 5a724523d3d..50cc37c8353 100644
--- a/gas/testsuite/gas/mips/la-xgot.d
+++ b/gas/testsuite/gas/mips/la-xgot.d
@@ -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 --git a/gas/testsuite/gas/mips/lca-svr4pic.d b/gas/testsuite/gas/mips/lca-svr4pic.d
index 730ecdde5d5..29e6a449f2e 100644
--- a/gas/testsuite/gas/mips/lca-svr4pic.d
+++ b/gas/testsuite/gas/mips/lca-svr4pic.d
@@ -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 --git a/gas/testsuite/gas/mips/lca-xgot.d b/gas/testsuite/gas/mips/lca-xgot.d
index e40ec555c14..404f4e01052 100644
--- a/gas/testsuite/gas/mips/lca-xgot.d
+++ b/gas/testsuite/gas/mips/lca-xgot.d
@@ -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 --git a/gas/testsuite/gas/mips/macro-warn-1-n32.d b/gas/testsuite/gas/mips/macro-warn-1-n32.d
new file mode 100644
index 00000000000..08ea8d8694a
--- /dev/null
+++ b/gas/testsuite/gas/mips/macro-warn-1-n32.d
@@ -0,0 +1,5 @@
+#as: -n32 -KPIC
+#source: macro-warn-1.s
+#stderr: macro-warn-1-n32.l
+#objdump: -p
+#pass
diff --git a/gas/testsuite/gas/mips/macro-warn-1-n32.l b/gas/testsuite/gas/mips/macro-warn-1-n32.l
new file mode 100644
index 00000000000..eaa35eba835
--- /dev/null
+++ b/gas/testsuite/gas/mips/macro-warn-1-n32.l
@@ -0,0 +1,6 @@
+.*: Assembler messages:
+.*:6: Warning: Macro instruction expanded into multiple instructions
+.*:10: Warning: Macro instruction expanded into multiple instructions
+.*:12: Warning: Macro instruction expanded into multiple instructions
+.*:16: Warning: Macro instruction expanded into multiple instructions.*slot
+.*:20: Warning: Macro instruction expanded into multiple instructions.*slot
diff --git a/gas/testsuite/gas/mips/macro-warn-1.d b/gas/testsuite/gas/mips/macro-warn-1.d
new file mode 100644
index 00000000000..d4d709d685b
--- /dev/null
+++ b/gas/testsuite/gas/mips/macro-warn-1.d
@@ -0,0 +1,5 @@
+#as: -32 -KPIC
+#source: macro-warn-1.s
+#stderr: macro-warn-1.l
+#objdump: -p
+#pass
diff --git a/gas/testsuite/gas/mips/macro-warn-1.l b/gas/testsuite/gas/mips/macro-warn-1.l
new file mode 100644
index 00000000000..3cf69a09da5
--- /dev/null
+++ b/gas/testsuite/gas/mips/macro-warn-1.l
@@ -0,0 +1,8 @@
+.*: Assembler messages:
+.*:5: Warning: Macro instruction expanded into multiple instructions
+.*:10: Warning: Macro instruction expanded into multiple instructions
+.*:11: Warning: Macro instruction expanded into multiple instructions
+.*:12: Warning: Macro instruction expanded into multiple instructions
+.*:16: Warning: Macro instruction expanded into multiple instructions.*slot
+.*:18: Warning: Macro instruction expanded into multiple instructions.*slot
+.*:20: Warning: Macro instruction expanded into multiple instructions.*slot
diff --git a/gas/testsuite/gas/mips/macro-warn-1.s b/gas/testsuite/gas/mips/macro-warn-1.s
new file mode 100644
index 00000000000..b07e5bad2ed
--- /dev/null
+++ b/gas/testsuite/gas/mips/macro-warn-1.s
@@ -0,0 +1,21 @@
+ .set noreorder
+ .set nomacro
+ .globl early_global
+local:
+ .cpload $25
+ .cpsetup $25,16,local
+ .cprestore 16
+ .cpreturn
+ la $4,early_global
+ la $4,early_global+10
+ la $4,local+10
+ la $4,late_global+10
+ jr $5
+ la $4,early_global
+ jr $5
+ la $4,early_global+10
+ jr $5
+ la $4,local+10
+ jr $5
+ la $4,late_global+10
+ .globl late_global
diff --git a/gas/testsuite/gas/mips/macro-warn-2-n32.d b/gas/testsuite/gas/mips/macro-warn-2-n32.d
new file mode 100644
index 00000000000..7a8c20638bf
--- /dev/null
+++ b/gas/testsuite/gas/mips/macro-warn-2-n32.d
@@ -0,0 +1,4 @@
+#as: -n32 -KPIC
+#source: macro-warn-2.s
+#objdump: -p
+#pass
diff --git a/gas/testsuite/gas/mips/macro-warn-2.d b/gas/testsuite/gas/mips/macro-warn-2.d
new file mode 100644
index 00000000000..5f7a9e5ee8f
--- /dev/null
+++ b/gas/testsuite/gas/mips/macro-warn-2.d
@@ -0,0 +1,5 @@
+#as: -32 -KPIC
+#source: macro-warn-2.s
+#stderr: macro-warn-2.l
+#objdump: -p
+#pass
diff --git a/gas/testsuite/gas/mips/macro-warn-2.l b/gas/testsuite/gas/mips/macro-warn-2.l
new file mode 100644
index 00000000000..906de2251d8
--- /dev/null
+++ b/gas/testsuite/gas/mips/macro-warn-2.l
@@ -0,0 +1,3 @@
+.*: Assembler messages:
+.*:5: Warning: Macro instruction expanded into multiple instructions
+.*:9: Warning: Macro instruction expanded into multiple instructions.*slot
diff --git a/gas/testsuite/gas/mips/macro-warn-2.s b/gas/testsuite/gas/mips/macro-warn-2.s
new file mode 100644
index 00000000000..00f51f329d6
--- /dev/null
+++ b/gas/testsuite/gas/mips/macro-warn-2.s
@@ -0,0 +1,10 @@
+ .set noreorder
+ .set nomacro
+local:
+ la $4,late_global
+ la $4,local
+ jr $5
+ la $4,late_global
+ jr $5
+ la $4,local
+ .globl local_global
diff --git a/gas/testsuite/gas/mips/macro-warn-3.d b/gas/testsuite/gas/mips/macro-warn-3.d
new file mode 100644
index 00000000000..10935f9960a
--- /dev/null
+++ b/gas/testsuite/gas/mips/macro-warn-3.d
@@ -0,0 +1,5 @@
+#as: -32
+#source: macro-warn-3.s
+#stderr: macro-warn-3.l
+#objdump: -p
+#pass
diff --git a/gas/testsuite/gas/mips/macro-warn-3.l b/gas/testsuite/gas/mips/macro-warn-3.l
new file mode 100644
index 00000000000..33ecc740278
--- /dev/null
+++ b/gas/testsuite/gas/mips/macro-warn-3.l
@@ -0,0 +1,3 @@
+.*: Assembler messages:
+.*:4: Warning: Macro instruction expanded into multiple instructions
+.*:7: Warning: Macro instruction expanded into multiple instructions.*slot
diff --git a/gas/testsuite/gas/mips/macro-warn-3.s b/gas/testsuite/gas/mips/macro-warn-3.s
new file mode 100644
index 00000000000..0c6b2d76f63
--- /dev/null
+++ b/gas/testsuite/gas/mips/macro-warn-3.s
@@ -0,0 +1,10 @@
+ .set noreorder
+ .set nomacro
+early_big:
+ la $4,early_big
+ la $4,sdata
+ jr $5
+ la $4,early_big
+ jr $5
+ la $4,sdata
+ .comm sdata,4
diff --git a/gas/testsuite/gas/mips/macro-warn-4.d b/gas/testsuite/gas/mips/macro-warn-4.d
new file mode 100644
index 00000000000..a52e09c400a
--- /dev/null
+++ b/gas/testsuite/gas/mips/macro-warn-4.d
@@ -0,0 +1,5 @@
+#as: -32
+#source: macro-warn-4.s
+#stderr: macro-warn-4.l
+#objdump: -p
+#pass
diff --git a/gas/testsuite/gas/mips/macro-warn-4.l b/gas/testsuite/gas/mips/macro-warn-4.l
new file mode 100644
index 00000000000..abd23b05881
--- /dev/null
+++ b/gas/testsuite/gas/mips/macro-warn-4.l
@@ -0,0 +1,3 @@
+.*: Assembler messages:
+.*:3: Warning: Macro instruction expanded into multiple instructions
+.*:5: Warning: Macro instruction expanded into multiple instructions.*slot
diff --git a/gas/testsuite/gas/mips/macro-warn-4.s b/gas/testsuite/gas/mips/macro-warn-4.s
new file mode 100644
index 00000000000..d3be7f3dc53
--- /dev/null
+++ b/gas/testsuite/gas/mips/macro-warn-4.s
@@ -0,0 +1,7 @@
+ .set noreorder
+ .set nomacro
+ la $4,late_big
+ jr $5
+ la $4,late_big
+ .comm sdata,4
+late_big:
diff --git a/gas/testsuite/gas/mips/mips.exp b/gas/testsuite/gas/mips/mips.exp
index af057e9dc0f..a641c9b0088 100644
--- a/gas/testsuite/gas/mips/mips.exp
+++ b/gas/testsuite/gas/mips/mips.exp
@@ -678,6 +678,7 @@ if { [istarget mips*-*-*] } then {
if $has_newabi {
run_dump_test "elf-rel18"
}
+ run_dump_test "elf-rel19"
run_dump_test "${tmips}${el}empic"
run_dump_test "empic2"
@@ -734,4 +735,13 @@ if { [istarget mips*-*-*] } then {
run_dump_test "ldstla-n64"
run_dump_test "ldstla-n64-shared"
}
+
+ run_dump_test "macro-warn-1"
+ run_dump_test "macro-warn-2"
+ run_dump_test "macro-warn-3"
+ run_dump_test "macro-warn-4"
+ if $has_newabi {
+ run_dump_test "macro-warn-1-n32"
+ run_dump_test "macro-warn-2-n32"
+ }
}
diff --git a/gas/testsuite/gas/mips/relax-swap1-mips2.d b/gas/testsuite/gas/mips/relax-swap1-mips2.d
index 95badca6a16..7297dd0031d 100644
--- a/gas/testsuite/gas/mips/relax-swap1-mips2.d
+++ b/gas/testsuite/gas/mips/relax-swap1-mips2.d
@@ -277,4 +277,4 @@ Disassembly of section \.text:
0+0364 <[^>]*> jalr v0,v1
0+0368 <[^>]*> nop
\.\.\.
-0+2036c <[^>]*> nop
+ \.\.\.
diff --git a/gas/testsuite/gas/mips/relax-swap1.s b/gas/testsuite/gas/mips/relax-swap1.s
index 05264c7c3ec..74c2a421145 100644
--- a/gas/testsuite/gas/mips/relax-swap1.s
+++ b/gas/testsuite/gas/mips/relax-swap1.s
@@ -147,3 +147,5 @@ foo:
.space 0x20000 # to make a 128kb loop body
bar:
+# Force at least 8 (non-delay-slot) zero bytes, to make 'objdump' print ...
+ .space 8
diff --git a/gas/testsuite/gas/mips/relax-swap2.s b/gas/testsuite/gas/mips/relax-swap2.s
index bae6d59826b..2e7ea2e2376 100644
--- a/gas/testsuite/gas/mips/relax-swap2.s
+++ b/gas/testsuite/gas/mips/relax-swap2.s
@@ -46,3 +46,5 @@ foo:
.space 0x20000 # to make a 128kb loop body
bar:
+# Force at least 8 (non-delay-slot) zero bytes, to make 'objdump' print ...
+ .space 8