diff --git a/src/libsodium/crypto_aead/aegis256/aead_aegis256.c b/src/libsodium/crypto_aead/aegis256/aead_aegis256.c index 947ecc3562..0fd8f966cf 100644 --- a/src/libsodium/crypto_aead/aegis256/aead_aegis256.c +++ b/src/libsodium/crypto_aead/aegis256/aead_aegis256.c @@ -15,7 +15,7 @@ #include "aegis256_armcrypto.h" #endif -#if defined(HAVE_WMMINTRIN_H) +#if defined(HAVE_AVXINTRIN_H) && defined(HAVE_WMMINTRIN_H) #include "aegis256_aesni.h" #endif @@ -148,8 +148,8 @@ _crypto_aead_aegis256_pick_best_implementation(void) } #endif -#if defined(HAVE_WMMINTRIN_H) - if (sodium_runtime_has_aesni()) { +#if defined(HAVE_AVXINTRIN_H) && defined(HAVE_WMMINTRIN_H) + if (sodium_runtime_has_aesni() & sodium_runtime_has_avx()) { implementation = &aegis256_aesni_implementation; return 0; } diff --git a/src/libsodium/crypto_aead/aegis256/aegis256_aesni.c b/src/libsodium/crypto_aead/aegis256/aegis256_aesni.c index 8697db47f2..96aa0036ba 100644 --- a/src/libsodium/crypto_aead/aegis256/aegis256_aesni.c +++ b/src/libsodium/crypto_aead/aegis256/aegis256_aesni.c @@ -18,9 +18,9 @@ #include "aegis256_aesni.h" #ifdef __clang__ -#pragma clang attribute push(__attribute__((target("aes"))), apply_to = function) +#pragma clang attribute push(__attribute__((target("aes,avx"))), apply_to = function) #elif defined(__GNUC__) -#pragma GCC target("aes") +#pragma GCC target("aes,avx") #endif #include "private/sse2_64_32.h"