【发布时间】:2016-04-28 23:29:12
【问题描述】:
在 Neon 寄存器中有四个 32 位元素 - 例如 Q0 - 大小为 128 位。
1 2 3 4
我希望最终数据按如下顺序排列: 4 3 2 1
什么 Neon 指令可以实现想要的数据顺序?
【问题讨论】:
在 Neon 寄存器中有四个 32 位元素 - 例如 Q0 - 大小为 128 位。
1 2 3 4
我希望最终数据按如下顺序排列: 4 3 2 1
什么 Neon 指令可以实现想要的数据顺序?
【问题讨论】:
我认为你不能在一条指令中管理 4 个单词,但肯定可以分两步完成:
vswp d0, d1 ; exchange the two halves of q0, giving 3,4,1,2
vrev64.32 q0, q0 ; word-swap each doubleword of q0, giving 4,3,2,1
请注意,最终结果实际上并不取决于您执行这两个操作的顺序。
【讨论】: