Add SunCC 12.4 support for specialized implementations if CRC, RDRAND and BLAKE2
parent
36da00cc92
commit
f8200af3ae
|
|
@ -22,9 +22,14 @@ NAMESPACE_BEGIN(CryptoPP)
|
|||
# undef CRYPTOPP_BOOL_SSE2_INTRINSICS_AVAILABLE
|
||||
#endif
|
||||
|
||||
// Testing shows Sun CC needs 12.4 for _mm_set_epi64x
|
||||
#if (__SUNPRO_CC <= 0x5130)
|
||||
// SunCC needs 12.4 for _mm_set_epi64x, _mm_blend_epi16, _mm_shuffle_epi16, etc
|
||||
#if defined(__SUNPRO_CC) && (__SUNPRO_CC < 0x5130)
|
||||
# undef CRYPTOPP_BOOL_SSE2_INTRINSICS_AVAILABLE
|
||||
# undef CRYPTOPP_BOOL_SSE4_INTRINSICS_AVAILABLE
|
||||
#elif (__SUNPRO_CC >= 0x5130)
|
||||
# include <emmintrin.h> // _mm_set_epi64x
|
||||
# include <smmintrin.h> // _mm_blend_epi16
|
||||
# include <tmmintrin.h> // _mm_shuffle_epi16
|
||||
#endif
|
||||
|
||||
// Visual Studio needs VS2008 (1500); no dependency on _mm_set_epi64x()
|
||||
|
|
|
|||
2
crc.cpp
2
crc.cpp
|
|
@ -15,7 +15,7 @@ NAMESPACE_BEGIN(CryptoPP)
|
|||
|
||||
// SunCC 12.4 and above
|
||||
#if defined(CRYPTOPP_BOOL_SSE4_INTRINSICS_AVAILABLE) && (__SUNPRO_CC >= 0x5130)
|
||||
# include <nmminitin.h>
|
||||
# include <nmmintrin.h>
|
||||
#endif
|
||||
|
||||
/* Table of CRC-32's of all single byte values (made by makecrc.c) */
|
||||
|
|
|
|||
|
|
@ -100,12 +100,12 @@
|
|||
# define GCC_RDSEED_ASM_AVAILABLE 1
|
||||
# endif
|
||||
#elif defined(CRYPTOPP_CPUID_AVAILABLE) && (__SUNPRO_CC >= 0x5100)
|
||||
# if GCC_INTRIN_COMPILER && defined(__RDRND__)
|
||||
# if GCC_INTRIN_COMPILER && defined(__RDRND__) && (__SUNPRO_CC >= 0x5130)
|
||||
# define ALL_RDRAND_INTRIN_AVAILABLE 1
|
||||
# elif CRYPTOPP_BOOL_RDRAND_ASM
|
||||
# define GCC_RDRAND_ASM_AVAILABLE 1
|
||||
# endif
|
||||
# if GCC_INTRIN_COMPILER && defined(__RDSEED__)
|
||||
# if GCC_INTRIN_COMPILER && defined(__RDSEED__) && (__SUNPRO_CC >= 0x5150)
|
||||
# define ALL_RDSEED_INTRIN_AVAILABLE 1
|
||||
# elif CRYPTOPP_BOOL_RDSEED_ASM
|
||||
# define GCC_RDSEED_ASM_AVAILABLE 1
|
||||
|
|
|
|||
Loading…
Reference in New Issue