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

_mm256_testz_pd、_mm_testz_pd

2 つの 256 ビットまたは 128 ビットの float64 ベクトルのパックド・ビット・テストを実行して、ZF フラグを設定します。対応するインテル® AVX 命令は VTESTPD です。

構文

extern int _mm256_testz_pd(__m256d s1, __m256d s2);

extern int _mm_testz_pd(__m128d s1, __m128d s2);

引数

s1

1 つ目の float64 ソースベクトル

s2

2 つ目の float64 ソースベクトル

説明

s1 と s2 の倍精度 (64 ビット) 浮動小数点要素のビット単位の AND (論理積) を計算し、中間値の各 64 ビット要素の符号ビットが 0 の場合は ZF を 1 に設定し、そうでない場合は ZF を 0 に設定します。s1 と s2 のビット単位の AND NOT (否定論理積) を計算し、中間値の各 64 ビット要素の符号ビットが 0 の場合は CF を 1 に設定し、そうでない場合は CF を 0 に設定します。ZF 値を返します。

インテル® アドバンスト・ベクトル・エクステンション (インテル® AVX) 命令には、128 ビットの SIMD 命令の機能がすべて含まれています。128 ビットのベクトル長を持つインテル® AVX 命令は、YMM レジスターの上位 128 ビットを 0 に設定します。YMM レジスターの下位ビットは、対応する SIMD XMM レジスターにエイリアスされます。

戻り値

ZF フラグが設定されている場合は非ゼロ。

ZF フラグが設定されていない場合は 0。