【问题标题】:reorder of values in 128 bit vector in arm neon assembly codearm neon 汇编代码中 128 位向量中值的重新排序
【发布时间】:2016-04-28 23:29:12
【问题描述】:

在 Neon 寄存器中有四个 32 位元素 - 例如 Q0 - 大小为 128 位。

1 2 3 4

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

什么 Neon 指令可以实现想要的数据顺序?

【问题讨论】:

    标签: assembly arm neon


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 2012-02-22
      • 1970-01-01
      • 1970-01-01
      • 2019-01-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多