反转 __m512i 寄存器中的值

Reverse the values in a __m512i register

我想颠倒 __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" 不是真正的掩码,而是一个寄存器,用于保存寄存器中要反转的每个对象的位置。