論理演算組み込み関数

論理演算用のインテル® ストリーミング SIMD 拡張命令 (インテル® SSE) の組み込み関数のプロトタイプは、ヘッダーファイル xmmintrin.h 内にあります。

各組み込み関数演算の結果はレジスターに配置されます。ここでは、このレジスターを組み込み関数ごとに R0 から R3 までを使用して示します。R0、R1、R2、および R3 はそれぞれ、結果レジスターの 4 つの 32 ビット部分を表します。

組み込み関数名

演算子

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

_mm_and_ps

ビット単位の AND (論理積)

ANDPS

_mm_andnot_ps

ビット単位の ANDNOT (論理積否定)

ANDNPS

_mm_or_ps

ビット単位の OR (論理和)

ORPS

_mm_xor_ps

ビット単位の XOR (排他的論理和)

XORPS

 

__m128 _mm_and_ps(__m128 a, __m128 b)

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

R0

R1

R2

R3

a0 & b0

a1 & b1

a2 & b2

a3 & b3

 

__m128 _mm_andnot_ps(__m128 a, __m128 b)

a の 4 つの単精度浮動小数点値の NOT (否定) 演算を実行し、その結果と b の 4 つの単精度浮動小数点値について、ビット単位の AND (論理積) を計算します。

R0

R1

R2

R3

~a0 & b0

~a1 & b1

~a2 & b2

~a3 & b3

 

__m128 _mm_or_ps(__m128 a, __m128 b)

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

R0

R1

R2

R3

a0 | b0

a1 | b1

a2 | b2

a3 | b3

 

__m128 _mm_xor_ps(__m128 a, __m128 b)

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

R0

R1

R2

R3

a0 ^ b0

a1 ^ b1

a2 ^ b2

a3 ^ b3