2

我想颠倒__m512i寄存器中所有值的顺序。我的主要问题是我没有找到关于如何使用所有不同的随机播放操作的解释。我已经尝试过_mm512_shuffle_epi32,但我没有找到任何解释_MM_PERM_AAAA, _MM_PERM_AAAB, ... 是如何实际工作的,并且通过尝试它们我不知道如何使用它们。

4

1 回答 1

3

找到了解决方案:

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

于 2018-02-26T11:35:10.487 回答