これらのインテル® ストリーミング SIMD 拡張命令 (インテル® SSE4) 組み込み関数では、汎用レジスターと XMM レジスターとの間でデータの挿入と抽出を行うことができます。これらの組み込み関数のプロトタイプは、smmintrin.h ファイル内にあります。
組み込み関数の構文 |
演算子 |
対応する |
---|---|---|
__m128 _mm_insert_ps(__m128 dst, __m128 src, const int ndx) |
単精度浮動小数をインデックスによって選択されたパックド単精度配列要素に挿入する |
INSERTPS |
int _mm_extract_ps(__m128 src, const int ndx) |
単精度浮動小数をインデックスによって選択されたパックド単精度配列要素から抽出する |
EXTRACTPS |
int _mm_extract_epi8 (__m128i src, const int ndx); |
整数バイトをインデックスによって選択されたパックド整数配列要素から抽出する |
PEXTRB |
int _mm_extract_epi32 (__m128i src, const int ndx); |
整数ダブルワードをインデックスによって選択されたパックド整数配列要素から抽出する |
PEXTRD |
__int64 _mm_extract_epi64 (__m128i src, const int ndx); |
整数クワッドワードをインデックスによって選択されたパックド整数配列要素から抽出する |
PEXTRQ |
int _mm_extract_epi16 (__m128i src, int ndx); |
整数ワードをインデックスによって選択されたパックド整数配列要素から抽出する |
PEXTRW |
__m128i _mm_insert_epi8(__m128i s1, int s2, const int ndx) |
整数バイトをインデックスによって選択されたパックド整数配列要素に挿入する |
PINSRB |
__m128i _mm_insert_epi32(__m128i s1, int s2, const int ndx) |
整数ダブルワードをインデックスによって選択されたパックド整数配列要素に挿入する |
PINSRD |
__m128i _mm_insert_epi64(__m128i s2, int s, const int ndx) |
整数クワッドワードをインデックスによって選択されたパックド整数配列要素に挿入する |
PINSRQ |