ストリーミング SIMD 拡張命令 2 の整数論理演算

次の 4 つの論理演算組み込み関数とそれに対応する命令は、ストリーミング SIMD 拡張命令 2 (SSE2) をサポートするプロセッサー上で有効です。

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

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

SSE2 の組み込み関数のプロトタイプは、ヘッダーファイル emmintrin.h 内にあります。

組み込み関数名 操作 対応する SSE2 命令
_mm_and_si128 AND (論理積) を計算する PAND
_mm_andnot_si128 ANDNOT (論理積否定) を計算する PANDN
_mm_or_si128 OR (論理和) を計算する POR
_mm_xor_si128 XOR (排他的論理和) を計算する PXOR

 

__m128i _mm_and_si128(__m128i a, __m128i b)

a の 128 ビット値と b の 128 ビット値について、ビット単位の AND (論理積) を計算します。

R0
a & b

 

__m128i _mm_andnot_si128(__m128i a, __m128i b)

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

R0
(~a) & b

 

__m128i _mm_or_si128(__m128i a, __m128i b)

a の 128 ビット値と b の 128 ビット値について、ビット単位の OR (論理和) を計算します。

R0
a | b

 

__m128i _mm_xor_si128(__m128i a, __m128i b)

a の 128 ビット値と b の 128 ビット値について、ビット単位の XOR (排他的論理和) を計算します。

R0
a ^ b