据我所知,C++ 中的整数可以被视为布尔值,我们可以有这样的代码:
int a = 6, b = 10;
if (a && b) do something ---> true as both a and b are non-zero
现在,假设我们有:
__m256i a, b;
我需要对 __m256i 中的所有 4 个长变量应用logical_and (&&),如果一对非零则返回true。我的意思是:
(a[0] && b[0]) || (a[1] && b[1]) || ...
为此,我们在 AVX 或 AVX2 中有快速代码吗?
我找不到任何用于此目的的直接指令,而且绝对地,使用按位和 (&) 也不相同。任何帮助将不胜感激。