aboutsummaryrefslogtreecommitdiff
path: root/include/opcode
diff options
context:
space:
mode:
authormengqinggang <mengqinggang@loongson.cn>2025-09-22 11:43:41 +0800
committermengqinggang <mengqinggang@loongson.cn>2025-12-10 16:06:48 +0800
commitd17b290265a67e32285c2b6ee838f4a1ad8f1e11 (patch)
tree4716451226f766e86c44adb9d798e3b26f66651f /include/opcode
parent82f67b063b096903c487002ef111e6d65de1e3a5 (diff)
downloadbinutils-d17b290265a67e32285c2b6ee838f4a1ad8f1e11.tar.gz
binutils-d17b290265a67e32285c2b6ee838f4a1ad8f1e11.tar.bz2
binutils-d17b290265a67e32285c2b6ee838f4a1ad8f1e11.zip
LoongArch: Add linker relaxation for got_pcadd_hi20 and got_pcadd_lo12
.L1: pcaddu12i $t0, %got_pcadd_hi20(a) -> pcaddu12i $t0, %pcadd_hi20(a) ld.w/d $t0, $t0, %got_pcadd_lo12(.L1) -> addi.w/d $t0, $t0, %pcadd_lo12(.L1)
Diffstat (limited to 'include/opcode')
-rw-r--r--include/opcode/loongarch.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/include/opcode/loongarch.h b/include/opcode/loongarch.h
index b76e295b6d4..fb6f8be68de 100644
--- a/include/opcode/loongarch.h
+++ b/include/opcode/loongarch.h
@@ -36,6 +36,7 @@ extern "C"
#define LARCH_MK_ADDI_D 0xffc00000
#define LARCH_OP_ADDI_D 0x02c00000
+ #define LARCH_MK_ADDI_W LARCH_MK_ADDI_D
#define LARCH_OP_ADDI_W 0x02800000
#define LARCH_MK_PCADDI 0xfe000000
#define LARCH_OP_PCADDI 0x18000000
@@ -50,6 +51,7 @@ extern "C"
#define LARCH_OP_LU12I_W 0x14000000
#define LARCH_MK_LD_D 0xffc00000
#define LARCH_OP_LD_D 0x28c00000
+ #define LARCH_MK_LD_W LARCH_MK_LD_D
#define LARCH_OP_LD_W 0x28800000
#define LARCH_MK_JIRL 0xfc000000
#define LARCH_OP_JIRL 0x4c000000
@@ -85,6 +87,7 @@ extern "C"
#define LARCH_INSN_ORI(insn) LARCH_INSN_OPS((insn), ORI)
#define LARCH_INSN_LU12I_W(insn) LARCH_INSN_OPS((insn), LU12I_W)
#define LARCH_INSN_LD_D(insn) LARCH_INSN_OPS((insn), LD_D)
+ #define LARCH_INSN_LD_W(insn) LARCH_INSN_OPS((insn), LD_W)
#define LARCH_INSN_JIRL(insn) LARCH_INSN_OPS((insn), JIRL)
#define LARCH_INSN_BCEQZ(insn) LARCH_INSN_OPS((insn), BCEQZ)
#define LARCH_INSN_BCNEZ(insn) LARCH_INSN_OPS((insn), BCNEZ)