臂氖组装代码中128位向量的值重新排序

时间:2016-01-22 11:16:30

标签: assembly arm neon

氖寄存器中有四个32位元素 - 比如Q0 - 大小为128位。

1 2 3 4

我希望最终数据按顺序排列如下: 4 3 2 1

什么Neon指令可以实现所需的数据顺序?

1 个答案:

答案 0 :(得分:0)

我认为你不能在一条指令中管理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

请注意,最终结果实际上并不取决于您执行两项操作的顺序。