ストリーミング SIMD 拡張命令 (SSE) の組み込み関数のプロトタイプは、ヘッダーファイル xmmintrin.h 内にあります。
各組み込み関数演算の結果はレジスターに配置されます。ここでは、このレジスターを組み込み関数ごとに R0 から R3 までを使用して示します。結果レジスターの 4 つの 32 ビット部分を、R0、R1、R2、および R3 とそれぞれ表します。
次の表の組み込み関数名をクリックすると、その組み込み関数の詳細が表示されます。
組み込み関数名 | 操作 | 対応する SSE 命令 |
---|---|---|
_mm_and_ps | ビット単位の AND (論理積) | ANDPS |
_mm_andnot_ps | ビット単位の ANDNOT (論理積否定) | ANDNPS |
_mm_or_ps | ビット単位の OR (論理和) | ORPS |
_mm_xor_ps | ビット単位の XOR (排他的論理和) | XORPS |
__m128 _mm_and_ps(__m128 a, __m128 b)
a の 4 つの単精度浮動小数点値と b の 4 つの単精度浮動小数点値について、ビット単位の AND (論理積) を計算します。
R0 | R1 | R2 | R3 |
---|---|---|---|
a0 & b0 | a1 & b1 | a2 & b2 | a3 & b3 |
__m128 _mm_andnot_ps(__m128 a, __m128 b)
a の 4 つの単精度浮動小数点値の NOT (否定) 演算を実行し、その結果と b の 4 つの単精度浮動小数点値について、ビット単位の AND (論理積) を計算します。
R0 | R1 | R2 | R3 |
---|---|---|---|
~a0 & b0 | ~a1 & b1 | ~a2 & b2 | ~a3 & b3 |
__m128 _mm_or_ps(__m128 a, __m128 b)
a の 4 つの単精度浮動小数点値と b の 4 つの単精度浮動小数点値について、ビット単位の OR (論理和) を計算します。
R0 | R1 | R2 | R3 |
---|---|---|---|
a0 | b0 | a1 | b1 | a2 | b2 | a3 | b3 |
__m128 _mm_xor_ps(__m128 a, __m128 b)
a の 4 つの単精度浮動小数点値と b の 4 つの単精度浮動小数点値について、ビット単位の XOR (排他的論理和) を計算します。
R0 | R1 | R2 | R3 |
---|---|---|---|
a0 ^ b0 | a1 ^ b1 | a2 ^ b2 | a3 ^ b3 |