The prototypes for MMX™ technology intrinsics are in the mmintrin.h header file.
For detailed information about an intrinsic, click on the name of the intrinsic in the following table.
Intrinsic Name |
Operation | Corresponding MMX Instruction |
---|---|---|
_mm_sll_pi16 | Logical shift left | PSLLW |
_mm_slli_pi16 | Logical shift left | PSLLWI |
_mm_sll_pi32 | Logical shift left | PSLLD |
_mm_slli_pi32 | Logical shift left | PSLLDI |
_mm_sll_pi64 | Logical shift left | PSLLQ |
_mm_slli_pi64 | Logical shift left | PSLLQI |
_mm_sra_pi16 | Arithmetic shift right | PSRAW |
_mm_srai_pi16 | Arithmetic shift right | PSRAWI |
_mm_sra_pi32 | Arithmetic shift right | PSRAD |
_mm_srai_pi32 | Arithmetic shift right | PSRADI |
_mm_srl_pi16 | Logical shift right | PSRLW |
_mm_srli_pi16 | Logical shift right | PSRLWI |
_mm_srl_pi32 | Logical shift right | PSRLD |
_mm_srli_pi32 | Logical shift right | PSRLDI |
_mm_srl_pi64 | Logical shift right | PSRLQ |
_mm_srli_pi64 | Logical shift right | 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_pi64(__m64 m, __m64 count)
Shift the 64-bit value in m left the amount specified by count while shifting in zeros.
__m64 _mm_slli_pi64(__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_pi64(__m64 m, __m64 count)
Shift the 64-bit value in m right the amount specified by count while shifting in zeros.
__m64 _mm_srli_pi64(__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.