This commit is contained in:
Jay D Dee
2024-04-16 21:31:35 -04:00
parent 9d3a46c355
commit 4f930574cc
33 changed files with 757 additions and 609 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -141,7 +141,7 @@
#define v128_aesdeclast _mm_aesdeclast_si128
#define v128_aesdeclast_nokey(v) _mm_aesdeclast_si128( v, v128_zero )
// Used instead if casting.
// Used instead of casting.
typedef union
{
v128_t v128;

View File

@@ -429,6 +429,19 @@ static inline __m256i mm256_not( const __m256i v )
#endif // AVX512 else AVX2
#if defined(__AVX2__)
// 128 bit version of unpack
#define v256_unpacklo128( v1, v0 ) _mm256_permute2x128_si256( v1, v0, 0x20 )
#define v256_unpackhi128( v1, v0 ) _mm256_permute2x128_si256( v1, v0, 0x31 )
#else
#define v256_unpacklo128( v1, v0 ) _mm256_permute2f128_si256( v1, v0, 0x20 )
#define v256_unpackhi128( v1, v0 ) _mm256_permute2f128_si256( v1, v0, 0x31 )
#endif
//
// Cross lane shuffles
//

View File

@@ -164,11 +164,10 @@ static inline uint32_t ror32( uint32_t a, const int c )
// obsolete test
// Compiler check for __int128 support
// Configure also has a test for int128.
#if ( __GNUC__ > 4 ) || ( ( __GNUC__ == 4 ) && ( __GNUC_MINOR__ >= 8 ) )
//#if ( __GNUC__ > 4 ) || ( ( __GNUC__ == 4 ) && ( __GNUC_MINOR__ >= 8 ) )
#define GCC_INT128 1
#endif
//#endif
// obsolte test
#if !defined(GCC_INT128)
#warning "__int128 not supported, requires GCC-4.8 or newer."
#endif