_m_test_all_zeros的__m256i版本

时间:2019-05-28 16:24:51

标签: simd intrinsics avx avx2

我知道如何使用_mm_test_all_zeros内部函数来测试_m128i寄存器是否全部为零。

此内在函数的AVX2 / __ m256i版本是什么?如果一个不可用,测试SIMD寄存器中所有256位是否全部为零的最快方法是什么?

1 个答案:

答案 0 :(得分:6)

最快的可能是vptest指令。

// Return 1 if `x` is all zeros, otherwise 0
inline int test_all_zeros( __m256i x )
{
    return _mm256_testz_si256( x, x );
}