我有一个512位宽的向量寄存器(16个值)和一个掩码,使用_mm512_mask_i32scatter_epi32()
将它们存储到内存中。要确定将多少值写入内存,请使用__builtin_clz()
计算掩码的前导零。如果面具不是(!)为空,一切正常。但是当面具是空的时候会发生一些奇怪的事情:
std::cout << "mask = " << mask << " clz(mask) " << __builtin_clz(mask) << "\n";
mask = 0 clz(mask)31
我有两个问题:
此致