From 4fe02571dd1eb90b52545dc1a3c31011af063477 Mon Sep 17 00:00:00 2001 From: Frank Denis Date: Thu, 9 Apr 2026 00:08:56 +0200 Subject: [PATCH] Fix compilation on ARM with very old gcc versions --- .../aes256gcm/armcrypto/aead_aes256gcm_armcrypto.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/libsodium/crypto_aead/aes256gcm/armcrypto/aead_aes256gcm_armcrypto.c b/src/libsodium/crypto_aead/aes256gcm/armcrypto/aead_aes256gcm_armcrypto.c index ac73165e..ffddb7e7 100644 --- a/src/libsodium/crypto_aead/aes256gcm/armcrypto/aead_aes256gcm_armcrypto.c +++ b/src/libsodium/crypto_aead/aes256gcm/armcrypto/aead_aes256gcm_armcrypto.c @@ -81,17 +81,17 @@ REV128_(uint64x2_t x) vreinterpretq_u64_u32(vdupq_laneq_u32(vreinterpretq_u32_u64(x), 3)) #define SWAP64HALVES(x) \ vreinterpretq_u64_u32(vextq_u32(vreinterpretq_u32_u64(x), \ - vreinterpretq_u32_u64(x), 2)) + vreinterpretq_u32_u64(x), 2)) #define CLMULLO128(a, b) \ - vreinterpretq_u64_p128(vmull_p64(vget_low_p64(vreinterpretq_p64_u64(a)), \ - vget_low_p64(vreinterpretq_p64_u64(b)))) + vreinterpretq_u64_p128(vmull_p64(vgetq_lane_p64(vreinterpretq_p64_u64(a), 0), \ + vgetq_lane_p64(vreinterpretq_p64_u64(b), 0))) #define CLMULLOHI128(a, b) \ - vreinterpretq_u64_p128(vmull_p64(vget_low_p64(vreinterpretq_p64_u64(a)), \ - vget_high_p64(vreinterpretq_p64_u64(b)))) + vreinterpretq_u64_p128(vmull_p64(vgetq_lane_p64(vreinterpretq_p64_u64(a), 0), \ + vgetq_lane_p64(vreinterpretq_p64_u64(b), 1))) #define CLMULHILO128(a, b) \ - vreinterpretq_u64_p128(vmull_p64(vget_high_p64(vreinterpretq_p64_u64(a)), \ - vget_low_p64(vreinterpretq_p64_u64(b)))) + vreinterpretq_u64_p128(vmull_p64(vgetq_lane_p64(vreinterpretq_p64_u64(a), 1), \ + vgetq_lane_p64(vreinterpretq_p64_u64(b), 0))) #if defined(__GNUC__) || defined(__clang__) #define PREFETCH_READ(x) __builtin_prefetch((x), 0, 2)