ストリーミングSIMD拡張命令の組込み関数のプロトタイプは、ヘッダ・ファイルxmmintrin.h内にあります。
組込み関数 | 命令 | 操作 | R0 | R1 | R2 | R3 |
---|---|---|---|---|---|---|
_mm_add_ss | ADDSS | 加算 | a0 [op] b0 | a1 | a2 | a3 |
_mm_add_ps | ADDPS | 加算 | a0 [op] b0 | a1 [op] b1 | a2 [op] b2 | a3 [op] b3 |
_mm_sub_ss | SUBSS | 減算 | a0 [op] b0 | a1 | a2 | a3 |
_mm_sub_ps | SUBPS | 減算 | a0 [op] b0 | a1 [op] b1 | a2 [op] b2 | a3 [op] b3 |
_mm_mul_ss | MULSS | 乗算 | a0 [op] b0 | a1 | a2 | a3 |
_mm_mul_ps | MULPS | 乗算 | a0 [op] b0 | a1 [op] b1 | a2 [op] b2 | a3 [op] b3 |
_mm_div_ss | DIVSS | 除算 | a0 [op] b0 | a1 | a2 | a3 |
_mm_div_ps | DIVPS | 除算 | a0 [op] b0 | a1 [op] b1 | a2 [op] b2 | a3 [op] b3 |
_mm_sqrt_ss | SQRTSS | 平方根 | [op] a0 | a1 | a2 | a3 |
_mm_sqrt_ps | SQRTPS | 平方根 | [op] a0 | [op] b1 | [op] b2 | [op] b3 |
_mm_rcp_ss | RCPSS | 逆数 | [op] a0 | a1 | a2 | a3 |
_mm_rcp_ps | RCPPS | 逆数 | [op] a0 | [op] b1 | [op] b2 | [op] b3 |
_mm_rsqrt_ss | RSQRTSS | 平方根の逆数 | [op] a0 | a1 | a2 | a3 |
_mm_rsqrt_ps | RSQRTPS | 平方根の逆数 | [op] a0 | [op] b1 | [op] b2 | [op] b3 |
_mm_min_ss | MINSS | 最小値の計算 | [op]( a0,b0) | a1 | a2 | a3 |
_mm_min_ps | MINPS | 最小値の計算 | [op]( a0,b0) | [op] (a1, b1) | [op] (a2, b2) | [op] (a3, b3) |
_mm_max_ss | MAXSS | 最大値の計算 | [op]( a0,b0) | a1 | a2 | a3 |
_mm_max_ps | MAXPS | 最大値の計算 | [op]( a0,b0) | [op] (a1, b1) | [op] (a2, b2) | [op] (a3, b3) |
aとbの最下位の単精度浮動小数点値を加算します。上位3個の単精度浮動小数点値は、aからそのまま渡されます。
r0 := a0 + b0
r1 := a1 ; r2 := a2 ; r3 := a3
aとbの4個の単精度浮動小数点値を加算します。
r0 := a0 + b0
r1 := a1 + b1
r2 := a2 + b2
r3 := a3 + b3
aの最下位の単精度浮動小数点値から、bの最下位の単精度浮動小数点値を引きます。上位3個の単精度浮動小数点値は、aからそのまま渡されます。
r0 := a0 - b0
r1 := a1 ; r2 := a2 ; r3 := a3
aの4個の単精度浮動小数点値から、bの4個の単精度浮動小数点値を引きます。
r0 := a0 - b0
r1 := a1 - b1
r2 := a2 - b2
r3 := a3 - b3
aとbの最下位の単精度浮動小数点値を乗算します。 上位3個の単精度浮動小数点値は、aからそのまま渡されます。
r0 := a0 * b0
r1 := a1 ; r2 := a2 ; r3 := a3
aとbの4個の単精度浮動小数点値を乗算します。
r0 := a0 * b0
r1 := a1 * b1
r2 := a2 * b2
r3 := a3 * b3
aの最下位の単精度浮動小数点値を、bの最下位の単精度浮動小数点値で割ります。 上位3個の単精度浮動小数点値は、aからそのまま渡されます。
r0 := a0 / b0
r1 := a1 ; r2 := a2 ; r3 := a3
aの4個の単精度浮動小数点値を、bの4個の単精度浮動小数点値で割ります。
r0 := a0 / b0
r1 := a1 / b1
r2 := a2 / b2
r3 := a3 + b3
aの最下位の単精度浮動小数点値の平方根を計算します。 上位3個の単精度浮動小数点値はそのまま渡されます。
r0 := sqrt(a0)
r1 := a1 ; r2 := a2 ; r3 := a3
aの4個の単精度浮動小数点値の平方根を計算します。
r0 := sqrt(a0)
r1 := sqrt(a1)
r2 := sqrt(a2)
r3 := sqrt(a3)
aの最下位の単精度浮動小数点値の逆数の近似値を計算します。 上位3個の単精度浮動小数点値はそのまま渡されます。
r0 := recip(a0)
r1 := a1 ; r2 := a2 ; r3 := a3
aの4個の単精度浮動小数点値の逆数の近似値を計算します。
r0 := recip(a0)
r1 := recip(a1)
r2 := recip(a2)
r3 := recip(a3)
aの最下位の単精度浮動小数点値の平方根の逆数の近似値を計算します。 上位3個の単精度浮動小数点値はそのまま渡されます。
r0 := recip(sqrt(a0))
r1 := a1 ; r2 := a2 ; r3 := a3
aの4個の単精度浮動小数点値の平方根の逆数の近似値を計算します。
r0 := recip(sqrt(a0))
r1 := recip(sqrt(a1))
r2 := recip(sqrt(a2))
r3 := recip(sqrt(a3))
aとbの最下位の単精度浮動小数点値について、小さい方の値を計算をします。 上位3個の単精度浮動小数点値は、aからそのまま渡されます。
r0 := min(a0, b0)
r1 := a1 ; r2 := a2 ; r3 := a3
aとbの4個の単精度浮動小数点値について、それぞれ小さい方の値を計算します。
r0 := min(a0, b0)
r1 := min(a1, b1)
r2 := min(a2, b2)
r3 := min(a3, b3)
aとbの最下位の単精度浮動小数点値について、大きい方の値を計算します。 上位3個の単精度浮動小数点値は、aからそのまま渡されます。
r0 := max(a0, b0)
r1 := a1 ; r2 := a2 ; r3 := a3
aとbの4個の単精度浮動小数点値について、それぞれ小さい方の値を計算します。
r0 := max(a0, b0)
r1 := max(a1, b1)
r2 := max(a2, b2)
r3 := max(a3, b3)