我想反转 __m512i
中所有值的顺序登记。
我的主要问题是我没有找到如何使用所有不同的洗牌操作的解释。我已经尝试过_mm512_shuffle_epi32
但我没有找到任何解释 _MM_PERM_AAAA
, _MM_PERM_AAAB
,...实际上可以工作,只是尝试它们,我不知道如何使用它们。
最佳答案
找到解决方案:
const __m512i reverseMask = _mm512_set_epi32 (0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15);
__m512i reversed = _mm512_permutevar_epi32(reverseMask,ObjectToReverse);
请注意,“reverseMask”不是真正的掩码,而是一个寄存器,用于保存寄存器中要反转的每个对象的位置。
关于c++ - 反转 __m512i 寄存器中的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48986768/