ストリーミング SIMD 拡張命令 2 の組込み関数のプロトタイプは、ヘッダファイル emmintrin.h 内にあります。
__m128d _mm_and_pd(__m128d a, __m128d b)
(ANDPD を使用) a と b の 2 つの倍精度浮動小数点値について、ビット単位の AND (論理積) を計算します。
r0 := a0 & b0
r1 := a1 & b1
__m128d _mm_andnot_pd(__m128d a, __m128d b)
(ANDNPD を使用) a の 128 ビット値のビット単位の NOT (否定) を実行し、その結果と b の 128 ビット値について、ビット単位の AND (論理積) を計算します。
r0 := (~a0) & b0
r1 := (~a1) & b1
__m128d _mm_or_pd(__m128d a, __m128d b)
(ORPD を使用) a と b の 2 つの倍精度浮動小数点値について、ビット単位の OR (論理和) を計算します。
r0 := a0 | b0
r1 := a1 | b1
__m128d _mm_xor_pd(__m128d a, __m128d b)
(XORPD を使用) a と b の 2 つの倍精度浮動小数点値について、ビット単位の XOR (排他的論理和) を計算します。
r0 := a0 ^ b0
r1 := a1 ^ b1