These Intel® Streaming SIMD Extensions (Intel® SSE4) intrinsics enable data insertion and extraction between general purpose registers and XMM registers. The prototypes for these instrinsics are in the smmintrin.h file.
Intrinsics marked with * are implemented only on Intel® 64 architectures. The rest of the intrinsics are implemented on both IA-32 and Intel® 64 architectures.
Intrinsic Syntax |
Operation |
Corresponding |
---|---|---|
__m128 _mm_insert_ps(__m128 dst, __m128 src, const int ndx) |
Insert single precision float into packed single precision array element selected by index. |
INSERTPS |
int _mm_extract_ps(__m128 src, const int ndx) |
Extract single precision float from packed single precision array element selected by index. |
EXTRACTPS |
__m128i _mm_insert_epi8(__m128i s1, int s2, const int ndx) |
Insert integer byte into packed integer array element selected by index. |
PINSRB |
int _mm_extract_epi8(__m128i src, const int ndx) |
Extract integer byte from packed integer array element selected by index. |
PEXTRB |
int _mm_extract_epi16(__m128i src, int ndx) |
Extract integer word from packed integer array element selected by index. |
PEXTRW |
__m128i _mm_insert_epi32(__m128i s1, int s2, const int ndx) |
Insert integer double word into packed integer array element selected by index. |
PINSRD |
int _mm_extract_epi32(__m128i src, const int ndx) |
Extract integer double word from packed integer array element selected by index. |
PEXTRD |
__m128i _mm_insert_epi64(__m128i s2, int s, const int ndx)* |
Insert integer quad word into packed integer array element selected by index. Use only on Intel® 64 architectures. |
PINSRQ |
__int64 _mm_extract_epi64(__m128i src, const int ndx)* |
Extract integer quad word from packed integer array element selected by index. Use only on Intel® 64 architectures. |
PEXTRQ |
Copyright © 1996-2010, Intel Corporation. All rights reserved.