35 #ifndef _BLAZE_MATH_SIMD_SHIFTRV_H_ 36 #define _BLAZE_MATH_SIMD_SHIFTRV_H_ 66 template<
typename T >
68 operator>>(
const SIMDint16& a,
const SIMDi16<T>& b ) noexcept
69 #if BLAZE_AVX512BW_MODE 71 return _mm512_srav_epi16( a.value, (~b).value );
89 template<
typename T >
91 operator>>(
const SIMDuint16& a,
const SIMDi16<T>& b ) noexcept
92 #if BLAZE_AVX512BW_MODE 94 return _mm512_srlv_epi16( a.value, (~b).value );
120 template<
typename T >
122 operator>>(
const SIMDint32& a,
const SIMDi32<T>& b ) noexcept
123 #if BLAZE_AVX512F_MODE || BLAZE_MIC_MODE 125 return _mm512_srav_epi32( a.value, (~b).value );
127 #elif BLAZE_AVX2_MODE 129 return _mm256_srav_epi32( a.value, (~b).value );
147 template<
typename T >
149 operator>>(
const SIMDuint32& a,
const SIMDi32<T>& b ) noexcept
150 #if BLAZE_AVX512F_MODE || BLAZE_MIC_MODE 152 return _mm512_srlv_epi32( a.value, (~b).value );
154 #elif BLAZE_AVX2_MODE 156 return _mm256_srlv_epi32( a.value, (~b).value );
182 template<
typename T >
184 operator>>(
const SIMDint64& a,
const SIMDi64<T>& b ) noexcept
185 #if BLAZE_AVX512F_MODE 187 return _mm512_srav_epi64( a.value, (~b).value );
205 template<
typename T >
207 operator>>(
const SIMDuint64& a,
const SIMDi64<T>& b ) noexcept
208 #if BLAZE_AVX512F_MODE 210 return _mm512_srlv_epi64( a.value, (~b).value );
212 #elif BLAZE_AVX2_MODE 214 return _mm256_srlv_epi64( a.value, (~b).value );
Namespace of the Blaze C++ math library.
Definition: Blaze.h:58
#define BLAZE_ALWAYS_INLINE
Platform dependent setup of an enforced inline keyword.
Definition: Inline.h:85
Header file for the basic SIMD types.
decltype(auto) operator>>(const DenseMatrix< MT1, SO1 > &lhs, const DenseMatrix< MT2, SO2 > &rhs)
Right-shift operator for the elementwise right-shift of a dense matrix.
Definition: DMatDMatMapExpr.h:1383
System settings for the SSE mode.
System settings for the inline keywords.