35#ifndef _BLAZE_MATH_SIMD_SHIFTRV_H_
36#define _BLAZE_MATH_SIMD_SHIFTRV_H_
69#if BLAZE_AVX512BW_MODE
71 return _mm512_srav_epi16( a.value, (*b).value );
92#if BLAZE_AVX512BW_MODE
94 return _mm512_srlv_epi16( a.value, (*b).value );
120template<
typename T >
123#if BLAZE_AVX512F_MODE || BLAZE_MIC_MODE
125 return _mm512_srav_epi32( a.value, (*b).value );
129 return _mm256_srav_epi32( a.value, (*b).value );
147template<
typename T >
150#if BLAZE_AVX512F_MODE || BLAZE_MIC_MODE
152 return _mm512_srlv_epi32( a.value, (*b).value );
156 return _mm256_srlv_epi32( a.value, (*b).value );
182template<
typename T >
185#if BLAZE_AVX512F_MODE
187 return _mm512_srav_epi64( a.value, (*b).value );
205template<
typename T >
208#if BLAZE_AVX512F_MODE
210 return _mm512_srlv_epi64( a.value, (*b).value );
214 return _mm256_srlv_epi64( a.value, (*b).value );
Header file for the basic SIMD types.
SIMD type for 16-bit signed integral data values.
SIMD type for 32-bit signed integral data values.
SIMD type for 64-bit integral data values.
SIMD type for 16-bit unsigned integral data values.
SIMD type for 32-bit unsigned integral data values.
SIMD type for 64-bit unsigned integral data values.
BLAZE_ALWAYS_INLINE const SIMDuint64 operator>>(const SIMDuint64 &a, const SIMDi64< T > &b) noexcept=delete
Elementwise right-shift of a vector of 64-bit unsigned integral SIMD values.
#define BLAZE_ALWAYS_INLINE
Platform dependent setup of an enforced inline keyword.
Definition: Inline.h:85
System settings for the inline keywords.
System settings for the SSE mode.