aboutsummaryrefslogtreecommitdiff
path: root/gas
diff options
context:
space:
mode:
authorliuzhensong <liuzhensong@loongson.cn>2022-07-11 11:02:44 +0800
committerliuzhensong <liuzhensong@loongson.cn>2022-07-25 09:59:08 +0800
commit2cb10f02b0e0d0d062c97c19defef1e5e334b13b (patch)
treef22122402fb3ea58074ab90491322a5c7c191c47 /gas
parent9801120721c3a702ce3bd50433ef920f92a83502 (diff)
downloadbinutils-2cb10f02b0e0d0d062c97c19defef1e5e334b13b.zip
binutils-2cb10f02b0e0d0d062c97c19defef1e5e334b13b.tar.gz
binutils-2cb10f02b0e0d0d062c97c19defef1e5e334b13b.tar.bz2
LoongArch: Add testcases for new relocate types.
gas/testsuite/gas/all/ gas.exp gas/testsuite/gas/loongarch/ jmp_op.d jmp_op.s macro_op.d macro_op.s macro_op_32.d macro_op_32.s macro_op_large_abs.d macro_op_large_abs.s macro_op_large_pc.d macro_op_large_pc.s reloc.d reloc.s ld/testsuite/ld-elf/ pr26936.d shared.exp ld/testsuite/ld-loongarch-elf/ attr-ifunc-4.c attr-ifunc-4.out disas-jirl.d ifunc.exp jmp_op.d jmp_op.s libnopic-global.s macro_op.d macro_op.s macro_op_32.d macro_op_32.s nopic-global-so.rd nopic-global-so.sd nopic-global.out nopic-global.s nopic-global.sd nopic-global.xd nopic-local.out nopic-local.rd nopic-local.s nopic-local.sd nopic-local.xd nopic-weak-global-so.rd nopic-weak-global-so.sd nopic-weak-global.out nopic-weak-global.s nopic-weak-global.sd nopic-weak-global.xd nopic-weak-local.out nopic-weak-local.rd nopic-weak-local.s nopic-weak-local.sd nopic-weak-local.xd pic.exp pic.ld
Diffstat (limited to 'gas')
-rw-r--r--gas/testsuite/gas/all/gas.exp4
-rw-r--r--gas/testsuite/gas/loongarch/jmp_op.d82
-rw-r--r--gas/testsuite/gas/loongarch/jmp_op.s38
-rw-r--r--gas/testsuite/gas/loongarch/macro_op.d778
-rw-r--r--gas/testsuite/gas/loongarch/macro_op.s44
-rw-r--r--gas/testsuite/gas/loongarch/macro_op_32.d55
-rw-r--r--gas/testsuite/gas/loongarch/macro_op_32.s16
-rw-r--r--gas/testsuite/gas/loongarch/macro_op_large_abs.d77
-rw-r--r--gas/testsuite/gas/loongarch/macro_op_large_abs.s9
-rw-r--r--gas/testsuite/gas/loongarch/macro_op_large_pc.d77
-rw-r--r--gas/testsuite/gas/loongarch/macro_op_large_pc.s9
-rw-r--r--gas/testsuite/gas/loongarch/reloc.d167
-rw-r--r--gas/testsuite/gas/loongarch/reloc.s144
13 files changed, 664 insertions, 836 deletions
diff --git a/gas/testsuite/gas/all/gas.exp b/gas/testsuite/gas/all/gas.exp
index 279d9b3..28570c5 100644
--- a/gas/testsuite/gas/all/gas.exp
+++ b/gas/testsuite/gas/all/gas.exp
@@ -166,11 +166,11 @@ switch -glob $target_triplet {
# symbols on relocs.
setup_xfail "m68hc1*-*-*" "m6811-*-*" "m6812-*-*" "rl78-*-*"
setup_xfail "riscv*-*-*" "rx-*-*" "vax*-*-*" "xgate*-*-*" "z8k-*-*"
- setup_xfail "loongarch*-*-*" "avr-*-*"
+ setup_xfail "avr-*-*"
run_dump_test redef2
setup_xfail "m68hc1*-*-*" "m6811-*-*" "m6812-*-*" "rl78-*-*"
setup_xfail "riscv*-*-*" "rx-*-*" "vax*-*-*" "xgate*-*-*" "z8k-*-*"
- setup_xfail "loongarch*-*-*" "avr-*-*"
+ setup_xfail "avr-*-*"
# rs6000-aix disallows redefinition via .comm.
if [is_xcoff_format] {
setup_xfail *-*-*
diff --git a/gas/testsuite/gas/loongarch/jmp_op.d b/gas/testsuite/gas/loongarch/jmp_op.d
index caa6195..fa939c7 100644
--- a/gas/testsuite/gas/loongarch/jmp_op.d
+++ b/gas/testsuite/gas/loongarch/jmp_op.d
@@ -1,68 +1,30 @@
#as:
#objdump: -dr
-.*:[ ]+file format .*
+.*:[ ]+file format .*
Disassembly of section .text:
00000000.* <.text>:
-[ ]+0:[ ]+03400000 [ ]+andi[ ]+[ ]+\$zero, \$zero, 0x0
-[ ]+4:[ ]+60000004 [ ]+bgtz[ ]+[ ]+\$a0, 0[ ]+# 0x4
-[ ]+[ ]+[ ]+4: R_LARCH_SOP_PUSH_PCREL[ ]+L1
-[ ]+[ ]+[ ]+4: R_LARCH_SOP_POP_32_S_10_16_S2[ ]+\*ABS\*
-[ ]+8:[ ]+64000080 [ ]+bgez[ ]+[ ]+\$a0, 0[ ]+# 0x8
-[ ]+[ ]+[ ]+8: R_LARCH_SOP_PUSH_PCREL[ ]+L1
-[ ]+[ ]+[ ]+8: R_LARCH_SOP_POP_32_S_10_16_S2[ ]+\*ABS\*
-[ ]+c:[ ]+64000004 [ ]+blez[ ]+[ ]+\$a0, 0[ ]+# 0xc
-[ ]+[ ]+[ ]+c: R_LARCH_SOP_PUSH_PCREL[ ]+L1
-[ ]+[ ]+[ ]+c: R_LARCH_SOP_POP_32_S_10_16_S2[ ]+\*ABS\*
-[ ]+10:[ ]+40000080 [ ]+beqz[ ]+[ ]+\$a0, 0[ ]+# 0x10
-[ ]+[ ]+[ ]+10: R_LARCH_SOP_PUSH_PCREL[ ]+L1
-[ ]+[ ]+[ ]+10: R_LARCH_SOP_POP_32_S_0_5_10_16_S2[ ]+\*ABS\*
-[ ]+14:[ ]+44000080 [ ]+bnez[ ]+[ ]+\$a0, 0[ ]+# 0x14
-[ ]+[ ]+[ ]+14: R_LARCH_SOP_PUSH_PCREL[ ]+L1
-[ ]+[ ]+[ ]+14: R_LARCH_SOP_POP_32_S_0_5_10_16_S2[ ]+\*ABS\*
-[ ]+18:[ ]+48000000 [ ]+bceqz[ ]+[ ]+\$fcc0, 0[ ]+# 0x18
-[ ]+[ ]+[ ]+18: R_LARCH_SOP_PUSH_PCREL[ ]+L1
-[ ]+[ ]+[ ]+18: R_LARCH_SOP_POP_32_S_0_5_10_16_S2[ ]+\*ABS\*
-[ ]+1c:[ ]+48000100 [ ]+bcnez[ ]+[ ]+\$fcc0, 0[ ]+# 0x1c
-[ ]+[ ]+[ ]+1c: R_LARCH_SOP_PUSH_PCREL[ ]+L1
-[ ]+[ ]+[ ]+1c: R_LARCH_SOP_POP_32_S_0_5_10_16_S2[ ]+\*ABS\*
-[ ]+20:[ ]+4c000080 [ ]+jirl[ ]+[ ]+\$zero, \$a0, 0
-[ ]+24:[ ]+50000000 [ ]+b[ ]+[ ]+0[ ]+# 0x24
-[ ]+[ ]+[ ]+24: R_LARCH_SOP_PUSH_PCREL[ ]+L1
-[ ]+[ ]+[ ]+24: R_LARCH_SOP_POP_32_S_0_10_10_16_S2[ ]+\*ABS\*
-[ ]+28:[ ]+54000000 [ ]+bl[ ]+[ ]+0[ ]+# 0x28
-[ ]+[ ]+[ ]+28: R_LARCH_SOP_PUSH_PCREL[ ]+L1
-[ ]+[ ]+[ ]+28: R_LARCH_SOP_POP_32_S_0_10_10_16_S2[ ]+\*ABS\*
-[ ]+2c:[ ]+58000085 [ ]+beq[ ]+[ ]+\$a0, \$a1, 0[ ]+# 0x2c
-[ ]+[ ]+[ ]+2c: R_LARCH_SOP_PUSH_PCREL[ ]+L1
-[ ]+[ ]+[ ]+2c: R_LARCH_SOP_POP_32_S_10_16_S2[ ]+\*ABS\*
-[ ]+30:[ ]+5c000085 [ ]+bne[ ]+[ ]+\$a0, \$a1, 0[ ]+# 0x30
-[ ]+[ ]+[ ]+30: R_LARCH_SOP_PUSH_PCREL[ ]+L1
-[ ]+[ ]+[ ]+30: R_LARCH_SOP_POP_32_S_10_16_S2[ ]+\*ABS\*
-[ ]+34:[ ]+60000085 [ ]+blt[ ]+[ ]+\$a0, \$a1, 0[ ]+# 0x34
-[ ]+[ ]+[ ]+34: R_LARCH_SOP_PUSH_PCREL[ ]+L1
-[ ]+[ ]+[ ]+34: R_LARCH_SOP_POP_32_S_10_16_S2[ ]+\*ABS\*
-[ ]+38:[ ]+600000a4 [ ]+blt[ ]+[ ]+\$a1, \$a0, 0[ ]+# 0x38
-[ ]+[ ]+[ ]+38: R_LARCH_SOP_PUSH_PCREL[ ]+L1
-[ ]+[ ]+[ ]+38: R_LARCH_SOP_POP_32_S_10_16_S2[ ]+\*ABS\*
-[ ]+3c:[ ]+64000085 [ ]+bge[ ]+[ ]+\$a0, \$a1, 0[ ]+# 0x3c
-[ ]+[ ]+[ ]+3c: R_LARCH_SOP_PUSH_PCREL[ ]+L1
-[ ]+[ ]+[ ]+3c: R_LARCH_SOP_POP_32_S_10_16_S2[ ]+\*ABS\*
-[ ]+40:[ ]+640000a4 [ ]+bge[ ]+[ ]+\$a1, \$a0, 0[ ]+# 0x40
-[ ]+[ ]+[ ]+40: R_LARCH_SOP_PUSH_PCREL[ ]+L1
-[ ]+[ ]+[ ]+40: R_LARCH_SOP_POP_32_S_10_16_S2[ ]+\*ABS\*
-[ ]+44:[ ]+68000085 [ ]+bltu[ ]+[ ]+\$a0, \$a1, 0[ ]+# 0x44
-[ ]+[ ]+[ ]+44: R_LARCH_SOP_PUSH_PCREL[ ]+L1
-[ ]+[ ]+[ ]+44: R_LARCH_SOP_POP_32_S_10_16_S2[ ]+\*ABS\*
-[ ]+48:[ ]+680000a4 [ ]+bltu[ ]+[ ]+\$a1, \$a0, 0[ ]+# 0x48
-[ ]+[ ]+[ ]+48: R_LARCH_SOP_PUSH_PCREL[ ]+L1
-[ ]+[ ]+[ ]+48: R_LARCH_SOP_POP_32_S_10_16_S2[ ]+\*ABS\*
-[ ]+4c:[ ]+6c000085 [ ]+bgeu[ ]+[ ]+\$a0, \$a1, 0[ ]+# 0x4c
-[ ]+[ ]+[ ]+4c: R_LARCH_SOP_PUSH_PCREL[ ]+L1
-[ ]+[ ]+[ ]+4c: R_LARCH_SOP_POP_32_S_10_16_S2[ ]+\*ABS\*
-[ ]+50:[ ]+6c0000a4 [ ]+bgeu[ ]+[ ]+\$a1, \$a0, 0[ ]+# 0x50
-[ ]+[ ]+[ ]+50: R_LARCH_SOP_PUSH_PCREL[ ]+L1
-[ ]+[ ]+[ ]+50: R_LARCH_SOP_POP_32_S_10_16_S2[ ]+\*ABS\*
+[ ]+0:[ ]+03400000[ ]+[ ]+andi[ ]+\$zero, \$zero, 0x0
+[ ]+4:[ ]+63fffc04[ ]+[ ]+bgtz[ ]+\$a0, -4\(0x3fffc\)[ ]+# 0x0
+[ ]+8:[ ]+67fff880[ ]+[ ]+bgez[ ]+\$a0, -8\(0x3fff8\)[ ]+# 0x0
+[ ]+c:[ ]+67fff404[ ]+[ ]+blez[ ]+\$a0, -12\(0x3fff4\)[ ]+# 0x0
+[ ]+10:[ ]+43fff09f[ ]+[ ]+beqz[ ]+\$a0, -16\(0x7ffff0\)[ ]+# 0x0
+[ ]+14:[ ]+47ffec9f[ ]+[ ]+bnez[ ]+\$a0, -20\(0x7fffec\)[ ]+# 0x0
+[ ]+18:[ ]+4bffe81f[ ]+[ ]+bceqz[ ]+\$fcc0, -24\(0x7fffe8\)[ ]+# 0x0
+[ ]+1c:[ ]+4bffe51f[ ]+[ ]+bcnez[ ]+\$fcc0, -28\(0x7fffe4\)[ ]+# 0x0
+[ ]+20:[ ]+4c000080[ ]+[ ]+jirl[ ]+\$zero, \$a0, 0
+[ ]+24:[ ]+53ffdfff[ ]+[ ]+b[ ]+-36\(0xfffffdc\)[ ]+# 0x0
+[ ]+28:[ ]+57ffdbff[ ]+[ ]+bl[ ]+-40\(0xfffffd8\)[ ]+# 0x0
+[ ]+2c:[ ]+5bffd485[ ]+[ ]+beq[ ]+\$a0, \$a1, -44\(0x3ffd4\)[ ]+# 0x0
+[ ]+30:[ ]+5fffd085[ ]+[ ]+bne[ ]+\$a0, \$a1, -48\(0x3ffd0\)[ ]+# 0x0
+[ ]+34:[ ]+63ffcc85[ ]+[ ]+blt[ ]+\$a0, \$a1, -52\(0x3ffcc\)[ ]+# 0x0
+[ ]+38:[ ]+63ffc8a4[ ]+[ ]+blt[ ]+\$a1, \$a0, -56\(0x3ffc8\)[ ]+# 0x0
+[ ]+3c:[ ]+67ffc485[ ]+[ ]+bge[ ]+\$a0, \$a1, -60\(0x3ffc4\)[ ]+# 0x0
+[ ]+40:[ ]+67ffc0a4[ ]+[ ]+bge[ ]+\$a1, \$a0, -64\(0x3ffc0\)[ ]+# 0x0
+[ ]+44:[ ]+6bffbc85[ ]+[ ]+bltu[ ]+\$a0, \$a1, -68\(0x3ffbc\)[ ]+# 0x0
+[ ]+48:[ ]+6bffb8a4[ ]+[ ]+bltu[ ]+\$a1, \$a0, -72\(0x3ffb8\)[ ]+# 0x0
+[ ]+4c:[ ]+6fffb485[ ]+[ ]+bgeu[ ]+\$a0, \$a1, -76\(0x3ffb4\)[ ]+# 0x0
+[ ]+50:[ ]+6fffb0a4[ ]+[ ]+bgeu[ ]+\$a1, \$a0, -80\(0x3ffb0\)[ ]+# 0x0
diff --git a/gas/testsuite/gas/loongarch/jmp_op.s b/gas/testsuite/gas/loongarch/jmp_op.s
index 2ec20ed..1deb165 100644
--- a/gas/testsuite/gas/loongarch/jmp_op.s
+++ b/gas/testsuite/gas/loongarch/jmp_op.s
@@ -1,22 +1,22 @@
.L1:
nop
-bgtz $r4,L1
-bgez $r4,L1
-blez $r4,L1
-beqz $r4,L1
-bnez $r4,L1
-bceqz $fcc0,L1
-bcnez $fcc0,L1
+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
+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
diff --git a/gas/testsuite/gas/loongarch/macro_op.d b/gas/testsuite/gas/loongarch/macro_op.d
index fabd006..d264c4f 100644
--- a/gas/testsuite/gas/loongarch/macro_op.d
+++ b/gas/testsuite/gas/loongarch/macro_op.d
@@ -1,733 +1,59 @@
#as:
#objdump: -dr
-#skip: loongarch32*-*-*
+#skip: loongarch32-*-*
-.*:[ ]+file format .*
+.*:[ ]+file format .*
Disassembly of section .text:
-0000000000000000 <.text>:
-[ ]+0:[ ]+00150004 [ ]+move[ ]+[ ]+\$a0, \$zero
-[ ]+4:[ ]+02bffc04 [ ]+addi.w[ ]+[ ]+\$a0, \$zero, -1\(0xfff\)
-[ ]+8:[ ]+00150004 [ ]+move[ ]+[ ]+\$a0, \$zero
-[ ]+c:[ ]+02bffc04 [ ]+addi.w[ ]+[ ]+\$a0, \$zero, -1\(0xfff\)
-[ ]+10:[ ]+1c000004 [ ]+pcaddu12i[ ]+[ ]+\$a0, 0
-[ ]+[ ]+[ ]+10: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\+0x800
-[ ]+[ ]+[ ]+10: R_LARCH_SOP_PUSH_GPREL[ ]+L1
-[ ]+[ ]+[ ]+10: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+10: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xc
-[ ]+[ ]+[ ]+10: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+10: R_LARCH_SOP_POP_32_S_5_20[ ]+\*ABS\*
-[ ]+14:[ ]+28c00084 [ ]+ld.d[ ]+[ ]+\$a0, \$a0, 0
-[ ]+[ ]+[ ]+14: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\+0x4
-[ ]+[ ]+[ ]+14: R_LARCH_SOP_PUSH_GPREL[ ]+L1
-[ ]+[ ]+[ ]+14: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+14: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\+0x804
-[ ]+[ ]+[ ]+14: R_LARCH_SOP_PUSH_GPREL[ ]+L1
-[ ]+[ ]+[ ]+14: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+14: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xc
-[ ]+[ ]+[ ]+14: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+14: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xc
-[ ]+[ ]+[ ]+14: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+14: R_LARCH_SOP_SUB[ ]+\*ABS\*
-[ ]+[ ]+[ ]+14: R_LARCH_SOP_POP_32_S_10_12[ ]+\*ABS\*
-[ ]+18:[ ]+1c000004 [ ]+pcaddu12i[ ]+[ ]+\$a0, 0
-[ ]+[ ]+[ ]+18: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\+0x800
-[ ]+[ ]+[ ]+18: R_LARCH_SOP_PUSH_GPREL[ ]+L1
-[ ]+[ ]+[ ]+18: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+18: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xc
-[ ]+[ ]+[ ]+18: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+18: R_LARCH_SOP_POP_32_S_5_20[ ]+\*ABS\*
-[ ]+1c:[ ]+28c00084 [ ]+ld.d[ ]+[ ]+\$a0, \$a0, 0
-[ ]+[ ]+[ ]+1c: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\+0x4
-[ ]+[ ]+[ ]+1c: R_LARCH_SOP_PUSH_GPREL[ ]+L1
-[ ]+[ ]+[ ]+1c: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+1c: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\+0x804
-[ ]+[ ]+[ ]+1c: R_LARCH_SOP_PUSH_GPREL[ ]+L1
-[ ]+[ ]+[ ]+1c: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+1c: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xc
-[ ]+[ ]+[ ]+1c: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+1c: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xc
-[ ]+[ ]+[ ]+1c: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+1c: R_LARCH_SOP_SUB[ ]+\*ABS\*
-[ ]+[ ]+[ ]+1c: R_LARCH_SOP_POP_32_S_10_12[ ]+\*ABS\*
-[ ]+20:[ ]+1c000004 [ ]+pcaddu12i[ ]+[ ]+\$a0, 0
-[ ]+[ ]+[ ]+20: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_
-[ ]+[ ]+[ ]+20: R_LARCH_SOP_PUSH_GPREL[ ]+L1
-[ ]+[ ]+[ ]+20: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+20: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\+0x80000000
-[ ]+[ ]+[ ]+20: R_LARCH_SOP_PUSH_GPREL[ ]+L1
-[ ]+[ ]+[ ]+20: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+20: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+20: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+20: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+20: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+20: R_LARCH_SOP_SUB[ ]+\*ABS\*
-[ ]+[ ]+[ ]+20: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+20: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+20: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x2c
-[ ]+[ ]+[ ]+20: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+20: R_LARCH_SOP_POP_32_S_5_20[ ]+\*ABS\*
-[ ]+24:[ ]+03800005 [ ]+ori[ ]+[ ]+\$a1, \$zero, 0x0
-[ ]+[ ]+[ ]+24: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\+0x4
-[ ]+[ ]+[ ]+24: R_LARCH_SOP_PUSH_GPREL[ ]+L1
-[ ]+[ ]+[ ]+24: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+24: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\+0x80000004
-[ ]+[ ]+[ ]+24: R_LARCH_SOP_PUSH_GPREL[ ]+L1
-[ ]+[ ]+[ ]+24: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+24: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+24: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+24: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+24: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+24: R_LARCH_SOP_SUB[ ]+\*ABS\*
-[ ]+[ ]+[ ]+24: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xfff
-[ ]+[ ]+[ ]+24: R_LARCH_SOP_AND[ ]+\*ABS\*
-[ ]+[ ]+[ ]+24: R_LARCH_SOP_POP_32_U_10_12[ ]+\*ABS\*
-[ ]+28:[ ]+16000005 [ ]+lu32i.d[ ]+[ ]+\$a1, 0
-[ ]+[ ]+[ ]+28: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\+0x80000008
-[ ]+[ ]+[ ]+28: R_LARCH_SOP_PUSH_GPREL[ ]+L1
-[ ]+[ ]+[ ]+28: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+28: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xc
-[ ]+[ ]+[ ]+28: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+28: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x2c
-[ ]+[ ]+[ ]+28: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+28: R_LARCH_SOP_POP_32_S_5_20[ ]+\*ABS\*
-[ ]+2c:[ ]+030000a5 [ ]+lu52i.d[ ]+[ ]+\$a1, \$a1, 0
-[ ]+[ ]+[ ]+2c: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\+0x8000000c
-[ ]+[ ]+[ ]+2c: R_LARCH_SOP_PUSH_GPREL[ ]+L1
-[ ]+[ ]+[ ]+2c: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+2c: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x34
-[ ]+[ ]+[ ]+2c: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+2c: R_LARCH_SOP_POP_32_S_10_12[ ]+\*ABS\*
-[ ]+30:[ ]+380c1484 [ ]+ldx.d[ ]+[ ]+\$a0, \$a0, \$a1
-[ ]+34:[ ]+1c000004 [ ]+pcaddu12i[ ]+[ ]+\$a0, 0
-[ ]+[ ]+[ ]+34: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\+0x800
-[ ]+[ ]+[ ]+34: R_LARCH_SOP_PUSH_GPREL[ ]+L1
-[ ]+[ ]+[ ]+34: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+34: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xc
-[ ]+[ ]+[ ]+34: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+34: R_LARCH_SOP_POP_32_S_5_20[ ]+\*ABS\*
-[ ]+38:[ ]+28c00084 [ ]+ld.d[ ]+[ ]+\$a0, \$a0, 0
-[ ]+[ ]+[ ]+38: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\+0x4
-[ ]+[ ]+[ ]+38: R_LARCH_SOP_PUSH_GPREL[ ]+L1
-[ ]+[ ]+[ ]+38: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+38: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\+0x804
-[ ]+[ ]+[ ]+38: R_LARCH_SOP_PUSH_GPREL[ ]+L1
-[ ]+[ ]+[ ]+38: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+38: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xc
-[ ]+[ ]+[ ]+38: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+38: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xc
-[ ]+[ ]+[ ]+38: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+38: R_LARCH_SOP_SUB[ ]+\*ABS\*
-[ ]+[ ]+[ ]+38: R_LARCH_SOP_POP_32_S_10_12[ ]+\*ABS\*
-[ ]+3c:[ ]+1c000004 [ ]+pcaddu12i[ ]+[ ]+\$a0, 0
-[ ]+[ ]+[ ]+3c: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_
-[ ]+[ ]+[ ]+3c: R_LARCH_SOP_PUSH_GPREL[ ]+L1
-[ ]+[ ]+[ ]+3c: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+3c: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\+0x80000000
-[ ]+[ ]+[ ]+3c: R_LARCH_SOP_PUSH_GPREL[ ]+L1
-[ ]+[ ]+[ ]+3c: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+3c: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+3c: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+3c: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+3c: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+3c: R_LARCH_SOP_SUB[ ]+\*ABS\*
-[ ]+[ ]+[ ]+3c: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+3c: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+3c: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x2c
-[ ]+[ ]+[ ]+3c: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+3c: R_LARCH_SOP_POP_32_S_5_20[ ]+\*ABS\*
-[ ]+40:[ ]+03800005 [ ]+ori[ ]+[ ]+\$a1, \$zero, 0x0
-[ ]+[ ]+[ ]+40: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\+0x4
-[ ]+[ ]+[ ]+40: R_LARCH_SOP_PUSH_GPREL[ ]+L1
-[ ]+[ ]+[ ]+40: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+40: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\+0x80000004
-[ ]+[ ]+[ ]+40: R_LARCH_SOP_PUSH_GPREL[ ]+L1
-[ ]+[ ]+[ ]+40: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+40: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+40: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+40: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+40: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+40: R_LARCH_SOP_SUB[ ]+\*ABS\*
-[ ]+[ ]+[ ]+40: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xfff
-[ ]+[ ]+[ ]+40: R_LARCH_SOP_AND[ ]+\*ABS\*
-[ ]+[ ]+[ ]+40: R_LARCH_SOP_POP_32_U_10_12[ ]+\*ABS\*
-[ ]+44:[ ]+16000005 [ ]+lu32i.d[ ]+[ ]+\$a1, 0
-[ ]+[ ]+[ ]+44: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\+0x80000008
-[ ]+[ ]+[ ]+44: R_LARCH_SOP_PUSH_GPREL[ ]+L1
-[ ]+[ ]+[ ]+44: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+44: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xc
-[ ]+[ ]+[ ]+44: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+44: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x2c
-[ ]+[ ]+[ ]+44: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+44: R_LARCH_SOP_POP_32_S_5_20[ ]+\*ABS\*
-[ ]+48:[ ]+030000a5 [ ]+lu52i.d[ ]+[ ]+\$a1, \$a1, 0
-[ ]+[ ]+[ ]+48: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\+0x8000000c
-[ ]+[ ]+[ ]+48: R_LARCH_SOP_PUSH_GPREL[ ]+L1
-[ ]+[ ]+[ ]+48: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+48: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x34
-[ ]+[ ]+[ ]+48: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+48: R_LARCH_SOP_POP_32_S_10_12[ ]+\*ABS\*
-[ ]+4c:[ ]+380c1484 [ ]+ldx.d[ ]+[ ]+\$a0, \$a0, \$a1
-[ ]+50:[ ]+1c000004 [ ]+pcaddu12i[ ]+[ ]+\$a0, 0
-[ ]+[ ]+[ ]+50: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\+0x800
-[ ]+[ ]+[ ]+50: R_LARCH_SOP_PUSH_GPREL[ ]+L1
-[ ]+[ ]+[ ]+50: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+50: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xc
-[ ]+[ ]+[ ]+50: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+50: R_LARCH_SOP_POP_32_S_5_20[ ]+\*ABS\*
-[ ]+54:[ ]+28c00084 [ ]+ld.d[ ]+[ ]+\$a0, \$a0, 0
-[ ]+[ ]+[ ]+54: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\+0x4
-[ ]+[ ]+[ ]+54: R_LARCH_SOP_PUSH_GPREL[ ]+L1
-[ ]+[ ]+[ ]+54: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+54: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\+0x804
-[ ]+[ ]+[ ]+54: R_LARCH_SOP_PUSH_GPREL[ ]+L1
-[ ]+[ ]+[ ]+54: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+54: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xc
-[ ]+[ ]+[ ]+54: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+54: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xc
-[ ]+[ ]+[ ]+54: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+54: R_LARCH_SOP_SUB[ ]+\*ABS\*
-[ ]+[ ]+[ ]+54: R_LARCH_SOP_POP_32_S_10_12[ ]+\*ABS\*
-[ ]+58:[ ]+1c000004 [ ]+pcaddu12i[ ]+[ ]+\$a0, 0
-[ ]+[ ]+[ ]+58: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_
-[ ]+[ ]+[ ]+58: R_LARCH_SOP_PUSH_GPREL[ ]+L1
-[ ]+[ ]+[ ]+58: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+58: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\+0x80000000
-[ ]+[ ]+[ ]+58: R_LARCH_SOP_PUSH_GPREL[ ]+L1
-[ ]+[ ]+[ ]+58: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+58: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+58: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+58: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+58: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+58: R_LARCH_SOP_SUB[ ]+\*ABS\*
-[ ]+[ ]+[ ]+58: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+58: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+58: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x2c
-[ ]+[ ]+[ ]+58: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+58: R_LARCH_SOP_POP_32_S_5_20[ ]+\*ABS\*
-[ ]+5c:[ ]+03800005 [ ]+ori[ ]+[ ]+\$a1, \$zero, 0x0
-[ ]+[ ]+[ ]+5c: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\+0x4
-[ ]+[ ]+[ ]+5c: R_LARCH_SOP_PUSH_GPREL[ ]+L1
-[ ]+[ ]+[ ]+5c: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+5c: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\+0x80000004
-[ ]+[ ]+[ ]+5c: R_LARCH_SOP_PUSH_GPREL[ ]+L1
-[ ]+[ ]+[ ]+5c: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+5c: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+5c: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+5c: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+5c: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+5c: R_LARCH_SOP_SUB[ ]+\*ABS\*
-[ ]+[ ]+[ ]+5c: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xfff
-[ ]+[ ]+[ ]+5c: R_LARCH_SOP_AND[ ]+\*ABS\*
-[ ]+[ ]+[ ]+5c: R_LARCH_SOP_POP_32_U_10_12[ ]+\*ABS\*
-[ ]+60:[ ]+16000005 [ ]+lu32i.d[ ]+[ ]+\$a1, 0
-[ ]+[ ]+[ ]+60: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\+0x80000008
-[ ]+[ ]+[ ]+60: R_LARCH_SOP_PUSH_GPREL[ ]+L1
-[ ]+[ ]+[ ]+60: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+60: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xc
-[ ]+[ ]+[ ]+60: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+60: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x2c
-[ ]+[ ]+[ ]+60: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+60: R_LARCH_SOP_POP_32_S_5_20[ ]+\*ABS\*
-[ ]+64:[ ]+030000a5 [ ]+lu52i.d[ ]+[ ]+\$a1, \$a1, 0
-[ ]+[ ]+[ ]+64: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\+0x8000000c
-[ ]+[ ]+[ ]+64: R_LARCH_SOP_PUSH_GPREL[ ]+L1
-[ ]+[ ]+[ ]+64: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+64: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x34
-[ ]+[ ]+[ ]+64: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+64: R_LARCH_SOP_POP_32_S_10_12[ ]+\*ABS\*
-[ ]+68:[ ]+380c1484 [ ]+ldx.d[ ]+[ ]+\$a0, \$a0, \$a1
-[ ]+6c:[ ]+1c000004 [ ]+pcaddu12i[ ]+[ ]+\$a0, 0
-[ ]+[ ]+[ ]+6c: R_LARCH_SOP_PUSH_PCREL[ ]+L1\+0x800
-[ ]+[ ]+[ ]+6c: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xc
-[ ]+[ ]+[ ]+6c: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+6c: R_LARCH_SOP_POP_32_S_5_20[ ]+\*ABS\*
-[ ]+70:[ ]+02c00084 [ ]+addi.d[ ]+[ ]+\$a0, \$a0, 0
-[ ]+[ ]+[ ]+70: R_LARCH_SOP_PUSH_PCREL[ ]+L1\+0x4
-[ ]+[ ]+[ ]+70: R_LARCH_SOP_PUSH_PCREL[ ]+L1\+0x804
-[ ]+[ ]+[ ]+70: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xc
-[ ]+[ ]+[ ]+70: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+70: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xc
-[ ]+[ ]+[ ]+70: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+70: R_LARCH_SOP_SUB[ ]+\*ABS\*
-[ ]+[ ]+[ ]+70: R_LARCH_SOP_POP_32_S_10_12[ ]+\*ABS\*
-[ ]+74:[ ]+1c000004 [ ]+pcaddu12i[ ]+[ ]+\$a0, 0
-[ ]+[ ]+[ ]+74: R_LARCH_SOP_PUSH_PCREL[ ]+L1
-[ ]+[ ]+[ ]+74: R_LARCH_SOP_PUSH_PCREL[ ]+L1\+0x80000000
-[ ]+[ ]+[ ]+74: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+74: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+74: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+74: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+74: R_LARCH_SOP_SUB[ ]+\*ABS\*
-[ ]+[ ]+[ ]+74: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+74: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+74: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x2c
-[ ]+[ ]+[ ]+74: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+74: R_LARCH_SOP_POP_32_S_5_20[ ]+\*ABS\*
-[ ]+78:[ ]+03800005 [ ]+ori[ ]+[ ]+\$a1, \$zero, 0x0
-[ ]+[ ]+[ ]+78: R_LARCH_SOP_PUSH_PCREL[ ]+L1\+0x4
-[ ]+[ ]+[ ]+78: R_LARCH_SOP_PUSH_PCREL[ ]+L1\+0x80000004
-[ ]+[ ]+[ ]+78: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+78: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+78: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+78: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+78: R_LARCH_SOP_SUB[ ]+\*ABS\*
-[ ]+[ ]+[ ]+78: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xfff
-[ ]+[ ]+[ ]+78: R_LARCH_SOP_AND[ ]+\*ABS\*
-[ ]+[ ]+[ ]+78: R_LARCH_SOP_POP_32_U_10_12[ ]+\*ABS\*
-[ ]+7c:[ ]+16000005 [ ]+lu32i.d[ ]+[ ]+\$a1, 0
-[ ]+[ ]+[ ]+7c: R_LARCH_SOP_PUSH_PCREL[ ]+L1\+0x80000008
-[ ]+[ ]+[ ]+7c: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xc
-[ ]+[ ]+[ ]+7c: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+7c: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x2c
-[ ]+[ ]+[ ]+7c: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+7c: R_LARCH_SOP_POP_32_S_5_20[ ]+\*ABS\*
-[ ]+80:[ ]+030000a5 [ ]+lu52i.d[ ]+[ ]+\$a1, \$a1, 0
-[ ]+[ ]+[ ]+80: R_LARCH_SOP_PUSH_PCREL[ ]+L1\+0x8000000c
-[ ]+[ ]+[ ]+80: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x34
-[ ]+[ ]+[ ]+80: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+80: R_LARCH_SOP_POP_32_S_10_12[ ]+\*ABS\*
-[ ]+84:[ ]+00109484 [ ]+add.d[ ]+[ ]+\$a0, \$a0, \$a1
-[ ]+88:[ ]+1c000004 [ ]+pcaddu12i[ ]+[ ]+\$a0, 0
-[ ]+[ ]+[ ]+88: R_LARCH_SOP_PUSH_PCREL[ ]+L1\+0x800
-[ ]+[ ]+[ ]+88: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xc
-[ ]+[ ]+[ ]+88: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+88: R_LARCH_SOP_POP_32_S_5_20[ ]+\*ABS\*
-[ ]+8c:[ ]+02c00084 [ ]+addi.d[ ]+[ ]+\$a0, \$a0, 0
-[ ]+[ ]+[ ]+8c: R_LARCH_SOP_PUSH_PCREL[ ]+L1\+0x4
-[ ]+[ ]+[ ]+8c: R_LARCH_SOP_PUSH_PCREL[ ]+L1\+0x804
-[ ]+[ ]+[ ]+8c: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xc
-[ ]+[ ]+[ ]+8c: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+8c: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xc
-[ ]+[ ]+[ ]+8c: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+8c: R_LARCH_SOP_SUB[ ]+\*ABS\*
-[ ]+[ ]+[ ]+8c: R_LARCH_SOP_POP_32_S_10_12[ ]+\*ABS\*
-[ ]+90:[ ]+1c000004 [ ]+pcaddu12i[ ]+[ ]+\$a0, 0
-[ ]+[ ]+[ ]+90: R_LARCH_SOP_PUSH_PCREL[ ]+L1
-[ ]+[ ]+[ ]+90: R_LARCH_SOP_PUSH_PCREL[ ]+L1\+0x80000000
-[ ]+[ ]+[ ]+90: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+90: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+90: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+90: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+90: R_LARCH_SOP_SUB[ ]+\*ABS\*
-[ ]+[ ]+[ ]+90: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+90: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+90: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x2c
-[ ]+[ ]+[ ]+90: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+90: R_LARCH_SOP_POP_32_S_5_20[ ]+\*ABS\*
-[ ]+94:[ ]+03800005 [ ]+ori[ ]+[ ]+\$a1, \$zero, 0x0
-[ ]+[ ]+[ ]+94: R_LARCH_SOP_PUSH_PCREL[ ]+L1\+0x4
-[ ]+[ ]+[ ]+94: R_LARCH_SOP_PUSH_PCREL[ ]+L1\+0x80000004
-[ ]+[ ]+[ ]+94: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+94: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+94: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+94: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+94: R_LARCH_SOP_SUB[ ]+\*ABS\*
-[ ]+[ ]+[ ]+94: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xfff
-[ ]+[ ]+[ ]+94: R_LARCH_SOP_AND[ ]+\*ABS\*
-[ ]+[ ]+[ ]+94: R_LARCH_SOP_POP_32_U_10_12[ ]+\*ABS\*
-[ ]+98:[ ]+16000005 [ ]+lu32i.d[ ]+[ ]+\$a1, 0
-[ ]+[ ]+[ ]+98: R_LARCH_SOP_PUSH_PCREL[ ]+L1\+0x80000008
-[ ]+[ ]+[ ]+98: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xc
-[ ]+[ ]+[ ]+98: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+98: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x2c
-[ ]+[ ]+[ ]+98: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+98: R_LARCH_SOP_POP_32_S_5_20[ ]+\*ABS\*
-[ ]+9c:[ ]+030000a5 [ ]+lu52i.d[ ]+[ ]+\$a1, \$a1, 0
-[ ]+[ ]+[ ]+9c: R_LARCH_SOP_PUSH_PCREL[ ]+L1\+0x8000000c
-[ ]+[ ]+[ ]+9c: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x34
-[ ]+[ ]+[ ]+9c: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+9c: R_LARCH_SOP_POP_32_S_10_12[ ]+\*ABS\*
-[ ]+a0:[ ]+00109484 [ ]+add.d[ ]+[ ]+\$a0, \$a0, \$a1
-[ ]+a4:[ ]+14000004 [ ]+lu12i.w[ ]+[ ]+\$a0, 0
-[ ]+[ ]+[ ]+a4: R_LARCH_MARK_LA[ ]+L1
-[ ]+[ ]+[ ]+a4: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+L1
-[ ]+[ ]+[ ]+a4: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+a4: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+a4: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x2c
-[ ]+[ ]+[ ]+a4: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+a4: R_LARCH_SOP_POP_32_S_5_20[ ]+\*ABS\*
-[ ]+a8:[ ]+03800084 [ ]+ori[ ]+[ ]+\$a0, \$a0, 0x0
-[ ]+[ ]+[ ]+a8: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+L1
-[ ]+[ ]+[ ]+a8: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xfff
-[ ]+[ ]+[ ]+a8: R_LARCH_SOP_AND[ ]+\*ABS\*
-[ ]+[ ]+[ ]+a8: R_LARCH_SOP_POP_32_U_10_12[ ]+\*ABS\*
-[ ]+ac:[ ]+16000004 [ ]+lu32i.d[ ]+[ ]+\$a0, 0
-[ ]+[ ]+[ ]+ac: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+L1
-[ ]+[ ]+[ ]+ac: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xc
-[ ]+[ ]+[ ]+ac: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+ac: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x2c
-[ ]+[ ]+[ ]+ac: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+ac: R_LARCH_SOP_POP_32_S_5_20[ ]+\*ABS\*
-[ ]+b0:[ ]+03000084 [ ]+lu52i.d[ ]+[ ]+\$a0, \$a0, 0
-[ ]+[ ]+[ ]+b0: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+L1
-[ ]+[ ]+[ ]+b0: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x34
-[ ]+[ ]+[ ]+b0: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+b0: R_LARCH_SOP_POP_32_S_10_12[ ]+\*ABS\*
-[ ]+b4:[ ]+1c000004 [ ]+pcaddu12i[ ]+[ ]+\$a0, 0
-[ ]+[ ]+[ ]+b4: R_LARCH_SOP_PUSH_PCREL[ ]+L1\+0x800
-[ ]+[ ]+[ ]+b4: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xc
-[ ]+[ ]+[ ]+b4: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+b4: R_LARCH_SOP_POP_32_S_5_20[ ]+\*ABS\*
-[ ]+b8:[ ]+02c00084 [ ]+addi.d[ ]+[ ]+\$a0, \$a0, 0
-[ ]+[ ]+[ ]+b8: R_LARCH_SOP_PUSH_PCREL[ ]+L1\+0x4
-[ ]+[ ]+[ ]+b8: R_LARCH_SOP_PUSH_PCREL[ ]+L1\+0x804
-[ ]+[ ]+[ ]+b8: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xc
-[ ]+[ ]+[ ]+b8: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+b8: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xc
-[ ]+[ ]+[ ]+b8: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+b8: R_LARCH_SOP_SUB[ ]+\*ABS\*
-[ ]+[ ]+[ ]+b8: R_LARCH_SOP_POP_32_S_10_12[ ]+\*ABS\*
-[ ]+bc:[ ]+1c000004 [ ]+pcaddu12i[ ]+[ ]+\$a0, 0
-[ ]+[ ]+[ ]+bc: R_LARCH_SOP_PUSH_PCREL[ ]+L1\+0x800
-[ ]+[ ]+[ ]+bc: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xc
-[ ]+[ ]+[ ]+bc: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+bc: R_LARCH_SOP_POP_32_S_5_20[ ]+\*ABS\*
-[ ]+c0:[ ]+02c00084 [ ]+addi.d[ ]+[ ]+\$a0, \$a0, 0
-[ ]+[ ]+[ ]+c0: R_LARCH_SOP_PUSH_PCREL[ ]+L1\+0x4
-[ ]+[ ]+[ ]+c0: R_LARCH_SOP_PUSH_PCREL[ ]+L1\+0x804
-[ ]+[ ]+[ ]+c0: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xc
-[ ]+[ ]+[ ]+c0: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+c0: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xc
-[ ]+[ ]+[ ]+c0: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+c0: R_LARCH_SOP_SUB[ ]+\*ABS\*
-[ ]+[ ]+[ ]+c0: R_LARCH_SOP_POP_32_S_10_12[ ]+\*ABS\*
-[ ]+c4:[ ]+1c000004 [ ]+pcaddu12i[ ]+[ ]+\$a0, 0
-[ ]+[ ]+[ ]+c4: R_LARCH_SOP_PUSH_PCREL[ ]+L1
-[ ]+[ ]+[ ]+c4: R_LARCH_SOP_PUSH_PCREL[ ]+L1\+0x80000000
-[ ]+[ ]+[ ]+c4: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+c4: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+c4: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+c4: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+c4: R_LARCH_SOP_SUB[ ]+\*ABS\*
-[ ]+[ ]+[ ]+c4: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+c4: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+c4: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x2c
-[ ]+[ ]+[ ]+c4: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+c4: R_LARCH_SOP_POP_32_S_5_20[ ]+\*ABS\*
-[ ]+c8:[ ]+03800005 [ ]+ori[ ]+[ ]+\$a1, \$zero, 0x0
-[ ]+[ ]+[ ]+c8: R_LARCH_SOP_PUSH_PCREL[ ]+L1\+0x4
-[ ]+[ ]+[ ]+c8: R_LARCH_SOP_PUSH_PCREL[ ]+L1\+0x80000004
-[ ]+[ ]+[ ]+c8: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+c8: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+c8: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+c8: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+c8: R_LARCH_SOP_SUB[ ]+\*ABS\*
-[ ]+[ ]+[ ]+c8: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xfff
-[ ]+[ ]+[ ]+c8: R_LARCH_SOP_AND[ ]+\*ABS\*
-[ ]+[ ]+[ ]+c8: R_LARCH_SOP_POP_32_U_10_12[ ]+\*ABS\*
-[ ]+cc:[ ]+16000005 [ ]+lu32i.d[ ]+[ ]+\$a1, 0
-[ ]+[ ]+[ ]+cc: R_LARCH_SOP_PUSH_PCREL[ ]+L1\+0x80000008
-[ ]+[ ]+[ ]+cc: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xc
-[ ]+[ ]+[ ]+cc: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+cc: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x2c
-[ ]+[ ]+[ ]+cc: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+cc: R_LARCH_SOP_POP_32_S_5_20[ ]+\*ABS\*
-[ ]+d0:[ ]+030000a5 [ ]+lu52i.d[ ]+[ ]+\$a1, \$a1, 0
-[ ]+[ ]+[ ]+d0: R_LARCH_SOP_PUSH_PCREL[ ]+L1\+0x8000000c
-[ ]+[ ]+[ ]+d0: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x34
-[ ]+[ ]+[ ]+d0: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+d0: R_LARCH_SOP_POP_32_S_10_12[ ]+\*ABS\*
-[ ]+d4:[ ]+00109484 [ ]+add.d[ ]+[ ]+\$a0, \$a0, \$a1
-[ ]+d8:[ ]+1c000004 [ ]+pcaddu12i[ ]+[ ]+\$a0, 0
-[ ]+[ ]+[ ]+d8: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\+0x800
-[ ]+[ ]+[ ]+d8: R_LARCH_SOP_PUSH_GPREL[ ]+L1
-[ ]+[ ]+[ ]+d8: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+d8: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xc
-[ ]+[ ]+[ ]+d8: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+d8: R_LARCH_SOP_POP_32_S_5_20[ ]+\*ABS\*
-[ ]+dc:[ ]+28c00084 [ ]+ld.d[ ]+[ ]+\$a0, \$a0, 0
-[ ]+[ ]+[ ]+dc: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\+0x4
-[ ]+[ ]+[ ]+dc: R_LARCH_SOP_PUSH_GPREL[ ]+L1
-[ ]+[ ]+[ ]+dc: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+dc: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\+0x804
-[ ]+[ ]+[ ]+dc: R_LARCH_SOP_PUSH_GPREL[ ]+L1
-[ ]+[ ]+[ ]+dc: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+dc: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xc
-[ ]+[ ]+[ ]+dc: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+dc: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xc
-[ ]+[ ]+[ ]+dc: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+dc: R_LARCH_SOP_SUB[ ]+\*ABS\*
-[ ]+[ ]+[ ]+dc: R_LARCH_SOP_POP_32_S_10_12[ ]+\*ABS\*
-[ ]+e0:[ ]+1c000004 [ ]+pcaddu12i[ ]+[ ]+\$a0, 0
-[ ]+[ ]+[ ]+e0: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_
-[ ]+[ ]+[ ]+e0: R_LARCH_SOP_PUSH_GPREL[ ]+L1
-[ ]+[ ]+[ ]+e0: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+e0: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\+0x80000000
-[ ]+[ ]+[ ]+e0: R_LARCH_SOP_PUSH_GPREL[ ]+L1
-[ ]+[ ]+[ ]+e0: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+e0: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+e0: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+e0: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+e0: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+e0: R_LARCH_SOP_SUB[ ]+\*ABS\*
-[ ]+[ ]+[ ]+e0: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+e0: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+e0: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x2c
-[ ]+[ ]+[ ]+e0: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+e0: R_LARCH_SOP_POP_32_S_5_20[ ]+\*ABS\*
-[ ]+e4:[ ]+03800005 [ ]+ori[ ]+[ ]+\$a1, \$zero, 0x0
-[ ]+[ ]+[ ]+e4: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\+0x4
-[ ]+[ ]+[ ]+e4: R_LARCH_SOP_PUSH_GPREL[ ]+L1
-[ ]+[ ]+[ ]+e4: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+e4: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\+0x80000004
-[ ]+[ ]+[ ]+e4: R_LARCH_SOP_PUSH_GPREL[ ]+L1
-[ ]+[ ]+[ ]+e4: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+e4: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+e4: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+e4: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+e4: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+e4: R_LARCH_SOP_SUB[ ]+\*ABS\*
-[ ]+[ ]+[ ]+e4: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xfff
-[ ]+[ ]+[ ]+e4: R_LARCH_SOP_AND[ ]+\*ABS\*
-[ ]+[ ]+[ ]+e4: R_LARCH_SOP_POP_32_U_10_12[ ]+\*ABS\*
-[ ]+e8:[ ]+16000005 [ ]+lu32i.d[ ]+[ ]+\$a1, 0
-[ ]+[ ]+[ ]+e8: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\+0x80000008
-[ ]+[ ]+[ ]+e8: R_LARCH_SOP_PUSH_GPREL[ ]+L1
-[ ]+[ ]+[ ]+e8: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+e8: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xc
-[ ]+[ ]+[ ]+e8: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+e8: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x2c
-[ ]+[ ]+[ ]+e8: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+e8: R_LARCH_SOP_POP_32_S_5_20[ ]+\*ABS\*
-[ ]+ec:[ ]+030000a5 [ ]+lu52i.d[ ]+[ ]+\$a1, \$a1, 0
-[ ]+[ ]+[ ]+ec: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\+0x8000000c
-[ ]+[ ]+[ ]+ec: R_LARCH_SOP_PUSH_GPREL[ ]+L1
-[ ]+[ ]+[ ]+ec: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+ec: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x34
-[ ]+[ ]+[ ]+ec: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+ec: R_LARCH_SOP_POP_32_S_10_12[ ]+\*ABS\*
-[ ]+f0:[ ]+380c1484 [ ]+ldx.d[ ]+[ ]+\$a0, \$a0, \$a1
-[ ]+f4:[ ]+14000004 [ ]+lu12i.w[ ]+[ ]+\$a0, 0
-[ ]+[ ]+[ ]+f4: R_LARCH_SOP_PUSH_TLS_TPREL[ ]+L1
-[ ]+[ ]+[ ]+f4: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+f4: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+f4: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x2c
-[ ]+[ ]+[ ]+f4: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+f4: R_LARCH_SOP_POP_32_S_5_20[ ]+\*ABS\*
-[ ]+f8:[ ]+03800084 [ ]+ori[ ]+[ ]+\$a0, \$a0, 0x0
-[ ]+[ ]+[ ]+f8: R_LARCH_SOP_PUSH_TLS_TPREL[ ]+L1
-[ ]+[ ]+[ ]+f8: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xfff
-[ ]+[ ]+[ ]+f8: R_LARCH_SOP_AND[ ]+\*ABS\*
-[ ]+[ ]+[ ]+f8: R_LARCH_SOP_POP_32_U_10_12[ ]+\*ABS\*
-[ ]+fc:[ ]+16000004 [ ]+lu32i.d[ ]+[ ]+\$a0, 0
-[ ]+[ ]+[ ]+fc: R_LARCH_SOP_PUSH_TLS_TPREL[ ]+L1
-[ ]+[ ]+[ ]+fc: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xc
-[ ]+[ ]+[ ]+fc: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+fc: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x2c
-[ ]+[ ]+[ ]+fc: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+fc: R_LARCH_SOP_POP_32_S_5_20[ ]+\*ABS\*
-[ ]+100:[ ]+03000084 [ ]+lu52i.d[ ]+[ ]+\$a0, \$a0, 0
-[ ]+[ ]+[ ]+100: R_LARCH_SOP_PUSH_TLS_TPREL[ ]+L1
-[ ]+[ ]+[ ]+100: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x34
-[ ]+[ ]+[ ]+100: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+100: R_LARCH_SOP_POP_32_S_10_12[ ]+\*ABS\*
-[ ]+104:[ ]+1c000004 [ ]+pcaddu12i[ ]+[ ]+\$a0, 0
-[ ]+[ ]+[ ]+104: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\+0x800
-[ ]+[ ]+[ ]+104: R_LARCH_SOP_PUSH_TLS_GOT[ ]+L1
-[ ]+[ ]+[ ]+104: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+104: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xc
-[ ]+[ ]+[ ]+104: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+104: R_LARCH_SOP_POP_32_S_5_20[ ]+\*ABS\*
-[ ]+108:[ ]+28c00084 [ ]+ld.d[ ]+[ ]+\$a0, \$a0, 0
-[ ]+[ ]+[ ]+108: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\+0x4
-[ ]+[ ]+[ ]+108: R_LARCH_SOP_PUSH_TLS_GOT[ ]+L1
-[ ]+[ ]+[ ]+108: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+108: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\+0x804
-[ ]+[ ]+[ ]+108: R_LARCH_SOP_PUSH_TLS_GOT[ ]+L1
-[ ]+[ ]+[ ]+108: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+108: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xc
-[ ]+[ ]+[ ]+108: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+108: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xc
-[ ]+[ ]+[ ]+108: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+108: R_LARCH_SOP_SUB[ ]+\*ABS\*
-[ ]+[ ]+[ ]+108: R_LARCH_SOP_POP_32_S_10_12[ ]+\*ABS\*
-[ ]+10c:[ ]+1c000004 [ ]+pcaddu12i[ ]+[ ]+\$a0, 0
-[ ]+[ ]+[ ]+10c: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_
-[ ]+[ ]+[ ]+10c: R_LARCH_SOP_PUSH_TLS_GOT[ ]+L1
-[ ]+[ ]+[ ]+10c: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+10c: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\+0x80000000
-[ ]+[ ]+[ ]+10c: R_LARCH_SOP_PUSH_TLS_GOT[ ]+L1
-[ ]+[ ]+[ ]+10c: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+10c: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+10c: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+10c: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+10c: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+10c: R_LARCH_SOP_SUB[ ]+\*ABS\*
-[ ]+[ ]+[ ]+10c: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+10c: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+10c: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x2c
-[ ]+[ ]+[ ]+10c: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+10c: R_LARCH_SOP_POP_32_S_5_20[ ]+\*ABS\*
-[ ]+110:[ ]+03800005 [ ]+ori[ ]+[ ]+\$a1, \$zero, 0x0
-[ ]+[ ]+[ ]+110: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\+0x4
-[ ]+[ ]+[ ]+110: R_LARCH_SOP_PUSH_TLS_GOT[ ]+L1
-[ ]+[ ]+[ ]+110: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+110: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\+0x80000004
-[ ]+[ ]+[ ]+110: R_LARCH_SOP_PUSH_TLS_GOT[ ]+L1
-[ ]+[ ]+[ ]+110: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+110: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+110: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+110: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+110: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+110: R_LARCH_SOP_SUB[ ]+\*ABS\*
-[ ]+[ ]+[ ]+110: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xfff
-[ ]+[ ]+[ ]+110: R_LARCH_SOP_AND[ ]+\*ABS\*
-[ ]+[ ]+[ ]+110: R_LARCH_SOP_POP_32_U_10_12[ ]+\*ABS\*
-[ ]+114:[ ]+16000005 [ ]+lu32i.d[ ]+[ ]+\$a1, 0
-[ ]+[ ]+[ ]+114: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\+0x80000008
-[ ]+[ ]+[ ]+114: R_LARCH_SOP_PUSH_TLS_GOT[ ]+L1
-[ ]+[ ]+[ ]+114: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+114: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xc
-[ ]+[ ]+[ ]+114: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+114: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x2c
-[ ]+[ ]+[ ]+114: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+114: R_LARCH_SOP_POP_32_S_5_20[ ]+\*ABS\*
-[ ]+118:[ ]+030000a5 [ ]+lu52i.d[ ]+[ ]+\$a1, \$a1, 0
-[ ]+[ ]+[ ]+118: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\+0x8000000c
-[ ]+[ ]+[ ]+118: R_LARCH_SOP_PUSH_TLS_GOT[ ]+L1
-[ ]+[ ]+[ ]+118: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+118: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x34
-[ ]+[ ]+[ ]+118: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+118: R_LARCH_SOP_POP_32_S_10_12[ ]+\*ABS\*
-[ ]+11c:[ ]+380c1484 [ ]+ldx.d[ ]+[ ]+\$a0, \$a0, \$a1
-[ ]+120:[ ]+1c000004 [ ]+pcaddu12i[ ]+[ ]+\$a0, 0
-[ ]+[ ]+[ ]+120: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\+0x800
-[ ]+[ ]+[ ]+120: R_LARCH_SOP_PUSH_TLS_GD[ ]+L1
-[ ]+[ ]+[ ]+120: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+120: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xc
-[ ]+[ ]+[ ]+120: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+120: R_LARCH_SOP_POP_32_S_5_20[ ]+\*ABS\*
-[ ]+124:[ ]+02c00084 [ ]+addi.d[ ]+[ ]+\$a0, \$a0, 0
-[ ]+[ ]+[ ]+124: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\+0x4
-[ ]+[ ]+[ ]+124: R_LARCH_SOP_PUSH_TLS_GD[ ]+L1
-[ ]+[ ]+[ ]+124: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+124: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\+0x804
-[ ]+[ ]+[ ]+124: R_LARCH_SOP_PUSH_TLS_GD[ ]+L1
-[ ]+[ ]+[ ]+124: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+124: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xc
-[ ]+[ ]+[ ]+124: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+124: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xc
-[ ]+[ ]+[ ]+124: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+124: R_LARCH_SOP_SUB[ ]+\*ABS\*
-[ ]+[ ]+[ ]+124: R_LARCH_SOP_POP_32_S_10_12[ ]+\*ABS\*
-[ ]+128:[ ]+1c000004 [ ]+pcaddu12i[ ]+[ ]+\$a0, 0
-[ ]+[ ]+[ ]+128: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_
-[ ]+[ ]+[ ]+128: R_LARCH_SOP_PUSH_TLS_GD[ ]+L1
-[ ]+[ ]+[ ]+128: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+128: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\+0x80000000
-[ ]+[ ]+[ ]+128: R_LARCH_SOP_PUSH_TLS_GD[ ]+L1
-[ ]+[ ]+[ ]+128: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+128: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+128: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+128: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+128: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+128: R_LARCH_SOP_SUB[ ]+\*ABS\*
-[ ]+[ ]+[ ]+128: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+128: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+128: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x2c
-[ ]+[ ]+[ ]+128: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+128: R_LARCH_SOP_POP_32_S_5_20[ ]+\*ABS\*
-[ ]+12c:[ ]+03800005 [ ]+ori[ ]+[ ]+\$a1, \$zero, 0x0
-[ ]+[ ]+[ ]+12c: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\+0x4
-[ ]+[ ]+[ ]+12c: R_LARCH_SOP_PUSH_TLS_GD[ ]+L1
-[ ]+[ ]+[ ]+12c: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+12c: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\+0x80000004
-[ ]+[ ]+[ ]+12c: R_LARCH_SOP_PUSH_TLS_GD[ ]+L1
-[ ]+[ ]+[ ]+12c: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+12c: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+12c: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+12c: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+12c: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+12c: R_LARCH_SOP_SUB[ ]+\*ABS\*
-[ ]+[ ]+[ ]+12c: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xfff
-[ ]+[ ]+[ ]+12c: R_LARCH_SOP_AND[ ]+\*ABS\*
-[ ]+[ ]+[ ]+12c: R_LARCH_SOP_POP_32_U_10_12[ ]+\*ABS\*
-[ ]+130:[ ]+16000005 [ ]+lu32i.d[ ]+[ ]+\$a1, 0
-[ ]+[ ]+[ ]+130: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\+0x80000008
-[ ]+[ ]+[ ]+130: R_LARCH_SOP_PUSH_TLS_GD[ ]+L1
-[ ]+[ ]+[ ]+130: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+130: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xc
-[ ]+[ ]+[ ]+130: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+130: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x2c
-[ ]+[ ]+[ ]+130: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+130: R_LARCH_SOP_POP_32_S_5_20[ ]+\*ABS\*
-[ ]+134:[ ]+030000a5 [ ]+lu52i.d[ ]+[ ]+\$a1, \$a1, 0
-[ ]+[ ]+[ ]+134: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\+0x8000000c
-[ ]+[ ]+[ ]+134: R_LARCH_SOP_PUSH_TLS_GD[ ]+L1
-[ ]+[ ]+[ ]+134: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+134: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x34
-[ ]+[ ]+[ ]+134: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+134: R_LARCH_SOP_POP_32_S_10_12[ ]+\*ABS\*
-[ ]+138:[ ]+00109484 [ ]+add.d[ ]+[ ]+\$a0, \$a0, \$a1
-[ ]+13c:[ ]+1c000004 [ ]+pcaddu12i[ ]+[ ]+\$a0, 0
-[ ]+[ ]+[ ]+13c: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\+0x800
-[ ]+[ ]+[ ]+13c: R_LARCH_SOP_PUSH_TLS_GD[ ]+L1
-[ ]+[ ]+[ ]+13c: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+13c: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xc
-[ ]+[ ]+[ ]+13c: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+13c: R_LARCH_SOP_POP_32_S_5_20[ ]+\*ABS\*
-[ ]+140:[ ]+02c00084 [ ]+addi.d[ ]+[ ]+\$a0, \$a0, 0
-[ ]+[ ]+[ ]+140: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\+0x4
-[ ]+[ ]+[ ]+140: R_LARCH_SOP_PUSH_TLS_GD[ ]+L1
-[ ]+[ ]+[ ]+140: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+140: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\+0x804
-[ ]+[ ]+[ ]+140: R_LARCH_SOP_PUSH_TLS_GD[ ]+L1
-[ ]+[ ]+[ ]+140: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+140: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xc
-[ ]+[ ]+[ ]+140: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+140: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xc
-[ ]+[ ]+[ ]+140: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+140: R_LARCH_SOP_SUB[ ]+\*ABS\*
-[ ]+[ ]+[ ]+140: R_LARCH_SOP_POP_32_S_10_12[ ]+\*ABS\*
-[ ]+144:[ ]+1c000004 [ ]+pcaddu12i[ ]+[ ]+\$a0, 0
-[ ]+[ ]+[ ]+144: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_
-[ ]+[ ]+[ ]+144: R_LARCH_SOP_PUSH_TLS_GD[ ]+L1
-[ ]+[ ]+[ ]+144: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+144: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\+0x80000000
-[ ]+[ ]+[ ]+144: R_LARCH_SOP_PUSH_TLS_GD[ ]+L1
-[ ]+[ ]+[ ]+144: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+144: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+144: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+144: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+144: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+144: R_LARCH_SOP_SUB[ ]+\*ABS\*
-[ ]+[ ]+[ ]+144: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+144: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+144: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x2c
-[ ]+[ ]+[ ]+144: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+144: R_LARCH_SOP_POP_32_S_5_20[ ]+\*ABS\*
-[ ]+148:[ ]+03800005 [ ]+ori[ ]+[ ]+\$a1, \$zero, 0x0
-[ ]+[ ]+[ ]+148: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\+0x4
-[ ]+[ ]+[ ]+148: R_LARCH_SOP_PUSH_TLS_GD[ ]+L1
-[ ]+[ ]+[ ]+148: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+148: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\+0x80000004
-[ ]+[ ]+[ ]+148: R_LARCH_SOP_PUSH_TLS_GD[ ]+L1
-[ ]+[ ]+[ ]+148: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+148: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+148: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+148: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+148: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+148: R_LARCH_SOP_SUB[ ]+\*ABS\*
-[ ]+[ ]+[ ]+148: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xfff
-[ ]+[ ]+[ ]+148: R_LARCH_SOP_AND[ ]+\*ABS\*
-[ ]+[ ]+[ ]+148: R_LARCH_SOP_POP_32_U_10_12[ ]+\*ABS\*
-[ ]+14c:[ ]+16000005 [ ]+lu32i.d[ ]+[ ]+\$a1, 0
-[ ]+[ ]+[ ]+14c: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\+0x80000008
-[ ]+[ ]+[ ]+14c: R_LARCH_SOP_PUSH_TLS_GD[ ]+L1
-[ ]+[ ]+[ ]+14c: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+14c: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xc
-[ ]+[ ]+[ ]+14c: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+14c: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x2c
-[ ]+[ ]+[ ]+14c: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+14c: R_LARCH_SOP_POP_32_S_5_20[ ]+\*ABS\*
-[ ]+150:[ ]+030000a5 [ ]+lu52i.d[ ]+[ ]+\$a1, \$a1, 0
-[ ]+[ ]+[ ]+150: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\+0x8000000c
-[ ]+[ ]+[ ]+150: R_LARCH_SOP_PUSH_TLS_GD[ ]+L1
-[ ]+[ ]+[ ]+150: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+150: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x34
-[ ]+[ ]+[ ]+150: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+150: R_LARCH_SOP_POP_32_S_10_12[ ]+\*ABS\*
-[ ]+154:[ ]+00109484 [ ]+add.d[ ]+[ ]+\$a0, \$a0, \$a1
+00000000.* <.text>:
+[ ]+0:[ ]+00150004[ ]+move[ ]+\$a0,[ ]+\$zero
+[ ]+4:[ ]+02bffc04[ ]+addi.w[ ]+\$a0,[ ]+\$zero,[ ]+-1\(0xfff\)
+[ ]+8:[ ]+00150004[ ]+move[ ]+\$a0,[ ]+\$zero
+[ ]+c:[ ]+02bffc04[ ]+addi.w[ ]+\$a0,[ ]+\$zero,[ ]+-1\(0xfff\)
+[ ]+10:[ ]+1a000004[ ]+pcalau12i[ ]+\$a0,[ ]+0
+[ ]+10:[ ]+R_LARCH_GOT_PC_HI20[ ]+.L1
+[ ]+14:[ ]+28c00084[ ]+ld.d[ ]+\$a0,[ ]+\$a0,[ ]+0
+[ ]+14:[ ]+R_LARCH_GOT_PC_LO12[ ]+.L1
+[ ]+18:[ ]+1a000004[ ]+pcalau12i[ ]+\$a0,[ ]+0
+[ ]+18:[ ]+R_LARCH_GOT_PC_HI20[ ]+.L1
+[ ]+1c:[ ]+28c00084[ ]+ld.d[ ]+\$a0,[ ]+\$a0,[ ]+0
+[ ]+1c:[ ]+R_LARCH_GOT_PC_LO12[ ]+.L1
+[ ]+20:[ ]+1a000004[ ]+pcalau12i[ ]+\$a0,[ ]+0
+[ ]+20:[ ]+R_LARCH_PCALA_HI20[ ]+.L1
+[ ]+24:[ ]+02c00084[ ]+addi.d[ ]+\$a0,[ ]+\$a0,[ ]+0
+[ ]+24:[ ]+R_LARCH_PCALA_LO12[ ]+.L1
+[ ]+28:[ ]+14000004[ ]+lu12i.w[ ]+\$a0,[ ]+0
+[ ]+28:[ ]+R_LARCH_MARK_LA[ ]+\*ABS\*
+[ ]+28:[ ]+R_LARCH_ABS_HI20[ ]+.L1
+[ ]+2c:[ ]+03800084[ ]+ori[ ]+\$a0,[ ]+\$a0,[ ]+0x0
+[ ]+2c:[ ]+R_LARCH_ABS_LO12[ ]+.L1
+[ ]+30:[ ]+16000004[ ]+lu32i.d[ ]+\$a0,[ ]+0
+[ ]+30:[ ]+R_LARCH_ABS64_LO20[ ]+.L1
+[ ]+34:[ ]+03000084[ ]+lu52i.d[ ]+\$a0,[ ]+\$a0,[ ]+0
+[ ]+34:[ ]+R_LARCH_ABS64_HI12[ ]+.L1
+[ ]+38:[ ]+1a000004[ ]+pcalau12i[ ]+\$a0,[ ]+0
+[ ]+38:[ ]+R_LARCH_PCALA_HI20[ ]+.L1
+[ ]+3c:[ ]+02c00084[ ]+addi.d[ ]+\$a0,[ ]+\$a0,[ ]+0
+[ ]+3c:[ ]+R_LARCH_PCALA_LO12[ ]+.L1
+[ ]+40:[ ]+1a000004[ ]+pcalau12i[ ]+\$a0,[ ]+0
+[ ]+40:[ ]+R_LARCH_GOT_PC_HI20[ ]+.L1
+[ ]+44:[ ]+28c00084[ ]+ld.d[ ]+\$a0,[ ]+\$a0,[ ]+0
+[ ]+44:[ ]+R_LARCH_GOT_PC_LO12[ ]+.L1
+[ ]+48:[ ]+14000004[ ]+lu12i.w[ ]+\$a0,[ ]+0
+[ ]+48:[ ]+R_LARCH_TLS_LE_HI20[ ]+TLS1
+[ ]+4c:[ ]+03800084[ ]+ori[ ]+\$a0,[ ]+\$a0,[ ]+0x0
+[ ]+4c:[ ]+R_LARCH_TLS_LE_LO12[ ]+TLS1
+[ ]+50:[ ]+1a000004[ ]+pcalau12i[ ]+\$a0,[ ]+0
+[ ]+50:[ ]+R_LARCH_TLS_IE_PC_HI20[ ]+TLS1
+[ ]+54:[ ]+28c00084[ ]+ld.d[ ]+\$a0,[ ]+\$a0,[ ]+0
+[ ]+54:[ ]+R_LARCH_TLS_IE_PC_LO12[ ]+TLS1
+[ ]+58:[ ]+1a000004[ ]+pcalau12i[ ]+\$a0,[ ]+0
+[ ]+58:[ ]+R_LARCH_TLS_LD_PC_HI20[ ]+TLS1
+[ ]+5c:[ ]+02c00084[ ]+addi.d[ ]+\$a0,[ ]+\$a0,[ ]+0
+[ ]+5c:[ ]+R_LARCH_GOT_PC_LO12[ ]+TLS1
+[ ]+60:[ ]+1a000004[ ]+pcalau12i[ ]+\$a0,[ ]+0
+[ ]+60:[ ]+R_LARCH_TLS_GD_PC_HI20[ ]+TLS1
+[ ]+64:[ ]+02c00084[ ]+addi.d[ ]+\$a0,[ ]+\$a0,[ ]+0
+[ ]+64:[ ]+R_LARCH_GOT_PC_LO12[ ]+TLS1
diff --git a/gas/testsuite/gas/loongarch/macro_op.s b/gas/testsuite/gas/loongarch/macro_op.s
index d83261f..0c33314 100644
--- a/gas/testsuite/gas/loongarch/macro_op.s
+++ b/gas/testsuite/gas/loongarch/macro_op.s
@@ -1,29 +1,15 @@
-.L1:
-li.w $r4,0
-li.w $r4,0xffffffff
-li.d $r4,0
-li.d $r4,0xffffffffffffffff
-la $r4,L1
-la.global $r4,L1
-la.global $r4,$r5,L1
-la.global $r4,L1
-la.global $r4,$r5,L1
-la.global $r4,L1
-la.global $r4,$r5,L1
-la.local $r4,L1
-la.local $r4,$r5,L1
-la.local $r4,L1
-la.local $r4,$r5,L1
-la.abs $r4,L1
-la.pcrel $r4,L1
-la.pcrel $r4,L1
-la.pcrel $r4,$r5,L1
-la.got $r4,L1
-la.got $r4,$r5,L1
-la.tls.le $r4,L1
-la.tls.ie $r4,L1
-la.tls.ie $r4,$r5,L1
-la.tls.ld $r4,L1
-la.tls.ld $r4,$r5,L1
-la.tls.gd $r4,L1
-la.tls.gd $r4,$r5,L1
+li.w $r4, 0
+li.w $r4, 0xffffffff
+li.d $r4, 0
+li.d $r4, 0xffffffffffffffff
+la $r4, .L1
+la.global $r4, .L1
+la.local $r4, .L1
+la.abs $r4, .L1
+la.pcrel $r4, .L1
+la.got $r4, .L1
+
+la.tls.le $r4, TLS1
+la.tls.ie $r4, TLS1
+la.tls.ld $r4, TLS1
+la.tls.gd $r4, TLS1
diff --git a/gas/testsuite/gas/loongarch/macro_op_32.d b/gas/testsuite/gas/loongarch/macro_op_32.d
new file mode 100644
index 0000000..145d852
--- /dev/null
+++ b/gas/testsuite/gas/loongarch/macro_op_32.d
@@ -0,0 +1,55 @@
+#as:
+#objdump: -dr
+#skip: loongarch64-*-*
+
+.*:[ ]+file format .*
+
+
+Disassembly of section .text:
+
+00000000.* <.text>:
+[ ]+0:[ ]+00150004[ ]+move[ ]+\$a0,[ ]+\$zero
+[ ]+4:[ ]+02bffc04[ ]+addi.w[ ]+\$a0,[ ]+\$zero,[ ]+-1\(0xfff\)
+[ ]+8:[ ]+00150004[ ]+move[ ]+\$a0,[ ]+\$zero
+[ ]+c:[ ]+02bffc04[ ]+addi.w[ ]+\$a0,[ ]+\$zero,[ ]+-1\(0xfff\)
+[ ]+10:[ ]+1a000004[ ]+pcalau12i[ ]+\$a0,[ ]+0
+[ ]+10:[ ]+R_LARCH_GOT_PC_HI20[ ]+.text
+[ ]+14:[ ]+28800084[ ]+ld.w[ ]+\$a0,[ ]+\$a0,[ ]+0
+[ ]+14:[ ]+R_LARCH_GOT_PC_LO12[ ]+.text
+[ ]+18:[ ]+1a000004[ ]+pcalau12i[ ]+\$a0,[ ]+0
+[ ]+18:[ ]+R_LARCH_GOT_PC_HI20[ ]+.text
+[ ]+1c:[ ]+28800084[ ]+ld.w[ ]+\$a0,[ ]+\$a0,[ ]+0
+[ ]+1c:[ ]+R_LARCH_GOT_PC_LO12[ ]+.text
+[ ]+20:[ ]+1a000004[ ]+pcalau12i[ ]+\$a0,[ ]+0
+[ ]+20:[ ]+R_LARCH_PCALA_HI20[ ]+.text
+[ ]+24:[ ]+02800084[ ]+addi.w[ ]+\$a0,[ ]+\$a0,[ ]+0
+[ ]+24:[ ]+R_LARCH_PCALA_LO12[ ]+.text
+[ ]+28:[ ]+14000004[ ]+lu12i.w[ ]+\$a0,[ ]+0
+[ ]+28:[ ]+R_LARCH_MARK_LA[ ]+\*ABS\*
+[ ]+28:[ ]+R_LARCH_ABS_HI20[ ]+.text
+[ ]+2c:[ ]+03800084[ ]+ori[ ]+\$a0,[ ]+\$a0,[ ]+0x0
+[ ]+2c:[ ]+R_LARCH_ABS_LO12[ ]+.text
+[ ]+30:[ ]+1a000004[ ]+pcalau12i[ ]+\$a0,[ ]+0
+[ ]+30:[ ]+R_LARCH_PCALA_HI20[ ]+.text
+[ ]+34:[ ]+02800084[ ]+addi.w[ ]+\$a0,[ ]+\$a0,[ ]+0
+[ ]+34:[ ]+R_LARCH_PCALA_LO12[ ]+.text
+[ ]+38:[ ]+1a000004[ ]+pcalau12i[ ]+\$a0,[ ]+0
+[ ]+38:[ ]+R_LARCH_GOT_PC_HI20[ ]+.text
+[ ]+3c:[ ]+28800084[ ]+ld.w[ ]+\$a0,[ ]+\$a0,[ ]+0
+[ ]+3c:[ ]+R_LARCH_GOT_PC_LO12[ ]+.text
+[ ]+40:[ ]+14000004[ ]+lu12i.w[ ]+\$a0,[ ]+0
+[ ]+40:[ ]+R_LARCH_TLS_LE_HI20[ ]+TLS1
+[ ]+44:[ ]+03800084[ ]+ori[ ]+\$a0,[ ]+\$a0,[ ]+0x0
+[ ]+44:[ ]+R_LARCH_TLS_LE_LO12[ ]+TLS1
+[ ]+48:[ ]+1a000004[ ]+pcalau12i[ ]+\$a0,[ ]+0
+[ ]+48:[ ]+R_LARCH_TLS_IE_PC_HI20[ ]+TLS1
+[ ]+4c:[ ]+28800084[ ]+ld.w[ ]+\$a0,[ ]+\$a0,[ ]+0
+[ ]+4c:[ ]+R_LARCH_TLS_IE_PC_LO12[ ]+TLS1
+[ ]+50:[ ]+1a000004[ ]+pcalau12i[ ]+\$a0,[ ]+0
+[ ]+50:[ ]+R_LARCH_TLS_LD_PC_HI20[ ]+TLS1
+[ ]+54:[ ]+02800084[ ]+addi.w[ ]+\$a0,[ ]+\$a0,[ ]+0
+[ ]+54:[ ]+R_LARCH_GOT_PC_LO12[ ]+TLS1
+[ ]+58:[ ]+1a000004[ ]+pcalau12i[ ]+\$a0,[ ]+0
+[ ]+58:[ ]+R_LARCH_TLS_GD_PC_HI20[ ]+TLS1
+[ ]+5c:[ ]+02800084[ ]+addi.w[ ]+\$a0,[ ]+\$a0,[ ]+0
+[ ]+5c:[ ]+R_LARCH_GOT_PC_LO12[ ]+TLS1
diff --git a/gas/testsuite/gas/loongarch/macro_op_32.s b/gas/testsuite/gas/loongarch/macro_op_32.s
new file mode 100644
index 0000000..7f19565
--- /dev/null
+++ b/gas/testsuite/gas/loongarch/macro_op_32.s
@@ -0,0 +1,16 @@
+.L1:
+ li.w $r4, 0
+ li.w $r4, 0xffffffff
+ li.w $r4, 0
+ li.w $r4, 0xffffffff
+ la $r4, .L1
+ la.global $r4, .L1
+ la.local $r4, .L1
+ la.abs $r4, .L1
+ la.pcrel $r4, .L1
+ la.got $r4, .L1
+
+ la.tls.le $r4, TLS1
+ la.tls.ie $r4, TLS1
+ la.tls.ld $r4, TLS1
+ la.tls.gd $r4, TLS1
diff --git a/gas/testsuite/gas/loongarch/macro_op_large_abs.d b/gas/testsuite/gas/loongarch/macro_op_large_abs.d
new file mode 100644
index 0000000..c3214a8
--- /dev/null
+++ b/gas/testsuite/gas/loongarch/macro_op_large_abs.d
@@ -0,0 +1,77 @@
+#as:
+#objdump: -dr
+#skip: loongarch32-*-*
+
+.*:[ ]+file format .*
+
+
+Disassembly of section .text:
+
+00000000.* <.text>:
+[ ]+0:[ ]+1a000004[ ]+pcalau12i[ ]+\$a0,[ ]+0
+[ ]+0:[ ]+R_LARCH_PCALA_HI20[ ]+.text
+[ ]+4:[ ]+02c00005[ ]+addi.d[ ]+\$a1,[ ]+\$zero,[ ]+0
+[ ]+4:[ ]+R_LARCH_PCALA_LO12[ ]+.text
+[ ]+8:[ ]+16000005[ ]+lu32i.d[ ]+\$a1,[ ]+0
+[ ]+8:[ ]+R_LARCH_PCALA64_LO20[ ]+.text
+[ ]+c:[ ]+030000a5[ ]+lu52i.d[ ]+\$a1,[ ]+\$a1,[ ]+0
+[ ]+c:[ ]+R_LARCH_PCALA64_HI12[ ]+.text
+[ ]+10:[ ]+00109484[ ]+add.d[ ]+\$a0,[ ]+\$a0,[ ]+\$a1
+[ ]+14:[ ]+1a000004[ ]+pcalau12i[ ]+\$a0,[ ]+0
+[ ]+14:[ ]+R_LARCH_GOT_PC_HI20[ ]+.text
+[ ]+18:[ ]+02c00005[ ]+addi.d[ ]+\$a1,[ ]+\$zero,[ ]+0
+[ ]+18:[ ]+R_LARCH_GOT_PC_LO12[ ]+.text
+[ ]+1c:[ ]+16000005[ ]+lu32i.d[ ]+\$a1,[ ]+0
+[ ]+1c:[ ]+R_LARCH_GOT64_PC_LO20[ ]+.text
+[ ]+20:[ ]+030000a5[ ]+lu52i.d[ ]+\$a1,[ ]+\$a1,[ ]+0
+[ ]+20:[ ]+R_LARCH_GOT64_PC_HI12[ ]+.text
+[ ]+24:[ ]+380c1484[ ]+ldx.d[ ]+\$a0,[ ]+\$a0,[ ]+\$a1
+[ ]+28:[ ]+1a000004[ ]+pcalau12i[ ]+\$a0,[ ]+0
+[ ]+28:[ ]+R_LARCH_PCALA_HI20[ ]+.text
+[ ]+2c:[ ]+02c00005[ ]+addi.d[ ]+\$a1,[ ]+\$zero,[ ]+0
+[ ]+2c:[ ]+R_LARCH_PCALA_LO12[ ]+.text
+[ ]+30:[ ]+16000005[ ]+lu32i.d[ ]+\$a1,[ ]+0
+[ ]+30:[ ]+R_LARCH_PCALA64_LO20[ ]+.text
+[ ]+34:[ ]+030000a5[ ]+lu52i.d[ ]+\$a1,[ ]+\$a1,[ ]+0
+[ ]+34:[ ]+R_LARCH_PCALA64_HI12[ ]+.text
+[ ]+38:[ ]+00109484[ ]+add.d[ ]+\$a0,[ ]+\$a0,[ ]+\$a1
+[ ]+3c:[ ]+1a000004[ ]+pcalau12i[ ]+\$a0,[ ]+0
+[ ]+3c:[ ]+R_LARCH_GOT_PC_HI20[ ]+.text
+[ ]+40:[ ]+02c00005[ ]+addi.d[ ]+\$a1,[ ]+\$zero,[ ]+0
+[ ]+40:[ ]+R_LARCH_GOT_PC_LO12[ ]+.text
+[ ]+44:[ ]+16000005[ ]+lu32i.d[ ]+\$a1,[ ]+0
+[ ]+44:[ ]+R_LARCH_GOT64_PC_LO20[ ]+.text
+[ ]+48:[ ]+030000a5[ ]+lu52i.d[ ]+\$a1,[ ]+\$a1,[ ]+0
+[ ]+48:[ ]+R_LARCH_GOT64_PC_HI12[ ]+.text
+[ ]+4c:[ ]+380c1484[ ]+ldx.d[ ]+\$a0,[ ]+\$a0,[ ]+\$a1
+[ ]+50:[ ]+14000004[ ]+lu12i.w[ ]+\$a0,[ ]+0
+[ ]+50:[ ]+R_LARCH_TLS_LE_HI20[ ]+TLS1
+[ ]+54:[ ]+03800084[ ]+ori[ ]+\$a0,[ ]+\$a0,[ ]+0x0
+[ ]+54:[ ]+R_LARCH_TLS_LE_LO12[ ]+TLS1
+[ ]+58:[ ]+1a000004[ ]+pcalau12i[ ]+\$a0,[ ]+0
+[ ]+58:[ ]+R_LARCH_TLS_IE_PC_HI20[ ]+TLS1
+[ ]+5c:[ ]+02c00005[ ]+addi.d[ ]+\$a1,[ ]+\$zero,[ ]+0
+[ ]+5c:[ ]+R_LARCH_TLS_IE_PC_LO12[ ]+TLS1
+[ ]+60:[ ]+16000005[ ]+lu32i.d[ ]+\$a1,[ ]+0
+[ ]+60:[ ]+R_LARCH_TLS_IE64_PC_LO20[ ]+TLS1
+[ ]+64:[ ]+030000a5[ ]+lu52i.d[ ]+\$a1,[ ]+\$a1,[ ]+0
+[ ]+64:[ ]+R_LARCH_TLS_IE64_PC_HI12[ ]+TLS1
+[ ]+68:[ ]+380c1484[ ]+ldx.d[ ]+\$a0,[ ]+\$a0,[ ]+\$a1
+[ ]+6c:[ ]+1a000004[ ]+pcalau12i[ ]+\$a0,[ ]+0
+[ ]+6c:[ ]+R_LARCH_TLS_LD_PC_HI20[ ]+TLS1
+[ ]+70:[ ]+02c00005[ ]+addi.d[ ]+\$a1,[ ]+\$zero,[ ]+0
+[ ]+70:[ ]+R_LARCH_GOT_PC_LO12[ ]+TLS1
+[ ]+74:[ ]+16000005[ ]+lu32i.d[ ]+\$a1,[ ]+0
+[ ]+74:[ ]+R_LARCH_GOT64_PC_LO20[ ]+TLS1
+[ ]+78:[ ]+030000a5[ ]+lu52i.d[ ]+\$a1,[ ]+\$a1,[ ]+0
+[ ]+78:[ ]+R_LARCH_GOT64_PC_HI12[ ]+TLS1
+[ ]+7c:[ ]+00109484[ ]+add.d[ ]+\$a0,[ ]+\$a0,[ ]+\$a1
+[ ]+80:[ ]+1a000004[ ]+pcalau12i[ ]+\$a0,[ ]+0
+[ ]+80:[ ]+R_LARCH_TLS_GD_PC_HI20[ ]+TLS1
+[ ]+84:[ ]+02c00005[ ]+addi.d[ ]+\$a1,[ ]+\$zero,[ ]+0
+[ ]+84:[ ]+R_LARCH_GOT_PC_LO12[ ]+TLS1
+[ ]+88:[ ]+16000005[ ]+lu32i.d[ ]+\$a1,[ ]+0
+[ ]+88:[ ]+R_LARCH_GOT64_PC_LO20[ ]+TLS1
+[ ]+8c:[ ]+030000a5[ ]+lu52i.d[ ]+\$a1,[ ]+\$a1,[ ]+0
+[ ]+8c:[ ]+R_LARCH_GOT64_PC_HI12[ ]+TLS1
+[ ]+90:[ ]+00109484[ ]+add.d[ ]+\$a0,[ ]+\$a0,[ ]+\$a1
diff --git a/gas/testsuite/gas/loongarch/macro_op_large_abs.s b/gas/testsuite/gas/loongarch/macro_op_large_abs.s
new file mode 100644
index 0000000..fd76391
--- /dev/null
+++ b/gas/testsuite/gas/loongarch/macro_op_large_abs.s
@@ -0,0 +1,9 @@
+.L1:
+la.local $r4, $r5, .L1
+la.global $r4, $r5, .L1
+la.pcrel $r4, $r5, .L1
+la.got $r4, $r5, .L1
+la.tls.le $r4, TLS1
+la.tls.ie $r4, $r5, TLS1
+la.tls.ld $r4, $r5, TLS1
+la.tls.gd $r4, $r5, TLS1
diff --git a/gas/testsuite/gas/loongarch/macro_op_large_pc.d b/gas/testsuite/gas/loongarch/macro_op_large_pc.d
new file mode 100644
index 0000000..c3214a8
--- /dev/null
+++ b/gas/testsuite/gas/loongarch/macro_op_large_pc.d
@@ -0,0 +1,77 @@
+#as:
+#objdump: -dr
+#skip: loongarch32-*-*
+
+.*:[ ]+file format .*
+
+
+Disassembly of section .text:
+
+00000000.* <.text>:
+[ ]+0:[ ]+1a000004[ ]+pcalau12i[ ]+\$a0,[ ]+0
+[ ]+0:[ ]+R_LARCH_PCALA_HI20[ ]+.text
+[ ]+4:[ ]+02c00005[ ]+addi.d[ ]+\$a1,[ ]+\$zero,[ ]+0
+[ ]+4:[ ]+R_LARCH_PCALA_LO12[ ]+.text
+[ ]+8:[ ]+16000005[ ]+lu32i.d[ ]+\$a1,[ ]+0
+[ ]+8:[ ]+R_LARCH_PCALA64_LO20[ ]+.text
+[ ]+c:[ ]+030000a5[ ]+lu52i.d[ ]+\$a1,[ ]+\$a1,[ ]+0
+[ ]+c:[ ]+R_LARCH_PCALA64_HI12[ ]+.text
+[ ]+10:[ ]+00109484[ ]+add.d[ ]+\$a0,[ ]+\$a0,[ ]+\$a1
+[ ]+14:[ ]+1a000004[ ]+pcalau12i[ ]+\$a0,[ ]+0
+[ ]+14:[ ]+R_LARCH_GOT_PC_HI20[ ]+.text
+[ ]+18:[ ]+02c00005[ ]+addi.d[ ]+\$a1,[ ]+\$zero,[ ]+0
+[ ]+18:[ ]+R_LARCH_GOT_PC_LO12[ ]+.text
+[ ]+1c:[ ]+16000005[ ]+lu32i.d[ ]+\$a1,[ ]+0
+[ ]+1c:[ ]+R_LARCH_GOT64_PC_LO20[ ]+.text
+[ ]+20:[ ]+030000a5[ ]+lu52i.d[ ]+\$a1,[ ]+\$a1,[ ]+0
+[ ]+20:[ ]+R_LARCH_GOT64_PC_HI12[ ]+.text
+[ ]+24:[ ]+380c1484[ ]+ldx.d[ ]+\$a0,[ ]+\$a0,[ ]+\$a1
+[ ]+28:[ ]+1a000004[ ]+pcalau12i[ ]+\$a0,[ ]+0
+[ ]+28:[ ]+R_LARCH_PCALA_HI20[ ]+.text
+[ ]+2c:[ ]+02c00005[ ]+addi.d[ ]+\$a1,[ ]+\$zero,[ ]+0
+[ ]+2c:[ ]+R_LARCH_PCALA_LO12[ ]+.text
+[ ]+30:[ ]+16000005[ ]+lu32i.d[ ]+\$a1,[ ]+0
+[ ]+30:[ ]+R_LARCH_PCALA64_LO20[ ]+.text
+[ ]+34:[ ]+030000a5[ ]+lu52i.d[ ]+\$a1,[ ]+\$a1,[ ]+0
+[ ]+34:[ ]+R_LARCH_PCALA64_HI12[ ]+.text
+[ ]+38:[ ]+00109484[ ]+add.d[ ]+\$a0,[ ]+\$a0,[ ]+\$a1
+[ ]+3c:[ ]+1a000004[ ]+pcalau12i[ ]+\$a0,[ ]+0
+[ ]+3c:[ ]+R_LARCH_GOT_PC_HI20[ ]+.text
+[ ]+40:[ ]+02c00005[ ]+addi.d[ ]+\$a1,[ ]+\$zero,[ ]+0
+[ ]+40:[ ]+R_LARCH_GOT_PC_LO12[ ]+.text
+[ ]+44:[ ]+16000005[ ]+lu32i.d[ ]+\$a1,[ ]+0
+[ ]+44:[ ]+R_LARCH_GOT64_PC_LO20[ ]+.text
+[ ]+48:[ ]+030000a5[ ]+lu52i.d[ ]+\$a1,[ ]+\$a1,[ ]+0
+[ ]+48:[ ]+R_LARCH_GOT64_PC_HI12[ ]+.text
+[ ]+4c:[ ]+380c1484[ ]+ldx.d[ ]+\$a0,[ ]+\$a0,[ ]+\$a1
+[ ]+50:[ ]+14000004[ ]+lu12i.w[ ]+\$a0,[ ]+0
+[ ]+50:[ ]+R_LARCH_TLS_LE_HI20[ ]+TLS1
+[ ]+54:[ ]+03800084[ ]+ori[ ]+\$a0,[ ]+\$a0,[ ]+0x0
+[ ]+54:[ ]+R_LARCH_TLS_LE_LO12[ ]+TLS1
+[ ]+58:[ ]+1a000004[ ]+pcalau12i[ ]+\$a0,[ ]+0
+[ ]+58:[ ]+R_LARCH_TLS_IE_PC_HI20[ ]+TLS1
+[ ]+5c:[ ]+02c00005[ ]+addi.d[ ]+\$a1,[ ]+\$zero,[ ]+0
+[ ]+5c:[ ]+R_LARCH_TLS_IE_PC_LO12[ ]+TLS1
+[ ]+60:[ ]+16000005[ ]+lu32i.d[ ]+\$a1,[ ]+0
+[ ]+60:[ ]+R_LARCH_TLS_IE64_PC_LO20[ ]+TLS1
+[ ]+64:[ ]+030000a5[ ]+lu52i.d[ ]+\$a1,[ ]+\$a1,[ ]+0
+[ ]+64:[ ]+R_LARCH_TLS_IE64_PC_HI12[ ]+TLS1
+[ ]+68:[ ]+380c1484[ ]+ldx.d[ ]+\$a0,[ ]+\$a0,[ ]+\$a1
+[ ]+6c:[ ]+1a000004[ ]+pcalau12i[ ]+\$a0,[ ]+0
+[ ]+6c:[ ]+R_LARCH_TLS_LD_PC_HI20[ ]+TLS1
+[ ]+70:[ ]+02c00005[ ]+addi.d[ ]+\$a1,[ ]+\$zero,[ ]+0
+[ ]+70:[ ]+R_LARCH_GOT_PC_LO12[ ]+TLS1
+[ ]+74:[ ]+16000005[ ]+lu32i.d[ ]+\$a1,[ ]+0
+[ ]+74:[ ]+R_LARCH_GOT64_PC_LO20[ ]+TLS1
+[ ]+78:[ ]+030000a5[ ]+lu52i.d[ ]+\$a1,[ ]+\$a1,[ ]+0
+[ ]+78:[ ]+R_LARCH_GOT64_PC_HI12[ ]+TLS1
+[ ]+7c:[ ]+00109484[ ]+add.d[ ]+\$a0,[ ]+\$a0,[ ]+\$a1
+[ ]+80:[ ]+1a000004[ ]+pcalau12i[ ]+\$a0,[ ]+0
+[ ]+80:[ ]+R_LARCH_TLS_GD_PC_HI20[ ]+TLS1
+[ ]+84:[ ]+02c00005[ ]+addi.d[ ]+\$a1,[ ]+\$zero,[ ]+0
+[ ]+84:[ ]+R_LARCH_GOT_PC_LO12[ ]+TLS1
+[ ]+88:[ ]+16000005[ ]+lu32i.d[ ]+\$a1,[ ]+0
+[ ]+88:[ ]+R_LARCH_GOT64_PC_LO20[ ]+TLS1
+[ ]+8c:[ ]+030000a5[ ]+lu52i.d[ ]+\$a1,[ ]+\$a1,[ ]+0
+[ ]+8c:[ ]+R_LARCH_GOT64_PC_HI12[ ]+TLS1
+[ ]+90:[ ]+00109484[ ]+add.d[ ]+\$a0,[ ]+\$a0,[ ]+\$a1
diff --git a/gas/testsuite/gas/loongarch/macro_op_large_pc.s b/gas/testsuite/gas/loongarch/macro_op_large_pc.s
new file mode 100644
index 0000000..fd76391
--- /dev/null
+++ b/gas/testsuite/gas/loongarch/macro_op_large_pc.s
@@ -0,0 +1,9 @@
+.L1:
+la.local $r4, $r5, .L1
+la.global $r4, $r5, .L1
+la.pcrel $r4, $r5, .L1
+la.got $r4, $r5, .L1
+la.tls.le $r4, TLS1
+la.tls.ie $r4, $r5, TLS1
+la.tls.ld $r4, $r5, TLS1
+la.tls.gd $r4, $r5, TLS1
diff --git a/gas/testsuite/gas/loongarch/reloc.d b/gas/testsuite/gas/loongarch/reloc.d
new file mode 100644
index 0000000..6f5f110
--- /dev/null
+++ b/gas/testsuite/gas/loongarch/reloc.d
@@ -0,0 +1,167 @@
+#as:
+#objdump: -dr
+#skip: loongarch32-*-*
+
+.*:[ ]+file format .*
+
+
+Disassembly of section .text:
+
+00000000.* <.text>:
+[ ]+0:[ ]+03400000[ ]+andi[ ]+\$zero,[ ]+\$zero,[ ]+0x0
+[ ]+4:[ ]+58000085[ ]+beq[ ]+\$a0,[ ]+\$a1,[ ]+0[ ]+#[ ]+0x4
+[ ]+4:[ ]+R_LARCH_B16[ ]+.L1
+[ ]+8:[ ]+5c000085[ ]+bne[ ]+\$a0,[ ]+\$a1,[ ]+0[ ]+#[ ]+0x8
+[ ]+8:[ ]+R_LARCH_B16[ ]+.L1
+[ ]+c:[ ]+60000085[ ]+blt[ ]+\$a0,[ ]+\$a1,[ ]+0[ ]+#[ ]+0xc
+[ ]+c:[ ]+R_LARCH_B16[ ]+.L1
+[ ]+10:[ ]+64000085[ ]+bge[ ]+\$a0,[ ]+\$a1,[ ]+0[ ]+#[ ]+0x10
+[ ]+10:[ ]+R_LARCH_B16[ ]+.L1
+[ ]+14:[ ]+68000085[ ]+bltu[ ]+\$a0,[ ]+\$a1,[ ]+0[ ]+#[ ]+0x14
+[ ]+14:[ ]+R_LARCH_B16[ ]+.L1
+[ ]+18:[ ]+6c000085[ ]+bgeu[ ]+\$a0,[ ]+\$a1,[ ]+0[ ]+#[ ]+0x18
+[ ]+18:[ ]+R_LARCH_B16[ ]+.L1
+[ ]+1c:[ ]+4c0000a4[ ]+jirl[ ]+\$a0,[ ]+\$a1,[ ]+0
+[ ]+1c:[ ]+R_LARCH_B16[ ]+.L1
+[ ]+20:[ ]+40000080[ ]+beqz[ ]+\$a0,[ ]+0[ ]+#[ ]+0x20
+[ ]+20:[ ]+R_LARCH_B21[ ]+.L1
+[ ]+24:[ ]+44000080[ ]+bnez[ ]+\$a0,[ ]+0[ ]+#[ ]+0x24
+[ ]+24:[ ]+R_LARCH_B21[ ]+.L1
+[ ]+28:[ ]+50000000[ ]+b[ ]+0[ ]+#[ ]+0x28
+[ ]+28:[ ]+R_LARCH_B26[ ]+.L1
+[ ]+2c:[ ]+54000000[ ]+bl[ ]+0[ ]+#[ ]+0x2c
+[ ]+2c:[ ]+R_LARCH_B26[ ]+.L1
+[ ]+30:[ ]+14000004[ ]+lu12i.w[ ]+\$a0,[ ]+0
+[ ]+30:[ ]+R_LARCH_ABS_HI20[ ]+.L1
+[ ]+34:[ ]+038000a4[ ]+ori[ ]+\$a0,[ ]+\$a1,[ ]+0x0
+[ ]+34:[ ]+R_LARCH_ABS_LO12[ ]+.L1
+[ ]+38:[ ]+16000004[ ]+lu32i.d[ ]+\$a0,[ ]+0
+[ ]+38:[ ]+R_LARCH_ABS64_LO20[ ]+.L1
+[ ]+3c:[ ]+03000085[ ]+lu52i.d[ ]+\$a1,[ ]+\$a0,[ ]+0
+[ ]+3c:[ ]+R_LARCH_ABS64_HI12[ ]+.L1
+[ ]+40:[ ]+1a000004[ ]+pcalau12i[ ]+\$a0,[ ]+0
+[ ]+40:[ ]+R_LARCH_PCALA_HI20[ ]+.L1
+[ ]+44:[ ]+1a000004[ ]+pcalau12i[ ]+\$a0,[ ]+0
+[ ]+44:[ ]+R_LARCH_GOT_PC_HI20[ ]+.L1
+[ ]+48:[ ]+1a000004[ ]+pcalau12i[ ]+\$a0,[ ]+0
+[ ]+48:[ ]+R_LARCH_GOT_PC_LO12[ ]+.L1
+[ ]+4c:[ ]+1a000004[ ]+pcalau12i[ ]+\$a0,[ ]+0
+[ ]+4c:[ ]+R_LARCH_TLS_IE_PC_HI20[ ]+TLSL1
+[ ]+50:[ ]+1a000004[ ]+pcalau12i[ ]+\$a0,[ ]+0
+[ ]+50:[ ]+R_LARCH_TLS_LD_PC_HI20[ ]+TLSL1
+[ ]+54:[ ]+1a000004[ ]+pcalau12i[ ]+\$a0,[ ]+0
+[ ]+54:[ ]+R_LARCH_TLS_GD_PC_HI20[ ]+TLSL1
+[ ]+58:[ ]+02800085[ ]+addi.w[ ]+\$a1,[ ]+\$a0,[ ]+0
+[ ]+58:[ ]+R_LARCH_PCALA_LO12[ ]+.L1
+[ ]+5c:[ ]+02c00085[ ]+addi.d[ ]+\$a1,[ ]+\$a0,[ ]+0
+[ ]+5c:[ ]+R_LARCH_PCALA_LO12[ ]+.L1
+[ ]+60:[ ]+28000085[ ]+ld.b[ ]+\$a1,[ ]+\$a0,[ ]+0
+[ ]+60:[ ]+R_LARCH_PCALA_LO12[ ]+.L1
+[ ]+64:[ ]+28400085[ ]+ld.h[ ]+\$a1,[ ]+\$a0,[ ]+0
+[ ]+64:[ ]+R_LARCH_PCALA_LO12[ ]+.L1
+[ ]+68:[ ]+28800085[ ]+ld.w[ ]+\$a1,[ ]+\$a0,[ ]+0
+[ ]+68:[ ]+R_LARCH_PCALA_LO12[ ]+.L1
+[ ]+6c:[ ]+28c00085[ ]+ld.d[ ]+\$a1,[ ]+\$a0,[ ]+0
+[ ]+6c:[ ]+R_LARCH_PCALA_LO12[ ]+.L1
+[ ]+70:[ ]+16000004[ ]+lu32i.d[ ]+\$a0,[ ]+0
+[ ]+70:[ ]+R_LARCH_PCALA64_LO20[ ]+.L1
+[ ]+74:[ ]+03000085[ ]+lu52i.d[ ]+\$a1,[ ]+\$a0,[ ]+0
+[ ]+74:[ ]+R_LARCH_PCALA64_LO20[ ]+.L1
+[ ]+78:[ ]+16000004[ ]+lu32i.d[ ]+\$a0,[ ]+0
+[ ]+78:[ ]+R_LARCH_GOT64_PC_LO20[ ]+.L1
+[ ]+7c:[ ]+03000085[ ]+lu52i.d[ ]+\$a1,[ ]+\$a0,[ ]+0
+[ ]+7c:[ ]+R_LARCH_GOT64_PC_HI12[ ]+.L1
+[ ]+80:[ ]+14000004[ ]+lu12i.w[ ]+\$a0,[ ]+0
+[ ]+80:[ ]+R_LARCH_GOT_HI20[ ]+.L1
+[ ]+84:[ ]+03800084[ ]+ori[ ]+\$a0,[ ]+\$a0,[ ]+0x0
+[ ]+84:[ ]+R_LARCH_GOT_LO12[ ]+.L1
+[ ]+88:[ ]+16000004[ ]+lu32i.d[ ]+\$a0,[ ]+0
+[ ]+88:[ ]+R_LARCH_GOT64_LO20[ ]+.L1
+[ ]+8c:[ ]+03000085[ ]+lu52i.d[ ]+\$a1,[ ]+\$a0,[ ]+0
+[ ]+8c:[ ]+R_LARCH_GOT64_HI12[ ]+.L1
+[ ]+90:[ ]+14000004[ ]+lu12i.w[ ]+\$a0,[ ]+0
+[ ]+90:[ ]+R_LARCH_TLS_LE_HI20[ ]+TLSL1
+[ ]+94:[ ]+03800085[ ]+ori[ ]+\$a1,[ ]+\$a0,[ ]+0x0
+[ ]+94:[ ]+R_LARCH_TLS_LE_LO12[ ]+TLSL1
+[ ]+98:[ ]+16000004[ ]+lu32i.d[ ]+\$a0,[ ]+0
+[ ]+98:[ ]+R_LARCH_TLS_LE64_LO20[ ]+TLSL1
+[ ]+9c:[ ]+03000085[ ]+lu52i.d[ ]+\$a1,[ ]+\$a0,[ ]+0
+[ ]+9c:[ ]+R_LARCH_TLS_LE64_HI12[ ]+TLSL1
+[ ]+a0:[ ]+58000085[ ]+beq[ ]+\$a0,[ ]+\$a1,[ ]+0[ ]+#[ ]+0xa0
+[ ]+a0:[ ]+R_LARCH_B16[ ]+.L1\+0x8
+[ ]+a4:[ ]+5c000085[ ]+bne[ ]+\$a0,[ ]+\$a1,[ ]+0[ ]+#[ ]+0xa4
+[ ]+a4:[ ]+R_LARCH_B16[ ]+.L1\+0x8
+[ ]+a8:[ ]+60000085[ ]+blt[ ]+\$a0,[ ]+\$a1,[ ]+0[ ]+#[ ]+0xa8
+[ ]+a8:[ ]+R_LARCH_B16[ ]+.L1\+0x8
+[ ]+ac:[ ]+64000085[ ]+bge[ ]+\$a0,[ ]+\$a1,[ ]+0[ ]+#[ ]+0xac
+[ ]+ac:[ ]+R_LARCH_B16[ ]+.L1\+0x8
+[ ]+b0:[ ]+68000085[ ]+bltu[ ]+\$a0,[ ]+\$a1,[ ]+0[ ]+#[ ]+0xb0
+[ ]+b0:[ ]+R_LARCH_B16[ ]+.L1\+0x8
+[ ]+b4:[ ]+6c000085[ ]+bgeu[ ]+\$a0,[ ]+\$a1,[ ]+0[ ]+#[ ]+0xb4
+[ ]+b4:[ ]+R_LARCH_B16[ ]+.L1\+0x8
+[ ]+b8:[ ]+4c0000a4[ ]+jirl[ ]+\$a0,[ ]+\$a1,[ ]+0
+[ ]+b8:[ ]+R_LARCH_B16[ ]+.L1\+0x8
+[ ]+bc:[ ]+40000080[ ]+beqz[ ]+\$a0,[ ]+0[ ]+#[ ]+0xbc
+[ ]+bc:[ ]+R_LARCH_B21[ ]+.L1\+0x8
+[ ]+c0:[ ]+44000080[ ]+bnez[ ]+\$a0,[ ]+0[ ]+#[ ]+0xc0
+[ ]+c0:[ ]+R_LARCH_B21[ ]+.L1\+0x8
+[ ]+c4:[ ]+50000000[ ]+b[ ]+0[ ]+#[ ]+0xc4
+[ ]+c4:[ ]+R_LARCH_B26[ ]+.L1\+0x8
+[ ]+c8:[ ]+54000000[ ]+bl[ ]+0[ ]+#[ ]+0xc8
+[ ]+c8:[ ]+R_LARCH_B26[ ]+.L1\+0x8
+[ ]+cc:[ ]+14000004[ ]+lu12i.w[ ]+\$a0,[ ]+0
+[ ]+cc:[ ]+R_LARCH_ABS_HI20[ ]+.L1\+0x8
+[ ]+d0:[ ]+038000a4[ ]+ori[ ]+\$a0,[ ]+\$a1,[ ]+0x0
+[ ]+d0:[ ]+R_LARCH_ABS_LO12[ ]+.L1\+0x8
+[ ]+d4:[ ]+16000004[ ]+lu32i.d[ ]+\$a0,[ ]+0
+[ ]+d4:[ ]+R_LARCH_ABS64_LO20[ ]+.L1\+0x8
+[ ]+d8:[ ]+03000085[ ]+lu52i.d[ ]+\$a1,[ ]+\$a0,[ ]+0
+[ ]+d8:[ ]+R_LARCH_ABS64_HI12[ ]+.L1\+0x8
+[ ]+dc:[ ]+1a000004[ ]+pcalau12i[ ]+\$a0,[ ]+0
+[ ]+dc:[ ]+R_LARCH_PCALA_HI20[ ]+.L1\+0x8
+[ ]+e0:[ ]+1a000004[ ]+pcalau12i[ ]+\$a0,[ ]+0
+[ ]+e0:[ ]+R_LARCH_GOT_PC_HI20[ ]+.L1\+0x8
+[ ]+e4:[ ]+1a000004[ ]+pcalau12i[ ]+\$a0,[ ]+0
+[ ]+e4:[ ]+R_LARCH_GOT_PC_LO12[ ]+.L1\+0x8
+[ ]+e8:[ ]+1a000004[ ]+pcalau12i[ ]+\$a0,[ ]+0
+[ ]+e8:[ ]+R_LARCH_TLS_IE_PC_HI20[ ]+TLSL1\+0x8
+[ ]+ec:[ ]+1a000004[ ]+pcalau12i[ ]+\$a0,[ ]+0
+[ ]+ec:[ ]+R_LARCH_TLS_LD_PC_HI20[ ]+TLSL1\+0x8
+[ ]+f0:[ ]+1a000004[ ]+pcalau12i[ ]+\$a0,[ ]+0
+[ ]+f0:[ ]+R_LARCH_TLS_GD_PC_HI20[ ]+TLSL1\+0x8
+[ ]+f4:[ ]+02800085[ ]+addi.w[ ]+\$a1,[ ]+\$a0,[ ]+0
+[ ]+f4:[ ]+R_LARCH_PCALA_LO12[ ]+.L1\+0x8
+[ ]+f8:[ ]+02c00085[ ]+addi.d[ ]+\$a1,[ ]+\$a0,[ ]+0
+[ ]+f8:[ ]+R_LARCH_PCALA_LO12[ ]+.L1\+0x8
+[ ]+fc:[ ]+28000085[ ]+ld.b[ ]+\$a1,[ ]+\$a0,[ ]+0
+[ ]+fc:[ ]+R_LARCH_PCALA_LO12[ ]+.L1\+0x8
+[ ]+100:[ ]+28400085[ ]+ld.h[ ]+\$a1,[ ]+\$a0,[ ]+0
+[ ]+100:[ ]+R_LARCH_PCALA_LO12[ ]+.L1\+0x8
+[ ]+104:[ ]+28800085[ ]+ld.w[ ]+\$a1,[ ]+\$a0,[ ]+0
+[ ]+104:[ ]+R_LARCH_PCALA_LO12[ ]+.L1\+0x8
+[ ]+108:[ ]+28c00085[ ]+ld.d[ ]+\$a1,[ ]+\$a0,[ ]+0
+[ ]+108:[ ]+R_LARCH_PCALA_LO12[ ]+.L1\+0x8
+[ ]+10c:[ ]+16000004[ ]+lu32i.d[ ]+\$a0,[ ]+0
+[ ]+10c:[ ]+R_LARCH_PCALA64_LO20[ ]+.L1\+0x8
+[ ]+110:[ ]+03000085[ ]+lu52i.d[ ]+\$a1,[ ]+\$a0,[ ]+0
+[ ]+110:[ ]+R_LARCH_PCALA64_LO20[ ]+.L1\+0x8
+[ ]+114:[ ]+16000004[ ]+lu32i.d[ ]+\$a0,[ ]+0
+[ ]+114:[ ]+R_LARCH_GOT64_PC_LO20[ ]+.L1\+0x8
+[ ]+118:[ ]+03000085[ ]+lu52i.d[ ]+\$a1,[ ]+\$a0,[ ]+0
+[ ]+118:[ ]+R_LARCH_GOT64_PC_HI12[ ]+.L1\+0x8
+[ ]+11c:[ ]+14000004[ ]+lu12i.w[ ]+\$a0,[ ]+0
+[ ]+11c:[ ]+R_LARCH_GOT_HI20[ ]+.L1\+0x8
+[ ]+120:[ ]+03800084[ ]+ori[ ]+\$a0,[ ]+\$a0,[ ]+0x0
+[ ]+120:[ ]+R_LARCH_GOT_LO12[ ]+.L1\+0x8
+[ ]+124:[ ]+16000004[ ]+lu32i.d[ ]+\$a0,[ ]+0
+[ ]+124:[ ]+R_LARCH_GOT64_LO20[ ]+.L1\+0x8
+[ ]+128:[ ]+03000085[ ]+lu52i.d[ ]+\$a1,[ ]+\$a0,[ ]+0
+[ ]+128:[ ]+R_LARCH_GOT64_HI12[ ]+.L1\+0x8
+[ ]+12c:[ ]+14000004[ ]+lu12i.w[ ]+\$a0,[ ]+0
+[ ]+12c:[ ]+R_LARCH_TLS_LE_HI20[ ]+TLSL1\+0x8
+[ ]+130:[ ]+03800085[ ]+ori[ ]+\$a1,[ ]+\$a0,[ ]+0x0
+[ ]+130:[ ]+R_LARCH_TLS_LE_LO12[ ]+TLSL1\+0x8
+[ ]+134:[ ]+16000004[ ]+lu32i.d[ ]+\$a0,[ ]+0
+[ ]+134:[ ]+R_LARCH_TLS_LE64_LO20[ ]+TLSL1\+0x8
+[ ]+138:[ ]+03000085[ ]+lu52i.d[ ]+\$a1,[ ]+\$a0,[ ]+0
+[ ]+138:[ ]+R_LARCH_TLS_LE64_HI12[ ]+TLSL1\+0x8
diff --git a/gas/testsuite/gas/loongarch/reloc.s b/gas/testsuite/gas/loongarch/reloc.s
new file mode 100644
index 0000000..a67fecd
--- /dev/null
+++ b/gas/testsuite/gas/loongarch/reloc.s
@@ -0,0 +1,144 @@
+/* Test insn relocs. */
+.text
+nop
+
+/* Jump Insns. */
+/* b16. */
+beq $r4,$r5,%b16(.L1)
+bne $r4,$r5,%b16(.L1)
+blt $r4,$r5,%b16(.L1)
+bge $r4,$r5,%b16(.L1)
+bltu $r4,$r5,%b16(.L1)
+bgeu $r4,$r5,%b16(.L1)
+jirl $r4,$r5,%b16(.L1)
+
+/* b21. */
+beqz $r4,%b21(.L1)
+bnez $r4,%b21(.L1)
+
+/* b26. */
+b %b26(.L1)
+bl %b26(.L1)
+
+
+/* ABS Insns. */
+/* lu12i.w. */
+lu12i.w $r4,%abs_hi20(.L1)
+
+/* ori */
+ori $r4,$r5,%abs_lo12(.L1)
+
+/* lu32i.d. */
+lu32i.d $r4,%abs64_lo20(.L1)
+
+/* lu52i.d. */
+lu52i.d $r5,$r4,%abs64_hi12(.L1)
+
+
+/* Pcala Insns. */
+/* pcalau12i. */
+pcalau12i $r4,%pc_hi20(.L1)
+pcalau12i $r4,%got_pc_hi20(.L1)
+pcalau12i $r4,%got_pc_lo12(.L1)
+pcalau12i $r4,%ie_pc_hi20(TLSL1)
+pcalau12i $r4,%ld_pc_hi20(TLSL1)
+pcalau12i $r4,%gd_pc_hi20(TLSL1)
+
+/* addi.w/d ld.b/h/w/d. */
+addi.w $r5,$r4,%pc_lo12(.L1)
+addi.d $r5,$r4,%pc_lo12(.L1)
+ld.b $r5,$r4,%pc_lo12(.L1)
+ld.h $r5,$r4,%pc_lo12(.L1)
+ld.w $r5,$r4,%pc_lo12(.L1)
+ld.d $r5,$r4,%pc_lo12(.L1)
+lu32i.d $r4,%pc64_lo20(.L1)
+lu52i.d $r5,$r4,%pc64_lo20(.L1)
+lu32i.d $r4,%got64_pc_lo20(.L1)
+lu52i.d $r5,$r4,%got64_pc_hi12(.L1)
+
+
+/* GOT64 Insns. */
+/* lu12i.w. */
+lu12i.w $r4,%got_hi20(.L1)
+ori $r4,$r4,%got_lo12(.L1)
+lu32i.d $r4,%got64_lo20(.L1)
+lu52i.d $r5,$r4,%got64_hi12(.L1)
+
+
+/* TLS Insns. */
+lu12i.w $r4,%le_hi20(TLSL1)
+ori $r5,$r4,%le_lo12(TLSL1)
+lu32i.d $r4,%le64_lo20(TLSL1)
+lu52i.d $r5,$r4,%le64_hi12(TLSL1)
+
+
+
+/* Insns with addend. */
+/* Jump Insns. */
+/* b16. */
+beq $r4,$r5,%b16(.L1 + 0x8)
+bne $r4,$r5,%b16(.L1 + 0x8)
+blt $r4,$r5,%b16(.L1 + 0x8)
+bge $r4,$r5,%b16(.L1 + 0x8)
+bltu $r4,$r5,%b16(.L1 + 0x8)
+bgeu $r4,$r5,%b16(.L1 + 0x8)
+jirl $r4,$r5,%b16(.L1 + 0x8)
+
+/* b21. */
+beqz $r4,%b21(.L1 + 0x8)
+bnez $r4,%b21(.L1 + 0x8)
+
+/* b26. */
+b %b26(.L1 + 0x8)
+bl %b26(.L1 + 0x8)
+
+
+/* ABS Insns. */
+/* lu12i.w. */
+lu12i.w $r4,%abs_hi20(.L1 + 0x8)
+
+/* ori */
+ori $r4,$r5,%abs_lo12(.L1 + 0x8)
+
+/* lu32i.d. */
+lu32i.d $r4,%abs64_lo20(.L1 + 0x8)
+
+/* lu52i.d. */
+lu52i.d $r5,$r4,%abs64_hi12(.L1 + 0x8)
+
+
+/* Pcala Insns. */
+/* pcalau12i. */
+pcalau12i $r4,%pc_hi20(.L1 + 0x8)
+pcalau12i $r4,%got_pc_hi20(.L1 + 0x8)
+pcalau12i $r4,%got_pc_lo12(.L1 + 0x8)
+pcalau12i $r4,%ie_pc_hi20(TLSL1 + 0x8)
+pcalau12i $r4,%ld_pc_hi20(TLSL1 + 0x8)
+pcalau12i $r4,%gd_pc_hi20(TLSL1 + 0x8)
+
+/* addi.w/d ld.b/h/w/d. */
+addi.w $r5,$r4,%pc_lo12(.L1 + 0x8)
+addi.d $r5,$r4,%pc_lo12(.L1 + 0x8)
+ld.b $r5,$r4,%pc_lo12(.L1 + 0x8)
+ld.h $r5,$r4,%pc_lo12(.L1 + 0x8)
+ld.w $r5,$r4,%pc_lo12(.L1 + 0x8)
+ld.d $r5,$r4,%pc_lo12(.L1 + 0x8)
+lu32i.d $r4,%pc64_lo20(.L1 + 0x8)
+lu52i.d $r5,$r4,%pc64_lo20(.L1 + 0x8)
+lu32i.d $r4,%got64_pc_lo20(.L1 + 0x8)
+lu52i.d $r5,$r4,%got64_pc_hi12(.L1 + 0x8)
+
+
+/* GOT64 Insns. */
+/* lu12i.w. */
+lu12i.w $r4,%got_hi20(.L1 + 0x8)
+ori $r4,$r4,%got_lo12(.L1 + 0x8)
+lu32i.d $r4,%got64_lo20(.L1 + 0x8)
+lu52i.d $r5,$r4,%got64_hi12(.L1 + 0x8)
+
+
+/* TLS Insns. */
+lu12i.w $r4,%le_hi20(TLSL1 + 0x8)
+ori $r5,$r4,%le_lo12(TLSL1 + 0x8)
+lu32i.d $r4,%le64_lo20(TLSL1 + 0x8)
+lu52i.d $r5,$r4,%le64_hi12(TLSL1 + 0x8)