ストリーミング SIMD 拡張命令 2 の浮動小数点論理演算

ストリーミング SIMD 拡張命令 2 (SSE2) の組み込み関数のプロトタイプは、ヘッダーファイル emmintrin.h 内にあります。

次の表の組み込み関数名をクリックすると、その組み込み関数の詳細が表示されます。

各組み込み関数演算の結果はレジスターに配置されます。各レジスターに配置される値については、次の表の関数名の詳細で示します。R0 および R1 は、結果が配置されるレジスターを表します。 

組み込み関数名 操作 対応する SSE2 命令
_mm_and_pd AND (論理積) を計算する ANDPD
_mm_andnot_pd ANDNOT (論理積否定) を計算する ANDNPD
_mm_or_pd OR (論理和) を計算する ORPD
_mm_xor_pd XOR (排他的論理和) を計算する XORPD

 

__m128d _mm_and_pd(__m128d a, __m128d b)

ab の 2 つの倍精度浮動小数点値について、ビット単位の AND (論理積) を計算します。

R0 R1
a0 & b0 a1 & b1

 

__m128d _mm_andnot_pd(__m128d a, __m128d b)

a の 128 ビット値のビット単位の NOT (否定) を実行し、その結果と b の 128 ビット値について、ビット単位の AND (論理積) を計算します。

R0 R1
(~a0) & b0 (~a1) & b1

 

__m128d _mm_or_pd(__m128d a, __m128d b)

ab の 2 つの倍精度浮動小数点値について、ビット単位の OR (論理和) を計算します。

R0 R1
a0 | b0 a1 | b1

 

__m128d _mm_xor_pd(__m128d a, __m128d b)

ab の 2 つの倍精度浮動小数点値について、ビット単位の XOR (排他的論理和) を計算します。

R0 R1
a0 ^ b0 a1 ^ b1