background image

C-6 Vol. 2D

INTELĀ® C/C++ COMPILER INTRINSICS AND FUNCTIONAL EQUIVALENTS

MOVD

__m128i _mm_cvtsi32_si128(int a)
int _mm_cvtsi128_si32(__m128i a)
__m64 _mm_cvtsi32_si64(int a)
int _mm_cvtsi64_si32(__m64 a)

MOVDDUP

__m128d _mm_movedup_pd(__m128d a)
__m128d _mm_loaddup_pd(double const * dp)

MOVDQA

__m128i _mm_load_si128(__m128i * p)
void_mm_store_si128(__m128i *p, __m128i a)

MOVDQU

__m128i _mm_loadu_si128(__m128i * p)
void_mm_storeu_si128(__m128i *p, __m128i a)

MOVDQ2Q

__m64 _mm_movepi64_pi64(__m128i a)

MOVHLPS

__m128 _mm_movehl_ps(__m128 a, __m128 b)

MOVHPD

__m128d _mm_loadh_pd(__m128d a, double * p)
void _mm_storeh_pd(double * p, __m128d a)

MOVHPS

__m128 _mm_loadh_pi(__m128 a, __m64 * p)
void _mm_storeh_pi(__m64 * p, __m128 a)

MOVLPD

__m128d _mm_loadl_pd(__m128d a, double * p)
void _mm_storel_pd(double * p, __m128d a)

MOVLPS

__m128 _mm_loadl_pi(__m128 a, __m64 *p)
void_mm_storel_pi(__m64 * p, __m128 a)

MOVLHPS

__m128 _mm_movelh_ps(__m128 a, __m128 b)

MOVMSKPD

int _mm_movemask_pd(__m128d a)

MOVMSKPS

int _mm_movemask_ps(__m128 a)

MOVNTDQA

__m128i _mm_stream_load_si128(__m128i *p)

MOVNTDQ

void_mm_stream_si128(__m128i * p, __m128i a)

MOVNTPD

void_mm_stream_pd(double * p, __m128d a)

MOVNTPS

void_mm_stream_ps(float * p, __m128 a)

MOVNTI

void_mm_stream_si32(int * p, int a)

MOVNTQ

void_mm_stream_pi(__m64 * p, __m64 a)

MOVQ

__m128i _mm_loadl_epi64(__m128i * p)
void_mm_storel_epi64(_m128i * p, __m128i a)
__m128i _mm_move_epi64(__m128i a)

MOVQ2DQ

__m128i _mm_movpi64_epi64(__m64 a)

MOVSD

__m128d _mm_load_sd(double * p)
void_mm_store_sd(double * p, __m128d a)
__m128d _mm_move_sd(__m128d a, __m128d b)

MOVSHDUP

__m128 _mm_movehdup_ps(__m128 a)

MOVSLDUP

__m128 _mm_moveldup_ps(__m128 a)

MOVSS

__m128 _mm_load_ss(float * p)
void_mm_store_ss(float * p, __m128 a)
__m128 _mm_move_ss(__m128 a, __m128 b)

Table C-1.  Simple Intrinsics (Contd.)

Mnemonic

Intrinsic