下の「Fvec論理演算子の戻り値の対応表」は、Fvecクラスの論理演算子とその一般的な構文とを列挙したものです。F32vec1クラスの論理演算子のときは下位32ビットだけを使用します。
ビット単位演算 | 演算子 | 一般的な構文 |
---|---|---|
AND |
& |
R = A & B; |
OR |
| |
R = A | B; |
XOR |
^ |
R = A ^ B; |
andnot |
andnot |
R = andnot(A); |
次の表は、論理演算子の標準的な構文と、対応する組込み関数を示したものです。F32vec1クラスについては、対応するスカラ組込み関数がなく、パックドベクトル組込み関数の下位32ビットにアクセスするのに注意してください。
操作 | 戻り値 | 構文の使用例 | 組込み関数 |
---|---|---|---|
AND |
floatが4個 |
F32vec4 & = F32vec4 A & F32vec4
B; |
_mm_and_ps |
|
doubleが2個 |
F64vec2 R = F64vec2 A & F32vec2
B; |
_mm_and_pd |
|
floatが1個 |
F32vec1 R = F32vec1 A & F32vec1
B; |
_mm_and_ps |
OR |
floatが4個 |
F32vec4 R = F32vec4 A | F32vec4 B; |
_mm_or_ps |
|
doubleが2個 |
F64vec2 R = F64vec2 A | F32vec2 B; |
_mm_or_pd |
|
floatが1個 |
F32vec1 R = F32vec1 A | F32vec1 B; |
_mm_or_ps |
XOR |
floatが4個 |
F32vec4 R = F32vec4 A ^ F32vec4 B; |
_mm_xor_ps |
|
doubleが2個 |
F64vec2 R = F64vec2 A ^ F364vec2 B; |
_mm_xor_pd |
|
floatが1個 |
F32vec1 R = F32vec1 A ^ F32vec1 B; |
_mm_xor_ps |
ANDNOT |
doubleが2個 |
F64vec2 R = andnot(F64vec2 A, |
_mm_andnot_pd |