インテル® C++ コンパイラー 18.0 デベロッパー・ガイドおよびリファレンス

設定組込み関数

設定操作用のインテル® ストリーミング 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 つの値をすべてクリアする

複合

_mm_set_ss

__m128 _mm_set_ss(float w);

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

R0

R1

R2

R3

w

0.0

0.0

0.0

_mm_set1_ps

__m128 _mm_set1_ps(float w);

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

R0

R1

R2

R3

w

w

w

w

_mm_set_ps

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

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

R0

R1

R2

R3

w

x

y

z

_mm_setr_ps

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

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

R0

R1

R2

R3

z

y

x

w

_mm_setzero_ps

__m128 _mm_setzero_ps(void);

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

R0

R1

R2

R3

0.0

0.0

0.0

0.0