aboutsummaryrefslogtreecommitdiff
path: root/gas/testsuite
diff options
context:
space:
mode:
authorMaciej W. Rozycki <macro@linux-mips.org>2007-10-08 16:09:35 +0000
committerMaciej W. Rozycki <macro@linux-mips.org>2007-10-08 16:09:35 +0000
commit741fe287568e6f0da4523c85a5cc5608d05b8335 (patch)
tree4a98c390479ea916890306661886541ac107b435 /gas/testsuite
parentdefeac7384d981ad614865ba32c269b1915b9e79 (diff)
downloadgdb-741fe287568e6f0da4523c85a5cc5608d05b8335.zip
gdb-741fe287568e6f0da4523c85a5cc5608d05b8335.tar.gz
gdb-741fe287568e6f0da4523c85a5cc5608d05b8335.tar.bz2
gas/:
* config/tc-mips.c (AT): Rename to... (ATREG): ... this. (AT): New definition. (mips_set_options): Rename "noat" to "at"; change the type. (mips_opts): Update accordingly. (append_insn): Likewise. (macro_build_ldst_constoffset): Likewise. (load_address): Likewise. (macro, macro2): Likewise. (s_mipsset): Handle ".set at=REG". Update handling of ".set at" and ".set noat". gas/testsuite/: * gas/mips/at-1.d, gas/mips/at-2.l: New tests to check the ".set at=REG" directive. * gas/mips/at-1.s, gas/mips/at-2.s: Sources for the new tests. * gas/mips/mips.exp: Run the new tests.
Diffstat (limited to 'gas/testsuite')
-rw-r--r--gas/testsuite/ChangeLog7
-rw-r--r--gas/testsuite/gas/mips/at-1.d938
-rw-r--r--gas/testsuite/gas/mips/at-1.s388
-rw-r--r--gas/testsuite/gas/mips/at-2.l13
-rw-r--r--gas/testsuite/gas/mips/at-2.s21
-rw-r--r--gas/testsuite/gas/mips/mips.exp3
6 files changed, 1370 insertions, 0 deletions
diff --git a/gas/testsuite/ChangeLog b/gas/testsuite/ChangeLog
index bb872ae..9f5a021 100644
--- a/gas/testsuite/ChangeLog
+++ b/gas/testsuite/ChangeLog
@@ -1,3 +1,10 @@
+2007-10-01 Maciej W. Rozycki <macro@linux-mips.org>
+
+ * gas/mips/at-1.d, gas/mips/at-2.l: New tests to check the ".set
+ at=REG" directive.
+ * gas/mips/at-1.s, gas/mips/at-2.s: Sources for the new tests.
+ * gas/mips/mips.exp: Run the new tests.
+
2007-10-05 H.J. Lu <hongjiu.lu@intel.com>
* gas/i386/i386.exp: Run smx.
diff --git a/gas/testsuite/gas/mips/at-1.d b/gas/testsuite/gas/mips/at-1.d
new file mode 100644
index 0000000..df9192c
--- /dev/null
+++ b/gas/testsuite/gas/mips/at-1.d
@@ -0,0 +1,938 @@
+#objdump: -dr --prefix-addresses -mmips:3000
+#name: MIPS at-1
+#as: -32 -mips1
+
+# Test the .set at=REG directive.
+
+.*: +file format .*mips.*
+
+Disassembly of section \.text:
+[0-9a-f]+ <[^>]*> lw k1,32767\(k1\)
+[0-9a-f]+ <[^>]*> nop
+[0-9a-f]+ <[^>]*> sw k1,32767\(k1\)
+[0-9a-f]+ <[^>]*> lw k1,-32768\(k1\)
+[0-9a-f]+ <[^>]*> nop
+[0-9a-f]+ <[^>]*> sw k1,-32768\(k1\)
+[0-9a-f]+ <[^>]*> lui at,0x1
+[0-9a-f]+ <[^>]*> addu at,at,k1
+[0-9a-f]+ <[^>]*> lw k1,-32768\(at\)
+[0-9a-f]+ <[^>]*> lui at,0x1
+[0-9a-f]+ <[^>]*> addu at,at,k1
+[0-9a-f]+ <[^>]*> sw k1,-32768\(at\)
+[0-9a-f]+ <[^>]*> lui at,0xffff
+[0-9a-f]+ <[^>]*> addu at,at,k1
+[0-9a-f]+ <[^>]*> lw k1,32767\(at\)
+[0-9a-f]+ <[^>]*> lui at,0xffff
+[0-9a-f]+ <[^>]*> addu at,at,k1
+[0-9a-f]+ <[^>]*> sw k1,32767\(at\)
+[0-9a-f]+ <[^>]*> lui at,0x0
+[ ]*[0-9a-f]+: R_MIPS_HI16 symbol
+[0-9a-f]+ <[^>]*> addu at,at,k1
+[0-9a-f]+ <[^>]*> lw k1,0\(at\)
+[ ]*[0-9a-f]+: R_MIPS_LO16 symbol
+[0-9a-f]+ <[^>]*> nop
+[0-9a-f]+ <[^>]*> lui at,0x0
+[ ]*[0-9a-f]+: R_MIPS_HI16 symbol
+[0-9a-f]+ <[^>]*> addu at,at,k1
+[0-9a-f]+ <[^>]*> sw k1,0\(at\)
+[ ]*[0-9a-f]+: R_MIPS_LO16 symbol
+[0-9a-f]+ <[^>]*> lw k1,32767\(k1\)
+[0-9a-f]+ <[^>]*> nop
+[0-9a-f]+ <[^>]*> sw k1,32767\(k1\)
+[0-9a-f]+ <[^>]*> lw k1,-32768\(k1\)
+[0-9a-f]+ <[^>]*> nop
+[0-9a-f]+ <[^>]*> sw k1,-32768\(k1\)
+[0-9a-f]+ <[^>]*> lui v0,0x1
+[0-9a-f]+ <[^>]*> addu v0,v0,k1
+[0-9a-f]+ <[^>]*> lw k1,-32768\(v0\)
+[0-9a-f]+ <[^>]*> lui v0,0x1
+[0-9a-f]+ <[^>]*> addu v0,v0,k1
+[0-9a-f]+ <[^>]*> sw k1,-32768\(v0\)
+[0-9a-f]+ <[^>]*> lui v0,0xffff
+[0-9a-f]+ <[^>]*> addu v0,v0,k1
+[0-9a-f]+ <[^>]*> lw k1,32767\(v0\)
+[0-9a-f]+ <[^>]*> lui v0,0xffff
+[0-9a-f]+ <[^>]*> addu v0,v0,k1
+[0-9a-f]+ <[^>]*> sw k1,32767\(v0\)
+[0-9a-f]+ <[^>]*> lui v0,0x0
+[ ]*[0-9a-f]+: R_MIPS_HI16 symbol
+[0-9a-f]+ <[^>]*> addu v0,v0,k1
+[0-9a-f]+ <[^>]*> lw k1,0\(v0\)
+[ ]*[0-9a-f]+: R_MIPS_LO16 symbol
+[0-9a-f]+ <[^>]*> nop
+[0-9a-f]+ <[^>]*> lui v0,0x0
+[ ]*[0-9a-f]+: R_MIPS_HI16 symbol
+[0-9a-f]+ <[^>]*> addu v0,v0,k1
+[0-9a-f]+ <[^>]*> sw k1,0\(v0\)
+[ ]*[0-9a-f]+: R_MIPS_LO16 symbol
+[0-9a-f]+ <[^>]*> lw k1,32767\(k1\)
+[0-9a-f]+ <[^>]*> nop
+[0-9a-f]+ <[^>]*> sw k1,32767\(k1\)
+[0-9a-f]+ <[^>]*> lw k1,-32768\(k1\)
+[0-9a-f]+ <[^>]*> nop
+[0-9a-f]+ <[^>]*> sw k1,-32768\(k1\)
+[0-9a-f]+ <[^>]*> lui v1,0x1
+[0-9a-f]+ <[^>]*> addu v1,v1,k1
+[0-9a-f]+ <[^>]*> lw k1,-32768\(v1\)
+[0-9a-f]+ <[^>]*> lui v1,0x1
+[0-9a-f]+ <[^>]*> addu v1,v1,k1
+[0-9a-f]+ <[^>]*> sw k1,-32768\(v1\)
+[0-9a-f]+ <[^>]*> lui v1,0xffff
+[0-9a-f]+ <[^>]*> addu v1,v1,k1
+[0-9a-f]+ <[^>]*> lw k1,32767\(v1\)
+[0-9a-f]+ <[^>]*> lui v1,0xffff
+[0-9a-f]+ <[^>]*> addu v1,v1,k1
+[0-9a-f]+ <[^>]*> sw k1,32767\(v1\)
+[0-9a-f]+ <[^>]*> lui v1,0x0
+[ ]*[0-9a-f]+: R_MIPS_HI16 symbol
+[0-9a-f]+ <[^>]*> addu v1,v1,k1
+[0-9a-f]+ <[^>]*> lw k1,0\(v1\)
+[ ]*[0-9a-f]+: R_MIPS_LO16 symbol
+[0-9a-f]+ <[^>]*> nop
+[0-9a-f]+ <[^>]*> lui v1,0x0
+[ ]*[0-9a-f]+: R_MIPS_HI16 symbol
+[0-9a-f]+ <[^>]*> addu v1,v1,k1
+[0-9a-f]+ <[^>]*> sw k1,0\(v1\)
+[ ]*[0-9a-f]+: R_MIPS_LO16 symbol
+[0-9a-f]+ <[^>]*> lw k1,32767\(k1\)
+[0-9a-f]+ <[^>]*> nop
+[0-9a-f]+ <[^>]*> sw k1,32767\(k1\)
+[0-9a-f]+ <[^>]*> lw k1,-32768\(k1\)
+[0-9a-f]+ <[^>]*> nop
+[0-9a-f]+ <[^>]*> sw k1,-32768\(k1\)
+[0-9a-f]+ <[^>]*> lui a0,0x1
+[0-9a-f]+ <[^>]*> addu a0,a0,k1
+[0-9a-f]+ <[^>]*> lw k1,-32768\(a0\)
+[0-9a-f]+ <[^>]*> lui a0,0x1
+[0-9a-f]+ <[^>]*> addu a0,a0,k1
+[0-9a-f]+ <[^>]*> sw k1,-32768\(a0\)
+[0-9a-f]+ <[^>]*> lui a0,0xffff
+[0-9a-f]+ <[^>]*> addu a0,a0,k1
+[0-9a-f]+ <[^>]*> lw k1,32767\(a0\)
+[0-9a-f]+ <[^>]*> lui a0,0xffff
+[0-9a-f]+ <[^>]*> addu a0,a0,k1
+[0-9a-f]+ <[^>]*> sw k1,32767\(a0\)
+[0-9a-f]+ <[^>]*> lui a0,0x0
+[ ]*[0-9a-f]+: R_MIPS_HI16 symbol
+[0-9a-f]+ <[^>]*> addu a0,a0,k1
+[0-9a-f]+ <[^>]*> lw k1,0\(a0\)
+[ ]*[0-9a-f]+: R_MIPS_LO16 symbol
+[0-9a-f]+ <[^>]*> nop
+[0-9a-f]+ <[^>]*> lui a0,0x0
+[ ]*[0-9a-f]+: R_MIPS_HI16 symbol
+[0-9a-f]+ <[^>]*> addu a0,a0,k1
+[0-9a-f]+ <[^>]*> sw k1,0\(a0\)
+[ ]*[0-9a-f]+: R_MIPS_LO16 symbol
+[0-9a-f]+ <[^>]*> lw k1,32767\(k1\)
+[0-9a-f]+ <[^>]*> nop
+[0-9a-f]+ <[^>]*> sw k1,32767\(k1\)
+[0-9a-f]+ <[^>]*> lw k1,-32768\(k1\)
+[0-9a-f]+ <[^>]*> nop
+[0-9a-f]+ <[^>]*> sw k1,-32768\(k1\)
+[0-9a-f]+ <[^>]*> lui a1,0x1
+[0-9a-f]+ <[^>]*> addu a1,a1,k1
+[0-9a-f]+ <[^>]*> lw k1,-32768\(a1\)
+[0-9a-f]+ <[^>]*> lui a1,0x1
+[0-9a-f]+ <[^>]*> addu a1,a1,k1
+[0-9a-f]+ <[^>]*> sw k1,-32768\(a1\)
+[0-9a-f]+ <[^>]*> lui a1,0xffff
+[0-9a-f]+ <[^>]*> addu a1,a1,k1
+[0-9a-f]+ <[^>]*> lw k1,32767\(a1\)
+[0-9a-f]+ <[^>]*> lui a1,0xffff
+[0-9a-f]+ <[^>]*> addu a1,a1,k1
+[0-9a-f]+ <[^>]*> sw k1,32767\(a1\)
+[0-9a-f]+ <[^>]*> lui a1,0x0
+[ ]*[0-9a-f]+: R_MIPS_HI16 symbol
+[0-9a-f]+ <[^>]*> addu a1,a1,k1
+[0-9a-f]+ <[^>]*> lw k1,0\(a1\)
+[ ]*[0-9a-f]+: R_MIPS_LO16 symbol
+[0-9a-f]+ <[^>]*> nop
+[0-9a-f]+ <[^>]*> lui a1,0x0
+[ ]*[0-9a-f]+: R_MIPS_HI16 symbol
+[0-9a-f]+ <[^>]*> addu a1,a1,k1
+[0-9a-f]+ <[^>]*> sw k1,0\(a1\)
+[ ]*[0-9a-f]+: R_MIPS_LO16 symbol
+[0-9a-f]+ <[^>]*> lw k1,32767\(k1\)
+[0-9a-f]+ <[^>]*> nop
+[0-9a-f]+ <[^>]*> sw k1,32767\(k1\)
+[0-9a-f]+ <[^>]*> lw k1,-32768\(k1\)
+[0-9a-f]+ <[^>]*> nop
+[0-9a-f]+ <[^>]*> sw k1,-32768\(k1\)
+[0-9a-f]+ <[^>]*> lui a2,0x1
+[0-9a-f]+ <[^>]*> addu a2,a2,k1
+[0-9a-f]+ <[^>]*> lw k1,-32768\(a2\)
+[0-9a-f]+ <[^>]*> lui a2,0x1
+[0-9a-f]+ <[^>]*> addu a2,a2,k1
+[0-9a-f]+ <[^>]*> sw k1,-32768\(a2\)
+[0-9a-f]+ <[^>]*> lui a2,0xffff
+[0-9a-f]+ <[^>]*> addu a2,a2,k1
+[0-9a-f]+ <[^>]*> lw k1,32767\(a2\)
+[0-9a-f]+ <[^>]*> lui a2,0xffff
+[0-9a-f]+ <[^>]*> addu a2,a2,k1
+[0-9a-f]+ <[^>]*> sw k1,32767\(a2\)
+[0-9a-f]+ <[^>]*> lui a2,0x0
+[ ]*[0-9a-f]+: R_MIPS_HI16 symbol
+[0-9a-f]+ <[^>]*> addu a2,a2,k1
+[0-9a-f]+ <[^>]*> lw k1,0\(a2\)
+[ ]*[0-9a-f]+: R_MIPS_LO16 symbol
+[0-9a-f]+ <[^>]*> nop
+[0-9a-f]+ <[^>]*> lui a2,0x0
+[ ]*[0-9a-f]+: R_MIPS_HI16 symbol
+[0-9a-f]+ <[^>]*> addu a2,a2,k1
+[0-9a-f]+ <[^>]*> sw k1,0\(a2\)
+[ ]*[0-9a-f]+: R_MIPS_LO16 symbol
+[0-9a-f]+ <[^>]*> lw k1,32767\(k1\)
+[0-9a-f]+ <[^>]*> nop
+[0-9a-f]+ <[^>]*> sw k1,32767\(k1\)
+[0-9a-f]+ <[^>]*> lw k1,-32768\(k1\)
+[0-9a-f]+ <[^>]*> nop
+[0-9a-f]+ <[^>]*> sw k1,-32768\(k1\)
+[0-9a-f]+ <[^>]*> lui a3,0x1
+[0-9a-f]+ <[^>]*> addu a3,a3,k1
+[0-9a-f]+ <[^>]*> lw k1,-32768\(a3\)
+[0-9a-f]+ <[^>]*> lui a3,0x1
+[0-9a-f]+ <[^>]*> addu a3,a3,k1
+[0-9a-f]+ <[^>]*> sw k1,-32768\(a3\)
+[0-9a-f]+ <[^>]*> lui a3,0xffff
+[0-9a-f]+ <[^>]*> addu a3,a3,k1
+[0-9a-f]+ <[^>]*> lw k1,32767\(a3\)
+[0-9a-f]+ <[^>]*> lui a3,0xffff
+[0-9a-f]+ <[^>]*> addu a3,a3,k1
+[0-9a-f]+ <[^>]*> sw k1,32767\(a3\)
+[0-9a-f]+ <[^>]*> lui a3,0x0
+[ ]*[0-9a-f]+: R_MIPS_HI16 symbol
+[0-9a-f]+ <[^>]*> addu a3,a3,k1
+[0-9a-f]+ <[^>]*> lw k1,0\(a3\)
+[ ]*[0-9a-f]+: R_MIPS_LO16 symbol
+[0-9a-f]+ <[^>]*> nop
+[0-9a-f]+ <[^>]*> lui a3,0x0
+[ ]*[0-9a-f]+: R_MIPS_HI16 symbol
+[0-9a-f]+ <[^>]*> addu a3,a3,k1
+[0-9a-f]+ <[^>]*> sw k1,0\(a3\)
+[ ]*[0-9a-f]+: R_MIPS_LO16 symbol
+[0-9a-f]+ <[^>]*> lw k1,32767\(k1\)
+[0-9a-f]+ <[^>]*> nop
+[0-9a-f]+ <[^>]*> sw k1,32767\(k1\)
+[0-9a-f]+ <[^>]*> lw k1,-32768\(k1\)
+[0-9a-f]+ <[^>]*> nop
+[0-9a-f]+ <[^>]*> sw k1,-32768\(k1\)
+[0-9a-f]+ <[^>]*> lui t0,0x1
+[0-9a-f]+ <[^>]*> addu t0,t0,k1
+[0-9a-f]+ <[^>]*> lw k1,-32768\(t0\)
+[0-9a-f]+ <[^>]*> lui t0,0x1
+[0-9a-f]+ <[^>]*> addu t0,t0,k1
+[0-9a-f]+ <[^>]*> sw k1,-32768\(t0\)
+[0-9a-f]+ <[^>]*> lui t0,0xffff
+[0-9a-f]+ <[^>]*> addu t0,t0,k1
+[0-9a-f]+ <[^>]*> lw k1,32767\(t0\)
+[0-9a-f]+ <[^>]*> lui t0,0xffff
+[0-9a-f]+ <[^>]*> addu t0,t0,k1
+[0-9a-f]+ <[^>]*> sw k1,32767\(t0\)
+[0-9a-f]+ <[^>]*> lui t0,0x0
+[ ]*[0-9a-f]+: R_MIPS_HI16 symbol
+[0-9a-f]+ <[^>]*> addu t0,t0,k1
+[0-9a-f]+ <[^>]*> lw k1,0\(t0\)
+[ ]*[0-9a-f]+: R_MIPS_LO16 symbol
+[0-9a-f]+ <[^>]*> nop
+[0-9a-f]+ <[^>]*> lui t0,0x0
+[ ]*[0-9a-f]+: R_MIPS_HI16 symbol
+[0-9a-f]+ <[^>]*> addu t0,t0,k1
+[0-9a-f]+ <[^>]*> sw k1,0\(t0\)
+[ ]*[0-9a-f]+: R_MIPS_LO16 symbol
+[0-9a-f]+ <[^>]*> lw k1,32767\(k1\)
+[0-9a-f]+ <[^>]*> nop
+[0-9a-f]+ <[^>]*> sw k1,32767\(k1\)
+[0-9a-f]+ <[^>]*> lw k1,-32768\(k1\)
+[0-9a-f]+ <[^>]*> nop
+[0-9a-f]+ <[^>]*> sw k1,-32768\(k1\)
+[0-9a-f]+ <[^>]*> lui t1,0x1
+[0-9a-f]+ <[^>]*> addu t1,t1,k1
+[0-9a-f]+ <[^>]*> lw k1,-32768\(t1\)
+[0-9a-f]+ <[^>]*> lui t1,0x1
+[0-9a-f]+ <[^>]*> addu t1,t1,k1
+[0-9a-f]+ <[^>]*> sw k1,-32768\(t1\)
+[0-9a-f]+ <[^>]*> lui t1,0xffff
+[0-9a-f]+ <[^>]*> addu t1,t1,k1
+[0-9a-f]+ <[^>]*> lw k1,32767\(t1\)
+[0-9a-f]+ <[^>]*> lui t1,0xffff
+[0-9a-f]+ <[^>]*> addu t1,t1,k1
+[0-9a-f]+ <[^>]*> sw k1,32767\(t1\)
+[0-9a-f]+ <[^>]*> lui t1,0x0
+[ ]*[0-9a-f]+: R_MIPS_HI16 symbol
+[0-9a-f]+ <[^>]*> addu t1,t1,k1
+[0-9a-f]+ <[^>]*> lw k1,0\(t1\)
+[ ]*[0-9a-f]+: R_MIPS_LO16 symbol
+[0-9a-f]+ <[^>]*> nop
+[0-9a-f]+ <[^>]*> lui t1,0x0
+[ ]*[0-9a-f]+: R_MIPS_HI16 symbol
+[0-9a-f]+ <[^>]*> addu t1,t1,k1
+[0-9a-f]+ <[^>]*> sw k1,0\(t1\)
+[ ]*[0-9a-f]+: R_MIPS_LO16 symbol
+[0-9a-f]+ <[^>]*> lw k1,32767\(k1\)
+[0-9a-f]+ <[^>]*> nop
+[0-9a-f]+ <[^>]*> sw k1,32767\(k1\)
+[0-9a-f]+ <[^>]*> lw k1,-32768\(k1\)
+[0-9a-f]+ <[^>]*> nop
+[0-9a-f]+ <[^>]*> sw k1,-32768\(k1\)
+[0-9a-f]+ <[^>]*> lui t2,0x1
+[0-9a-f]+ <[^>]*> addu t2,t2,k1
+[0-9a-f]+ <[^>]*> lw k1,-32768\(t2\)
+[0-9a-f]+ <[^>]*> lui t2,0x1
+[0-9a-f]+ <[^>]*> addu t2,t2,k1
+[0-9a-f]+ <[^>]*> sw k1,-32768\(t2\)
+[0-9a-f]+ <[^>]*> lui t2,0xffff
+[0-9a-f]+ <[^>]*> addu t2,t2,k1
+[0-9a-f]+ <[^>]*> lw k1,32767\(t2\)
+[0-9a-f]+ <[^>]*> lui t2,0xffff
+[0-9a-f]+ <[^>]*> addu t2,t2,k1
+[0-9a-f]+ <[^>]*> sw k1,32767\(t2\)
+[0-9a-f]+ <[^>]*> lui t2,0x0
+[ ]*[0-9a-f]+: R_MIPS_HI16 symbol
+[0-9a-f]+ <[^>]*> addu t2,t2,k1
+[0-9a-f]+ <[^>]*> lw k1,0\(t2\)
+[ ]*[0-9a-f]+: R_MIPS_LO16 symbol
+[0-9a-f]+ <[^>]*> nop
+[0-9a-f]+ <[^>]*> lui t2,0x0
+[ ]*[0-9a-f]+: R_MIPS_HI16 symbol
+[0-9a-f]+ <[^>]*> addu t2,t2,k1
+[0-9a-f]+ <[^>]*> sw k1,0\(t2\)
+[ ]*[0-9a-f]+: R_MIPS_LO16 symbol
+[0-9a-f]+ <[^>]*> lw k1,32767\(k1\)
+[0-9a-f]+ <[^>]*> nop
+[0-9a-f]+ <[^>]*> sw k1,32767\(k1\)
+[0-9a-f]+ <[^>]*> lw k1,-32768\(k1\)
+[0-9a-f]+ <[^>]*> nop
+[0-9a-f]+ <[^>]*> sw k1,-32768\(k1\)
+[0-9a-f]+ <[^>]*> lui t3,0x1
+[0-9a-f]+ <[^>]*> addu t3,t3,k1
+[0-9a-f]+ <[^>]*> lw k1,-32768\(t3\)
+[0-9a-f]+ <[^>]*> lui t3,0x1
+[0-9a-f]+ <[^>]*> addu t3,t3,k1
+[0-9a-f]+ <[^>]*> sw k1,-32768\(t3\)
+[0-9a-f]+ <[^>]*> lui t3,0xffff
+[0-9a-f]+ <[^>]*> addu t3,t3,k1
+[0-9a-f]+ <[^>]*> lw k1,32767\(t3\)
+[0-9a-f]+ <[^>]*> lui t3,0xffff
+[0-9a-f]+ <[^>]*> addu t3,t3,k1
+[0-9a-f]+ <[^>]*> sw k1,32767\(t3\)
+[0-9a-f]+ <[^>]*> lui t3,0x0
+[ ]*[0-9a-f]+: R_MIPS_HI16 symbol
+[0-9a-f]+ <[^>]*> addu t3,t3,k1
+[0-9a-f]+ <[^>]*> lw k1,0\(t3\)
+[ ]*[0-9a-f]+: R_MIPS_LO16 symbol
+[0-9a-f]+ <[^>]*> nop
+[0-9a-f]+ <[^>]*> lui t3,0x0
+[ ]*[0-9a-f]+: R_MIPS_HI16 symbol
+[0-9a-f]+ <[^>]*> addu t3,t3,k1
+[0-9a-f]+ <[^>]*> sw k1,0\(t3\)
+[ ]*[0-9a-f]+: R_MIPS_LO16 symbol
+[0-9a-f]+ <[^>]*> lw k1,32767\(k1\)
+[0-9a-f]+ <[^>]*> nop
+[0-9a-f]+ <[^>]*> sw k1,32767\(k1\)
+[0-9a-f]+ <[^>]*> lw k1,-32768\(k1\)
+[0-9a-f]+ <[^>]*> nop
+[0-9a-f]+ <[^>]*> sw k1,-32768\(k1\)
+[0-9a-f]+ <[^>]*> lui t4,0x1
+[0-9a-f]+ <[^>]*> addu t4,t4,k1
+[0-9a-f]+ <[^>]*> lw k1,-32768\(t4\)
+[0-9a-f]+ <[^>]*> lui t4,0x1
+[0-9a-f]+ <[^>]*> addu t4,t4,k1
+[0-9a-f]+ <[^>]*> sw k1,-32768\(t4\)
+[0-9a-f]+ <[^>]*> lui t4,0xffff
+[0-9a-f]+ <[^>]*> addu t4,t4,k1
+[0-9a-f]+ <[^>]*> lw k1,32767\(t4\)
+[0-9a-f]+ <[^>]*> lui t4,0xffff
+[0-9a-f]+ <[^>]*> addu t4,t4,k1
+[0-9a-f]+ <[^>]*> sw k1,32767\(t4\)
+[0-9a-f]+ <[^>]*> lui t4,0x0
+[ ]*[0-9a-f]+: R_MIPS_HI16 symbol
+[0-9a-f]+ <[^>]*> addu t4,t4,k1
+[0-9a-f]+ <[^>]*> lw k1,0\(t4\)
+[ ]*[0-9a-f]+: R_MIPS_LO16 symbol
+[0-9a-f]+ <[^>]*> nop
+[0-9a-f]+ <[^>]*> lui t4,0x0
+[ ]*[0-9a-f]+: R_MIPS_HI16 symbol
+[0-9a-f]+ <[^>]*> addu t4,t4,k1
+[0-9a-f]+ <[^>]*> sw k1,0\(t4\)
+[ ]*[0-9a-f]+: R_MIPS_LO16 symbol
+[0-9a-f]+ <[^>]*> lw k1,32767\(k1\)
+[0-9a-f]+ <[^>]*> nop
+[0-9a-f]+ <[^>]*> sw k1,32767\(k1\)
+[0-9a-f]+ <[^>]*> lw k1,-32768\(k1\)
+[0-9a-f]+ <[^>]*> nop
+[0-9a-f]+ <[^>]*> sw k1,-32768\(k1\)
+[0-9a-f]+ <[^>]*> lui t5,0x1
+[0-9a-f]+ <[^>]*> addu t5,t5,k1
+[0-9a-f]+ <[^>]*> lw k1,-32768\(t5\)
+[0-9a-f]+ <[^>]*> lui t5,0x1
+[0-9a-f]+ <[^>]*> addu t5,t5,k1
+[0-9a-f]+ <[^>]*> sw k1,-32768\(t5\)
+[0-9a-f]+ <[^>]*> lui t5,0xffff
+[0-9a-f]+ <[^>]*> addu t5,t5,k1
+[0-9a-f]+ <[^>]*> lw k1,32767\(t5\)
+[0-9a-f]+ <[^>]*> lui t5,0xffff
+[0-9a-f]+ <[^>]*> addu t5,t5,k1
+[0-9a-f]+ <[^>]*> sw k1,32767\(t5\)
+[0-9a-f]+ <[^>]*> lui t5,0x0
+[ ]*[0-9a-f]+: R_MIPS_HI16 symbol
+[0-9a-f]+ <[^>]*> addu t5,t5,k1
+[0-9a-f]+ <[^>]*> lw k1,0\(t5\)
+[ ]*[0-9a-f]+: R_MIPS_LO16 symbol
+[0-9a-f]+ <[^>]*> nop
+[0-9a-f]+ <[^>]*> lui t5,0x0
+[ ]*[0-9a-f]+: R_MIPS_HI16 symbol
+[0-9a-f]+ <[^>]*> addu t5,t5,k1
+[0-9a-f]+ <[^>]*> sw k1,0\(t5\)
+[ ]*[0-9a-f]+: R_MIPS_LO16 symbol
+[0-9a-f]+ <[^>]*> lw k1,32767\(k1\)
+[0-9a-f]+ <[^>]*> nop
+[0-9a-f]+ <[^>]*> sw k1,32767\(k1\)
+[0-9a-f]+ <[^>]*> lw k1,-32768\(k1\)
+[0-9a-f]+ <[^>]*> nop
+[0-9a-f]+ <[^>]*> sw k1,-32768\(k1\)
+[0-9a-f]+ <[^>]*> lui t6,0x1
+[0-9a-f]+ <[^>]*> addu t6,t6,k1
+[0-9a-f]+ <[^>]*> lw k1,-32768\(t6\)
+[0-9a-f]+ <[^>]*> lui t6,0x1
+[0-9a-f]+ <[^>]*> addu t6,t6,k1
+[0-9a-f]+ <[^>]*> sw k1,-32768\(t6\)
+[0-9a-f]+ <[^>]*> lui t6,0xffff
+[0-9a-f]+ <[^>]*> addu t6,t6,k1
+[0-9a-f]+ <[^>]*> lw k1,32767\(t6\)
+[0-9a-f]+ <[^>]*> lui t6,0xffff
+[0-9a-f]+ <[^>]*> addu t6,t6,k1
+[0-9a-f]+ <[^>]*> sw k1,32767\(t6\)
+[0-9a-f]+ <[^>]*> lui t6,0x0
+[ ]*[0-9a-f]+: R_MIPS_HI16 symbol
+[0-9a-f]+ <[^>]*> addu t6,t6,k1
+[0-9a-f]+ <[^>]*> lw k1,0\(t6\)
+[ ]*[0-9a-f]+: R_MIPS_LO16 symbol
+[0-9a-f]+ <[^>]*> nop
+[0-9a-f]+ <[^>]*> lui t6,0x0
+[ ]*[0-9a-f]+: R_MIPS_HI16 symbol
+[0-9a-f]+ <[^>]*> addu t6,t6,k1
+[0-9a-f]+ <[^>]*> sw k1,0\(t6\)
+[ ]*[0-9a-f]+: R_MIPS_LO16 symbol
+[0-9a-f]+ <[^>]*> lw k1,32767\(k1\)
+[0-9a-f]+ <[^>]*> nop
+[0-9a-f]+ <[^>]*> sw k1,32767\(k1\)
+[0-9a-f]+ <[^>]*> lw k1,-32768\(k1\)
+[0-9a-f]+ <[^>]*> nop
+[0-9a-f]+ <[^>]*> sw k1,-32768\(k1\)
+[0-9a-f]+ <[^>]*> lui t7,0x1
+[0-9a-f]+ <[^>]*> addu t7,t7,k1
+[0-9a-f]+ <[^>]*> lw k1,-32768\(t7\)
+[0-9a-f]+ <[^>]*> lui t7,0x1
+[0-9a-f]+ <[^>]*> addu t7,t7,k1
+[0-9a-f]+ <[^>]*> sw k1,-32768\(t7\)
+[0-9a-f]+ <[^>]*> lui t7,0xffff
+[0-9a-f]+ <[^>]*> addu t7,t7,k1
+[0-9a-f]+ <[^>]*> lw k1,32767\(t7\)
+[0-9a-f]+ <[^>]*> lui t7,0xffff
+[0-9a-f]+ <[^>]*> addu t7,t7,k1
+[0-9a-f]+ <[^>]*> sw k1,32767\(t7\)
+[0-9a-f]+ <[^>]*> lui t7,0x0
+[ ]*[0-9a-f]+: R_MIPS_HI16 symbol
+[0-9a-f]+ <[^>]*> addu t7,t7,k1
+[0-9a-f]+ <[^>]*> lw k1,0\(t7\)
+[ ]*[0-9a-f]+: R_MIPS_LO16 symbol
+[0-9a-f]+ <[^>]*> nop
+[0-9a-f]+ <[^>]*> lui t7,0x0
+[ ]*[0-9a-f]+: R_MIPS_HI16 symbol
+[0-9a-f]+ <[^>]*> addu t7,t7,k1
+[0-9a-f]+ <[^>]*> sw k1,0\(t7\)
+[ ]*[0-9a-f]+: R_MIPS_LO16 symbol
+[0-9a-f]+ <[^>]*> lw k1,32767\(k1\)
+[0-9a-f]+ <[^>]*> nop
+[0-9a-f]+ <[^>]*> sw k1,32767\(k1\)
+[0-9a-f]+ <[^>]*> lw k1,-32768\(k1\)
+[0-9a-f]+ <[^>]*> nop
+[0-9a-f]+ <[^>]*> sw k1,-32768\(k1\)
+[0-9a-f]+ <[^>]*> lui s0,0x1
+[0-9a-f]+ <[^>]*> addu s0,s0,k1
+[0-9a-f]+ <[^>]*> lw k1,-32768\(s0\)
+[0-9a-f]+ <[^>]*> lui s0,0x1
+[0-9a-f]+ <[^>]*> addu s0,s0,k1
+[0-9a-f]+ <[^>]*> sw k1,-32768\(s0\)
+[0-9a-f]+ <[^>]*> lui s0,0xffff
+[0-9a-f]+ <[^>]*> addu s0,s0,k1
+[0-9a-f]+ <[^>]*> lw k1,32767\(s0\)
+[0-9a-f]+ <[^>]*> lui s0,0xffff
+[0-9a-f]+ <[^>]*> addu s0,s0,k1
+[0-9a-f]+ <[^>]*> sw k1,32767\(s0\)
+[0-9a-f]+ <[^>]*> lui s0,0x0
+[ ]*[0-9a-f]+: R_MIPS_HI16 symbol
+[0-9a-f]+ <[^>]*> addu s0,s0,k1
+[0-9a-f]+ <[^>]*> lw k1,0\(s0\)
+[ ]*[0-9a-f]+: R_MIPS_LO16 symbol
+[0-9a-f]+ <[^>]*> nop
+[0-9a-f]+ <[^>]*> lui s0,0x0
+[ ]*[0-9a-f]+: R_MIPS_HI16 symbol
+[0-9a-f]+ <[^>]*> addu s0,s0,k1
+[0-9a-f]+ <[^>]*> sw k1,0\(s0\)
+[ ]*[0-9a-f]+: R_MIPS_LO16 symbol
+[0-9a-f]+ <[^>]*> lw k1,32767\(k1\)
+[0-9a-f]+ <[^>]*> nop
+[0-9a-f]+ <[^>]*> sw k1,32767\(k1\)
+[0-9a-f]+ <[^>]*> lw k1,-32768\(k1\)
+[0-9a-f]+ <[^>]*> nop
+[0-9a-f]+ <[^>]*> sw k1,-32768\(k1\)
+[0-9a-f]+ <[^>]*> lui s1,0x1
+[0-9a-f]+ <[^>]*> addu s1,s1,k1
+[0-9a-f]+ <[^>]*> lw k1,-32768\(s1\)
+[0-9a-f]+ <[^>]*> lui s1,0x1
+[0-9a-f]+ <[^>]*> addu s1,s1,k1
+[0-9a-f]+ <[^>]*> sw k1,-32768\(s1\)
+[0-9a-f]+ <[^>]*> lui s1,0xffff
+[0-9a-f]+ <[^>]*> addu s1,s1,k1
+[0-9a-f]+ <[^>]*> lw k1,32767\(s1\)
+[0-9a-f]+ <[^>]*> lui s1,0xffff
+[0-9a-f]+ <[^>]*> addu s1,s1,k1
+[0-9a-f]+ <[^>]*> sw k1,32767\(s1\)
+[0-9a-f]+ <[^>]*> lui s1,0x0
+[ ]*[0-9a-f]+: R_MIPS_HI16 symbol
+[0-9a-f]+ <[^>]*> addu s1,s1,k1
+[0-9a-f]+ <[^>]*> lw k1,0\(s1\)
+[ ]*[0-9a-f]+: R_MIPS_LO16 symbol
+[0-9a-f]+ <[^>]*> nop
+[0-9a-f]+ <[^>]*> lui s1,0x0
+[ ]*[0-9a-f]+: R_MIPS_HI16 symbol
+[0-9a-f]+ <[^>]*> addu s1,s1,k1
+[0-9a-f]+ <[^>]*> sw k1,0\(s1\)
+[ ]*[0-9a-f]+: R_MIPS_LO16 symbol
+[0-9a-f]+ <[^>]*> lw k1,32767\(k1\)
+[0-9a-f]+ <[^>]*> nop
+[0-9a-f]+ <[^>]*> sw k1,32767\(k1\)
+[0-9a-f]+ <[^>]*> lw k1,-32768\(k1\)
+[0-9a-f]+ <[^>]*> nop
+[0-9a-f]+ <[^>]*> sw k1,-32768\(k1\)
+[0-9a-f]+ <[^>]*> lui s2,0x1
+[0-9a-f]+ <[^>]*> addu s2,s2,k1
+[0-9a-f]+ <[^>]*> lw k1,-32768\(s2\)
+[0-9a-f]+ <[^>]*> lui s2,0x1
+[0-9a-f]+ <[^>]*> addu s2,s2,k1
+[0-9a-f]+ <[^>]*> sw k1,-32768\(s2\)
+[0-9a-f]+ <[^>]*> lui s2,0xffff
+[0-9a-f]+ <[^>]*> addu s2,s2,k1
+[0-9a-f]+ <[^>]*> lw k1,32767\(s2\)
+[0-9a-f]+ <[^>]*> lui s2,0xffff
+[0-9a-f]+ <[^>]*> addu s2,s2,k1
+[0-9a-f]+ <[^>]*> sw k1,32767\(s2\)
+[0-9a-f]+ <[^>]*> lui s2,0x0
+[ ]*[0-9a-f]+: R_MIPS_HI16 symbol
+[0-9a-f]+ <[^>]*> addu s2,s2,k1
+[0-9a-f]+ <[^>]*> lw k1,0\(s2\)
+[ ]*[0-9a-f]+: R_MIPS_LO16 symbol
+[0-9a-f]+ <[^>]*> nop
+[0-9a-f]+ <[^>]*> lui s2,0x0
+[ ]*[0-9a-f]+: R_MIPS_HI16 symbol
+[0-9a-f]+ <[^>]*> addu s2,s2,k1
+[0-9a-f]+ <[^>]*> sw k1,0\(s2\)
+[ ]*[0-9a-f]+: R_MIPS_LO16 symbol
+[0-9a-f]+ <[^>]*> lw k1,32767\(k1\)
+[0-9a-f]+ <[^>]*> nop
+[0-9a-f]+ <[^>]*> sw k1,32767\(k1\)
+[0-9a-f]+ <[^>]*> lw k1,-32768\(k1\)
+[0-9a-f]+ <[^>]*> nop
+[0-9a-f]+ <[^>]*> sw k1,-32768\(k1\)
+[0-9a-f]+ <[^>]*> lui s3,0x1
+[0-9a-f]+ <[^>]*> addu s3,s3,k1
+[0-9a-f]+ <[^>]*> lw k1,-32768\(s3\)
+[0-9a-f]+ <[^>]*> lui s3,0x1
+[0-9a-f]+ <[^>]*> addu s3,s3,k1
+[0-9a-f]+ <[^>]*> sw k1,-32768\(s3\)
+[0-9a-f]+ <[^>]*> lui s3,0xffff
+[0-9a-f]+ <[^>]*> addu s3,s3,k1
+[0-9a-f]+ <[^>]*> lw k1,32767\(s3\)
+[0-9a-f]+ <[^>]*> lui s3,0xffff
+[0-9a-f]+ <[^>]*> addu s3,s3,k1
+[0-9a-f]+ <[^>]*> sw k1,32767\(s3\)
+[0-9a-f]+ <[^>]*> lui s3,0x0
+[ ]*[0-9a-f]+: R_MIPS_HI16 symbol
+[0-9a-f]+ <[^>]*> addu s3,s3,k1
+[0-9a-f]+ <[^>]*> lw k1,0\(s3\)
+[ ]*[0-9a-f]+: R_MIPS_LO16 symbol
+[0-9a-f]+ <[^>]*> nop
+[0-9a-f]+ <[^>]*> lui s3,0x0
+[ ]*[0-9a-f]+: R_MIPS_HI16 symbol
+[0-9a-f]+ <[^>]*> addu s3,s3,k1
+[0-9a-f]+ <[^>]*> sw k1,0\(s3\)
+[ ]*[0-9a-f]+: R_MIPS_LO16 symbol
+[0-9a-f]+ <[^>]*> lw k1,32767\(k1\)
+[0-9a-f]+ <[^>]*> nop
+[0-9a-f]+ <[^>]*> sw k1,32767\(k1\)
+[0-9a-f]+ <[^>]*> lw k1,-32768\(k1\)
+[0-9a-f]+ <[^>]*> nop
+[0-9a-f]+ <[^>]*> sw k1,-32768\(k1\)
+[0-9a-f]+ <[^>]*> lui s4,0x1
+[0-9a-f]+ <[^>]*> addu s4,s4,k1
+[0-9a-f]+ <[^>]*> lw k1,-32768\(s4\)
+[0-9a-f]+ <[^>]*> lui s4,0x1
+[0-9a-f]+ <[^>]*> addu s4,s4,k1
+[0-9a-f]+ <[^>]*> sw k1,-32768\(s4\)
+[0-9a-f]+ <[^>]*> lui s4,0xffff
+[0-9a-f]+ <[^>]*> addu s4,s4,k1
+[0-9a-f]+ <[^>]*> lw k1,32767\(s4\)
+[0-9a-f]+ <[^>]*> lui s4,0xffff
+[0-9a-f]+ <[^>]*> addu s4,s4,k1
+[0-9a-f]+ <[^>]*> sw k1,32767\(s4\)
+[0-9a-f]+ <[^>]*> lui s4,0x0
+[ ]*[0-9a-f]+: R_MIPS_HI16 symbol
+[0-9a-f]+ <[^>]*> addu s4,s4,k1
+[0-9a-f]+ <[^>]*> lw k1,0\(s4\)
+[ ]*[0-9a-f]+: R_MIPS_LO16 symbol
+[0-9a-f]+ <[^>]*> nop
+[0-9a-f]+ <[^>]*> lui s4,0x0
+[ ]*[0-9a-f]+: R_MIPS_HI16 symbol
+[0-9a-f]+ <[^>]*> addu s4,s4,k1
+[0-9a-f]+ <[^>]*> sw k1,0\(s4\)
+[ ]*[0-9a-f]+: R_MIPS_LO16 symbol
+[0-9a-f]+ <[^>]*> lw k1,32767\(k1\)
+[0-9a-f]+ <[^>]*> nop
+[0-9a-f]+ <[^>]*> sw k1,32767\(k1\)
+[0-9a-f]+ <[^>]*> lw k1,-32768\(k1\)
+[0-9a-f]+ <[^>]*> nop
+[0-9a-f]+ <[^>]*> sw k1,-32768\(k1\)
+[0-9a-f]+ <[^>]*> lui s5,0x1
+[0-9a-f]+ <[^>]*> addu s5,s5,k1
+[0-9a-f]+ <[^>]*> lw k1,-32768\(s5\)
+[0-9a-f]+ <[^>]*> lui s5,0x1
+[0-9a-f]+ <[^>]*> addu s5,s5,k1
+[0-9a-f]+ <[^>]*> sw k1,-32768\(s5\)
+[0-9a-f]+ <[^>]*> lui s5,0xffff
+[0-9a-f]+ <[^>]*> addu s5,s5,k1
+[0-9a-f]+ <[^>]*> lw k1,32767\(s5\)
+[0-9a-f]+ <[^>]*> lui s5,0xffff
+[0-9a-f]+ <[^>]*> addu s5,s5,k1
+[0-9a-f]+ <[^>]*> sw k1,32767\(s5\)
+[0-9a-f]+ <[^>]*> lui s5,0x0
+[ ]*[0-9a-f]+: R_MIPS_HI16 symbol
+[0-9a-f]+ <[^>]*> addu s5,s5,k1
+[0-9a-f]+ <[^>]*> lw k1,0\(s5\)
+[ ]*[0-9a-f]+: R_MIPS_LO16 symbol
+[0-9a-f]+ <[^>]*> nop
+[0-9a-f]+ <[^>]*> lui s5,0x0
+[ ]*[0-9a-f]+: R_MIPS_HI16 symbol
+[0-9a-f]+ <[^>]*> addu s5,s5,k1
+[0-9a-f]+ <[^>]*> sw k1,0\(s5\)
+[ ]*[0-9a-f]+: R_MIPS_LO16 symbol
+[0-9a-f]+ <[^>]*> lw k1,32767\(k1\)
+[0-9a-f]+ <[^>]*> nop
+[0-9a-f]+ <[^>]*> sw k1,32767\(k1\)
+[0-9a-f]+ <[^>]*> lw k1,-32768\(k1\)
+[0-9a-f]+ <[^>]*> nop
+[0-9a-f]+ <[^>]*> sw k1,-32768\(k1\)
+[0-9a-f]+ <[^>]*> lui s6,0x1
+[0-9a-f]+ <[^>]*> addu s6,s6,k1
+[0-9a-f]+ <[^>]*> lw k1,-32768\(s6\)
+[0-9a-f]+ <[^>]*> lui s6,0x1
+[0-9a-f]+ <[^>]*> addu s6,s6,k1
+[0-9a-f]+ <[^>]*> sw k1,-32768\(s6\)
+[0-9a-f]+ <[^>]*> lui s6,0xffff
+[0-9a-f]+ <[^>]*> addu s6,s6,k1
+[0-9a-f]+ <[^>]*> lw k1,32767\(s6\)
+[0-9a-f]+ <[^>]*> lui s6,0xffff
+[0-9a-f]+ <[^>]*> addu s6,s6,k1
+[0-9a-f]+ <[^>]*> sw k1,32767\(s6\)
+[0-9a-f]+ <[^>]*> lui s6,0x0
+[ ]*[0-9a-f]+: R_MIPS_HI16 symbol
+[0-9a-f]+ <[^>]*> addu s6,s6,k1
+[0-9a-f]+ <[^>]*> lw k1,0\(s6\)
+[ ]*[0-9a-f]+: R_MIPS_LO16 symbol
+[0-9a-f]+ <[^>]*> nop
+[0-9a-f]+ <[^>]*> lui s6,0x0
+[ ]*[0-9a-f]+: R_MIPS_HI16 symbol
+[0-9a-f]+ <[^>]*> addu s6,s6,k1
+[0-9a-f]+ <[^>]*> sw k1,0\(s6\)
+[ ]*[0-9a-f]+: R_MIPS_LO16 symbol
+[0-9a-f]+ <[^>]*> lw k1,32767\(k1\)
+[0-9a-f]+ <[^>]*> nop
+[0-9a-f]+ <[^>]*> sw k1,32767\(k1\)
+[0-9a-f]+ <[^>]*> lw k1,-32768\(k1\)
+[0-9a-f]+ <[^>]*> nop
+[0-9a-f]+ <[^>]*> sw k1,-32768\(k1\)
+[0-9a-f]+ <[^>]*> lui s7,0x1
+[0-9a-f]+ <[^>]*> addu s7,s7,k1
+[0-9a-f]+ <[^>]*> lw k1,-32768\(s7\)
+[0-9a-f]+ <[^>]*> lui s7,0x1
+[0-9a-f]+ <[^>]*> addu s7,s7,k1
+[0-9a-f]+ <[^>]*> sw k1,-32768\(s7\)
+[0-9a-f]+ <[^>]*> lui s7,0xffff
+[0-9a-f]+ <[^>]*> addu s7,s7,k1
+[0-9a-f]+ <[^>]*> lw k1,32767\(s7\)
+[0-9a-f]+ <[^>]*> lui s7,0xffff
+[0-9a-f]+ <[^>]*> addu s7,s7,k1
+[0-9a-f]+ <[^>]*> sw k1,32767\(s7\)
+[0-9a-f]+ <[^>]*> lui s7,0x0
+[ ]*[0-9a-f]+: R_MIPS_HI16 symbol
+[0-9a-f]+ <[^>]*> addu s7,s7,k1
+[0-9a-f]+ <[^>]*> lw k1,0\(s7\)
+[ ]*[0-9a-f]+: R_MIPS_LO16 symbol
+[0-9a-f]+ <[^>]*> nop
+[0-9a-f]+ <[^>]*> lui s7,0x0
+[ ]*[0-9a-f]+: R_MIPS_HI16 symbol
+[0-9a-f]+ <[^>]*> addu s7,s7,k1
+[0-9a-f]+ <[^>]*> sw k1,0\(s7\)
+[ ]*[0-9a-f]+: R_MIPS_LO16 symbol
+[0-9a-f]+ <[^>]*> lw k1,32767\(k1\)
+[0-9a-f]+ <[^>]*> nop
+[0-9a-f]+ <[^>]*> sw k1,32767\(k1\)
+[0-9a-f]+ <[^>]*> lw k1,-32768\(k1\)
+[0-9a-f]+ <[^>]*> nop
+[0-9a-f]+ <[^>]*> sw k1,-32768\(k1\)
+[0-9a-f]+ <[^>]*> lui t8,0x1
+[0-9a-f]+ <[^>]*> addu t8,t8,k1
+[0-9a-f]+ <[^>]*> lw k1,-32768\(t8\)
+[0-9a-f]+ <[^>]*> lui t8,0x1
+[0-9a-f]+ <[^>]*> addu t8,t8,k1
+[0-9a-f]+ <[^>]*> sw k1,-32768\(t8\)
+[0-9a-f]+ <[^>]*> lui t8,0xffff
+[0-9a-f]+ <[^>]*> addu t8,t8,k1
+[0-9a-f]+ <[^>]*> lw k1,32767\(t8\)
+[0-9a-f]+ <[^>]*> lui t8,0xffff
+[0-9a-f]+ <[^>]*> addu t8,t8,k1
+[0-9a-f]+ <[^>]*> sw k1,32767\(t8\)
+[0-9a-f]+ <[^>]*> lui t8,0x0
+[ ]*[0-9a-f]+: R_MIPS_HI16 symbol
+[0-9a-f]+ <[^>]*> addu t8,t8,k1
+[0-9a-f]+ <[^>]*> lw k1,0\(t8\)
+[ ]*[0-9a-f]+: R_MIPS_LO16 symbol
+[0-9a-f]+ <[^>]*> nop
+[0-9a-f]+ <[^>]*> lui t8,0x0
+[ ]*[0-9a-f]+: R_MIPS_HI16 symbol
+[0-9a-f]+ <[^>]*> addu t8,t8,k1
+[0-9a-f]+ <[^>]*> sw k1,0\(t8\)
+[ ]*[0-9a-f]+: R_MIPS_LO16 symbol
+[0-9a-f]+ <[^>]*> lw k1,32767\(k1\)
+[0-9a-f]+ <[^>]*> nop
+[0-9a-f]+ <[^>]*> sw k1,32767\(k1\)
+[0-9a-f]+ <[^>]*> lw k1,-32768\(k1\)
+[0-9a-f]+ <[^>]*> nop
+[0-9a-f]+ <[^>]*> sw k1,-32768\(k1\)
+[0-9a-f]+ <[^>]*> lui t9,0x1
+[0-9a-f]+ <[^>]*> addu t9,t9,k1
+[0-9a-f]+ <[^>]*> lw k1,-32768\(t9\)
+[0-9a-f]+ <[^>]*> lui t9,0x1
+[0-9a-f]+ <[^>]*> addu t9,t9,k1
+[0-9a-f]+ <[^>]*> sw k1,-32768\(t9\)
+[0-9a-f]+ <[^>]*> lui t9,0xffff
+[0-9a-f]+ <[^>]*> addu t9,t9,k1
+[0-9a-f]+ <[^>]*> lw k1,32767\(t9\)
+[0-9a-f]+ <[^>]*> lui t9,0xffff
+[0-9a-f]+ <[^>]*> addu t9,t9,k1
+[0-9a-f]+ <[^>]*> sw k1,32767\(t9\)
+[0-9a-f]+ <[^>]*> lui t9,0x0
+[ ]*[0-9a-f]+: R_MIPS_HI16 symbol
+[0-9a-f]+ <[^>]*> addu t9,t9,k1
+[0-9a-f]+ <[^>]*> lw k1,0\(t9\)
+[ ]*[0-9a-f]+: R_MIPS_LO16 symbol
+[0-9a-f]+ <[^>]*> nop
+[0-9a-f]+ <[^>]*> lui t9,0x0
+[ ]*[0-9a-f]+: R_MIPS_HI16 symbol
+[0-9a-f]+ <[^>]*> addu t9,t9,k1
+[0-9a-f]+ <[^>]*> sw k1,0\(t9\)
+[ ]*[0-9a-f]+: R_MIPS_LO16 symbol
+[0-9a-f]+ <[^>]*> lw k1,32767\(k1\)
+[0-9a-f]+ <[^>]*> nop
+[0-9a-f]+ <[^>]*> sw k1,32767\(k1\)
+[0-9a-f]+ <[^>]*> lw k1,-32768\(k1\)
+[0-9a-f]+ <[^>]*> nop
+[0-9a-f]+ <[^>]*> sw k1,-32768\(k1\)
+[0-9a-f]+ <[^>]*> lui k0,0x1
+[0-9a-f]+ <[^>]*> addu k0,k0,k1
+[0-9a-f]+ <[^>]*> lw k1,-32768\(k0\)
+[0-9a-f]+ <[^>]*> lui k0,0x1
+[0-9a-f]+ <[^>]*> addu k0,k0,k1
+[0-9a-f]+ <[^>]*> sw k1,-32768\(k0\)
+[0-9a-f]+ <[^>]*> lui k0,0xffff
+[0-9a-f]+ <[^>]*> addu k0,k0,k1
+[0-9a-f]+ <[^>]*> lw k1,32767\(k0\)
+[0-9a-f]+ <[^>]*> lui k0,0xffff
+[0-9a-f]+ <[^>]*> addu k0,k0,k1
+[0-9a-f]+ <[^>]*> sw k1,32767\(k0\)
+[0-9a-f]+ <[^>]*> lui k0,0x0
+[ ]*[0-9a-f]+: R_MIPS_HI16 symbol
+[0-9a-f]+ <[^>]*> addu k0,k0,k1
+[0-9a-f]+ <[^>]*> lw k1,0\(k0\)
+[ ]*[0-9a-f]+: R_MIPS_LO16 symbol
+[0-9a-f]+ <[^>]*> nop
+[0-9a-f]+ <[^>]*> lui k0,0x0
+[ ]*[0-9a-f]+: R_MIPS_HI16 symbol
+[0-9a-f]+ <[^>]*> addu k0,k0,k1
+[0-9a-f]+ <[^>]*> sw k1,0\(k0\)
+[ ]*[0-9a-f]+: R_MIPS_LO16 symbol
+[0-9a-f]+ <[^>]*> lw k0,32767\(k0\)
+[0-9a-f]+ <[^>]*> nop
+[0-9a-f]+ <[^>]*> sw k0,32767\(k0\)
+[0-9a-f]+ <[^>]*> lw k0,-32768\(k0\)
+[0-9a-f]+ <[^>]*> nop
+[0-9a-f]+ <[^>]*> sw k0,-32768\(k0\)
+[0-9a-f]+ <[^>]*> lui k1,0x1
+[0-9a-f]+ <[^>]*> addu k1,k1,k0
+[0-9a-f]+ <[^>]*> lw k0,-32768\(k1\)
+[0-9a-f]+ <[^>]*> lui k1,0x1
+[0-9a-f]+ <[^>]*> addu k1,k1,k0
+[0-9a-f]+ <[^>]*> sw k0,-32768\(k1\)
+[0-9a-f]+ <[^>]*> lui k1,0xffff
+[0-9a-f]+ <[^>]*> addu k1,k1,k0
+[0-9a-f]+ <[^>]*> lw k0,32767\(k1\)
+[0-9a-f]+ <[^>]*> lui k1,0xffff
+[0-9a-f]+ <[^>]*> addu k1,k1,k0
+[0-9a-f]+ <[^>]*> sw k0,32767\(k1\)
+[0-9a-f]+ <[^>]*> lui k1,0x0
+[ ]*[0-9a-f]+: R_MIPS_HI16 symbol
+[0-9a-f]+ <[^>]*> addu k1,k1,k0
+[0-9a-f]+ <[^>]*> lw k0,0\(k1\)
+[ ]*[0-9a-f]+: R_MIPS_LO16 symbol
+[0-9a-f]+ <[^>]*> nop
+[0-9a-f]+ <[^>]*> lui k1,0x0
+[ ]*[0-9a-f]+: R_MIPS_HI16 symbol
+[0-9a-f]+ <[^>]*> addu k1,k1,k0
+[0-9a-f]+ <[^>]*> sw k0,0\(k1\)
+[ ]*[0-9a-f]+: R_MIPS_LO16 symbol
+[0-9a-f]+ <[^>]*> lw k1,32767\(k1\)
+[0-9a-f]+ <[^>]*> nop
+[0-9a-f]+ <[^>]*> sw k1,32767\(k1\)
+[0-9a-f]+ <[^>]*> lw k1,-32768\(k1\)
+[0-9a-f]+ <[^>]*> nop
+[0-9a-f]+ <[^>]*> sw k1,-32768\(k1\)
+[0-9a-f]+ <[^>]*> lui gp,0x1
+[0-9a-f]+ <[^>]*> addu gp,gp,k1
+[0-9a-f]+ <[^>]*> lw k1,-32768\(gp\)
+[0-9a-f]+ <[^>]*> lui gp,0x1
+[0-9a-f]+ <[^>]*> addu gp,gp,k1
+[0-9a-f]+ <[^>]*> sw k1,-32768\(gp\)
+[0-9a-f]+ <[^>]*> lui gp,0xffff
+[0-9a-f]+ <[^>]*> addu gp,gp,k1
+[0-9a-f]+ <[^>]*> lw k1,32767\(gp\)
+[0-9a-f]+ <[^>]*> lui gp,0xffff
+[0-9a-f]+ <[^>]*> addu gp,gp,k1
+[0-9a-f]+ <[^>]*> sw k1,32767\(gp\)
+[0-9a-f]+ <[^>]*> lui gp,0x0
+[ ]*[0-9a-f]+: R_MIPS_HI16 symbol
+[0-9a-f]+ <[^>]*> addu gp,gp,k1
+[0-9a-f]+ <[^>]*> lw k1,0\(gp\)
+[ ]*[0-9a-f]+: R_MIPS_LO16 symbol
+[0-9a-f]+ <[^>]*> nop
+[0-9a-f]+ <[^>]*> lui gp,0x0
+[ ]*[0-9a-f]+: R_MIPS_HI16 symbol
+[0-9a-f]+ <[^>]*> addu gp,gp,k1
+[0-9a-f]+ <[^>]*> sw k1,0\(gp\)
+[ ]*[0-9a-f]+: R_MIPS_LO16 symbol
+[0-9a-f]+ <[^>]*> lw k1,32767\(k1\)
+[0-9a-f]+ <[^>]*> nop
+[0-9a-f]+ <[^>]*> sw k1,32767\(k1\)
+[0-9a-f]+ <[^>]*> lw k1,-32768\(k1\)
+[0-9a-f]+ <[^>]*> nop
+[0-9a-f]+ <[^>]*> sw k1,-32768\(k1\)
+[0-9a-f]+ <[^>]*> lui s8,0x1
+[0-9a-f]+ <[^>]*> addu s8,s8,k1
+[0-9a-f]+ <[^>]*> lw k1,-32768\(s8\)
+[0-9a-f]+ <[^>]*> lui s8,0x1
+[0-9a-f]+ <[^>]*> addu s8,s8,k1
+[0-9a-f]+ <[^>]*> sw k1,-32768\(s8\)
+[0-9a-f]+ <[^>]*> lui s8,0xffff
+[0-9a-f]+ <[^>]*> addu s8,s8,k1
+[0-9a-f]+ <[^>]*> lw k1,32767\(s8\)
+[0-9a-f]+ <[^>]*> lui s8,0xffff
+[0-9a-f]+ <[^>]*> addu s8,s8,k1
+[0-9a-f]+ <[^>]*> sw k1,32767\(s8\)
+[0-9a-f]+ <[^>]*> lui s8,0x0
+[ ]*[0-9a-f]+: R_MIPS_HI16 symbol
+[0-9a-f]+ <[^>]*> addu s8,s8,k1
+[0-9a-f]+ <[^>]*> lw k1,0\(s8\)
+[ ]*[0-9a-f]+: R_MIPS_LO16 symbol
+[0-9a-f]+ <[^>]*> nop
+[0-9a-f]+ <[^>]*> lui s8,0x0
+[ ]*[0-9a-f]+: R_MIPS_HI16 symbol
+[0-9a-f]+ <[^>]*> addu s8,s8,k1
+[0-9a-f]+ <[^>]*> sw k1,0\(s8\)
+[ ]*[0-9a-f]+: R_MIPS_LO16 symbol
+[0-9a-f]+ <[^>]*> lw k1,32767\(k1\)
+[0-9a-f]+ <[^>]*> nop
+[0-9a-f]+ <[^>]*> sw k1,32767\(k1\)
+[0-9a-f]+ <[^>]*> lw k1,-32768\(k1\)
+[0-9a-f]+ <[^>]*> nop
+[0-9a-f]+ <[^>]*> sw k1,-32768\(k1\)
+[0-9a-f]+ <[^>]*> lui sp,0x1
+[0-9a-f]+ <[^>]*> addu sp,sp,k1
+[0-9a-f]+ <[^>]*> lw k1,-32768\(sp\)
+[0-9a-f]+ <[^>]*> lui sp,0x1
+[0-9a-f]+ <[^>]*> addu sp,sp,k1
+[0-9a-f]+ <[^>]*> sw k1,-32768\(sp\)
+[0-9a-f]+ <[^>]*> lui sp,0xffff
+[0-9a-f]+ <[^>]*> addu sp,sp,k1
+[0-9a-f]+ <[^>]*> lw k1,32767\(sp\)
+[0-9a-f]+ <[^>]*> lui sp,0xffff
+[0-9a-f]+ <[^>]*> addu sp,sp,k1
+[0-9a-f]+ <[^>]*> sw k1,32767\(sp\)
+[0-9a-f]+ <[^>]*> lui sp,0x0
+[ ]*[0-9a-f]+: R_MIPS_HI16 symbol
+[0-9a-f]+ <[^>]*> addu sp,sp,k1
+[0-9a-f]+ <[^>]*> lw k1,0\(sp\)
+[ ]*[0-9a-f]+: R_MIPS_LO16 symbol
+[0-9a-f]+ <[^>]*> nop
+[0-9a-f]+ <[^>]*> lui sp,0x0
+[ ]*[0-9a-f]+: R_MIPS_HI16 symbol
+[0-9a-f]+ <[^>]*> addu sp,sp,k1
+[0-9a-f]+ <[^>]*> sw k1,0\(sp\)
+[ ]*[0-9a-f]+: R_MIPS_LO16 symbol
+[0-9a-f]+ <[^>]*> lw k1,32767\(k1\)
+[0-9a-f]+ <[^>]*> nop
+[0-9a-f]+ <[^>]*> sw k1,32767\(k1\)
+[0-9a-f]+ <[^>]*> lw k1,-32768\(k1\)
+[0-9a-f]+ <[^>]*> nop
+[0-9a-f]+ <[^>]*> sw k1,-32768\(k1\)
+[0-9a-f]+ <[^>]*> lui ra,0x1
+[0-9a-f]+ <[^>]*> addu ra,ra,k1
+[0-9a-f]+ <[^>]*> lw k1,-32768\(ra\)
+[0-9a-f]+ <[^>]*> lui ra,0x1
+[0-9a-f]+ <[^>]*> addu ra,ra,k1
+[0-9a-f]+ <[^>]*> sw k1,-32768\(ra\)
+[0-9a-f]+ <[^>]*> lui ra,0xffff
+[0-9a-f]+ <[^>]*> addu ra,ra,k1
+[0-9a-f]+ <[^>]*> lw k1,32767\(ra\)
+[0-9a-f]+ <[^>]*> lui ra,0xffff
+[0-9a-f]+ <[^>]*> addu ra,ra,k1
+[0-9a-f]+ <[^>]*> sw k1,32767\(ra\)
+[0-9a-f]+ <[^>]*> lui ra,0x0
+[ ]*[0-9a-f]+: R_MIPS_HI16 symbol
+[0-9a-f]+ <[^>]*> addu ra,ra,k1
+[0-9a-f]+ <[^>]*> lw k1,0\(ra\)
+[ ]*[0-9a-f]+: R_MIPS_LO16 symbol
+[0-9a-f]+ <[^>]*> nop
+[0-9a-f]+ <[^>]*> lui ra,0x0
+[ ]*[0-9a-f]+: R_MIPS_HI16 symbol
+[0-9a-f]+ <[^>]*> addu ra,ra,k1
+[0-9a-f]+ <[^>]*> sw k1,0\(ra\)
+[ ]*[0-9a-f]+: R_MIPS_LO16 symbol
+[0-9a-f]+ <[^>]*> lw k1,32767\(k1\)
+[0-9a-f]+ <[^>]*> nop
+[0-9a-f]+ <[^>]*> sw k1,32767\(k1\)
+[0-9a-f]+ <[^>]*> lw k1,-32768\(k1\)
+[0-9a-f]+ <[^>]*> nop
+[0-9a-f]+ <[^>]*> sw k1,-32768\(k1\)
+[0-9a-f]+ <[^>]*> lui at,0x1
+[0-9a-f]+ <[^>]*> addu at,at,k1
+[0-9a-f]+ <[^>]*> lw k1,-32768\(at\)
+[0-9a-f]+ <[^>]*> lui at,0x1
+[0-9a-f]+ <[^>]*> addu at,at,k1
+[0-9a-f]+ <[^>]*> sw k1,-32768\(at\)
+[0-9a-f]+ <[^>]*> lui at,0xffff
+[0-9a-f]+ <[^>]*> addu at,at,k1
+[0-9a-f]+ <[^>]*> lw k1,32767\(at\)
+[0-9a-f]+ <[^>]*> lui at,0xffff
+[0-9a-f]+ <[^>]*> addu at,at,k1
+[0-9a-f]+ <[^>]*> sw k1,32767\(at\)
+[0-9a-f]+ <[^>]*> lui at,0x0
+[ ]*[0-9a-f]+: R_MIPS_HI16 symbol
+[0-9a-f]+ <[^>]*> addu at,at,k1
+[0-9a-f]+ <[^>]*> lw k1,0\(at\)
+[ ]*[0-9a-f]+: R_MIPS_LO16 symbol
+[0-9a-f]+ <[^>]*> nop
+[0-9a-f]+ <[^>]*> lui at,0x0
+[ ]*[0-9a-f]+: R_MIPS_HI16 symbol
+[0-9a-f]+ <[^>]*> addu at,at,k1
+[0-9a-f]+ <[^>]*> sw k1,0\(at\)
+[ ]*[0-9a-f]+: R_MIPS_LO16 symbol
+ \.\.\.
diff --git a/gas/testsuite/gas/mips/at-1.s b/gas/testsuite/gas/mips/at-1.s
new file mode 100644
index 0000000..87c22b3
--- /dev/null
+++ b/gas/testsuite/gas/mips/at-1.s
@@ -0,0 +1,388 @@
+ .text
+foo:
+ .set at=$1
+ lw $27, 0x7fff($27)
+ sw $27, 0x7fff($27)
+ lw $27, -0x8000($27)
+ sw $27, -0x8000($27)
+ lw $27, 0x8000($27)
+ sw $27, 0x8000($27)
+ lw $27, -0x8001($27)
+ sw $27, -0x8001($27)
+ lw $27, symbol($27)
+ sw $27, symbol($27)
+
+ .set at=$2
+ lw $27, 0x7fff($27)
+ sw $27, 0x7fff($27)
+ lw $27, -0x8000($27)
+ sw $27, -0x8000($27)
+ lw $27, 0x8000($27)
+ sw $27, 0x8000($27)
+ lw $27, -0x8001($27)
+ sw $27, -0x8001($27)
+ lw $27, symbol($27)
+ sw $27, symbol($27)
+
+ .set at=$3
+ lw $27, 0x7fff($27)
+ sw $27, 0x7fff($27)
+ lw $27, -0x8000($27)
+ sw $27, -0x8000($27)
+ lw $27, 0x8000($27)
+ sw $27, 0x8000($27)
+ lw $27, -0x8001($27)
+ sw $27, -0x8001($27)
+ lw $27, symbol($27)
+ sw $27, symbol($27)
+
+ .set at=$a0
+ lw $27, 0x7fff($27)
+ sw $27, 0x7fff($27)
+ lw $27, -0x8000($27)
+ sw $27, -0x8000($27)
+ lw $27, 0x8000($27)
+ sw $27, 0x8000($27)
+ lw $27, -0x8001($27)
+ sw $27, -0x8001($27)
+ lw $27, symbol($27)
+ sw $27, symbol($27)
+
+ .set at=$a1
+ lw $27, 0x7fff($27)
+ sw $27, 0x7fff($27)
+ lw $27, -0x8000($27)
+ sw $27, -0x8000($27)
+ lw $27, 0x8000($27)
+ sw $27, 0x8000($27)
+ lw $27, -0x8001($27)
+ sw $27, -0x8001($27)
+ lw $27, symbol($27)
+ sw $27, symbol($27)
+
+ .set at=$a2
+ lw $27, 0x7fff($27)
+ sw $27, 0x7fff($27)
+ lw $27, -0x8000($27)
+ sw $27, -0x8000($27)
+ lw $27, 0x8000($27)
+ sw $27, 0x8000($27)
+ lw $27, -0x8001($27)
+ sw $27, -0x8001($27)
+ lw $27, symbol($27)
+ sw $27, symbol($27)
+
+ .set at=$a3
+ lw $27, 0x7fff($27)
+ sw $27, 0x7fff($27)
+ lw $27, -0x8000($27)
+ sw $27, -0x8000($27)
+ lw $27, 0x8000($27)
+ sw $27, 0x8000($27)
+ lw $27, -0x8001($27)
+ sw $27, -0x8001($27)
+ lw $27, symbol($27)
+ sw $27, symbol($27)
+
+ .set at=$8
+ lw $27, 0x7fff($27)
+ sw $27, 0x7fff($27)
+ lw $27, -0x8000($27)
+ sw $27, -0x8000($27)
+ lw $27, 0x8000($27)
+ sw $27, 0x8000($27)
+ lw $27, -0x8001($27)
+ sw $27, -0x8001($27)
+ lw $27, symbol($27)
+ sw $27, symbol($27)
+
+ .set at=$9
+ lw $27, 0x7fff($27)
+ sw $27, 0x7fff($27)
+ lw $27, -0x8000($27)
+ sw $27, -0x8000($27)
+ lw $27, 0x8000($27)
+ sw $27, 0x8000($27)
+ lw $27, -0x8001($27)
+ sw $27, -0x8001($27)
+ lw $27, symbol($27)
+ sw $27, symbol($27)
+
+ .set at=$10
+ lw $27, 0x7fff($27)
+ sw $27, 0x7fff($27)
+ lw $27, -0x8000($27)
+ sw $27, -0x8000($27)
+ lw $27, 0x8000($27)
+ sw $27, 0x8000($27)
+ lw $27, -0x8001($27)
+ sw $27, -0x8001($27)
+ lw $27, symbol($27)
+ sw $27, symbol($27)
+
+ .set at=$11
+ lw $27, 0x7fff($27)
+ sw $27, 0x7fff($27)
+ lw $27, -0x8000($27)
+ sw $27, -0x8000($27)
+ lw $27, 0x8000($27)
+ sw $27, 0x8000($27)
+ lw $27, -0x8001($27)
+ sw $27, -0x8001($27)
+ lw $27, symbol($27)
+ sw $27, symbol($27)
+
+ .set at=$12
+ lw $27, 0x7fff($27)
+ sw $27, 0x7fff($27)
+ lw $27, -0x8000($27)
+ sw $27, -0x8000($27)
+ lw $27, 0x8000($27)
+ sw $27, 0x8000($27)
+ lw $27, -0x8001($27)
+ sw $27, -0x8001($27)
+ lw $27, symbol($27)
+ sw $27, symbol($27)
+
+ .set at=$13
+ lw $27, 0x7fff($27)
+ sw $27, 0x7fff($27)
+ lw $27, -0x8000($27)
+ sw $27, -0x8000($27)
+ lw $27, 0x8000($27)
+ sw $27, 0x8000($27)
+ lw $27, -0x8001($27)
+ sw $27, -0x8001($27)
+ lw $27, symbol($27)
+ sw $27, symbol($27)
+
+ .set at=$14
+ lw $27, 0x7fff($27)
+ sw $27, 0x7fff($27)
+ lw $27, -0x8000($27)
+ sw $27, -0x8000($27)
+ lw $27, 0x8000($27)
+ sw $27, 0x8000($27)
+ lw $27, -0x8001($27)
+ sw $27, -0x8001($27)
+ lw $27, symbol($27)
+ sw $27, symbol($27)
+
+ .set at=$15
+ lw $27, 0x7fff($27)
+ sw $27, 0x7fff($27)
+ lw $27, -0x8000($27)
+ sw $27, -0x8000($27)
+ lw $27, 0x8000($27)
+ sw $27, 0x8000($27)
+ lw $27, -0x8001($27)
+ sw $27, -0x8001($27)
+ lw $27, symbol($27)
+ sw $27, symbol($27)
+
+ .set at=$s0
+ lw $27, 0x7fff($27)
+ sw $27, 0x7fff($27)
+ lw $27, -0x8000($27)
+ sw $27, -0x8000($27)
+ lw $27, 0x8000($27)
+ sw $27, 0x8000($27)
+ lw $27, -0x8001($27)
+ sw $27, -0x8001($27)
+ lw $27, symbol($27)
+ sw $27, symbol($27)
+
+ .set at=$s1
+ lw $27, 0x7fff($27)
+ sw $27, 0x7fff($27)
+ lw $27, -0x8000($27)
+ sw $27, -0x8000($27)
+ lw $27, 0x8000($27)
+ sw $27, 0x8000($27)
+ lw $27, -0x8001($27)
+ sw $27, -0x8001($27)
+ lw $27, symbol($27)
+ sw $27, symbol($27)
+
+ .set at=$s2
+ lw $27, 0x7fff($27)
+ sw $27, 0x7fff($27)
+ lw $27, -0x8000($27)
+ sw $27, -0x8000($27)
+ lw $27, 0x8000($27)
+ sw $27, 0x8000($27)
+ lw $27, -0x8001($27)
+ sw $27, -0x8001($27)
+ lw $27, symbol($27)
+ sw $27, symbol($27)
+
+ .set at=$s3
+ lw $27, 0x7fff($27)
+ sw $27, 0x7fff($27)
+ lw $27, -0x8000($27)
+ sw $27, -0x8000($27)
+ lw $27, 0x8000($27)
+ sw $27, 0x8000($27)
+ lw $27, -0x8001($27)
+ sw $27, -0x8001($27)
+ lw $27, symbol($27)
+ sw $27, symbol($27)
+
+ .set at=$s4
+ lw $27, 0x7fff($27)
+ sw $27, 0x7fff($27)
+ lw $27, -0x8000($27)
+ sw $27, -0x8000($27)
+ lw $27, 0x8000($27)
+ sw $27, 0x8000($27)
+ lw $27, -0x8001($27)
+ sw $27, -0x8001($27)
+ lw $27, symbol($27)
+ sw $27, symbol($27)
+
+ .set at=$s5
+ lw $27, 0x7fff($27)
+ sw $27, 0x7fff($27)
+ lw $27, -0x8000($27)
+ sw $27, -0x8000($27)
+ lw $27, 0x8000($27)
+ sw $27, 0x8000($27)
+ lw $27, -0x8001($27)
+ sw $27, -0x8001($27)
+ lw $27, symbol($27)
+ sw $27, symbol($27)
+
+ .set at=$s6
+ lw $27, 0x7fff($27)
+ sw $27, 0x7fff($27)
+ lw $27, -0x8000($27)
+ sw $27, -0x8000($27)
+ lw $27, 0x8000($27)
+ sw $27, 0x8000($27)
+ lw $27, -0x8001($27)
+ sw $27, -0x8001($27)
+ lw $27, symbol($27)
+ sw $27, symbol($27)
+
+ .set at=$s7
+ lw $27, 0x7fff($27)
+ sw $27, 0x7fff($27)
+ lw $27, -0x8000($27)
+ sw $27, -0x8000($27)
+ lw $27, 0x8000($27)
+ sw $27, 0x8000($27)
+ lw $27, -0x8001($27)
+ sw $27, -0x8001($27)
+ lw $27, symbol($27)
+ sw $27, symbol($27)
+
+ .set at=$24
+ lw $27, 0x7fff($27)
+ sw $27, 0x7fff($27)
+ lw $27, -0x8000($27)
+ sw $27, -0x8000($27)
+ lw $27, 0x8000($27)
+ sw $27, 0x8000($27)
+ lw $27, -0x8001($27)
+ sw $27, -0x8001($27)
+ lw $27, symbol($27)
+ sw $27, symbol($27)
+
+ .set at=$25
+ lw $27, 0x7fff($27)
+ sw $27, 0x7fff($27)
+ lw $27, -0x8000($27)
+ sw $27, -0x8000($27)
+ lw $27, 0x8000($27)
+ sw $27, 0x8000($27)
+ lw $27, -0x8001($27)
+ sw $27, -0x8001($27)
+ lw $27, symbol($27)
+ sw $27, symbol($27)
+
+ .set at=$26
+ lw $27, 0x7fff($27)
+ sw $27, 0x7fff($27)
+ lw $27, -0x8000($27)
+ sw $27, -0x8000($27)
+ lw $27, 0x8000($27)
+ sw $27, 0x8000($27)
+ lw $27, -0x8001($27)
+ sw $27, -0x8001($27)
+ lw $27, symbol($27)
+ sw $27, symbol($27)
+
+ .set at=$27
+ lw $26, 0x7fff($26)
+ sw $26, 0x7fff($26)
+ lw $26, -0x8000($26)
+ sw $26, -0x8000($26)
+ lw $26, 0x8000($26)
+ sw $26, 0x8000($26)
+ lw $26, -0x8001($26)
+ sw $26, -0x8001($26)
+ lw $26, symbol($26)
+ sw $26, symbol($26)
+
+ .set at=$gp
+ lw $27, 0x7fff($27)
+ sw $27, 0x7fff($27)
+ lw $27, -0x8000($27)
+ sw $27, -0x8000($27)
+ lw $27, 0x8000($27)
+ sw $27, 0x8000($27)
+ lw $27, -0x8001($27)
+ sw $27, -0x8001($27)
+ lw $27, symbol($27)
+ sw $27, symbol($27)
+
+ .set at=$fp
+ lw $27, 0x7fff($27)
+ sw $27, 0x7fff($27)
+ lw $27, -0x8000($27)
+ sw $27, -0x8000($27)
+ lw $27, 0x8000($27)
+ sw $27, 0x8000($27)
+ lw $27, -0x8001($27)
+ sw $27, -0x8001($27)
+ lw $27, symbol($27)
+ sw $27, symbol($27)
+
+ .set at=$sp
+ lw $27, 0x7fff($27)
+ sw $27, 0x7fff($27)
+ lw $27, -0x8000($27)
+ sw $27, -0x8000($27)
+ lw $27, 0x8000($27)
+ sw $27, 0x8000($27)
+ lw $27, -0x8001($27)
+ sw $27, -0x8001($27)
+ lw $27, symbol($27)
+ sw $27, symbol($27)
+
+ .set at=$ra
+ lw $27, 0x7fff($27)
+ sw $27, 0x7fff($27)
+ lw $27, -0x8000($27)
+ sw $27, -0x8000($27)
+ lw $27, 0x8000($27)
+ sw $27, 0x8000($27)
+ lw $27, -0x8001($27)
+ sw $27, -0x8001($27)
+ lw $27, symbol($27)
+ sw $27, symbol($27)
+
+ .set at
+ lw $27, 0x7fff($27)
+ sw $27, 0x7fff($27)
+ lw $27, -0x8000($27)
+ sw $27, -0x8000($27)
+ lw $27, 0x8000($27)
+ sw $27, 0x8000($27)
+ lw $27, -0x8001($27)
+ sw $27, -0x8001($27)
+ lw $27, symbol($27)
+ sw $27, symbol($27)
+
+# Force at least 8 (non-delay-slot) zero bytes, to make 'objdump' print ...
+ .space 8
diff --git a/gas/testsuite/gas/mips/at-2.l b/gas/testsuite/gas/mips/at-2.l
new file mode 100644
index 0000000..f073b1f
--- /dev/null
+++ b/gas/testsuite/gas/mips/at-2.l
@@ -0,0 +1,13 @@
+.*\.s: Assembler messages:
+.*\.s:4: Error: Macro used \$at after ".set noat"
+.*\.s:5: Error: Macro used \$at after ".set noat"
+.*\.s:6: Error: Macro used \$at after ".set noat"
+.*\.s:8: Warning: used \$at without ".set noat"
+.*\.s:8: Warning: used \$at without ".set noat"
+.*\.s:8: Warning: used \$at without ".set noat"
+.*\.s:13: Warning: used \$26 with ".set at=\$26"
+.*\.s:13: Warning: used \$26 with ".set at=\$26"
+.*\.s:13: Warning: used \$26 with ".set at=\$26"
+.*\.s:18: Warning: used \$27 with ".set at=\$27"
+.*\.s:18: Warning: used \$27 with ".set at=\$27"
+.*\.s:18: Warning: used \$27 with ".set at=\$27"
diff --git a/gas/testsuite/gas/mips/at-2.s b/gas/testsuite/gas/mips/at-2.s
new file mode 100644
index 0000000..62978d3
--- /dev/null
+++ b/gas/testsuite/gas/mips/at-2.s
@@ -0,0 +1,21 @@
+ .text
+foo:
+ .set at=$0
+ lw $1, 0x8000($1)
+ lw $26, 0x8000($26)
+ lw $27, 0x8000($27)
+ .set at=$1
+ lw $1, 0x8000($1)
+ lw $26, 0x8000($26)
+ lw $27, 0x8000($27)
+ .set at=$26
+ lw $1, 0x8000($1)
+ lw $26, 0x8000($26)
+ lw $27, 0x8000($27)
+ .set at=$27
+ lw $1, 0x8000($1)
+ lw $26, 0x8000($26)
+ lw $27, 0x8000($27)
+
+# Force at least 8 (non-delay-slot) zero bytes, to make 'objdump' print ...
+ .space 8
diff --git a/gas/testsuite/gas/mips/mips.exp b/gas/testsuite/gas/mips/mips.exp
index 7291197..344e62b 100644
--- a/gas/testsuite/gas/mips/mips.exp
+++ b/gas/testsuite/gas/mips/mips.exp
@@ -749,6 +749,9 @@ if { [istarget mips*-*-vxworks*] } {
run_list_test "noat-6" ""
run_list_test "noat-7" ""
+ run_dump_test "at-1"
+ run_list_test "at-2" "-32 -mips1" "MIPS at-2"
+
run_dump_test_arches "smartmips" [mips_arch_list_matching mips32 !gpr64]
run_dump_test_arches "mips32-dsp" [mips_arch_list_matching mips32r2]
run_dump_test_arches "mips32-dspr2" [mips_arch_list_matching mips32r2]