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

論理演算子

次の表は、Fvec クラスの論理演算子と一般的な構文を列挙したものです。F32vec1 クラスの論理演算子は下位 32 ビットだけを使用します。

Fvec 論理演算子の戻り値の対応表

ビット単位演算

演算子

一般的な構文

AND

&
&=

R = A & B;
R &= A;

OR

|
|=

R = A | B;
R |= A;

XOR

^
^=

R = A ^ B;
R ^= A;

andnot

andnot

R = andnot(A);

次の表は、論理演算子の標準的な構文と、対応する組込み関数を示したものです。F32vec1 クラスには対応するスカラー組込み関数がなく、パックドベクトル組込み関数の下位 32 ビットにアクセスする点に注意してください。

Fvec クラスの論理演算

演算

戻り値

構文の使用例

組込み関数

AND

4 float

F32vec4 & = F32vec4 A & F32vec4 B;
F32vec4 & &= F32vec4 A;

_mm_and_ps

 

2 double

F64vec2 R = F64vec2 A & F64vec2 B;
F64vec2 R &= F64vec2 A;

_mm_and_pd

 

1 float

F32vec1 R = F32vec1 A & F32vec1 B;
F32vec1 R &= F32vec1 A;

_mm_and_ps

OR

4 float

F32vec4 R = F32vec4 A | F32vec4 B;
F32vec4 R |= F32vec4 A;

_mm_or_ps

 

2 double

F64vec2 R = F64vec2 A | F64vec2 B;
F64vec2 R |= F64vec2 A;

_mm_or_pd

 

1 float

F32vec1 R = F32vec1 A | F32vec1 B;
F32vec1 R |= F32vec1 A;

_mm_or_ps

XOR

4 float

F32vec4 R = F32vec4 A ^ F32vec4 B;
F32vec4 R ^= F32vec4 A;

_mm_xor_ps

 

2 double

F64vec2 R = F64vec2 A ^ F64vec2 B;
F64vec2 R ^= F64vec2 A;

_mm_xor_pd

 

1 float

F32vec1 R = F32vec1 A ^ F32vec1 B;
F32vec1 R ^= F32vec1 A;

_mm_xor_ps

ANDNOT

2 double

F64vec2 R = andnot(F64vec2 A,
F64vec2 B);

_mm_andnot_pd