Intrinsic Name | Shift Direction | Shift Type | Corresponding Instruction |
---|---|---|---|
_mm_sll_pi16 |
left |
Logical |
PSLLW |
_mm_slli_pi16 |
left |
Logical |
PSLLWI |
_mm_sll_pi32 |
left |
Logical |
PSLLD |
_mm_slli_pi32 |
left |
Logical |
PSLLDI |
_mm_sll_si64 |
left |
Logical |
PSLLQ |
_mm_slli_si64 |
left |
Logical |
PSLLQI |
_mm_sra_pi16 |
right |
Arithmetic |
PSRAW |
_mm_srai_pi16 |
right |
Arithmetic |
PSRAWI |
_mm_sra_pi32 |
right |
Arithmetic |
PSRAD |
_mm_srai_pi32 |
right |
Arithmetic |
PSRADI |
_mm_srl_pi16 |
right |
Logical |
PSRLW |
_mm_srli_pi16 |
right |
Logical |
PSRLWI |
_mm_srl_pi32 |
right |
Logical |
PSRLD |
_mm_srli_pi32 |
right |
Logical |
PSRLDI |
_mm_srl_si64 |
right |
Logical |
PSRLQ |
_mm_srli_si64 |
right |
Logical |
PSRLQI |
__m64 _mm_sll_pi16 (__m64 m, __m64 count)
Shift four 16-bit values in m left the amount specified by count while shifting in zeros.
__m64 _mm_slli_pi16 (__m64 m, int count)
Shift four 16-bit values in m left the amount specified by count while shifting in zeros. For the best performance, count should be a constant.
__m64 _mm_sll_pi32 (__m64 m, __m64 count)
Shift two 32-bit values in m left the amount specified by count while shifting in zeros.
__m64 _mm_slli_pi32 (__m64 m, int count)
Shift two 32-bit values in m left the amount specified by count while shifting in zeros. For the best performance, count should be a constant.
__m64 _mm_sll_si64 (__m64 m, __m64 count)
Shift the 64-bit value in m left the amount specified by count while shifting in zeros.
__m64 _mm_slli_si64 (__m64 m, int count)
Shift the 64-bit value in m left the amount specified by count while shifting in zeros. For the best performance, count should be a constant.
__m64 _mm_sra_pi16 (__m64 m, __m64 count)
Shift four 16-bit values in m right the amount specified by count while shifting in the sign bit.
__m64 _mm_srai_pi16 (__m64 m, int count)
Shift four 16-bit values in m right the amount specified by count while shifting in the sign bit. For the best performance, count should be a constant.
__m64 _mm_sra_pi32 (__m64 m, __m64 count)
Shift two 32-bit values in m right the amount specified by count while shifting in the sign bit.
__m64 _mm_srai_pi32 (__m64 m, int count)
Shift two 32-bit values in m right the amount specified by count while shifting in the sign bit. For the best performance, count should be a constant.
__m64 _mm_srl_pi16 (__m64 m, __m64 count)
Shift four 16-bit values in m right the amount specified by count while shifting in zeros.
__m64 _mm_srli_pi16 (__m64 m, int count)
Shift four 16-bit values in m right the amount specified by count while shifting in zeros. For the best performance, count should be a constant.
__m64 _mm_srl_pi32 (__m64 m, __m64 count)
Shift two 32-bit values in m right the amount specified by count while shifting in zeros.
__m64 _mm_srli_pi32 (__m64 m, int count)
Shift two 32-bit values in m right the amount specified by count while shifting in zeros. For the best performance, count should be a constant.
__m64 _mm_srl_si64 (__m64 m, __m64 count)
Shift the 64-bit value in m right the amount specified by count while shifting in zeros.
__m64 _mm_srli_si64 (__m64 m, int count)
Shift the 64-bit value in m right the amount specified by count while shifting in zeros. For the best performance, count should be a constant.