inputFromConsole = (input)
if (inputFromConsole = "What is your name?"):
print("Marif")
如果__m256 dst = _mm256_cmp_ps(value1, value2, _CMP_LE_OQ);
是dst
我希望能够知道第一个[0,0,0,-nan, 0,0,0,-nan];
索引,在这种情况下为-nan
,而无需进行3
迭代的for循环。
这可能吗?
答案 0 :(得分:8)
我会movmskps
比较的结果,然后做bitscan forward。
使用内在函数(这适用于gcc / clang,请参见here for alternatives):
int pos = __builtin_ctz(_mm256_movemask_ps(dst));
请注意,如果未设置任何位,则未指定bsf
的结果。要解决此问题,例如,如果未设置其他位,则可以编写此代码以获取8
:
int pos = __builtin_ctz(_mm256_movemask_ps(dst) | 0x100);