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

論理演算組込み関数

論理演算用のインテル® ストリーミング 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

_mm_and_ps

__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

_mm_andnot_ps

__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

_mm_or_ps

__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

_mm_xor_ps

__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