@@ -1187,6 +1187,13 @@ move_insn (struct loongarch_cl_insn *insn, fragS *frag, long where)
}
}
install_insn (insn);
+
+ /* Mark the current section and frag as linker relaxable. */
+ if (insn->linker_relax)
+ {
+ now_seg->sec_flg1 = true;
+ insn->frag->tc_frag_data.linker_relax = true;
+ }
}
/* Add INSN to the end of the output. */
@@ -1598,21 +1605,57 @@ loongarch_force_relocation_sub_local (fixS *fixp, segT sec ATTRIBUTE_UNUSED)
|| (S_GET_SEGMENT (fixp->fx_subsy)->flags & SEC_CODE) == 0));
}
-/* Postpone text-section label subtraction calculation until linking,
- since linker relaxations might change the deltas. */
-bool
-loongarch_force_relocation_sub_same(fixS *fixp ATTRIBUTE_UNUSED, segT sec)
+
+/* Whether emit relocations for label subtraction in same section. */
+static bool
+_loongarch_force_relocation_sub_same (segT sec,
+ fragS *addfrag,
+ fragS *subfrag)
{
- fragS *add_frag = symbol_get_frag (fixp->fx_addsy);
- fragS *sub_frag = symbol_get_frag (fixp->fx_subsy);
+ if (!LARCH_opts.relax)
+ return false;
+
+ /* Not emit relocation if section has no relaxable frag. */
+ if (!sec->sec_flg1)
+ return false;
/* Not emit relocation if addsy and subsy are in the same frag. */
- if (add_frag == sub_frag)
+ if (addfrag == subfrag)
return false;
- return LARCH_opts.relax && (sec->flags & SEC_CODE) != 0;
+ /* Emit relocation if find a frag is relaxable from addsy to subsy. */
+ fragS *s;
+ for (s = subfrag; s != NULL && s != addfrag; s = s->fr_next)
+ {
+ if (s->tc_frag_data.linker_relax)
+ return true;
+ }
+ if (s == addfrag)
+ return false;
+
+ for (s = addfrag; s != NULL && s != subfrag; s = s->fr_next)
+ {
+ if (s->tc_frag_data.linker_relax)
+ return true;
+ }
+ if (s == subfrag)
+ return false;
+
+ return true;
}
+
+/* Postpone text-section label subtraction calculation until linking,
+ since linker relaxations might change the deltas. */
+bool
+loongarch_force_relocation_sub_same (fixS *fixp ATTRIBUTE_UNUSED, segT sec)
+{
+ fragS *addfrag = symbol_get_frag (fixp->fx_addsy);
+ fragS *subfrag = symbol_get_frag (fixp->fx_subsy);
+ return _loongarch_force_relocation_sub_same (sec, addfrag, subfrag);
+}
+
+
static void fix_reloc_insn (fixS *fixP, bfd_vma reloc_val, char *buf)
{
reloc_howto_type *howto;
@@ -1840,6 +1883,16 @@ md_apply_fix (fixS *fixP, valueT *valP, segT seg ATTRIBUTE_UNUSED)
break;
case BFD_RELOC_LARCH_CFA:
+ unsigned int subtype;
+ fragS *opfrag = (fragS *) fixP->fx_frag->fr_opcode;
+ subtype = bfd_get_8 (NULL, opfrag->fr_literal + fixP->fx_where);
+
+ /* Update to the real size after relax_segment. */
+ if (subtype == DW_CFA_advance_loc2)
+ fixP->fx_size = 2;
+ if (subtype == DW_CFA_advance_loc4)
+ fixP->fx_size = 4;
+
if (fixP->fx_addsy && fixP->fx_subsy)
{
fixP->fx_next = xmemdup (fixP, sizeof (*fixP), sizeof (*fixP));
@@ -1848,10 +1901,7 @@ md_apply_fix (fixS *fixP, valueT *valP, segT seg ATTRIBUTE_UNUSED)
fixP->fx_next->fx_offset = 0;
fixP->fx_subsy = NULL;
- unsigned int subtype;
offsetT loc;
- fragS *opfrag = (fragS *) fixP->fx_frag->fr_opcode;
- subtype = bfd_get_8 (NULL, opfrag->fr_literal + fixP->fx_where);
loc = fixP->fx_frag->fr_fix - (subtype & 7);
switch (subtype)
{
@@ -1864,8 +1914,6 @@ md_apply_fix (fixS *fixP, valueT *valP, segT seg ATTRIBUTE_UNUSED)
break;
case DW_CFA_advance_loc2:
- fixP->fx_size = 2;
- fixP->fx_next->fx_size = 2;
fixP->fx_where = loc + 1;
fixP->fx_next->fx_where = loc + 1;
fixP->fx_r_type = BFD_RELOC_LARCH_ADD16;
@@ -1874,8 +1922,6 @@ md_apply_fix (fixS *fixP, valueT *valP, segT seg ATTRIBUTE_UNUSED)
break;
case DW_CFA_advance_loc4:
- fixP->fx_size = 4;
- fixP->fx_next->fx_size = 4;
fixP->fx_where = loc;
fixP->fx_next->fx_where = loc;
fixP->fx_r_type = BFD_RELOC_LARCH_ADD32;
@@ -1898,6 +1944,9 @@ md_apply_fix (fixS *fixP, valueT *valP, segT seg ATTRIBUTE_UNUSED)
break;
}
}
+
+ if (fixP->fx_addsy == NULL)
+ fixP->fx_done = 1;
break;
case BFD_RELOC_LARCH_B16:
@@ -1917,7 +1966,10 @@ md_apply_fix (fixS *fixP, valueT *valP, segT seg ATTRIBUTE_UNUSED)
/* If relax, symbol value may change at link time, so reloc need to
be saved. */
- if (!LARCH_opts.relax)
+ fragS *addfrag = symbol_get_frag (fixP->fx_addsy);
+ if (! _loongarch_force_relocation_sub_same (seg,
+ addfrag,
+ fixP->fx_frag))
fixP->fx_done = 1;
}
break;
@@ -2074,6 +2126,8 @@ loongarch_pre_output_hook (void)
frag chains have been chained together. */
subseg_set (s, frch->frch_subseg);
+ /* Set the size to 1 temporary. The size may change in
+ relax_segment. Update to the real size in md_apply_fix. */
fix_new_exp (frag, (int) frag->fr_offset, 1, &exp, 0,
BFD_RELOC_LARCH_CFA);
}
@@ -2138,6 +2192,10 @@ loongarch_frag_align_code (int n, int max)
frag_wane (frag_now);
frag_new (0);
+ /* Mark the current section and frag as linker relaxable. */
+ now_seg->sec_flg1 = true;
+ frag_now->tc_frag_data.linker_relax = true;
+
/* If max <= 0, ignore max.
If max >= worst_case_bytes, max has no effect.
Similar to gas/write.c relax_segment function rs_align_code case:
@@ -2227,6 +2285,24 @@ loongarch_handle_align (fragS *fragp)
fragp->fr_var = size;
}
+
+/* Whether force relocation for label subtraction calculation,
+ sincc linker relaxation might change the deltas. */
+
+static bool
+loongarch_force_reloc_sub (symbolS *addsy, symbolS *subsy)
+{
+ segT addsec = S_GET_SEGMENT (addsy);
+ segT subsec = S_GET_SEGMENT (subsy);
+ if (addsec != subsec)
+ return true;
+
+ fragS *addfrag = symbol_get_frag (addsy);
+ fragS *subfrag = symbol_get_frag (subsy);
+ return _loongarch_force_relocation_sub_same (addsec, addfrag, subfrag);
+}
+
+
/* Scan uleb128 subtraction expressions and insert fixups for them.
e.g., .uleb128 .L1 - .L0
Because relaxation may change the value of the subtraction, we
@@ -2258,6 +2334,9 @@ loongarch_insert_uleb128_fixes (bfd *abfd ATTRIBUTE_UNUSED,
if (fragP->fr_subtype != 0)
continue;
+ if (! loongarch_force_reloc_sub (exp->X_add_symbol, exp->X_op_symbol))
+ continue;
+
exp_dup = xmemdup (exp, sizeof (*exp), sizeof (*exp));
exp_dup->X_op = O_symbol;
exp_dup->X_op_symbol = NULL;
@@ -148,4 +148,15 @@ extern void loongarch_md_finish (void);
/* The target supports Object Attributes v1. */
#define TC_OBJ_ATTR_v1 1
+
+/* Define target fragment type. */
+#define TC_FRAG_TYPE struct loongarch_frag_type
+struct loongarch_frag_type
+{
+ bool linker_relax;
+};
+
+#define TC_FRAG_INIT(FRAGP, MAX_BYTES) \
+ do { (FRAGP)->tc_frag_data.linker_relax = false; } while (0)
+
#endif
@@ -293,7 +293,7 @@ if { ![istarget *c30*-*-*]
&& ![istarget h8300*-*-*]
&& ![istarget hppa*-*-*] } then {
# msp430, mn10[23]00 and riscv emit two relocs to handle the difference of two symbols.
- setup_xfail "am3*-*-*" "loongarch*-*-*" "mn10200-*-*" "mn10300*-*-*" "msp430*-*-*" "riscv*-*-*"
+ setup_xfail "am3*-*-*" "mn10200-*-*" "mn10300*-*-*" "msp430*-*-*" "riscv*-*-*"
do_930509a
}
@@ -4,10 +4,6 @@
# because symbol values are not known until after linker relaxation has been
# performed.
#notarget : riscv*-*-*
-# LoongArch doesn't resolve .uleb operands that are the difference of two
-# symbols because gas write zero to object file and generate add_uleb128 and
-# sub_uleb128 reloc pair.
-#xfail: loongarch*-*-*
.*: .*
@@ -2,146 +2,139 @@
#objdump: -d -M no-aliases
#skip: loongarch64-*-*
-.*: file format .*
-
-
-Disassembly of section .text:
-
-0+ <.*>:
- 0: 020000a4 slti \$a0, \$a1, 0
- 4: 021ffca4 slti \$a0, \$a1, 2047
- 8: 022004a4 slti \$a0, \$a1, -2047
- c: 024000a4 sltui \$a0, \$a1, 0
- 10: 025ffca4 sltui \$a0, \$a1, 2047
- 14: 026004a4 sltui \$a0, \$a1, -2047
- 18: 028000a4 addi.w \$a0, \$a1, 0
- 1c: 029ffca4 addi.w \$a0, \$a1, 2047
- 20: 02a004a4 addi.w \$a0, \$a1, -2047
- 24: 034000a4 andi \$a0, \$a1, 0x0
- 28: 035ffca4 andi \$a0, \$a1, 0x7ff
- 2c: 038000a4 ori \$a0, \$a1, 0x0
- 30: 039ffca4 ori \$a0, \$a1, 0x7ff
- 34: 03c000a4 xori \$a0, \$a1, 0x0
- 38: 03dffca4 xori \$a0, \$a1, 0x7ff
- 3c: 14000004 lu12i.w \$a0, 0
- 40: 14ffffe4 lu12i.w \$a0, 524287
- 44: 1c000004 pcaddu12i \$a0, 0
- 48: 1cffffe4 pcaddu12i \$a0, 524287
- 4c: 1d000024 pcaddu12i \$a0, -524287
- 50: 0004b58b alsl.w \$a7, \$t0, \$t1, 0x2
- 54: 0006b58b alsl.wu \$a7, \$t0, \$t1, 0x2
- 58: 002a0002 break 0x2
- 5c: 002a8002 dbcl 0x2
- 60: 002b0002 syscall 0x2
- 64: 0040898b slli.w \$a7, \$t0, 0x2
- 68: 0044898b srli.w \$a7, \$t0, 0x2
- 6c: 004889ac srai.w \$t0, \$t1, 0x2
- 70: 02048dac slti \$t0, \$t1, 291
- 74: 02448dac sltui \$t0, \$t1, 291
- 78: 02848dac addi.w \$t0, \$t1, 291
- 7c: 034009ac andi \$t0, \$t1, 0x2
- 80: 038009ac ori \$t0, \$t1, 0x2
- 84: 03c009ac xori \$t0, \$t1, 0x2
- 88: 1400246c lu12i.w \$t0, 291
- 8c: 1c00246c pcaddu12i \$t0, 291
- 90: 04048c0c csrrd \$t0, 0x123
- 94: 04048c2c csrwr \$t0, 0x123
- 98: 040009ac csrxchg \$t0, \$t1, 0x2
- 9c: 060009a2 cacop 0x2, \$t1, 2
- a0: 064009ac lddir \$t0, \$t1, 0x2
- a4: 06440980 ldpte \$t0, 0x2
- a8: 0649b9a2 invtlb 0x2, \$t1, \$t2
- ac: 000060a4 rdtimel.w \$a0, \$a1
- b0: 000064a4 rdtimeh.w \$a0, \$a1
- b4: 000418a4 alsl.w \$a0, \$a1, \$a2, 0x1
- b8: 000598a4 alsl.w \$a0, \$a1, \$a2, 0x4
- bc: 000618a4 alsl.wu \$a0, \$a1, \$a2, 0x1
- c0: 000798a4 alsl.wu \$a0, \$a1, \$a2, 0x4
- c4: 001018a4 add.w \$a0, \$a1, \$a2
- c8: 001118a4 sub.w \$a0, \$a1, \$a2
- cc: 001218a4 slt \$a0, \$a1, \$a2
- d0: 001298a4 sltu \$a0, \$a1, \$a2
- d4: 001418a4 nor \$a0, \$a1, \$a2
- d8: 001498a4 and \$a0, \$a1, \$a2
- dc: 001518a4 or \$a0, \$a1, \$a2
- e0: 001598a4 xor \$a0, \$a1, \$a2
- e4: 001718a4 sll.w \$a0, \$a1, \$a2
- e8: 001798a4 srl.w \$a0, \$a1, \$a2
- ec: 001818a4 sra.w \$a0, \$a1, \$a2
- f0: 001c18a4 mul.w \$a0, \$a1, \$a2
- f4: 001c98a4 mulh.w \$a0, \$a1, \$a2
- f8: 001d18a4 mulh.wu \$a0, \$a1, \$a2
- fc: 002018a4 div.w \$a0, \$a1, \$a2
- 100: 002098a4 mod.w \$a0, \$a1, \$a2
- 104: 002118a4 div.wu \$a0, \$a1, \$a2
- 108: 002198a4 mod.wu \$a0, \$a1, \$a2
- 10c: 002a0000 break 0x0
- 110: 002a7fff break 0x7fff
- 114: 002a8000 dbcl 0x0
- 118: 002affff dbcl 0x7fff
- 11c: 004080a4 slli.w \$a0, \$a1, 0x0
- 120: 004084a4 slli.w \$a0, \$a1, 0x1
- 124: 0040fca4 slli.w \$a0, \$a1, 0x1f
- 128: 004480a4 srli.w \$a0, \$a1, 0x0
- 12c: 004484a4 srli.w \$a0, \$a1, 0x1
- 130: 0044fca4 srli.w \$a0, \$a1, 0x1f
- 134: 004880a4 srai.w \$a0, \$a1, 0x0
- 138: 004884a4 srai.w \$a0, \$a1, 0x1
- 13c: 0048fca4 srai.w \$a0, \$a1, 0x1f
- 140: 200000a4 ll.w \$a0, \$a1, 0
- 144: 203ffca4 ll.w \$a0, \$a1, 16380
- 148: 210000a4 sc.w \$a0, \$a1, 0
- 14c: 213ffca4 sc.w \$a0, \$a1, 16380
- 150: 280000a4 ld.b \$a0, \$a1, 0
- 154: 281ffca4 ld.b \$a0, \$a1, 2047
- 158: 282004a4 ld.b \$a0, \$a1, -2047
- 15c: 284000a4 ld.h \$a0, \$a1, 0
- 160: 285ffca4 ld.h \$a0, \$a1, 2047
- 164: 286004a4 ld.h \$a0, \$a1, -2047
- 168: 288000a4 ld.w \$a0, \$a1, 0
- 16c: 289ffca4 ld.w \$a0, \$a1, 2047
- 170: 28a004a4 ld.w \$a0, \$a1, -2047
- 174: 290000a4 st.b \$a0, \$a1, 0
- 178: 291ffca4 st.b \$a0, \$a1, 2047
- 17c: 292004a4 st.b \$a0, \$a1, -2047
- 180: 294000a4 st.h \$a0, \$a1, 0
- 184: 295ffca4 st.h \$a0, \$a1, 2047
- 188: 296004a4 st.h \$a0, \$a1, -2047
- 18c: 298000a4 st.w \$a0, \$a1, 0
- 190: 299ffca4 st.w \$a0, \$a1, 2047
- 194: 29a004a4 st.w \$a0, \$a1, -2047
- 198: 2a0000a4 ld.bu \$a0, \$a1, 0
- 19c: 2a1ffca4 ld.bu \$a0, \$a1, 2047
- 1a0: 2a2004a4 ld.bu \$a0, \$a1, -2047
- 1a4: 2a4000a4 ld.hu \$a0, \$a1, 0
- 1a8: 2a5ffca4 ld.hu \$a0, \$a1, 2047
- 1ac: 2a6004a4 ld.hu \$a0, \$a1, -2047
- 1b0: 2ac000a0 preld 0x0, \$a1, 0
- 1b4: 2adffcbf preld 0x1f, \$a1, 2047
- 1b8: 2ae004bf preld 0x1f, \$a1, -2047
- 1bc: 385714c4 sc.q \$a0, \$a1, \$a2
- 1c0: 385714c4 sc.q \$a0, \$a1, \$a2
- 1c4: 385780a4 llacq.w \$a0, \$a1
- 1c8: 385780a4 llacq.w \$a0, \$a1
- 1cc: 385784a4 screl.w \$a0, \$a1
- 1d0: 385784a4 screl.w \$a0, \$a1
- 1d4: 38720000 dbar 0x0
- 1d8: 38727fff dbar 0x7fff
- 1dc: 38728000 ibar 0x0
- 1e0: 3872ffff ibar 0x7fff
-
-0+1e4 <.L1>:
- 1e4: 03400000 andi \$zero, \$zero, 0x0
- 1e8: 53ffffff b -4 # 1e4 <.L1>
- 1ec: 57fffbff bl -8 # 1e4 <.L1>
- 1f0: 5bfff485 beq \$a0, \$a1, -12 # 1e4 <.L1>
- 1f4: 5ffff085 bne \$a0, \$a1, -16 # 1e4 <.L1>
- 1f8: 63ffec85 blt \$a0, \$a1, -20 # 1e4 <.L1>
- 1fc: 63ffe8a4 blt \$a1, \$a0, -24 # 1e4 <.L1>
- 200: 67ffe485 bge \$a0, \$a1, -28 # 1e4 <.L1>
- 204: 67ffe0a4 bge \$a1, \$a0, -32 # 1e4 <.L1>
- 208: 6bffdc85 bltu \$a0, \$a1, -36 # 1e4 <.L1>
- 20c: 6bffd8a4 bltu \$a1, \$a0, -40 # 1e4 <.L1>
- 210: 6fffd485 bgeu \$a0, \$a1, -44 # 1e4 <.L1>
- 214: 6fffd0a4 bgeu \$a1, \$a0, -48 # 1e4 <.L1>
- 218: 4c000080 jirl \$zero, \$a0, 0
+#...
+[ ]+0:[ ]+020000a4[ ]+slti[ ]+\$a0,[ ]+\$a1,[ ]+0
+[ ]+4:[ ]+021ffca4[ ]+slti[ ]+\$a0,[ ]+\$a1,[ ]+2047
+[ ]+8:[ ]+022004a4[ ]+slti[ ]+\$a0,[ ]+\$a1,[ ]+-2047
+[ ]+c:[ ]+024000a4[ ]+sltui[ ]+\$a0,[ ]+\$a1,[ ]+0
+[ ]+10:[ ]+025ffca4[ ]+sltui[ ]+\$a0,[ ]+\$a1,[ ]+2047
+[ ]+14:[ ]+026004a4[ ]+sltui[ ]+\$a0,[ ]+\$a1,[ ]+-2047
+[ ]+18:[ ]+028000a4[ ]+addi.w[ ]+\$a0,[ ]+\$a1,[ ]+0
+[ ]+1c:[ ]+029ffca4[ ]+addi.w[ ]+\$a0,[ ]+\$a1,[ ]+2047
+[ ]+20:[ ]+02a004a4[ ]+addi.w[ ]+\$a0,[ ]+\$a1,[ ]+-2047
+[ ]+24:[ ]+034000a4[ ]+andi[ ]+\$a0,[ ]+\$a1,[ ]+0x0
+[ ]+28:[ ]+035ffca4[ ]+andi[ ]+\$a0,[ ]+\$a1,[ ]+0x7ff
+[ ]+2c:[ ]+038000a4[ ]+ori[ ]+\$a0,[ ]+\$a1,[ ]+0x0
+[ ]+30:[ ]+039ffca4[ ]+ori[ ]+\$a0,[ ]+\$a1,[ ]+0x7ff
+[ ]+34:[ ]+03c000a4[ ]+xori[ ]+\$a0,[ ]+\$a1,[ ]+0x0
+[ ]+38:[ ]+03dffca4[ ]+xori[ ]+\$a0,[ ]+\$a1,[ ]+0x7ff
+[ ]+3c:[ ]+14000004[ ]+lu12i.w[ ]+\$a0,[ ]+0
+[ ]+40:[ ]+14ffffe4[ ]+lu12i.w[ ]+\$a0,[ ]+524287
+[ ]+44:[ ]+1c000004[ ]+pcaddu12i[ ]+\$a0,[ ]+0
+[ ]+48:[ ]+1cffffe4[ ]+pcaddu12i[ ]+\$a0,[ ]+524287
+[ ]+4c:[ ]+1d000024[ ]+pcaddu12i[ ]+\$a0,[ ]+-524287
+[ ]+50:[ ]+0004b58b[ ]+alsl.w[ ]+\$a7,[ ]+\$t0,[ ]+\$t1,[ ]+0x2
+[ ]+54:[ ]+0006b58b[ ]+alsl.wu[ ]+\$a7,[ ]+\$t0,[ ]+\$t1,[ ]+0x2
+[ ]+58:[ ]+002a0002[ ]+break[ ]+0x2
+[ ]+5c:[ ]+002a8002[ ]+dbcl[ ]+0x2
+[ ]+60:[ ]+002b0002[ ]+syscall[ ]+0x2
+[ ]+64:[ ]+0040898b[ ]+slli.w[ ]+\$a7,[ ]+\$t0,[ ]+0x2
+[ ]+68:[ ]+0044898b[ ]+srli.w[ ]+\$a7,[ ]+\$t0,[ ]+0x2
+[ ]+6c:[ ]+004889ac[ ]+srai.w[ ]+\$t0,[ ]+\$t1,[ ]+0x2
+[ ]+70:[ ]+02048dac[ ]+slti[ ]+\$t0,[ ]+\$t1,[ ]+291
+[ ]+74:[ ]+02448dac[ ]+sltui[ ]+\$t0,[ ]+\$t1,[ ]+291
+[ ]+78:[ ]+02848dac[ ]+addi.w[ ]+\$t0,[ ]+\$t1,[ ]+291
+[ ]+7c:[ ]+034009ac[ ]+andi[ ]+\$t0,[ ]+\$t1,[ ]+0x2
+[ ]+80:[ ]+038009ac[ ]+ori[ ]+\$t0,[ ]+\$t1,[ ]+0x2
+[ ]+84:[ ]+03c009ac[ ]+xori[ ]+\$t0,[ ]+\$t1,[ ]+0x2
+[ ]+88:[ ]+1400246c[ ]+lu12i.w[ ]+\$t0,[ ]+291
+[ ]+8c:[ ]+1c00246c[ ]+pcaddu12i[ ]+\$t0,[ ]+291
+[ ]+90:[ ]+04048c0c[ ]+csrrd[ ]+\$t0,[ ]+0x123
+[ ]+94:[ ]+04048c2c[ ]+csrwr[ ]+\$t0,[ ]+0x123
+[ ]+98:[ ]+040009ac[ ]+csrxchg[ ]+\$t0,[ ]+\$t1,[ ]+0x2
+[ ]+9c:[ ]+060009a2[ ]+cacop[ ]+0x2,[ ]+\$t1,[ ]+2
+[ ]+a0:[ ]+064009ac[ ]+lddir[ ]+\$t0,[ ]+\$t1,[ ]+0x2
+[ ]+a4:[ ]+06440980[ ]+ldpte[ ]+\$t0,[ ]+0x2
+[ ]+a8:[ ]+0649b9a2[ ]+invtlb[ ]+0x2,[ ]+\$t1,[ ]+\$t2
+[ ]+ac:[ ]+000060a4[ ]+rdtimel.w[ ]+\$a0,[ ]+\$a1
+[ ]+b0:[ ]+000064a4[ ]+rdtimeh.w[ ]+\$a0,[ ]+\$a1
+[ ]+b4:[ ]+000418a4[ ]+alsl.w[ ]+\$a0,[ ]+\$a1,[ ]+\$a2,[ ]+0x1
+[ ]+b8:[ ]+000598a4[ ]+alsl.w[ ]+\$a0,[ ]+\$a1,[ ]+\$a2,[ ]+0x4
+[ ]+bc:[ ]+000618a4[ ]+alsl.wu[ ]+\$a0,[ ]+\$a1,[ ]+\$a2,[ ]+0x1
+[ ]+c0:[ ]+000798a4[ ]+alsl.wu[ ]+\$a0,[ ]+\$a1,[ ]+\$a2,[ ]+0x4
+[ ]+c4:[ ]+001018a4[ ]+add.w[ ]+\$a0,[ ]+\$a1,[ ]+\$a2
+[ ]+c8:[ ]+001118a4[ ]+sub.w[ ]+\$a0,[ ]+\$a1,[ ]+\$a2
+[ ]+cc:[ ]+001218a4[ ]+slt[ ]+\$a0,[ ]+\$a1,[ ]+\$a2
+[ ]+d0:[ ]+001298a4[ ]+sltu[ ]+\$a0,[ ]+\$a1,[ ]+\$a2
+[ ]+d4:[ ]+001418a4[ ]+nor[ ]+\$a0,[ ]+\$a1,[ ]+\$a2
+[ ]+d8:[ ]+001498a4[ ]+and[ ]+\$a0,[ ]+\$a1,[ ]+\$a2
+[ ]+dc:[ ]+001518a4[ ]+or[ ]+\$a0,[ ]+\$a1,[ ]+\$a2
+[ ]+e0:[ ]+001598a4[ ]+xor[ ]+\$a0,[ ]+\$a1,[ ]+\$a2
+[ ]+e4:[ ]+001718a4[ ]+sll.w[ ]+\$a0,[ ]+\$a1,[ ]+\$a2
+[ ]+e8:[ ]+001798a4[ ]+srl.w[ ]+\$a0,[ ]+\$a1,[ ]+\$a2
+[ ]+ec:[ ]+001818a4[ ]+sra.w[ ]+\$a0,[ ]+\$a1,[ ]+\$a2
+[ ]+f0:[ ]+001c18a4[ ]+mul.w[ ]+\$a0,[ ]+\$a1,[ ]+\$a2
+[ ]+f4:[ ]+001c98a4[ ]+mulh.w[ ]+\$a0,[ ]+\$a1,[ ]+\$a2
+[ ]+f8:[ ]+001d18a4[ ]+mulh.wu[ ]+\$a0,[ ]+\$a1,[ ]+\$a2
+[ ]+fc:[ ]+002018a4[ ]+div.w[ ]+\$a0,[ ]+\$a1,[ ]+\$a2
+[ ]+100:[ ]+002098a4[ ]+mod.w[ ]+\$a0,[ ]+\$a1,[ ]+\$a2
+[ ]+104:[ ]+002118a4[ ]+div.wu[ ]+\$a0,[ ]+\$a1,[ ]+\$a2
+[ ]+108:[ ]+002198a4[ ]+mod.wu[ ]+\$a0,[ ]+\$a1,[ ]+\$a2
+[ ]+10c:[ ]+002a0000[ ]+break[ ]+0x0
+[ ]+110:[ ]+002a7fff[ ]+break[ ]+0x7fff
+[ ]+114:[ ]+002a8000[ ]+dbcl[ ]+0x0
+[ ]+118:[ ]+002affff[ ]+dbcl[ ]+0x7fff
+[ ]+11c:[ ]+004080a4[ ]+slli.w[ ]+\$a0,[ ]+\$a1,[ ]+0x0
+[ ]+120:[ ]+004084a4[ ]+slli.w[ ]+\$a0,[ ]+\$a1,[ ]+0x1
+[ ]+124:[ ]+0040fca4[ ]+slli.w[ ]+\$a0,[ ]+\$a1,[ ]+0x1f
+[ ]+128:[ ]+004480a4[ ]+srli.w[ ]+\$a0,[ ]+\$a1,[ ]+0x0
+[ ]+12c:[ ]+004484a4[ ]+srli.w[ ]+\$a0,[ ]+\$a1,[ ]+0x1
+[ ]+130:[ ]+0044fca4[ ]+srli.w[ ]+\$a0,[ ]+\$a1,[ ]+0x1f
+[ ]+134:[ ]+004880a4[ ]+srai.w[ ]+\$a0,[ ]+\$a1,[ ]+0x0
+[ ]+138:[ ]+004884a4[ ]+srai.w[ ]+\$a0,[ ]+\$a1,[ ]+0x1
+[ ]+13c:[ ]+0048fca4[ ]+srai.w[ ]+\$a0,[ ]+\$a1,[ ]+0x1f
+[ ]+140:[ ]+200000a4[ ]+ll.w[ ]+\$a0,[ ]+\$a1,[ ]+0
+[ ]+144:[ ]+203ffca4[ ]+ll.w[ ]+\$a0,[ ]+\$a1,[ ]+16380
+[ ]+148:[ ]+210000a4[ ]+sc.w[ ]+\$a0,[ ]+\$a1,[ ]+0
+[ ]+14c:[ ]+213ffca4[ ]+sc.w[ ]+\$a0,[ ]+\$a1,[ ]+16380
+[ ]+150:[ ]+280000a4[ ]+ld.b[ ]+\$a0,[ ]+\$a1,[ ]+0
+[ ]+154:[ ]+281ffca4[ ]+ld.b[ ]+\$a0,[ ]+\$a1,[ ]+2047
+[ ]+158:[ ]+282004a4[ ]+ld.b[ ]+\$a0,[ ]+\$a1,[ ]+-2047
+[ ]+15c:[ ]+284000a4[ ]+ld.h[ ]+\$a0,[ ]+\$a1,[ ]+0
+[ ]+160:[ ]+285ffca4[ ]+ld.h[ ]+\$a0,[ ]+\$a1,[ ]+2047
+[ ]+164:[ ]+286004a4[ ]+ld.h[ ]+\$a0,[ ]+\$a1,[ ]+-2047
+[ ]+168:[ ]+288000a4[ ]+ld.w[ ]+\$a0,[ ]+\$a1,[ ]+0
+[ ]+16c:[ ]+289ffca4[ ]+ld.w[ ]+\$a0,[ ]+\$a1,[ ]+2047
+[ ]+170:[ ]+28a004a4[ ]+ld.w[ ]+\$a0,[ ]+\$a1,[ ]+-2047
+[ ]+174:[ ]+290000a4[ ]+st.b[ ]+\$a0,[ ]+\$a1,[ ]+0
+[ ]+178:[ ]+291ffca4[ ]+st.b[ ]+\$a0,[ ]+\$a1,[ ]+2047
+[ ]+17c:[ ]+292004a4[ ]+st.b[ ]+\$a0,[ ]+\$a1,[ ]+-2047
+[ ]+180:[ ]+294000a4[ ]+st.h[ ]+\$a0,[ ]+\$a1,[ ]+0
+[ ]+184:[ ]+295ffca4[ ]+st.h[ ]+\$a0,[ ]+\$a1,[ ]+2047
+[ ]+188:[ ]+296004a4[ ]+st.h[ ]+\$a0,[ ]+\$a1,[ ]+-2047
+[ ]+18c:[ ]+298000a4[ ]+st.w[ ]+\$a0,[ ]+\$a1,[ ]+0
+[ ]+190:[ ]+299ffca4[ ]+st.w[ ]+\$a0,[ ]+\$a1,[ ]+2047
+[ ]+194:[ ]+29a004a4[ ]+st.w[ ]+\$a0,[ ]+\$a1,[ ]+-2047
+[ ]+198:[ ]+2a0000a4[ ]+ld.bu[ ]+\$a0,[ ]+\$a1,[ ]+0
+[ ]+19c:[ ]+2a1ffca4[ ]+ld.bu[ ]+\$a0,[ ]+\$a1,[ ]+2047
+[ ]+1a0:[ ]+2a2004a4[ ]+ld.bu[ ]+\$a0,[ ]+\$a1,[ ]+-2047
+[ ]+1a4:[ ]+2a4000a4[ ]+ld.hu[ ]+\$a0,[ ]+\$a1,[ ]+0
+[ ]+1a8:[ ]+2a5ffca4[ ]+ld.hu[ ]+\$a0,[ ]+\$a1,[ ]+2047
+[ ]+1ac:[ ]+2a6004a4[ ]+ld.hu[ ]+\$a0,[ ]+\$a1,[ ]+-2047
+[ ]+1b0:[ ]+2ac000a0[ ]+preld[ ]+0x0,[ ]+\$a1,[ ]+0
+[ ]+1b4:[ ]+2adffcbf[ ]+preld[ ]+0x1f,[ ]+\$a1,[ ]+2047
+[ ]+1b8:[ ]+2ae004bf[ ]+preld[ ]+0x1f,[ ]+\$a1,[ ]+-2047
+[ ]+1bc:[ ]+385714c4[ ]+sc.q[ ]+\$a0,[ ]+\$a1,[ ]+\$a2
+[ ]+1c0:[ ]+385714c4[ ]+sc.q[ ]+\$a0,[ ]+\$a1,[ ]+\$a2
+[ ]+1c4:[ ]+385780a4[ ]+llacq.w[ ]+\$a0,[ ]+\$a1
+[ ]+1c8:[ ]+385780a4[ ]+llacq.w[ ]+\$a0,[ ]+\$a1
+[ ]+1cc:[ ]+385784a4[ ]+screl.w[ ]+\$a0,[ ]+\$a1
+[ ]+1d0:[ ]+385784a4[ ]+screl.w[ ]+\$a0,[ ]+\$a1
+[ ]+1d4:[ ]+38720000[ ]+dbar[ ]+0x0
+[ ]+1d8:[ ]+38727fff[ ]+dbar[ ]+0x7fff
+[ ]+1dc:[ ]+38728000[ ]+ibar[ ]+0x0
+[ ]+1e0:[ ]+3872ffff[ ]+ibar[ ]+0x7fff
+[ ]+1e4:[ ]+03400000[ ]+andi[ ]+\$zero,[ ]+\$zero,[ ]+0x0
+[ ]+1e8:[ ]+53ffffff[ ]+b[ ]+-4[ ]+#[ ]+1e4[ ]+<a\+0xc1>
+[ ]+1ec:[ ]+57fffbff[ ]+bl[ ]+-8[ ]+#[ ]+1e4[ ]+<a\+0xc1>
+[ ]+1f0:[ ]+5bfff485[ ]+beq[ ]+\$a0,[ ]+\$a1,[ ]+-12[ ]+#[ ]+1e4[ ]+<a\+0xc1>
+[ ]+1f4:[ ]+5ffff085[ ]+bne[ ]+\$a0,[ ]+\$a1,[ ]+-16[ ]+#[ ]+1e4[ ]+<a\+0xc1>
+[ ]+1f8:[ ]+63ffec85[ ]+blt[ ]+\$a0,[ ]+\$a1,[ ]+-20[ ]+#[ ]+1e4[ ]+<a\+0xc1>
+[ ]+1fc:[ ]+63ffe8a4[ ]+blt[ ]+\$a1,[ ]+\$a0,[ ]+-24[ ]+#[ ]+1e4[ ]+<a\+0xc1>
+[ ]+200:[ ]+67ffe485[ ]+bge[ ]+\$a0,[ ]+\$a1,[ ]+-28[ ]+#[ ]+1e4[ ]+<a\+0xc1>
+[ ]+204:[ ]+67ffe0a4[ ]+bge[ ]+\$a1,[ ]+\$a0,[ ]+-32[ ]+#[ ]+1e4[ ]+<a\+0xc1>
+[ ]+208:[ ]+6bffdc85[ ]+bltu[ ]+\$a0,[ ]+\$a1,[ ]+-36[ ]+#[ ]+1e4[ ]+<a\+0xc1>
+[ ]+20c:[ ]+6bffd8a4[ ]+bltu[ ]+\$a1,[ ]+\$a0,[ ]+-40[ ]+#[ ]+1e4[ ]+<a\+0xc1>
+[ ]+210:[ ]+6fffd485[ ]+bgeu[ ]+\$a0,[ ]+\$a1,[ ]+-44[ ]+#[ ]+1e4[ ]+<a\+0xc1>
+[ ]+214:[ ]+6fffd0a4[ ]+bgeu[ ]+\$a1,[ ]+\$a0,[ ]+-48[ ]+#[ ]+1e4[ ]+<a\+0xc1>
+[ ]+218:[ ]+4c000080[ ]+jirl[ ]+\$zero,[ ]+\$a0,[ ]+0
@@ -411,20 +411,19 @@ Disassembly of section .text:
640: 385f94c4 amadd_db.h \$a0, \$a1, \$a2
644: 385f98a4 amadd_db.h \$a0, \$a2, \$a1
-0+648 <.L1>:
648: 03400000 andi \$zero, \$zero, 0x0
- 64c: 43fffc9f beqz \$a0, -4 # 648 <.L1>
- 650: 47fff89f bnez \$a0, -8 # 648 <.L1>
- 654: 53fff7ff b -12 # 648 <.L1>
- 658: 57fff3ff bl -16 # 648 <.L1>
- 65c: 5bffec85 beq \$a0, \$a1, -20 # 648 <.L1>
- 660: 5fffe885 bne \$a0, \$a1, -24 # 648 <.L1>
- 664: 63ffe485 blt \$a0, \$a1, -28 # 648 <.L1>
- 668: 63ffe0a4 blt \$a1, \$a0, -32 # 648 <.L1>
- 66c: 67ffdc85 bge \$a0, \$a1, -36 # 648 <.L1>
- 670: 67ffd8a4 bge \$a1, \$a0, -40 # 648 <.L1>
- 674: 6bffd485 bltu \$a0, \$a1, -44 # 648 <.L1>
- 678: 6bffd0a4 bltu \$a1, \$a0, -48 # 648 <.L1>
- 67c: 6fffcc85 bgeu \$a0, \$a1, -52 # 648 <.L1>
- 680: 6fffc8a4 bgeu \$a1, \$a0, -56 # 648 <.L1>
+ 64c: 43fffc9f beqz \$a0, -4.*
+ 650: 47fff89f bnez \$a0, -8.*
+ 654: 53fff7ff b -12.*
+ 658: 57fff3ff bl -16.*
+ 65c: 5bffec85 beq \$a0, \$a1, -20.*
+ 660: 5fffe885 bne \$a0, \$a1, -24.*
+ 664: 63ffe485 blt \$a0, \$a1, -28.*
+ 668: 63ffe0a4 blt \$a1, \$a0, -32.*
+ 66c: 67ffdc85 bge \$a0, \$a1, -36.*
+ 670: 67ffd8a4 bge \$a1, \$a0, -40.*
+ 674: 6bffd485 bltu \$a0, \$a1, -44.*
+ 678: 6bffd0a4 bltu \$a1, \$a0, -48.*
+ 67c: 6fffcc85 bgeu \$a0, \$a1, -52.*
+ 680: 6fffc8a4 bgeu \$a1, \$a0, -56.*
684: 4c000080 jirl \$zero, \$a0, 0
@@ -1,50 +1,48 @@
-#as:
+#as: -mrelax
#objdump: -dr
-.*:[ ]+file format .*
-
-
-Disassembly of section .text:
-
-00000000.* <.L1>:
-[ ]+0:[ ]+03400000[ ]+nop
-[ ]+4:[ ]+63fffc04[ ]+bgtz[ ]+\$a0,[ ]+-4[ ]+#[ ]+0[ ]+<\.L1>
-[ ]+4:[ ]+R_LARCH_B16[ ]+\.L1
-[ ]+8:[ ]+67fff880[ ]+bgez[ ]+\$a0,[ ]+-8[ ]+#[ ]+0[ ]+<\.L1>
-[ ]+8:[ ]+R_LARCH_B16[ ]+\.L1
-[ ]+c:[ ]+67fff404[ ]+blez[ ]+\$a0,[ ]+-12[ ]+#[ ]+0[ ]+<\.L1>
-[ ]+c:[ ]+R_LARCH_B16[ ]+\.L1
-[ ]+10:[ ]+43fff09f[ ]+beqz[ ]+\$a0,[ ]+-16[ ]+#[ ]+0[ ]+<\.L1>
-[ ]+10:[ ]+R_LARCH_B21[ ]+\.L1
-[ ]+14:[ ]+47ffec9f[ ]+bnez[ ]+\$a0,[ ]+-20[ ]+#[ ]+0[ ]+<\.L1>
-[ ]+14:[ ]+R_LARCH_B21[ ]+\.L1
-[ ]+18:[ ]+4bffe81f[ ]+bceqz[ ]+\$fcc0,[ ]+-24[ ]+#[ ]+0[ ]+<\.L1>
-[ ]+18:[ ]+R_LARCH_B21[ ]+\.L1
-[ ]+1c:[ ]+4bffe51f[ ]+bcnez[ ]+\$fcc0,[ ]+-28[ ]+#[ ]+0[ ]+<\.L1>
-[ ]+1c:[ ]+R_LARCH_B21[ ]+\.L1
-[ ]+20:[ ]+4c000080[ ]+jr[ ]+\$a0
-[ ]+24:[ ]+53ffdfff[ ]+b[ ]+-36[ ]+#[ ]+0[ ]+<\.L1>
-[ ]+24:[ ]+R_LARCH_B26[ ]+\.L1
-[ ]+28:[ ]+57ffdbff[ ]+bl[ ]+-40[ ]+#[ ]+0[ ]+<\.L1>
-[ ]+28:[ ]+R_LARCH_B26[ ]+\.L1
-[ ]+2c:[ ]+5bffd485[ ]+beq[ ]+\$a0,[ ]+\$a1,[ ]+-44[ ]+#[ ]+0[ ]+<\.L1>
-[ ]+2c:[ ]+R_LARCH_B16[ ]+\.L1
-[ ]+30:[ ]+5fffd085[ ]+bne[ ]+\$a0,[ ]+\$a1,[ ]+-48[ ]+#[ ]+0[ ]+<\.L1>
-[ ]+30:[ ]+R_LARCH_B16[ ]+\.L1
-[ ]+34:[ ]+63ffcc85[ ]+blt[ ]+\$a0,[ ]+\$a1,[ ]+-52[ ]+#[ ]+0[ ]+<\.L1>
-[ ]+34:[ ]+R_LARCH_B16[ ]+\.L1
-[ ]+38:[ ]+63ffc8a4[ ]+blt[ ]+\$a1,[ ]+\$a0,[ ]+-56[ ]+#[ ]+0[ ]+<\.L1>
-[ ]+38:[ ]+R_LARCH_B16[ ]+\.L1
-[ ]+3c:[ ]+67ffc485[ ]+bge[ ]+\$a0,[ ]+\$a1,[ ]+-60[ ]+#[ ]+0[ ]+<\.L1>
-[ ]+3c:[ ]+R_LARCH_B16[ ]+\.L1
-[ ]+40:[ ]+67ffc0a4[ ]+bge[ ]+\$a1,[ ]+\$a0,[ ]+-64[ ]+#[ ]+0[ ]+<\.L1>
-[ ]+40:[ ]+R_LARCH_B16[ ]+\.L1
-[ ]+44:[ ]+6bffbc85[ ]+bltu[ ]+\$a0,[ ]+\$a1,[ ]+-68[ ]+#[ ]+0[ ]+<\.L1>
-[ ]+44:[ ]+R_LARCH_B16[ ]+\.L1
-[ ]+48:[ ]+6bffb8a4[ ]+bltu[ ]+\$a1,[ ]+\$a0,[ ]+-72[ ]+#[ ]+0[ ]+<\.L1>
-[ ]+48:[ ]+R_LARCH_B16[ ]+\.L1
-[ ]+4c:[ ]+6fffb485[ ]+bgeu[ ]+\$a0,[ ]+\$a1,[ ]+-76[ ]+#[ ]+0[ ]+<\.L1>
-[ ]+4c:[ ]+R_LARCH_B16[ ]+\.L1
-[ ]+50:[ ]+6fffb0a4[ ]+bgeu[ ]+\$a1,[ ]+\$a0,[ ]+-80[ ]+#[ ]+0[ ]+<\.L1>
-[ ]+50:[ ]+R_LARCH_B16[ ]+\.L1
-[ ]+54:[ ]+4c000020[ ]+ret
+#...
+[ ]+0:[ ]+1e000001[ ]+pcaddu18i[ ]+\$ra,[ ]+0
+[ ]+0:[ ]+R_LARCH_CALL36[ ]+.L1
+[ ]+0:[ ]+R_LARCH_RELAX[ ]+\*ABS\*
+[ ]+4:[ ]+4c000021[ ]+jirl[ ]+\$ra,[ ]+\$ra,[ ]+0
+[ ]+8:[ ]+63fff804[ ]+bgtz[ ]+\$a0,[ ]+-8[ ]+#[ ]+0[ ]+<.L1>
+[ ]+8:[ ]+R_LARCH_B16[ ]+.L1
+[ ]+c:[ ]+67fff480[ ]+bgez[ ]+\$a0,[ ]+-12[ ]+#[ ]+0[ ]+<.L1>
+[ ]+c:[ ]+R_LARCH_B16[ ]+.L1
+[ ]+10:[ ]+67fff004[ ]+blez[ ]+\$a0,[ ]+-16[ ]+#[ ]+0[ ]+<.L1>
+[ ]+10:[ ]+R_LARCH_B16[ ]+.L1
+[ ]+14:[ ]+43ffec9f[ ]+beqz[ ]+\$a0,[ ]+-20[ ]+#[ ]+0[ ]+<.L1>
+[ ]+14:[ ]+R_LARCH_B21[ ]+.L1
+[ ]+18:[ ]+47ffe89f[ ]+bnez[ ]+\$a0,[ ]+-24[ ]+#[ ]+0[ ]+<.L1>
+[ ]+18:[ ]+R_LARCH_B21[ ]+.L1
+[ ]+1c:[ ]+4bffe41f[ ]+bceqz[ ]+\$fcc0,[ ]+-28[ ]+#[ ]+0[ ]+<.L1>
+[ ]+1c:[ ]+R_LARCH_B21[ ]+.L1
+[ ]+20:[ ]+4bffe11f[ ]+bcnez[ ]+\$fcc0,[ ]+-32[ ]+#[ ]+0[ ]+<.L1>
+[ ]+20:[ ]+R_LARCH_B21[ ]+.L1
+[ ]+24:[ ]+4c000080[ ]+jr[ ]+\$a0
+[ ]+28:[ ]+53ffdbff[ ]+b[ ]+-40[ ]+#[ ]+0[ ]+<.L1>
+[ ]+28:[ ]+R_LARCH_B26[ ]+.L1
+[ ]+2c:[ ]+57ffd7ff[ ]+bl[ ]+-44[ ]+#[ ]+0[ ]+<.L1>
+[ ]+2c:[ ]+R_LARCH_B26[ ]+.L1
+[ ]+30:[ ]+5bffd085[ ]+beq[ ]+\$a0,[ ]+\$a1,[ ]+-48[ ]+#[ ]+0[ ]+<.L1>
+[ ]+30:[ ]+R_LARCH_B16[ ]+.L1
+[ ]+34:[ ]+5fffcc85[ ]+bne[ ]+\$a0,[ ]+\$a1,[ ]+-52[ ]+#[ ]+0[ ]+<.L1>
+[ ]+34:[ ]+R_LARCH_B16[ ]+.L1
+[ ]+38:[ ]+63ffc885[ ]+blt[ ]+\$a0,[ ]+\$a1,[ ]+-56[ ]+#[ ]+0[ ]+<.L1>
+[ ]+38:[ ]+R_LARCH_B16[ ]+.L1
+[ ]+3c:[ ]+63ffc4a4[ ]+blt[ ]+\$a1,[ ]+\$a0,[ ]+-60[ ]+#[ ]+0[ ]+<.L1>
+[ ]+3c:[ ]+R_LARCH_B16[ ]+.L1
+[ ]+40:[ ]+67ffc085[ ]+bge[ ]+\$a0,[ ]+\$a1,[ ]+-64[ ]+#[ ]+0[ ]+<.L1>
+[ ]+40:[ ]+R_LARCH_B16[ ]+.L1
+[ ]+44:[ ]+67ffbca4[ ]+bge[ ]+\$a1,[ ]+\$a0,[ ]+-68[ ]+#[ ]+0[ ]+<.L1>
+[ ]+44:[ ]+R_LARCH_B16[ ]+.L1
+[ ]+48:[ ]+6bffb885[ ]+bltu[ ]+\$a0,[ ]+\$a1,[ ]+-72[ ]+#[ ]+0[ ]+<.L1>
+[ ]+48:[ ]+R_LARCH_B16[ ]+.L1
+[ ]+4c:[ ]+6bffb4a4[ ]+bltu[ ]+\$a1,[ ]+\$a0,[ ]+-76[ ]+#[ ]+0[ ]+<.L1>
+[ ]+4c:[ ]+R_LARCH_B16[ ]+.L1
+[ ]+50:[ ]+6fffb085[ ]+bgeu[ ]+\$a0,[ ]+\$a1,[ ]+-80[ ]+#[ ]+0[ ]+<.L1>
+[ ]+50:[ ]+R_LARCH_B16[ ]+.L1
+[ ]+54:[ ]+6fffaca4[ ]+bgeu[ ]+\$a1,[ ]+\$a0,[ ]+-84[ ]+#[ ]+0[ ]+<.L1>
+[ ]+54:[ ]+R_LARCH_B16[ ]+.L1
+[ ]+58:[ ]+4c000020[ ]+ret
@@ -1,5 +1,5 @@
.L1:
-nop
+call36 .L1
bgtz $r4,.L1
bgez $r4,.L1
blez $r4,.L1
@@ -1,64 +1,58 @@
-#as:
+#as: -mrelax
#objdump: -dr
-.*:[ ]+file format .*
-
-
-Disassembly of section .text:
-
-0* <.L1>:
-[ ]+...
-[ ]+48d158:[ ]+5c00098d[ ]+bne[ ]+\$t0, \$t1, 8[ ]+# 48d160 <.L1\+0x48d160>
-[ ]+48d15c:[ ]+532ea7ed[ ]+b[ ]+-4772188[ ]+# 0 <.L1>
-[ ]+48d15c: R_LARCH_B26[ ]+.L1
-[ ]+48d160:[ ]+5800098d[ ]+beq[ ]+\$t0, \$t1, 8[ ]+# 48d168 <.L1\+0x48d168>
-[ ]+48d164:[ ]+532e9fed[ ]+b[ ]+-4772196[ ]+# 0 <.L1>
-[ ]+48d164: R_LARCH_B26[ ]+.L1
-[ ]+48d168:[ ]+6400098d[ ]+bge[ ]+\$t0, \$t1, 8[ ]+# 48d170 <.L1\+0x48d170>
-[ ]+48d16c:[ ]+532e97ed[ ]+b[ ]+-4772204[ ]+# 0 <.L1>
-[ ]+48d16c: R_LARCH_B26[ ]+.L1
-[ ]+48d170:[ ]+640009ac[ ]+bge[ ]+\$t1, \$t0, 8[ ]+# 48d178 <.L1\+0x48d178>
-[ ]+48d174:[ ]+532e8fed[ ]+b[ ]+-4772212[ ]+# 0 <.L1>
-[ ]+48d174: R_LARCH_B26[ ]+.L1
-[ ]+48d178:[ ]+64000980[ ]+bgez[ ]+\$t0, 8[ ]+# 48d180 <.L1\+0x48d180>
-[ ]+48d17c:[ ]+532e87ed[ ]+b[ ]+-4772220[ ]+# 0 <.L1>
-[ ]+48d17c: R_LARCH_B26[ ]+.L1
-[ ]+48d180:[ ]+6400080c[ ]+blez[ ]+\$t0, 8[ ]+# 48d188 <.L1\+0x48d188>
-[ ]+48d184:[ ]+532e7fed[ ]+b[ ]+-4772228[ ]+# 0 <.L1>
-[ ]+48d184: R_LARCH_B26[ ]+.L1
-[ ]+48d188:[ ]+600009ac[ ]+blt[ ]+\$t1, \$t0, 8[ ]+# 48d190 <.L1\+0x48d190>
-[ ]+48d18c:[ ]+532e77ed[ ]+b[ ]+-4772236[ ]+# 0 <.L1>
-[ ]+48d18c: R_LARCH_B26[ ]+.L1
-[ ]+48d190:[ ]+6000098d[ ]+blt[ ]+\$t0, \$t1, 8[ ]+# 48d198 <.L1\+0x48d198>
-[ ]+48d194:[ ]+532e6fed[ ]+b[ ]+-4772244[ ]+# 0 <.L1>
-[ ]+48d194: R_LARCH_B26[ ]+.L1
-[ ]+48d198:[ ]+6000080c[ ]+bgtz[ ]+\$t0, 8[ ]+# 48d1a0 <.L1\+0x48d1a0>
-[ ]+48d19c:[ ]+532e67ed[ ]+b[ ]+-4772252[ ]+# 0 <.L1>
-[ ]+48d19c: R_LARCH_B26[ ]+.L1
-[ ]+48d1a0:[ ]+60000980[ ]+bltz[ ]+\$t0, 8[ ]+# 48d1a8 <.L1\+0x48d1a8>
-[ ]+48d1a4:[ ]+532e5fed[ ]+b[ ]+-4772260[ ]+# 0 <.L1>
-[ ]+48d1a4: R_LARCH_B26[ ]+.L1
-[ ]+48d1a8:[ ]+6c00098d[ ]+bgeu[ ]+\$t0, \$t1, 8[ ]+# 48d1b0 <.L1\+0x48d1b0>
-[ ]+48d1ac:[ ]+532e57ed[ ]+b[ ]+-4772268[ ]+# 0 <.L1>
-[ ]+48d1ac: R_LARCH_B26[ ]+.L1
-[ ]+48d1b0:[ ]+6c0009ac[ ]+bgeu[ ]+\$t1, \$t0, 8[ ]+# 48d1b8 <.L1\+0x48d1b8>
-[ ]+48d1b4:[ ]+532e4fed[ ]+b[ ]+-4772276[ ]+# 0 <.L1>
-[ ]+48d1b4: R_LARCH_B26[ ]+.L1
-[ ]+48d1b8:[ ]+680009ac[ ]+bltu[ ]+\$t1, \$t0, 8[ ]+# 48d1c0 <.L1\+0x48d1c0>
-[ ]+48d1bc:[ ]+532e47ed[ ]+b[ ]+-4772284[ ]+# 0 <.L1>
-[ ]+48d1bc: R_LARCH_B26[ ]+.L1
-[ ]+48d1c0:[ ]+6800098d[ ]+bltu[ ]+\$t0, \$t1, 8[ ]+# 48d1c8 <.L1\+0x48d1c8>
-[ ]+48d1c4:[ ]+532e3fed[ ]+b[ ]+-4772292[ ]+# 0 <.L1>
-[ ]+48d1c4: R_LARCH_B26[ ]+.L1
-[ ]+48d1c8:[ ]+44000980[ ]+bnez[ ]+\$t0, 8[ ]+# 48d1d0 <.L1\+0x48d1d0>
-[ ]+48d1cc:[ ]+532e37ed[ ]+b[ ]+-4772300[ ]+# 0 <.L1>
-[ ]+48d1cc: R_LARCH_B26[ ]+.L1
-[ ]+48d1d0:[ ]+40000980[ ]+beqz[ ]+\$t0, 8[ ]+# 48d1d8 <.L1\+0x48d1d8>
-[ ]+48d1d4:[ ]+532e2fed[ ]+b[ ]+-4772308[ ]+# 0 <.L1>
-[ ]+48d1d4: R_LARCH_B26[ ]+.L1
-[ ]+48d1d8:[ ]+48000900[ ]+bcnez[ ]+\$fcc0, 8[ ]+# 48d1e0 <.L1\+0x48d1e0>
-[ ]+48d1dc:[ ]+532e27ed[ ]+b[ ]+-4772316[ ]+# 0 <.L1>
-[ ]+48d1dc: R_LARCH_B26[ ]+.L1
-[ ]+48d1e0:[ ]+48000800[ ]+bceqz[ ]+\$fcc0, 8[ ]+# 48d1e8 <.L1\+0x48d1e8>
-[ ]+48d1e4:[ ]+532e1fed[ ]+b[ ]+-4772324[ ]+# 0 <.L1>
-[ ]+48d1e4: R_LARCH_B26[ ]+.L1
+#...
+[ ]+48d160:[ ]+5c00098d[ ]+bne[ ]+\$t0,[ ]+\$t1,[ ]+8[ ]+#[ ]+48d168[ ]+<.L1\+0x48d168>
+[ ]+48d164:[ ]+532e9fed[ ]+b[ ]+-4772196[ ]+#[ ]+0[ ]+<.L1>
+[ ]+48d164:[ ]+R_LARCH_B26[ ]+.L1
+[ ]+48d168:[ ]+5800098d[ ]+beq[ ]+\$t0,[ ]+\$t1,[ ]+8[ ]+#[ ]+48d170[ ]+<.L1\+0x48d170>
+[ ]+48d16c:[ ]+532e97ed[ ]+b[ ]+-4772204[ ]+#[ ]+0[ ]+<.L1>
+[ ]+48d16c:[ ]+R_LARCH_B26[ ]+.L1
+[ ]+48d170:[ ]+6400098d[ ]+bge[ ]+\$t0,[ ]+\$t1,[ ]+8[ ]+#[ ]+48d178[ ]+<.L1\+0x48d178>
+[ ]+48d174:[ ]+532e8fed[ ]+b[ ]+-4772212[ ]+#[ ]+0[ ]+<.L1>
+[ ]+48d174:[ ]+R_LARCH_B26[ ]+.L1
+[ ]+48d178:[ ]+640009ac[ ]+bge[ ]+\$t1,[ ]+\$t0,[ ]+8[ ]+#[ ]+48d180[ ]+<.L1\+0x48d180>
+[ ]+48d17c:[ ]+532e87ed[ ]+b[ ]+-4772220[ ]+#[ ]+0[ ]+<.L1>
+[ ]+48d17c:[ ]+R_LARCH_B26[ ]+.L1
+[ ]+48d180:[ ]+64000980[ ]+bgez[ ]+\$t0,[ ]+8[ ]+#[ ]+48d188[ ]+<.L1\+0x48d188>
+[ ]+48d184:[ ]+532e7fed[ ]+b[ ]+-4772228[ ]+#[ ]+0[ ]+<.L1>
+[ ]+48d184:[ ]+R_LARCH_B26[ ]+.L1
+[ ]+48d188:[ ]+6400080c[ ]+blez[ ]+\$t0,[ ]+8[ ]+#[ ]+48d190[ ]+<.L1\+0x48d190>
+[ ]+48d18c:[ ]+532e77ed[ ]+b[ ]+-4772236[ ]+#[ ]+0[ ]+<.L1>
+[ ]+48d18c:[ ]+R_LARCH_B26[ ]+.L1
+[ ]+48d190:[ ]+600009ac[ ]+blt[ ]+\$t1,[ ]+\$t0,[ ]+8[ ]+#[ ]+48d198[ ]+<.L1\+0x48d198>
+[ ]+48d194:[ ]+532e6fed[ ]+b[ ]+-4772244[ ]+#[ ]+0[ ]+<.L1>
+[ ]+48d194:[ ]+R_LARCH_B26[ ]+.L1
+[ ]+48d198:[ ]+6000098d[ ]+blt[ ]+\$t0,[ ]+\$t1,[ ]+8[ ]+#[ ]+48d1a0[ ]+<.L1\+0x48d1a0>
+[ ]+48d19c:[ ]+532e67ed[ ]+b[ ]+-4772252[ ]+#[ ]+0[ ]+<.L1>
+[ ]+48d19c:[ ]+R_LARCH_B26[ ]+.L1
+[ ]+48d1a0:[ ]+6000080c[ ]+bgtz[ ]+\$t0,[ ]+8[ ]+#[ ]+48d1a8[ ]+<.L1\+0x48d1a8>
+[ ]+48d1a4:[ ]+532e5fed[ ]+b[ ]+-4772260[ ]+#[ ]+0[ ]+<.L1>
+[ ]+48d1a4:[ ]+R_LARCH_B26[ ]+.L1
+[ ]+48d1a8:[ ]+60000980[ ]+bltz[ ]+\$t0,[ ]+8[ ]+#[ ]+48d1b0[ ]+<.L1\+0x48d1b0>
+[ ]+48d1ac:[ ]+532e57ed[ ]+b[ ]+-4772268[ ]+#[ ]+0[ ]+<.L1>
+[ ]+48d1ac:[ ]+R_LARCH_B26[ ]+.L1
+[ ]+48d1b0:[ ]+6c00098d[ ]+bgeu[ ]+\$t0,[ ]+\$t1,[ ]+8[ ]+#[ ]+48d1b8[ ]+<.L1\+0x48d1b8>
+[ ]+48d1b4:[ ]+532e4fed[ ]+b[ ]+-4772276[ ]+#[ ]+0[ ]+<.L1>
+[ ]+48d1b4:[ ]+R_LARCH_B26[ ]+.L1
+[ ]+48d1b8:[ ]+6c0009ac[ ]+bgeu[ ]+\$t1,[ ]+\$t0,[ ]+8[ ]+#[ ]+48d1c0[ ]+<.L1\+0x48d1c0>
+[ ]+48d1bc:[ ]+532e47ed[ ]+b[ ]+-4772284[ ]+#[ ]+0[ ]+<.L1>
+[ ]+48d1bc:[ ]+R_LARCH_B26[ ]+.L1
+[ ]+48d1c0:[ ]+680009ac[ ]+bltu[ ]+\$t1,[ ]+\$t0,[ ]+8[ ]+#[ ]+48d1c8[ ]+<.L1\+0x48d1c8>
+[ ]+48d1c4:[ ]+532e3fed[ ]+b[ ]+-4772292[ ]+#[ ]+0[ ]+<.L1>
+[ ]+48d1c4:[ ]+R_LARCH_B26[ ]+.L1
+[ ]+48d1c8:[ ]+6800098d[ ]+bltu[ ]+\$t0,[ ]+\$t1,[ ]+8[ ]+#[ ]+48d1d0[ ]+<.L1\+0x48d1d0>
+[ ]+48d1cc:[ ]+532e37ed[ ]+b[ ]+-4772300[ ]+#[ ]+0[ ]+<.L1>
+[ ]+48d1cc:[ ]+R_LARCH_B26[ ]+.L1
+[ ]+48d1d0:[ ]+44000980[ ]+bnez[ ]+\$t0,[ ]+8[ ]+#[ ]+48d1d8[ ]+<.L1\+0x48d1d8>
+[ ]+48d1d4:[ ]+532e2fed[ ]+b[ ]+-4772308[ ]+#[ ]+0[ ]+<.L1>
+[ ]+48d1d4:[ ]+R_LARCH_B26[ ]+.L1
+[ ]+48d1d8:[ ]+40000980[ ]+beqz[ ]+\$t0,[ ]+8[ ]+#[ ]+48d1e0[ ]+<.L1\+0x48d1e0>
+[ ]+48d1dc:[ ]+532e27ed[ ]+b[ ]+-4772316[ ]+#[ ]+0[ ]+<.L1>
+[ ]+48d1dc:[ ]+R_LARCH_B26[ ]+.L1
+[ ]+48d1e0:[ ]+48000900[ ]+bcnez[ ]+\$fcc0,[ ]+8[ ]+#[ ]+48d1e8[ ]+<.L1\+0x48d1e8>
+[ ]+48d1e4:[ ]+532e1fed[ ]+b[ ]+-4772324[ ]+#[ ]+0[ ]+<.L1>
+[ ]+48d1e4:[ ]+R_LARCH_B26[ ]+.L1
+[ ]+48d1e8:[ ]+48000800[ ]+bceqz[ ]+\$fcc0,[ ]+8[ ]+#[ ]+48d1f0[ ]+<.L1\+0x48d1f0>
+[ ]+48d1ec:[ ]+532e17ed[ ]+b[ ]+-4772332[ ]+#[ ]+0[ ]+<.L1>
+[ ]+48d1ec:[ ]+R_LARCH_B26[ ]+.L1
@@ -1,8 +1,10 @@
# Instruction and Relocation generating tests
+.text
.L1:
.fill 0x123456, 4, 0x0
+ call .L1
# R_LARCH_B16
beq $r12, $r13, .L1
bne $r12, $r13, .L1
@@ -1,40 +1,28 @@
-#as:
+#as: -mrelax
#objdump: -dr
-.*:[ ]+file format .*
-
-
-Disassembly of section .text:
-
-0* <.L1>:
-[ ]+...
-[ ]+20000:[ ]+5a00018d[ ]+beq[ ]+\$t0, \$t1, -131072[ ]+# 0 <.L1>
-[ ]+20000: R_LARCH_B16[ ]+.L1
-[ ]+20004:[ ]+5c00098d[ ]+bne[ ]+\$t0, \$t1, 8[ ]+# 2000c <.L1\+0x2000c>
-[ ]+20008:[ ]+51fffbff[ ]+b[ ]+-131080[ ]+# 0 <.L1>
-[ ]+20008: R_LARCH_B26[ ]+.L1
-[ ]+2000c:[ ]+5c00098d[ ]+bne[ ]+\$t0, \$t1, 8[ ]+# 20014 <.L1\+0x20014>
-[ ]+20010:[ ]+52000000[ ]+b[ ]+131072[ ]+# 40010 <.L2>
-[ ]+20010: R_LARCH_B26[ ]+.L2
-[ ]+20014:[ ]+59fffd8d[ ]+beq[ ]+\$t0, \$t1, 131068[ ]+# 40010 <.L2>
-[ ]+20014: R_LARCH_B16[ ]+.L2
-[ ]+...
-0*40010 <.L2>:
-[ ]+...
-[ ]+440010:[ ]+40000190[ ]+beqz[ ]+\$t0, -4194304[ ]+# 40010 <.L2>
-[ ]+440010: R_LARCH_B21[ ]+.L2
-[ ]+440014:[ ]+44000980[ ]+bnez[ ]+\$t0, 8[ ]+# 44001c <.L2\+0x40000c>
-[ ]+440018:[ ]+53fffbef[ ]+b[ ]+-4194312[ ]+# 40010 <.L2>
-[ ]+440018: R_LARCH_B26[ ]+.L2
-[ ]+44001c:[ ]+44000980[ ]+bnez[ ]+\$t0, 8[ ]+# 440024 <.L2\+0x400014>
-[ ]+440020:[ ]+50000010[ ]+b[ ]+4194304[ ]+# 840020 <.L3>
-[ ]+440020: R_LARCH_B26[ ]+.L3
-[ ]+440024:[ ]+43fffd8f[ ]+beqz[ ]+\$t0, 4194300[ ]+# 840020 <.L3>
-[ ]+440024: R_LARCH_B21[ ]+.L3
-[ ]+...
-0*840020 <.L3>:
-[ ]+840020:[ ]+5800018d[ ]+beq[ ]+\$t0, \$t1, 0[ ]+# 840020 <.L3>
-[ ]+840020: R_LARCH_B16[ ]+.L4
-0*840024 <.L5>:
-[ ]+840024:[ ]+40000180[ ]+beqz[ ]+\$t0, 0[ ]+# 840024 <.L5>
-[ ]+840024: R_LARCH_B21[ ]+.L5
+#...
+.*beq.*
+.*R_LARCH_B16.*
+.*bne.*
+.*b .*
+.*R_LARCH_B26.*
+.*bne.*
+.*b .*
+.*R_LARCH_B26.*
+.*beq.*
+.*R_LARCH_B16.*
+#...
+.*beqz.*
+.*R_LARCH_B21.*
+.*bnez.*
+.*b .*
+.*R_LARCH_B26.*
+.*bnez.*
+.*b .*
+.*R_LARCH_B26.*
+.*beqz.*
+.*R_LARCH_B21.*
+#...
+.*beq.*t0.*t1, 0.*
+.*beqz.*t0, 0.*
@@ -1,22 +1,27 @@
# Immediate boundary value tests
+.text
.L1:
- .fill 0x8000, 4, 0
+ .fill 0x7ffe, 4, 0
+ call .L1
beq $r12, $r13, .L1 # min imm -0x20000
- beq $r12, $r13, .L1 # out of range
- beq $r12, $r13, .L2 # out of range
+ beq $r12, $r13, .L1 # out of range, chang to bne+b
+ beq $r12, $r13, .L2 # out of range, change to bne+b
beq $r12, $r13, .L2 # max imm 0x1fffc
- .fill 0x7ffe, 4, 0
+ call .L1
+ .fill 0x7ffc, 4, 0
.L2:
- .fill 0x100000, 4, 0
+ .fill 0xffffe, 4, 0
+ call .L1
beqz $r12, .L2 # min imm -0x400000
- beqz $r12, .L2 # out of range
- beqz $r12, .L3 # out of range
+ beqz $r12, .L2 # out of range, change to bnez+b
+ beqz $r12, .L3 # out of range, change to bnez+b
beqz $r12, .L3 # max imm 0x3ffffc
- .fill 0xffffe, 4, 0
+ call .L1
+ .fill 0xffffc, 4, 0
.L3:
-# 0 imm
+# 0 imm: branch target is current pc
.L4:
beq $r12, $r13, .L4
.L5:
new file mode 100644
@@ -0,0 +1,9 @@
+#source: relax-uleb128.s
+#as: -mrelax
+#readelf: -rW
+
+#...
+.*R_LARCH_ADD_ULEB128.*10.*L2.*
+.*R_LARCH_SUB_ULEB128.*00.*L1.*
+.*R_LARCH_ADD_ULEB128.*1c.*L3.*
+.*R_LARCH_SUB_ULEB128.*10.*L2.*
new file mode 100644
@@ -0,0 +1,18 @@
+.text
+.L1:
+ nop
+ call .L1
+ nop
+.L2:
+ nop
+ .p2align 3
+ nop
+.L3:
+ nop
+.L4:
+ nop
+
+.data
+ .uleb128 .L2-.L1 # Emit add/sub uleb128 relocs.
+ .uleb128 .L3-.L2 # Emit add/sub uleb128 relocs.
+ .uleb128 .L4-.L3 # Not emit add/sub uleb128 relocs.
deleted file mode 100644
@@ -1,36 +0,0 @@
-#as:
-#objdump: -Dr
-#skip: loongarch32-*-*
-
-.*:[ ]+file format .*
-
-
-Disassembly of section .data:
-
-00000000.* <L1-0x5>:
-[ ]*0:[ ]*80030201[ ]*\.word[ ]*0x80030201
-[ ]*3:[ ]*R_LARCH_ADD_ULEB128[ ]*L2
-[ ]*3:[ ]*R_LARCH_SUB_ULEB128[ ]*L1
-[ ]*\.\.\.
-
-[ ]*0000000000000005[ ]*<L1>:
-[ ]*\.\.\.
-[ ]*81:[ ]*ff040000[ ]*\.word[ ]*0xff040000
-[ ]*85:[ ]*cacop[ ]*0x1f,[ ]*\$t3,[ ]*1
-
-[ ]*0000000000000086[ ]*<L2>:
-[ ]*86:[ ]*07060005[ ]*\.word[ ]*0x07060005
-[ ]*8a:[ ]*x86inc\.b[ ]*\$a0
-[ ]*8a:[ ]*R_LARCH_ADD_ULEB128[ ]*L4
-[ ]*8a:[ ]*R_LARCH_SUB_ULEB128[ ]*L3
-
-[ ]*000000000000008d[ ]*<L3>:
-[ ]*\.\.\.
-[ ]*4089:[ ]*ff080000[ ]*\.word[ ]*0xff080000
-[ ]*408d:[ ]*\.word[ ]*0x09ffffff
-
-[ ]*0000000000004090[ ]*<L4>:
-[ ]*4090:[ ]*09090909[ ]*\.word[ ]*0x09090909
-[ ]*4094:[ ]*09090909[ ]*\.word[ ]*0x09090909
-[ ]*4098:[ ]*09090909[ ]*\.word[ ]*0x09090909
-[ ]*409c:[ ]*09090909[ ]*\.word[ ]*0x09090909
deleted file mode 100644
@@ -1,20 +0,0 @@
- .data
- .byte 1, 2, 3
- .uleb128 L2 - L1
-L1:
- .space 128 - 2
- .byte 4
- .p2align 1, 0xff
-L2:
- .byte 5
-
- .p2align 2
- .byte 6, 7
- .uleb128 L4 - L3
-L3:
- .space 128*128 - 2
- .byte 8
- .p2align 2, 0xff
-L4:
- .byte 9
- .p2align 4, 9
deleted file mode 100644
@@ -1,50 +0,0 @@
-#as:
-#objdump: -dr -M no-aliases
-
-.*:[ ]+file format .*
-
-
-Disassembly of section .text:
-
-00000000.* <.L1>:
-[ ]+0:[ ]+03400000[ ]+andi[ ]+\$zero,[ ]+\$zero,[ ]+0x0
-[ ]+4:[ ]+63fffc04[ ]+blt[ ]+\$zero,[ ]+\$a0,[ ]+-4[ ]+#[ ]+0[ ]+<.L1>
-[ ]+4:[ ]+R_LARCH_B16[ ]+.L1
-[ ]+8:[ ]+67fff880[ ]+bge[ ]+\$a0,[ ]+\$zero,[ ]+-8[ ]+#[ ]+0[ ]+<.L1>
-[ ]+8:[ ]+R_LARCH_B16[ ]+.L1
-[ ]+c:[ ]+67fff404[ ]+bge[ ]+\$zero,[ ]+\$a0,[ ]+-12[ ]+#[ ]+0[ ]+<.L1>
-[ ]+c:[ ]+R_LARCH_B16[ ]+.L1
-[ ]+10:[ ]+43fff09f[ ]+beqz[ ]+\$a0,[ ]+-16[ ]+#[ ]+0[ ]+<.L1>
-[ ]+10:[ ]+R_LARCH_B21[ ]+.L1
-[ ]+14:[ ]+47ffec9f[ ]+bnez[ ]+\$a0,[ ]+-20[ ]+#[ ]+0[ ]+<.L1>
-[ ]+14:[ ]+R_LARCH_B21[ ]+.L1
-[ ]+18:[ ]+4bffe81f[ ]+bceqz[ ]+\$fcc0,[ ]+-24[ ]+#[ ]+0[ ]+<.L1>
-[ ]+18:[ ]+R_LARCH_B21[ ]+.L1
-[ ]+1c:[ ]+4bffe51f[ ]+bcnez[ ]+\$fcc0,[ ]+-28[ ]+#[ ]+0[ ]+<.L1>
-[ ]+1c:[ ]+R_LARCH_B21[ ]+.L1
-[ ]+20:[ ]+4c000080[ ]+jirl[ ]+\$zero,[ ]+\$a0,[ ]+0
-[ ]+24:[ ]+53ffdfff[ ]+b[ ]+-36[ ]+#[ ]+0[ ]+<.L1>
-[ ]+24:[ ]+R_LARCH_B26[ ]+.L1
-[ ]+28:[ ]+57ffdbff[ ]+bl[ ]+-40[ ]+#[ ]+0[ ]+<.L1>
-[ ]+28:[ ]+R_LARCH_B26[ ]+.L1
-[ ]+2c:[ ]+5bffd485[ ]+beq[ ]+\$a0,[ ]+\$a1,[ ]+-44[ ]+#[ ]+0[ ]+<.L1>
-[ ]+2c:[ ]+R_LARCH_B16[ ]+.L1
-[ ]+30:[ ]+5fffd085[ ]+bne[ ]+\$a0,[ ]+\$a1,[ ]+-48[ ]+#[ ]+0[ ]+<.L1>
-[ ]+30:[ ]+R_LARCH_B16[ ]+.L1
-[ ]+34:[ ]+63ffcc85[ ]+blt[ ]+\$a0,[ ]+\$a1,[ ]+-52[ ]+#[ ]+0[ ]+<.L1>
-[ ]+34:[ ]+R_LARCH_B16[ ]+.L1
-[ ]+38:[ ]+63ffc8a4[ ]+blt[ ]+\$a1,[ ]+\$a0,[ ]+-56[ ]+#[ ]+0[ ]+<.L1>
-[ ]+38:[ ]+R_LARCH_B16[ ]+.L1
-[ ]+3c:[ ]+67ffc485[ ]+bge[ ]+\$a0,[ ]+\$a1,[ ]+-60[ ]+#[ ]+0[ ]+<.L1>
-[ ]+3c:[ ]+R_LARCH_B16[ ]+.L1
-[ ]+40:[ ]+67ffc0a4[ ]+bge[ ]+\$a1,[ ]+\$a0,[ ]+-64[ ]+#[ ]+0[ ]+<.L1>
-[ ]+40:[ ]+R_LARCH_B16[ ]+.L1
-[ ]+44:[ ]+6bffbc85[ ]+bltu[ ]+\$a0,[ ]+\$a1,[ ]+-68[ ]+#[ ]+0[ ]+<.L1>
-[ ]+44:[ ]+R_LARCH_B16[ ]+.L1
-[ ]+48:[ ]+6bffb8a4[ ]+bltu[ ]+\$a1,[ ]+\$a0,[ ]+-72[ ]+#[ ]+0[ ]+<.L1>
-[ ]+48:[ ]+R_LARCH_B16[ ]+.L1
-[ ]+4c:[ ]+6fffb485[ ]+bgeu[ ]+\$a0,[ ]+\$a1,[ ]+-76[ ]+#[ ]+0[ ]+<.L1>
-[ ]+4c:[ ]+R_LARCH_B16[ ]+.L1
-[ ]+50:[ ]+6fffb0a4[ ]+bgeu[ ]+\$a1,[ ]+\$a0,[ ]+-80[ ]+#[ ]+0[ ]+<.L1>
-[ ]+50:[ ]+R_LARCH_B16[ ]+.L1
-[ ]+54:[ ]+4c000020[ ]+jirl[ ]+\$zero,[ ]+\$ra,[ ]+0
deleted file mode 100644
@@ -1,23 +0,0 @@
-.L1:
-nop
-bgtz $r4,.L1
-bgez $r4,.L1
-blez $r4,.L1
-beqz $r4,.L1
-bnez $r4,.L1
-bceqz $fcc0,.L1
-bcnez $fcc0,.L1
-jr $r4
-b .L1
-bl .L1
-beq $r4,$r5,.L1
-bne $r4,$r5,.L1
-blt $r4,$r5,.L1
-bgt $r4,$r5,.L1
-bge $r4,$r5,.L1
-ble $r4,$r5,.L1
-bltu $r4,$r5,.L1
-bgtu $r4,$r5,.L1
-bgeu $r4,$r5,.L1
-bleu $r4,$r5,.L1
-ret
@@ -20,7 +20,6 @@
#
if [istarget "loongarch64-*-*"] {
- run_dump_test "jmp_op"
run_dump_test "macro_op"
run_dump_test "syscall"
run_dump_test "disas-jirl"
@@ -58,7 +57,6 @@ if [istarget "loongarch64-*-*"] {
}
if [istarget "loongarch32-*-*"] {
- run_dump_test "jmp_op"
run_dump_test "macro_op_32"
run_dump_test "syscall"
run_dump_test "disas-jirl-32"