[committed] MIPS/GAS/testsuite: Fix JALR relocation tests for IRIX targets
Maciej W. Rozycki
macro@linux-mips.org
Wed Jul 22 11:47:43 GMT 2020
With IRIX targets the JALR hint relocation is not produced for the o32
ABI, where it is considered a GNU extension. Consequently several tests
fail as the output produced by GAS fails to match patterns expecting the
relocation to be present where appropriate, even though output produced
is indeed correct.
As the absence of the relocation is expected, fix the tests by providing
respective alternative dump patterns with any JALR relocations removed,
removing numerous failures with `*-*-irix*' targets:
FAIL: MIPS jal-svr4pic (interaptiv-mr2)
FAIL: MIPS jal-svr4pic (micromips)
FAIL: MIPS jal-svr4pic (mips1)
FAIL: MIPS jal-svr4pic (mips2)
FAIL: MIPS jal-svr4pic (mips3)
FAIL: MIPS jal-svr4pic (mips4)
FAIL: MIPS jal-svr4pic (mips5)
FAIL: MIPS jal-svr4pic (mips32)
FAIL: MIPS jal-svr4pic (mips32r2)
FAIL: MIPS jal-svr4pic (mips32r3)
FAIL: MIPS jal-svr4pic (mips32r5)
FAIL: MIPS jal-svr4pic (mips32r6)
FAIL: MIPS jal-svr4pic (mips64)
FAIL: MIPS jal-svr4pic (mips64r2)
FAIL: MIPS jal-svr4pic (mips64r3)
FAIL: MIPS jal-svr4pic (mips64r5)
FAIL: MIPS jal-svr4pic (mips64r6)
FAIL: MIPS jal-svr4pic (octeon)
FAIL: MIPS jal-svr4pic (octeon2)
FAIL: MIPS jal-svr4pic (octeon3)
FAIL: MIPS jal-svr4pic (octeonp)
FAIL: MIPS jal-svr4pic (r3000)
FAIL: MIPS jal-svr4pic (r3900)
FAIL: MIPS jal-svr4pic (r4000)
FAIL: MIPS jal-svr4pic (r5900)
FAIL: MIPS jal-svr4pic (sb1)
FAIL: MIPS jal-svr4pic (vr5400)
FAIL: MIPS jal-svr4pic (xlr)
FAIL: MIPS jal-svr4pic noreorder (interaptiv-mr2)
FAIL: MIPS jal-svr4pic noreorder (micromips)
FAIL: MIPS jal-svr4pic noreorder (mips1)
FAIL: MIPS jal-svr4pic noreorder (mips2)
FAIL: MIPS jal-svr4pic noreorder (mips3)
FAIL: MIPS jal-svr4pic noreorder (mips4)
FAIL: MIPS jal-svr4pic noreorder (mips5)
FAIL: MIPS jal-svr4pic noreorder (mips32)
FAIL: MIPS jal-svr4pic noreorder (mips32r2)
FAIL: MIPS jal-svr4pic noreorder (mips32r3)
FAIL: MIPS jal-svr4pic noreorder (mips32r5)
FAIL: MIPS jal-svr4pic noreorder (mips32r6)
FAIL: MIPS jal-svr4pic noreorder (mips64)
FAIL: MIPS jal-svr4pic noreorder (mips64r2)
FAIL: MIPS jal-svr4pic noreorder (mips64r3)
FAIL: MIPS jal-svr4pic noreorder (mips64r5)
FAIL: MIPS jal-svr4pic noreorder (mips64r6)
FAIL: MIPS jal-svr4pic noreorder (octeon)
FAIL: MIPS jal-svr4pic noreorder (octeon2)
FAIL: MIPS jal-svr4pic noreorder (octeon3)
FAIL: MIPS jal-svr4pic noreorder (octeonp)
FAIL: MIPS jal-svr4pic noreorder (r3000)
FAIL: MIPS jal-svr4pic noreorder (r3900)
FAIL: MIPS jal-svr4pic noreorder (r4000)
FAIL: MIPS jal-svr4pic noreorder (r5900)
FAIL: MIPS jal-svr4pic noreorder (sb1)
FAIL: MIPS jal-svr4pic noreorder (vr5400)
FAIL: MIPS jal-svr4pic noreorder (xlr)
FAIL: MIPS R3000 jal-xgot
FAIL: MIPS -mabi=32 test 2 (SVR4 PIC)
FAIL: gas/mips/jalr2
FAIL: Relax microMIPS branches (pic)
FAIL: Relax microMIPS branches (insn32 mode, pic)
Strictly speaking no MIPSr6 or microMIPS target is supported by IRIX,
but GAS supports such configurations on the basis of uniformity, so
provide the relevant patterns too rather than excluding the combinations
from testing.
gas/
* testsuite/gas/mips/jal-svr4pic-irix.d: New file.
* testsuite/gas/mips/mips1@jal-svr4pic-irix.d: New file.
* testsuite/gas/mips/mipsr6@jal-svr4pic-irix.d: New file.
* testsuite/gas/mips/micromips@jal-svr4pic-irix.d: New file.
* testsuite/gas/mips/r3000@jal-svr4pic-irix.d: New file.
* testsuite/gas/mips/jal-svr4pic-local-irix.d: New file.
* testsuite/gas/mips/mips1@jal-svr4pic-local-irix.d: New file.
* testsuite/gas/mips/micromips@jal-svr4pic-local-irix.d: New
file.
* testsuite/gas/mips/r3000@jal-svr4pic-local-irix.d: New file.
* testsuite/gas/mips/jal-svr4pic-noreorder-irix.d: New file.
* testsuite/gas/mips/mips1@jal-svr4pic-noreorder-irix.d: New
file.
* testsuite/gas/mips/mipsr6@jal-svr4pic-noreorder-irix.d: New
file.
* testsuite/gas/mips/micromips@jal-svr4pic-noreorder-irix.d: New
file.
* testsuite/gas/mips/r3000@jal-svr4pic-noreorder-irix.d: New
file.
* testsuite/gas/mips/jal-xgot-irix.d: New file.
* testsuite/gas/mips/jalr2-irix.d: New file.
* testsuite/gas/mips/micromips-branch-relax-insn32-pic-irix.d:
New file.
* testsuite/gas/mips/micromips-branch-relax-pic-irix.d: New
file.
* testsuite/gas/mips/mips-abi32-pic2-irix.d: New file.
* testsuite/gas/mips/jal-svr4pic-local.d: Don't exclude
`*-*-irix*' targets. Add source file designator.
* testsuite/gas/mips/mips1@jal-svr4pic-local.d: Don't exclude
`*-*-irix*' targets.
* testsuite/gas/mips/r3000@jal-svr4pic-local.d: Likewise.
* testsuite/gas/mips/micromips@jal-svr4pic-local.d: Likewise.
* testsuite/gas/mips/jalr2.d: Add name designator.
* testsuite/gas/mips/mips.exp: Use respective IRIX variants for
tests involving the JALR relocation throughout.
---
gas/testsuite/gas/mips/jal-svr4pic-irix.d | 40
gas/testsuite/gas/mips/jal-svr4pic-local-irix.d | 30
gas/testsuite/gas/mips/jal-svr4pic-local.d | 2
gas/testsuite/gas/mips/jal-svr4pic-noreorder-irix.d | 42
gas/testsuite/gas/mips/jal-xgot-irix.d | 52
gas/testsuite/gas/mips/jalr2-irix.d | 39
gas/testsuite/gas/mips/jalr2.d | 1
gas/testsuite/gas/mips/micromips-branch-relax-insn32-pic-irix.d | 571 +++++++++
gas/testsuite/gas/mips/micromips-branch-relax-pic-irix.d | 623 ++++++++++
gas/testsuite/gas/mips/micromips@jal-svr4pic-irix.d | 43
gas/testsuite/gas/mips/micromips@jal-svr4pic-local-irix.d | 30
gas/testsuite/gas/mips/micromips@jal-svr4pic-local.d | 1
gas/testsuite/gas/mips/micromips@jal-svr4pic-noreorder-irix.d | 43
gas/testsuite/gas/mips/mips-abi32-pic2-irix.d | 72 +
gas/testsuite/gas/mips/mips.exp | 17
gas/testsuite/gas/mips/mips1@jal-svr4pic-irix.d | 48
gas/testsuite/gas/mips/mips1@jal-svr4pic-local-irix.d | 31
gas/testsuite/gas/mips/mips1@jal-svr4pic-local.d | 1
gas/testsuite/gas/mips/mips1@jal-svr4pic-noreorder-irix.d | 45
gas/testsuite/gas/mips/mipsr6@jal-svr4pic-irix.d | 41
gas/testsuite/gas/mips/mipsr6@jal-svr4pic-noreorder-irix.d | 43
gas/testsuite/gas/mips/r3000@jal-svr4pic-irix.d | 5
gas/testsuite/gas/mips/r3000@jal-svr4pic-local-irix.d | 5
gas/testsuite/gas/mips/r3000@jal-svr4pic-local.d | 1
gas/testsuite/gas/mips/r3000@jal-svr4pic-noreorder-irix.d | 5
25 files changed, 1819 insertions(+), 12 deletions(-)
binutils-mips-gas-test-jalr.diff
Index: binutils/gas/testsuite/gas/mips/jal-svr4pic-irix.d
===================================================================
--- /dev/null
+++ binutils/gas/testsuite/gas/mips/jal-svr4pic-irix.d
@@ -0,0 +1,40 @@
+#objdump: -dr --prefix-addresses --show-raw-insn
+#name: MIPS jal-svr4pic
+#as: -32 -KPIC
+#source: jal-svr4pic.s
+
+# Test the jal macro with -KPIC.
+
+.*: +file format .*mips.*
+
+Disassembly of section \.text:
+[0-9a-f]+ <[^>]*> 3c1c0000 lui gp,0x0
+[ ]*[0-9a-f]+: R_MIPS_HI16 _gp_disp
+[0-9a-f]+ <[^>]*> 279c0000 addiu gp,gp,0
+[ ]*[0-9a-f]+: R_MIPS_LO16 _gp_disp
+[0-9a-f]+ <[^>]*> 0399e021 addu gp,gp,t9
+[0-9a-f]+ <[^>]*> afbc0000 sw gp,0\(sp\)
+[0-9a-f]+ <[^>]*> 0320f809 jalr t9
+[0-9a-f]+ <[^>]*> 00000000 nop
+[0-9a-f]+ <[^>]*> 03202009 jalr a0,t9
+[0-9a-f]+ <[^>]*> 8fbc0000 lw gp,0\(sp\)
+[0-9a-f]+ <[^>]*> 8fbc0000 lw gp,0\(sp\)
+[0-9a-f]+ <[^>]*> 8f990000 lw t9,0\(gp\)
+[ ]*[0-9a-f]+: R_MIPS_GOT16 .text
+[0-9a-f]+ <[^>]*> 27390000 addiu t9,t9,0
+[ ]*[0-9a-f]+: R_MIPS_LO16 .text
+[0-9a-f]+ <[^>]*> 0320f809 jalr t9
+[0-9a-f]+ <[^>]*> 00000000 nop
+[0-9a-f]+ <[^>]*> 8fbc0000 lw gp,0\(sp\)
+[0-9a-f]+ <[^>]*> 8f990000 lw t9,0\(gp\)
+[ ]*[0-9a-f]+: R_MIPS_CALL16 weak_text_label
+[0-9a-f]+ <[^>]*> 0320f809 jalr t9
+[0-9a-f]+ <[^>]*> 00000000 nop
+[0-9a-f]+ <[^>]*> 8fbc0000 lw gp,0\(sp\)
+[0-9a-f]+ <[^>]*> 8f990000 lw t9,0\(gp\)
+[ ]*[0-9a-f]+: R_MIPS_CALL16 external_text_label
+[0-9a-f]+ <[^>]*> 0320f809 jalr t9
+[0-9a-f]+ <[^>]*> 00000000 nop
+[0-9a-f]+ <[^>]*> 1000ffea b 0+0000 <text_label>
+[0-9a-f]+ <[^>]*> 8fbc0000 lw gp,0\(sp\)
+ \.\.\.
Index: binutils/gas/testsuite/gas/mips/jal-svr4pic-local-irix.d
===================================================================
--- /dev/null
+++ binutils/gas/testsuite/gas/mips/jal-svr4pic-local-irix.d
@@ -0,0 +1,30 @@
+#objdump: -dr --prefix-addresses --show-raw-insn
+#name: MIPS JALR relocation against local symbol
+#as: -32
+#source: jal-svr4pic-local.s
+
+.*: +file format .*mips.*
+
+Disassembly of section \.text:
+[0-9a-f]+ <[^>]*> 3c1c0000 lui gp,0x0
+[ ]*[0-9a-f]+: R_MIPS_HI16 _gp_disp
+[0-9a-f]+ <[^>]*> 279c0000 addiu gp,gp,0
+[ ]*[0-9a-f]+: R_MIPS_LO16 _gp_disp
+[0-9a-f]+ <[^>]*> 0399e021 addu gp,gp,t9
+[0-9a-f]+ <[^>]*> 27bdffe0 addiu sp,sp,-32
+[0-9a-f]+ <[^>]*> afbf001c sw ra,28\(sp\)
+[0-9a-f]+ <[^>]*> afbc0010 sw gp,16\(sp\)
+[0-9a-f]+ <[^>]*> 8f990000 lw t9,0\(gp\)
+[ ]*[0-9a-f]+: R_MIPS_GOT16 \.text
+[0-9a-f]+ <[^>]*> 27390040 addiu t9,t9,64
+[ ]*[0-9a-f]+: R_MIPS_LO16 \.text
+[0-9a-f]+ <[^>]*> 0320f809 jalr t9
+[0-9a-f]+ <[^>]*> 00000000 nop
+[0-9a-f]+ <[^>]*> 8fbc0010 lw gp,16\(sp\)
+[0-9a-f]+ <[^>]*> 8fbf001c lw ra,28\(sp\)
+[0-9a-f]+ <[^>]*> 03e0000[89] jr ra
+[0-9a-f]+ <[^>]*> 27bd0020 addiu sp,sp,32
+ \.\.\.
+[0-9a-f]+ <[^>]*> 03e0000[89] jr ra
+[0-9a-f]+ <[^>]*> 00000000 nop
+ \.\.\.
Index: binutils/gas/testsuite/gas/mips/jal-svr4pic-local.d
===================================================================
--- binutils.orig/gas/testsuite/gas/mips/jal-svr4pic-local.d
+++ binutils/gas/testsuite/gas/mips/jal-svr4pic-local.d
@@ -1,7 +1,7 @@
#objdump: -dr --prefix-addresses --show-raw-insn
#name: MIPS JALR relocation against local symbol
#as: -32
-#notarget: *-*-irix*
+#source: jal-svr4pic-local.s
.*: +file format .*mips.*
Index: binutils/gas/testsuite/gas/mips/jal-svr4pic-noreorder-irix.d
===================================================================
--- /dev/null
+++ binutils/gas/testsuite/gas/mips/jal-svr4pic-noreorder-irix.d
@@ -0,0 +1,42 @@
+#objdump: -dr --prefix-addresses --show-raw-insn
+#name: MIPS jal-svr4pic noreorder
+#as: -32 -KPIC
+#source: jal-svr4pic-noreorder.s
+
+# Test the jal macro with -KPIC and `.set noreorder'.
+
+.*: +file format .*mips.*
+
+Disassembly of section \.text:
+[0-9a-f]+ <[^>]*> 3c1c0000 lui gp,0x0
+[ ]*[0-9a-f]+: R_MIPS_HI16 _gp_disp
+[0-9a-f]+ <[^>]*> 279c0000 addiu gp,gp,0
+[ ]*[0-9a-f]+: R_MIPS_LO16 _gp_disp
+[0-9a-f]+ <[^>]*> 0399e021 addu gp,gp,t9
+[0-9a-f]+ <[^>]*> afbc0000 sw gp,0\(sp\)
+[0-9a-f]+ <[^>]*> 0320f809 jalr t9
+[0-9a-f]+ <[^>]*> 00000000 nop
+[0-9a-f]+ <[^>]*> 8fbc0000 lw gp,0\(sp\)
+[0-9a-f]+ <[^>]*> 03202009 jalr a0,t9
+[0-9a-f]+ <[^>]*> 00000000 nop
+[0-9a-f]+ <[^>]*> 8fbc0000 lw gp,0\(sp\)
+[0-9a-f]+ <[^>]*> 8f990000 lw t9,0\(gp\)
+[ ]*[0-9a-f]+: R_MIPS_GOT16 .text
+[0-9a-f]+ <[^>]*> 27390000 addiu t9,t9,0
+[ ]*[0-9a-f]+: R_MIPS_LO16 .text
+[0-9a-f]+ <[^>]*> 0320f809 jalr t9
+[0-9a-f]+ <[^>]*> 00000000 nop
+[0-9a-f]+ <[^>]*> 8fbc0000 lw gp,0\(sp\)
+[0-9a-f]+ <[^>]*> 8f990000 lw t9,0\(gp\)
+[ ]*[0-9a-f]+: R_MIPS_CALL16 weak_text_label
+[0-9a-f]+ <[^>]*> 0320f809 jalr t9
+[0-9a-f]+ <[^>]*> 00000000 nop
+[0-9a-f]+ <[^>]*> 8fbc0000 lw gp,0\(sp\)
+[0-9a-f]+ <[^>]*> 8f990000 lw t9,0\(gp\)
+[ ]*[0-9a-f]+: R_MIPS_CALL16 external_text_label
+[0-9a-f]+ <[^>]*> 0320f809 jalr t9
+[0-9a-f]+ <[^>]*> 00000000 nop
+[0-9a-f]+ <[^>]*> 8fbc0000 lw gp,0\(sp\)
+[0-9a-f]+ <[^>]*> 1000ffe8 b 0+0000 <text_label>
+[0-9a-f]+ <[^>]*> 00000000 nop
+ \.\.\.
Index: binutils/gas/testsuite/gas/mips/jal-xgot-irix.d
===================================================================
--- /dev/null
+++ binutils/gas/testsuite/gas/mips/jal-xgot-irix.d
@@ -0,0 +1,52 @@
+#objdump: -dr --prefix-addresses -mmips:3000
+#name: MIPS R3000 jal-xgot
+#as: -32 -mips1 -KPIC -xgot -mtune=r3000
+#source: jal-svr4pic.s
+
+# Test the jal macro with -KPIC -xgot.
+
+.*: +file format .*mips.*
+
+Disassembly of section .text:
+0+0000 <[^>]*> lui gp,0x0
+[ ]*0: R_MIPS_HI16 _gp_disp
+0+0004 <[^>]*> addiu gp,gp,0
+[ ]*4: R_MIPS_LO16 _gp_disp
+0+0008 <[^>]*> addu gp,gp,t9
+0+000c <[^>]*> sw gp,0\(sp\)
+0+0010 <[^>]*> jalr t9
+0+0014 <[^>]*> nop
+0+0018 <[^>]*> lw gp,0\(sp\)
+0+001c <[^>]*> jalr a0,t9
+0+0020 <[^>]*> nop
+0+0024 <[^>]*> lw gp,0\(sp\)
+0+0028 <[^>]*> nop
+0+002c <[^>]*> lw t9,0\(gp\)
+[ ]*2c: R_MIPS_GOT16 .text
+0+0030 <[^>]*> nop
+0+0034 <[^>]*> addiu t9,t9,0
+[ ]*34: R_MIPS_LO16 .text
+0+0038 <[^>]*> jalr t9
+0+003c <[^>]*> nop
+0+0040 <[^>]*> lw gp,0\(sp\)
+0+0044 <[^>]*> lui t9,0x0
+[ ]*44: R_MIPS_CALL_HI16 weak_text_label
+0+0048 <[^>]*> addu t9,t9,gp
+0+004c <[^>]*> lw t9,0\(t9\)
+[ ]*4c: R_MIPS_CALL_LO16 weak_text_label
+0+0050 <[^>]*> nop
+0+0054 <[^>]*> jalr t9
+0+0058 <[^>]*> nop
+0+005c <[^>]*> lw gp,0\(sp\)
+0+0060 <[^>]*> lui t9,0x0
+[ ]*60: R_MIPS_CALL_HI16 external_text_label
+0+0064 <[^>]*> addu t9,t9,gp
+0+0068 <[^>]*> lw t9,0\(t9\)
+[ ]*68: R_MIPS_CALL_LO16 external_text_label
+0+006c <[^>]*> nop
+0+0070 <[^>]*> jalr t9
+0+0074 <[^>]*> nop
+0+0078 <[^>]*> lw gp,0\(sp\)
+0+007c <[^>]*> b 0+0000 <text_label>
+0+0080 <[^>]*> nop
+ ...
Index: binutils/gas/testsuite/gas/mips/jalr2-irix.d
===================================================================
--- /dev/null
+++ binutils/gas/testsuite/gas/mips/jalr2-irix.d
@@ -0,0 +1,39 @@
+#name: MIPS JAL with an addend
+#as: -mips2 -32 -KPIC
+#objdump: -dr
+#source: jalr2.s
+
+.*
+
+
+Disassembly of section \.text:
+
+.* <test>:
+.*: afbc0010 sw gp,16\(sp\)
+.*: 8f990000 lw t9,0\(gp\)
+.*: R_MIPS_GOT16 \.text
+.*: 2739004c addiu t9,t9,76
+.*: R_MIPS_LO16 \.text
+.*: 0320f809 jalr t9
+.*: 00000000 nop
+.*: 8fbc0010 lw gp,16\(sp\)
+.*: 8f990000 lw t9,0\(gp\)
+.*: R_MIPS_GOT16 \.text
+.*: 27390058 addiu t9,t9,88
+.*: R_MIPS_LO16 \.text
+.*: 0320f809 jalr t9
+.*: 00000000 nop
+.*: 8fbc0010 lw gp,16\(sp\)
+.*: 8f990000 lw t9,0\(gp\)
+.*: R_MIPS_CALL16 global
+.*: 0320f809 jalr t9
+.*: 00000000 nop
+.*: 8fbc0010 lw gp,16\(sp\)
+.*: 8f99000c lw t9,12\(gp\)
+.*: R_MIPS_CALL16 global
+.*: 0320f809 jalr t9
+.*: 00000000 nop
+.*: 8fbc0010 lw gp,16\(sp\)
+
+.* <local>:
+ \.\.\.
Index: binutils/gas/testsuite/gas/mips/jalr2.d
===================================================================
--- binutils.orig/gas/testsuite/gas/mips/jalr2.d
+++ binutils/gas/testsuite/gas/mips/jalr2.d
@@ -1,3 +1,4 @@
+#name: MIPS JAL with an addend
#as: -mips2 -32 -KPIC
#objdump: -dr
Index: binutils/gas/testsuite/gas/mips/micromips-branch-relax-insn32-pic-irix.d
===================================================================
--- /dev/null
+++ binutils/gas/testsuite/gas/mips/micromips-branch-relax-insn32-pic-irix.d
@@ -0,0 +1,571 @@
+#objdump: -dr --show-raw-insn
+#name: Relax microMIPS branches (insn32 mode, pic)
+#as: -mips32r2 -32 -relax-branch -KPIC -minsn32 --defsym insn32=1
+#warning_output: micromips-branch-relax-insn32-pic.l
+#source: micromips-branch-relax.s
+
+.*: +file format .*mips.*
+
+Disassembly of section \.text:
+
+[0-9a-f]+ <test>:
+[ 0-9a-f]+: 9400 fffe b [0-9a-f]+ <.*>
+[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .*
+[ 0-9a-f]+: 00a4 1950 addu v1,a0,a1
+[ 0-9a-f]+: 9403 fffe beqz v1,[0-9a-f]+ <.*\+0x[0-9a-f]+>
+[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .*
+[ 0-9a-f]+: 00a4 1950 addu v1,a0,a1
+[ 0-9a-f]+: b403 fffe bnez v1,[0-9a-f]+ <.*\+0x[0-9a-f]+>
+[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .*
+[ 0-9a-f]+: 00a4 1950 addu v1,a0,a1
+[ 0-9a-f]+: 9400 fffe b [0-9a-f]+ <.*\+0x[0-9a-f]+>
+[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .*
+[ 0-9a-f]+: 00a4 1950 addu v1,a0,a1
+[ 0-9a-f]+: 40e0 fffe bc [0-9a-f]+ <.*\+0x[0-9a-f]+>
+[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .*
+[ 0-9a-f]+: 00a4 1950 addu v1,a0,a1
+[ 0-9a-f]+: 4060 fffe bal [0-9a-f]+ <.*\+0x[0-9a-f]+>
+[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .*
+[ 0-9a-f]+: 00a4 1950 addu v1,a0,a1
+[ 0-9a-f]+: 9403 fffe beqz v1,[0-9a-f]+ <.*\+0x[0-9a-f]+>
+[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .*
+[ 0-9a-f]+: 00a4 1950 addu v1,a0,a1
+[ 0-9a-f]+: b403 fffe bnez v1,[0-9a-f]+ <.*\+0x[0-9a-f]+>
+[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .*
+[ 0-9a-f]+: 00a4 1950 addu v1,a0,a1
+[ 0-9a-f]+: 9400 fffe b [0-9a-f]+ <.*\+0x[0-9a-f]+>
+[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .*
+[ 0-9a-f]+: 00a4 1950 addu v1,a0,a1
+[ 0-9a-f]+: 40e0 fffe bc [0-9a-f]+ <.*\+0x[0-9a-f]+>
+[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .*
+[ 0-9a-f]+: 00a4 1950 addu v1,a0,a1
+[ 0-9a-f]+: 4060 fffe bal [0-9a-f]+ <.*\+0x[0-9a-f]+>
+[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .*
+[ 0-9a-f]+: 00a4 1950 addu v1,a0,a1
+[ 0-9a-f]+: 9403 fffe beqz v1,[0-9a-f]+ <.*\+0x[0-9a-f]+>
+[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .*
+[ 0-9a-f]+: 00a4 1950 addu v1,a0,a1
+[ 0-9a-f]+: b403 fffe bnez v1,[0-9a-f]+ <.*\+0x[0-9a-f]+>
+[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .*
+[ 0-9a-f]+: 00a4 1950 addu v1,a0,a1
+[ 0-9a-f]+: 9400 fffe b [0-9a-f]+ <.*\+0x[0-9a-f]+>
+[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .*
+[ 0-9a-f]+: 00a4 1950 addu v1,a0,a1
+[ 0-9a-f]+: 40e0 fffe bc [0-9a-f]+ <.*\+0x[0-9a-f]+>
+[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .*
+[ 0-9a-f]+: 00a4 1950 addu v1,a0,a1
+[ 0-9a-f]+: 4060 fffe bal [0-9a-f]+ <.*\+0x[0-9a-f]+>
+[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .*
+[ 0-9a-f]+: 00a4 1950 addu v1,a0,a1
+[ 0-9a-f]+: 9403 fffe beqz v1,[0-9a-f]+ <.*\+0x[0-9a-f]+>
+[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .*
+[ 0-9a-f]+: 00a4 1950 addu v1,a0,a1
+[ 0-9a-f]+: b403 fffe bnez v1,[0-9a-f]+ <.*\+0x[0-9a-f]+>
+[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .*
+[ 0-9a-f]+: 00a4 1950 addu v1,a0,a1
+[ 0-9a-f]+: fc3c 0001 lw at,1\(gp\)
+[ ]*[0-9a-f]+: R_MICROMIPS_GOT16 \.text
+[ 0-9a-f]+: 3021 04fb addiu at,at,1275
+[ ]*[0-9a-f]+: R_MICROMIPS_LO16 \.text
+[ 0-9a-f]+: 0001 0f3c jr at
+[ 0-9a-f]+: 00a4 1950 addu v1,a0,a1
+[ 0-9a-f]+: ff3c 0001 lw t9,1\(gp\)
+[ ]*[0-9a-f]+: R_MICROMIPS_GOT16 \.text
+[ 0-9a-f]+: 3339 04fb addiu t9,t9,1275
+[ ]*[0-9a-f]+: R_MICROMIPS_LO16 \.text
+[ 0-9a-f]+: 03f9 0f3c jalr t9
+[ 0-9a-f]+: 00a4 1950 addu v1,a0,a1
+[ 0-9a-f]+: fc3c 0001 lw at,1\(gp\)
+[ ]*[0-9a-f]+: R_MICROMIPS_GOT16 \.text
+[ 0-9a-f]+: 3021 04fb addiu at,at,1275
+[ ]*[0-9a-f]+: R_MICROMIPS_LO16 \.text
+[ 0-9a-f]+: 0001 0f3c jr at
+[ 0-9a-f]+: 00a4 1950 addu v1,a0,a1
+[ 0-9a-f]+: fc3c 0001 lw at,1\(gp\)
+[ ]*[0-9a-f]+: R_MICROMIPS_GOT16 \.text
+[ 0-9a-f]+: 3021 04fb addiu at,at,1275
+[ ]*[0-9a-f]+: R_MICROMIPS_LO16 \.text
+[ 0-9a-f]+: 0001 0f3c jr at
+[ 0-9a-f]+: 0000 0000 nop
+[ 0-9a-f]+: 00a4 1950 addu v1,a0,a1
+[ 0-9a-f]+: fc3c 0001 lw at,1\(gp\)
+[ ]*[0-9a-f]+: R_MICROMIPS_GOT16 \.text
+[ 0-9a-f]+: 3021 04fb addiu at,at,1275
+[ ]*[0-9a-f]+: R_MICROMIPS_LO16 \.text
+[ 0-9a-f]+: 03e1 0f3c jalr at
+[ 0-9a-f]+: 00a4 1950 addu v1,a0,a1
+[ 0-9a-f]+: b483 fffe bne v1,a0,[0-9a-f]+ <.*\+0x[0-9a-f]+>
+[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .*
+[ 0-9a-f]+: 0000 0000 nop
+[ 0-9a-f]+: fc3c 0001 lw at,1\(gp\)
+[ ]*[0-9a-f]+: R_MICROMIPS_GOT16 \.text
+[ 0-9a-f]+: 3021 04fb addiu at,at,1275
+[ ]*[0-9a-f]+: R_MICROMIPS_LO16 \.text
+[ 0-9a-f]+: 0001 0f3c jr at
+
+[0-9a-f]+ <.*>:
+[ 0-9a-f]+: 00a4 1950 addu v1,a0,a1
+[ 0-9a-f]+: 9483 fffe beq v1,a0,[0-9a-f]+ <.*\+0x[0-9a-f]+>
+[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .*
+[ 0-9a-f]+: 0000 0000 nop
+[ 0-9a-f]+: fc3c 0001 lw at,1\(gp\)
+[ ]*[0-9a-f]+: R_MICROMIPS_GOT16 \.text
+[ 0-9a-f]+: 3021 04fb addiu at,at,1275
+[ ]*[0-9a-f]+: R_MICROMIPS_LO16 \.text
+[ 0-9a-f]+: 0001 0f3c jr at
+
+[0-9a-f]+ <.*>:
+[ 0-9a-f]+: 00a4 1950 addu v1,a0,a1
+[ 0-9a-f]+: 4043 fffe bgez v1,[0-9a-f]+ <.*\+0x[0-9a-f]+>
+[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .*
+[ 0-9a-f]+: 0000 0000 nop
+[ 0-9a-f]+: fc3c 0001 lw at,1\(gp\)
+[ ]*[0-9a-f]+: R_MICROMIPS_GOT16 \.text
+[ 0-9a-f]+: 3021 04fb addiu at,at,1275
+[ ]*[0-9a-f]+: R_MICROMIPS_LO16 \.text
+[ 0-9a-f]+: 0001 0f3c jr at
+
+[0-9a-f]+ <.*>:
+[ 0-9a-f]+: 00a4 1950 addu v1,a0,a1
+[ 0-9a-f]+: 4003 fffe bltz v1,[0-9a-f]+ <.*\+0x[0-9a-f]+>
+[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .*
+[ 0-9a-f]+: 0000 0000 nop
+[ 0-9a-f]+: fc3c 0001 lw at,1\(gp\)
+[ ]*[0-9a-f]+: R_MICROMIPS_GOT16 \.text
+[ 0-9a-f]+: 3021 04fb addiu at,at,1275
+[ ]*[0-9a-f]+: R_MICROMIPS_LO16 \.text
+[ 0-9a-f]+: 0001 0f3c jr at
+
+[0-9a-f]+ <.*>:
+[ 0-9a-f]+: 00a4 1950 addu v1,a0,a1
+[ 0-9a-f]+: 40d4 fffe bgtz s4,[0-9a-f]+ <.*\+0x[0-9a-f]+>
+[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .*
+[ 0-9a-f]+: 0000 0000 nop
+[ 0-9a-f]+: fc3c 0001 lw at,1\(gp\)
+[ ]*[0-9a-f]+: R_MICROMIPS_GOT16 \.text
+[ 0-9a-f]+: 3021 04fb addiu at,at,1275
+[ ]*[0-9a-f]+: R_MICROMIPS_LO16 \.text
+[ 0-9a-f]+: 0001 0f3c jr at
+
+[0-9a-f]+ <.*>:
+[ 0-9a-f]+: 00a4 1950 addu v1,a0,a1
+[ 0-9a-f]+: 4094 fffe blez s4,[0-9a-f]+ <.*\+0x[0-9a-f]+>
+[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .*
+[ 0-9a-f]+: 0000 0000 nop
+[ 0-9a-f]+: fc3c 0001 lw at,1\(gp\)
+[ ]*[0-9a-f]+: R_MICROMIPS_GOT16 \.text
+[ 0-9a-f]+: 3021 04fb addiu at,at,1275
+[ ]*[0-9a-f]+: R_MICROMIPS_LO16 \.text
+[ 0-9a-f]+: 0001 0f3c jr at
+
+[0-9a-f]+ <.*>:
+[ 0-9a-f]+: 00a4 1950 addu v1,a0,a1
+[ 0-9a-f]+: 40a3 fffe bnezc v1,[0-9a-f]+ <.*\+0x[0-9a-f]+>
+[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .*
+[ 0-9a-f]+: fc3c 0001 lw at,1\(gp\)
+[ ]*[0-9a-f]+: R_MICROMIPS_GOT16 \.text
+[ 0-9a-f]+: 3021 04fb addiu at,at,1275
+[ ]*[0-9a-f]+: R_MICROMIPS_LO16 \.text
+[ 0-9a-f]+: 0001 0f3c jr at
+[ 0-9a-f]+: 0000 0000 nop
+
+[0-9a-f]+ <.*>:
+[ 0-9a-f]+: 00a4 1950 addu v1,a0,a1
+[ 0-9a-f]+: 40e3 fffe beqzc v1,[0-9a-f]+ <.*\+0x[0-9a-f]+>
+[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .*
+[ 0-9a-f]+: fc3c 0001 lw at,1\(gp\)
+[ ]*[0-9a-f]+: R_MICROMIPS_GOT16 \.text
+[ 0-9a-f]+: 3021 04fb addiu at,at,1275
+[ ]*[0-9a-f]+: R_MICROMIPS_LO16 \.text
+[ 0-9a-f]+: 0001 0f3c jr at
+[ 0-9a-f]+: 0000 0000 nop
+
+[0-9a-f]+ <.*>:
+[ 0-9a-f]+: 00a4 1950 addu v1,a0,a1
+[ 0-9a-f]+: 401e fffe bltz s8,[0-9a-f]+ <.*\+0x[0-9a-f]+>
+[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .*
+[ 0-9a-f]+: 0000 0000 nop
+[ 0-9a-f]+: fc3c 0001 lw at,1\(gp\)
+[ ]*[0-9a-f]+: R_MICROMIPS_GOT16 \.text
+[ 0-9a-f]+: 3021 04fb addiu at,at,1275
+[ ]*[0-9a-f]+: R_MICROMIPS_LO16 \.text
+[ 0-9a-f]+: 03e1 0f3c jalr at
+
+[0-9a-f]+ <.*>:
+[ 0-9a-f]+: 00a4 1950 addu v1,a0,a1
+[ 0-9a-f]+: 405e fffe bgez s8,[0-9a-f]+ <.*\+0x[0-9a-f]+>
+[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .*
+[ 0-9a-f]+: 0000 0000 nop
+[ 0-9a-f]+: fc3c 0001 lw at,1\(gp\)
+[ ]*[0-9a-f]+: R_MICROMIPS_GOT16 \.text
+[ 0-9a-f]+: 3021 04fb addiu at,at,1275
+[ ]*[0-9a-f]+: R_MICROMIPS_LO16 \.text
+[ 0-9a-f]+: 03e1 0f3c jalr at
+
+[0-9a-f]+ <.*>:
+[ 0-9a-f]+: 00a4 1950 addu v1,a0,a1
+[ 0-9a-f]+: 43a0 fffe bc1t [0-9a-f]+ <.*\+0x[0-9a-f]+>
+[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .*
+[ 0-9a-f]+: 0000 0000 nop
+[ 0-9a-f]+: fc3c 0001 lw at,1\(gp\)
+[ ]*[0-9a-f]+: R_MICROMIPS_GOT16 \.text
+[ 0-9a-f]+: 3021 04fb addiu at,at,1275
+[ ]*[0-9a-f]+: R_MICROMIPS_LO16 \.text
+[ 0-9a-f]+: 0001 0f3c jr at
+
+[0-9a-f]+ <.*>:
+[ 0-9a-f]+: 00a4 1950 addu v1,a0,a1
+[ 0-9a-f]+: 4380 fffe bc1f [0-9a-f]+ <.*\+0x[0-9a-f]+>
+[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .*
+[ 0-9a-f]+: 0000 0000 nop
+[ 0-9a-f]+: fc3c 0001 lw at,1\(gp\)
+[ ]*[0-9a-f]+: R_MICROMIPS_GOT16 \.text
+[ 0-9a-f]+: 3021 04fb addiu at,at,1275
+[ ]*[0-9a-f]+: R_MICROMIPS_LO16 \.text
+[ 0-9a-f]+: 0001 0f3c jr at
+
+[0-9a-f]+ <.*>:
+[ 0-9a-f]+: 00a4 1950 addu v1,a0,a1
+[ 0-9a-f]+: 42a0 fffe bc2t [0-9a-f]+ <.*\+0x[0-9a-f]+>
+[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .*
+[ 0-9a-f]+: 0000 0000 nop
+[ 0-9a-f]+: fc3c 0001 lw at,1\(gp\)
+[ ]*[0-9a-f]+: R_MICROMIPS_GOT16 \.text
+[ 0-9a-f]+: 3021 04fb addiu at,at,1275
+[ ]*[0-9a-f]+: R_MICROMIPS_LO16 \.text
+[ 0-9a-f]+: 0001 0f3c jr at
+
+[0-9a-f]+ <.*>:
+[ 0-9a-f]+: 00a4 1950 addu v1,a0,a1
+[ 0-9a-f]+: 4280 fffe bc2f [0-9a-f]+ <.*\+0x[0-9a-f]+>
+[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .*
+[ 0-9a-f]+: 0000 0000 nop
+[ 0-9a-f]+: fc3c 0001 lw at,1\(gp\)
+[ ]*[0-9a-f]+: R_MICROMIPS_GOT16 \.text
+[ 0-9a-f]+: 3021 04fb addiu at,at,1275
+[ ]*[0-9a-f]+: R_MICROMIPS_LO16 \.text
+[ 0-9a-f]+: 0001 0f3c jr at
+
+[0-9a-f]+ <.*>:
+[ 0-9a-f]+: 00a4 1950 addu v1,a0,a1
+[ 0-9a-f]+: b483 fffe bne v1,a0,[0-9a-f]+ <.*\+0x[0-9a-f]+>
+[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .*
+[ 0-9a-f]+: 0000 0000 nop
+[ 0-9a-f]+: fc3c 0001 lw at,1\(gp\)
+[ ]*[0-9a-f]+: R_MICROMIPS_GOT16 \.text
+[ 0-9a-f]+: 3021 04fb addiu at,at,1275
+[ ]*[0-9a-f]+: R_MICROMIPS_LO16 \.text
+[ 0-9a-f]+: 0001 0f3c jr at
+[ 0-9a-f]+: 00a4 1950 addu v1,a0,a1
+
+[0-9a-f]+ <.*>:
+[ 0-9a-f]+: b403 fffe bnez v1,[0-9a-f]+ <.*>
+[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .*
+[ 0-9a-f]+: 0000 0000 nop
+[ 0-9a-f]+: fc3c 0001 lw at,1\(gp\)
+[ ]*[0-9a-f]+: R_MICROMIPS_GOT16 \.text
+[ 0-9a-f]+: 3021 04fb addiu at,at,1275
+[ ]*[0-9a-f]+: R_MICROMIPS_LO16 \.text
+[ 0-9a-f]+: 0001 0f3c jr at
+
+[0-9a-f]+ <.*>:
+[ 0-9a-f]+: 00a4 1b10 xor v1,a0,a1
+[ 0-9a-f]+: 0083 0b50 slt at,v1,a0
+[ 0-9a-f]+: b401 fffe bnez at,[0-9a-f]+ <.*\+0x[0-9a-f]+>
+[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .*
+[ 0-9a-f]+: 0000 0000 nop
+[ 0-9a-f]+: fc3c 0001 lw at,1\(gp\)
+[ ]*[0-9a-f]+: R_MICROMIPS_GOT16 \.text
+[ 0-9a-f]+: 3021 04fb addiu at,at,1275
+[ ]*[0-9a-f]+: R_MICROMIPS_LO16 \.text
+[ 0-9a-f]+: 0001 0f3c jr at
+
+[0-9a-f]+ <.*>:
+[ 0-9a-f]+: 00a4 1b10 xor v1,a0,a1
+[ 0-9a-f]+: 0083 0b50 slt at,v1,a0
+[ 0-9a-f]+: b401 fffe bnez at,[0-9a-f]+ <.*\+0x[0-9a-f]+>
+[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .*
+[ 0-9a-f]+: 0000 0000 nop
+[ 0-9a-f]+: fc3c 0001 lw at,1\(gp\)
+[ ]*[0-9a-f]+: R_MICROMIPS_GOT16 \.text
+[ 0-9a-f]+: 3021 04fb addiu at,at,1275
+[ ]*[0-9a-f]+: R_MICROMIPS_LO16 \.text
+[ 0-9a-f]+: 0001 0f3c jr at
+[ 0-9a-f]+: 00a4 1b10 xor v1,a0,a1
+
+[0-9a-f]+ <.*>:
+[ 0-9a-f]+: 0083 0b90 sltu at,v1,a0
+[ 0-9a-f]+: b401 fffe bnez at,[0-9a-f]+ <.*\+0x[0-9a-f]+>
+[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .*
+[ 0-9a-f]+: 0000 0000 nop
+[ 0-9a-f]+: fc3c 0001 lw at,1\(gp\)
+[ ]*[0-9a-f]+: R_MICROMIPS_GOT16 \.text
+[ 0-9a-f]+: 3021 04fb addiu at,at,1275
+[ ]*[0-9a-f]+: R_MICROMIPS_LO16 \.text
+[ 0-9a-f]+: 0001 0f3c jr at
+
+[0-9a-f]+ <.*>:
+[ 0-9a-f]+: 00a4 1b10 xor v1,a0,a1
+[ 0-9a-f]+: 0083 0b90 sltu at,v1,a0
+[ 0-9a-f]+: b401 fffe bnez at,[0-9a-f]+ <.*\+0x[0-9a-f]+>
+[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .*
+[ 0-9a-f]+: 0000 0000 nop
+[ 0-9a-f]+: fc3c 0001 lw at,1\(gp\)
+[ ]*[0-9a-f]+: R_MICROMIPS_GOT16 \.text
+[ 0-9a-f]+: 3021 04fb addiu at,at,1275
+[ ]*[0-9a-f]+: R_MICROMIPS_LO16 \.text
+[ 0-9a-f]+: 0001 0f3c jr at
+[ 0-9a-f]+: 00a4 1b10 xor v1,a0,a1
+
+[0-9a-f]+ <.*>:
+[ 0-9a-f]+: 4003 fffe bltz v1,[0-9a-f]+ <.*>
+[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .*
+[ 0-9a-f]+: 0000 0000 nop
+[ 0-9a-f]+: fc3c 0001 lw at,1\(gp\)
+[ ]*[0-9a-f]+: R_MICROMIPS_GOT16 \.text
+[ 0-9a-f]+: 3021 04fb addiu at,at,1275
+[ ]*[0-9a-f]+: R_MICROMIPS_LO16 \.text
+[ 0-9a-f]+: 03e1 0f3c jalr at
+[ 0-9a-f]+: 00a4 1b10 xor v1,a0,a1
+
+[0-9a-f]+ <.*>:
+[ 0-9a-f]+: 4003 fffe bltz v1,[0-9a-f]+ <.*>
+[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .*
+[ 0-9a-f]+: 0000 0000 nop
+[ 0-9a-f]+: fc3c 0001 lw at,1\(gp\)
+[ ]*[0-9a-f]+: R_MICROMIPS_GOT16 \.text
+[ 0-9a-f]+: 3021 04fb addiu at,at,1275
+[ ]*[0-9a-f]+: R_MICROMIPS_LO16 \.text
+[ 0-9a-f]+: 0001 0f3c jr at
+[ 0-9a-f]+: 00a4 1b10 xor v1,a0,a1
+
+[0-9a-f]+ <.*>:
+[ 0-9a-f]+: 0064 0b50 slt at,a0,v1
+[ 0-9a-f]+: 9401 fffe beqz at,[0-9a-f]+ <.*\+0x[0-9a-f]+>
+[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .*
+[ 0-9a-f]+: 0000 0000 nop
+[ 0-9a-f]+: fc3c 0001 lw at,1\(gp\)
+[ ]*[0-9a-f]+: R_MICROMIPS_GOT16 \.text
+[ 0-9a-f]+: 3021 04fb addiu at,at,1275
+[ ]*[0-9a-f]+: R_MICROMIPS_LO16 \.text
+[ 0-9a-f]+: 0001 0f3c jr at
+
+[0-9a-f]+ <.*>:
+[ 0-9a-f]+: 00a4 1b10 xor v1,a0,a1
+[ 0-9a-f]+: 0064 0b50 slt at,a0,v1
+[ 0-9a-f]+: 9401 fffe beqz at,[0-9a-f]+ <.*\+0x[0-9a-f]+>
+[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .*
+[ 0-9a-f]+: 0000 0000 nop
+[ 0-9a-f]+: fc3c 0001 lw at,1\(gp\)
+[ ]*[0-9a-f]+: R_MICROMIPS_GOT16 \.text
+[ 0-9a-f]+: 3021 04fb addiu at,at,1275
+[ ]*[0-9a-f]+: R_MICROMIPS_LO16 \.text
+[ 0-9a-f]+: 0001 0f3c jr at
+[ 0-9a-f]+: 00a4 1b10 xor v1,a0,a1
+
+[0-9a-f]+ <.*>:
+[ 0-9a-f]+: 0064 0b90 sltu at,a0,v1
+[ 0-9a-f]+: 9401 fffe beqz at,[0-9a-f]+ <.*\+0x[0-9a-f]+>
+[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .*
+[ 0-9a-f]+: 0000 0000 nop
+[ 0-9a-f]+: fc3c 0001 lw at,1\(gp\)
+[ ]*[0-9a-f]+: R_MICROMIPS_GOT16 \.text
+[ 0-9a-f]+: 3021 04fb addiu at,at,1275
+[ ]*[0-9a-f]+: R_MICROMIPS_LO16 \.text
+[ 0-9a-f]+: 0001 0f3c jr at
+
+[0-9a-f]+ <.*>:
+[ 0-9a-f]+: 00a4 1b10 xor v1,a0,a1
+[ 0-9a-f]+: 0064 0b90 sltu at,a0,v1
+[ 0-9a-f]+: 9401 fffe beqz at,[0-9a-f]+ <.*\+0x[0-9a-f]+>
+[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .*
+[ 0-9a-f]+: 0000 0000 nop
+[ 0-9a-f]+: fc3c 0001 lw at,1\(gp\)
+[ ]*[0-9a-f]+: R_MICROMIPS_GOT16 \.text
+[ 0-9a-f]+: 3021 04fb addiu at,at,1275
+[ ]*[0-9a-f]+: R_MICROMIPS_LO16 \.text
+[ 0-9a-f]+: 0001 0f3c jr at
+[ 0-9a-f]+: 00a4 1b10 xor v1,a0,a1
+
+[0-9a-f]+ <.*>:
+[ 0-9a-f]+: 4083 fffe blez v1,[0-9a-f]+ <.*>
+[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .*
+[ 0-9a-f]+: 0000 0000 nop
+[ 0-9a-f]+: fc3c 0001 lw at,1\(gp\)
+[ ]*[0-9a-f]+: R_MICROMIPS_GOT16 \.text
+[ 0-9a-f]+: 3021 04fb addiu at,at,1275
+[ ]*[0-9a-f]+: R_MICROMIPS_LO16 \.text
+[ 0-9a-f]+: 0001 0f3c jr at
+[ 0-9a-f]+: 00a4 1b10 xor v1,a0,a1
+
+[0-9a-f]+ <.*>:
+[ 0-9a-f]+: 0064 0b50 slt at,a0,v1
+[ 0-9a-f]+: b401 fffe bnez at,[0-9a-f]+ <.*\+0x[0-9a-f]+>
+[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .*
+[ 0-9a-f]+: 0000 0000 nop
+[ 0-9a-f]+: fc3c 0001 lw at,1\(gp\)
+[ ]*[0-9a-f]+: R_MICROMIPS_GOT16 \.text
+[ 0-9a-f]+: 3021 04fb addiu at,at,1275
+[ ]*[0-9a-f]+: R_MICROMIPS_LO16 \.text
+[ 0-9a-f]+: 0001 0f3c jr at
+
+[0-9a-f]+ <.*>:
+[ 0-9a-f]+: 00a4 1b10 xor v1,a0,a1
+[ 0-9a-f]+: 0064 0b50 slt at,a0,v1
+[ 0-9a-f]+: b401 fffe bnez at,[0-9a-f]+ <.*\+0x[0-9a-f]+>
+[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .*
+[ 0-9a-f]+: 0000 0000 nop
+[ 0-9a-f]+: fc3c 0001 lw at,1\(gp\)
+[ ]*[0-9a-f]+: R_MICROMIPS_GOT16 \.text
+[ 0-9a-f]+: 3021 04fb addiu at,at,1275
+[ ]*[0-9a-f]+: R_MICROMIPS_LO16 \.text
+[ 0-9a-f]+: 0001 0f3c jr at
+[ 0-9a-f]+: 00a4 1b10 xor v1,a0,a1
+
+[0-9a-f]+ <.*>:
+[ 0-9a-f]+: 0064 0b90 sltu at,a0,v1
+[ 0-9a-f]+: b401 fffe bnez at,[0-9a-f]+ <.*\+0x[0-9a-f]+>
+[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .*
+[ 0-9a-f]+: 0000 0000 nop
+[ 0-9a-f]+: fc3c 0001 lw at,1\(gp\)
+[ ]*[0-9a-f]+: R_MICROMIPS_GOT16 \.text
+[ 0-9a-f]+: 3021 04fb addiu at,at,1275
+[ ]*[0-9a-f]+: R_MICROMIPS_LO16 \.text
+[ 0-9a-f]+: 0001 0f3c jr at
+
+[0-9a-f]+ <.*>:
+[ 0-9a-f]+: 00a4 1b10 xor v1,a0,a1
+[ 0-9a-f]+: 0064 0b90 sltu at,a0,v1
+[ 0-9a-f]+: b401 fffe bnez at,[0-9a-f]+ <.*\+0x[0-9a-f]+>
+[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .*
+[ 0-9a-f]+: 0000 0000 nop
+[ 0-9a-f]+: fc3c 0001 lw at,1\(gp\)
+[ ]*[0-9a-f]+: R_MICROMIPS_GOT16 \.text
+[ 0-9a-f]+: 3021 04fb addiu at,at,1275
+[ ]*[0-9a-f]+: R_MICROMIPS_LO16 \.text
+[ 0-9a-f]+: 0001 0f3c jr at
+[ 0-9a-f]+: 00a4 1b10 xor v1,a0,a1
+
+[0-9a-f]+ <.*>:
+[ 0-9a-f]+: 40c3 fffe bgtz v1,[0-9a-f]+ <.*>
+[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .*
+[ 0-9a-f]+: 0000 0000 nop
+[ 0-9a-f]+: fc3c 0001 lw at,1\(gp\)
+[ ]*[0-9a-f]+: R_MICROMIPS_GOT16 \.text
+[ 0-9a-f]+: 3021 04fb addiu at,at,1275
+[ ]*[0-9a-f]+: R_MICROMIPS_LO16 \.text
+[ 0-9a-f]+: 0001 0f3c jr at
+[ 0-9a-f]+: 00a4 1b10 xor v1,a0,a1
+
+[0-9a-f]+ <.*>:
+[ 0-9a-f]+: 0083 0b50 slt at,v1,a0
+[ 0-9a-f]+: 9401 fffe beqz at,[0-9a-f]+ <.*\+0x[0-9a-f]+>
+[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .*
+[ 0-9a-f]+: 0000 0000 nop
+[ 0-9a-f]+: fc3c 0001 lw at,1\(gp\)
+[ ]*[0-9a-f]+: R_MICROMIPS_GOT16 \.text
+[ 0-9a-f]+: 3021 04fb addiu at,at,1275
+[ ]*[0-9a-f]+: R_MICROMIPS_LO16 \.text
+[ 0-9a-f]+: 0001 0f3c jr at
+
+[0-9a-f]+ <.*>:
+[ 0-9a-f]+: 00a4 1b10 xor v1,a0,a1
+[ 0-9a-f]+: 0083 0b50 slt at,v1,a0
+[ 0-9a-f]+: 9401 fffe beqz at,[0-9a-f]+ <.*\+0x[0-9a-f]+>
+[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .*
+[ 0-9a-f]+: 0000 0000 nop
+[ 0-9a-f]+: fc3c 0001 lw at,1\(gp\)
+[ ]*[0-9a-f]+: R_MICROMIPS_GOT16 \.text
+[ 0-9a-f]+: 3021 04fb addiu at,at,1275
+[ ]*[0-9a-f]+: R_MICROMIPS_LO16 \.text
+[ 0-9a-f]+: 0001 0f3c jr at
+[ 0-9a-f]+: 00a4 1b10 xor v1,a0,a1
+
+[0-9a-f]+ <.*>:
+[ 0-9a-f]+: 0083 0b90 sltu at,v1,a0
+[ 0-9a-f]+: 9401 fffe beqz at,[0-9a-f]+ <.*\+0x[0-9a-f]+>
+[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .*
+[ 0-9a-f]+: 0000 0000 nop
+[ 0-9a-f]+: fc3c 0001 lw at,1\(gp\)
+[ ]*[0-9a-f]+: R_MICROMIPS_GOT16 \.text
+[ 0-9a-f]+: 3021 04fb addiu at,at,1275
+[ ]*[0-9a-f]+: R_MICROMIPS_LO16 \.text
+[ 0-9a-f]+: 0001 0f3c jr at
+
+[0-9a-f]+ <.*>:
+[ 0-9a-f]+: 00a4 1b10 xor v1,a0,a1
+[ 0-9a-f]+: 0083 0b90 sltu at,v1,a0
+[ 0-9a-f]+: 9401 fffe beqz at,[0-9a-f]+ <.*\+0x[0-9a-f]+>
+[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .*
+[ 0-9a-f]+: 0000 0000 nop
+[ 0-9a-f]+: fc3c 0001 lw at,1\(gp\)
+[ ]*[0-9a-f]+: R_MICROMIPS_GOT16 \.text
+[ 0-9a-f]+: 3021 04fb addiu at,at,1275
+[ ]*[0-9a-f]+: R_MICROMIPS_LO16 \.text
+[ 0-9a-f]+: 0001 0f3c jr at
+[ 0-9a-f]+: 00a4 1b10 xor v1,a0,a1
+
+[0-9a-f]+ <.*>:
+[ 0-9a-f]+: 4043 fffe bgez v1,[0-9a-f]+ <.*>
+[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .*
+[ 0-9a-f]+: 0000 0000 nop
+[ 0-9a-f]+: fc3c 0001 lw at,1\(gp\)
+[ ]*[0-9a-f]+: R_MICROMIPS_GOT16 \.text
+[ 0-9a-f]+: 3021 04fb addiu at,at,1275
+[ ]*[0-9a-f]+: R_MICROMIPS_LO16 \.text
+[ 0-9a-f]+: 03e1 0f3c jalr at
+[ 0-9a-f]+: 00a4 1b10 xor v1,a0,a1
+
+[0-9a-f]+ <.*>:
+[ 0-9a-f]+: 4043 fffe bgez v1,[0-9a-f]+ <.*>
+[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .*
+[ 0-9a-f]+: 0000 0000 nop
+[ 0-9a-f]+: fc3c 0001 lw at,1\(gp\)
+[ ]*[0-9a-f]+: R_MICROMIPS_GOT16 \.text
+[ 0-9a-f]+: 3021 04fb addiu at,at,1275
+[ ]*[0-9a-f]+: R_MICROMIPS_LO16 \.text
+[ 0-9a-f]+: 0001 0f3c jr at
+[ 0-9a-f]+: 00a4 1b10 xor v1,a0,a1
+
+[0-9a-f]+ <.*>:
+[ 0-9a-f]+: 9483 fffe beq v1,a0,[0-9a-f]+ <.*>
+[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .*
+[ 0-9a-f]+: 0000 0000 nop
+[ 0-9a-f]+: fc3c 0001 lw at,1\(gp\)
+[ ]*[0-9a-f]+: R_MICROMIPS_GOT16 \.text
+[ 0-9a-f]+: 3021 04fb addiu at,at,1275
+[ ]*[0-9a-f]+: R_MICROMIPS_LO16 \.text
+[ 0-9a-f]+: 0001 0f3c jr at
+[ 0-9a-f]+: 00a4 1b10 xor v1,a0,a1
+
+[0-9a-f]+ <.*>:
+[ 0-9a-f]+: 9403 fffe beqz v1,[0-9a-f]+ <.*>
+[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .*
+[ 0-9a-f]+: 0000 0000 nop
+[ 0-9a-f]+: fc3c 0001 lw at,1\(gp\)
+[ ]*[0-9a-f]+: R_MICROMIPS_GOT16 \.text
+[ 0-9a-f]+: 3021 04fb addiu at,at,1275
+[ ]*[0-9a-f]+: R_MICROMIPS_LO16 \.text
+[ 0-9a-f]+: 0001 0f3c jr at
+
+[0-9a-f]+ <.*>:
+[ 0-9a-f]+: 00a4 1b10 xor v1,a0,a1
+[ 0-9a-f]+: 9403 fffe beqz v1,[0-9a-f]+ <.*\+0x[0-9a-f]+>
+[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .*
+[ 0-9a-f]+: 0000 0000 nop
+[ 0-9a-f]+: fc3c 0001 lw at,1\(gp\)
+[ ]*[0-9a-f]+: R_MICROMIPS_GOT16 \.text
+[ 0-9a-f]+: 3021 04fb addiu at,at,1275
+[ ]*[0-9a-f]+: R_MICROMIPS_LO16 \.text
+[ 0-9a-f]+: 0001 0f3c jr at
+[ 0-9a-f]+: 00a4 1b10 xor v1,a0,a1
+
+[0-9a-f]+ <.*>:
+ \.\.\.
+
+[0-9a-f]+ <test2>:
+ \.\.\.
+
+[0-9a-f]+ <test3>:
+[ 0-9a-f]+: 00a4 1950 addu v1,a0,a1
+ \.\.\.
Index: binutils/gas/testsuite/gas/mips/micromips-branch-relax-pic-irix.d
===================================================================
--- /dev/null
+++ binutils/gas/testsuite/gas/mips/micromips-branch-relax-pic-irix.d
@@ -0,0 +1,623 @@
+#objdump: -dr --show-raw-insn
+#name: Relax microMIPS branches (pic)
+#as: -mips32r2 -32 -relax-branch -KPIC
+#warning_output: micromips-branch-relax-pic.l
+#source: micromips-branch-relax.s
+
+.*: +file format .*mips.*
+
+Disassembly of section \.text:
+
+[0-9a-f]+ <test>:
+[ 0-9a-f]+: 9400 fffe b [0-9a-f]+ <.*>
+[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .*
+[ 0-9a-f]+: 05d8 addu v1,a0,a1
+[ 0-9a-f]+: 9403 fffe beqz v1,[0-9a-f]+ <.*\+0x[0-9a-f]+>
+[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .*
+[ 0-9a-f]+: 05d8 addu v1,a0,a1
+[ 0-9a-f]+: b403 fffe bnez v1,[0-9a-f]+ <.*\+0x[0-9a-f]+>
+[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .*
+[ 0-9a-f]+: 05d8 addu v1,a0,a1
+[ 0-9a-f]+: cfff b [0-9a-f]+ <.*\+0x[0-9a-f]+>
+[ ]*[0-9a-f]+: R_MICROMIPS_PC10_S1 .*
+[ 0-9a-f]+: 05d8 addu v1,a0,a1
+[ 0-9a-f]+: 40e0 fffe bc [0-9a-f]+ <.*\+0x[0-9a-f]+>
+[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .*
+[ 0-9a-f]+: 05d8 addu v1,a0,a1
+[ 0-9a-f]+: 4060 fffe bal [0-9a-f]+ <.*\+0x[0-9a-f]+>
+[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .*
+[ 0-9a-f]+: 00a4 1950 addu v1,a0,a1
+[ 0-9a-f]+: 4260 fffe bals [0-9a-f]+ <.*\+0x[0-9a-f]+>
+[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .*
+[ 0-9a-f]+: 05d8 addu v1,a0,a1
+[ 0-9a-f]+: 8dff beqz v1,[0-9a-f]+ <.*\+0x[0-9a-f]+>
+[ ]*[0-9a-f]+: R_MICROMIPS_PC7_S1 .*
+[ 0-9a-f]+: 05d8 addu v1,a0,a1
+[ 0-9a-f]+: adff bnez v1,[0-9a-f]+ <.*\+0x[0-9a-f]+>
+[ ]*[0-9a-f]+: R_MICROMIPS_PC7_S1 .*
+[ 0-9a-f]+: 05d8 addu v1,a0,a1
+[ 0-9a-f]+: cfff b [0-9a-f]+ <.*\+0x[0-9a-f]+>
+[ ]*[0-9a-f]+: R_MICROMIPS_PC10_S1 .*
+[ 0-9a-f]+: 05d8 addu v1,a0,a1
+[ 0-9a-f]+: 8dff beqz v1,[0-9a-f]+ <.*\+0x[0-9a-f]+>
+[ ]*[0-9a-f]+: R_MICROMIPS_PC7_S1 .*
+[ 0-9a-f]+: 05d8 addu v1,a0,a1
+[ 0-9a-f]+: adff bnez v1,[0-9a-f]+ <.*\+0x[0-9a-f]+>
+[ ]*[0-9a-f]+: R_MICROMIPS_PC7_S1 .*
+[ 0-9a-f]+: 05d8 addu v1,a0,a1
+[ 0-9a-f]+: 9400 fffe b [0-9a-f]+ <.*\+0x[0-9a-f]+>
+[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .*
+[ 0-9a-f]+: 05d8 addu v1,a0,a1
+[ 0-9a-f]+: 40e0 fffe bc [0-9a-f]+ <.*\+0x[0-9a-f]+>
+[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .*
+[ 0-9a-f]+: 05d8 addu v1,a0,a1
+[ 0-9a-f]+: 4060 fffe bal [0-9a-f]+ <.*\+0x[0-9a-f]+>
+[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .*
+[ 0-9a-f]+: 00a4 1950 addu v1,a0,a1
+[ 0-9a-f]+: 4260 fffe bals [0-9a-f]+ <.*\+0x[0-9a-f]+>
+[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .*
+[ 0-9a-f]+: 05d8 addu v1,a0,a1
+[ 0-9a-f]+: 9403 fffe beqz v1,[0-9a-f]+ <.*\+0x[0-9a-f]+>
+[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .*
+[ 0-9a-f]+: 05d8 addu v1,a0,a1
+[ 0-9a-f]+: b403 fffe bnez v1,[0-9a-f]+ <.*\+0x[0-9a-f]+>
+[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .*
+[ 0-9a-f]+: 05d8 addu v1,a0,a1
+[ 0-9a-f]+: cfff b [0-9a-f]+ <.*\+0x[0-9a-f]+>
+[ ]*[0-9a-f]+: R_MICROMIPS_PC10_S1 .*
+[ 0-9a-f]+: 05d8 addu v1,a0,a1
+[ 0-9a-f]+: 8dff beqz v1,[0-9a-f]+ <.*\+0x[0-9a-f]+>
+[ ]*[0-9a-f]+: R_MICROMIPS_PC7_S1 .*
+[ 0-9a-f]+: 05d8 addu v1,a0,a1
+[ 0-9a-f]+: adff bnez v1,[0-9a-f]+ <.*\+0x[0-9a-f]+>
+[ ]*[0-9a-f]+: R_MICROMIPS_PC7_S1 .*
+[ 0-9a-f]+: 05d8 addu v1,a0,a1
+[ 0-9a-f]+: 9400 fffe b [0-9a-f]+ <.*\+0x[0-9a-f]+>
+[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .*
+[ 0-9a-f]+: 05d8 addu v1,a0,a1
+[ 0-9a-f]+: 40e0 fffe bc [0-9a-f]+ <.*\+0x[0-9a-f]+>
+[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .*
+[ 0-9a-f]+: 05d8 addu v1,a0,a1
+[ 0-9a-f]+: 4060 fffe bal [0-9a-f]+ <.*\+0x[0-9a-f]+>
+[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .*
+[ 0-9a-f]+: 00a4 1950 addu v1,a0,a1
+[ 0-9a-f]+: 4260 fffe bals [0-9a-f]+ <.*\+0x[0-9a-f]+>
+[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .*
+[ 0-9a-f]+: 05d8 addu v1,a0,a1
+[ 0-9a-f]+: 9403 fffe beqz v1,[0-9a-f]+ <.*\+0x[0-9a-f]+>
+[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .*
+[ 0-9a-f]+: 05d8 addu v1,a0,a1
+[ 0-9a-f]+: b403 fffe bnez v1,[0-9a-f]+ <.*\+0x[0-9a-f]+>
+[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .*
+[ 0-9a-f]+: 05d8 addu v1,a0,a1
+[ 0-9a-f]+: fc3c 0001 lw at,1\(gp\)
+[ ]*[0-9a-f]+: R_MICROMIPS_GOT16 \.text
+[ 0-9a-f]+: 3021 045b addiu at,at,1115
+[ ]*[0-9a-f]+: R_MICROMIPS_LO16 \.text
+[ 0-9a-f]+: 4581 jr at
+[ 0-9a-f]+: 05d8 addu v1,a0,a1
+[ 0-9a-f]+: ff3c 0001 lw t9,1\(gp\)
+[ ]*[0-9a-f]+: R_MICROMIPS_GOT16 \.text
+[ 0-9a-f]+: 3339 045b addiu t9,t9,1115
+[ ]*[0-9a-f]+: R_MICROMIPS_LO16 \.text
+[ 0-9a-f]+: 45d9 jalr t9
+[ 0-9a-f]+: 00a4 1950 addu v1,a0,a1
+[ 0-9a-f]+: fc3c 0001 lw at,1\(gp\)
+[ ]*[0-9a-f]+: R_MICROMIPS_GOT16 \.text
+[ 0-9a-f]+: 3021 045b addiu at,at,1115
+[ ]*[0-9a-f]+: R_MICROMIPS_LO16 \.text
+[ 0-9a-f]+: 4581 jr at
+[ 0-9a-f]+: 05d8 addu v1,a0,a1
+[ 0-9a-f]+: fc3c 0001 lw at,1\(gp\)
+[ ]*[0-9a-f]+: R_MICROMIPS_GOT16 \.text
+[ 0-9a-f]+: 3021 045b addiu at,at,1115
+[ ]*[0-9a-f]+: R_MICROMIPS_LO16 \.text
+[ 0-9a-f]+: 45a1 jrc at
+[ 0-9a-f]+: 05d8 addu v1,a0,a1
+[ 0-9a-f]+: fc3c 0001 lw at,1\(gp\)
+[ ]*[0-9a-f]+: R_MICROMIPS_GOT16 \.text
+[ 0-9a-f]+: 3021 045b addiu at,at,1115
+[ ]*[0-9a-f]+: R_MICROMIPS_LO16 \.text
+[ 0-9a-f]+: 45c1 jalr at
+[ 0-9a-f]+: 00a4 1950 addu v1,a0,a1
+[ 0-9a-f]+: fc3c 0001 lw at,1\(gp\)
+[ ]*[0-9a-f]+: R_MICROMIPS_GOT16 \.text
+[ 0-9a-f]+: 3021 045b addiu at,at,1115
+[ ]*[0-9a-f]+: R_MICROMIPS_LO16 \.text
+[ 0-9a-f]+: 45e1 jalrs at
+[ 0-9a-f]+: 05d8 addu v1,a0,a1
+[ 0-9a-f]+: b483 fffe bne v1,a0,[0-9a-f]+ <.*\+0x[0-9a-f]+>
+[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .*
+[ 0-9a-f]+: 0c00 nop
+[ 0-9a-f]+: fc3c 0001 lw at,1\(gp\)
+[ ]*[0-9a-f]+: R_MICROMIPS_GOT16 \.text
+[ 0-9a-f]+: 3021 045b addiu at,at,1115
+[ ]*[0-9a-f]+: R_MICROMIPS_LO16 \.text
+[ 0-9a-f]+: 4581 jr at
+
+[0-9a-f]+ <.*>:
+[ 0-9a-f]+: 05d8 addu v1,a0,a1
+[ 0-9a-f]+: 9483 fffe beq v1,a0,[0-9a-f]+ <.*\+0x[0-9a-f]+>
+[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .*
+[ 0-9a-f]+: 0c00 nop
+[ 0-9a-f]+: fc3c 0001 lw at,1\(gp\)
+[ ]*[0-9a-f]+: R_MICROMIPS_GOT16 \.text
+[ 0-9a-f]+: 3021 045b addiu at,at,1115
+[ ]*[0-9a-f]+: R_MICROMIPS_LO16 \.text
+[ 0-9a-f]+: 4581 jr at
+
+[0-9a-f]+ <.*>:
+[ 0-9a-f]+: 05d8 addu v1,a0,a1
+[ 0-9a-f]+: 4043 fffe bgez v1,[0-9a-f]+ <.*\+0x[0-9a-f]+>
+[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .*
+[ 0-9a-f]+: 0c00 nop
+[ 0-9a-f]+: fc3c 0001 lw at,1\(gp\)
+[ ]*[0-9a-f]+: R_MICROMIPS_GOT16 \.text
+[ 0-9a-f]+: 3021 045b addiu at,at,1115
+[ ]*[0-9a-f]+: R_MICROMIPS_LO16 \.text
+[ 0-9a-f]+: 4581 jr at
+
+[0-9a-f]+ <.*>:
+[ 0-9a-f]+: 05d8 addu v1,a0,a1
+[ 0-9a-f]+: 4003 fffe bltz v1,[0-9a-f]+ <.*\+0x[0-9a-f]+>
+[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .*
+[ 0-9a-f]+: 0c00 nop
+[ 0-9a-f]+: fc3c 0001 lw at,1\(gp\)
+[ ]*[0-9a-f]+: R_MICROMIPS_GOT16 \.text
+[ 0-9a-f]+: 3021 045b addiu at,at,1115
+[ ]*[0-9a-f]+: R_MICROMIPS_LO16 \.text
+[ 0-9a-f]+: 4581 jr at
+
+[0-9a-f]+ <.*>:
+[ 0-9a-f]+: 05d8 addu v1,a0,a1
+[ 0-9a-f]+: 40d4 fffe bgtz s4,[0-9a-f]+ <.*\+0x[0-9a-f]+>
+[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .*
+[ 0-9a-f]+: 0c00 nop
+[ 0-9a-f]+: fc3c 0001 lw at,1\(gp\)
+[ ]*[0-9a-f]+: R_MICROMIPS_GOT16 \.text
+[ 0-9a-f]+: 3021 045b addiu at,at,1115
+[ ]*[0-9a-f]+: R_MICROMIPS_LO16 \.text
+[ 0-9a-f]+: 4581 jr at
+
+[0-9a-f]+ <.*>:
+[ 0-9a-f]+: 05d8 addu v1,a0,a1
+[ 0-9a-f]+: 4094 fffe blez s4,[0-9a-f]+ <.*\+0x[0-9a-f]+>
+[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .*
+[ 0-9a-f]+: 0c00 nop
+[ 0-9a-f]+: fc3c 0001 lw at,1\(gp\)
+[ ]*[0-9a-f]+: R_MICROMIPS_GOT16 \.text
+[ 0-9a-f]+: 3021 045b addiu at,at,1115
+[ ]*[0-9a-f]+: R_MICROMIPS_LO16 \.text
+[ 0-9a-f]+: 4581 jr at
+
+[0-9a-f]+ <.*>:
+[ 0-9a-f]+: 05d8 addu v1,a0,a1
+[ 0-9a-f]+: 40a3 fffe bnezc v1,[0-9a-f]+ <.*\+0x[0-9a-f]+>
+[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .*
+[ 0-9a-f]+: fc3c 0001 lw at,1\(gp\)
+[ ]*[0-9a-f]+: R_MICROMIPS_GOT16 \.text
+[ 0-9a-f]+: 3021 045b addiu at,at,1115
+[ ]*[0-9a-f]+: R_MICROMIPS_LO16 \.text
+[ 0-9a-f]+: 45a1 jrc at
+
+[0-9a-f]+ <.*>:
+[ 0-9a-f]+: 05d8 addu v1,a0,a1
+[ 0-9a-f]+: 40e3 fffe beqzc v1,[0-9a-f]+ <.*\+0x[0-9a-f]+>
+[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .*
+[ 0-9a-f]+: fc3c 0001 lw at,1\(gp\)
+[ ]*[0-9a-f]+: R_MICROMIPS_GOT16 \.text
+[ 0-9a-f]+: 3021 045b addiu at,at,1115
+[ ]*[0-9a-f]+: R_MICROMIPS_LO16 \.text
+[ 0-9a-f]+: 45a1 jrc at
+
+[0-9a-f]+ <.*>:
+[ 0-9a-f]+: 05d8 addu v1,a0,a1
+[ 0-9a-f]+: 401e fffe bltz s8,[0-9a-f]+ <.*\+0x[0-9a-f]+>
+[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .*
+[ 0-9a-f]+: 0c00 nop
+[ 0-9a-f]+: fc3c 0001 lw at,1\(gp\)
+[ ]*[0-9a-f]+: R_MICROMIPS_GOT16 \.text
+[ 0-9a-f]+: 3021 045b addiu at,at,1115
+[ ]*[0-9a-f]+: R_MICROMIPS_LO16 \.text
+[ 0-9a-f]+: 45c1 jalr at
+
+[0-9a-f]+ <.*>:
+[ 0-9a-f]+: 00a4 1950 addu v1,a0,a1
+[ 0-9a-f]+: 405e fffe bgez s8,[0-9a-f]+ <.*\+0x[0-9a-f]+>
+[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .*
+[ 0-9a-f]+: 0c00 nop
+[ 0-9a-f]+: fc3c 0001 lw at,1\(gp\)
+[ ]*[0-9a-f]+: R_MICROMIPS_GOT16 \.text
+[ 0-9a-f]+: 3021 045b addiu at,at,1115
+[ ]*[0-9a-f]+: R_MICROMIPS_LO16 \.text
+[ 0-9a-f]+: 45c1 jalr at
+
+[0-9a-f]+ <.*>:
+[ 0-9a-f]+: 00a4 1950 addu v1,a0,a1
+[ 0-9a-f]+: 401e fffe bltz s8,[0-9a-f]+ <.*\+0x[0-9a-f]+>
+[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .*
+[ 0-9a-f]+: 0c00 nop
+[ 0-9a-f]+: fc3c 0001 lw at,1\(gp\)
+[ ]*[0-9a-f]+: R_MICROMIPS_GOT16 \.text
+[ 0-9a-f]+: 3021 045b addiu at,at,1115
+[ ]*[0-9a-f]+: R_MICROMIPS_LO16 \.text
+[ 0-9a-f]+: 45e1 jalrs at
+
+[0-9a-f]+ <.*>:
+[ 0-9a-f]+: 05d8 addu v1,a0,a1
+[ 0-9a-f]+: 405e fffe bgez s8,[0-9a-f]+ <.*\+0x[0-9a-f]+>
+[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .*
+[ 0-9a-f]+: 0c00 nop
+[ 0-9a-f]+: fc3c 0001 lw at,1\(gp\)
+[ ]*[0-9a-f]+: R_MICROMIPS_GOT16 \.text
+[ 0-9a-f]+: 3021 045b addiu at,at,1115
+[ ]*[0-9a-f]+: R_MICROMIPS_LO16 \.text
+[ 0-9a-f]+: 45e1 jalrs at
+
+[0-9a-f]+ <.*>:
+[ 0-9a-f]+: 05d8 addu v1,a0,a1
+[ 0-9a-f]+: 43a0 fffe bc1t [0-9a-f]+ <.*\+0x[0-9a-f]+>
+[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .*
+[ 0-9a-f]+: 0c00 nop
+[ 0-9a-f]+: fc3c 0001 lw at,1\(gp\)
+[ ]*[0-9a-f]+: R_MICROMIPS_GOT16 \.text
+[ 0-9a-f]+: 3021 045b addiu at,at,1115
+[ ]*[0-9a-f]+: R_MICROMIPS_LO16 \.text
+[ 0-9a-f]+: 4581 jr at
+
+[0-9a-f]+ <.*>:
+[ 0-9a-f]+: 05d8 addu v1,a0,a1
+[ 0-9a-f]+: 4380 fffe bc1f [0-9a-f]+ <.*\+0x[0-9a-f]+>
+[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .*
+[ 0-9a-f]+: 0c00 nop
+[ 0-9a-f]+: fc3c 0001 lw at,1\(gp\)
+[ ]*[0-9a-f]+: R_MICROMIPS_GOT16 \.text
+[ 0-9a-f]+: 3021 045b addiu at,at,1115
+[ ]*[0-9a-f]+: R_MICROMIPS_LO16 \.text
+[ 0-9a-f]+: 4581 jr at
+
+[0-9a-f]+ <.*>:
+[ 0-9a-f]+: 05d8 addu v1,a0,a1
+[ 0-9a-f]+: 42a0 fffe bc2t [0-9a-f]+ <.*\+0x[0-9a-f]+>
+[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .*
+[ 0-9a-f]+: 0c00 nop
+[ 0-9a-f]+: fc3c 0001 lw at,1\(gp\)
+[ ]*[0-9a-f]+: R_MICROMIPS_GOT16 \.text
+[ 0-9a-f]+: 3021 045b addiu at,at,1115
+[ ]*[0-9a-f]+: R_MICROMIPS_LO16 \.text
+[ 0-9a-f]+: 4581 jr at
+
+[0-9a-f]+ <.*>:
+[ 0-9a-f]+: 05d8 addu v1,a0,a1
+[ 0-9a-f]+: 4280 fffe bc2f [0-9a-f]+ <.*\+0x[0-9a-f]+>
+[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .*
+[ 0-9a-f]+: 0c00 nop
+[ 0-9a-f]+: fc3c 0001 lw at,1\(gp\)
+[ ]*[0-9a-f]+: R_MICROMIPS_GOT16 \.text
+[ 0-9a-f]+: 3021 045b addiu at,at,1115
+[ ]*[0-9a-f]+: R_MICROMIPS_LO16 \.text
+[ 0-9a-f]+: 4581 jr at
+
+[0-9a-f]+ <.*>:
+[ 0-9a-f]+: 05d8 addu v1,a0,a1
+[ 0-9a-f]+: b483 fffe bne v1,a0,[0-9a-f]+ <.*\+0x[0-9a-f]+>
+[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .*
+[ 0-9a-f]+: 0c00 nop
+[ 0-9a-f]+: fc3c 0001 lw at,1\(gp\)
+[ ]*[0-9a-f]+: R_MICROMIPS_GOT16 \.text
+[ 0-9a-f]+: 3021 045b addiu at,at,1115
+[ ]*[0-9a-f]+: R_MICROMIPS_LO16 \.text
+[ 0-9a-f]+: 4581 jr at
+[ 0-9a-f]+: 05d8 addu v1,a0,a1
+
+[0-9a-f]+ <.*>:
+[ 0-9a-f]+: b403 fffe bnez v1,[0-9a-f]+ <.*>
+[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .*
+[ 0-9a-f]+: 0c00 nop
+[ 0-9a-f]+: fc3c 0001 lw at,1\(gp\)
+[ ]*[0-9a-f]+: R_MICROMIPS_GOT16 \.text
+[ 0-9a-f]+: 3021 045b addiu at,at,1115
+[ ]*[0-9a-f]+: R_MICROMIPS_LO16 \.text
+[ 0-9a-f]+: 4581 jr at
+
+[0-9a-f]+ <.*>:
+[ 0-9a-f]+: 00a4 1b10 xor v1,a0,a1
+[ 0-9a-f]+: 0083 0b50 slt at,v1,a0
+[ 0-9a-f]+: b401 fffe bnez at,[0-9a-f]+ <.*\+0x[0-9a-f]+>
+[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .*
+[ 0-9a-f]+: 0c00 nop
+[ 0-9a-f]+: fc3c 0001 lw at,1\(gp\)
+[ ]*[0-9a-f]+: R_MICROMIPS_GOT16 \.text
+[ 0-9a-f]+: 3021 045b addiu at,at,1115
+[ ]*[0-9a-f]+: R_MICROMIPS_LO16 \.text
+[ 0-9a-f]+: 4581 jr at
+
+[0-9a-f]+ <.*>:
+[ 0-9a-f]+: 00a4 1b10 xor v1,a0,a1
+[ 0-9a-f]+: 0083 0b50 slt at,v1,a0
+[ 0-9a-f]+: b401 fffe bnez at,[0-9a-f]+ <.*\+0x[0-9a-f]+>
+[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .*
+[ 0-9a-f]+: 0c00 nop
+[ 0-9a-f]+: fc3c 0001 lw at,1\(gp\)
+[ ]*[0-9a-f]+: R_MICROMIPS_GOT16 \.text
+[ 0-9a-f]+: 3021 045b addiu at,at,1115
+[ ]*[0-9a-f]+: R_MICROMIPS_LO16 \.text
+[ 0-9a-f]+: 4581 jr at
+[ 0-9a-f]+: 00a4 1b10 xor v1,a0,a1
+
+[0-9a-f]+ <.*>:
+[ 0-9a-f]+: 0083 0b90 sltu at,v1,a0
+[ 0-9a-f]+: b401 fffe bnez at,[0-9a-f]+ <.*\+0x[0-9a-f]+>
+[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .*
+[ 0-9a-f]+: 0c00 nop
+[ 0-9a-f]+: fc3c 0001 lw at,1\(gp\)
+[ ]*[0-9a-f]+: R_MICROMIPS_GOT16 \.text
+[ 0-9a-f]+: 3021 045b addiu at,at,1115
+[ ]*[0-9a-f]+: R_MICROMIPS_LO16 \.text
+[ 0-9a-f]+: 4581 jr at
+
+[0-9a-f]+ <.*>:
+[ 0-9a-f]+: 00a4 1b10 xor v1,a0,a1
+[ 0-9a-f]+: 0083 0b90 sltu at,v1,a0
+[ 0-9a-f]+: b401 fffe bnez at,[0-9a-f]+ <.*\+0x[0-9a-f]+>
+[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .*
+[ 0-9a-f]+: 0c00 nop
+[ 0-9a-f]+: fc3c 0001 lw at,1\(gp\)
+[ ]*[0-9a-f]+: R_MICROMIPS_GOT16 \.text
+[ 0-9a-f]+: 3021 045b addiu at,at,1115
+[ ]*[0-9a-f]+: R_MICROMIPS_LO16 \.text
+[ 0-9a-f]+: 4581 jr at
+[ 0-9a-f]+: 00a4 1b10 xor v1,a0,a1
+
+[0-9a-f]+ <.*>:
+[ 0-9a-f]+: 4003 fffe bltz v1,[0-9a-f]+ <.*>
+[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .*
+[ 0-9a-f]+: 0c00 nop
+[ 0-9a-f]+: fc3c 0001 lw at,1\(gp\)
+[ ]*[0-9a-f]+: R_MICROMIPS_GOT16 \.text
+[ 0-9a-f]+: 3021 045b addiu at,at,1115
+[ ]*[0-9a-f]+: R_MICROMIPS_LO16 \.text
+[ 0-9a-f]+: 45c1 jalr at
+[ 0-9a-f]+: 00a4 1b10 xor v1,a0,a1
+
+[0-9a-f]+ <.*>:
+[ 0-9a-f]+: 4003 fffe bltz v1,[0-9a-f]+ <.*>
+[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .*
+[ 0-9a-f]+: 0c00 nop
+[ 0-9a-f]+: fc3c 0001 lw at,1\(gp\)
+[ ]*[0-9a-f]+: R_MICROMIPS_GOT16 \.text
+[ 0-9a-f]+: 3021 045b addiu at,at,1115
+[ ]*[0-9a-f]+: R_MICROMIPS_LO16 \.text
+[ 0-9a-f]+: 4581 jr at
+[ 0-9a-f]+: 00a4 1b10 xor v1,a0,a1
+
+[0-9a-f]+ <.*>:
+[ 0-9a-f]+: 0064 0b50 slt at,a0,v1
+[ 0-9a-f]+: 9401 fffe beqz at,[0-9a-f]+ <.*\+0x[0-9a-f]+>
+[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .*
+[ 0-9a-f]+: 0c00 nop
+[ 0-9a-f]+: fc3c 0001 lw at,1\(gp\)
+[ ]*[0-9a-f]+: R_MICROMIPS_GOT16 \.text
+[ 0-9a-f]+: 3021 045b addiu at,at,1115
+[ ]*[0-9a-f]+: R_MICROMIPS_LO16 \.text
+[ 0-9a-f]+: 4581 jr at
+
+[0-9a-f]+ <.*>:
+[ 0-9a-f]+: 00a4 1b10 xor v1,a0,a1
+[ 0-9a-f]+: 0064 0b50 slt at,a0,v1
+[ 0-9a-f]+: 9401 fffe beqz at,[0-9a-f]+ <.*\+0x[0-9a-f]+>
+[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .*
+[ 0-9a-f]+: 0c00 nop
+[ 0-9a-f]+: fc3c 0001 lw at,1\(gp\)
+[ ]*[0-9a-f]+: R_MICROMIPS_GOT16 \.text
+[ 0-9a-f]+: 3021 045b addiu at,at,1115
+[ ]*[0-9a-f]+: R_MICROMIPS_LO16 \.text
+[ 0-9a-f]+: 4581 jr at
+[ 0-9a-f]+: 00a4 1b10 xor v1,a0,a1
+
+[0-9a-f]+ <.*>:
+[ 0-9a-f]+: 0064 0b90 sltu at,a0,v1
+[ 0-9a-f]+: 9401 fffe beqz at,[0-9a-f]+ <.*\+0x[0-9a-f]+>
+[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .*
+[ 0-9a-f]+: 0c00 nop
+[ 0-9a-f]+: fc3c 0001 lw at,1\(gp\)
+[ ]*[0-9a-f]+: R_MICROMIPS_GOT16 \.text
+[ 0-9a-f]+: 3021 045b addiu at,at,1115
+[ ]*[0-9a-f]+: R_MICROMIPS_LO16 \.text
+[ 0-9a-f]+: 4581 jr at
+
+[0-9a-f]+ <.*>:
+[ 0-9a-f]+: 00a4 1b10 xor v1,a0,a1
+[ 0-9a-f]+: 0064 0b90 sltu at,a0,v1
+[ 0-9a-f]+: 9401 fffe beqz at,[0-9a-f]+ <.*\+0x[0-9a-f]+>
+[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .*
+[ 0-9a-f]+: 0c00 nop
+[ 0-9a-f]+: fc3c 0001 lw at,1\(gp\)
+[ ]*[0-9a-f]+: R_MICROMIPS_GOT16 \.text
+[ 0-9a-f]+: 3021 045b addiu at,at,1115
+[ ]*[0-9a-f]+: R_MICROMIPS_LO16 \.text
+[ 0-9a-f]+: 4581 jr at
+[ 0-9a-f]+: 00a4 1b10 xor v1,a0,a1
+
+[0-9a-f]+ <.*>:
+[ 0-9a-f]+: 4083 fffe blez v1,[0-9a-f]+ <.*>
+[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .*
+[ 0-9a-f]+: 0c00 nop
+[ 0-9a-f]+: fc3c 0001 lw at,1\(gp\)
+[ ]*[0-9a-f]+: R_MICROMIPS_GOT16 \.text
+[ 0-9a-f]+: 3021 045b addiu at,at,1115
+[ ]*[0-9a-f]+: R_MICROMIPS_LO16 \.text
+[ 0-9a-f]+: 4581 jr at
+[ 0-9a-f]+: 00a4 1b10 xor v1,a0,a1
+
+[0-9a-f]+ <.*>:
+[ 0-9a-f]+: 0064 0b50 slt at,a0,v1
+[ 0-9a-f]+: b401 fffe bnez at,[0-9a-f]+ <.*\+0x[0-9a-f]+>
+[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .*
+[ 0-9a-f]+: 0c00 nop
+[ 0-9a-f]+: fc3c 0001 lw at,1\(gp\)
+[ ]*[0-9a-f]+: R_MICROMIPS_GOT16 \.text
+[ 0-9a-f]+: 3021 045b addiu at,at,1115
+[ ]*[0-9a-f]+: R_MICROMIPS_LO16 \.text
+[ 0-9a-f]+: 4581 jr at
+
+[0-9a-f]+ <.*>:
+[ 0-9a-f]+: 00a4 1b10 xor v1,a0,a1
+[ 0-9a-f]+: 0064 0b50 slt at,a0,v1
+[ 0-9a-f]+: b401 fffe bnez at,[0-9a-f]+ <.*\+0x[0-9a-f]+>
+[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .*
+[ 0-9a-f]+: 0c00 nop
+[ 0-9a-f]+: fc3c 0001 lw at,1\(gp\)
+[ ]*[0-9a-f]+: R_MICROMIPS_GOT16 \.text
+[ 0-9a-f]+: 3021 045b addiu at,at,1115
+[ ]*[0-9a-f]+: R_MICROMIPS_LO16 \.text
+[ 0-9a-f]+: 4581 jr at
+[ 0-9a-f]+: 00a4 1b10 xor v1,a0,a1
+
+[0-9a-f]+ <.*>:
+[ 0-9a-f]+: 0064 0b90 sltu at,a0,v1
+[ 0-9a-f]+: b401 fffe bnez at,[0-9a-f]+ <.*\+0x[0-9a-f]+>
+[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .*
+[ 0-9a-f]+: 0c00 nop
+[ 0-9a-f]+: fc3c 0001 lw at,1\(gp\)
+[ ]*[0-9a-f]+: R_MICROMIPS_GOT16 \.text
+[ 0-9a-f]+: 3021 045b addiu at,at,1115
+[ ]*[0-9a-f]+: R_MICROMIPS_LO16 \.text
+[ 0-9a-f]+: 4581 jr at
+
+[0-9a-f]+ <.*>:
+[ 0-9a-f]+: 00a4 1b10 xor v1,a0,a1
+[ 0-9a-f]+: 0064 0b90 sltu at,a0,v1
+[ 0-9a-f]+: b401 fffe bnez at,[0-9a-f]+ <.*\+0x[0-9a-f]+>
+[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .*
+[ 0-9a-f]+: 0c00 nop
+[ 0-9a-f]+: fc3c 0001 lw at,1\(gp\)
+[ ]*[0-9a-f]+: R_MICROMIPS_GOT16 \.text
+[ 0-9a-f]+: 3021 045b addiu at,at,1115
+[ ]*[0-9a-f]+: R_MICROMIPS_LO16 \.text
+[ 0-9a-f]+: 4581 jr at
+[ 0-9a-f]+: 00a4 1b10 xor v1,a0,a1
+
+[0-9a-f]+ <.*>:
+[ 0-9a-f]+: 40c3 fffe bgtz v1,[0-9a-f]+ <.*>
+[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .*
+[ 0-9a-f]+: 0c00 nop
+[ 0-9a-f]+: fc3c 0001 lw at,1\(gp\)
+[ ]*[0-9a-f]+: R_MICROMIPS_GOT16 \.text
+[ 0-9a-f]+: 3021 045b addiu at,at,1115
+[ ]*[0-9a-f]+: R_MICROMIPS_LO16 \.text
+[ 0-9a-f]+: 4581 jr at
+[ 0-9a-f]+: 00a4 1b10 xor v1,a0,a1
+
+[0-9a-f]+ <.*>:
+[ 0-9a-f]+: 0083 0b50 slt at,v1,a0
+[ 0-9a-f]+: 9401 fffe beqz at,[0-9a-f]+ <.*\+0x[0-9a-f]+>
+[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .*
+[ 0-9a-f]+: 0c00 nop
+[ 0-9a-f]+: fc3c 0001 lw at,1\(gp\)
+[ ]*[0-9a-f]+: R_MICROMIPS_GOT16 \.text
+[ 0-9a-f]+: 3021 045b addiu at,at,1115
+[ ]*[0-9a-f]+: R_MICROMIPS_LO16 \.text
+[ 0-9a-f]+: 4581 jr at
+
+[0-9a-f]+ <.*>:
+[ 0-9a-f]+: 00a4 1b10 xor v1,a0,a1
+[ 0-9a-f]+: 0083 0b50 slt at,v1,a0
+[ 0-9a-f]+: 9401 fffe beqz at,[0-9a-f]+ <.*\+0x[0-9a-f]+>
+[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .*
+[ 0-9a-f]+: 0c00 nop
+[ 0-9a-f]+: fc3c 0001 lw at,1\(gp\)
+[ ]*[0-9a-f]+: R_MICROMIPS_GOT16 \.text
+[ 0-9a-f]+: 3021 045b addiu at,at,1115
+[ ]*[0-9a-f]+: R_MICROMIPS_LO16 \.text
+[ 0-9a-f]+: 4581 jr at
+[ 0-9a-f]+: 00a4 1b10 xor v1,a0,a1
+
+[0-9a-f]+ <.*>:
+[ 0-9a-f]+: 0083 0b90 sltu at,v1,a0
+[ 0-9a-f]+: 9401 fffe beqz at,[0-9a-f]+ <.*\+0x[0-9a-f]+>
+[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .*
+[ 0-9a-f]+: 0c00 nop
+[ 0-9a-f]+: fc3c 0001 lw at,1\(gp\)
+[ ]*[0-9a-f]+: R_MICROMIPS_GOT16 \.text
+[ 0-9a-f]+: 3021 045b addiu at,at,1115
+[ ]*[0-9a-f]+: R_MICROMIPS_LO16 \.text
+[ 0-9a-f]+: 4581 jr at
+
+[0-9a-f]+ <.*>:
+[ 0-9a-f]+: 00a4 1b10 xor v1,a0,a1
+[ 0-9a-f]+: 0083 0b90 sltu at,v1,a0
+[ 0-9a-f]+: 9401 fffe beqz at,[0-9a-f]+ <.*\+0x[0-9a-f]+>
+[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .*
+[ 0-9a-f]+: 0c00 nop
+[ 0-9a-f]+: fc3c 0001 lw at,1\(gp\)
+[ ]*[0-9a-f]+: R_MICROMIPS_GOT16 \.text
+[ 0-9a-f]+: 3021 045b addiu at,at,1115
+[ ]*[0-9a-f]+: R_MICROMIPS_LO16 \.text
+[ 0-9a-f]+: 4581 jr at
+[ 0-9a-f]+: 00a4 1b10 xor v1,a0,a1
+
+[0-9a-f]+ <.*>:
+[ 0-9a-f]+: 4043 fffe bgez v1,[0-9a-f]+ <.*>
+[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .*
+[ 0-9a-f]+: 0c00 nop
+[ 0-9a-f]+: fc3c 0001 lw at,1\(gp\)
+[ ]*[0-9a-f]+: R_MICROMIPS_GOT16 \.text
+[ 0-9a-f]+: 3021 045b addiu at,at,1115
+[ ]*[0-9a-f]+: R_MICROMIPS_LO16 \.text
+[ 0-9a-f]+: 45c1 jalr at
+[ 0-9a-f]+: 00a4 1b10 xor v1,a0,a1
+
+[0-9a-f]+ <.*>:
+[ 0-9a-f]+: 4043 fffe bgez v1,[0-9a-f]+ <.*>
+[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .*
+[ 0-9a-f]+: 0c00 nop
+[ 0-9a-f]+: fc3c 0001 lw at,1\(gp\)
+[ ]*[0-9a-f]+: R_MICROMIPS_GOT16 \.text
+[ 0-9a-f]+: 3021 045b addiu at,at,1115
+[ ]*[0-9a-f]+: R_MICROMIPS_LO16 \.text
+[ 0-9a-f]+: 4581 jr at
+[ 0-9a-f]+: 00a4 1b10 xor v1,a0,a1
+
+[0-9a-f]+ <.*>:
+[ 0-9a-f]+: 9483 fffe beq v1,a0,[0-9a-f]+ <.*>
+[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .*
+[ 0-9a-f]+: 0c00 nop
+[ 0-9a-f]+: fc3c 0001 lw at,1\(gp\)
+[ ]*[0-9a-f]+: R_MICROMIPS_GOT16 \.text
+[ 0-9a-f]+: 3021 045b addiu at,at,1115
+[ ]*[0-9a-f]+: R_MICROMIPS_LO16 \.text
+[ 0-9a-f]+: 4581 jr at
+[ 0-9a-f]+: 00a4 1b10 xor v1,a0,a1
+
+[0-9a-f]+ <.*>:
+[ 0-9a-f]+: 9403 fffe beqz v1,[0-9a-f]+ <.*>
+[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .*
+[ 0-9a-f]+: 0c00 nop
+[ 0-9a-f]+: fc3c 0001 lw at,1\(gp\)
+[ ]*[0-9a-f]+: R_MICROMIPS_GOT16 \.text
+[ 0-9a-f]+: 3021 045b addiu at,at,1115
+[ ]*[0-9a-f]+: R_MICROMIPS_LO16 \.text
+[ 0-9a-f]+: 4581 jr at
+
+[0-9a-f]+ <.*>:
+[ 0-9a-f]+: 00a4 1b10 xor v1,a0,a1
+[ 0-9a-f]+: 9403 fffe beqz v1,[0-9a-f]+ <.*\+0x[0-9a-f]+>
+[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .*
+[ 0-9a-f]+: 0c00 nop
+[ 0-9a-f]+: fc3c 0001 lw at,1\(gp\)
+[ ]*[0-9a-f]+: R_MICROMIPS_GOT16 \.text
+[ 0-9a-f]+: 3021 045b addiu at,at,1115
+[ ]*[0-9a-f]+: R_MICROMIPS_LO16 \.text
+[ 0-9a-f]+: 4581 jr at
+[ 0-9a-f]+: 00a4 1b10 xor v1,a0,a1
+
+[0-9a-f]+ <.*>:
+ \.\.\.
+
+[0-9a-f]+ <test2>:
+ \.\.\.
+
+[0-9a-f]+ <test3>:
+[ 0-9a-f]+: 05d8 addu v1,a0,a1
+ \.\.\.
Index: binutils/gas/testsuite/gas/mips/micromips@jal-svr4pic-irix.d
===================================================================
--- /dev/null
+++ binutils/gas/testsuite/gas/mips/micromips@jal-svr4pic-irix.d
@@ -0,0 +1,43 @@
+#objdump: -dr --prefix-addresses --show-raw-insn
+#name: MIPS jal-svr4pic
+#as: -32 -KPIC
+#source: jal-svr4pic.s
+
+# Test the jal macro with -KPIC (microMIPS).
+
+.*: +file format .*mips.*
+
+Disassembly of section \.text:
+[0-9a-f]+ <[^>]*> 41bc 0000 lui gp,0x0
+[ ]*[0-9a-f]+: R_MICROMIPS_HI16 _gp_disp
+[0-9a-f]+ <[^>]*> 339c 0000 addiu gp,gp,0
+[ ]*[0-9a-f]+: R_MICROMIPS_LO16 _gp_disp
+[0-9a-f]+ <[^>]*> 033c e150 addu gp,gp,t9
+[0-9a-f]+ <[^>]*> fb9d 0000 sw gp,0\(sp\)
+[0-9a-f]+ <[^>]*> 45f9 jalrs t9
+[0-9a-f]+ <[^>]*> 0c00 nop
+[0-9a-f]+ <[^>]*> ff9d 0000 lw gp,0\(sp\)
+[0-9a-f]+ <[^>]*> 0099 4f3c jalrs a0,t9
+[0-9a-f]+ <[^>]*> 0c00 nop
+[0-9a-f]+ <[^>]*> ff9d 0000 lw gp,0\(sp\)
+[0-9a-f]+ <[^>]*> ff3c 0000 lw t9,0\(gp\)
+[ ]*[0-9a-f]+: R_MICROMIPS_GOT16 \.text
+[0-9a-f]+ <[^>]*> 3339 0001 addiu t9,t9,1
+[ ]*[0-9a-f]+: R_MICROMIPS_LO16 \.text
+[0-9a-f]+ <[^>]*> 45f9 jalrs t9
+[0-9a-f]+ <[^>]*> 0c00 nop
+[0-9a-f]+ <[^>]*> ff9d 0000 lw gp,0\(sp\)
+[0-9a-f]+ <[^>]*> ff3c 0000 lw t9,0\(gp\)
+[ ]*[0-9a-f]+: R_MICROMIPS_CALL16 weak_text_label
+[0-9a-f]+ <[^>]*> 45f9 jalrs t9
+[0-9a-f]+ <[^>]*> 0c00 nop
+[0-9a-f]+ <[^>]*> ff9d 0000 lw gp,0\(sp\)
+[0-9a-f]+ <[^>]*> ff3c 0000 lw t9,0\(gp\)
+[ ]*[0-9a-f]+: R_MICROMIPS_CALL16 external_text_label
+[0-9a-f]+ <[^>]*> 45f9 jalrs t9
+[0-9a-f]+ <[^>]*> 0c00 nop
+([0-9a-f]+) <[^>]*> 9400 fffe b \1 <.*>
+[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 text_label
+[0-9a-f]+ <[^>]*> ff9d 0000 lw gp,0\(sp\)
+[0-9a-f]+ <[^>]*> 0c00 nop
+ \.\.\.
Index: binutils/gas/testsuite/gas/mips/micromips@jal-svr4pic-local-irix.d
===================================================================
--- /dev/null
+++ binutils/gas/testsuite/gas/mips/micromips@jal-svr4pic-local-irix.d
@@ -0,0 +1,30 @@
+#objdump: -dr --prefix-addresses --show-raw-insn
+#name: MIPS JALR relocation against local symbol
+#as: -32
+#source: jal-svr4pic-local.s
+
+.*: +file format .*mips.*
+
+Disassembly of section \.text:
+[0-9a-f]+ <[^>]*> 41bc 0000 lui gp,0x0
+[ ]*[0-9a-f]+: R_MICROMIPS_HI16 _gp_disp
+[0-9a-f]+ <[^>]*> 339c 0000 addiu gp,gp,0
+[ ]*[0-9a-f]+: R_MICROMIPS_LO16 _gp_disp
+[0-9a-f]+ <[^>]*> 033c e150 addu gp,gp,t9
+[0-9a-f]+ <[^>]*> 4ff1 addiu sp,sp,-32
+[0-9a-f]+ <[^>]*> cbe7 sw ra,28\(sp\)
+[0-9a-f]+ <[^>]*> fb9d 0010 sw gp,16\(sp\)
+[0-9a-f]+ <[^>]*> ff3c 0000 lw t9,0\(gp\)
+[ ]*[0-9a-f]+: R_MICROMIPS_GOT16 \.text
+[0-9a-f]+ <[^>]*> 3339 0031 addiu t9,t9,49
+[ ]*[0-9a-f]+: R_MICROMIPS_LO16 \.text
+[0-9a-f]+ <[^>]*> 45f9 jalrs t9
+[0-9a-f]+ <[^>]*> 0c00 nop
+[0-9a-f]+ <[^>]*> ff9d 0010 lw gp,16\(sp\)
+[0-9a-f]+ <[^>]*> 4be7 lw ra,28\(sp\)
+[0-9a-f]+ <[^>]*> 459f jr ra
+[0-9a-f]+ <[^>]*> 4c11 addiu sp,sp,32
+[0-9a-f]+ <[^>]*> 0000 0000 nop
+ \.\.\.
+[0-9a-f]+ <[^>]*> 45bf jrc ra
+ \.\.\.
Index: binutils/gas/testsuite/gas/mips/micromips@jal-svr4pic-local.d
===================================================================
--- binutils.orig/gas/testsuite/gas/mips/micromips@jal-svr4pic-local.d
+++ binutils/gas/testsuite/gas/mips/micromips@jal-svr4pic-local.d
@@ -1,7 +1,6 @@
#objdump: -dr --prefix-addresses --show-raw-insn
#name: MIPS JALR relocation against local symbol
#as: -32
-#notarget: *-*-irix*
#source: jal-svr4pic-local.s
.*: +file format .*mips.*
Index: binutils/gas/testsuite/gas/mips/micromips@jal-svr4pic-noreorder-irix.d
===================================================================
--- /dev/null
+++ binutils/gas/testsuite/gas/mips/micromips@jal-svr4pic-noreorder-irix.d
@@ -0,0 +1,43 @@
+#objdump: -dr --prefix-addresses --show-raw-insn
+#name: MIPS jal-svr4pic noreorder
+#as: -32 -KPIC
+#source: jal-svr4pic-noreorder.s
+
+# Test the jal macro with -KPIC and `.set noreorder' (microMIPS).
+
+.*: +file format .*mips.*
+
+Disassembly of section \.text:
+[0-9a-f]+ <[^>]*> 41bc 0000 lui gp,0x0
+[ ]*[0-9a-f]+: R_MICROMIPS_HI16 _gp_disp
+[0-9a-f]+ <[^>]*> 339c 0000 addiu gp,gp,0
+[ ]*[0-9a-f]+: R_MICROMIPS_LO16 _gp_disp
+[0-9a-f]+ <[^>]*> 033c e150 addu gp,gp,t9
+[0-9a-f]+ <[^>]*> fb9d 0000 sw gp,0\(sp\)
+[0-9a-f]+ <[^>]*> 45f9 jalrs t9
+[0-9a-f]+ <[^>]*> 0c00 nop
+[0-9a-f]+ <[^>]*> ff9d 0000 lw gp,0\(sp\)
+[0-9a-f]+ <[^>]*> 0099 4f3c jalrs a0,t9
+[0-9a-f]+ <[^>]*> 0c00 nop
+[0-9a-f]+ <[^>]*> ff9d 0000 lw gp,0\(sp\)
+[0-9a-f]+ <[^>]*> ff3c 0000 lw t9,0\(gp\)
+[ ]*[0-9a-f]+: R_MICROMIPS_GOT16 \.text
+[0-9a-f]+ <[^>]*> 3339 0001 addiu t9,t9,1
+[ ]*[0-9a-f]+: R_MICROMIPS_LO16 \.text
+[0-9a-f]+ <[^>]*> 45f9 jalrs t9
+[0-9a-f]+ <[^>]*> 0c00 nop
+[0-9a-f]+ <[^>]*> ff9d 0000 lw gp,0\(sp\)
+[0-9a-f]+ <[^>]*> ff3c 0000 lw t9,0\(gp\)
+[ ]*[0-9a-f]+: R_MICROMIPS_CALL16 weak_text_label
+[0-9a-f]+ <[^>]*> 45f9 jalrs t9
+[0-9a-f]+ <[^>]*> 0c00 nop
+[0-9a-f]+ <[^>]*> ff9d 0000 lw gp,0\(sp\)
+[0-9a-f]+ <[^>]*> ff3c 0000 lw t9,0\(gp\)
+[ ]*[0-9a-f]+: R_MICROMIPS_CALL16 external_text_label
+[0-9a-f]+ <[^>]*> 45f9 jalrs t9
+[0-9a-f]+ <[^>]*> 0c00 nop
+[0-9a-f]+ <[^>]*> ff9d 0000 lw gp,0\(sp\)
+([0-9a-f]+) <[^>]*> 9400 fffe b \1 <.*>
+[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 text_label
+[0-9a-f]+ <[^>]*> 0c00 nop
+ \.\.\.
Index: binutils/gas/testsuite/gas/mips/mips-abi32-pic2-irix.d
===================================================================
--- /dev/null
+++ binutils/gas/testsuite/gas/mips/mips-abi32-pic2-irix.d
@@ -0,0 +1,72 @@
+#objdump: -d -mmips:8000 -r --prefix-addresses --show-raw-insn
+#as: -march=8000 -EB -mabi=32 -KPIC
+#name: MIPS -mabi=32 test 2 (SVR4 PIC)
+#source: mips-abi32-pic2.s
+
+.*: +file format.*
+
+Disassembly of section \.text:
+0+000 <[^>]*> 3c1c0000 lui gp,0x0
+ 0: R_MIPS_HI16 _gp_disp
+0+004 <[^>]*> 279c0000 addiu gp,gp,0
+ 4: R_MIPS_LO16 _gp_disp
+0+008 <[^>]*> 0399e021 addu gp,gp,t9
+0+00c <[^>]*> afbc0008 sw gp,8\(sp\)
+0+010 <[^>]*> 8f990000 lw t9,0\(gp\)
+ 10: R_MIPS_GOT16 \.text
+0+014 <[^>]*> 273900cc addiu t9,t9,204
+ 14: R_MIPS_LO16 \.text
+0+018 <[^>]*> 0320f809 jalr t9
+0+01c <[^>]*> 00000000 nop
+0+020 <[^>]*> 8fbc0008 lw gp,8\(sp\)
+0+024 <[^>]*> 00000000 nop
+0+028 <[^>]*> 0320f809 jalr t9
+0+02c <[^>]*> 00000000 nop
+0+030 <[^>]*> 8fbc0008 lw gp,8\(sp\)
+0+034 <[^>]*> 3c1c0000 lui gp,0x0
+ 34: R_MIPS_HI16 _gp_disp
+0+038 <[^>]*> 279c0000 addiu gp,gp,0
+ 38: R_MIPS_LO16 _gp_disp
+0+03c <[^>]*> 0399e021 addu gp,gp,t9
+0+040 <[^>]*> 3c010001 lui at,0x1
+0+044 <[^>]*> 003d0821 addu at,at,sp
+0+048 <[^>]*> ac3c8000 sw gp,-32768\(at\)
+0+04c <[^>]*> 8f990000 lw t9,0\(gp\)
+ 4c: R_MIPS_GOT16 \.text
+0+050 <[^>]*> 273900cc addiu t9,t9,204
+ 50: R_MIPS_LO16 \.text
+0+054 <[^>]*> 0320f809 jalr t9
+0+058 <[^>]*> 00000000 nop
+0+05c <[^>]*> 3c010001 lui at,0x1
+0+060 <[^>]*> 003d0821 addu at,at,sp
+0+064 <[^>]*> 8c3c8000 lw gp,-32768\(at\)
+0+068 <[^>]*> 00000000 nop
+0+06c <[^>]*> 0320f809 jalr t9
+0+070 <[^>]*> 00000000 nop
+0+074 <[^>]*> 3c010001 lui at,0x1
+0+078 <[^>]*> 003d0821 addu at,at,sp
+0+07c <[^>]*> 8c3c8000 lw gp,-32768\(at\)
+0+080 <[^>]*> 3c1c0000 lui gp,0x0
+ 80: R_MIPS_HI16 _gp_disp
+0+084 <[^>]*> 279c0000 addiu gp,gp,0
+ 84: R_MIPS_LO16 _gp_disp
+0+088 <[^>]*> 0399e021 addu gp,gp,t9
+0+08c <[^>]*> 3c010001 lui at,0x1
+0+090 <[^>]*> 003d0821 addu at,at,sp
+0+094 <[^>]*> ac3c0000 sw gp,0\(at\)
+0+098 <[^>]*> 8f990000 lw t9,0\(gp\)
+ 98: R_MIPS_GOT16 \.text
+0+09c <[^>]*> 273900cc addiu t9,t9,204
+ 9c: R_MIPS_LO16 \.text
+0+0a0 <[^>]*> 0320f809 jalr t9
+0+0a4 <[^>]*> 00000000 nop
+0+0a8 <[^>]*> 3c010001 lui at,0x1
+0+0ac <[^>]*> 003d0821 addu at,at,sp
+0+0b0 <[^>]*> 8c3c0000 lw gp,0\(at\)
+0+0b4 <[^>]*> 00000000 nop
+0+0b8 <[^>]*> 0320f809 jalr t9
+0+0bc <[^>]*> 00000000 nop
+0+0c0 <[^>]*> 3c010001 lui at,0x1
+0+0c4 <[^>]*> 003d0821 addu at,at,sp
+0+0c8 <[^>]*> 8c3c0000 lw gp,0\(at\)
+ \.\.\.
Index: binutils/gas/testsuite/gas/mips/mips.exp
===================================================================
--- binutils.orig/gas/testsuite/gas/mips/mips.exp
+++ binutils/gas/testsuite/gas/mips/mips.exp
@@ -763,10 +763,11 @@ if { [istarget mips*-*-vxworks*] } {
run_dump_test_arches "24k-triple-stores-11" \
[mips_arch_list_matching mips1]
- run_dump_test_arches "jal-svr4pic" [mips_arch_list_matching mips1]
- run_dump_test_arches "jal-svr4pic-noreorder" \
+ run_dump_test_arches "jal-svr4pic${imips}" \
[mips_arch_list_matching mips1]
- run_dump_test_arches "jal-svr4pic-local" \
+ run_dump_test_arches "jal-svr4pic-noreorder${imips}" \
+ [mips_arch_list_matching mips1]
+ run_dump_test_arches "jal-svr4pic-local${imips}" \
[mips_arch_list_matching mips1]
if $has_newabi {
run_dump_test_arches "jal-svr4pic-local-n32" \
@@ -774,7 +775,7 @@ if { [istarget mips*-*-vxworks*] } {
run_dump_test_arches "jal-svr4pic-local-n64" \
[mips_arch_list_matching mips3]
}
- run_dump_test "jal-xgot"
+ run_dump_test "jal-xgot${imips}"
run_list_test_arches "jal-range" "-32" [mips_arch_list_matching mips1]
if $has_newabi { run_dump_test "jal-newabi" }
run_dump_test "la"
@@ -1163,7 +1164,7 @@ if { [istarget mips*-*-vxworks*] } {
run_dump_test "mips-abi32"
run_dump_test "mips-abi32-pic"
- run_dump_test "mips-abi32-pic2"
+ run_dump_test "mips-abi32-pic2${imips}"
run_dump_test "elf${el}-rel"
run_dump_test_arches "elf${el}-rel2" \
@@ -1247,7 +1248,7 @@ if { [istarget mips*-*-vxworks*] } {
run_list_test "tls-ill" "-32"
run_dump_test "tls-o32"
run_dump_test "tls-relw"
- run_dump_test "jalr2"
+ run_dump_test "jalr2${imips}"
run_dump_test_arches "jalr3" [mips_arch_list_matching mips1 \
!micromips]
run_dump_test_arches "jalr4" [mips_arch_list_matching mips1 \
@@ -1529,9 +1530,9 @@ if { [istarget mips*-*-vxworks*] } {
"-32 -march=mips64 -mmicromips" "microMIPS instruction size 0"
run_dump_test "micromips-size-1"
run_dump_test "micromips-branch-relax"
- run_dump_test "micromips-branch-relax-pic"
+ run_dump_test "micromips-branch-relax-pic${imips}"
run_dump_test "micromips-branch-relax-insn32"
- run_dump_test "micromips-branch-relax-insn32-pic"
+ run_dump_test "micromips-branch-relax-insn32-pic${imips}"
run_dump_test "micromips-branch-delay"
run_dump_test "micromips-warn-branch-delay"
run_dump_test "micromips-warn-branch-delay-1"
Index: binutils/gas/testsuite/gas/mips/mips1@jal-svr4pic-irix.d
===================================================================
--- /dev/null
+++ binutils/gas/testsuite/gas/mips/mips1@jal-svr4pic-irix.d
@@ -0,0 +1,48 @@
+#objdump: -dr --prefix-addresses --show-raw-insn
+#name: MIPS jal-svr4pic
+#as: -32 -KPIC
+#source: jal-svr4pic.s
+
+# Test the jal macro with -KPIC (MIPS1).
+
+.*: +file format .*mips.*
+
+Disassembly of section \.text:
+[0-9a-f]+ <[^>]*> 3c1c0000 lui gp,0x0
+[ ]*[0-9a-f]+: R_MIPS_HI16 _gp_disp
+[0-9a-f]+ <[^>]*> 279c0000 addiu gp,gp,0
+[ ]*[0-9a-f]+: R_MIPS_LO16 _gp_disp
+[0-9a-f]+ <[^>]*> 0399e021 addu gp,gp,t9
+[0-9a-f]+ <[^>]*> afbc0000 sw gp,0\(sp\)
+[0-9a-f]+ <[^>]*> 0320f809 jalr t9
+[0-9a-f]+ <[^>]*> 00000000 nop
+[0-9a-f]+ <[^>]*> 8fbc0000 lw gp,0\(sp\)
+[0-9a-f]+ <[^>]*> 03202009 jalr a0,t9
+[0-9a-f]+ <[^>]*> 00000000 nop
+[0-9a-f]+ <[^>]*> 8fbc0000 lw gp,0\(sp\)
+[0-9a-f]+ <[^>]*> 00000000 nop
+[0-9a-f]+ <[^>]*> 8f990000 lw t9,0\(gp\)
+[ ]*[0-9a-f]+: R_MIPS_GOT16 .text
+[0-9a-f]+ <[^>]*> 00000000 nop
+[0-9a-f]+ <[^>]*> 27390000 addiu t9,t9,0
+[ ]*[0-9a-f]+: R_MIPS_LO16 .text
+[0-9a-f]+ <[^>]*> 0320f809 jalr t9
+[0-9a-f]+ <[^>]*> 00000000 nop
+[0-9a-f]+ <[^>]*> 8fbc0000 lw gp,0\(sp\)
+[0-9a-f]+ <[^>]*> 00000000 nop
+[0-9a-f]+ <[^>]*> 8f990000 lw t9,0\(gp\)
+[ ]*[0-9a-f]+: R_MIPS_CALL16 weak_text_label
+[0-9a-f]+ <[^>]*> 00000000 nop
+[0-9a-f]+ <[^>]*> 0320f809 jalr t9
+[0-9a-f]+ <[^>]*> 00000000 nop
+[0-9a-f]+ <[^>]*> 8fbc0000 lw gp,0\(sp\)
+[0-9a-f]+ <[^>]*> 00000000 nop
+[0-9a-f]+ <[^>]*> 8f990000 lw t9,0\(gp\)
+[ ]*[0-9a-f]+: R_MIPS_CALL16 external_text_label
+[0-9a-f]+ <[^>]*> 00000000 nop
+[0-9a-f]+ <[^>]*> 0320f809 jalr t9
+[0-9a-f]+ <[^>]*> 00000000 nop
+[0-9a-f]+ <[^>]*> 8fbc0000 lw gp,0\(sp\)
+[0-9a-f]+ <[^>]*> 1000ffe2 b 0+0000 <text_label>
+[0-9a-f]+ <[^>]*> 00000000 nop
+ \.\.\.
Index: binutils/gas/testsuite/gas/mips/mips1@jal-svr4pic-local-irix.d
===================================================================
--- /dev/null
+++ binutils/gas/testsuite/gas/mips/mips1@jal-svr4pic-local-irix.d
@@ -0,0 +1,31 @@
+#objdump: -dr --prefix-addresses --show-raw-insn
+#name: MIPS JALR relocation against local symbol
+#as: -32
+#source: jal-svr4pic-local.s
+
+.*: +file format .*mips.*
+
+Disassembly of section \.text:
+[0-9a-f]+ <[^>]*> 3c1c0000 lui gp,0x0
+[ ]*[0-9a-f]+: R_MIPS_HI16 _gp_disp
+[0-9a-f]+ <[^>]*> 279c0000 addiu gp,gp,0
+[ ]*[0-9a-f]+: R_MIPS_LO16 _gp_disp
+[0-9a-f]+ <[^>]*> 0399e021 addu gp,gp,t9
+[0-9a-f]+ <[^>]*> 27bdffe0 addiu sp,sp,-32
+[0-9a-f]+ <[^>]*> afbf001c sw ra,28\(sp\)
+[0-9a-f]+ <[^>]*> afbc0010 sw gp,16\(sp\)
+[0-9a-f]+ <[^>]*> 8f990000 lw t9,0\(gp\)
+[ ]*[0-9a-f]+: R_MIPS_GOT16 \.text
+[0-9a-f]+ <[^>]*> 00000000 nop
+[0-9a-f]+ <[^>]*> 27390040 addiu t9,t9,64
+[ ]*[0-9a-f]+: R_MIPS_LO16 \.text
+[0-9a-f]+ <[^>]*> 0320f809 jalr t9
+[0-9a-f]+ <[^>]*> 00000000 nop
+[0-9a-f]+ <[^>]*> 8fbc0010 lw gp,16\(sp\)
+[0-9a-f]+ <[^>]*> 8fbf001c lw ra,28\(sp\)
+[0-9a-f]+ <[^>]*> 27bd0020 addiu sp,sp,32
+[0-9a-f]+ <[^>]*> 03e0000[89] jr ra
+[0-9a-f]+ <[^>]*> 00000000 nop
+[0-9a-f]+ <[^>]*> 03e0000[89] jr ra
+[0-9a-f]+ <[^>]*> 00000000 nop
+ \.\.\.
Index: binutils/gas/testsuite/gas/mips/mips1@jal-svr4pic-local.d
===================================================================
--- binutils.orig/gas/testsuite/gas/mips/mips1@jal-svr4pic-local.d
+++ binutils/gas/testsuite/gas/mips/mips1@jal-svr4pic-local.d
@@ -1,7 +1,6 @@
#objdump: -dr --prefix-addresses --show-raw-insn
#name: MIPS JALR relocation against local symbol
#as: -32
-#notarget: *-*-irix*
#source: jal-svr4pic-local.s
.*: +file format .*mips.*
Index: binutils/gas/testsuite/gas/mips/mips1@jal-svr4pic-noreorder-irix.d
===================================================================
--- /dev/null
+++ binutils/gas/testsuite/gas/mips/mips1@jal-svr4pic-noreorder-irix.d
@@ -0,0 +1,45 @@
+#objdump: -dr --prefix-addresses --show-raw-insn
+#name: MIPS jal-svr4pic noreorder
+#as: -32 -KPIC
+#source: jal-svr4pic-noreorder.s
+
+# Test the jal macro with -KPIC and `.set noreorder' (MIPS1).
+
+.*: +file format .*mips.*
+
+Disassembly of section \.text:
+[0-9a-f]+ <[^>]*> 3c1c0000 lui gp,0x0
+[ ]*[0-9a-f]+: R_MIPS_HI16 _gp_disp
+[0-9a-f]+ <[^>]*> 279c0000 addiu gp,gp,0
+[ ]*[0-9a-f]+: R_MIPS_LO16 _gp_disp
+[0-9a-f]+ <[^>]*> 0399e021 addu gp,gp,t9
+[0-9a-f]+ <[^>]*> afbc0000 sw gp,0\(sp\)
+[0-9a-f]+ <[^>]*> 0320f809 jalr t9
+[0-9a-f]+ <[^>]*> 00000000 nop
+[0-9a-f]+ <[^>]*> 8fbc0000 lw gp,0\(sp\)
+[0-9a-f]+ <[^>]*> 03202009 jalr a0,t9
+[0-9a-f]+ <[^>]*> 00000000 nop
+[0-9a-f]+ <[^>]*> 8fbc0000 lw gp,0\(sp\)
+[0-9a-f]+ <[^>]*> 8f990000 lw t9,0\(gp\)
+[ ]*[0-9a-f]+: R_MIPS_GOT16 .text
+[0-9a-f]+ <[^>]*> 00000000 nop
+[0-9a-f]+ <[^>]*> 27390000 addiu t9,t9,0
+[ ]*[0-9a-f]+: R_MIPS_LO16 .text
+[0-9a-f]+ <[^>]*> 0320f809 jalr t9
+[0-9a-f]+ <[^>]*> 00000000 nop
+[0-9a-f]+ <[^>]*> 8fbc0000 lw gp,0\(sp\)
+[0-9a-f]+ <[^>]*> 8f990000 lw t9,0\(gp\)
+[ ]*[0-9a-f]+: R_MIPS_CALL16 weak_text_label
+[0-9a-f]+ <[^>]*> 00000000 nop
+[0-9a-f]+ <[^>]*> 0320f809 jalr t9
+[0-9a-f]+ <[^>]*> 00000000 nop
+[0-9a-f]+ <[^>]*> 8fbc0000 lw gp,0\(sp\)
+[0-9a-f]+ <[^>]*> 8f990000 lw t9,0\(gp\)
+[ ]*[0-9a-f]+: R_MIPS_CALL16 external_text_label
+[0-9a-f]+ <[^>]*> 00000000 nop
+[0-9a-f]+ <[^>]*> 0320f809 jalr t9
+[0-9a-f]+ <[^>]*> 00000000 nop
+[0-9a-f]+ <[^>]*> 8fbc0000 lw gp,0\(sp\)
+[0-9a-f]+ <[^>]*> 1000ffe5 b 0+0000 <text_label>
+[0-9a-f]+ <[^>]*> 00000000 nop
+ \.\.\.
Index: binutils/gas/testsuite/gas/mips/mipsr6@jal-svr4pic-irix.d
===================================================================
--- /dev/null
+++ binutils/gas/testsuite/gas/mips/mipsr6@jal-svr4pic-irix.d
@@ -0,0 +1,41 @@
+#objdump: -dr --prefix-addresses --show-raw-insn
+#name: MIPS jal-svr4pic
+#as: -32 -KPIC
+#source: jal-svr4pic.s
+
+# Test the jal macro with -KPIC.
+
+.*: +file format .*mips.*
+
+Disassembly of section \.text:
+[0-9a-f]+ <[^>]*> 3c1c0000 lui gp,0x0
+[ ]*[0-9a-f]+: R_MIPS_HI16 _gp_disp
+[0-9a-f]+ <[^>]*> 279c0000 addiu gp,gp,0
+[ ]*[0-9a-f]+: R_MIPS_LO16 _gp_disp
+[0-9a-f]+ <[^>]*> 0399e021 addu gp,gp,t9
+[0-9a-f]+ <[^>]*> afbc0000 sw gp,0\(sp\)
+[0-9a-f]+ <[^>]*> 0320f809 jalr t9
+[0-9a-f]+ <[^>]*> 00000000 nop
+[0-9a-f]+ <[^>]*> 03202009 jalr a0,t9
+[0-9a-f]+ <[^>]*> 8fbc0000 lw gp,0\(sp\)
+[0-9a-f]+ <[^>]*> 8fbc0000 lw gp,0\(sp\)
+[0-9a-f]+ <[^>]*> 8f990000 lw t9,0\(gp\)
+[ ]*[0-9a-f]+: R_MIPS_GOT16 .text
+[0-9a-f]+ <[^>]*> 27390000 addiu t9,t9,0
+[ ]*[0-9a-f]+: R_MIPS_LO16 .text
+[0-9a-f]+ <[^>]*> 0320f809 jalr t9
+[0-9a-f]+ <[^>]*> 00000000 nop
+[0-9a-f]+ <[^>]*> 8fbc0000 lw gp,0\(sp\)
+[0-9a-f]+ <[^>]*> 8f990000 lw t9,0\(gp\)
+[ ]*[0-9a-f]+: R_MIPS_CALL16 weak_text_label
+[0-9a-f]+ <[^>]*> 0320f809 jalr t9
+[0-9a-f]+ <[^>]*> 00000000 nop
+[0-9a-f]+ <[^>]*> 8fbc0000 lw gp,0\(sp\)
+[0-9a-f]+ <[^>]*> 8f990000 lw t9,0\(gp\)
+[ ]*[0-9a-f]+: R_MIPS_CALL16 external_text_label
+[0-9a-f]+ <[^>]*> 0320f809 jalr t9
+[0-9a-f]+ <[^>]*> 00000000 nop
+[0-9a-f]+ <[^>]*> 1000ffff b 0+0054 <text_label\+0x54>
+[ ]*54: .*R_MIPS_PC16 text_label
+[0-9a-f]+ <[^>]*> 8fbc0000 lw gp,0\(sp\)
+ \.\.\.
Index: binutils/gas/testsuite/gas/mips/mipsr6@jal-svr4pic-noreorder-irix.d
===================================================================
--- /dev/null
+++ binutils/gas/testsuite/gas/mips/mipsr6@jal-svr4pic-noreorder-irix.d
@@ -0,0 +1,43 @@
+#objdump: -dr --prefix-addresses --show-raw-insn
+#name: MIPS jal-svr4pic noreorder
+#as: -32 -KPIC
+#source: jal-svr4pic-noreorder.s
+
+# Test the jal macro with -KPIC and `.set noreorder'.
+
+.*: +file format .*mips.*
+
+Disassembly of section \.text:
+[0-9a-f]+ <[^>]*> 3c1c0000 lui gp,0x0
+[ ]*[0-9a-f]+: R_MIPS_HI16 _gp_disp
+[0-9a-f]+ <[^>]*> 279c0000 addiu gp,gp,0
+[ ]*[0-9a-f]+: R_MIPS_LO16 _gp_disp
+[0-9a-f]+ <[^>]*> 0399e021 addu gp,gp,t9
+[0-9a-f]+ <[^>]*> afbc0000 sw gp,0\(sp\)
+[0-9a-f]+ <[^>]*> 0320f809 jalr t9
+[0-9a-f]+ <[^>]*> 00000000 nop
+[0-9a-f]+ <[^>]*> 8fbc0000 lw gp,0\(sp\)
+[0-9a-f]+ <[^>]*> 03202009 jalr a0,t9
+[0-9a-f]+ <[^>]*> 00000000 nop
+[0-9a-f]+ <[^>]*> 8fbc0000 lw gp,0\(sp\)
+[0-9a-f]+ <[^>]*> 8f990000 lw t9,0\(gp\)
+[ ]*[0-9a-f]+: R_MIPS_GOT16 .text
+[0-9a-f]+ <[^>]*> 27390000 addiu t9,t9,0
+[ ]*[0-9a-f]+: R_MIPS_LO16 .text
+[0-9a-f]+ <[^>]*> 0320f809 jalr t9
+[0-9a-f]+ <[^>]*> 00000000 nop
+[0-9a-f]+ <[^>]*> 8fbc0000 lw gp,0\(sp\)
+[0-9a-f]+ <[^>]*> 8f990000 lw t9,0\(gp\)
+[ ]*[0-9a-f]+: R_MIPS_CALL16 weak_text_label
+[0-9a-f]+ <[^>]*> 0320f809 jalr t9
+[0-9a-f]+ <[^>]*> 00000000 nop
+[0-9a-f]+ <[^>]*> 8fbc0000 lw gp,0\(sp\)
+[0-9a-f]+ <[^>]*> 8f990000 lw t9,0\(gp\)
+[ ]*[0-9a-f]+: R_MIPS_CALL16 external_text_label
+[0-9a-f]+ <[^>]*> 0320f809 jalr t9
+[0-9a-f]+ <[^>]*> 00000000 nop
+[0-9a-f]+ <[^>]*> 8fbc0000 lw gp,0\(sp\)
+[0-9a-f]+ <[^>]*> 1000ffff b 0+005c <text_label\+0x5c>
+[ ]*5c: .*R_MIPS_PC16 text_label
+[0-9a-f]+ <[^>]*> 00000000 nop
+ \.\.\.
Index: binutils/gas/testsuite/gas/mips/r3000@jal-svr4pic-irix.d
===================================================================
--- /dev/null
+++ binutils/gas/testsuite/gas/mips/r3000@jal-svr4pic-irix.d
@@ -0,0 +1,5 @@
+#objdump: -dr --prefix-addresses --show-raw-insn
+#name: MIPS jal-svr4pic
+#as: -32 -KPIC
+#source: jal-svr4pic.s
+#dump: mips1@jal-svr4pic-irix.d
Index: binutils/gas/testsuite/gas/mips/r3000@jal-svr4pic-local-irix.d
===================================================================
--- /dev/null
+++ binutils/gas/testsuite/gas/mips/r3000@jal-svr4pic-local-irix.d
@@ -0,0 +1,5 @@
+#objdump: -dr --prefix-addresses --show-raw-insn
+#name: MIPS JALR relocation against local symbol
+#as: -32
+#source: jal-svr4pic-local.s
+#dump: mips1@jal-svr4pic-local-irix.d
Index: binutils/gas/testsuite/gas/mips/r3000@jal-svr4pic-local.d
===================================================================
--- binutils.orig/gas/testsuite/gas/mips/r3000@jal-svr4pic-local.d
+++ binutils/gas/testsuite/gas/mips/r3000@jal-svr4pic-local.d
@@ -1,6 +1,5 @@
#objdump: -dr --prefix-addresses --show-raw-insn
#name: MIPS JALR relocation against local symbol
#as: -32
-#notarget: *-*-irix*
#source: jal-svr4pic-local.s
#dump: mips1@jal-svr4pic-local.d
Index: binutils/gas/testsuite/gas/mips/r3000@jal-svr4pic-noreorder-irix.d
===================================================================
--- /dev/null
+++ binutils/gas/testsuite/gas/mips/r3000@jal-svr4pic-noreorder-irix.d
@@ -0,0 +1,5 @@
+#objdump: -dr --prefix-addresses --show-raw-insn
+#name: MIPS jal-svr4pic noreorder
+#as: -32 -KPIC
+#source: jal-svr4pic-noreorder.s
+#dump: mips1@jal-svr4pic-noreorder-irix.d
More information about the Binutils
mailing list