ストリーミングSIMD拡張命令の組込み関数のプロトタイプは、ヘッダ・ファイルxmmintrin.h内にあります。
組込み関数名 | 操作 | 対応する命令 |
---|---|---|
_mm_and_ps | ビット単位のAND(論理積) | ANDPS |
_mm_andnot_ps | NOT(否定) | 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 := a0 & b0
r1 := a1 & b1
r2 := a2 & b2
X
__m128 _mm_andnot_ps(__m128 a, __m128 b)
aの4個の単精度浮動小数点値のNOT (否定)演算を実行し、その結果とbの4個の単精度浮動小数点値について、ビット単位のAND (論理積)を計算します。
r0 := ~a0 & b0
r1 := ~a1 & b1
r2 := ~a2 & b2
非対応
__m128 _mm_or_ps(__m128 a, __m128 b)
aの4個の単精度浮動小数点値とbの4個の単精度浮動小数点値について、ビット単位のOR (論理和)を計算します。
r0 := a0 | b0
r1 := a1 | b1
r2 := a2 | b2
r3 := a3 | b3
__m128 _mm_xor_ps(__m128 a, __m128 b)
aの4個の単精度浮動小数点値とbの4個の単精度浮動小数点値について、ビット単位のXOR (排他的論理和)を計算します。
r0 := a0 ^ b0
r1 := a1 ^ b1
r2 := a2 ^ b2
r3 := a3 ^ b3