【发布时间】:2013-01-14 00:03:52
【问题描述】:
是否有任何现有指令可以将 256 位 AVX/AVX2(YMM) 寄存器中的较低或较高值存储到内存地址,就像 SSE 指令 movlps/movhps 一样?
或者还有其他方法可以实现吗?
任何帮助将不胜感激,谢谢!
【问题讨论】:
-
您可以使用insert/extract instructions。那些会将它们拉到另一个寄存器中。所以你仍然需要一个单独的加载/存储指令。但话虽如此,这与仅使用 128 位置换来交换两半没有任何不同。
-
感谢@Mysticial!我发现 AVX2 vextractf128 可能适用于此。