論理演算子

次の表は、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 & F32vec2 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 | F32vec2 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 ^ F364vec2 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