From 8484fb75874eb9ef35710ac6579433f062ddba18 Mon Sep 17 00:00:00 2001 From: "Maciej W. Rozycki" Date: Tue, 26 Jul 2016 17:50:55 +0100 Subject: [PATCH] MIPS/GAS: Respect the `insn32' mode in branch relaxation Complement: commit 833794fc12d98139fc33f6b0b85feb03471007b7 Author: Maciej W. Rozycki Date: Tue Jun 25 18:02:34 2013 +0000 , ("microMIPS insn32 mode support"), and fix an issue with microMIPS branch relaxation producing 16-bit instructions in the `insn32' mode. Use equivalent 32-bit instruction sequences. gas/ * config/tc-mips.c (RELAX_MICROMIPS_ENCODE): Add `insn32' flag. (RELAX_MICROMIPS_INSN32): New macro. (RELAX_MICROMIPS_UNCOND, RELAX_MICROMIPS_COMPACT) (RELAX_MICROMIPS_LINK, RELAX_MICROMIPS_RELAX32) (RELAX_MICROMIPS_TOOFAR16, RELAX_MICROMIPS_MARK_TOOFAR16) (RELAX_MICROMIPS_CLEAR_TOOFAR16, RELAX_MICROMIPS_TOOFAR32) (RELAX_MICROMIPS_MARK_TOOFAR32, RELAX_MICROMIPS_CLEAR_TOOFAR32): Shift bits. (append_insn): Record `mips_opts.insn32' with relaxed microMIPS branches. (relaxed_micromips_32bit_branch_length): Handle the `insn32' mode. (md_convert_frag): Likewise. * testsuite/gas/mips/micromips-branch-relax.s: Add `insn32' conditionals. * testsuite/gas/mips/micromips-branch-relax.l: Update line numbers accordingly. * testsuite/gas/mips/micromips-branch-relax-pic.l: Likewise. * testsuite/gas/mips/micromips-branch-relax-insn32.d: New test. * testsuite/gas/mips/micromips-branch-relax-insn32-pic.d: New test. * testsuite/gas/mips/micromips-branch-relax-insn32.l: New stderr output. * testsuite/gas/mips/micromips-branch-relax-insn32-pic.l: New stderr output. * testsuite/gas/mips/mips.exp: Run the new tests. --- gas/ChangeLog | 29 + gas/config/tc-mips.c | 130 ++-- .../mips/micromips-branch-relax-insn32-pic.d | 572 ++++++++++++++++++ .../mips/micromips-branch-relax-insn32-pic.l | 47 ++ .../gas/mips/micromips-branch-relax-insn32.d | 433 +++++++++++++ .../gas/mips/micromips-branch-relax-insn32.l | 45 ++ .../gas/mips/micromips-branch-relax-pic.l | 22 +- .../gas/mips/micromips-branch-relax.l | 20 +- .../gas/mips/micromips-branch-relax.s | 14 + gas/testsuite/gas/mips/mips.exp | 2 + 10 files changed, 1248 insertions(+), 66 deletions(-) create mode 100644 gas/testsuite/gas/mips/micromips-branch-relax-insn32-pic.d create mode 100644 gas/testsuite/gas/mips/micromips-branch-relax-insn32-pic.l create mode 100644 gas/testsuite/gas/mips/micromips-branch-relax-insn32.d create mode 100644 gas/testsuite/gas/mips/micromips-branch-relax-insn32.l diff --git a/gas/ChangeLog b/gas/ChangeLog index 7fc57e82cc..617fccdb1c 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,32 @@ +2016-07-26 Maciej W. Rozycki + + * config/tc-mips.c (RELAX_MICROMIPS_ENCODE): Add `insn32' flag. + (RELAX_MICROMIPS_INSN32): New macro. + (RELAX_MICROMIPS_UNCOND, RELAX_MICROMIPS_COMPACT) + (RELAX_MICROMIPS_LINK, RELAX_MICROMIPS_RELAX32) + (RELAX_MICROMIPS_TOOFAR16, RELAX_MICROMIPS_MARK_TOOFAR16) + (RELAX_MICROMIPS_CLEAR_TOOFAR16, RELAX_MICROMIPS_TOOFAR32) + (RELAX_MICROMIPS_MARK_TOOFAR32, RELAX_MICROMIPS_CLEAR_TOOFAR32): + Shift bits. + (append_insn): Record `mips_opts.insn32' with relaxed microMIPS + branches. + (relaxed_micromips_32bit_branch_length): Handle the `insn32' + mode. + (md_convert_frag): Likewise. + * testsuite/gas/mips/micromips-branch-relax.s: Add `insn32' + conditionals. + * testsuite/gas/mips/micromips-branch-relax.l: Update line + numbers accordingly. + * testsuite/gas/mips/micromips-branch-relax-pic.l: Likewise. + * testsuite/gas/mips/micromips-branch-relax-insn32.d: New test. + * testsuite/gas/mips/micromips-branch-relax-insn32-pic.d: New + test. + * testsuite/gas/mips/micromips-branch-relax-insn32.l: New + stderr output. + * testsuite/gas/mips/micromips-branch-relax-insn32-pic.l: New + stderr output. + * testsuite/gas/mips/mips.exp: Run the new tests. + 2016-07-21 H.J. Lu * configure: Regenerated. diff --git a/gas/config/tc-mips.c b/gas/config/tc-mips.c index daa23d892f..5768f186b0 100644 --- a/gas/config/tc-mips.c +++ b/gas/config/tc-mips.c @@ -1151,37 +1151,41 @@ static int mips_relax_branch; The information we store for this type of relaxation is the argument code found in the opcode file for this relocation, the register - selected as the assembler temporary, whether the branch is - unconditional, whether it is compact, whether it stores the link - address implicitly in $ra, whether relaxation of out-of-range 32-bit - branches to a sequence of instructions is enabled, and whether the - displacement of a branch is too large to fit as an immediate argument - of a 16-bit and a 32-bit branch, respectively. */ -#define RELAX_MICROMIPS_ENCODE(type, at, uncond, compact, link, \ + selected as the assembler temporary, whether in the 32-bit + instruction mode, whether the branch is unconditional, whether it is + compact, whether it stores the link address implicitly in $ra, + whether relaxation of out-of-range 32-bit branches to a sequence of + instructions is enabled, and whether the displacement of a branch is + too large to fit as an immediate argument of a 16-bit and a 32-bit + branch, respectively. */ +#define RELAX_MICROMIPS_ENCODE(type, at, insn32, \ + uncond, compact, link, \ relax32, toofar16, toofar32) \ (0x40000000 \ | ((type) & 0xff) \ | (((at) & 0x1f) << 8) \ - | ((uncond) ? 0x2000 : 0) \ - | ((compact) ? 0x4000 : 0) \ - | ((link) ? 0x8000 : 0) \ - | ((relax32) ? 0x10000 : 0) \ - | ((toofar16) ? 0x20000 : 0) \ - | ((toofar32) ? 0x40000 : 0)) + | ((insn32) ? 0x2000 : 0) \ + | ((uncond) ? 0x4000 : 0) \ + | ((compact) ? 0x8000 : 0) \ + | ((link) ? 0x10000 : 0) \ + | ((relax32) ? 0x20000 : 0) \ + | ((toofar16) ? 0x40000 : 0) \ + | ((toofar32) ? 0x80000 : 0)) #define RELAX_MICROMIPS_P(i) (((i) & 0xc0000000) == 0x40000000) #define RELAX_MICROMIPS_TYPE(i) ((i) & 0xff) #define RELAX_MICROMIPS_AT(i) (((i) >> 8) & 0x1f) -#define RELAX_MICROMIPS_UNCOND(i) (((i) & 0x2000) != 0) -#define RELAX_MICROMIPS_COMPACT(i) (((i) & 0x4000) != 0) -#define RELAX_MICROMIPS_LINK(i) (((i) & 0x8000) != 0) -#define RELAX_MICROMIPS_RELAX32(i) (((i) & 0x10000) != 0) - -#define RELAX_MICROMIPS_TOOFAR16(i) (((i) & 0x20000) != 0) -#define RELAX_MICROMIPS_MARK_TOOFAR16(i) ((i) | 0x20000) -#define RELAX_MICROMIPS_CLEAR_TOOFAR16(i) ((i) & ~0x20000) -#define RELAX_MICROMIPS_TOOFAR32(i) (((i) & 0x40000) != 0) -#define RELAX_MICROMIPS_MARK_TOOFAR32(i) ((i) | 0x40000) -#define RELAX_MICROMIPS_CLEAR_TOOFAR32(i) ((i) & ~0x40000) +#define RELAX_MICROMIPS_INSN32(i) (((i) & 0x2000) != 0) +#define RELAX_MICROMIPS_UNCOND(i) (((i) & 0x4000) != 0) +#define RELAX_MICROMIPS_COMPACT(i) (((i) & 0x8000) != 0) +#define RELAX_MICROMIPS_LINK(i) (((i) & 0x10000) != 0) +#define RELAX_MICROMIPS_RELAX32(i) (((i) & 0x20000) != 0) + +#define RELAX_MICROMIPS_TOOFAR16(i) (((i) & 0x40000) != 0) +#define RELAX_MICROMIPS_MARK_TOOFAR16(i) ((i) | 0x40000) +#define RELAX_MICROMIPS_CLEAR_TOOFAR16(i) ((i) & ~0x40000) +#define RELAX_MICROMIPS_TOOFAR32(i) (((i) & 0x80000) != 0) +#define RELAX_MICROMIPS_MARK_TOOFAR32(i) ((i) | 0x80000) +#define RELAX_MICROMIPS_CLEAR_TOOFAR32(i) ((i) & ~0x80000) /* Sign-extend 16-bit value X. */ #define SEXT_16BIT(X) ((((X) + 0x8000) & 0xffff) - 0x8000) @@ -7302,7 +7306,8 @@ append_insn (struct mips_cl_insn *ip, expressionS *address_expr, relaxed_branch = TRUE; length32 = relaxed_micromips_32bit_branch_length (NULL, NULL, uncond); add_relaxed_insn (ip, relax32 ? length32 : 4, relax16 ? 2 : 4, - RELAX_MICROMIPS_ENCODE (type, AT, uncond, compact, al, + RELAX_MICROMIPS_ENCODE (type, AT, mips_opts.insn32, + uncond, compact, al, relax32, 0, 0), address_expr->X_add_symbol, address_expr->X_add_number); @@ -17228,14 +17233,19 @@ relaxed_micromips_32bit_branch_length (fragS *fragp, asection *sec, int update) { bfd_boolean compact_known = fragp != NULL; bfd_boolean compact = FALSE; + bfd_boolean insn32 = TRUE; bfd_boolean uncond; + int short_insn_size; - if (compact_known) - compact = RELAX_MICROMIPS_COMPACT (fragp->fr_subtype); if (fragp) - uncond = RELAX_MICROMIPS_UNCOND (fragp->fr_subtype); + { + compact = RELAX_MICROMIPS_COMPACT (fragp->fr_subtype); + uncond = RELAX_MICROMIPS_UNCOND (fragp->fr_subtype); + insn32 = RELAX_MICROMIPS_INSN32 (fragp->fr_subtype); + } else uncond = update < 0; + short_insn_size = insn32 ? 4 : 2; /* If label is out of range, we turn branch
: @@ -17245,11 +17255,12 @@ relaxed_micromips_32bit_branch_length (fragS *fragp, asection *sec, int update) into: j label # 4 bytes - nop # 2 bytes if compact && !PIC + nop # 2/4 bytes if + # compact && (!PIC || insn32) 0: */ - if (mips_pic == NO_PIC && (!compact_known || compact)) - length += 2; + if ((mips_pic == NO_PIC || insn32) && (!compact_known || compact)) + length += short_insn_size; /* If assembling PIC code, we further turn: @@ -17259,18 +17270,18 @@ relaxed_micromips_32bit_branch_length (fragS *fragp, asection *sec, int update) lw/ld at, %got(label)(gp) # 4 bytes d/addiu at, %lo(label) # 4 bytes - jr/c at # 2 bytes + jr/c at # 2/4 bytes */ if (mips_pic != NO_PIC) - length += 6; + length += 4 + short_insn_size; /* If branch
is conditional, we prepend negated branch : 0f # 4 bytes - nop # 2 bytes if !compact + nop # 2/4 bytes if !compact */ if (!uncond) - length += (compact_known && compact) ? 4 : 6; + length += (compact_known && compact) ? 4 : 4 + short_insn_size; } return length; @@ -17835,6 +17846,7 @@ md_convert_frag (bfd *abfd ATTRIBUTE_UNUSED, segT asec, fragS *fragp) { char *buf = fragp->fr_literal + fragp->fr_fix; bfd_boolean compact = RELAX_MICROMIPS_COMPACT (fragp->fr_subtype); + bfd_boolean insn32 = RELAX_MICROMIPS_INSN32 (fragp->fr_subtype); bfd_boolean al = RELAX_MICROMIPS_LINK (fragp->fr_subtype); int type = RELAX_MICROMIPS_TYPE (fragp->fr_subtype); bfd_boolean short_ds; @@ -17982,9 +17994,15 @@ md_convert_frag (bfd *abfd ATTRIBUTE_UNUSED, segT asec, fragS *fragp) /* Branch over the jump. */ buf = write_compressed_insn (buf, insn, 4); + if (!compact) - /* nop */ - buf = write_compressed_insn (buf, 0x0c00, 2); + { + /* nop */ + if (insn32) + buf = write_compressed_insn (buf, 0x00000000, 4); + else + buf = write_compressed_insn (buf, 0x0c00, 2); + } } if (mips_pic == NO_PIC) @@ -18000,15 +18018,19 @@ md_convert_frag (bfd *abfd ATTRIBUTE_UNUSED, segT asec, fragS *fragp) fixp->fx_line = fragp->fr_line; buf = write_compressed_insn (buf, insn, 4); + if (compact) - /* nop */ - buf = write_compressed_insn (buf, 0x0c00, 2); + { + /* nop */ + if (insn32) + buf = write_compressed_insn (buf, 0x00000000, 4); + else + buf = write_compressed_insn (buf, 0x0c00, 2); + } } else { unsigned long at = RELAX_MICROMIPS_AT (fragp->fr_subtype); - unsigned long jalr = short_ds ? 0x45e0 : 0x45c0; /* jalr/s */ - unsigned long jr = compact ? 0x45a0 : 0x4580; /* jr/c */ /* lw/ld $at, ($gp) R_MICROMIPS_GOT16 */ insn = HAVE_64BIT_ADDRESSES ? 0xdc1c0000 : 0xfc1c0000; @@ -18038,11 +18060,29 @@ md_convert_frag (bfd *abfd ATTRIBUTE_UNUSED, segT asec, fragS *fragp) buf = write_compressed_insn (buf, insn, 4); - /* jr/jrc/jalr/jalrs $at */ - insn = al ? jalr : jr; - insn |= at << MICROMIPSOP_SH_MJ; + if (insn32) + { + /* jr/jalr $at */ + insn = 0x00000f3c | (al ? RA : ZERO) << MICROMIPSOP_SH_RT; + insn |= at << MICROMIPSOP_SH_RS; + + buf = write_compressed_insn (buf, insn, 4); - buf = write_compressed_insn (buf, insn, 2); + if (compact) + /* nop */ + buf = write_compressed_insn (buf, 0x00000000, 4); + } + else + { + /* jr/jrc/jalr/jalrs $at */ + unsigned long jalr = short_ds ? 0x45e0 : 0x45c0; /* jalr/s */ + unsigned long jr = compact ? 0x45a0 : 0x4580; /* jr/c */ + + insn = al ? jalr : jr; + insn |= at << MICROMIPSOP_SH_MJ; + + buf = write_compressed_insn (buf, insn, 2); + } } gas_assert (buf == fragp->fr_literal + fragp->fr_fix); diff --git a/gas/testsuite/gas/mips/micromips-branch-relax-insn32-pic.d b/gas/testsuite/gas/mips/micromips-branch-relax-insn32-pic.d new file mode 100644 index 0000000000..07551e3abb --- /dev/null +++ b/gas/testsuite/gas/mips/micromips-branch-relax-insn32-pic.d @@ -0,0 +1,572 @@ +#objdump: -dr --show-raw-insn +#name: Relax microMIPS branches (insn32 mode, pic) +#as: -mips32r2 -32 -relax-branch -KPIC -minsn32 --defsym insn32=1 +#stderr: micromips-branch-relax-insn32-pic.l +#source: micromips-branch-relax.s + +.*: +file format .*mips.* + +Disassembly of section \.text: + +[0-9a-f]+ : +[ 0-9a-f]+: 9400 fffe b [0-9a-f]+ <.*> +[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .* +[ 0-9a-f]+: 00a4 1950 addu v1,a0,a1 +[ 0-9a-f]+: 9403 fffe beqz v1,[0-9a-f]+ <.*\+0x[0-9a-f]+> +[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .* +[ 0-9a-f]+: 00a4 1950 addu v1,a0,a1 +[ 0-9a-f]+: b403 fffe bnez v1,[0-9a-f]+ <.*\+0x[0-9a-f]+> +[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .* +[ 0-9a-f]+: 00a4 1950 addu v1,a0,a1 +[ 0-9a-f]+: 9400 fffe b [0-9a-f]+ <.*\+0x[0-9a-f]+> +[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .* +[ 0-9a-f]+: 00a4 1950 addu v1,a0,a1 +[ 0-9a-f]+: 40e0 fffe bc [0-9a-f]+ <.*\+0x[0-9a-f]+> +[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .* +[ 0-9a-f]+: 00a4 1950 addu v1,a0,a1 +[ 0-9a-f]+: 4060 fffe bal [0-9a-f]+ <.*\+0x[0-9a-f]+> +[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .* +[ 0-9a-f]+: 00a4 1950 addu v1,a0,a1 +[ 0-9a-f]+: 9403 fffe beqz v1,[0-9a-f]+ <.*\+0x[0-9a-f]+> +[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .* +[ 0-9a-f]+: 00a4 1950 addu v1,a0,a1 +[ 0-9a-f]+: b403 fffe bnez v1,[0-9a-f]+ <.*\+0x[0-9a-f]+> +[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .* +[ 0-9a-f]+: 00a4 1950 addu v1,a0,a1 +[ 0-9a-f]+: 9400 fffe b [0-9a-f]+ <.*\+0x[0-9a-f]+> +[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .* +[ 0-9a-f]+: 00a4 1950 addu v1,a0,a1 +[ 0-9a-f]+: 40e0 fffe bc [0-9a-f]+ <.*\+0x[0-9a-f]+> +[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .* +[ 0-9a-f]+: 00a4 1950 addu v1,a0,a1 +[ 0-9a-f]+: 4060 fffe bal [0-9a-f]+ <.*\+0x[0-9a-f]+> +[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .* +[ 0-9a-f]+: 00a4 1950 addu v1,a0,a1 +[ 0-9a-f]+: 9403 fffe beqz v1,[0-9a-f]+ <.*\+0x[0-9a-f]+> +[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .* +[ 0-9a-f]+: 00a4 1950 addu v1,a0,a1 +[ 0-9a-f]+: b403 fffe bnez v1,[0-9a-f]+ <.*\+0x[0-9a-f]+> +[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .* +[ 0-9a-f]+: 00a4 1950 addu v1,a0,a1 +[ 0-9a-f]+: 9400 fffe b [0-9a-f]+ <.*\+0x[0-9a-f]+> +[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .* +[ 0-9a-f]+: 00a4 1950 addu v1,a0,a1 +[ 0-9a-f]+: 40e0 fffe bc [0-9a-f]+ <.*\+0x[0-9a-f]+> +[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .* +[ 0-9a-f]+: 00a4 1950 addu v1,a0,a1 +[ 0-9a-f]+: 4060 fffe bal [0-9a-f]+ <.*\+0x[0-9a-f]+> +[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .* +[ 0-9a-f]+: 00a4 1950 addu v1,a0,a1 +[ 0-9a-f]+: 9403 fffe beqz v1,[0-9a-f]+ <.*\+0x[0-9a-f]+> +[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .* +[ 0-9a-f]+: 00a4 1950 addu v1,a0,a1 +[ 0-9a-f]+: b403 fffe bnez v1,[0-9a-f]+ <.*\+0x[0-9a-f]+> +[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .* +[ 0-9a-f]+: 00a4 1950 addu v1,a0,a1 +[ 0-9a-f]+: fc3c 0001 lw at,1\(gp\) +[ ]*[0-9a-f]+: R_MICROMIPS_GOT16 \.text +[ 0-9a-f]+: 3021 04fb addiu at,at,1275 +[ ]*[0-9a-f]+: R_MICROMIPS_LO16 \.text +[ 0-9a-f]+: 0001 0f3c jr at +[ 0-9a-f]+: 00a4 1950 addu v1,a0,a1 +[ 0-9a-f]+: ff3c 0001 lw t9,1\(gp\) +[ ]*[0-9a-f]+: R_MICROMIPS_GOT16 \.text +[ 0-9a-f]+: 3339 04fb addiu t9,t9,1275 +[ ]*[0-9a-f]+: R_MICROMIPS_LO16 \.text +[ 0-9a-f]+: 03f9 0f3c jalr t9 +[ ]*[0-9a-f]+: R_MICROMIPS_JALR test3 +[ 0-9a-f]+: 00a4 1950 addu v1,a0,a1 +[ 0-9a-f]+: fc3c 0001 lw at,1\(gp\) +[ ]*[0-9a-f]+: R_MICROMIPS_GOT16 \.text +[ 0-9a-f]+: 3021 04fb addiu at,at,1275 +[ ]*[0-9a-f]+: R_MICROMIPS_LO16 \.text +[ 0-9a-f]+: 0001 0f3c jr at +[ 0-9a-f]+: 00a4 1950 addu v1,a0,a1 +[ 0-9a-f]+: fc3c 0001 lw at,1\(gp\) +[ ]*[0-9a-f]+: R_MICROMIPS_GOT16 \.text +[ 0-9a-f]+: 3021 04fb addiu at,at,1275 +[ ]*[0-9a-f]+: R_MICROMIPS_LO16 \.text +[ 0-9a-f]+: 0001 0f3c jr at +[ 0-9a-f]+: 0000 0000 nop +[ 0-9a-f]+: 00a4 1950 addu v1,a0,a1 +[ 0-9a-f]+: fc3c 0001 lw at,1\(gp\) +[ ]*[0-9a-f]+: R_MICROMIPS_GOT16 \.text +[ 0-9a-f]+: 3021 04fb addiu at,at,1275 +[ ]*[0-9a-f]+: R_MICROMIPS_LO16 \.text +[ 0-9a-f]+: 03e1 0f3c jalr at +[ 0-9a-f]+: 00a4 1950 addu v1,a0,a1 +[ 0-9a-f]+: b483 fffe bne v1,a0,[0-9a-f]+ <.*\+0x[0-9a-f]+> +[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .* +[ 0-9a-f]+: 0000 0000 nop +[ 0-9a-f]+: fc3c 0001 lw at,1\(gp\) +[ ]*[0-9a-f]+: R_MICROMIPS_GOT16 \.text +[ 0-9a-f]+: 3021 04fb addiu at,at,1275 +[ ]*[0-9a-f]+: R_MICROMIPS_LO16 \.text +[ 0-9a-f]+: 0001 0f3c jr at + +[0-9a-f]+ <.*>: +[ 0-9a-f]+: 00a4 1950 addu v1,a0,a1 +[ 0-9a-f]+: 9483 fffe beq v1,a0,[0-9a-f]+ <.*\+0x[0-9a-f]+> +[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .* +[ 0-9a-f]+: 0000 0000 nop +[ 0-9a-f]+: fc3c 0001 lw at,1\(gp\) +[ ]*[0-9a-f]+: R_MICROMIPS_GOT16 \.text +[ 0-9a-f]+: 3021 04fb addiu at,at,1275 +[ ]*[0-9a-f]+: R_MICROMIPS_LO16 \.text +[ 0-9a-f]+: 0001 0f3c jr at + +[0-9a-f]+ <.*>: +[ 0-9a-f]+: 00a4 1950 addu v1,a0,a1 +[ 0-9a-f]+: 4043 fffe bgez v1,[0-9a-f]+ <.*\+0x[0-9a-f]+> +[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .* +[ 0-9a-f]+: 0000 0000 nop +[ 0-9a-f]+: fc3c 0001 lw at,1\(gp\) +[ ]*[0-9a-f]+: R_MICROMIPS_GOT16 \.text +[ 0-9a-f]+: 3021 04fb addiu at,at,1275 +[ ]*[0-9a-f]+: R_MICROMIPS_LO16 \.text +[ 0-9a-f]+: 0001 0f3c jr at + +[0-9a-f]+ <.*>: +[ 0-9a-f]+: 00a4 1950 addu v1,a0,a1 +[ 0-9a-f]+: 4003 fffe bltz v1,[0-9a-f]+ <.*\+0x[0-9a-f]+> +[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .* +[ 0-9a-f]+: 0000 0000 nop +[ 0-9a-f]+: fc3c 0001 lw at,1\(gp\) +[ ]*[0-9a-f]+: R_MICROMIPS_GOT16 \.text +[ 0-9a-f]+: 3021 04fb addiu at,at,1275 +[ ]*[0-9a-f]+: R_MICROMIPS_LO16 \.text +[ 0-9a-f]+: 0001 0f3c jr at + +[0-9a-f]+ <.*>: +[ 0-9a-f]+: 00a4 1950 addu v1,a0,a1 +[ 0-9a-f]+: 40d4 fffe bgtz s4,[0-9a-f]+ <.*\+0x[0-9a-f]+> +[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .* +[ 0-9a-f]+: 0000 0000 nop +[ 0-9a-f]+: fc3c 0001 lw at,1\(gp\) +[ ]*[0-9a-f]+: R_MICROMIPS_GOT16 \.text +[ 0-9a-f]+: 3021 04fb addiu at,at,1275 +[ ]*[0-9a-f]+: R_MICROMIPS_LO16 \.text +[ 0-9a-f]+: 0001 0f3c jr at + +[0-9a-f]+ <.*>: +[ 0-9a-f]+: 00a4 1950 addu v1,a0,a1 +[ 0-9a-f]+: 4094 fffe blez s4,[0-9a-f]+ <.*\+0x[0-9a-f]+> +[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .* +[ 0-9a-f]+: 0000 0000 nop +[ 0-9a-f]+: fc3c 0001 lw at,1\(gp\) +[ ]*[0-9a-f]+: R_MICROMIPS_GOT16 \.text +[ 0-9a-f]+: 3021 04fb addiu at,at,1275 +[ ]*[0-9a-f]+: R_MICROMIPS_LO16 \.text +[ 0-9a-f]+: 0001 0f3c jr at + +[0-9a-f]+ <.*>: +[ 0-9a-f]+: 00a4 1950 addu v1,a0,a1 +[ 0-9a-f]+: 40a3 fffe bnezc v1,[0-9a-f]+ <.*\+0x[0-9a-f]+> +[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .* +[ 0-9a-f]+: fc3c 0001 lw at,1\(gp\) +[ ]*[0-9a-f]+: R_MICROMIPS_GOT16 \.text +[ 0-9a-f]+: 3021 04fb addiu at,at,1275 +[ ]*[0-9a-f]+: R_MICROMIPS_LO16 \.text +[ 0-9a-f]+: 0001 0f3c jr at +[ 0-9a-f]+: 0000 0000 nop + +[0-9a-f]+ <.*>: +[ 0-9a-f]+: 00a4 1950 addu v1,a0,a1 +[ 0-9a-f]+: 40e3 fffe beqzc v1,[0-9a-f]+ <.*\+0x[0-9a-f]+> +[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .* +[ 0-9a-f]+: fc3c 0001 lw at,1\(gp\) +[ ]*[0-9a-f]+: R_MICROMIPS_GOT16 \.text +[ 0-9a-f]+: 3021 04fb addiu at,at,1275 +[ ]*[0-9a-f]+: R_MICROMIPS_LO16 \.text +[ 0-9a-f]+: 0001 0f3c jr at +[ 0-9a-f]+: 0000 0000 nop + +[0-9a-f]+ <.*>: +[ 0-9a-f]+: 00a4 1950 addu v1,a0,a1 +[ 0-9a-f]+: 401e fffe bltz s8,[0-9a-f]+ <.*\+0x[0-9a-f]+> +[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .* +[ 0-9a-f]+: 0000 0000 nop +[ 0-9a-f]+: fc3c 0001 lw at,1\(gp\) +[ ]*[0-9a-f]+: R_MICROMIPS_GOT16 \.text +[ 0-9a-f]+: 3021 04fb addiu at,at,1275 +[ ]*[0-9a-f]+: R_MICROMIPS_LO16 \.text +[ 0-9a-f]+: 03e1 0f3c jalr at + +[0-9a-f]+ <.*>: +[ 0-9a-f]+: 00a4 1950 addu v1,a0,a1 +[ 0-9a-f]+: 405e fffe bgez s8,[0-9a-f]+ <.*\+0x[0-9a-f]+> +[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .* +[ 0-9a-f]+: 0000 0000 nop +[ 0-9a-f]+: fc3c 0001 lw at,1\(gp\) +[ ]*[0-9a-f]+: R_MICROMIPS_GOT16 \.text +[ 0-9a-f]+: 3021 04fb addiu at,at,1275 +[ ]*[0-9a-f]+: R_MICROMIPS_LO16 \.text +[ 0-9a-f]+: 03e1 0f3c jalr at + +[0-9a-f]+ <.*>: +[ 0-9a-f]+: 00a4 1950 addu v1,a0,a1 +[ 0-9a-f]+: 43a0 fffe bc1t [0-9a-f]+ <.*\+0x[0-9a-f]+> +[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .* +[ 0-9a-f]+: 0000 0000 nop +[ 0-9a-f]+: fc3c 0001 lw at,1\(gp\) +[ ]*[0-9a-f]+: R_MICROMIPS_GOT16 \.text +[ 0-9a-f]+: 3021 04fb addiu at,at,1275 +[ ]*[0-9a-f]+: R_MICROMIPS_LO16 \.text +[ 0-9a-f]+: 0001 0f3c jr at + +[0-9a-f]+ <.*>: +[ 0-9a-f]+: 00a4 1950 addu v1,a0,a1 +[ 0-9a-f]+: 4380 fffe bc1f [0-9a-f]+ <.*\+0x[0-9a-f]+> +[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .* +[ 0-9a-f]+: 0000 0000 nop +[ 0-9a-f]+: fc3c 0001 lw at,1\(gp\) +[ ]*[0-9a-f]+: R_MICROMIPS_GOT16 \.text +[ 0-9a-f]+: 3021 04fb addiu at,at,1275 +[ ]*[0-9a-f]+: R_MICROMIPS_LO16 \.text +[ 0-9a-f]+: 0001 0f3c jr at + +[0-9a-f]+ <.*>: +[ 0-9a-f]+: 00a4 1950 addu v1,a0,a1 +[ 0-9a-f]+: 42a0 fffe bc2t [0-9a-f]+ <.*\+0x[0-9a-f]+> +[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .* +[ 0-9a-f]+: 0000 0000 nop +[ 0-9a-f]+: fc3c 0001 lw at,1\(gp\) +[ ]*[0-9a-f]+: R_MICROMIPS_GOT16 \.text +[ 0-9a-f]+: 3021 04fb addiu at,at,1275 +[ ]*[0-9a-f]+: R_MICROMIPS_LO16 \.text +[ 0-9a-f]+: 0001 0f3c jr at + +[0-9a-f]+ <.*>: +[ 0-9a-f]+: 00a4 1950 addu v1,a0,a1 +[ 0-9a-f]+: 4280 fffe bc2f [0-9a-f]+ <.*\+0x[0-9a-f]+> +[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .* +[ 0-9a-f]+: 0000 0000 nop +[ 0-9a-f]+: fc3c 0001 lw at,1\(gp\) +[ ]*[0-9a-f]+: R_MICROMIPS_GOT16 \.text +[ 0-9a-f]+: 3021 04fb addiu at,at,1275 +[ ]*[0-9a-f]+: R_MICROMIPS_LO16 \.text +[ 0-9a-f]+: 0001 0f3c jr at + +[0-9a-f]+ <.*>: +[ 0-9a-f]+: 00a4 1950 addu v1,a0,a1 +[ 0-9a-f]+: b483 fffe bne v1,a0,[0-9a-f]+ <.*\+0x[0-9a-f]+> +[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .* +[ 0-9a-f]+: 0000 0000 nop +[ 0-9a-f]+: fc3c 0001 lw at,1\(gp\) +[ ]*[0-9a-f]+: R_MICROMIPS_GOT16 \.text +[ 0-9a-f]+: 3021 04fb addiu at,at,1275 +[ ]*[0-9a-f]+: R_MICROMIPS_LO16 \.text +[ 0-9a-f]+: 0001 0f3c jr at +[ 0-9a-f]+: 00a4 1950 addu v1,a0,a1 + +[0-9a-f]+ <.*>: +[ 0-9a-f]+: b403 fffe bnez v1,[0-9a-f]+ <.*> +[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .* +[ 0-9a-f]+: 0000 0000 nop +[ 0-9a-f]+: fc3c 0001 lw at,1\(gp\) +[ ]*[0-9a-f]+: R_MICROMIPS_GOT16 \.text +[ 0-9a-f]+: 3021 04fb addiu at,at,1275 +[ ]*[0-9a-f]+: R_MICROMIPS_LO16 \.text +[ 0-9a-f]+: 0001 0f3c jr at + +[0-9a-f]+ <.*>: +[ 0-9a-f]+: 00a4 1b10 xor v1,a0,a1 +[ 0-9a-f]+: 0083 0b50 slt at,v1,a0 +[ 0-9a-f]+: b401 fffe bnez at,[0-9a-f]+ <.*\+0x[0-9a-f]+> +[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .* +[ 0-9a-f]+: 0000 0000 nop +[ 0-9a-f]+: fc3c 0001 lw at,1\(gp\) +[ ]*[0-9a-f]+: R_MICROMIPS_GOT16 \.text +[ 0-9a-f]+: 3021 04fb addiu at,at,1275 +[ ]*[0-9a-f]+: R_MICROMIPS_LO16 \.text +[ 0-9a-f]+: 0001 0f3c jr at + +[0-9a-f]+ <.*>: +[ 0-9a-f]+: 00a4 1b10 xor v1,a0,a1 +[ 0-9a-f]+: 0083 0b50 slt at,v1,a0 +[ 0-9a-f]+: b401 fffe bnez at,[0-9a-f]+ <.*\+0x[0-9a-f]+> +[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .* +[ 0-9a-f]+: 0000 0000 nop +[ 0-9a-f]+: fc3c 0001 lw at,1\(gp\) +[ ]*[0-9a-f]+: R_MICROMIPS_GOT16 \.text +[ 0-9a-f]+: 3021 04fb addiu at,at,1275 +[ ]*[0-9a-f]+: R_MICROMIPS_LO16 \.text +[ 0-9a-f]+: 0001 0f3c jr at +[ 0-9a-f]+: 00a4 1b10 xor v1,a0,a1 + +[0-9a-f]+ <.*>: +[ 0-9a-f]+: 0083 0b90 sltu at,v1,a0 +[ 0-9a-f]+: b401 fffe bnez at,[0-9a-f]+ <.*\+0x[0-9a-f]+> +[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .* +[ 0-9a-f]+: 0000 0000 nop +[ 0-9a-f]+: fc3c 0001 lw at,1\(gp\) +[ ]*[0-9a-f]+: R_MICROMIPS_GOT16 \.text +[ 0-9a-f]+: 3021 04fb addiu at,at,1275 +[ ]*[0-9a-f]+: R_MICROMIPS_LO16 \.text +[ 0-9a-f]+: 0001 0f3c jr at + +[0-9a-f]+ <.*>: +[ 0-9a-f]+: 00a4 1b10 xor v1,a0,a1 +[ 0-9a-f]+: 0083 0b90 sltu at,v1,a0 +[ 0-9a-f]+: b401 fffe bnez at,[0-9a-f]+ <.*\+0x[0-9a-f]+> +[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .* +[ 0-9a-f]+: 0000 0000 nop +[ 0-9a-f]+: fc3c 0001 lw at,1\(gp\) +[ ]*[0-9a-f]+: R_MICROMIPS_GOT16 \.text +[ 0-9a-f]+: 3021 04fb addiu at,at,1275 +[ ]*[0-9a-f]+: R_MICROMIPS_LO16 \.text +[ 0-9a-f]+: 0001 0f3c jr at +[ 0-9a-f]+: 00a4 1b10 xor v1,a0,a1 + +[0-9a-f]+ <.*>: +[ 0-9a-f]+: 4003 fffe bltz v1,[0-9a-f]+ <.*> +[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .* +[ 0-9a-f]+: 0000 0000 nop +[ 0-9a-f]+: fc3c 0001 lw at,1\(gp\) +[ ]*[0-9a-f]+: R_MICROMIPS_GOT16 \.text +[ 0-9a-f]+: 3021 04fb addiu at,at,1275 +[ ]*[0-9a-f]+: R_MICROMIPS_LO16 \.text +[ 0-9a-f]+: 03e1 0f3c jalr at +[ 0-9a-f]+: 00a4 1b10 xor v1,a0,a1 + +[0-9a-f]+ <.*>: +[ 0-9a-f]+: 4003 fffe bltz v1,[0-9a-f]+ <.*> +[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .* +[ 0-9a-f]+: 0000 0000 nop +[ 0-9a-f]+: fc3c 0001 lw at,1\(gp\) +[ ]*[0-9a-f]+: R_MICROMIPS_GOT16 \.text +[ 0-9a-f]+: 3021 04fb addiu at,at,1275 +[ ]*[0-9a-f]+: R_MICROMIPS_LO16 \.text +[ 0-9a-f]+: 0001 0f3c jr at +[ 0-9a-f]+: 00a4 1b10 xor v1,a0,a1 + +[0-9a-f]+ <.*>: +[ 0-9a-f]+: 0064 0b50 slt at,a0,v1 +[ 0-9a-f]+: 9401 fffe beqz at,[0-9a-f]+ <.*\+0x[0-9a-f]+> +[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .* +[ 0-9a-f]+: 0000 0000 nop +[ 0-9a-f]+: fc3c 0001 lw at,1\(gp\) +[ ]*[0-9a-f]+: R_MICROMIPS_GOT16 \.text +[ 0-9a-f]+: 3021 04fb addiu at,at,1275 +[ ]*[0-9a-f]+: R_MICROMIPS_LO16 \.text +[ 0-9a-f]+: 0001 0f3c jr at + +[0-9a-f]+ <.*>: +[ 0-9a-f]+: 00a4 1b10 xor v1,a0,a1 +[ 0-9a-f]+: 0064 0b50 slt at,a0,v1 +[ 0-9a-f]+: 9401 fffe beqz at,[0-9a-f]+ <.*\+0x[0-9a-f]+> +[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .* +[ 0-9a-f]+: 0000 0000 nop +[ 0-9a-f]+: fc3c 0001 lw at,1\(gp\) +[ ]*[0-9a-f]+: R_MICROMIPS_GOT16 \.text +[ 0-9a-f]+: 3021 04fb addiu at,at,1275 +[ ]*[0-9a-f]+: R_MICROMIPS_LO16 \.text +[ 0-9a-f]+: 0001 0f3c jr at +[ 0-9a-f]+: 00a4 1b10 xor v1,a0,a1 + +[0-9a-f]+ <.*>: +[ 0-9a-f]+: 0064 0b90 sltu at,a0,v1 +[ 0-9a-f]+: 9401 fffe beqz at,[0-9a-f]+ <.*\+0x[0-9a-f]+> +[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .* +[ 0-9a-f]+: 0000 0000 nop +[ 0-9a-f]+: fc3c 0001 lw at,1\(gp\) +[ ]*[0-9a-f]+: R_MICROMIPS_GOT16 \.text +[ 0-9a-f]+: 3021 04fb addiu at,at,1275 +[ ]*[0-9a-f]+: R_MICROMIPS_LO16 \.text +[ 0-9a-f]+: 0001 0f3c jr at + +[0-9a-f]+ <.*>: +[ 0-9a-f]+: 00a4 1b10 xor v1,a0,a1 +[ 0-9a-f]+: 0064 0b90 sltu at,a0,v1 +[ 0-9a-f]+: 9401 fffe beqz at,[0-9a-f]+ <.*\+0x[0-9a-f]+> +[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .* +[ 0-9a-f]+: 0000 0000 nop +[ 0-9a-f]+: fc3c 0001 lw at,1\(gp\) +[ ]*[0-9a-f]+: R_MICROMIPS_GOT16 \.text +[ 0-9a-f]+: 3021 04fb addiu at,at,1275 +[ ]*[0-9a-f]+: R_MICROMIPS_LO16 \.text +[ 0-9a-f]+: 0001 0f3c jr at +[ 0-9a-f]+: 00a4 1b10 xor v1,a0,a1 + +[0-9a-f]+ <.*>: +[ 0-9a-f]+: 4083 fffe blez v1,[0-9a-f]+ <.*> +[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .* +[ 0-9a-f]+: 0000 0000 nop +[ 0-9a-f]+: fc3c 0001 lw at,1\(gp\) +[ ]*[0-9a-f]+: R_MICROMIPS_GOT16 \.text +[ 0-9a-f]+: 3021 04fb addiu at,at,1275 +[ ]*[0-9a-f]+: R_MICROMIPS_LO16 \.text +[ 0-9a-f]+: 0001 0f3c jr at +[ 0-9a-f]+: 00a4 1b10 xor v1,a0,a1 + +[0-9a-f]+ <.*>: +[ 0-9a-f]+: 0064 0b50 slt at,a0,v1 +[ 0-9a-f]+: b401 fffe bnez at,[0-9a-f]+ <.*\+0x[0-9a-f]+> +[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .* +[ 0-9a-f]+: 0000 0000 nop +[ 0-9a-f]+: fc3c 0001 lw at,1\(gp\) +[ ]*[0-9a-f]+: R_MICROMIPS_GOT16 \.text +[ 0-9a-f]+: 3021 04fb addiu at,at,1275 +[ ]*[0-9a-f]+: R_MICROMIPS_LO16 \.text +[ 0-9a-f]+: 0001 0f3c jr at + +[0-9a-f]+ <.*>: +[ 0-9a-f]+: 00a4 1b10 xor v1,a0,a1 +[ 0-9a-f]+: 0064 0b50 slt at,a0,v1 +[ 0-9a-f]+: b401 fffe bnez at,[0-9a-f]+ <.*\+0x[0-9a-f]+> +[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .* +[ 0-9a-f]+: 0000 0000 nop +[ 0-9a-f]+: fc3c 0001 lw at,1\(gp\) +[ ]*[0-9a-f]+: R_MICROMIPS_GOT16 \.text +[ 0-9a-f]+: 3021 04fb addiu at,at,1275 +[ ]*[0-9a-f]+: R_MICROMIPS_LO16 \.text +[ 0-9a-f]+: 0001 0f3c jr at +[ 0-9a-f]+: 00a4 1b10 xor v1,a0,a1 + +[0-9a-f]+ <.*>: +[ 0-9a-f]+: 0064 0b90 sltu at,a0,v1 +[ 0-9a-f]+: b401 fffe bnez at,[0-9a-f]+ <.*\+0x[0-9a-f]+> +[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .* +[ 0-9a-f]+: 0000 0000 nop +[ 0-9a-f]+: fc3c 0001 lw at,1\(gp\) +[ ]*[0-9a-f]+: R_MICROMIPS_GOT16 \.text +[ 0-9a-f]+: 3021 04fb addiu at,at,1275 +[ ]*[0-9a-f]+: R_MICROMIPS_LO16 \.text +[ 0-9a-f]+: 0001 0f3c jr at + +[0-9a-f]+ <.*>: +[ 0-9a-f]+: 00a4 1b10 xor v1,a0,a1 +[ 0-9a-f]+: 0064 0b90 sltu at,a0,v1 +[ 0-9a-f]+: b401 fffe bnez at,[0-9a-f]+ <.*\+0x[0-9a-f]+> +[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .* +[ 0-9a-f]+: 0000 0000 nop +[ 0-9a-f]+: fc3c 0001 lw at,1\(gp\) +[ ]*[0-9a-f]+: R_MICROMIPS_GOT16 \.text +[ 0-9a-f]+: 3021 04fb addiu at,at,1275 +[ ]*[0-9a-f]+: R_MICROMIPS_LO16 \.text +[ 0-9a-f]+: 0001 0f3c jr at +[ 0-9a-f]+: 00a4 1b10 xor v1,a0,a1 + +[0-9a-f]+ <.*>: +[ 0-9a-f]+: 40c3 fffe bgtz v1,[0-9a-f]+ <.*> +[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .* +[ 0-9a-f]+: 0000 0000 nop +[ 0-9a-f]+: fc3c 0001 lw at,1\(gp\) +[ ]*[0-9a-f]+: R_MICROMIPS_GOT16 \.text +[ 0-9a-f]+: 3021 04fb addiu at,at,1275 +[ ]*[0-9a-f]+: R_MICROMIPS_LO16 \.text +[ 0-9a-f]+: 0001 0f3c jr at +[ 0-9a-f]+: 00a4 1b10 xor v1,a0,a1 + +[0-9a-f]+ <.*>: +[ 0-9a-f]+: 0083 0b50 slt at,v1,a0 +[ 0-9a-f]+: 9401 fffe beqz at,[0-9a-f]+ <.*\+0x[0-9a-f]+> +[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .* +[ 0-9a-f]+: 0000 0000 nop +[ 0-9a-f]+: fc3c 0001 lw at,1\(gp\) +[ ]*[0-9a-f]+: R_MICROMIPS_GOT16 \.text +[ 0-9a-f]+: 3021 04fb addiu at,at,1275 +[ ]*[0-9a-f]+: R_MICROMIPS_LO16 \.text +[ 0-9a-f]+: 0001 0f3c jr at + +[0-9a-f]+ <.*>: +[ 0-9a-f]+: 00a4 1b10 xor v1,a0,a1 +[ 0-9a-f]+: 0083 0b50 slt at,v1,a0 +[ 0-9a-f]+: 9401 fffe beqz at,[0-9a-f]+ <.*\+0x[0-9a-f]+> +[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .* +[ 0-9a-f]+: 0000 0000 nop +[ 0-9a-f]+: fc3c 0001 lw at,1\(gp\) +[ ]*[0-9a-f]+: R_MICROMIPS_GOT16 \.text +[ 0-9a-f]+: 3021 04fb addiu at,at,1275 +[ ]*[0-9a-f]+: R_MICROMIPS_LO16 \.text +[ 0-9a-f]+: 0001 0f3c jr at +[ 0-9a-f]+: 00a4 1b10 xor v1,a0,a1 + +[0-9a-f]+ <.*>: +[ 0-9a-f]+: 0083 0b90 sltu at,v1,a0 +[ 0-9a-f]+: 9401 fffe beqz at,[0-9a-f]+ <.*\+0x[0-9a-f]+> +[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .* +[ 0-9a-f]+: 0000 0000 nop +[ 0-9a-f]+: fc3c 0001 lw at,1\(gp\) +[ ]*[0-9a-f]+: R_MICROMIPS_GOT16 \.text +[ 0-9a-f]+: 3021 04fb addiu at,at,1275 +[ ]*[0-9a-f]+: R_MICROMIPS_LO16 \.text +[ 0-9a-f]+: 0001 0f3c jr at + +[0-9a-f]+ <.*>: +[ 0-9a-f]+: 00a4 1b10 xor v1,a0,a1 +[ 0-9a-f]+: 0083 0b90 sltu at,v1,a0 +[ 0-9a-f]+: 9401 fffe beqz at,[0-9a-f]+ <.*\+0x[0-9a-f]+> +[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .* +[ 0-9a-f]+: 0000 0000 nop +[ 0-9a-f]+: fc3c 0001 lw at,1\(gp\) +[ ]*[0-9a-f]+: R_MICROMIPS_GOT16 \.text +[ 0-9a-f]+: 3021 04fb addiu at,at,1275 +[ ]*[0-9a-f]+: R_MICROMIPS_LO16 \.text +[ 0-9a-f]+: 0001 0f3c jr at +[ 0-9a-f]+: 00a4 1b10 xor v1,a0,a1 + +[0-9a-f]+ <.*>: +[ 0-9a-f]+: 4043 fffe bgez v1,[0-9a-f]+ <.*> +[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .* +[ 0-9a-f]+: 0000 0000 nop +[ 0-9a-f]+: fc3c 0001 lw at,1\(gp\) +[ ]*[0-9a-f]+: R_MICROMIPS_GOT16 \.text +[ 0-9a-f]+: 3021 04fb addiu at,at,1275 +[ ]*[0-9a-f]+: R_MICROMIPS_LO16 \.text +[ 0-9a-f]+: 03e1 0f3c jalr at +[ 0-9a-f]+: 00a4 1b10 xor v1,a0,a1 + +[0-9a-f]+ <.*>: +[ 0-9a-f]+: 4043 fffe bgez v1,[0-9a-f]+ <.*> +[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .* +[ 0-9a-f]+: 0000 0000 nop +[ 0-9a-f]+: fc3c 0001 lw at,1\(gp\) +[ ]*[0-9a-f]+: R_MICROMIPS_GOT16 \.text +[ 0-9a-f]+: 3021 04fb addiu at,at,1275 +[ ]*[0-9a-f]+: R_MICROMIPS_LO16 \.text +[ 0-9a-f]+: 0001 0f3c jr at +[ 0-9a-f]+: 00a4 1b10 xor v1,a0,a1 + +[0-9a-f]+ <.*>: +[ 0-9a-f]+: 9483 fffe beq v1,a0,[0-9a-f]+ <.*> +[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .* +[ 0-9a-f]+: 0000 0000 nop +[ 0-9a-f]+: fc3c 0001 lw at,1\(gp\) +[ ]*[0-9a-f]+: R_MICROMIPS_GOT16 \.text +[ 0-9a-f]+: 3021 04fb addiu at,at,1275 +[ ]*[0-9a-f]+: R_MICROMIPS_LO16 \.text +[ 0-9a-f]+: 0001 0f3c jr at +[ 0-9a-f]+: 00a4 1b10 xor v1,a0,a1 + +[0-9a-f]+ <.*>: +[ 0-9a-f]+: 9403 fffe beqz v1,[0-9a-f]+ <.*> +[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .* +[ 0-9a-f]+: 0000 0000 nop +[ 0-9a-f]+: fc3c 0001 lw at,1\(gp\) +[ ]*[0-9a-f]+: R_MICROMIPS_GOT16 \.text +[ 0-9a-f]+: 3021 04fb addiu at,at,1275 +[ ]*[0-9a-f]+: R_MICROMIPS_LO16 \.text +[ 0-9a-f]+: 0001 0f3c jr at + +[0-9a-f]+ <.*>: +[ 0-9a-f]+: 00a4 1b10 xor v1,a0,a1 +[ 0-9a-f]+: 9403 fffe beqz v1,[0-9a-f]+ <.*\+0x[0-9a-f]+> +[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .* +[ 0-9a-f]+: 0000 0000 nop +[ 0-9a-f]+: fc3c 0001 lw at,1\(gp\) +[ ]*[0-9a-f]+: R_MICROMIPS_GOT16 \.text +[ 0-9a-f]+: 3021 04fb addiu at,at,1275 +[ ]*[0-9a-f]+: R_MICROMIPS_LO16 \.text +[ 0-9a-f]+: 0001 0f3c jr at +[ 0-9a-f]+: 00a4 1b10 xor v1,a0,a1 + +[0-9a-f]+ <.*>: + \.\.\. + +[0-9a-f]+ : + \.\.\. + +[0-9a-f]+ : +[ 0-9a-f]+: 00a4 1950 addu v1,a0,a1 + \.\.\. diff --git a/gas/testsuite/gas/mips/micromips-branch-relax-insn32-pic.l b/gas/testsuite/gas/mips/micromips-branch-relax-insn32-pic.l new file mode 100644 index 0000000000..75a5652534 --- /dev/null +++ b/gas/testsuite/gas/mips/micromips-branch-relax-insn32-pic.l @@ -0,0 +1,47 @@ +.*: Assembler messages: +.*:71: Warning: no .cprestore pseudo-op used in PIC code +.*:69: Warning: relaxed out-of-range branch into a jump +.*:73: Warning: relaxed out-of-range branch into a jump +.*:75: Warning: relaxed out-of-range branch into a jump +.*:77: Warning: relaxed out-of-range branch into a jump +.*:83: Warning: relaxed out-of-range branch into a jump +.*:85: Warning: relaxed out-of-range branch into a jump +.*:87: Warning: relaxed out-of-range branch into a jump +.*:89: Warning: relaxed out-of-range branch into a jump +.*:91: Warning: relaxed out-of-range branch into a jump +.*:93: Warning: relaxed out-of-range branch into a jump +.*:95: Warning: relaxed out-of-range branch into a jump +.*:97: Warning: relaxed out-of-range branch into a jump +.*:99: Warning: relaxed out-of-range branch into a jump +.*:101: Warning: relaxed out-of-range branch into a jump +.*:109: Warning: relaxed out-of-range branch into a jump +.*:111: Warning: relaxed out-of-range branch into a jump +.*:113: Warning: relaxed out-of-range branch into a jump +.*:115: Warning: relaxed out-of-range branch into a jump +.*:117: Warning: relaxed out-of-range branch into a jump +.*:119: Warning: relaxed out-of-range branch into a jump +.*:121: Warning: relaxed out-of-range branch into a jump +.*:123: Warning: relaxed out-of-range branch into a jump +.*:125: Warning: relaxed out-of-range branch into a jump +.*:127: Warning: relaxed out-of-range branch into a jump +.*:129: Warning: relaxed out-of-range branch into a jump +.*:131: Warning: relaxed out-of-range branch into a jump +.*:133: Warning: relaxed out-of-range branch into a jump +.*:135: Warning: relaxed out-of-range branch into a jump +.*:137: Warning: relaxed out-of-range branch into a jump +.*:139: Warning: relaxed out-of-range branch into a jump +.*:141: Warning: relaxed out-of-range branch into a jump +.*:143: Warning: relaxed out-of-range branch into a jump +.*:145: Warning: relaxed out-of-range branch into a jump +.*:147: Warning: relaxed out-of-range branch into a jump +.*:149: Warning: relaxed out-of-range branch into a jump +.*:151: Warning: relaxed out-of-range branch into a jump +.*:153: Warning: relaxed out-of-range branch into a jump +.*:155: Warning: relaxed out-of-range branch into a jump +.*:157: Warning: relaxed out-of-range branch into a jump +.*:159: Warning: relaxed out-of-range branch into a jump +.*:161: Warning: relaxed out-of-range branch into a jump +.*:163: Warning: relaxed out-of-range branch into a jump +.*:165: Warning: relaxed out-of-range branch into a jump +.*:167: Warning: relaxed out-of-range branch into a jump +.*:169: Warning: relaxed out-of-range branch into a jump diff --git a/gas/testsuite/gas/mips/micromips-branch-relax-insn32.d b/gas/testsuite/gas/mips/micromips-branch-relax-insn32.d new file mode 100644 index 0000000000..89dfb34d66 --- /dev/null +++ b/gas/testsuite/gas/mips/micromips-branch-relax-insn32.d @@ -0,0 +1,433 @@ +#objdump: -dr --show-raw-insn +#name: Relax microMIPS branches (insn32 mode) +#as: -mips32r2 -32 -relax-branch -minsn32 --defsym insn32=1 +#stderr: micromips-branch-relax-insn32.l +#source: micromips-branch-relax.s + +.*: +file format .*mips.* + +Disassembly of section \.text: + +[0-9a-f]+ : +[ 0-9a-f]+: 9400 fffe b [0-9a-f]+ <.*> +[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .* +[ 0-9a-f]+: 00a4 1950 addu v1,a0,a1 +[ 0-9a-f]+: 9403 fffe beqz v1,[0-9a-f]+ <.*\+0x[0-9a-f]+> +[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .* +[ 0-9a-f]+: 00a4 1950 addu v1,a0,a1 +[ 0-9a-f]+: b403 fffe bnez v1,[0-9a-f]+ <.*\+0x[0-9a-f]+> +[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .* +[ 0-9a-f]+: 00a4 1950 addu v1,a0,a1 +[ 0-9a-f]+: 9400 fffe b [0-9a-f]+ <.*\+0x[0-9a-f]+> +[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .* +[ 0-9a-f]+: 00a4 1950 addu v1,a0,a1 +[ 0-9a-f]+: 40e0 fffe bc [0-9a-f]+ <.*\+0x[0-9a-f]+> +[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .* +[ 0-9a-f]+: 00a4 1950 addu v1,a0,a1 +[ 0-9a-f]+: 4060 fffe bal [0-9a-f]+ <.*\+0x[0-9a-f]+> +[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .* +[ 0-9a-f]+: 00a4 1950 addu v1,a0,a1 +[ 0-9a-f]+: 9403 fffe beqz v1,[0-9a-f]+ <.*\+0x[0-9a-f]+> +[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .* +[ 0-9a-f]+: 00a4 1950 addu v1,a0,a1 +[ 0-9a-f]+: b403 fffe bnez v1,[0-9a-f]+ <.*\+0x[0-9a-f]+> +[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .* +[ 0-9a-f]+: 00a4 1950 addu v1,a0,a1 +[ 0-9a-f]+: 9400 fffe b [0-9a-f]+ <.*\+0x[0-9a-f]+> +[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .* +[ 0-9a-f]+: 00a4 1950 addu v1,a0,a1 +[ 0-9a-f]+: 40e0 fffe bc [0-9a-f]+ <.*\+0x[0-9a-f]+> +[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .* +[ 0-9a-f]+: 00a4 1950 addu v1,a0,a1 +[ 0-9a-f]+: 4060 fffe bal [0-9a-f]+ <.*\+0x[0-9a-f]+> +[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .* +[ 0-9a-f]+: 00a4 1950 addu v1,a0,a1 +[ 0-9a-f]+: 9403 fffe beqz v1,[0-9a-f]+ <.*\+0x[0-9a-f]+> +[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .* +[ 0-9a-f]+: 00a4 1950 addu v1,a0,a1 +[ 0-9a-f]+: b403 fffe bnez v1,[0-9a-f]+ <.*\+0x[0-9a-f]+> +[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .* +[ 0-9a-f]+: 00a4 1950 addu v1,a0,a1 +[ 0-9a-f]+: 9400 fffe b [0-9a-f]+ <.*\+0x[0-9a-f]+> +[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .* +[ 0-9a-f]+: 00a4 1950 addu v1,a0,a1 +[ 0-9a-f]+: 40e0 fffe bc [0-9a-f]+ <.*\+0x[0-9a-f]+> +[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .* +[ 0-9a-f]+: 00a4 1950 addu v1,a0,a1 +[ 0-9a-f]+: 4060 fffe bal [0-9a-f]+ <.*\+0x[0-9a-f]+> +[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .* +[ 0-9a-f]+: 00a4 1950 addu v1,a0,a1 +[ 0-9a-f]+: 9403 fffe beqz v1,[0-9a-f]+ <.*\+0x[0-9a-f]+> +[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .* +[ 0-9a-f]+: 00a4 1950 addu v1,a0,a1 +[ 0-9a-f]+: b403 fffe bnez v1,[0-9a-f]+ <.*\+0x[0-9a-f]+> +[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .* +[ 0-9a-f]+: 00a4 1950 addu v1,a0,a1 +[ 0-9a-f]+: d400 0000 j 0 +[ ]*[0-9a-f]+: R_MICROMIPS_26_S1 test3 +[ 0-9a-f]+: 00a4 1950 addu v1,a0,a1 +[ 0-9a-f]+: f400 0000 jal 0 +[ ]*[0-9a-f]+: R_MICROMIPS_26_S1 test3 +[ 0-9a-f]+: 00a4 1950 addu v1,a0,a1 +[ 0-9a-f]+: d400 0000 j 0 +[ ]*[0-9a-f]+: R_MICROMIPS_26_S1 test3 +[ 0-9a-f]+: 00a4 1950 addu v1,a0,a1 +[ 0-9a-f]+: d400 0000 j 0 +[ ]*[0-9a-f]+: R_MICROMIPS_26_S1 test3 +[ 0-9a-f]+: 0000 0000 nop +[ 0-9a-f]+: 00a4 1950 addu v1,a0,a1 +[ 0-9a-f]+: f400 0000 jal 0 +[ ]*[0-9a-f]+: R_MICROMIPS_26_S1 test3 +[ 0-9a-f]+: 00a4 1950 addu v1,a0,a1 +[ 0-9a-f]+: b483 fffe bne v1,a0,[0-9a-f]+ <.*\+0x[0-9a-f]+> +[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .* +[ 0-9a-f]+: 0000 0000 nop +[ 0-9a-f]+: d400 0000 j 0 +[ ]*[0-9a-f]+: R_MICROMIPS_26_S1 test3 + +[0-9a-f]+ <.*>: +[ 0-9a-f]+: 00a4 1950 addu v1,a0,a1 +[ 0-9a-f]+: 9483 fffe beq v1,a0,[0-9a-f]+ <.*\+0x[0-9a-f]+> +[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .* +[ 0-9a-f]+: 0000 0000 nop +[ 0-9a-f]+: d400 0000 j 0 +[ ]*[0-9a-f]+: R_MICROMIPS_26_S1 test3 + +[0-9a-f]+ <.*>: +[ 0-9a-f]+: 00a4 1950 addu v1,a0,a1 +[ 0-9a-f]+: 4043 fffe bgez v1,[0-9a-f]+ <.*\+0x[0-9a-f]+> +[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .* +[ 0-9a-f]+: 0000 0000 nop +[ 0-9a-f]+: d400 0000 j 0 +[ ]*[0-9a-f]+: R_MICROMIPS_26_S1 test3 + +[0-9a-f]+ <.*>: +[ 0-9a-f]+: 00a4 1950 addu v1,a0,a1 +[ 0-9a-f]+: 4003 fffe bltz v1,[0-9a-f]+ <.*\+0x[0-9a-f]+> +[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .* +[ 0-9a-f]+: 0000 0000 nop +[ 0-9a-f]+: d400 0000 j 0 +[ ]*[0-9a-f]+: R_MICROMIPS_26_S1 test3 + +[0-9a-f]+ <.*>: +[ 0-9a-f]+: 00a4 1950 addu v1,a0,a1 +[ 0-9a-f]+: 40d4 fffe bgtz s4,[0-9a-f]+ <.*\+0x[0-9a-f]+> +[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .* +[ 0-9a-f]+: 0000 0000 nop +[ 0-9a-f]+: d400 0000 j 0 +[ ]*[0-9a-f]+: R_MICROMIPS_26_S1 test3 + +[0-9a-f]+ <.*>: +[ 0-9a-f]+: 00a4 1950 addu v1,a0,a1 +[ 0-9a-f]+: 4094 fffe blez s4,[0-9a-f]+ <.*\+0x[0-9a-f]+> +[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .* +[ 0-9a-f]+: 0000 0000 nop +[ 0-9a-f]+: d400 0000 j 0 +[ ]*[0-9a-f]+: R_MICROMIPS_26_S1 test3 + +[0-9a-f]+ <.*>: +[ 0-9a-f]+: 00a4 1950 addu v1,a0,a1 +[ 0-9a-f]+: 40a3 fffe bnezc v1,[0-9a-f]+ <.*\+0x[0-9a-f]+> +[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .* +[ 0-9a-f]+: d400 0000 j 0 +[ ]*[0-9a-f]+: R_MICROMIPS_26_S1 test3 +[ 0-9a-f]+: 0000 0000 nop + +[0-9a-f]+ <.*>: +[ 0-9a-f]+: 00a4 1950 addu v1,a0,a1 +[ 0-9a-f]+: 40e3 fffe beqzc v1,[0-9a-f]+ <.*\+0x[0-9a-f]+> +[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .* +[ 0-9a-f]+: d400 0000 j 0 +[ ]*[0-9a-f]+: R_MICROMIPS_26_S1 test3 +[ 0-9a-f]+: 0000 0000 nop + +[0-9a-f]+ <.*>: +[ 0-9a-f]+: 00a4 1950 addu v1,a0,a1 +[ 0-9a-f]+: 401e fffe bltz s8,[0-9a-f]+ <.*\+0x[0-9a-f]+> +[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .* +[ 0-9a-f]+: 0000 0000 nop +[ 0-9a-f]+: f400 0000 jal 0 +[ ]*[0-9a-f]+: R_MICROMIPS_26_S1 test3 + +[0-9a-f]+ <.*>: +[ 0-9a-f]+: 00a4 1950 addu v1,a0,a1 +[ 0-9a-f]+: 405e fffe bgez s8,[0-9a-f]+ <.*\+0x[0-9a-f]+> +[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .* +[ 0-9a-f]+: 0000 0000 nop +[ 0-9a-f]+: f400 0000 jal 0 +[ ]*[0-9a-f]+: R_MICROMIPS_26_S1 test3 + +[0-9a-f]+ <.*>: +[ 0-9a-f]+: 00a4 1950 addu v1,a0,a1 +[ 0-9a-f]+: 43a0 fffe bc1t [0-9a-f]+ <.*\+0x[0-9a-f]+> +[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .* +[ 0-9a-f]+: 0000 0000 nop +[ 0-9a-f]+: d400 0000 j 0 +[ ]*[0-9a-f]+: R_MICROMIPS_26_S1 test3 + +[0-9a-f]+ <.*>: +[ 0-9a-f]+: 00a4 1950 addu v1,a0,a1 +[ 0-9a-f]+: 4380 fffe bc1f [0-9a-f]+ <.*\+0x[0-9a-f]+> +[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .* +[ 0-9a-f]+: 0000 0000 nop +[ 0-9a-f]+: d400 0000 j 0 +[ ]*[0-9a-f]+: R_MICROMIPS_26_S1 test3 + +[0-9a-f]+ <.*>: +[ 0-9a-f]+: 00a4 1950 addu v1,a0,a1 +[ 0-9a-f]+: 42a0 fffe bc2t [0-9a-f]+ <.*\+0x[0-9a-f]+> +[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .* +[ 0-9a-f]+: 0000 0000 nop +[ 0-9a-f]+: d400 0000 j 0 +[ ]*[0-9a-f]+: R_MICROMIPS_26_S1 test3 + +[0-9a-f]+ <.*>: +[ 0-9a-f]+: 00a4 1950 addu v1,a0,a1 +[ 0-9a-f]+: 4280 fffe bc2f [0-9a-f]+ <.*\+0x[0-9a-f]+> +[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .* +[ 0-9a-f]+: 0000 0000 nop +[ 0-9a-f]+: d400 0000 j 0 +[ ]*[0-9a-f]+: R_MICROMIPS_26_S1 test3 + +[0-9a-f]+ <.*>: +[ 0-9a-f]+: 00a4 1950 addu v1,a0,a1 +[ 0-9a-f]+: b483 fffe bne v1,a0,[0-9a-f]+ <.*\+0x[0-9a-f]+> +[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .* +[ 0-9a-f]+: 0000 0000 nop +[ 0-9a-f]+: d400 0000 j 0 +[ ]*[0-9a-f]+: R_MICROMIPS_26_S1 test3 +[ 0-9a-f]+: 00a4 1950 addu v1,a0,a1 + +[0-9a-f]+ <.*>: +[ 0-9a-f]+: b403 fffe bnez v1,[0-9a-f]+ <.*> +[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .* +[ 0-9a-f]+: 0000 0000 nop +[ 0-9a-f]+: d400 0000 j 0 +[ ]*[0-9a-f]+: R_MICROMIPS_26_S1 test3 + +[0-9a-f]+ <.*>: +[ 0-9a-f]+: 00a4 1b10 xor v1,a0,a1 +[ 0-9a-f]+: 0083 0b50 slt at,v1,a0 +[ 0-9a-f]+: b401 fffe bnez at,[0-9a-f]+ <.*\+0x[0-9a-f]+> +[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .* +[ 0-9a-f]+: 0000 0000 nop +[ 0-9a-f]+: d400 0000 j 0 +[ ]*[0-9a-f]+: R_MICROMIPS_26_S1 test3 + +[0-9a-f]+ <.*>: +[ 0-9a-f]+: 00a4 1b10 xor v1,a0,a1 +[ 0-9a-f]+: 0083 0b50 slt at,v1,a0 +[ 0-9a-f]+: b401 fffe bnez at,[0-9a-f]+ <.*\+0x[0-9a-f]+> +[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .* +[ 0-9a-f]+: 0000 0000 nop +[ 0-9a-f]+: d400 0000 j 0 +[ ]*[0-9a-f]+: R_MICROMIPS_26_S1 test3 +[ 0-9a-f]+: 00a4 1b10 xor v1,a0,a1 + +[0-9a-f]+ <.*>: +[ 0-9a-f]+: 0083 0b90 sltu at,v1,a0 +[ 0-9a-f]+: b401 fffe bnez at,[0-9a-f]+ <.*\+0x[0-9a-f]+> +[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .* +[ 0-9a-f]+: 0000 0000 nop +[ 0-9a-f]+: d400 0000 j 0 +[ ]*[0-9a-f]+: R_MICROMIPS_26_S1 test3 + +[0-9a-f]+ <.*>: +[ 0-9a-f]+: 00a4 1b10 xor v1,a0,a1 +[ 0-9a-f]+: 0083 0b90 sltu at,v1,a0 +[ 0-9a-f]+: b401 fffe bnez at,[0-9a-f]+ <.*\+0x[0-9a-f]+> +[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .* +[ 0-9a-f]+: 0000 0000 nop +[ 0-9a-f]+: d400 0000 j 0 +[ ]*[0-9a-f]+: R_MICROMIPS_26_S1 test3 +[ 0-9a-f]+: 00a4 1b10 xor v1,a0,a1 + +[0-9a-f]+ <.*>: +[ 0-9a-f]+: 4003 fffe bltz v1,[0-9a-f]+ <.*> +[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .* +[ 0-9a-f]+: 0000 0000 nop +[ 0-9a-f]+: f400 0000 jal 0 +[ ]*[0-9a-f]+: R_MICROMIPS_26_S1 test3 +[ 0-9a-f]+: 00a4 1b10 xor v1,a0,a1 + +[0-9a-f]+ <.*>: +[ 0-9a-f]+: 4003 fffe bltz v1,[0-9a-f]+ <.*> +[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .* +[ 0-9a-f]+: 0000 0000 nop +[ 0-9a-f]+: d400 0000 j 0 +[ ]*[0-9a-f]+: R_MICROMIPS_26_S1 test3 +[ 0-9a-f]+: 00a4 1b10 xor v1,a0,a1 + +[0-9a-f]+ <.*>: +[ 0-9a-f]+: 0064 0b50 slt at,a0,v1 +[ 0-9a-f]+: 9401 fffe beqz at,[0-9a-f]+ <.*\+0x[0-9a-f]+> +[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .* +[ 0-9a-f]+: 0000 0000 nop +[ 0-9a-f]+: d400 0000 j 0 +[ ]*[0-9a-f]+: R_MICROMIPS_26_S1 test3 + +[0-9a-f]+ <.*>: +[ 0-9a-f]+: 00a4 1b10 xor v1,a0,a1 +[ 0-9a-f]+: 0064 0b50 slt at,a0,v1 +[ 0-9a-f]+: 9401 fffe beqz at,[0-9a-f]+ <.*\+0x[0-9a-f]+> +[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .* +[ 0-9a-f]+: 0000 0000 nop +[ 0-9a-f]+: d400 0000 j 0 +[ ]*[0-9a-f]+: R_MICROMIPS_26_S1 test3 +[ 0-9a-f]+: 00a4 1b10 xor v1,a0,a1 + +[0-9a-f]+ <.*>: +[ 0-9a-f]+: 0064 0b90 sltu at,a0,v1 +[ 0-9a-f]+: 9401 fffe beqz at,[0-9a-f]+ <.*\+0x[0-9a-f]+> +[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .* +[ 0-9a-f]+: 0000 0000 nop +[ 0-9a-f]+: d400 0000 j 0 +[ ]*[0-9a-f]+: R_MICROMIPS_26_S1 test3 + +[0-9a-f]+ <.*>: +[ 0-9a-f]+: 00a4 1b10 xor v1,a0,a1 +[ 0-9a-f]+: 0064 0b90 sltu at,a0,v1 +[ 0-9a-f]+: 9401 fffe beqz at,[0-9a-f]+ <.*\+0x[0-9a-f]+> +[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .* +[ 0-9a-f]+: 0000 0000 nop +[ 0-9a-f]+: d400 0000 j 0 +[ ]*[0-9a-f]+: R_MICROMIPS_26_S1 test3 +[ 0-9a-f]+: 00a4 1b10 xor v1,a0,a1 + +[0-9a-f]+ <.*>: +[ 0-9a-f]+: 4083 fffe blez v1,[0-9a-f]+ <.*> +[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .* +[ 0-9a-f]+: 0000 0000 nop +[ 0-9a-f]+: d400 0000 j 0 +[ ]*[0-9a-f]+: R_MICROMIPS_26_S1 test3 +[ 0-9a-f]+: 00a4 1b10 xor v1,a0,a1 + +[0-9a-f]+ <.*>: +[ 0-9a-f]+: 0064 0b50 slt at,a0,v1 +[ 0-9a-f]+: b401 fffe bnez at,[0-9a-f]+ <.*\+0x[0-9a-f]+> +[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .* +[ 0-9a-f]+: 0000 0000 nop +[ 0-9a-f]+: d400 0000 j 0 +[ ]*[0-9a-f]+: R_MICROMIPS_26_S1 test3 + +[0-9a-f]+ <.*>: +[ 0-9a-f]+: 00a4 1b10 xor v1,a0,a1 +[ 0-9a-f]+: 0064 0b50 slt at,a0,v1 +[ 0-9a-f]+: b401 fffe bnez at,[0-9a-f]+ <.*\+0x[0-9a-f]+> +[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .* +[ 0-9a-f]+: 0000 0000 nop +[ 0-9a-f]+: d400 0000 j 0 +[ ]*[0-9a-f]+: R_MICROMIPS_26_S1 test3 +[ 0-9a-f]+: 00a4 1b10 xor v1,a0,a1 + +[0-9a-f]+ <.*>: +[ 0-9a-f]+: 0064 0b90 sltu at,a0,v1 +[ 0-9a-f]+: b401 fffe bnez at,[0-9a-f]+ <.*\+0x[0-9a-f]+> +[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .* +[ 0-9a-f]+: 0000 0000 nop +[ 0-9a-f]+: d400 0000 j 0 +[ ]*[0-9a-f]+: R_MICROMIPS_26_S1 test3 + +[0-9a-f]+ <.*>: +[ 0-9a-f]+: 00a4 1b10 xor v1,a0,a1 +[ 0-9a-f]+: 0064 0b90 sltu at,a0,v1 +[ 0-9a-f]+: b401 fffe bnez at,[0-9a-f]+ <.*\+0x[0-9a-f]+> +[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .* +[ 0-9a-f]+: 0000 0000 nop +[ 0-9a-f]+: d400 0000 j 0 +[ ]*[0-9a-f]+: R_MICROMIPS_26_S1 test3 +[ 0-9a-f]+: 00a4 1b10 xor v1,a0,a1 + +[0-9a-f]+ <.*>: +[ 0-9a-f]+: 40c3 fffe bgtz v1,[0-9a-f]+ <.*> +[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .* +[ 0-9a-f]+: 0000 0000 nop +[ 0-9a-f]+: d400 0000 j 0 +[ ]*[0-9a-f]+: R_MICROMIPS_26_S1 test3 +[ 0-9a-f]+: 00a4 1b10 xor v1,a0,a1 + +[0-9a-f]+ <.*>: +[ 0-9a-f]+: 0083 0b50 slt at,v1,a0 +[ 0-9a-f]+: 9401 fffe beqz at,[0-9a-f]+ <.*\+0x[0-9a-f]+> +[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .* +[ 0-9a-f]+: 0000 0000 nop +[ 0-9a-f]+: d400 0000 j 0 +[ ]*[0-9a-f]+: R_MICROMIPS_26_S1 test3 + +[0-9a-f]+ <.*>: +[ 0-9a-f]+: 00a4 1b10 xor v1,a0,a1 +[ 0-9a-f]+: 0083 0b50 slt at,v1,a0 +[ 0-9a-f]+: 9401 fffe beqz at,[0-9a-f]+ <.*\+0x[0-9a-f]+> +[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .* +[ 0-9a-f]+: 0000 0000 nop +[ 0-9a-f]+: d400 0000 j 0 +[ ]*[0-9a-f]+: R_MICROMIPS_26_S1 test3 +[ 0-9a-f]+: 00a4 1b10 xor v1,a0,a1 + +[0-9a-f]+ <.*>: +[ 0-9a-f]+: 0083 0b90 sltu at,v1,a0 +[ 0-9a-f]+: 9401 fffe beqz at,[0-9a-f]+ <.*\+0x[0-9a-f]+> +[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .* +[ 0-9a-f]+: 0000 0000 nop +[ 0-9a-f]+: d400 0000 j 0 +[ ]*[0-9a-f]+: R_MICROMIPS_26_S1 test3 + +[0-9a-f]+ <.*>: +[ 0-9a-f]+: 00a4 1b10 xor v1,a0,a1 +[ 0-9a-f]+: 0083 0b90 sltu at,v1,a0 +[ 0-9a-f]+: 9401 fffe beqz at,[0-9a-f]+ <.*\+0x[0-9a-f]+> +[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .* +[ 0-9a-f]+: 0000 0000 nop +[ 0-9a-f]+: d400 0000 j 0 +[ ]*[0-9a-f]+: R_MICROMIPS_26_S1 test3 +[ 0-9a-f]+: 00a4 1b10 xor v1,a0,a1 + +[0-9a-f]+ <.*>: +[ 0-9a-f]+: 4043 fffe bgez v1,[0-9a-f]+ <.*> +[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .* +[ 0-9a-f]+: 0000 0000 nop +[ 0-9a-f]+: f400 0000 jal 0 +[ ]*[0-9a-f]+: R_MICROMIPS_26_S1 test3 +[ 0-9a-f]+: 00a4 1b10 xor v1,a0,a1 + +[0-9a-f]+ <.*>: +[ 0-9a-f]+: 4043 fffe bgez v1,[0-9a-f]+ <.*> +[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .* +[ 0-9a-f]+: 0000 0000 nop +[ 0-9a-f]+: d400 0000 j 0 +[ ]*[0-9a-f]+: R_MICROMIPS_26_S1 test3 +[ 0-9a-f]+: 00a4 1b10 xor v1,a0,a1 + +[0-9a-f]+ <.*>: +[ 0-9a-f]+: 9483 fffe beq v1,a0,[0-9a-f]+ <.*> +[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .* +[ 0-9a-f]+: 0000 0000 nop +[ 0-9a-f]+: d400 0000 j 0 +[ ]*[0-9a-f]+: R_MICROMIPS_26_S1 test3 +[ 0-9a-f]+: 00a4 1b10 xor v1,a0,a1 + +[0-9a-f]+ <.*>: +[ 0-9a-f]+: 9403 fffe beqz v1,[0-9a-f]+ <.*> +[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .* +[ 0-9a-f]+: 0000 0000 nop +[ 0-9a-f]+: d400 0000 j 0 +[ ]*[0-9a-f]+: R_MICROMIPS_26_S1 test3 + +[0-9a-f]+ <.*>: +[ 0-9a-f]+: 00a4 1b10 xor v1,a0,a1 +[ 0-9a-f]+: 9403 fffe beqz v1,[0-9a-f]+ <.*\+0x[0-9a-f]+> +[ ]*[0-9a-f]+: R_MICROMIPS_PC16_S1 .* +[ 0-9a-f]+: 0000 0000 nop +[ 0-9a-f]+: d400 0000 j 0 +[ ]*[0-9a-f]+: R_MICROMIPS_26_S1 test3 +[ 0-9a-f]+: 00a4 1b10 xor v1,a0,a1 + +[0-9a-f]+ <.*>: + \.\.\. + +[0-9a-f]+ : + \.\.\. + +[0-9a-f]+ : +[ 0-9a-f]+: 00a4 1950 addu v1,a0,a1 + \.\.\. diff --git a/gas/testsuite/gas/mips/micromips-branch-relax-insn32.l b/gas/testsuite/gas/mips/micromips-branch-relax-insn32.l new file mode 100644 index 0000000000..7a7fccaa49 --- /dev/null +++ b/gas/testsuite/gas/mips/micromips-branch-relax-insn32.l @@ -0,0 +1,45 @@ +.*: Assembler messages: +.*:73: Warning: relaxed out-of-range branch into a jump +.*:75: Warning: relaxed out-of-range branch into a jump +.*:77: Warning: relaxed out-of-range branch into a jump +.*:83: Warning: relaxed out-of-range branch into a jump +.*:85: Warning: relaxed out-of-range branch into a jump +.*:87: Warning: relaxed out-of-range branch into a jump +.*:89: Warning: relaxed out-of-range branch into a jump +.*:91: Warning: relaxed out-of-range branch into a jump +.*:93: Warning: relaxed out-of-range branch into a jump +.*:95: Warning: relaxed out-of-range branch into a jump +.*:97: Warning: relaxed out-of-range branch into a jump +.*:99: Warning: relaxed out-of-range branch into a jump +.*:101: Warning: relaxed out-of-range branch into a jump +.*:109: Warning: relaxed out-of-range branch into a jump +.*:111: Warning: relaxed out-of-range branch into a jump +.*:113: Warning: relaxed out-of-range branch into a jump +.*:115: Warning: relaxed out-of-range branch into a jump +.*:117: Warning: relaxed out-of-range branch into a jump +.*:119: Warning: relaxed out-of-range branch into a jump +.*:121: Warning: relaxed out-of-range branch into a jump +.*:123: Warning: relaxed out-of-range branch into a jump +.*:125: Warning: relaxed out-of-range branch into a jump +.*:127: Warning: relaxed out-of-range branch into a jump +.*:129: Warning: relaxed out-of-range branch into a jump +.*:131: Warning: relaxed out-of-range branch into a jump +.*:133: Warning: relaxed out-of-range branch into a jump +.*:135: Warning: relaxed out-of-range branch into a jump +.*:137: Warning: relaxed out-of-range branch into a jump +.*:139: Warning: relaxed out-of-range branch into a jump +.*:141: Warning: relaxed out-of-range branch into a jump +.*:143: Warning: relaxed out-of-range branch into a jump +.*:145: Warning: relaxed out-of-range branch into a jump +.*:147: Warning: relaxed out-of-range branch into a jump +.*:149: Warning: relaxed out-of-range branch into a jump +.*:151: Warning: relaxed out-of-range branch into a jump +.*:153: Warning: relaxed out-of-range branch into a jump +.*:155: Warning: relaxed out-of-range branch into a jump +.*:157: Warning: relaxed out-of-range branch into a jump +.*:159: Warning: relaxed out-of-range branch into a jump +.*:161: Warning: relaxed out-of-range branch into a jump +.*:163: Warning: relaxed out-of-range branch into a jump +.*:165: Warning: relaxed out-of-range branch into a jump +.*:167: Warning: relaxed out-of-range branch into a jump +.*:169: Warning: relaxed out-of-range branch into a jump diff --git a/gas/testsuite/gas/mips/micromips-branch-relax-pic.l b/gas/testsuite/gas/mips/micromips-branch-relax-pic.l index 7cb5f8d650..8690f255a7 100644 --- a/gas/testsuite/gas/mips/micromips-branch-relax-pic.l +++ b/gas/testsuite/gas/mips/micromips-branch-relax-pic.l @@ -1,16 +1,10 @@ .*: Assembler messages: -.*:61: Warning: no .cprestore pseudo-op used in PIC code -.*:59: Warning: relaxed out-of-range branch into a jump -.*:63: Warning: relaxed out-of-range branch into a jump -.*:65: Warning: relaxed out-of-range branch into a jump -.*:67: Warning: relaxed out-of-range branch into a jump +.*:71: Warning: no .cprestore pseudo-op used in PIC code .*:69: Warning: relaxed out-of-range branch into a jump -.*:71: Warning: relaxed out-of-range branch into a jump .*:73: Warning: relaxed out-of-range branch into a jump .*:75: Warning: relaxed out-of-range branch into a jump .*:77: Warning: relaxed out-of-range branch into a jump -.*:79: Warning: relaxed out-of-range branch into a jump -.*:81: Warning: relaxed out-of-range branch into a jump +.*:80: Warning: relaxed out-of-range branch into a jump .*:83: Warning: relaxed out-of-range branch into a jump .*:85: Warning: relaxed out-of-range branch into a jump .*:87: Warning: relaxed out-of-range branch into a jump @@ -21,9 +15,8 @@ .*:97: Warning: relaxed out-of-range branch into a jump .*:99: Warning: relaxed out-of-range branch into a jump .*:101: Warning: relaxed out-of-range branch into a jump -.*:103: Warning: relaxed out-of-range branch into a jump -.*:105: Warning: relaxed out-of-range branch into a jump -.*:107: Warning: relaxed out-of-range branch into a jump +.*:104: Warning: relaxed out-of-range branch into a jump +.*:106: Warning: relaxed out-of-range branch into a jump .*:109: Warning: relaxed out-of-range branch into a jump .*:111: Warning: relaxed out-of-range branch into a jump .*:113: Warning: relaxed out-of-range branch into a jump @@ -48,3 +41,10 @@ .*:151: Warning: relaxed out-of-range branch into a jump .*:153: Warning: relaxed out-of-range branch into a jump .*:155: Warning: relaxed out-of-range branch into a jump +.*:157: Warning: relaxed out-of-range branch into a jump +.*:159: Warning: relaxed out-of-range branch into a jump +.*:161: Warning: relaxed out-of-range branch into a jump +.*:163: Warning: relaxed out-of-range branch into a jump +.*:165: Warning: relaxed out-of-range branch into a jump +.*:167: Warning: relaxed out-of-range branch into a jump +.*:169: Warning: relaxed out-of-range branch into a jump diff --git a/gas/testsuite/gas/mips/micromips-branch-relax.l b/gas/testsuite/gas/mips/micromips-branch-relax.l index b805727491..e57e934e86 100644 --- a/gas/testsuite/gas/mips/micromips-branch-relax.l +++ b/gas/testsuite/gas/mips/micromips-branch-relax.l @@ -1,14 +1,8 @@ .*: Assembler messages: -.*:63: Warning: relaxed out-of-range branch into a jump -.*:65: Warning: relaxed out-of-range branch into a jump -.*:67: Warning: relaxed out-of-range branch into a jump -.*:69: Warning: relaxed out-of-range branch into a jump -.*:71: Warning: relaxed out-of-range branch into a jump .*:73: Warning: relaxed out-of-range branch into a jump .*:75: Warning: relaxed out-of-range branch into a jump .*:77: Warning: relaxed out-of-range branch into a jump -.*:79: Warning: relaxed out-of-range branch into a jump -.*:81: Warning: relaxed out-of-range branch into a jump +.*:80: Warning: relaxed out-of-range branch into a jump .*:83: Warning: relaxed out-of-range branch into a jump .*:85: Warning: relaxed out-of-range branch into a jump .*:87: Warning: relaxed out-of-range branch into a jump @@ -19,9 +13,8 @@ .*:97: Warning: relaxed out-of-range branch into a jump .*:99: Warning: relaxed out-of-range branch into a jump .*:101: Warning: relaxed out-of-range branch into a jump -.*:103: Warning: relaxed out-of-range branch into a jump -.*:105: Warning: relaxed out-of-range branch into a jump -.*:107: Warning: relaxed out-of-range branch into a jump +.*:104: Warning: relaxed out-of-range branch into a jump +.*:106: Warning: relaxed out-of-range branch into a jump .*:109: Warning: relaxed out-of-range branch into a jump .*:111: Warning: relaxed out-of-range branch into a jump .*:113: Warning: relaxed out-of-range branch into a jump @@ -46,3 +39,10 @@ .*:151: Warning: relaxed out-of-range branch into a jump .*:153: Warning: relaxed out-of-range branch into a jump .*:155: Warning: relaxed out-of-range branch into a jump +.*:157: Warning: relaxed out-of-range branch into a jump +.*:159: Warning: relaxed out-of-range branch into a jump +.*:161: Warning: relaxed out-of-range branch into a jump +.*:163: Warning: relaxed out-of-range branch into a jump +.*:165: Warning: relaxed out-of-range branch into a jump +.*:167: Warning: relaxed out-of-range branch into a jump +.*:169: Warning: relaxed out-of-range branch into a jump diff --git a/gas/testsuite/gas/mips/micromips-branch-relax.s b/gas/testsuite/gas/mips/micromips-branch-relax.s index 6cf2c473e0..421d1db8f5 100644 --- a/gas/testsuite/gas/mips/micromips-branch-relax.s +++ b/gas/testsuite/gas/mips/micromips-branch-relax.s @@ -14,44 +14,54 @@ test: addu $3, $4, $5 bal test addu $3, $4, $5 + .ifndef insn32 bals test addu $3, $4, $5 + .endif beqz $3, test addu $3, $4, $5 bnez $3, test addu $3, $4, $5 + .ifndef insn32 b16 test2 addu $3, $4, $5 beqz16 $3, test2 addu $3, $4, $5 bnez16 $3, test2 addu $3, $4, $5 + .endif b test2 addu $3, $4, $5 bc test2 addu $3, $4, $5 bal test2 addu $3, $4, $5 + .ifndef insn32 bals test2 addu $3, $4, $5 + .endif beqz $3, test2 addu $3, $4, $5 bnez $3, test2 addu $3, $4, $5 + .ifndef insn32 b16 test3 addu $3, $4, $5 beqz16 $3, test3 addu $3, $4, $5 bnez16 $3, test3 addu $3, $4, $5 + .endif b32 test2 addu $3, $4, $5 bc32 test2 addu $3, $4, $5 bal32 test2 addu $3, $4, $5 + .ifndef insn32 bals32 test2 addu $3, $4, $5 + .endif beqz32 $3, test2 addu $3, $4, $5 bnez32 $3, test2 @@ -66,8 +76,10 @@ test: addu $3, $4, $5 bal test3 addu $3, $4, $5 + .ifndef insn32 bals test3 addu $3, $4, $5 + .endif beq $3, $4, test3 addu $3, $4, $5 bne $3, $4, test3 @@ -88,10 +100,12 @@ test: addu $3, $4, $5 bltzal $30, test3 addu $3, $4, $5 + .ifndef insn32 bgezals $30, test3 addu $3, $4, $5 bltzals $30, test3 addu $3, $4, $5 + .endif bc1f test3 addu $3, $4, $5 bc1t test3 diff --git a/gas/testsuite/gas/mips/mips.exp b/gas/testsuite/gas/mips/mips.exp index 9e896f52bf..c4345acb87 100644 --- a/gas/testsuite/gas/mips/mips.exp +++ b/gas/testsuite/gas/mips/mips.exp @@ -1354,6 +1354,8 @@ if { [istarget mips*-*-vxworks*] } { run_dump_test "micromips-size-1" run_dump_test "micromips-branch-relax" run_dump_test "micromips-branch-relax-pic" + run_dump_test "micromips-branch-relax-insn32" + run_dump_test "micromips-branch-relax-insn32-pic" run_dump_test "micromips-branch-delay" run_dump_test "micromips-warn-branch-delay" run_dump_test "micromips-warn-branch-delay-1" -- 2.34.1