反向__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);
请注意,"反向任务"不是真实的掩码,而是保留寄存器中每个对象位置以反向的寄存器。
相关文章:
- 本质:使用__128寄存器
- 将寄存器设计成可由C和C++访问的外设的最佳实践
- 在模拟器中使用并集来模拟CPU寄存器有多合适
- 使用英特尔 PIN 修改寄存器
- AVX 指令中寄存器和指针之间的客观差异
- 如何确定我的处理器有多少个 AVX 寄存器?
- 除非使用某些寄存器,否则函数挂钩会崩溃
- 寄存器上的管道计算
- 其中关于内存和寄存器的左值和右值
- 有没有办法强制C++编译器将变量存储在寄存器中?
- "变量":函数中函数作用域不允许初始化的自动或寄存器变量'naked'
- Atmel Studio:返回一个包含数组的寄存器
- 使用 googletest 测试嵌入式C++代码时处理外设寄存器的重复符号
- 移位寄存器74HC595输出电流
- 超过255的Modbus寄存器无法访问SimpleModbus
- 如何在程序集函数中将元素数组作为参数传递时转发 ARM 寄存器的地址指针
- xmm 寄存器中的__m128何时?
- 是否可以在 GCC 中使用带有 C++17 的显式寄存器变量?
- 处理器寄存器的大小是多少,有多少个处理器寄存器?
- 使用 Windows 寄存器查找下一个"Daylight Saving Time"