ストリーミング SIMD 拡張命令の設定操作

ストリーミング SIMD 拡張命令 (SSE) の組み込み関数のプロトタイプは、ヘッダーファイル xmmintrin.h 内にあります。

次の表の組み込み関数名をクリックすると、その組み込み関数の詳細が表示されます。

各組み込み関数演算の結果はレジスターに配置されます。各レジスターに配置される値については、次の表の関数名の詳細で示します。R0、R1、R2、R3 は、結果が配置されるレジスターを表します。

組み込み関数名 操作 対応する SSE
命令
_mm_set_ss 最下位の値を設定し、上位 3 つの値をクリアする 複合
_mm_set1_ps 4 ワードすべてを同じ値に設定する 複合
_mm_set_ps 4 つの値を設定する (アドレスのアライメントが合っていなければなりません) 複合
_mm_setr_ps 4 つの値を逆順で設定する 複合
_mm_setzero_ps 4 つの値をすべてクリアする 複合

 

__m128 _mm_set_ss(float w )

単精度浮動小数点値の最下位ワードを w に設定し、上位 3 ワードをクリアします。

R0 R1 R2 R3
w 0.0 0.0 0.0

 

__m128 _mm_set1_ps(float w )

4 つの単精度浮動小数点値を w に設定します。

R0 R1 R2 R3
w w w w

 

__m128 _mm_set_ps(float z, float y, float x, float w )

4 つの単精度浮動小数点値を、4 つの入力値に設定します。

R0 R1 R2 R3
w x y z

 

__m128 _mm_setr_ps (float z, float y, float x, float w )

4 つの単精度浮動小数点値を、逆順で 4 つの入力値に設定します。

R0 R1 R2 R3
z y x w

 

__m128 _mm_setzero_ps (void)

4 つの単精度浮動小数点値をクリアします。

R0 R1 R2 R3
0.0 0.0 0.0 0.0