35 #ifndef _BLAZE_MATH_SIMD_SHIFTLV_H_ 36 #define _BLAZE_MATH_SIMD_SHIFTLV_H_ 66 template<
typename T >
68 operator<<(
const SIMDint16& a,
const SIMDi16<T>& b ) noexcept
69 #if BLAZE_AVX512BW_MODE 71 return _mm512_sllv_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_sllv_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_sllv_epi32( a.value, (~b).value );
127 #elif BLAZE_AVX2_MODE 129 return _mm256_sllv_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_sllv_epi32( a.value, (~b).value );
154 #elif BLAZE_AVX2_MODE 156 return _mm256_sllv_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_sllv_epi64( a.value, (~b).value );
189 #elif BLAZE_AVX2_MODE 191 return _mm256_sllv_epi64( a.value, (~b).value );
209 template<
typename T >
211 operator<<(
const SIMDuint64& a,
const SIMDi64<T>& b ) noexcept
212 #if BLAZE_AVX512F_MODE 214 return _mm512_sllv_epi64( a.value, (~b).value );
216 #elif BLAZE_AVX2_MODE 218 return _mm256_sllv_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)
Left-shift operator for the elementwise left-shift of a dense matrix.
Definition: DMatDMatMapExpr.h:1349
System settings for the SSE mode.
System settings for the inline keywords.