インテル® C++ コンパイラー 19.0 デベロッパー・ガイドおよびリファレンス
これらのインテル® ストリーミング SIMD 拡張命令 4 (インテル® SSE4) 組込み関数では、汎用レジスターと XMM レジスターとの間でデータの挿入と抽出を行うことができます。これらの組込み関数のプロトタイプは、smmintrin.h ファイル内にあります。
これらの組込み関数を使用する場合、次のように immintrin.h ファイルをインクルードします。
#include <immintrin.h>
* が付いている組込み関数は、インテル® 64 アーキテクチャーのみに実装されます。残りの組込み関数は、IA-32 アーキテクチャーおよびインテル® 64 アーキテクチャーの両方に実装されます。
組込み関数の構文 |
演算 |
対応するインテル® SSE4 命令 |
---|---|---|
__m128 _mm_insert_ps(__m128 dst, __m128 src, const int ndx) |
単精度浮動小数をインデックスによって選択されたパックド単精度配列要素に挿入します。 |
INSERTPS |
int _mm_extract_ps(__m128 src, const int ndx) |
単精度浮動小数をインデックスによって選択されたパックド単精度配列要素から抽出します。 |
EXTRACTPS |
__m128i _mm_insert_epi8(__m128i s1, int s2, const int ndx) |
整数バイトをインデックスによって選択されたパックド整数配列要素に挿入します。 |
PINSRB |
int _mm_extract_epi8(__m128i src, const int ndx) |
整数バイトをインデックスによって選択されたパックド整数配列要素から抽出します。 |
PEXTRB |
int _mm_extract_epi16(__m128i src, int ndx) |
整数ワードをインデックスによって選択されたパックド整数配列要素から抽出します。 |
PEXTRW |
__m128i _mm_insert_epi32(__m128i s1, int s2, const int ndx) |
整数ダブルワードをインデックスによって選択されたパックド整数配列要素に挿入します。 |
PINSRD |
int _mm_extract_epi32(__m128i src, const int ndx) |
整数ダブルワードをインデックスによって選択されたパックド整数配列要素から抽出します。 |
PEXTRD |
__m128i _mm_insert_epi64(__m128i s2, int s, const int ndx)* |
整数クワッドワードをインデックスによって選択されたパックド整数配列要素に挿入します。インテル® 64 アーキテクチャーのみで使用します。 |
PINSRQ |
__int64 _mm_extract_epi64(__m128i src, const int ndx)* |
整数クワッドワードをインデックスによって選択されたパックド整数配列要素から抽出します。インテル® 64 アーキテクチャーのみで使用します。 |
PEXTRQ |