Fix CHAM build when SSSE3 not available

pull/769/head
Jeffrey Walton 2018-12-29 00:39:11 -05:00
parent 8edc5cf2d5
commit df47185573
No known key found for this signature in database
GPG Key ID: B36AB348921B1838
1 changed files with 5 additions and 9 deletions

View File

@ -10,20 +10,14 @@
#include "cham.h"
#include "misc.h"
#include "adv_simd.h"
// Uncomment for benchmarking C++ against SSE or NEON.
// Do so in both simon.cpp and simon-simd.cpp.
// #undef CRYPTOPP_SSSE3_AVAILABLE
// #undef CRYPTOPP_ARM_NEON_AVAILABLE
#if defined(CRYPTOPP_SSE2_AVAILABLE)
# define CRYPTOPP_AVX512_ROTATE 1
# include <xmmintrin.h>
# include <emmintrin.h>
#endif
#if (CRYPTOPP_SSSE3_AVAILABLE)
#include "adv_simd.h"
# include <pmmintrin.h>
# include <tmmintrin.h>
#endif
@ -32,6 +26,10 @@
# include <ammintrin.h>
#endif
#ifdef __AVX512F__
# define CRYPTOPP_AVX512_ROTATE 1
#endif
// Squash MS LNK4221 and libtool warnings
extern const char CHAM_SIMD_FNAME[] = __FILE__;
@ -68,7 +66,6 @@ inline __m128i RotateRight16(const __m128i& val)
#endif
}
// Faster than two Shifts and an Or. Thanks to Louis Wingers and Bryan Weeks.
template <>
inline __m128i RotateLeft16<8>(const __m128i& val)
{
@ -80,7 +77,6 @@ inline __m128i RotateLeft16<8>(const __m128i& val)
#endif
}
// Faster than two Shifts and an Or. Thanks to Louis Wingers and Bryan Weeks.
template <>
inline __m128i RotateRight16<8>(const __m128i& val)
{