diff options
-rw-r--r-- | gas/ChangeLog | 14 | ||||
-rw-r--r-- | gas/config/tc-mips.c | 71 | ||||
-rw-r--r-- | gas/testsuite/ChangeLog | 7 | ||||
-rw-r--r-- | gas/testsuite/gas/mips/at-1.d | 938 | ||||
-rw-r--r-- | gas/testsuite/gas/mips/at-1.s | 388 | ||||
-rw-r--r-- | gas/testsuite/gas/mips/at-2.l | 13 | ||||
-rw-r--r-- | gas/testsuite/gas/mips/at-2.s | 21 | ||||
-rw-r--r-- | gas/testsuite/gas/mips/mips.exp | 3 |
8 files changed, 1431 insertions, 24 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog index 0868568..5d45b13 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,17 @@ +2007-10-08 Maciej W. Rozycki <macro@linux-mips.org> + + * 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". + 2007-10-08 Nick Clifton <nickc@redhat.com> * doc/as.texinfo (Previous): Clarify explanation of the behaviour diff --git a/gas/config/tc-mips.c b/gas/config/tc-mips.c index 6c6baf0..49e02eb 100644 --- a/gas/config/tc-mips.c +++ b/gas/config/tc-mips.c @@ -89,7 +89,7 @@ static char *mips_regmask_frag; #endif #define ZERO 0 -#define AT 1 +#define ATREG 1 #define TREG 24 #define PIC_CALL_REG 25 #define KT0 26 @@ -101,6 +101,8 @@ static char *mips_regmask_frag; #define ILLEGAL_REG (32) +#define AT mips_opts.at + /* Allow override of standard little-endian ECOFF format. */ #ifndef ECOFF_LITTLE_FORMAT @@ -203,9 +205,11 @@ struct mips_set_options /* Non-zero if we should not reorder instructions. Changed by `.set reorder' and `.set noreorder'. */ int noreorder; - /* Non-zero if we should not permit the $at ($1) register to be used - in instructions. Changed by `.set at' and `.set noat'. */ - int noat; + /* Non-zero if we should not permit the register designated "assembler + temporary" to be used in instructions. The value is the register + number, normally $at ($1). Changed by `.set at=REG', `.set noat' + (same as `.set at=$0') and `.set at' (same as `.set at=$1'). */ + unsigned int at; /* Non-zero if we should warn when a macro instruction expands into more than one machine instruction. Changed by `.set nomacro' and `.set macro'. */ @@ -245,7 +249,7 @@ static int file_mips_fp32 = -1; static struct mips_set_options mips_opts = { - ISA_UNKNOWN, -1, -1, 0, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, CPU_UNKNOWN, FALSE + ISA_UNKNOWN, -1, -1, 0, -1, -1, -1, -1, 0, ATREG, 0, 0, 0, 0, 0, 0, CPU_UNKNOWN, FALSE }; /* These variables are filled in with the masks of registers used. @@ -2637,7 +2641,7 @@ append_insn (struct mips_cl_insn *ip, expressionS *address_expr, .set noat if we use $at for PIC computations. If it turns out that the branch was out-of-range, we'll get an error. */ && !mips_opts.warn_about_macros - && !(mips_opts.noat && mips_pic != NO_PIC) + && (mips_opts.at || mips_pic == NO_PIC) && !mips_opts.mips16) { relaxed_branch = TRUE; @@ -3815,7 +3819,7 @@ macro_build_ldst_constoffset (expressionS *ep, const char *op, macro_build (NULL, ADDRESS_ADD_INSN, "d,v,t", AT, AT, breg); macro_build (ep, op, "t,o(b)", treg, BFD_RELOC_LO16, AT); - if (mips_opts.noat) + if (!mips_opts.at) as_bad (_("Macro used $at after \".set noat\"")); } } @@ -4226,7 +4230,7 @@ load_address (int reg, expressionS *ep, int *used_at) relax_switch (); } - if (*used_at == 0 && !mips_opts.noat) + if (*used_at == 0 && mips_opts.at) { macro_build (ep, "lui", "t,u", reg, BFD_RELOC_MIPS_HIGHEST); macro_build (ep, "lui", "t,u", AT, BFD_RELOC_HI16_S); @@ -4415,7 +4419,7 @@ load_address (int reg, expressionS *ep, int *used_at) else abort (); - if (mips_opts.noat && *used_at == 1) + if (!mips_opts.at && *used_at == 1) as_bad (_("Macro used $at after \".set noat\"")); } @@ -4524,8 +4528,8 @@ add_got_offset_hilo (int dest, expressionS *local, int tmp) static void macro (struct mips_cl_insn *ip) { - int treg, sreg, dreg, breg; - int tempreg; + unsigned int treg, sreg, dreg, breg; + unsigned int tempreg; int mask; int used_at = 0; expressionS expr1; @@ -5288,7 +5292,7 @@ macro (struct mips_cl_insn *ip) break; } - if (!mips_opts.noat && (treg == breg)) + if (mips_opts.at && (treg == breg)) { tempreg = AT; used_at = 1; @@ -5347,7 +5351,7 @@ macro (struct mips_cl_insn *ip) relax_switch (); } - if (used_at == 0 && !mips_opts.noat) + if (used_at == 0 && mips_opts.at) { macro_build (&offset_expr, "lui", "t,u", tempreg, BFD_RELOC_MIPS_HIGHEST); @@ -6344,7 +6348,7 @@ macro (struct mips_cl_insn *ip) relax_switch (); } - if (used_at == 0 && !mips_opts.noat) + if (used_at == 0 && mips_opts.at) { macro_build (&offset_expr, "lui", "t,u", tempreg, BFD_RELOC_MIPS_HIGHEST); @@ -7137,15 +7141,15 @@ macro (struct mips_cl_insn *ip) macro2 (ip); break; } - if (mips_opts.noat && used_at) + if (!mips_opts.at && used_at) as_bad (_("Macro used $at after \".set noat\"")); } static void macro2 (struct mips_cl_insn *ip) { - int treg, sreg, dreg, breg; - int tempreg; + unsigned int treg, sreg, dreg, breg; + unsigned int tempreg; int mask; int used_at; expressionS expr1; @@ -7928,7 +7932,7 @@ macro2 (struct mips_cl_insn *ip) as_bad (_("Macro %s not implemented yet"), ip->insn_mo->name); break; } - if (mips_opts.noat && used_at) + if (!mips_opts.at && used_at) as_bad (_("Macro used $at after \".set noat\"")); } @@ -9089,8 +9093,14 @@ do_msbd: else { ok = reg_lookup (&s, RTYPE_NUM | RTYPE_GP, ®no); - if (regno == AT && ! mips_opts.noat) - as_warn ("Used $at without \".set noat\""); + if (regno == AT && mips_opts.at) + { + if (mips_opts.at == ATREG) + as_warn (_("used $at without \".set noat\"")); + else + as_warn (_("used $%u with \".set at=$%u\""), + regno, mips_opts.at); + } } if (ok) { @@ -9983,8 +9993,14 @@ mips16_ip (char *str, struct mips_cl_insn *ip) case 'X': case 'Y': - if (regno == AT && ! mips_opts.noat) - as_warn (_("used $at without \".set noat\"")); + if (regno == AT && mips_opts.at) + { + if (mips_opts.at == ATREG) + as_warn (_("used $at without \".set noat\"")); + else + as_warn (_("used $%u with \".set at=$%u\""), + regno, mips_opts.at); + } break; default: @@ -12404,13 +12420,20 @@ s_mipsset (int x ATTRIBUTE_UNUSED) if (!mips_opts.noreorder) start_noreorder (); } + else if (strncmp (name, "at=", 3) == 0) + { + char *s = name + 3; + + if (!reg_lookup (&s, RTYPE_NUM | RTYPE_GP, &mips_opts.at)) + as_bad (_("Unrecognized register name `%s'"), s); + } else if (strcmp (name, "at") == 0) { - mips_opts.noat = 0; + mips_opts.at = ATREG; } else if (strcmp (name, "noat") == 0) { - mips_opts.noat = 1; + mips_opts.at = ZERO; } else if (strcmp (name, "macro") == 0) { 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] |