インテル® C++ コンパイラー 19.0 デベロッパー・ガイドおよびリファレンス
2 つの 256 ビットまたは 128 ビットの float32 ベクトルのパックド・ビット・テストを実行して、ZF フラグを設定します。対応するインテル® AVX 命令は VTESTPS です。
extern int _mm256_testz_ps(__m256 s1, __m256 s2); |
extern int _mm_testz_ps(__m128 s1, __m128 s2); |
s1 |
1 つ目の float32 ソースベクトル |
s2 |
2 つ目の float32 ソースベクトル |
s1 と s2 の単精度 (32 ビット) 浮動小数点要素のビット単位の AND (論理積) を計算し、中間値の各 32 ビット要素の符号ビットが 0 の場合は ZF を 1 に設定し、そうでない場合は ZF を 0 に設定します。s1 と s2 のビット単位の AND NOT (否定論理積) を計算し、中間値の各 32 ビット要素の符号ビットが 0 の場合は CF を 1 に設定し、そうでない場合は CF を 0 に設定します。ZF 値を返します。
インテル® アドバンスト・ベクトル・エクステンション (インテル® AVX) 命令には、128 ビットの SIMD 命令の機能がすべて含まれています。128 ビットのベクトル長を持つインテル® AVX 命令は、YMM レジスターの上位 128 ビットを 0 に設定します。YMM レジスターの下位ビットは、対応する SIMD XMM レジスターにエイリアスされます。
ZF フラグが設定されている場合は非ゼロ。
ZF フラグが設定されていない場合は 0。