インテル® C++ コンパイラー XE 13.1 ユーザー・リファレンス・ガイド
2 つの 256 ビットまたは 128 ビットの float32 ベクトルのパックド・ビット・テストを実行して、ZF フラグを設定します。対応するインテル® AVX 命令は VTESTPS です。
extern __m256 _mm256_testz_pz(__m256 s1, __m256 s2); |
extern __m256 _mm_testz_pz(__m256 s1, __m256 s2); |
ZF フラグを設定します。ZF フラグは、1 つ目のソースベクトルと 2 つ目のソースベクトルのビット単位の AND (論理積) 演算の結果に基づいて設定されます。対応する VTESTPS 命令は、すべての結果ビットが 0 の場合に ZF フラグを設定します。結果ビットが非ゼロの場合は、ZF フラグをクリアします。
_mm_testz_ps 組込み関数は、128 ビットの float32 ソースベクトルの結果に応じて ZF フラグを設定します。_m256_testz_ps 組込み関数は、256 ビットの float32 ソースベクトルの結果に応じて ZF フラグを設定します。
インテル® アドバンスト・ベクトル・エクステンション (インテル® AVX) 命令には、128 ビットの SIMD 命令の機能がすべて含まれています。128 ビットのベクトル長を持つインテル® AVX 命令は、YMM レジスターの上位 128 ビットを 0 に設定します。YMM レジスターの下位ビットは、対応する SIMD XMM レジスターにエイリアスされます。