summaryrefslogtreecommitdiff
path: root/cipher/sha1-armv8-aarch64-ce.S
diff options
context:
space:
mode:
authorJussi Kivilinna <jussi.kivilinna@iki.fi>2022-05-12 09:06:07 +0300
committerJussi Kivilinna <jussi.kivilinna@iki.fi>2022-05-15 11:06:02 +0300
commitfd02e8e78470deb661269c429f3348f811c054c6 (patch)
tree65db38859f583410d4e59ead6b102563dc6d9a3a /cipher/sha1-armv8-aarch64-ce.S
parenta9700956361d280746f2bffe94cbdb72c95eb3ed (diff)
downloadlibgcrypt-fd02e8e78470deb661269c429f3348f811c054c6.tar.gz
aarch64-asm: use ADR for getting pointers for local labels
* cipher/asm-common-aarch64.h (GET_DATA_POINTER): Remove. (GET_LOCAL_POINTER): New. * cipher/camellia-aarch64.S: Use GET_LOCAL_POINTER instead of ADR instruction directly. * cipher/chacha20-aarch64.S: Use GET_LOCAL_POINTER instead of GET_DATA_POINTER. * cipher/cipher-gcm-armv8-aarch64-ce.S: Likewise. * cipher/crc-armv8-aarch64-ce.S: Likewise. * cipher/sha1-armv8-aarch64-ce.S: Likewise. * cipher/sha256-armv8-aarch64-ce.S: Likewise. * cipher/sm3-aarch64.S: Likewise. * cipher/sm3-armv8-aarch64-ce.S: Likewise. * cipher/sm4-aarch64.S: Likewise. --- Switch to use ADR instead of ADRP/LDR or ADRP/ADD for getting data pointers within assembly files. ADR is more portable across targets and does not require labels to be declared in GOT tables. Reviewed-and-tested-by: Tianjia Zhang <tianjia.zhang@linux.alibaba.com> Signed-off-by: Jussi Kivilinna <jussi.kivilinna@iki.fi>
Diffstat (limited to 'cipher/sha1-armv8-aarch64-ce.S')
-rw-r--r--cipher/sha1-armv8-aarch64-ce.S2
1 files changed, 1 insertions, 1 deletions
diff --git a/cipher/sha1-armv8-aarch64-ce.S b/cipher/sha1-armv8-aarch64-ce.S
index ea26564b..f95717ee 100644
--- a/cipher/sha1-armv8-aarch64-ce.S
+++ b/cipher/sha1-armv8-aarch64-ce.S
@@ -109,7 +109,7 @@ _gcry_sha1_transform_armv8_ce:
cbz x2, .Ldo_nothing;
- GET_DATA_POINTER(x4, .LK_VEC);
+ GET_LOCAL_POINTER(x4, .LK_VEC);
ld1 {vH0123.4s}, [x0] /* load h0,h1,h2,h3 */
ld1 {vK1.4s-vK4.4s}, [x4] /* load K1,K2,K3,K4 */