diff --git a/src/libsodium/crypto_stream/chacha20/dolbeau/chacha20_dolbeau-avx512.c b/src/libsodium/crypto_stream/chacha20/dolbeau/chacha20_dolbeau-avx512.c index 57053569..49a33156 100644 --- a/src/libsodium/crypto_stream/chacha20/dolbeau/chacha20_dolbeau-avx512.c +++ b/src/libsodium/crypto_stream/chacha20/dolbeau/chacha20_dolbeau-avx512.c @@ -13,7 +13,11 @@ defined(HAVE_SMMINTRIN_H) # ifdef __clang__ -# pragma clang attribute push(__attribute__((target("sse2,ssse3,sse4.1,avx2,avx512f"))), apply_to = function) +# if __clang_major__ >= 18 && __clang_major__ < 22 +# pragma clang attribute push(__attribute__((target("sse2,ssse3,sse4.1,avx2,avx512f,evex512"))), apply_to = function) +# else +# pragma clang attribute push(__attribute__((target("sse2,ssse3,sse4.1,avx2,avx512f"))), apply_to = function) +# endif # elif defined(__GNUC__) # pragma GCC target("sse2,ssse3,sse4.1,avx2,avx512f") # endif diff --git a/src/libsodium/crypto_stream/salsa20/xmm6int/salsa20_xmm6int-avx512.c b/src/libsodium/crypto_stream/salsa20/xmm6int/salsa20_xmm6int-avx512.c index e41e8d1e..50c70019 100644 --- a/src/libsodium/crypto_stream/salsa20/xmm6int/salsa20_xmm6int-avx512.c +++ b/src/libsodium/crypto_stream/salsa20/xmm6int/salsa20_xmm6int-avx512.c @@ -12,7 +12,11 @@ defined(HAVE_SMMINTRIN_H) # ifdef __clang__ -# pragma clang attribute push(__attribute__((target("sse2,ssse3,sse4.1,avx2,avx512f"))), apply_to = function) +# if __clang_major__ >= 18 && __clang_major__ < 22 +# pragma clang attribute push(__attribute__((target("sse2,ssse3,sse4.1,avx2,avx512f,evex512"))), apply_to = function) +# else +# pragma clang attribute push(__attribute__((target("sse2,ssse3,sse4.1,avx2,avx512f"))), apply_to = function) +# endif # elif defined(__GNUC__) # pragma GCC target("sse2,ssse3,sse4.1,avx2,avx512f") # endif