mirror of
https://github.com/JayDDee/cpuminer-opt.git
synced 2026-02-22 16:33:08 +00:00
v26.1
This commit is contained in:
@@ -642,6 +642,15 @@ static inline void v128_memcpy( v128_t *dst, const v128_t *src, const int n )
|
||||
#define v128_shuflr32(v) _mm_shuffle_epi32( v, 0x39 )
|
||||
#define v128_shufll32(v) _mm_shuffle_epi32( v, 0x93 )
|
||||
|
||||
/* Zen6 AMD only
|
||||
// Reverse bits in bytes
|
||||
#if defined(__AVX512VL__) && defined(__AVX512BMM__)
|
||||
|
||||
#define v128_bitrev8 _mm_vbitrevb_epi8
|
||||
|
||||
#endif
|
||||
*/
|
||||
|
||||
// Endian byte swap.
|
||||
|
||||
#if defined(__SSSE3__)
|
||||
|
||||
@@ -409,6 +409,15 @@ static inline __m256i mm256_shuflr128_x8( const __m256i v, const int c )
|
||||
{ return _mm256_alignr_epi8( v, v, c ); }
|
||||
*/
|
||||
|
||||
/* Zen6 AMD only
|
||||
// Reverse bits in bytes
|
||||
#if defined(__AVX512VL__) && defined(__AVX512BMM__)
|
||||
|
||||
#define mm256_bitrev8 _mm256_vbitrevb_epi8
|
||||
|
||||
#endif
|
||||
*/
|
||||
|
||||
// Reverse byte order in elements, endian bswap.
|
||||
#define mm256_bswap_64( v ) _mm256_shuffle_epi8( v, V256_BSWAP64 )
|
||||
|
||||
|
||||
@@ -257,6 +257,15 @@ static inline void memcpy_512( __m512i *dst, const __m512i *src, const int n )
|
||||
#endif
|
||||
*/
|
||||
|
||||
/* Zen6 AMD only
|
||||
// Reverse bits in bytes
|
||||
#if defined(__AVX512BMM__)
|
||||
|
||||
#define mm512_bitrev8 _mm512_vbitrevb_epi8
|
||||
|
||||
#endif
|
||||
*/
|
||||
|
||||
//
|
||||
// Reverse byte order of packed elements, vectorized endian conversion.
|
||||
|
||||
|
||||
@@ -431,8 +431,10 @@ static inline uint32x4_t v128_shuflr32( uint32x4_t v )
|
||||
static inline uint32x4_t v128_shufll32( uint32x4_t v )
|
||||
{ return vextq_u32( v, v, 3 ); }
|
||||
|
||||
// reverse bits in bytes, nothing like it in x86_64
|
||||
/* not used
|
||||
// reverse bits in bytes, nothing like it in x86_64 until Zen6
|
||||
#define v128_bitrev8 vrbitq_u8
|
||||
*/
|
||||
|
||||
// reverse byte order
|
||||
#define v128_bswap16(v) (uint16x8_t)vrev16q_u8( (uint8x16_t)(v) )
|
||||
|
||||
Reference in New Issue
Block a user