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