This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
patch r5900/micromips handling
- From: "Jürgen Urban" <JuergenUrban at gmx dot de>
- To: binutils at sourceware dot org
- Date: Sun, 27 Jan 2013 23:33:20 +0100
- Subject: patch r5900/micromips handling
Hello,
the attached patch was requested by Maciej W. Rozycki. As requested this fixes the micromips handling and disables ll, sc, lld and scd on the r5900.
This also enables l.d and s.d macros on r5900. This will use lwc1/swc1 to emulate ldc1/sdc1. The largest part of the patch is the test for this and fixing the tests.
The patch need to be applied after the previous one for VU support on r5900.
gas/ChangeLog:
* config/tc-mips.c: Fix micromips and ldc1/sdc1 handling. micromips is globally enabled disabled. Macro for trunc.w.s should not be used on r5900.
gas/testsuite/Changelog:
* gas/mips/24k-triple-stores-2.d gas/mips/24k-triple-stores-2.s gas/mips/micromips@24k-triple-stores-2.d gas/mips/24k-triple-stores-2-llsc.d gas/mips/24k-triple-stores-2-llsc.s: Move "sc" tests to separate file.
* gas/mips/l_d-single.d gas/mips/s_d-single.d: Verify l.d and s.d macros on singlefloat (r5900).
* gas/testsuite/gas/mips/mips.exp: Run "sc" tests on machines supporting it. Run "nollsc" tests on r5900.
* gas/mips/r5900-full.d gas/mips/r5900-full.s: Verify that mips ISA level can be upgraded to support ll, sc, lld and scd.
* gas/mips/r5900-nollsc.l gas/mips/r5900-nollsc.s: Verify that ll, sc, lld and scd are disabled on r5900.
opcodes/Changelog:
* mips-opc.c: Disable ll, sc, lld and scd on r5900. Enable l.d and s.d macros on r5900. Disable bad macro for trunc.w.s on r5900, because it is using undefined instructions on r5900.
Best regards
JÃrgen Urban
diff -Nurp binutils-cvs-20130104/gas/config/tc-mips.c binutils-cvs-20130104-mips64el-linux-patched/gas/config/tc-mips.c
--- binutils-cvs-20130104/gas/config/tc-mips.c 2013-01-26 18:28:08.455235967 +0100
+++ binutils-cvs-20130104-mips64el-linux-patched/gas/config/tc-mips.c 2013-01-27 19:54:59.325886227 +0100
@@ -507,6 +507,9 @@ static int mips_32bitmode = 0;
/* True if CPU has seq/sne and seqi/snei instructions. */
#define CPU_HAS_SEQ(CPU) (CPU_IS_OCTEON (CPU))
+/* True, if CPU has support for ldc1 and sdc1. */
+#define CPU_HAS_LDC1_SDC1(CPU) ((mips_opts.isa != ISA_MIPS1) && ((CPU) != CPU_R5900))
+
/* True if mflo and mfhi can be immediately followed by instructions
which write to the HI and LO registers.
@@ -9027,8 +9030,7 @@ macro (struct mips_cl_insn *ip)
s = segment_name (S_GET_SEGMENT (offset_expr.X_add_symbol));
if (strcmp (s, ".lit8") == 0)
{
- if ((mips_opts.isa != ISA_MIPS1 || mips_opts.micromips)
- && (mips_opts.arch != CPU_R5900))
+ if (CPU_HAS_LDC1_SDC1(mips_opts.arch) || mips_opts.micromips)
{
macro_build (&offset_expr, "ldc1", "T,o(b)", treg,
BFD_RELOC_MIPS_LITERAL, mips_gp_register);
@@ -9051,8 +9053,7 @@ macro (struct mips_cl_insn *ip)
macro_build_lui (&offset_expr, AT);
}
- if ((mips_opts.isa != ISA_MIPS1 || mips_opts.micromips)
- && (mips_opts.arch != CPU_R5900))
+ if (CPU_HAS_LDC1_SDC1(mips_opts.arch) || mips_opts.micromips)
{
macro_build (&offset_expr, "ldc1", "T,o(b)",
treg, BFD_RELOC_LO16, AT);
@@ -9069,8 +9070,7 @@ macro (struct mips_cl_insn *ip)
r = BFD_RELOC_LO16;
dob:
gas_assert (!mips_opts.micromips);
- gas_assert ((mips_opts.isa == ISA_MIPS1)
- || (mips_opts.arch == CPU_R5900));
+ gas_assert (!CPU_HAS_LDC1_SDC1(mips_opts.arch));
macro_build (&offset_expr, "lwc1", "T,o(b)",
target_big_endian ? treg + 1 : treg, r, breg);
/* FIXME: A possible overflow which I don't know how to deal
@@ -9082,7 +9082,7 @@ macro (struct mips_cl_insn *ip)
case M_S_DOB:
gas_assert (!mips_opts.micromips);
- gas_assert (mips_opts.isa == ISA_MIPS1);
+ gas_assert (!CPU_HAS_LDC1_SDC1(mips_opts.arch));
/* Even on a big endian machine $fn comes before $fn+1. We have
to adjust when storing to memory. */
macro_build (&offset_expr, "swc1", "T,o(b)",
@@ -9108,7 +9108,7 @@ macro (struct mips_cl_insn *ip)
/* Itbl support may require additional care here. */
coproc = 1;
fmt = "T,o(b)";
- if ((mips_opts.isa != ISA_MIPS1) && (mips_opts.arch != CPU_R5900))
+ if (CPU_HAS_LDC1_SDC1(mips_opts.arch))
{
s = "ldc1";
goto ld_st;
@@ -9121,7 +9121,7 @@ macro (struct mips_cl_insn *ip)
/* Itbl support may require additional care here. */
coproc = 1;
fmt = "T,o(b)";
- if ((mips_opts.isa != ISA_MIPS1) && (mips_opts.arch != CPU_R5900))
+ if (CPU_HAS_LDC1_SDC1(mips_opts.arch))
{
s = "sdc1";
goto ld_st;
@@ -10022,7 +10022,7 @@ macro (struct mips_cl_insn *ip)
case M_TRUNCWS:
case M_TRUNCWD:
gas_assert (!mips_opts.micromips);
- gas_assert ((mips_opts.isa == ISA_MIPS1) || (mips_opts.arch == CPU_R5900));
+ gas_assert (mips_opts.isa == ISA_MIPS1);
used_at = 1;
sreg = (ip->insn_opcode >> 11) & 0x1f; /* floating reg */
dreg = (ip->insn_opcode >> 06) & 0x1f; /* floating reg */
diff -Nurp binutils-cvs-20130104/gas/testsuite/gas/mips/24k-triple-stores-2.d binutils-cvs-20130104-mips64el-linux-patched/gas/testsuite/gas/mips/24k-triple-stores-2.d
--- binutils-cvs-20130104/gas/testsuite/gas/mips/24k-triple-stores-2.d 2013-01-26 18:28:08.515235966 +0100
+++ binutils-cvs-20130104-mips64el-linux-patched/gas/testsuite/gas/mips/24k-triple-stores-2.d 2013-01-26 21:09:39.287223455 +0100
@@ -32,10 +32,4 @@ Disassembly of section .text:
5c: 00000000 nop
60: aba60000 swl a2,0\(sp\)
64: 0000000d break
- 68: e3a20020 sc v0,32\(sp\)
- 6c: e3a30008 sc v1,8\(sp\)
- 70: e3a4fff8 sc a0,-8\(sp\)
- 74: 00000000 nop
- 78: e3a50000 sc a1,0\(sp\)
- 7c: e3a60020 sc a2,32\(sp\)
\.\.\.
diff -Nurp binutils-cvs-20130104/gas/testsuite/gas/mips/24k-triple-stores-2.s binutils-cvs-20130104-mips64el-linux-patched/gas/testsuite/gas/mips/24k-triple-stores-2.s
--- binutils-cvs-20130104/gas/testsuite/gas/mips/24k-triple-stores-2.s 2013-01-26 18:28:08.503235967 +0100
+++ binutils-cvs-20130104-mips64el-linux-patched/gas/testsuite/gas/mips/24k-triple-stores-2.s 2013-01-26 21:08:44.343223485 +0100
@@ -28,12 +28,6 @@ foo:
swl $6,0($sp)
break
- sc $2,32($sp)
- sc $3,8($sp)
- sc $4,-8($sp)
- sc $5,0($sp)
- sc $6,32($sp)
-
# Force at least 8 (non-delay-slot) zero bytes, to make 'objdump' print ...
.align 2
.space 8
diff -Nurp binutils-cvs-20130104/gas/testsuite/gas/mips/24k-triple-stores-2-llsc.d binutils-cvs-20130104-mips64el-linux-patched/gas/testsuite/gas/mips/24k-triple-stores-2-llsc.d
--- binutils-cvs-20130104/gas/testsuite/gas/mips/24k-triple-stores-2-llsc.d 1970-01-01 01:00:00.000000000 +0100
+++ binutils-cvs-20130104-mips64el-linux-patched/gas/testsuite/gas/mips/24k-triple-stores-2-llsc.d 2013-01-26 21:10:13.495223335 +0100
@@ -0,0 +1,15 @@
+#objdump: -dr
+#as: -mfix-24k -32
+#name: 24K: Triple Store (Range Check, sc)
+
+.*: +file format .*mips.*
+
+Disassembly of section .text:
+0+ <.*>:
+ 0: e3a20020 sc v0,32\(sp\)
+ 4: e3a30008 sc v1,8\(sp\)
+ 8: e3a4fff8 sc a0,-8\(sp\)
+ c: 00000000 nop
+ 10: e3a50000 sc a1,0\(sp\)
+ 14: e3a60020 sc a2,32\(sp\)
+ \.\.\.
diff -Nurp binutils-cvs-20130104/gas/testsuite/gas/mips/24k-triple-stores-2-llsc.s binutils-cvs-20130104-mips64el-linux-patched/gas/testsuite/gas/mips/24k-triple-stores-2-llsc.s
--- binutils-cvs-20130104/gas/testsuite/gas/mips/24k-triple-stores-2-llsc.s 1970-01-01 01:00:00.000000000 +0100
+++ binutils-cvs-20130104-mips64el-linux-patched/gas/testsuite/gas/mips/24k-triple-stores-2-llsc.s 2013-01-26 21:09:08.567223421 +0100
@@ -0,0 +1,12 @@
+# Check for range (sc)
+
+foo:
+ sc $2,32($sp)
+ sc $3,8($sp)
+ sc $4,-8($sp)
+ sc $5,0($sp)
+ sc $6,32($sp)
+
+# Force at least 8 (non-delay-slot) zero bytes, to make 'objdump' print ...
+ .align 2
+ .space 8
diff -Nurp binutils-cvs-20130104/gas/testsuite/gas/mips/l_d-single.d binutils-cvs-20130104-mips64el-linux-patched/gas/testsuite/gas/mips/l_d-single.d
--- binutils-cvs-20130104/gas/testsuite/gas/mips/l_d-single.d 1970-01-01 01:00:00.000000000 +0100
+++ binutils-cvs-20130104-mips64el-linux-patched/gas/testsuite/gas/mips/l_d-single.d 2013-01-27 20:58:58.997881268 +0100
@@ -0,0 +1,566 @@
+#objdump: -dr --prefix-addresses
+#as: -32 --defsym tl_d=1
+#name: MIPS l.d singlefloat
+#source: ld.s
+
+# Test the l.d macro on system without ldc1 and sdc1:
+
+.*: +file format .*mips.*
+
+Disassembly of section \.text:
+[0-9a-f]+ <[^>]*> lwc1 \$f4,0\(zero\)
+[0-9a-f]+ <[^>]*> lwc1 \$f5,4\(zero\)
+[0-9a-f]+ <[^>]*> lwc1 \$f4,1\(zero\)
+[0-9a-f]+ <[^>]*> lwc1 \$f5,5\(zero\)
+[0-9a-f]+ <[^>]*> lui at,0x1
+[0-9a-f]+ <[^>]*> lwc1 \$f4,-32768\(at\)
+[0-9a-f]+ <[^>]*> lwc1 \$f5,-32764\(at\)
+[0-9a-f]+ <[^>]*> lwc1 \$f4,-32768\(zero\)
+[0-9a-f]+ <[^>]*> lwc1 \$f5,-32764\(zero\)
+[0-9a-f]+ <[^>]*> lui at,0x1
+[0-9a-f]+ <[^>]*> lwc1 \$f4,0\(at\)
+[0-9a-f]+ <[^>]*> lwc1 \$f5,4\(at\)
+[0-9a-f]+ <[^>]*> lui at,0x2
+[0-9a-f]+ <[^>]*> lwc1 \$f4,-23131\(at\)
+[0-9a-f]+ <[^>]*> lwc1 \$f5,-23127\(at\)
+[0-9a-f]+ <[^>]*> lwc1 \$f4,0\(a1\)
+[0-9a-f]+ <[^>]*> lwc1 \$f5,4\(a1\)
+[0-9a-f]+ <[^>]*> lwc1 \$f4,1\(a1\)
+[0-9a-f]+ <[^>]*> lwc1 \$f5,5\(a1\)
+[0-9a-f]+ <[^>]*> lui at,0x1
+[0-9a-f]+ <[^>]*> addu at,a1,at
+[0-9a-f]+ <[^>]*> lwc1 \$f4,-32768\(at\)
+[0-9a-f]+ <[^>]*> lwc1 \$f5,-32764\(at\)
+[0-9a-f]+ <[^>]*> lwc1 \$f4,-32768\(a1\)
+[0-9a-f]+ <[^>]*> lwc1 \$f5,-32764\(a1\)
+[0-9a-f]+ <[^>]*> lui at,0x1
+[0-9a-f]+ <[^>]*> addu at,a1,at
+[0-9a-f]+ <[^>]*> lwc1 \$f4,0\(at\)
+[0-9a-f]+ <[^>]*> lwc1 \$f5,4\(at\)
+[0-9a-f]+ <[^>]*> lui at,0x2
+[0-9a-f]+ <[^>]*> addu at,a1,at
+[0-9a-f]+ <[^>]*> lwc1 \$f4,-23131\(at\)
+[0-9a-f]+ <[^>]*> lwc1 \$f5,-23127\(at\)
+[0-9a-f]+ <[^>]*> lui at,0x0
+ [0-9a-f]+: (R_(MICRO)?MIPS_HI16|REFHI) \.data
+[0-9a-f]+ <[^>]*> lwc1 \$f4,0\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) \.data
+[0-9a-f]+ <[^>]*> lwc1 \$f5,4\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) \.data
+[0-9a-f]+ <[^>]*> lui at,0x0
+ [0-9a-f]+: (R_(MICRO)?MIPS_HI16|REFHI) big_external_data_label
+[0-9a-f]+ <[^>]*> lwc1 \$f4,0\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) big_external_data_label
+[0-9a-f]+ <[^>]*> lwc1 \$f5,4\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) big_external_data_label
+[0-9a-f]+ <[^>]*> lwc1 \$f4,0\(gp\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_GPREL16|GPREL) small_external_data_label
+[0-9a-f]+ <[^>]*> lwc1 \$f5,4\(gp\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_GPREL16|GPREL) small_external_data_label
+[0-9a-f]+ <[^>]*> lui at,0x0
+ [0-9a-f]+: (R_(MICRO)?MIPS_HI16|REFHI) big_external_common
+[0-9a-f]+ <[^>]*> lwc1 \$f4,0\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) big_external_common
+[0-9a-f]+ <[^>]*> lwc1 \$f5,4\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) big_external_common
+[0-9a-f]+ <[^>]*> lwc1 \$f4,0\(gp\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_GPREL16|GPREL) small_external_common
+[0-9a-f]+ <[^>]*> lwc1 \$f5,4\(gp\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_GPREL16|GPREL) small_external_common
+[0-9a-f]+ <[^>]*> lui at,0x0
+ [0-9a-f]+: (R_(MICRO)?MIPS_HI16|REFHI) \.bss
+[0-9a-f]+ <[^>]*> lwc1 \$f4,0\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) \.bss
+[0-9a-f]+ <[^>]*> lwc1 \$f5,4\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) \.bss
+[0-9a-f]+ <[^>]*> lwc1 \$f4,0\(gp\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_GPREL16|GPREL) \.sbss
+[0-9a-f]+ <[^>]*> lwc1 \$f5,4\(gp\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_GPREL16|GPREL) \.sbss
+[0-9a-f]+ <[^>]*> lui at,0x0
+ [0-9a-f]+: (R_(MICRO)?MIPS_HI16|REFHI) \.data
+[0-9a-f]+ <[^>]*> lwc1 \$f4,1\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) \.data
+[0-9a-f]+ <[^>]*> lwc1 \$f5,5\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) \.data
+[0-9a-f]+ <[^>]*> lui at,0x0
+ [0-9a-f]+: (R_(MICRO)?MIPS_HI16|REFHI) big_external_data_label
+[0-9a-f]+ <[^>]*> lwc1 \$f4,1\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) big_external_data_label
+[0-9a-f]+ <[^>]*> lwc1 \$f5,5\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) big_external_data_label
+[0-9a-f]+ <[^>]*> lwc1 \$f4,1\(gp\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_GPREL16|GPREL) small_external_data_label
+[0-9a-f]+ <[^>]*> lwc1 \$f5,5\(gp\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_GPREL16|GPREL) small_external_data_label
+[0-9a-f]+ <[^>]*> lui at,0x0
+ [0-9a-f]+: (R_(MICRO)?MIPS_HI16|REFHI) big_external_common
+[0-9a-f]+ <[^>]*> lwc1 \$f4,1\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) big_external_common
+[0-9a-f]+ <[^>]*> lwc1 \$f5,5\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) big_external_common
+[0-9a-f]+ <[^>]*> lwc1 \$f4,1\(gp\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_GPREL16|GPREL) small_external_common
+[0-9a-f]+ <[^>]*> lwc1 \$f5,5\(gp\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_GPREL16|GPREL) small_external_common
+[0-9a-f]+ <[^>]*> lui at,0x0
+ [0-9a-f]+: (R_(MICRO)?MIPS_HI16|REFHI) \.bss
+[0-9a-f]+ <[^>]*> lwc1 \$f4,1\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) \.bss
+[0-9a-f]+ <[^>]*> lwc1 \$f5,5\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) \.bss
+[0-9a-f]+ <[^>]*> lwc1 \$f4,1\(gp\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_GPREL16|GPREL) \.sbss
+[0-9a-f]+ <[^>]*> lwc1 \$f5,5\(gp\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_GPREL16|GPREL) \.sbss
+[0-9a-f]+ <[^>]*> lui at,0x1
+ [0-9a-f]+: (R_(MICRO)?MIPS_HI16|REFHI) \.data
+[0-9a-f]+ <[^>]*> lwc1 \$f4,-32768\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) \.data
+[0-9a-f]+ <[^>]*> lwc1 \$f5,-32764\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) \.data
+[0-9a-f]+ <[^>]*> lui at,0x1
+ [0-9a-f]+: (R_(MICRO)?MIPS_HI16|REFHI) big_external_data_label
+[0-9a-f]+ <[^>]*> lwc1 \$f4,-32768\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) big_external_data_label
+[0-9a-f]+ <[^>]*> lwc1 \$f5,-32764\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) big_external_data_label
+[0-9a-f]+ <[^>]*> lui at,0x1
+ [0-9a-f]+: (R_(MICRO)?MIPS_HI16|REFHI) small_external_data_label
+[0-9a-f]+ <[^>]*> lwc1 \$f4,-32768\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) small_external_data_label
+[0-9a-f]+ <[^>]*> lwc1 \$f5,-32764\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) small_external_data_label
+[0-9a-f]+ <[^>]*> lui at,0x1
+ [0-9a-f]+: (R_(MICRO)?MIPS_HI16|REFHI) big_external_common
+[0-9a-f]+ <[^>]*> lwc1 \$f4,-32768\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) big_external_common
+[0-9a-f]+ <[^>]*> lwc1 \$f5,-32764\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) big_external_common
+[0-9a-f]+ <[^>]*> lui at,0x1
+ [0-9a-f]+: (R_(MICRO)?MIPS_HI16|REFHI) small_external_common
+[0-9a-f]+ <[^>]*> lwc1 \$f4,-32768\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) small_external_common
+[0-9a-f]+ <[^>]*> lwc1 \$f5,-32764\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) small_external_common
+[0-9a-f]+ <[^>]*> lui at,0x1
+ [0-9a-f]+: (R_(MICRO)?MIPS_HI16|REFHI) \.bss
+[0-9a-f]+ <[^>]*> lwc1 \$f4,-32768\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) \.bss
+[0-9a-f]+ <[^>]*> lwc1 \$f5,-32764\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) \.bss
+[0-9a-f]+ <[^>]*> lui at,0x1
+ [0-9a-f]+: (R_(MICRO)?MIPS_HI16|REFHI) \.sbss
+[0-9a-f]+ <[^>]*> lwc1 \$f4,-32768\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) \.sbss
+[0-9a-f]+ <[^>]*> lwc1 \$f5,-32764\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) \.sbss
+[0-9a-f]+ <[^>]*> lui at,0x0
+ [0-9a-f]+: (R_(MICRO)?MIPS_HI16|REFHI) \.data
+[0-9a-f]+ <[^>]*> lwc1 \$f4,-32768\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) \.data
+[0-9a-f]+ <[^>]*> lwc1 \$f5,-32764\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) \.data
+[0-9a-f]+ <[^>]*> lui at,0x0
+ [0-9a-f]+: (R_(MICRO)?MIPS_HI16|REFHI) big_external_data_label
+[0-9a-f]+ <[^>]*> lwc1 \$f4,-32768\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) big_external_data_label
+[0-9a-f]+ <[^>]*> lwc1 \$f5,-32764\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) big_external_data_label
+[0-9a-f]+ <[^>]*> lui at,0x0
+ [0-9a-f]+: (R_(MICRO)?MIPS_HI16|REFHI) small_external_data_label
+[0-9a-f]+ <[^>]*> lwc1 \$f4,-32768\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) small_external_data_label
+[0-9a-f]+ <[^>]*> lwc1 \$f5,-32764\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) small_external_data_label
+[0-9a-f]+ <[^>]*> lui at,0x0
+ [0-9a-f]+: (R_(MICRO)?MIPS_HI16|REFHI) big_external_common
+[0-9a-f]+ <[^>]*> lwc1 \$f4,-32768\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) big_external_common
+[0-9a-f]+ <[^>]*> lwc1 \$f5,-32764\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) big_external_common
+[0-9a-f]+ <[^>]*> lui at,0x0
+ [0-9a-f]+: (R_(MICRO)?MIPS_HI16|REFHI) small_external_common
+[0-9a-f]+ <[^>]*> lwc1 \$f4,-32768\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) small_external_common
+[0-9a-f]+ <[^>]*> lwc1 \$f5,-32764\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) small_external_common
+[0-9a-f]+ <[^>]*> lui at,0x0
+ [0-9a-f]+: (R_(MICRO)?MIPS_HI16|REFHI) \.bss
+[0-9a-f]+ <[^>]*> lwc1 \$f4,-32768\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) \.bss
+[0-9a-f]+ <[^>]*> lwc1 \$f5,-32764\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) \.bss
+[0-9a-f]+ <[^>]*> lui at,0x0
+ [0-9a-f]+: (R_(MICRO)?MIPS_HI16|REFHI) \.sbss
+[0-9a-f]+ <[^>]*> lwc1 \$f4,-32768\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) \.sbss
+[0-9a-f]+ <[^>]*> lwc1 \$f5,-32764\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) \.sbss
+[0-9a-f]+ <[^>]*> lui at,0x1
+ [0-9a-f]+: (R_(MICRO)?MIPS_HI16|REFHI) \.data
+[0-9a-f]+ <[^>]*> lwc1 \$f4,0\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) \.data
+[0-9a-f]+ <[^>]*> lwc1 \$f5,4\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) \.data
+[0-9a-f]+ <[^>]*> lui at,0x1
+ [0-9a-f]+: (R_(MICRO)?MIPS_HI16|REFHI) big_external_data_label
+[0-9a-f]+ <[^>]*> lwc1 \$f4,0\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) big_external_data_label
+[0-9a-f]+ <[^>]*> lwc1 \$f5,4\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) big_external_data_label
+[0-9a-f]+ <[^>]*> lui at,0x1
+ [0-9a-f]+: (R_(MICRO)?MIPS_HI16|REFHI) small_external_data_label
+[0-9a-f]+ <[^>]*> lwc1 \$f4,0\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) small_external_data_label
+[0-9a-f]+ <[^>]*> lwc1 \$f5,4\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) small_external_data_label
+[0-9a-f]+ <[^>]*> lui at,0x1
+ [0-9a-f]+: (R_(MICRO)?MIPS_HI16|REFHI) big_external_common
+[0-9a-f]+ <[^>]*> lwc1 \$f4,0\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) big_external_common
+[0-9a-f]+ <[^>]*> lwc1 \$f5,4\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) big_external_common
+[0-9a-f]+ <[^>]*> lui at,0x1
+ [0-9a-f]+: (R_(MICRO)?MIPS_HI16|REFHI) small_external_common
+[0-9a-f]+ <[^>]*> lwc1 \$f4,0\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) small_external_common
+[0-9a-f]+ <[^>]*> lwc1 \$f5,4\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) small_external_common
+[0-9a-f]+ <[^>]*> lui at,0x1
+ [0-9a-f]+: (R_(MICRO)?MIPS_HI16|REFHI) \.bss
+[0-9a-f]+ <[^>]*> lwc1 \$f4,0\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) \.bss
+[0-9a-f]+ <[^>]*> lwc1 \$f5,4\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) \.bss
+[0-9a-f]+ <[^>]*> lui at,0x1
+ [0-9a-f]+: (R_(MICRO)?MIPS_HI16|REFHI) \.sbss
+[0-9a-f]+ <[^>]*> lwc1 \$f4,0\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) \.sbss
+[0-9a-f]+ <[^>]*> lwc1 \$f5,4\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) \.sbss
+[0-9a-f]+ <[^>]*> lui at,0x2
+ [0-9a-f]+: (R_(MICRO)?MIPS_HI16|REFHI) \.data
+[0-9a-f]+ <[^>]*> lwc1 \$f4,-23131\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) \.data
+[0-9a-f]+ <[^>]*> lwc1 \$f5,-23127\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) \.data
+[0-9a-f]+ <[^>]*> lui at,0x2
+ [0-9a-f]+: (R_(MICRO)?MIPS_HI16|REFHI) big_external_data_label
+[0-9a-f]+ <[^>]*> lwc1 \$f4,-23131\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) big_external_data_label
+[0-9a-f]+ <[^>]*> lwc1 \$f5,-23127\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) big_external_data_label
+[0-9a-f]+ <[^>]*> lui at,0x2
+ [0-9a-f]+: (R_(MICRO)?MIPS_HI16|REFHI) small_external_data_label
+[0-9a-f]+ <[^>]*> lwc1 \$f4,-23131\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) small_external_data_label
+[0-9a-f]+ <[^>]*> lwc1 \$f5,-23127\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) small_external_data_label
+[0-9a-f]+ <[^>]*> lui at,0x2
+ [0-9a-f]+: (R_(MICRO)?MIPS_HI16|REFHI) big_external_common
+[0-9a-f]+ <[^>]*> lwc1 \$f4,-23131\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) big_external_common
+[0-9a-f]+ <[^>]*> lwc1 \$f5,-23127\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) big_external_common
+[0-9a-f]+ <[^>]*> lui at,0x2
+ [0-9a-f]+: (R_(MICRO)?MIPS_HI16|REFHI) small_external_common
+[0-9a-f]+ <[^>]*> lwc1 \$f4,-23131\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) small_external_common
+[0-9a-f]+ <[^>]*> lwc1 \$f5,-23127\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) small_external_common
+[0-9a-f]+ <[^>]*> lui at,0x2
+ [0-9a-f]+: (R_(MICRO)?MIPS_HI16|REFHI) \.bss
+[0-9a-f]+ <[^>]*> lwc1 \$f4,-23131\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) \.bss
+[0-9a-f]+ <[^>]*> lwc1 \$f5,-23127\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) \.bss
+[0-9a-f]+ <[^>]*> lui at,0x2
+ [0-9a-f]+: (R_(MICRO)?MIPS_HI16|REFHI) \.sbss
+[0-9a-f]+ <[^>]*> lwc1 \$f4,-23131\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) \.sbss
+[0-9a-f]+ <[^>]*> lwc1 \$f5,-23127\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) \.sbss
+[0-9a-f]+ <[^>]*> lui at,0x0
+ [0-9a-f]+: (R_(MICRO)?MIPS_HI16|REFHI) \.data
+[0-9a-f]+ <[^>]*> addu at,a1,at
+[0-9a-f]+ <[^>]*> lwc1 \$f4,0\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) \.data
+[0-9a-f]+ <[^>]*> lwc1 \$f5,4\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) \.data
+[0-9a-f]+ <[^>]*> lui at,0x0
+ [0-9a-f]+: (R_(MICRO)?MIPS_HI16|REFHI) big_external_data_label
+[0-9a-f]+ <[^>]*> addu at,a1,at
+[0-9a-f]+ <[^>]*> lwc1 \$f4,0\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) big_external_data_label
+[0-9a-f]+ <[^>]*> lwc1 \$f5,4\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) big_external_data_label
+[0-9a-f]+ <[^>]*> addu at,a1,gp
+[0-9a-f]+ <[^>]*> lwc1 \$f4,0\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_GPREL16|GPREL) small_external_data_label
+[0-9a-f]+ <[^>]*> lwc1 \$f5,4\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_GPREL16|GPREL) small_external_data_label
+[0-9a-f]+ <[^>]*> lui at,0x0
+ [0-9a-f]+: (R_(MICRO)?MIPS_HI16|REFHI) big_external_common
+[0-9a-f]+ <[^>]*> addu at,a1,at
+[0-9a-f]+ <[^>]*> lwc1 \$f4,0\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) big_external_common
+[0-9a-f]+ <[^>]*> lwc1 \$f5,4\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) big_external_common
+[0-9a-f]+ <[^>]*> addu at,a1,gp
+[0-9a-f]+ <[^>]*> lwc1 \$f4,0\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_GPREL16|GPREL) small_external_common
+[0-9a-f]+ <[^>]*> lwc1 \$f5,4\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_GPREL16|GPREL) small_external_common
+[0-9a-f]+ <[^>]*> lui at,0x0
+ [0-9a-f]+: (R_(MICRO)?MIPS_HI16|REFHI) \.bss
+[0-9a-f]+ <[^>]*> addu at,a1,at
+[0-9a-f]+ <[^>]*> lwc1 \$f4,0\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) \.bss
+[0-9a-f]+ <[^>]*> lwc1 \$f5,4\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) \.bss
+[0-9a-f]+ <[^>]*> addu at,a1,gp
+[0-9a-f]+ <[^>]*> lwc1 \$f4,0\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_GPREL16|GPREL) \.sbss
+[0-9a-f]+ <[^>]*> lwc1 \$f5,4\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_GPREL16|GPREL) \.sbss
+[0-9a-f]+ <[^>]*> lui at,0x0
+ [0-9a-f]+: (R_(MICRO)?MIPS_HI16|REFHI) \.data
+[0-9a-f]+ <[^>]*> addu at,a1,at
+[0-9a-f]+ <[^>]*> lwc1 \$f4,1\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) \.data
+[0-9a-f]+ <[^>]*> lwc1 \$f5,5\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) \.data
+[0-9a-f]+ <[^>]*> lui at,0x0
+ [0-9a-f]+: (R_(MICRO)?MIPS_HI16|REFHI) big_external_data_label
+[0-9a-f]+ <[^>]*> addu at,a1,at
+[0-9a-f]+ <[^>]*> lwc1 \$f4,1\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) big_external_data_label
+[0-9a-f]+ <[^>]*> lwc1 \$f5,5\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) big_external_data_label
+[0-9a-f]+ <[^>]*> addu at,a1,gp
+[0-9a-f]+ <[^>]*> lwc1 \$f4,1\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_GPREL16|GPREL) small_external_data_label
+[0-9a-f]+ <[^>]*> lwc1 \$f5,5\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_GPREL16|GPREL) small_external_data_label
+[0-9a-f]+ <[^>]*> lui at,0x0
+ [0-9a-f]+: (R_(MICRO)?MIPS_HI16|REFHI) big_external_common
+[0-9a-f]+ <[^>]*> addu at,a1,at
+[0-9a-f]+ <[^>]*> lwc1 \$f4,1\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) big_external_common
+[0-9a-f]+ <[^>]*> lwc1 \$f5,5\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) big_external_common
+[0-9a-f]+ <[^>]*> addu at,a1,gp
+[0-9a-f]+ <[^>]*> lwc1 \$f4,1\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_GPREL16|GPREL) small_external_common
+[0-9a-f]+ <[^>]*> lwc1 \$f5,5\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_GPREL16|GPREL) small_external_common
+[0-9a-f]+ <[^>]*> lui at,0x0
+ [0-9a-f]+: (R_(MICRO)?MIPS_HI16|REFHI) \.bss
+[0-9a-f]+ <[^>]*> addu at,a1,at
+[0-9a-f]+ <[^>]*> lwc1 \$f4,1\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) \.bss
+[0-9a-f]+ <[^>]*> lwc1 \$f5,5\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) \.bss
+[0-9a-f]+ <[^>]*> addu at,a1,gp
+[0-9a-f]+ <[^>]*> lwc1 \$f4,1\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_GPREL16|GPREL) \.sbss
+[0-9a-f]+ <[^>]*> lwc1 \$f5,5\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_GPREL16|GPREL) \.sbss
+[0-9a-f]+ <[^>]*> lui at,0x1
+ [0-9a-f]+: (R_(MICRO)?MIPS_HI16|REFHI) \.data
+[0-9a-f]+ <[^>]*> addu at,a1,at
+[0-9a-f]+ <[^>]*> lwc1 \$f4,-32768\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) \.data
+[0-9a-f]+ <[^>]*> lwc1 \$f5,-32764\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) \.data
+[0-9a-f]+ <[^>]*> lui at,0x1
+ [0-9a-f]+: (R_(MICRO)?MIPS_HI16|REFHI) big_external_data_label
+[0-9a-f]+ <[^>]*> addu at,a1,at
+[0-9a-f]+ <[^>]*> lwc1 \$f4,-32768\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) big_external_data_label
+[0-9a-f]+ <[^>]*> lwc1 \$f5,-32764\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) big_external_data_label
+[0-9a-f]+ <[^>]*> lui at,0x1
+ [0-9a-f]+: (R_(MICRO)?MIPS_HI16|REFHI) small_external_data_label
+[0-9a-f]+ <[^>]*> addu at,a1,at
+[0-9a-f]+ <[^>]*> lwc1 \$f4,-32768\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) small_external_data_label
+[0-9a-f]+ <[^>]*> lwc1 \$f5,-32764\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) small_external_data_label
+[0-9a-f]+ <[^>]*> lui at,0x1
+ [0-9a-f]+: (R_(MICRO)?MIPS_HI16|REFHI) big_external_common
+[0-9a-f]+ <[^>]*> addu at,a1,at
+[0-9a-f]+ <[^>]*> lwc1 \$f4,-32768\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) big_external_common
+[0-9a-f]+ <[^>]*> lwc1 \$f5,-32764\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) big_external_common
+[0-9a-f]+ <[^>]*> lui at,0x1
+ [0-9a-f]+: (R_(MICRO)?MIPS_HI16|REFHI) small_external_common
+[0-9a-f]+ <[^>]*> addu at,a1,at
+[0-9a-f]+ <[^>]*> lwc1 \$f4,-32768\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) small_external_common
+[0-9a-f]+ <[^>]*> lwc1 \$f5,-32764\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) small_external_common
+[0-9a-f]+ <[^>]*> lui at,0x1
+ [0-9a-f]+: (R_(MICRO)?MIPS_HI16|REFHI) \.bss
+[0-9a-f]+ <[^>]*> addu at,a1,at
+[0-9a-f]+ <[^>]*> lwc1 \$f4,-32768\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) \.bss
+[0-9a-f]+ <[^>]*> lwc1 \$f5,-32764\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) \.bss
+[0-9a-f]+ <[^>]*> lui at,0x1
+ [0-9a-f]+: (R_(MICRO)?MIPS_HI16|REFHI) \.sbss
+[0-9a-f]+ <[^>]*> addu at,a1,at
+[0-9a-f]+ <[^>]*> lwc1 \$f4,-32768\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) \.sbss
+[0-9a-f]+ <[^>]*> lwc1 \$f5,-32764\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) \.sbss
+[0-9a-f]+ <[^>]*> lui at,0x0
+ [0-9a-f]+: (R_(MICRO)?MIPS_HI16|REFHI) \.data
+[0-9a-f]+ <[^>]*> addu at,a1,at
+[0-9a-f]+ <[^>]*> lwc1 \$f4,-32768\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) \.data
+[0-9a-f]+ <[^>]*> lwc1 \$f5,-32764\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) \.data
+[0-9a-f]+ <[^>]*> lui at,0x0
+ [0-9a-f]+: (R_(MICRO)?MIPS_HI16|REFHI) big_external_data_label
+[0-9a-f]+ <[^>]*> addu at,a1,at
+[0-9a-f]+ <[^>]*> lwc1 \$f4,-32768\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) big_external_data_label
+[0-9a-f]+ <[^>]*> lwc1 \$f5,-32764\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) big_external_data_label
+[0-9a-f]+ <[^>]*> lui at,0x0
+ [0-9a-f]+: (R_(MICRO)?MIPS_HI16|REFHI) small_external_data_label
+[0-9a-f]+ <[^>]*> addu at,a1,at
+[0-9a-f]+ <[^>]*> lwc1 \$f4,-32768\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) small_external_data_label
+[0-9a-f]+ <[^>]*> lwc1 \$f5,-32764\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) small_external_data_label
+[0-9a-f]+ <[^>]*> lui at,0x0
+ [0-9a-f]+: (R_(MICRO)?MIPS_HI16|REFHI) big_external_common
+[0-9a-f]+ <[^>]*> addu at,a1,at
+[0-9a-f]+ <[^>]*> lwc1 \$f4,-32768\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) big_external_common
+[0-9a-f]+ <[^>]*> lwc1 \$f5,-32764\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) big_external_common
+[0-9a-f]+ <[^>]*> lui at,0x0
+ [0-9a-f]+: (R_(MICRO)?MIPS_HI16|REFHI) small_external_common
+[0-9a-f]+ <[^>]*> addu at,a1,at
+[0-9a-f]+ <[^>]*> lwc1 \$f4,-32768\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) small_external_common
+[0-9a-f]+ <[^>]*> lwc1 \$f5,-32764\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) small_external_common
+[0-9a-f]+ <[^>]*> lui at,0x0
+ [0-9a-f]+: (R_(MICRO)?MIPS_HI16|REFHI) \.bss
+[0-9a-f]+ <[^>]*> addu at,a1,at
+[0-9a-f]+ <[^>]*> lwc1 \$f4,-32768\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) \.bss
+[0-9a-f]+ <[^>]*> lwc1 \$f5,-32764\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) \.bss
+[0-9a-f]+ <[^>]*> lui at,0x0
+ [0-9a-f]+: (R_(MICRO)?MIPS_HI16|REFHI) \.sbss
+[0-9a-f]+ <[^>]*> addu at,a1,at
+[0-9a-f]+ <[^>]*> lwc1 \$f4,-32768\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) \.sbss
+[0-9a-f]+ <[^>]*> lwc1 \$f5,-32764\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) \.sbss
+[0-9a-f]+ <[^>]*> lui at,0x1
+ [0-9a-f]+: (R_(MICRO)?MIPS_HI16|REFHI) \.data
+[0-9a-f]+ <[^>]*> addu at,a1,at
+[0-9a-f]+ <[^>]*> lwc1 \$f4,0\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) \.data
+[0-9a-f]+ <[^>]*> lwc1 \$f5,4\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) \.data
+[0-9a-f]+ <[^>]*> lui at,0x1
+ [0-9a-f]+: (R_(MICRO)?MIPS_HI16|REFHI) big_external_data_label
+[0-9a-f]+ <[^>]*> addu at,a1,at
+[0-9a-f]+ <[^>]*> lwc1 \$f4,0\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) big_external_data_label
+[0-9a-f]+ <[^>]*> lwc1 \$f5,4\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) big_external_data_label
+[0-9a-f]+ <[^>]*> lui at,0x1
+ [0-9a-f]+: (R_(MICRO)?MIPS_HI16|REFHI) small_external_data_label
+[0-9a-f]+ <[^>]*> addu at,a1,at
+[0-9a-f]+ <[^>]*> lwc1 \$f4,0\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) small_external_data_label
+[0-9a-f]+ <[^>]*> lwc1 \$f5,4\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) small_external_data_label
+[0-9a-f]+ <[^>]*> lui at,0x1
+ [0-9a-f]+: (R_(MICRO)?MIPS_HI16|REFHI) big_external_common
+[0-9a-f]+ <[^>]*> addu at,a1,at
+[0-9a-f]+ <[^>]*> lwc1 \$f4,0\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) big_external_common
+[0-9a-f]+ <[^>]*> lwc1 \$f5,4\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) big_external_common
+[0-9a-f]+ <[^>]*> lui at,0x1
+ [0-9a-f]+: (R_(MICRO)?MIPS_HI16|REFHI) small_external_common
+[0-9a-f]+ <[^>]*> addu at,a1,at
+[0-9a-f]+ <[^>]*> lwc1 \$f4,0\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) small_external_common
+[0-9a-f]+ <[^>]*> lwc1 \$f5,4\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) small_external_common
+[0-9a-f]+ <[^>]*> lui at,0x1
+ [0-9a-f]+: (R_(MICRO)?MIPS_HI16|REFHI) \.bss
+[0-9a-f]+ <[^>]*> addu at,a1,at
+[0-9a-f]+ <[^>]*> lwc1 \$f4,0\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) \.bss
+[0-9a-f]+ <[^>]*> lwc1 \$f5,4\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) \.bss
+[0-9a-f]+ <[^>]*> lui at,0x1
+ [0-9a-f]+: (R_(MICRO)?MIPS_HI16|REFHI) \.sbss
+[0-9a-f]+ <[^>]*> addu at,a1,at
+[0-9a-f]+ <[^>]*> lwc1 \$f4,0\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) \.sbss
+[0-9a-f]+ <[^>]*> lwc1 \$f5,4\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) \.sbss
+[0-9a-f]+ <[^>]*> lui at,0x2
+ [0-9a-f]+: (R_(MICRO)?MIPS_HI16|REFHI) \.data
+[0-9a-f]+ <[^>]*> addu at,a1,at
+[0-9a-f]+ <[^>]*> lwc1 \$f4,-23131\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) \.data
+[0-9a-f]+ <[^>]*> lwc1 \$f5,-23127\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) \.data
+[0-9a-f]+ <[^>]*> lui at,0x2
+ [0-9a-f]+: (R_(MICRO)?MIPS_HI16|REFHI) big_external_data_label
+[0-9a-f]+ <[^>]*> addu at,a1,at
+[0-9a-f]+ <[^>]*> lwc1 \$f4,-23131\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) big_external_data_label
+[0-9a-f]+ <[^>]*> lwc1 \$f5,-23127\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) big_external_data_label
+[0-9a-f]+ <[^>]*> lui at,0x2
+ [0-9a-f]+: (R_(MICRO)?MIPS_HI16|REFHI) small_external_data_label
+[0-9a-f]+ <[^>]*> addu at,a1,at
+[0-9a-f]+ <[^>]*> lwc1 \$f4,-23131\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) small_external_data_label
+[0-9a-f]+ <[^>]*> lwc1 \$f5,-23127\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) small_external_data_label
+[0-9a-f]+ <[^>]*> lui at,0x2
+ [0-9a-f]+: (R_(MICRO)?MIPS_HI16|REFHI) big_external_common
+[0-9a-f]+ <[^>]*> addu at,a1,at
+[0-9a-f]+ <[^>]*> lwc1 \$f4,-23131\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) big_external_common
+[0-9a-f]+ <[^>]*> lwc1 \$f5,-23127\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) big_external_common
+[0-9a-f]+ <[^>]*> lui at,0x2
+ [0-9a-f]+: (R_(MICRO)?MIPS_HI16|REFHI) small_external_common
+[0-9a-f]+ <[^>]*> addu at,a1,at
+[0-9a-f]+ <[^>]*> lwc1 \$f4,-23131\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) small_external_common
+[0-9a-f]+ <[^>]*> lwc1 \$f5,-23127\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) small_external_common
+[0-9a-f]+ <[^>]*> lui at,0x2
+ [0-9a-f]+: (R_(MICRO)?MIPS_HI16|REFHI) \.bss
+[0-9a-f]+ <[^>]*> addu at,a1,at
+[0-9a-f]+ <[^>]*> lwc1 \$f4,-23131\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) \.bss
+[0-9a-f]+ <[^>]*> lwc1 \$f5,-23127\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) \.bss
+[0-9a-f]+ <[^>]*> lui at,0x2
+ [0-9a-f]+: (R_(MICRO)?MIPS_HI16|REFHI) \.sbss
+[0-9a-f]+ <[^>]*> addu at,a1,at
+[0-9a-f]+ <[^>]*> lwc1 \$f4,-23131\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) \.sbss
+[0-9a-f]+ <[^>]*> lwc1 \$f5,-23127\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) \.sbss
+ \.\.\.
diff -Nurp binutils-cvs-20130104/gas/testsuite/gas/mips/micromips@24k-triple-stores-2.d binutils-cvs-20130104-mips64el-linux-patched/gas/testsuite/gas/mips/micromips@24k-triple-stores-2.d
--- binutils-cvs-20130104/gas/testsuite/gas/mips/micromips@24k-triple-stores-2.d 2013-01-26 18:28:08.511235968 +0100
+++ binutils-cvs-20130104-mips64el-linux-patched/gas/testsuite/gas/mips/micromips@24k-triple-stores-2.d 2013-01-26 21:38:33.463221236 +0100
@@ -30,10 +30,5 @@ Disassembly of section \.text:
*[0-9a-f]+: 60bd 8018 swl a1,24\(sp\)
*[0-9a-f]+: 60dd 8000 swl a2,0\(sp\)
*[0-9a-f]+: 4680 break
- *[0-9a-f]+: 605d b020 sc v0,32\(sp\)
- *[0-9a-f]+: 607d b008 sc v1,8\(sp\)
- *[0-9a-f]+: 609d bff8 sc a0,-8\(sp\)
- *[0-9a-f]+: 60bd b000 sc a1,0\(sp\)
- *[0-9a-f]+: 60dd b020 sc a2,32\(sp\)
*[0-9a-f]+: 0c00 nop
\.\.\.
diff -Nurp binutils-cvs-20130104/gas/testsuite/gas/mips/micromips@24k-triple-stores-2-llsc.d binutils-cvs-20130104-mips64el-linux-patched/gas/testsuite/gas/mips/micromips@24k-triple-stores-2-llsc.d
--- binutils-cvs-20130104/gas/testsuite/gas/mips/micromips@24k-triple-stores-2-llsc.d 1970-01-01 01:00:00.000000000 +0100
+++ binutils-cvs-20130104-mips64el-linux-patched/gas/testsuite/gas/mips/micromips@24k-triple-stores-2-llsc.d 2013-01-26 21:42:04.823220959 +0100
@@ -0,0 +1,16 @@
+#objdump: -dr
+#as: -mfix-24k -32
+#name: 24K: Triple Store (Range Check, sc)
+#source: 24k-triple-stores-2-llsc.s
+
+.*: +file format .*mips.*
+
+Disassembly of section \.text:
+
+[0-9a-f]+ <.*>:
+ *[0-9a-f]+: 605d b020 sc v0,32\(sp\)
+ *[0-9a-f]+: 607d b008 sc v1,8\(sp\)
+ *[0-9a-f]+: 609d bff8 sc a0,-8\(sp\)
+ *[0-9a-f]+: 60bd b000 sc a1,0\(sp\)
+ *[0-9a-f]+: 60dd b020 sc a2,32\(sp\)
+ \.\.\.
diff -Nurp binutils-cvs-20130104/gas/testsuite/gas/mips/mips.exp binutils-cvs-20130104-mips64el-linux-patched/gas/testsuite/gas/mips/mips.exp
--- binutils-cvs-20130104/gas/testsuite/gas/mips/mips.exp 2013-01-26 18:28:08.507235968 +0100
+++ binutils-cvs-20130104-mips64el-linux-patched/gas/testsuite/gas/mips/mips.exp 2013-01-26 22:43:11.287216230 +0100
@@ -91,6 +91,9 @@
# singlefloat
# The CPU is 64 bit, but only supports 32 bit FPU.
#
+# nollsc
+# The CPU doesn't support ll, sc, lld and scd instructions.
+#
# as_flags: The assembler flags used when assembling tests for this
# architecture.
#
@@ -463,7 +466,7 @@ mips_arch_create octeon2 64 octeonp {} \
{ }
mips_arch_create xlr 64 mips64 {} \
{ -march=xlr -mtune=xlr } { -mmips:xlr }
-mips_arch_create r5900 64 mips3 { gpr_ilocks singlefloat } \
+mips_arch_create r5900 64 mips3 { gpr_ilocks singlefloat nollsc } \
{ -march=r5900 -mtune=r5900 } { -mmips:5900 } \
{ mipsr5900el-*-* mips64r5900el-*-* }
@@ -566,6 +569,8 @@ if { [istarget mips*-*-vxworks*] } {
[mips_arch_list_matching fpisa5 !octeon]
run_dump_test_arches "24k-triple-stores-2" \
[mips_arch_list_matching mips2]
+ run_dump_test_arches "24k-triple-stores-2-llsc" \
+ [mips_arch_list_matching mips2 !nollsc]
run_dump_test_arches "24k-triple-stores-3" \
[mips_arch_list_matching mips2]
run_dump_test_arches "24k-triple-stores-4" \
@@ -625,9 +630,11 @@ if { [istarget mips*-*-vxworks*] } {
run_dump_test_arches "sd-forward" \
[mips_arch_list_matching mips1]
run_dump_test_arches "l_d" [mips_arch_list_matching mips1 !singlefloat]
+ run_dump_test_arches "l_d-single" [mips_arch_list_matching mips1 singlefloat]
run_dump_test_arches "l_d-forward" \
[mips_arch_list_matching mips1 !singlefloat]
run_dump_test_arches "s_d" [mips_arch_list_matching mips1 !singlefloat]
+ run_dump_test_arches "s_d-single" [mips_arch_list_matching mips1 singlefloat]
run_dump_test_arches "s_d-forward" \
[mips_arch_list_matching mips1 !singlefloat]
run_dump_test_arches "ldc1" [mips_arch_list_matching mips2 !singlefloat]
@@ -1157,6 +1164,7 @@ if { [istarget mips*-*-vxworks*] } {
run_dump_test "r5900"
run_dump_test "r5900-full"
+ run_list_test "r5900-nollsc" "-mabi=n32 -march=r5900 -mtune=r5900"
run_dump_test "r5900-vu0"
run_dump_test "r5900-legacy-vu0"
}
diff -Nurp binutils-cvs-20130104/gas/testsuite/gas/mips/r5900-full.d binutils-cvs-20130104-mips64el-linux-patched/gas/testsuite/gas/mips/r5900-full.d
--- binutils-cvs-20130104/gas/testsuite/gas/mips/r5900-full.d 2013-01-26 18:28:08.511235968 +0100
+++ binutils-cvs-20130104-mips64el-linux-patched/gas/testsuite/gas/mips/r5900-full.d 2013-01-26 22:06:44.679219049 +0100
@@ -346,4 +346,8 @@ Disassembly of section \.text:
[0-9a-f]+ <[^>]*> 701f0001 maddu \$0,\$31
[0-9a-f]+ <[^>]*> 73e00001 maddu \$31,\$0
[0-9a-f]+ <[^>]*> 0000000f sync
+[0-9a-f]+ <[^>]*> c0c50000 .*
+[0-9a-f]+ <[^>]*> e0c50000 .*
+[0-9a-f]+ <[^>]*> d0c50000 .*
+[0-9a-f]+ <[^>]*> f0c50000 .*
\.\.\.
diff -Nurp binutils-cvs-20130104/gas/testsuite/gas/mips/r5900-full.s binutils-cvs-20130104-mips64el-linux-patched/gas/testsuite/gas/mips/r5900-full.s
--- binutils-cvs-20130104/gas/testsuite/gas/mips/r5900-full.s 2013-01-26 18:28:08.507235968 +0100
+++ binutils-cvs-20130104-mips64el-linux-patched/gas/testsuite/gas/mips/r5900-full.s 2013-01-26 21:49:35.655220376 +0100
@@ -417,5 +417,19 @@ stuff:
maddu $31, $0
sync
+ # Enable sc/ll instructions by changing ISA level:
+ .set push
+ .set mips2
+ ll $5, 0($6)
+ sc $5, 0($6)
+ .set pop
+
+ # Enable scd/lld instructions by changing ISA level:
+ .set push
+ .set mips3
+ lld $5, 0($6)
+ scd $5, 0($6)
+ .set pop
+
.space 8
.end stuff
diff -Nurp binutils-cvs-20130104/gas/testsuite/gas/mips/r5900-nollsc.l binutils-cvs-20130104-mips64el-linux-patched/gas/testsuite/gas/mips/r5900-nollsc.l
--- binutils-cvs-20130104/gas/testsuite/gas/mips/r5900-nollsc.l 1970-01-01 01:00:00.000000000 +0100
+++ binutils-cvs-20130104-mips64el-linux-patched/gas/testsuite/gas/mips/r5900-nollsc.l 2013-01-27 20:49:09.829882026 +0100
@@ -0,0 +1,5 @@
+.*: Assembler messages:
+.*: Error: Opcode not supported on this processor: r5900 \(mips3\) `ll \$5,0\(\$6\)'
+.*: Error: Opcode not supported on this processor: r5900 \(mips3\) `sc \$5,0\(\$6\)'
+.*: Error: Opcode not supported on this processor: r5900 \(mips3\) `lld \$5,0\(\$6\)'
+.*: Error: Opcode not supported on this processor: r5900 \(mips3\) `scd \$5,0\(\$6\)'
diff -Nurp binutils-cvs-20130104/gas/testsuite/gas/mips/r5900-nollsc.s binutils-cvs-20130104-mips64el-linux-patched/gas/testsuite/gas/mips/r5900-nollsc.s
--- binutils-cvs-20130104/gas/testsuite/gas/mips/r5900-nollsc.s 1970-01-01 01:00:00.000000000 +0100
+++ binutils-cvs-20130104-mips64el-linux-patched/gas/testsuite/gas/mips/r5900-nollsc.s 2013-01-26 21:52:40.491220139 +0100
@@ -0,0 +1,18 @@
+ .text
+
+stuff:
+ .ent stuff
+ .set push
+ .set noreorder
+ .set noat
+
+ # sc/ll instructions are not supported on r5900:
+ ll $5, 0($6)
+ sc $5, 0($6)
+
+ # scd/lld instructions are not supported on r5900:
+ lld $5, 0($6)
+ scd $5, 0($6)
+
+ .space 8
+ .end stuff
diff -Nurp binutils-cvs-20130104/gas/testsuite/gas/mips/s_d-single.d binutils-cvs-20130104-mips64el-linux-patched/gas/testsuite/gas/mips/s_d-single.d
--- binutils-cvs-20130104/gas/testsuite/gas/mips/s_d-single.d 1970-01-01 01:00:00.000000000 +0100
+++ binutils-cvs-20130104-mips64el-linux-patched/gas/testsuite/gas/mips/s_d-single.d 2013-01-27 20:59:25.717881232 +0100
@@ -0,0 +1,566 @@
+#objdump: -dr --prefix-addresses
+#as: -32 --defsym ts_d=1
+#name: MIPS s.d singlefloat
+#source: ld.s
+
+# Test the s.d macro.
+
+.*: +file format .*mips.*
+
+Disassembly of section \.text:
+[0-9a-f]+ <[^>]*> swc1 \$f4,0\(zero\)
+[0-9a-f]+ <[^>]*> swc1 \$f5,4\(zero\)
+[0-9a-f]+ <[^>]*> swc1 \$f4,1\(zero\)
+[0-9a-f]+ <[^>]*> swc1 \$f5,5\(zero\)
+[0-9a-f]+ <[^>]*> lui at,0x1
+[0-9a-f]+ <[^>]*> swc1 \$f4,-32768\(at\)
+[0-9a-f]+ <[^>]*> swc1 \$f5,-32764\(at\)
+[0-9a-f]+ <[^>]*> swc1 \$f4,-32768\(zero\)
+[0-9a-f]+ <[^>]*> swc1 \$f5,-32764\(zero\)
+[0-9a-f]+ <[^>]*> lui at,0x1
+[0-9a-f]+ <[^>]*> swc1 \$f4,0\(at\)
+[0-9a-f]+ <[^>]*> swc1 \$f5,4\(at\)
+[0-9a-f]+ <[^>]*> lui at,0x2
+[0-9a-f]+ <[^>]*> swc1 \$f4,-23131\(at\)
+[0-9a-f]+ <[^>]*> swc1 \$f5,-23127\(at\)
+[0-9a-f]+ <[^>]*> swc1 \$f4,0\(a1\)
+[0-9a-f]+ <[^>]*> swc1 \$f5,4\(a1\)
+[0-9a-f]+ <[^>]*> swc1 \$f4,1\(a1\)
+[0-9a-f]+ <[^>]*> swc1 \$f5,5\(a1\)
+[0-9a-f]+ <[^>]*> lui at,0x1
+[0-9a-f]+ <[^>]*> addu at,a1,at
+[0-9a-f]+ <[^>]*> swc1 \$f4,-32768\(at\)
+[0-9a-f]+ <[^>]*> swc1 \$f5,-32764\(at\)
+[0-9a-f]+ <[^>]*> swc1 \$f4,-32768\(a1\)
+[0-9a-f]+ <[^>]*> swc1 \$f5,-32764\(a1\)
+[0-9a-f]+ <[^>]*> lui at,0x1
+[0-9a-f]+ <[^>]*> addu at,a1,at
+[0-9a-f]+ <[^>]*> swc1 \$f4,0\(at\)
+[0-9a-f]+ <[^>]*> swc1 \$f5,4\(at\)
+[0-9a-f]+ <[^>]*> lui at,0x2
+[0-9a-f]+ <[^>]*> addu at,a1,at
+[0-9a-f]+ <[^>]*> swc1 \$f4,-23131\(at\)
+[0-9a-f]+ <[^>]*> swc1 \$f5,-23127\(at\)
+[0-9a-f]+ <[^>]*> lui at,0x0
+ [0-9a-f]+: (R_(MICRO)?MIPS_HI16|REFHI) \.data
+[0-9a-f]+ <[^>]*> swc1 \$f4,0\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) \.data
+[0-9a-f]+ <[^>]*> swc1 \$f5,4\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) \.data
+[0-9a-f]+ <[^>]*> lui at,0x0
+ [0-9a-f]+: (R_(MICRO)?MIPS_HI16|REFHI) big_external_data_label
+[0-9a-f]+ <[^>]*> swc1 \$f4,0\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) big_external_data_label
+[0-9a-f]+ <[^>]*> swc1 \$f5,4\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) big_external_data_label
+[0-9a-f]+ <[^>]*> swc1 \$f4,0\(gp\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_GPREL16|GPREL) small_external_data_label
+[0-9a-f]+ <[^>]*> swc1 \$f5,4\(gp\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_GPREL16|GPREL) small_external_data_label
+[0-9a-f]+ <[^>]*> lui at,0x0
+ [0-9a-f]+: (R_(MICRO)?MIPS_HI16|REFHI) big_external_common
+[0-9a-f]+ <[^>]*> swc1 \$f4,0\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) big_external_common
+[0-9a-f]+ <[^>]*> swc1 \$f5,4\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) big_external_common
+[0-9a-f]+ <[^>]*> swc1 \$f4,0\(gp\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_GPREL16|GPREL) small_external_common
+[0-9a-f]+ <[^>]*> swc1 \$f5,4\(gp\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_GPREL16|GPREL) small_external_common
+[0-9a-f]+ <[^>]*> lui at,0x0
+ [0-9a-f]+: (R_(MICRO)?MIPS_HI16|REFHI) \.bss
+[0-9a-f]+ <[^>]*> swc1 \$f4,0\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) \.bss
+[0-9a-f]+ <[^>]*> swc1 \$f5,4\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) \.bss
+[0-9a-f]+ <[^>]*> swc1 \$f4,0\(gp\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_GPREL16|GPREL) \.sbss
+[0-9a-f]+ <[^>]*> swc1 \$f5,4\(gp\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_GPREL16|GPREL) \.sbss
+[0-9a-f]+ <[^>]*> lui at,0x0
+ [0-9a-f]+: (R_(MICRO)?MIPS_HI16|REFHI) \.data
+[0-9a-f]+ <[^>]*> swc1 \$f4,1\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) \.data
+[0-9a-f]+ <[^>]*> swc1 \$f5,5\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) \.data
+[0-9a-f]+ <[^>]*> lui at,0x0
+ [0-9a-f]+: (R_(MICRO)?MIPS_HI16|REFHI) big_external_data_label
+[0-9a-f]+ <[^>]*> swc1 \$f4,1\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) big_external_data_label
+[0-9a-f]+ <[^>]*> swc1 \$f5,5\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) big_external_data_label
+[0-9a-f]+ <[^>]*> swc1 \$f4,1\(gp\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_GPREL16|GPREL) small_external_data_label
+[0-9a-f]+ <[^>]*> swc1 \$f5,5\(gp\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_GPREL16|GPREL) small_external_data_label
+[0-9a-f]+ <[^>]*> lui at,0x0
+ [0-9a-f]+: (R_(MICRO)?MIPS_HI16|REFHI) big_external_common
+[0-9a-f]+ <[^>]*> swc1 \$f4,1\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) big_external_common
+[0-9a-f]+ <[^>]*> swc1 \$f5,5\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) big_external_common
+[0-9a-f]+ <[^>]*> swc1 \$f4,1\(gp\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_GPREL16|GPREL) small_external_common
+[0-9a-f]+ <[^>]*> swc1 \$f5,5\(gp\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_GPREL16|GPREL) small_external_common
+[0-9a-f]+ <[^>]*> lui at,0x0
+ [0-9a-f]+: (R_(MICRO)?MIPS_HI16|REFHI) \.bss
+[0-9a-f]+ <[^>]*> swc1 \$f4,1\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) \.bss
+[0-9a-f]+ <[^>]*> swc1 \$f5,5\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) \.bss
+[0-9a-f]+ <[^>]*> swc1 \$f4,1\(gp\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_GPREL16|GPREL) \.sbss
+[0-9a-f]+ <[^>]*> swc1 \$f5,5\(gp\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_GPREL16|GPREL) \.sbss
+[0-9a-f]+ <[^>]*> lui at,0x1
+ [0-9a-f]+: (R_(MICRO)?MIPS_HI16|REFHI) \.data
+[0-9a-f]+ <[^>]*> swc1 \$f4,-32768\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) \.data
+[0-9a-f]+ <[^>]*> swc1 \$f5,-32764\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) \.data
+[0-9a-f]+ <[^>]*> lui at,0x1
+ [0-9a-f]+: (R_(MICRO)?MIPS_HI16|REFHI) big_external_data_label
+[0-9a-f]+ <[^>]*> swc1 \$f4,-32768\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) big_external_data_label
+[0-9a-f]+ <[^>]*> swc1 \$f5,-32764\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) big_external_data_label
+[0-9a-f]+ <[^>]*> lui at,0x1
+ [0-9a-f]+: (R_(MICRO)?MIPS_HI16|REFHI) small_external_data_label
+[0-9a-f]+ <[^>]*> swc1 \$f4,-32768\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) small_external_data_label
+[0-9a-f]+ <[^>]*> swc1 \$f5,-32764\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) small_external_data_label
+[0-9a-f]+ <[^>]*> lui at,0x1
+ [0-9a-f]+: (R_(MICRO)?MIPS_HI16|REFHI) big_external_common
+[0-9a-f]+ <[^>]*> swc1 \$f4,-32768\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) big_external_common
+[0-9a-f]+ <[^>]*> swc1 \$f5,-32764\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) big_external_common
+[0-9a-f]+ <[^>]*> lui at,0x1
+ [0-9a-f]+: (R_(MICRO)?MIPS_HI16|REFHI) small_external_common
+[0-9a-f]+ <[^>]*> swc1 \$f4,-32768\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) small_external_common
+[0-9a-f]+ <[^>]*> swc1 \$f5,-32764\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) small_external_common
+[0-9a-f]+ <[^>]*> lui at,0x1
+ [0-9a-f]+: (R_(MICRO)?MIPS_HI16|REFHI) \.bss
+[0-9a-f]+ <[^>]*> swc1 \$f4,-32768\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) \.bss
+[0-9a-f]+ <[^>]*> swc1 \$f5,-32764\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) \.bss
+[0-9a-f]+ <[^>]*> lui at,0x1
+ [0-9a-f]+: (R_(MICRO)?MIPS_HI16|REFHI) \.sbss
+[0-9a-f]+ <[^>]*> swc1 \$f4,-32768\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) \.sbss
+[0-9a-f]+ <[^>]*> swc1 \$f5,-32764\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) \.sbss
+[0-9a-f]+ <[^>]*> lui at,0x0
+ [0-9a-f]+: (R_(MICRO)?MIPS_HI16|REFHI) \.data
+[0-9a-f]+ <[^>]*> swc1 \$f4,-32768\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) \.data
+[0-9a-f]+ <[^>]*> swc1 \$f5,-32764\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) \.data
+[0-9a-f]+ <[^>]*> lui at,0x0
+ [0-9a-f]+: (R_(MICRO)?MIPS_HI16|REFHI) big_external_data_label
+[0-9a-f]+ <[^>]*> swc1 \$f4,-32768\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) big_external_data_label
+[0-9a-f]+ <[^>]*> swc1 \$f5,-32764\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) big_external_data_label
+[0-9a-f]+ <[^>]*> lui at,0x0
+ [0-9a-f]+: (R_(MICRO)?MIPS_HI16|REFHI) small_external_data_label
+[0-9a-f]+ <[^>]*> swc1 \$f4,-32768\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) small_external_data_label
+[0-9a-f]+ <[^>]*> swc1 \$f5,-32764\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) small_external_data_label
+[0-9a-f]+ <[^>]*> lui at,0x0
+ [0-9a-f]+: (R_(MICRO)?MIPS_HI16|REFHI) big_external_common
+[0-9a-f]+ <[^>]*> swc1 \$f4,-32768\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) big_external_common
+[0-9a-f]+ <[^>]*> swc1 \$f5,-32764\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) big_external_common
+[0-9a-f]+ <[^>]*> lui at,0x0
+ [0-9a-f]+: (R_(MICRO)?MIPS_HI16|REFHI) small_external_common
+[0-9a-f]+ <[^>]*> swc1 \$f4,-32768\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) small_external_common
+[0-9a-f]+ <[^>]*> swc1 \$f5,-32764\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) small_external_common
+[0-9a-f]+ <[^>]*> lui at,0x0
+ [0-9a-f]+: (R_(MICRO)?MIPS_HI16|REFHI) \.bss
+[0-9a-f]+ <[^>]*> swc1 \$f4,-32768\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) \.bss
+[0-9a-f]+ <[^>]*> swc1 \$f5,-32764\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) \.bss
+[0-9a-f]+ <[^>]*> lui at,0x0
+ [0-9a-f]+: (R_(MICRO)?MIPS_HI16|REFHI) \.sbss
+[0-9a-f]+ <[^>]*> swc1 \$f4,-32768\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) \.sbss
+[0-9a-f]+ <[^>]*> swc1 \$f5,-32764\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) \.sbss
+[0-9a-f]+ <[^>]*> lui at,0x1
+ [0-9a-f]+: (R_(MICRO)?MIPS_HI16|REFHI) \.data
+[0-9a-f]+ <[^>]*> swc1 \$f4,0\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) \.data
+[0-9a-f]+ <[^>]*> swc1 \$f5,4\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) \.data
+[0-9a-f]+ <[^>]*> lui at,0x1
+ [0-9a-f]+: (R_(MICRO)?MIPS_HI16|REFHI) big_external_data_label
+[0-9a-f]+ <[^>]*> swc1 \$f4,0\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) big_external_data_label
+[0-9a-f]+ <[^>]*> swc1 \$f5,4\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) big_external_data_label
+[0-9a-f]+ <[^>]*> lui at,0x1
+ [0-9a-f]+: (R_(MICRO)?MIPS_HI16|REFHI) small_external_data_label
+[0-9a-f]+ <[^>]*> swc1 \$f4,0\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) small_external_data_label
+[0-9a-f]+ <[^>]*> swc1 \$f5,4\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) small_external_data_label
+[0-9a-f]+ <[^>]*> lui at,0x1
+ [0-9a-f]+: (R_(MICRO)?MIPS_HI16|REFHI) big_external_common
+[0-9a-f]+ <[^>]*> swc1 \$f4,0\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) big_external_common
+[0-9a-f]+ <[^>]*> swc1 \$f5,4\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) big_external_common
+[0-9a-f]+ <[^>]*> lui at,0x1
+ [0-9a-f]+: (R_(MICRO)?MIPS_HI16|REFHI) small_external_common
+[0-9a-f]+ <[^>]*> swc1 \$f4,0\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) small_external_common
+[0-9a-f]+ <[^>]*> swc1 \$f5,4\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) small_external_common
+[0-9a-f]+ <[^>]*> lui at,0x1
+ [0-9a-f]+: (R_(MICRO)?MIPS_HI16|REFHI) \.bss
+[0-9a-f]+ <[^>]*> swc1 \$f4,0\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) \.bss
+[0-9a-f]+ <[^>]*> swc1 \$f5,4\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) \.bss
+[0-9a-f]+ <[^>]*> lui at,0x1
+ [0-9a-f]+: (R_(MICRO)?MIPS_HI16|REFHI) \.sbss
+[0-9a-f]+ <[^>]*> swc1 \$f4,0\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) \.sbss
+[0-9a-f]+ <[^>]*> swc1 \$f5,4\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) \.sbss
+[0-9a-f]+ <[^>]*> lui at,0x2
+ [0-9a-f]+: (R_(MICRO)?MIPS_HI16|REFHI) \.data
+[0-9a-f]+ <[^>]*> swc1 \$f4,-23131\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) \.data
+[0-9a-f]+ <[^>]*> swc1 \$f5,-23127\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) \.data
+[0-9a-f]+ <[^>]*> lui at,0x2
+ [0-9a-f]+: (R_(MICRO)?MIPS_HI16|REFHI) big_external_data_label
+[0-9a-f]+ <[^>]*> swc1 \$f4,-23131\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) big_external_data_label
+[0-9a-f]+ <[^>]*> swc1 \$f5,-23127\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) big_external_data_label
+[0-9a-f]+ <[^>]*> lui at,0x2
+ [0-9a-f]+: (R_(MICRO)?MIPS_HI16|REFHI) small_external_data_label
+[0-9a-f]+ <[^>]*> swc1 \$f4,-23131\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) small_external_data_label
+[0-9a-f]+ <[^>]*> swc1 \$f5,-23127\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) small_external_data_label
+[0-9a-f]+ <[^>]*> lui at,0x2
+ [0-9a-f]+: (R_(MICRO)?MIPS_HI16|REFHI) big_external_common
+[0-9a-f]+ <[^>]*> swc1 \$f4,-23131\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) big_external_common
+[0-9a-f]+ <[^>]*> swc1 \$f5,-23127\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) big_external_common
+[0-9a-f]+ <[^>]*> lui at,0x2
+ [0-9a-f]+: (R_(MICRO)?MIPS_HI16|REFHI) small_external_common
+[0-9a-f]+ <[^>]*> swc1 \$f4,-23131\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) small_external_common
+[0-9a-f]+ <[^>]*> swc1 \$f5,-23127\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) small_external_common
+[0-9a-f]+ <[^>]*> lui at,0x2
+ [0-9a-f]+: (R_(MICRO)?MIPS_HI16|REFHI) \.bss
+[0-9a-f]+ <[^>]*> swc1 \$f4,-23131\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) \.bss
+[0-9a-f]+ <[^>]*> swc1 \$f5,-23127\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) \.bss
+[0-9a-f]+ <[^>]*> lui at,0x2
+ [0-9a-f]+: (R_(MICRO)?MIPS_HI16|REFHI) \.sbss
+[0-9a-f]+ <[^>]*> swc1 \$f4,-23131\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) \.sbss
+[0-9a-f]+ <[^>]*> swc1 \$f5,-23127\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) \.sbss
+[0-9a-f]+ <[^>]*> lui at,0x0
+ [0-9a-f]+: (R_(MICRO)?MIPS_HI16|REFHI) \.data
+[0-9a-f]+ <[^>]*> addu at,a1,at
+[0-9a-f]+ <[^>]*> swc1 \$f4,0\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) \.data
+[0-9a-f]+ <[^>]*> swc1 \$f5,4\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) \.data
+[0-9a-f]+ <[^>]*> lui at,0x0
+ [0-9a-f]+: (R_(MICRO)?MIPS_HI16|REFHI) big_external_data_label
+[0-9a-f]+ <[^>]*> addu at,a1,at
+[0-9a-f]+ <[^>]*> swc1 \$f4,0\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) big_external_data_label
+[0-9a-f]+ <[^>]*> swc1 \$f5,4\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) big_external_data_label
+[0-9a-f]+ <[^>]*> addu at,a1,gp
+[0-9a-f]+ <[^>]*> swc1 \$f4,0\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_GPREL16|GPREL) small_external_data_label
+[0-9a-f]+ <[^>]*> swc1 \$f5,4\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_GPREL16|GPREL) small_external_data_label
+[0-9a-f]+ <[^>]*> lui at,0x0
+ [0-9a-f]+: (R_(MICRO)?MIPS_HI16|REFHI) big_external_common
+[0-9a-f]+ <[^>]*> addu at,a1,at
+[0-9a-f]+ <[^>]*> swc1 \$f4,0\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) big_external_common
+[0-9a-f]+ <[^>]*> swc1 \$f5,4\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) big_external_common
+[0-9a-f]+ <[^>]*> addu at,a1,gp
+[0-9a-f]+ <[^>]*> swc1 \$f4,0\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_GPREL16|GPREL) small_external_common
+[0-9a-f]+ <[^>]*> swc1 \$f5,4\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_GPREL16|GPREL) small_external_common
+[0-9a-f]+ <[^>]*> lui at,0x0
+ [0-9a-f]+: (R_(MICRO)?MIPS_HI16|REFHI) \.bss
+[0-9a-f]+ <[^>]*> addu at,a1,at
+[0-9a-f]+ <[^>]*> swc1 \$f4,0\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) \.bss
+[0-9a-f]+ <[^>]*> swc1 \$f5,4\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) \.bss
+[0-9a-f]+ <[^>]*> addu at,a1,gp
+[0-9a-f]+ <[^>]*> swc1 \$f4,0\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_GPREL16|GPREL) \.sbss
+[0-9a-f]+ <[^>]*> swc1 \$f5,4\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_GPREL16|GPREL) \.sbss
+[0-9a-f]+ <[^>]*> lui at,0x0
+ [0-9a-f]+: (R_(MICRO)?MIPS_HI16|REFHI) \.data
+[0-9a-f]+ <[^>]*> addu at,a1,at
+[0-9a-f]+ <[^>]*> swc1 \$f4,1\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) \.data
+[0-9a-f]+ <[^>]*> swc1 \$f5,5\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) \.data
+[0-9a-f]+ <[^>]*> lui at,0x0
+ [0-9a-f]+: (R_(MICRO)?MIPS_HI16|REFHI) big_external_data_label
+[0-9a-f]+ <[^>]*> addu at,a1,at
+[0-9a-f]+ <[^>]*> swc1 \$f4,1\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) big_external_data_label
+[0-9a-f]+ <[^>]*> swc1 \$f5,5\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) big_external_data_label
+[0-9a-f]+ <[^>]*> addu at,a1,gp
+[0-9a-f]+ <[^>]*> swc1 \$f4,1\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_GPREL16|GPREL) small_external_data_label
+[0-9a-f]+ <[^>]*> swc1 \$f5,5\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_GPREL16|GPREL) small_external_data_label
+[0-9a-f]+ <[^>]*> lui at,0x0
+ [0-9a-f]+: (R_(MICRO)?MIPS_HI16|REFHI) big_external_common
+[0-9a-f]+ <[^>]*> addu at,a1,at
+[0-9a-f]+ <[^>]*> swc1 \$f4,1\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) big_external_common
+[0-9a-f]+ <[^>]*> swc1 \$f5,5\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) big_external_common
+[0-9a-f]+ <[^>]*> addu at,a1,gp
+[0-9a-f]+ <[^>]*> swc1 \$f4,1\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_GPREL16|GPREL) small_external_common
+[0-9a-f]+ <[^>]*> swc1 \$f5,5\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_GPREL16|GPREL) small_external_common
+[0-9a-f]+ <[^>]*> lui at,0x0
+ [0-9a-f]+: (R_(MICRO)?MIPS_HI16|REFHI) \.bss
+[0-9a-f]+ <[^>]*> addu at,a1,at
+[0-9a-f]+ <[^>]*> swc1 \$f4,1\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) \.bss
+[0-9a-f]+ <[^>]*> swc1 \$f5,5\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) \.bss
+[0-9a-f]+ <[^>]*> addu at,a1,gp
+[0-9a-f]+ <[^>]*> swc1 \$f4,1\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_GPREL16|GPREL) \.sbss
+[0-9a-f]+ <[^>]*> swc1 \$f5,5\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_GPREL16|GPREL) \.sbss
+[0-9a-f]+ <[^>]*> lui at,0x1
+ [0-9a-f]+: (R_(MICRO)?MIPS_HI16|REFHI) \.data
+[0-9a-f]+ <[^>]*> addu at,a1,at
+[0-9a-f]+ <[^>]*> swc1 \$f4,-32768\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) \.data
+[0-9a-f]+ <[^>]*> swc1 \$f5,-32764\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) \.data
+[0-9a-f]+ <[^>]*> lui at,0x1
+ [0-9a-f]+: (R_(MICRO)?MIPS_HI16|REFHI) big_external_data_label
+[0-9a-f]+ <[^>]*> addu at,a1,at
+[0-9a-f]+ <[^>]*> swc1 \$f4,-32768\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) big_external_data_label
+[0-9a-f]+ <[^>]*> swc1 \$f5,-32764\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) big_external_data_label
+[0-9a-f]+ <[^>]*> lui at,0x1
+ [0-9a-f]+: (R_(MICRO)?MIPS_HI16|REFHI) small_external_data_label
+[0-9a-f]+ <[^>]*> addu at,a1,at
+[0-9a-f]+ <[^>]*> swc1 \$f4,-32768\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) small_external_data_label
+[0-9a-f]+ <[^>]*> swc1 \$f5,-32764\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) small_external_data_label
+[0-9a-f]+ <[^>]*> lui at,0x1
+ [0-9a-f]+: (R_(MICRO)?MIPS_HI16|REFHI) big_external_common
+[0-9a-f]+ <[^>]*> addu at,a1,at
+[0-9a-f]+ <[^>]*> swc1 \$f4,-32768\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) big_external_common
+[0-9a-f]+ <[^>]*> swc1 \$f5,-32764\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) big_external_common
+[0-9a-f]+ <[^>]*> lui at,0x1
+ [0-9a-f]+: (R_(MICRO)?MIPS_HI16|REFHI) small_external_common
+[0-9a-f]+ <[^>]*> addu at,a1,at
+[0-9a-f]+ <[^>]*> swc1 \$f4,-32768\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) small_external_common
+[0-9a-f]+ <[^>]*> swc1 \$f5,-32764\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) small_external_common
+[0-9a-f]+ <[^>]*> lui at,0x1
+ [0-9a-f]+: (R_(MICRO)?MIPS_HI16|REFHI) \.bss
+[0-9a-f]+ <[^>]*> addu at,a1,at
+[0-9a-f]+ <[^>]*> swc1 \$f4,-32768\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) \.bss
+[0-9a-f]+ <[^>]*> swc1 \$f5,-32764\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) \.bss
+[0-9a-f]+ <[^>]*> lui at,0x1
+ [0-9a-f]+: (R_(MICRO)?MIPS_HI16|REFHI) \.sbss
+[0-9a-f]+ <[^>]*> addu at,a1,at
+[0-9a-f]+ <[^>]*> swc1 \$f4,-32768\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) \.sbss
+[0-9a-f]+ <[^>]*> swc1 \$f5,-32764\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) \.sbss
+[0-9a-f]+ <[^>]*> lui at,0x0
+ [0-9a-f]+: (R_(MICRO)?MIPS_HI16|REFHI) \.data
+[0-9a-f]+ <[^>]*> addu at,a1,at
+[0-9a-f]+ <[^>]*> swc1 \$f4,-32768\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) \.data
+[0-9a-f]+ <[^>]*> swc1 \$f5,-32764\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) \.data
+[0-9a-f]+ <[^>]*> lui at,0x0
+ [0-9a-f]+: (R_(MICRO)?MIPS_HI16|REFHI) big_external_data_label
+[0-9a-f]+ <[^>]*> addu at,a1,at
+[0-9a-f]+ <[^>]*> swc1 \$f4,-32768\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) big_external_data_label
+[0-9a-f]+ <[^>]*> swc1 \$f5,-32764\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) big_external_data_label
+[0-9a-f]+ <[^>]*> lui at,0x0
+ [0-9a-f]+: (R_(MICRO)?MIPS_HI16|REFHI) small_external_data_label
+[0-9a-f]+ <[^>]*> addu at,a1,at
+[0-9a-f]+ <[^>]*> swc1 \$f4,-32768\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) small_external_data_label
+[0-9a-f]+ <[^>]*> swc1 \$f5,-32764\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) small_external_data_label
+[0-9a-f]+ <[^>]*> lui at,0x0
+ [0-9a-f]+: (R_(MICRO)?MIPS_HI16|REFHI) big_external_common
+[0-9a-f]+ <[^>]*> addu at,a1,at
+[0-9a-f]+ <[^>]*> swc1 \$f4,-32768\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) big_external_common
+[0-9a-f]+ <[^>]*> swc1 \$f5,-32764\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) big_external_common
+[0-9a-f]+ <[^>]*> lui at,0x0
+ [0-9a-f]+: (R_(MICRO)?MIPS_HI16|REFHI) small_external_common
+[0-9a-f]+ <[^>]*> addu at,a1,at
+[0-9a-f]+ <[^>]*> swc1 \$f4,-32768\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) small_external_common
+[0-9a-f]+ <[^>]*> swc1 \$f5,-32764\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) small_external_common
+[0-9a-f]+ <[^>]*> lui at,0x0
+ [0-9a-f]+: (R_(MICRO)?MIPS_HI16|REFHI) \.bss
+[0-9a-f]+ <[^>]*> addu at,a1,at
+[0-9a-f]+ <[^>]*> swc1 \$f4,-32768\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) \.bss
+[0-9a-f]+ <[^>]*> swc1 \$f5,-32764\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) \.bss
+[0-9a-f]+ <[^>]*> lui at,0x0
+ [0-9a-f]+: (R_(MICRO)?MIPS_HI16|REFHI) \.sbss
+[0-9a-f]+ <[^>]*> addu at,a1,at
+[0-9a-f]+ <[^>]*> swc1 \$f4,-32768\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) \.sbss
+[0-9a-f]+ <[^>]*> swc1 \$f5,-32764\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) \.sbss
+[0-9a-f]+ <[^>]*> lui at,0x1
+ [0-9a-f]+: (R_(MICRO)?MIPS_HI16|REFHI) \.data
+[0-9a-f]+ <[^>]*> addu at,a1,at
+[0-9a-f]+ <[^>]*> swc1 \$f4,0\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) \.data
+[0-9a-f]+ <[^>]*> swc1 \$f5,4\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) \.data
+[0-9a-f]+ <[^>]*> lui at,0x1
+ [0-9a-f]+: (R_(MICRO)?MIPS_HI16|REFHI) big_external_data_label
+[0-9a-f]+ <[^>]*> addu at,a1,at
+[0-9a-f]+ <[^>]*> swc1 \$f4,0\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) big_external_data_label
+[0-9a-f]+ <[^>]*> swc1 \$f5,4\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) big_external_data_label
+[0-9a-f]+ <[^>]*> lui at,0x1
+ [0-9a-f]+: (R_(MICRO)?MIPS_HI16|REFHI) small_external_data_label
+[0-9a-f]+ <[^>]*> addu at,a1,at
+[0-9a-f]+ <[^>]*> swc1 \$f4,0\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) small_external_data_label
+[0-9a-f]+ <[^>]*> swc1 \$f5,4\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) small_external_data_label
+[0-9a-f]+ <[^>]*> lui at,0x1
+ [0-9a-f]+: (R_(MICRO)?MIPS_HI16|REFHI) big_external_common
+[0-9a-f]+ <[^>]*> addu at,a1,at
+[0-9a-f]+ <[^>]*> swc1 \$f4,0\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) big_external_common
+[0-9a-f]+ <[^>]*> swc1 \$f5,4\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) big_external_common
+[0-9a-f]+ <[^>]*> lui at,0x1
+ [0-9a-f]+: (R_(MICRO)?MIPS_HI16|REFHI) small_external_common
+[0-9a-f]+ <[^>]*> addu at,a1,at
+[0-9a-f]+ <[^>]*> swc1 \$f4,0\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) small_external_common
+[0-9a-f]+ <[^>]*> swc1 \$f5,4\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) small_external_common
+[0-9a-f]+ <[^>]*> lui at,0x1
+ [0-9a-f]+: (R_(MICRO)?MIPS_HI16|REFHI) \.bss
+[0-9a-f]+ <[^>]*> addu at,a1,at
+[0-9a-f]+ <[^>]*> swc1 \$f4,0\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) \.bss
+[0-9a-f]+ <[^>]*> swc1 \$f5,4\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) \.bss
+[0-9a-f]+ <[^>]*> lui at,0x1
+ [0-9a-f]+: (R_(MICRO)?MIPS_HI16|REFHI) \.sbss
+[0-9a-f]+ <[^>]*> addu at,a1,at
+[0-9a-f]+ <[^>]*> swc1 \$f4,0\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) \.sbss
+[0-9a-f]+ <[^>]*> swc1 \$f5,4\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) \.sbss
+[0-9a-f]+ <[^>]*> lui at,0x2
+ [0-9a-f]+: (R_(MICRO)?MIPS_HI16|REFHI) \.data
+[0-9a-f]+ <[^>]*> addu at,a1,at
+[0-9a-f]+ <[^>]*> swc1 \$f4,-23131\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) \.data
+[0-9a-f]+ <[^>]*> swc1 \$f5,-23127\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) \.data
+[0-9a-f]+ <[^>]*> lui at,0x2
+ [0-9a-f]+: (R_(MICRO)?MIPS_HI16|REFHI) big_external_data_label
+[0-9a-f]+ <[^>]*> addu at,a1,at
+[0-9a-f]+ <[^>]*> swc1 \$f4,-23131\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) big_external_data_label
+[0-9a-f]+ <[^>]*> swc1 \$f5,-23127\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) big_external_data_label
+[0-9a-f]+ <[^>]*> lui at,0x2
+ [0-9a-f]+: (R_(MICRO)?MIPS_HI16|REFHI) small_external_data_label
+[0-9a-f]+ <[^>]*> addu at,a1,at
+[0-9a-f]+ <[^>]*> swc1 \$f4,-23131\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) small_external_data_label
+[0-9a-f]+ <[^>]*> swc1 \$f5,-23127\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) small_external_data_label
+[0-9a-f]+ <[^>]*> lui at,0x2
+ [0-9a-f]+: (R_(MICRO)?MIPS_HI16|REFHI) big_external_common
+[0-9a-f]+ <[^>]*> addu at,a1,at
+[0-9a-f]+ <[^>]*> swc1 \$f4,-23131\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) big_external_common
+[0-9a-f]+ <[^>]*> swc1 \$f5,-23127\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) big_external_common
+[0-9a-f]+ <[^>]*> lui at,0x2
+ [0-9a-f]+: (R_(MICRO)?MIPS_HI16|REFHI) small_external_common
+[0-9a-f]+ <[^>]*> addu at,a1,at
+[0-9a-f]+ <[^>]*> swc1 \$f4,-23131\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) small_external_common
+[0-9a-f]+ <[^>]*> swc1 \$f5,-23127\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) small_external_common
+[0-9a-f]+ <[^>]*> lui at,0x2
+ [0-9a-f]+: (R_(MICRO)?MIPS_HI16|REFHI) \.bss
+[0-9a-f]+ <[^>]*> addu at,a1,at
+[0-9a-f]+ <[^>]*> swc1 \$f4,-23131\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) \.bss
+[0-9a-f]+ <[^>]*> swc1 \$f5,-23127\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) \.bss
+[0-9a-f]+ <[^>]*> lui at,0x2
+ [0-9a-f]+: (R_(MICRO)?MIPS_HI16|REFHI) \.sbss
+[0-9a-f]+ <[^>]*> addu at,a1,at
+[0-9a-f]+ <[^>]*> swc1 \$f4,-23131\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) \.sbss
+[0-9a-f]+ <[^>]*> swc1 \$f5,-23127\(at\)
+ [0-9a-f]+: (R_(MICRO)?MIPS_LO16|REFLO) \.sbss
+ \.\.\.
diff -Nurp binutils-cvs-20130104/opcodes/mips-opc.c binutils-cvs-20130104-mips64el-linux-patched/opcodes/mips-opc.c
--- binutils-cvs-20130104/opcodes/mips-opc.c 2013-01-26 18:28:08.315236097 +0100
+++ binutils-cvs-20130104-mips64el-linux-patched/opcodes/mips-opc.c 2013-01-27 19:53:51.097886321 +0100
@@ -1009,8 +1009,8 @@ const struct mips_opcode mips_builtin_op
{"ldc1", "T,A(b)", 0, (int) M_LDC1_AB, INSN_MACRO, INSN2_M_FP_D, I2, SF },
{"ldc1", "E,A(b)", 0, (int) M_LDC1_AB, INSN_MACRO, INSN2_M_FP_D, I2, SF },
{"l.d", "T,o(b)", 0xd4000000, 0xfc000000, CLD|RD_b|WR_T|FP_D, 0, I2, SF }, /* ldc1 */
-{"l.d", "T,o(b)", 0, (int) M_L_DOB, INSN_MACRO, INSN2_M_FP_D, I1, SF },
-{"l.d", "T,A(b)", 0, (int) M_L_DAB, INSN_MACRO, INSN2_M_FP_D, I1, SF },
+{"l.d", "T,o(b)", 0, (int) M_L_DOB, INSN_MACRO, INSN2_M_FP_D, I1 },
+{"l.d", "T,A(b)", 0, (int) M_L_DAB, INSN_MACRO, INSN2_M_FP_D, I1 },
{"ldc2", "E,o(b)", 0xd8000000, 0xfc000000, CLD|RD_b|WR_CC, 0, I2, IOCT|IOCTP|IOCT2|EE },
{"ldc2", "E,A(b)", 0, (int) M_LDC2_AB, INSN_MACRO, 0, I2, IOCT|IOCTP|IOCT2|EE },
{"ldc3", "E,o(b)", 0xdc000000, 0xfc000000, CLD|RD_b|WR_CC, 0, I2, IOCT|IOCTP|IOCT2|EE },
@@ -1029,10 +1029,10 @@ const struct mips_opcode mips_builtin_op
{"li.d", "T,L", 0, (int) M_LI_DD, INSN_MACRO, INSN2_M_FP_D, I1, SF },
{"li.s", "t,f", 0, (int) M_LI_S, INSN_MACRO, INSN2_M_FP_S, I1 },
{"li.s", "T,l", 0, (int) M_LI_SS, INSN_MACRO, INSN2_M_FP_S, I1 },
-{"ll", "t,o(b)", 0xc0000000, 0xfc000000, LDD|RD_b|WR_t, 0, I2 },
-{"ll", "t,A(b)", 0, (int) M_LL_AB, INSN_MACRO, 0, I2 },
-{"lld", "t,o(b)", 0xd0000000, 0xfc000000, LDD|RD_b|WR_t, 0, I3 },
-{"lld", "t,A(b)", 0, (int) M_LLD_AB, INSN_MACRO, 0, I3 },
+{"ll", "t,o(b)", 0xc0000000, 0xfc000000, LDD|RD_b|WR_t, 0, I2, EE },
+{"ll", "t,A(b)", 0, (int) M_LL_AB, INSN_MACRO, 0, I2, EE },
+{"lld", "t,o(b)", 0xd0000000, 0xfc000000, LDD|RD_b|WR_t, 0, I3, EE },
+{"lld", "t,A(b)", 0, (int) M_LLD_AB, INSN_MACRO, 0, I3, EE },
{"lq", "t,o(b)", 0x78000000, 0xfc000000, WR_t|RD_b, 0, MMI },
{"lq", "t,A(b)", 0, (int) M_LQ_AB, INSN_MACRO, 0, MMI },
{"lqc2", "E,o(b)", 0xd8000000, 0xfc000000, RD_b|WR_C2, 0, EE },
@@ -1556,10 +1556,10 @@ const struct mips_opcode mips_builtin_op
{"saad", "t,(b)", 0x70000019, 0xfc00ffff, SM|RD_t|RD_b, 0, IOCTP },
{"sb", "t,o(b)", 0xa0000000, 0xfc000000, SM|RD_t|RD_b, 0, I1 },
{"sb", "t,A(b)", 0, (int) M_SB_AB, INSN_MACRO, 0, I1 },
-{"sc", "t,o(b)", 0xe0000000, 0xfc000000, SM|RD_t|WR_t|RD_b, 0, I2 },
-{"sc", "t,A(b)", 0, (int) M_SC_AB, INSN_MACRO, 0, I2 },
-{"scd", "t,o(b)", 0xf0000000, 0xfc000000, SM|RD_t|WR_t|RD_b, 0, I3 },
-{"scd", "t,A(b)", 0, (int) M_SCD_AB, INSN_MACRO, 0, I3 },
+{"sc", "t,o(b)", 0xe0000000, 0xfc000000, SM|RD_t|WR_t|RD_b, 0, I2, EE },
+{"sc", "t,A(b)", 0, (int) M_SC_AB, INSN_MACRO, 0, I2, EE },
+{"scd", "t,o(b)", 0xf0000000, 0xfc000000, SM|RD_t|WR_t|RD_b, 0, I3, EE },
+{"scd", "t,A(b)", 0, (int) M_SCD_AB, INSN_MACRO, 0, I3, EE },
/* The macro has to be first to handle o32 correctly. */
{"sd", "t,o(b)", 0, (int) M_SD_OB, INSN_MACRO, 0, I1 },
{"sd", "t,o(b)", 0xfc000000, 0xfc000000, SM|RD_t|RD_b, 0, I3 },
@@ -1578,8 +1578,8 @@ const struct mips_opcode mips_builtin_op
{"sdc3", "E,o(b)", 0xfc000000, 0xfc000000, SM|RD_C3|RD_b, 0, I2, IOCT|IOCTP|IOCT2|EE },
{"sdc3", "E,A(b)", 0, (int) M_SDC3_AB, INSN_MACRO, 0, I2, IOCT|IOCTP|IOCT2|EE },
{"s.d", "T,o(b)", 0xf4000000, 0xfc000000, SM|RD_T|RD_b|FP_D, 0, I2, SF },
-{"s.d", "T,o(b)", 0, (int) M_S_DOB, INSN_MACRO, INSN2_M_FP_D, I1, SF },
-{"s.d", "T,A(b)", 0, (int) M_S_DAB, INSN_MACRO, INSN2_M_FP_D, I1, SF },
+{"s.d", "T,o(b)", 0, (int) M_S_DOB, INSN_MACRO, INSN2_M_FP_D, I1 },
+{"s.d", "T,A(b)", 0, (int) M_S_DAB, INSN_MACRO, INSN2_M_FP_D, I1 },
{"sdl", "t,o(b)", 0xb0000000, 0xfc000000, SM|RD_t|RD_b, 0, I3 },
{"sdl", "t,A(b)", 0, (int) M_SDL_AB, INSN_MACRO, 0, I3 },
{"sdr", "t,o(b)", 0xb4000000, 0xfc000000, SM|RD_t|RD_b, 0, I3 },
@@ -1782,7 +1782,7 @@ const struct mips_opcode mips_builtin_op
{"trunc.w.s", "D,S", 0x46000024, 0xffff003f, WR_D|RD_S|FP_S, 0, EE },
{"trunc.w.s", "D,S", 0x4600000d, 0xffff003f, WR_D|RD_S|FP_S, 0, I2, EE },
{"trunc.w.s", "D,S,x", 0x4600000d, 0xffff003f, WR_D|RD_S|FP_S, 0, I2, EE },
-{"trunc.w.s", "D,S,t", 0, (int) M_TRUNCWS, INSN_MACRO, INSN2_M_FP_S, I1 },
+{"trunc.w.s", "D,S,t", 0, (int) M_TRUNCWS, INSN_MACRO, INSN2_M_FP_S, I1, EE },
{"uld", "t,o(b)", 0, (int) M_ULD, INSN_MACRO, 0, I3 },
{"uld", "t,A(b)", 0, (int) M_ULD_A, INSN_MACRO, 0, I3 },
{"ulh", "t,o(b)", 0, (int) M_ULH, INSN_MACRO, 0, I1 },