summaryrefslogtreecommitdiff
path: root/cipher/sha1-armv8-aarch64-ce.S
diff options
context:
space:
mode:
authorJussi Kivilinna <jussi.kivilinna@iki.fi>2023-01-17 21:11:54 +0200
committerJussi Kivilinna <jussi.kivilinna@iki.fi>2023-01-19 18:57:40 +0200
commitb3d7d520a0aab8b3356749fa4765a7f1f5c676d6 (patch)
tree415ec6a02fe86cca54f4f5f50190d9f17c73949d /cipher/sha1-armv8-aarch64-ce.S
parent65f52773d4bb59a4ea4b7e373fe79b3559ddf312 (diff)
downloadlibgcrypt-b3d7d520a0aab8b3356749fa4765a7f1f5c676d6.tar.gz
aarch64-asm: move constant data to read-only section
* cipher/asm-common-aarch64.h (SECTION_RODATA) (GET_DATA_POINTER): New. (GET_LOCAL_POINTER): Remove. * cipher/camellia-aarch64.S: Move constant data to read-only data section; Remove unneeded '.ltorg'. * cipher/chacha20-aarch64.S: Likewise. * cipher/cipher-gcm-armv8-aarch64-ce.S: Likewise. * cipher/crc-armv8-aarch64-ce.S: Likewise. * cipher/rijndael-aarch64.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. * cipher/sm4-armv9-aarch64-sve-ce.S: Likewise. * cipher/twofish-aarch64.S: Likewise. -- 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.S9
1 files changed, 6 insertions, 3 deletions
diff --git a/cipher/sha1-armv8-aarch64-ce.S b/cipher/sha1-armv8-aarch64-ce.S
index f95717ee..28fb1c14 100644
--- a/cipher/sha1-armv8-aarch64-ce.S
+++ b/cipher/sha1-armv8-aarch64-ce.S
@@ -25,16 +25,17 @@
.cpu generic+simd+crypto
-.text
-
/* Constants */
+SECTION_RODATA
+
#define K1 0x5A827999
#define K2 0x6ED9EBA1
#define K3 0x8F1BBCDC
#define K4 0xCA62C1D6
.align 4
+ELF(.type gcry_sha1_aarch64_ce_K_VEC,%object;)
gcry_sha1_aarch64_ce_K_VEC:
.LK_VEC:
.LK1: .long K1, K1, K1, K1
@@ -91,6 +92,8 @@ gcry_sha1_aarch64_ce_K_VEC:
#define CLEAR_REG(reg) movi reg.16b, #0;
+.text
+
/*
* unsigned int
* _gcry_sha1_transform_armv8_ce (void *ctx, const unsigned char *data,
@@ -109,7 +112,7 @@ _gcry_sha1_transform_armv8_ce:
cbz x2, .Ldo_nothing;
- GET_LOCAL_POINTER(x4, .LK_VEC);
+ GET_DATA_POINTER(x4, .LK_VEC);
ld1 {vH0123.4s}, [x0] /* load h0,h1,h2,h3 */
ld1 {vK1.4s-vK4.4s}, [x4] /* load K1,K2,K3,K4 */