インテル® C++ コンパイラー 18.0 デベロッパー・ガイドおよびリファレンス

論理演算組込み関数

次の表に、浮動小数点論理演算用のインテル® ストリーミング SIMD 拡張命令 2 (インテル® SSE2) の組込み関数のリストを示します。インテル® SSE2 の組込み関数のプロトタイプは、ヘッダーファイル emmintrin.h 内にあります。

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

組込み関数名

演算

対応するインテル® SSE2 命令

_mm_and_pd

AND (論理積) を計算する

ANDPD

_mm_andnot_pd

ANDNOT (論理積否定) を計算する

ANDNPD

_mm_or_pd

OR (論理和) を計算する

ORPD

_mm_xor_pd

XOR (排他的論理和) を計算する

XORPD

_mm_and_pd

__m128d _mm_and_pd(__m128d a, __m128d b);

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

R0

R1

a0 & b0

a1 & b1

_mm_andnot_pd

__m128d _mm_andnot_pd(__m128d a, __m128d b);

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

R0

R1

(~a0) & b0

(~a1) & b1

_mm_or_pd

__m128d _mm_or_pd(__m128d a, __m128d b);

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

R0

R1

a0 | b0

a1 | b1

_mm_xor_pd

__m128d _mm_xor_pd(__m128d a, __m128d b);

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

R0

R1

a0 ^ b0

a1 ^ b1