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

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

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

__m128i _mm_and_si128(__m128i a, __m128i b)

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

r := a & b

__m128i _mm_andnot_si128(__m128i a, __m128i b)

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

r := (~a) & b

__m128i _mm_or_si128(__m128i a, __m128i b)

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

r := a | b

__m128i _mm_xor_si128(__m128i a, __m128i b)

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

r := a ^ b