在为armv8a和armv7a优化NEON代码时,我应该知道什么?

时间:2015-04-15 20:03:57

标签: gcc optimization arm neon

我有SSE的经验,并且搜索ARM平台是否有优化技巧,或者它是否最终正确地利用了指令延迟和吞吐量?

我尝试将armv8a与armv7a NEON进行比较,但到目前为止我的搜索告诉我两个单位非常相似,我错了吗?

我能找到的很少东西是:

  1. armv8a有标量的NEON操作;
  2. armv8a NEON与CPU共享状态标志;
  3. armv8a具有更宽的寄存器和新指令;
  4. 可以使用具有快速路径的单周期MAC链;
  5. 问题的一些细节:

    1. 什么样的armv8a NEON构造能够快速执行?
    2. 什么样的armv8a NEON结构表现缓慢,应该避免?
    3. armon8提供了哪些优化技术(除了具有快速路径的MAC链之外还有什么其他的东西?)?
    4. armv7a NEON与armv8a NEON相比如何?
    5. 在为两种架构(armv7a,armv8a)编写高性能代码的方式上是否存在实质性差异?
    6. 有没有可能快速armv7a代码在armv8a上执行缓慢(反之亦然)?一些例子?
    7. Snapdragon 810会以何种方式影响上述所有内容?
    8. 对定点和浮点的优化都感兴趣。

      我使用gcc-arm-linux-gnueabihf编译器。

0 个答案:

没有答案