The prototypes for MMX(TM) technology intrinsics are in the mmintrin.h header file.
Intrinsic Name |
Alternate Name |
Shift Direction |
Shift Type |
Corresponding Instruction |
---|---|---|---|---|
_m_psllw | _mm_sll_pi16 | left | Logical | PSLLW |
_m_psllwi | _mm_slli_pi16 | left | Logical | PSLLWI |
_m_pslld | _mm_sll_pi32 | left | Logical | PSLLD |
_m_pslldi | _mm_slli_pi32 | left | Logical | PSLLDI |
_m_psllq | _mm_sll_si64 | left | Logical | PSLLQ |
_m_psllqi | _mm_slli_si64 | left | Logical | PSLLQI |
_m_psraw | _mm_sra_pi16 | right | Arithmetic | PSRAW |
_m_psrawi | _mm_srai_pi16 | right | Arithmetic | PSRAWI |
_m_psrad | _mm_sra_pi32 | right | Arithmetic | PSRAD |
_m_psradi | _mm_srai_pi32 | right | Arithmetic | PSRADI |
_m_psrlw | _mm_srl_pi16 | right | Logical | PSRLW |
_m_psrlwi | _mm_srli_pi16 | right | Logical | PSRLWI |
_m_psrld | _mm_srl_pi32 | right | Logical | PSRLD |
_m_psrldi | _mm_srli_pi32 | right | Logical | PSRLDI |
_m_psrlq | _mm_srl_si64 | right | Logical | PSRLQ |
_m_psrlqi | _mm_srli_si64 | right | Logical | PSRLQI |
__m64 _m_psllw(__m64 m, __m64 count)
Shift four 16-bit values in m left the amount specified by count while shifting in zeros.
__m64 _m_psllwi(__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 _m_pslld(__m64 m, __m64 count)
Shift two 32-bit values in m left the amount specified by count while shifting in zeros.
__m64 _m_pslldi(__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 _m_psllq(__m64 m, __m64 count)
Shift the 64-bit value in m left the amount specified by count while shifting in zeros.
__m64 _m_psllqi(__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 _m_psraw(__m64 m, __m64 count)
Shift four 16-bit values in m right the amount specified by count while shifting in the sign bit.
__m64 _m_psrawi(__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 _m_psrad(__m64 m, __m64 count)
Shift two 32-bit values in m right the amount specified by count while shifting in the sign bit.
__m64 _m_psradi(__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 _m_psrlw(__m64 m, __m64 count)
Shift four 16-bit values in m right the amount specified by count while shifting in zeros.
__m64 _m_psrlwi(__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 _m_psrld(__m64 m, __m64 count)
Shift two 32-bit values in m right the amount specified by count while shifting in zeros.
__m64 _m_psrldi(__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 _m_psrlq(__m64 m, __m64 count)
Shift the 64-bit value in m right the amount specified by count while shifting in zeros.
__m64 _m_psrlqi(__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.