diff --git a/src/libsodium/crypto_generichash/blake2/ref/blake2b-compress-sse41.c b/src/libsodium/crypto_generichash/blake2/ref/blake2b-compress-sse41.c index b4c49f0e..a039b206 100644 --- a/src/libsodium/crypto_generichash/blake2/ref/blake2b-compress-sse41.c +++ b/src/libsodium/crypto_generichash/blake2/ref/blake2b-compress-sse41.c @@ -5,7 +5,8 @@ #include #include -#if defined(HAVE_EMMINTRIN_H) && defined(HAVE_TMMINTRIN_H) && defined(HAVE_SMMINTRIN_H) +#if (defined(HAVE_EMMINTRIN_H) && defined(HAVE_TMMINTRIN_H) && defined(HAVE_SMMINTRIN_H)) && \ + (defined(_MSC_VER) && (defined(_M_X64) || defined(_M_AMD64) || defined(_M_IX86))) #pragma GCC target("sse2") #pragma GCC target("ssse3") diff --git a/src/libsodium/crypto_generichash/blake2/ref/blake2b-compress-ssse3.c b/src/libsodium/crypto_generichash/blake2/ref/blake2b-compress-ssse3.c index 31043b18..a10f5c7e 100644 --- a/src/libsodium/crypto_generichash/blake2/ref/blake2b-compress-ssse3.c +++ b/src/libsodium/crypto_generichash/blake2/ref/blake2b-compress-ssse3.c @@ -4,7 +4,8 @@ #include #include -#if defined(HAVE_EMMINTRIN_H) && defined(HAVE_TMMINTRIN_H) +#if (defined(HAVE_EMMINTRIN_H) && defined(HAVE_TMMINTRIN_H)) || \ + (defined(_MSC_VER) && (defined(_M_X64) || defined(_M_AMD64) || defined(_M_IX86))) #pragma GCC target("sse2") #pragma GCC target("ssse3") diff --git a/src/libsodium/crypto_generichash/blake2/ref/blake2b-ref.c b/src/libsodium/crypto_generichash/blake2/ref/blake2b-ref.c index 0bc5b2d3..b3026b8d 100644 --- a/src/libsodium/crypto_generichash/blake2/ref/blake2b-ref.c +++ b/src/libsodium/crypto_generichash/blake2/ref/blake2b-ref.c @@ -405,13 +405,15 @@ int blake2b_salt_personal( uint8_t *out, const void *in, const void *key, const int blake2b_pick_best_implementation(void) { -#if defined(HAVE_EMMINTRIN_H) && defined(HAVE_TMMINTRIN_H) && defined(HAVE_SMMINTRIN_H) +#if (defined(HAVE_EMMINTRIN_H) && defined(HAVE_TMMINTRIN_H) && defined(HAVE_SMMINTRIN_H)) || \ + (defined(_MSC_VER) && (defined(_M_X64) || defined(_M_AMD64) || defined(_M_IX86))) if (sodium_runtime_has_sse41()) { blake2b_compress = blake2b_compress_sse41; return 0; } #endif -#if defined(HAVE_EMMINTRIN_H) && defined(HAVE_TMMINTRIN_H) +#if (defined(HAVE_EMMINTRIN_H) && defined(HAVE_TMMINTRIN_H)) || \ + (defined(_MSC_VER) && (defined(_M_X64) || defined(_M_AMD64) || defined(_M_IX86))) if (sodium_runtime_has_ssse3()) { blake2b_compress = blake2b_compress_ssse3; return 0;