From fb4533b0a941b3a5b1db5687d1b008a5853d1f29 Mon Sep 17 00:00:00 2001 From: Frank Denis Date: Wed, 13 Sep 2023 15:46:16 +0200 Subject: [PATCH] Port the GCC target changes for aarch64 to aegis Fixes #1313 --- src/libsodium/crypto_aead/aegis128l/aegis128l_armcrypto.c | 5 ++++- src/libsodium/crypto_aead/aegis256/aegis256_armcrypto.c | 5 ++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/src/libsodium/crypto_aead/aegis128l/aegis128l_armcrypto.c b/src/libsodium/crypto_aead/aegis128l/aegis128l_armcrypto.c index 8f2adf8c..825de8a1 100644 --- a/src/libsodium/crypto_aead/aegis128l/aegis128l_armcrypto.c +++ b/src/libsodium/crypto_aead/aegis128l/aegis128l_armcrypto.c @@ -20,9 +20,12 @@ #ifdef __clang__ #pragma clang attribute push(__attribute__((target("neon,crypto,aes"))), apply_to = function) #elif defined(__GNUC__) -#pragma GCC target("neon,crypto,aes") +#pragma GCC target("+simd+crypto") #endif +#ifndef __ARM_FEATURE_CRYPTO +#define __ARM_FEATURE_CRYPTO 1 +#endif #ifndef __ARM_FEATURE_AES #define __ARM_FEATURE_AES 1 #endif diff --git a/src/libsodium/crypto_aead/aegis256/aegis256_armcrypto.c b/src/libsodium/crypto_aead/aegis256/aegis256_armcrypto.c index 62974ae2..e1ebd577 100644 --- a/src/libsodium/crypto_aead/aegis256/aegis256_armcrypto.c +++ b/src/libsodium/crypto_aead/aegis256/aegis256_armcrypto.c @@ -20,9 +20,12 @@ #ifdef __clang__ #pragma clang attribute push(__attribute__((target("neon,crypto,aes"))), apply_to = function) #elif defined(__GNUC__) -#pragma GCC target("neon,crypto,aes") +#pragma GCC target("+simd+crypto") #endif +#ifndef __ARM_FEATURE_CRYPTO +#define __ARM_FEATURE_CRYPTO 1 +#endif #ifndef __ARM_FEATURE_AES #define __ARM_FEATURE_AES 1 #endif