インテル® C++ コンパイラー 19.0 デベロッパー・ガイドおよびリファレンス
設定操作用のインテル® ストリーミング SIMD 拡張命令 (インテル® SSE) の組込み関数のプロトタイプは、ヘッダーファイル xmmintrin.h 内にあります。
これらの組込み関数を使用する場合、次のように immintrin.h ファイルをインクルードします。
#include <immintrin.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 つの単精度浮動小数点値を、入力値 w、x、y、z に設定します。
R0 |
R1 |
R2 |
R3 |
---|---|---|---|
w |
x |
y |
z |
__m128 _mm_setr_ps(float z, float y, float x, float w);
4 つの単精度浮動小数点値を、逆順で入力値 w、x、y、z に設定します。
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 |