哇,你的结果非常准确:
32位整数Q乘法成本为4个周期,而float为2。
32位整数Q增加成本1个周期,而float需要2个。
不错的实验。
也许你已经知道了,但在编写NEON时要小心:
当NEON工作繁重时,不要使用ARM访问内存
不要将VFP指令与NEON混合使用。 (那些共享的除外)
不访问S寄存器。
不要从NEON寄存器传输到ARM
所有这些都将导致巨大的打嗝。
祝好运!
PS:我宁愿优化A9(稍微不同的周期时间),因为几乎所有新设备都带有A9。 ARM的A9时序图更具可读性。 :-)