我正在使用内部函数对 Xeon Phi 进行条件计算。我必须使用双精度值,所以我需要一个 __mmask8。只要我使用一些比较函数,对我来说就没有问题,但是如果我想修改这些掩码,我会遇到一些类型冲突。如果文档为我提供了很多修改用于单精度的 __mmask16 的功能,则没有一个可用于双精度的功能。
我想做如下的事情:
int tmp = 0;
for(i = 0; i < 8; i++) {
tmp = index[i];
tmp = tmp << 1;
}
__mmask8 something = _mm512_int2mask(tmp);
该文档仅为 __mmask16 提供了给定的功能。文档的Vector Mask Intrinsic 章节中的所有操作函数也是如此。
我也可以使用这些功能吗?
是否有像“使用 __mmask16 的每一秒位”这样的约定?
提前致谢