ここでは、浮動小数点ストア操作用のインテル® ストリーミング SIMD 拡張命令 2 (インテル® SSE2) の組込み関数について説明します。インテル® SSE2 の組込み関数のプロトタイプは、ヘッダーファイル emmintrin.h 内にあります。
ストア組込み関数は、初期化したデータを、指定したアドレスに割り当てます。
各組込み関数の詳細には、戻り値を説明した表が含まれています。p[n] は、結果の要素 n へのアクセスを示します。
組込み関数名
|
演算子
|
対応するインテル® SSE2 命令
|
_mm_stream_pd
|
ストア
|
MOVNTPD
|
_mm_store_sd
|
ストア
|
MOVSD
|
_mm_store1_pd
|
ストア
|
MOVAPD + シャッフル
|
_mm_store_pd
|
ストア
|
MOVAPD
|
_mm_storeu_pd
|
ストア
|
MOVUPD
|
_mm_storer_pd
|
ストア
|
MOVAPD + シャッフル
|
_mm_storeh_pd
|
ストア
|
MOVHPD
|
_mm_storel_pd
|
ストア
|
MOVLPD
|
void _mm_store_sd(double *dp, __m128d a)
a の下位の倍精度浮動小数点値をストアします。
アドレス dp は、16 バイトにアライメントが合っていなくてもかまいません。
void _mm_store1_pd(double *dp, __m128d a)
a の下位の倍精度浮動小数点値を 2 回ストアします。
アドレス dp は、16 バイトにアライメントが合っていなければなりません。
void _mm_store_pd(double *dp, __m128d a)
2 つの倍精度浮動小数点値をストアします。アドレス dp は、16 バイトにアライメントが合っていなければなりません。
void _mm_storeu_pd(double *dp, __m128d a)
2 つの倍精度浮動小数点値をストアします。アドレス dp は、16 バイトにアライメントが合っていなくてもかまいません。
void _mm_storer_pd(double *dp, __m128d a)
2 つの倍精度浮動小数点値を逆順でストアします。アドレス dp は、16 バイトにアライメントが合っていなければなりません。
void _mm_storeh_pd(double *dp, __m128d a)
a の上位の倍精度浮動小数点値をストアします。
void _mm_storel_pd(double *dp, __m128d a)
a の下位の倍精度浮動小数点値をストアします。