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

_mm256_testz_ps、_mm_testz_ps

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。