次の表の組み込み関数名をクリックすると、その組み込み関数の詳細が表示されます。
各組み込み関数の詳細には、戻り値を説明した表が含まれています。p[n] は、結果の要素 n へのアクセスを示します。
ストリーミング SIMD 拡張命令 (SSE) の組み込み関数のプロトタイプは、ヘッダーファイル xmmintrin.h 内にあります。
組み込み関数名 | 操作 | 対応する SSE 命令 |
---|---|---|
_mm_storeh_pi | 上位の値のストア | MOVHPS mem, reg |
_mm_storel_pi | 下位の値のストア | MOVLPS mem, reg |
_mm_store_ss | 最下位の値をストアする | MOVSS |
_mm_store1_ps | 最下位の値を 4 ワードすべてにストアする | Shuffling + MOVSS |
_mm_store_ps | 4 つの値をストアする (アドレスのアライメントが合っていなければなりません) | MOVAPS |
_mm_storeu_ps | 4 つの値をストアする (アドレスのアライメントが合っている必要はありません) | MOVUPS |
_mm_storer_ps | 4 つの値を逆順でストアする | MOVAPS + Shuffling |
void _mm_storeh_pi(__m64 *p, __m128 a)
a の上位 2 つの単精度浮動小数点値を、アドレス p にストアします。
*p0 | *p1 |
---|---|
a2 | a3 |
void _mm_storel_pi(__m64 *p, __m128 a)
a の下位 2 つの単精度浮動小数点値を、アドレス p にストアします。
*p0 | *p1 |
---|---|
a0 | a1 |
void _mm_store_ss(float * p, __m128 a)
最下位の単精度浮動小数点値をストアします。
*p |
---|
a0 |
void _mm_store1_ps(float * p, __m128 a )
最下位の単精度浮動小数点値を 4 ワードにストアします。
p[0] | p[1] | p[2] | p[3] |
---|---|---|---|
a0 | a0 | a0 | a0 |
void _mm_store_ps(float *p, __m128 a)
4 つの単精度浮動小数点値をストアします。アドレスは 16 バイトにアライメントが合っていなければなりません。
p[0] | p[1] | p[2] | p[3] |
---|---|---|---|
a0 | a1 | a2 | a3 |
void _mm_storeu_ps(float *p, __m128 a)
4 つの単精度浮動小数点値をストアします。アドレスは 16 バイトにアライメントが合っている必要はありません。
p[0] | p[1] | p[2] | p[3] |
---|---|---|---|
a0 | a1 | a2 | a3 |
void _mm_storer_ps(float * p, __m128 a )
4 つの単精度浮動小数点値を逆順でストアします。アドレスは 16 バイトにアライメントが合っていなければなりません。
p[0] | p[1] | p[2] | p[3] |
---|---|---|---|
a3 | a2 | a1 | a0 |