67 lines
2 KiB
Diff
67 lines
2 KiB
Diff
From fb72c81f9894b23797f6e2e066532c0963f5155f Mon Sep 17 00:00:00 2001
|
|
From: dengjianbo <dengjianbo@loongson.cn>
|
|
Date: Wed, 13 Sep 2023 15:35:01 +0800
|
|
Subject: [PATCH 24/29] LoongArch: Change to put magic number to .rodata
|
|
section
|
|
|
|
Change to put magic number to .rodata section in memmove-lsx, and use
|
|
pcalau12i and %pc_lo12 with vld to get the data.
|
|
|
|
Signed-off-by: Peng Fan <fanpeng@loongson.cn>
|
|
Signed-off-by: ticat_fp <fanpeng@loongson.cn>
|
|
---
|
|
.../loongarch/lp64/multiarch/memmove-lsx.S | 20 +++++++++----------
|
|
1 file changed, 10 insertions(+), 10 deletions(-)
|
|
|
|
diff --git a/sysdeps/loongarch/lp64/multiarch/memmove-lsx.S b/sysdeps/loongarch/lp64/multiarch/memmove-lsx.S
|
|
index 8a936770..5eb819ef 100644
|
|
--- a/sysdeps/loongarch/lp64/multiarch/memmove-lsx.S
|
|
+++ b/sysdeps/loongarch/lp64/multiarch/memmove-lsx.S
|
|
@@ -209,13 +209,10 @@ L(al_less_16):
|
|
nop
|
|
|
|
|
|
-L(magic_num):
|
|
- .dword 0x0706050403020100
|
|
- .dword 0x0f0e0d0c0b0a0908
|
|
L(unaligned):
|
|
- pcaddi t2, -4
|
|
+ pcalau12i t2, %pc_hi20(L(INDEX))
|
|
bstrins.d a1, zero, 3, 0
|
|
- vld vr8, t2, 0
|
|
+ vld vr8, t2, %pc_lo12(L(INDEX))
|
|
vld vr0, a1, 0
|
|
|
|
vld vr1, a1, 16
|
|
@@ -413,13 +410,10 @@ L(back_al_less_16):
|
|
vst vr1, a0, 0
|
|
jr ra
|
|
|
|
-L(magic_num_2):
|
|
- .dword 0x0706050403020100
|
|
- .dword 0x0f0e0d0c0b0a0908
|
|
L(back_unaligned):
|
|
- pcaddi t2, -4
|
|
+ pcalau12i t2, %pc_hi20(L(INDEX))
|
|
bstrins.d a4, zero, 3, 0
|
|
- vld vr8, t2, 0
|
|
+ vld vr8, t2, %pc_lo12(L(INDEX))
|
|
vld vr0, a4, 0
|
|
|
|
vld vr1, a4, -16
|
|
@@ -529,6 +523,12 @@ L(back_un_less_16):
|
|
jr ra
|
|
END(MEMMOVE_NAME)
|
|
|
|
+ .section .rodata.cst16,"M",@progbits,16
|
|
+ .align 4
|
|
+L(INDEX):
|
|
+ .dword 0x0706050403020100
|
|
+ .dword 0x0f0e0d0c0b0a0908
|
|
+
|
|
libc_hidden_builtin_def (MEMCPY_NAME)
|
|
libc_hidden_builtin_def (MEMMOVE_NAME)
|
|
#endif
|
|
--
|
|
2.33.0
|
|
|