Fix compiler include detection under LLVM and Apple Clanm (Issue 182)
parent
a21b7773ef
commit
6b1a9d5ca8
11
cpu.h
11
cpu.h
|
|
@ -41,8 +41,9 @@
|
||||||
# include <emmintrin.h>
|
# include <emmintrin.h>
|
||||||
# endif
|
# endif
|
||||||
|
|
||||||
|
// PUSHFB needs Clang 3.3 and Apple Clang 5.0.
|
||||||
#if CRYPTOPP_BOOL_AESNI_INTRINSICS_AVAILABLE
|
#if CRYPTOPP_BOOL_AESNI_INTRINSICS_AVAILABLE
|
||||||
#if !defined(__GNUC__) || defined(__SSSE3__) || defined(__INTEL_COMPILER)
|
#if !defined(__GNUC__) || defined(__SSSE3__)|| defined(__INTEL_COMPILER) || (CRYPTOPP_CLANG_VERSION >= 30300) || (CRYPTOPP_APPLE_CLANG_VERSION >= 50000)
|
||||||
#include <tmmintrin.h>
|
#include <tmmintrin.h>
|
||||||
#else
|
#else
|
||||||
NAMESPACE_BEGIN(CryptoPP)
|
NAMESPACE_BEGIN(CryptoPP)
|
||||||
|
|
@ -54,7 +55,9 @@ _mm_shuffle_epi8 (__m128i a, __m128i b)
|
||||||
}
|
}
|
||||||
NAMESPACE_END
|
NAMESPACE_END
|
||||||
#endif // tmmintrin.h
|
#endif // tmmintrin.h
|
||||||
#if !defined(__GNUC__) || defined(__SSE4_1__) || defined(__INTEL_COMPILER)
|
|
||||||
|
// PEXTRD needs Clang 3.3 and Apple Clang 5.0.
|
||||||
|
#if !defined(__GNUC__) || defined(__SSE4_1__)|| defined(__INTEL_COMPILER) || (CRYPTOPP_CLANG_VERSION >= 30300) || (CRYPTOPP_APPLE_CLANG_VERSION >= 50000)
|
||||||
#include <smmintrin.h>
|
#include <smmintrin.h>
|
||||||
#else
|
#else
|
||||||
NAMESPACE_BEGIN(CryptoPP)
|
NAMESPACE_BEGIN(CryptoPP)
|
||||||
|
|
@ -73,7 +76,9 @@ _mm_insert_epi32 (__m128i a, int b, const int i)
|
||||||
}
|
}
|
||||||
NAMESPACE_END
|
NAMESPACE_END
|
||||||
#endif // smmintrin.h
|
#endif // smmintrin.h
|
||||||
#if !defined(__GNUC__) || (defined(__AES__) && defined(__PCLMUL__)) || defined(__INTEL_COMPILER)
|
|
||||||
|
// AES needs Clang 2.8 and Apple Clang 4.6. PCLMUL needs Clang 3.4 and Apple Clang 6.0
|
||||||
|
#if !defined(__GNUC__) || (defined(__AES__) && defined(__PCLMUL__)) || defined(__INTEL_COMPILER) || (CRYPTOPP_CLANG_VERSION >= 30400) || (CRYPTOPP_APPLE_CLANG_VERSION >= 60000)
|
||||||
#include <wmmintrin.h>
|
#include <wmmintrin.h>
|
||||||
#else
|
#else
|
||||||
NAMESPACE_BEGIN(CryptoPP)
|
NAMESPACE_BEGIN(CryptoPP)
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue