レジスター挿入/抽出組み込み関数

これらのインテル® ストリーミング SIMD 拡張命令 (インテル® SSE4) 組み込み関数では、汎用レジスターと XMM レジスターとの間でデータの挿入と抽出を行うことができます。これらの組み込み関数のプロトタイプは、smmintrin.h ファイル内にあります。

組み込み関数の構文

演算子

対応する
インテル® SSE4 命令

__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