我试图使用Neon指令提高ARM Assembler中编写的代码的性能.
为了测试和计算我使用这个计算器:
http://pulsar.webshaker.net/ccc/sample-706454b3
我注意到在“n.34-0 1c n0”线突然,霓虹灯装置似乎必须等待(?)10个周期.可能是什么原因或者只是计算器中的错误?
另外,我需要一些一般信息来了解如何提高ARM / Neon汇编程序的性能.
Target是ARM Cortex-A9.
为了编译,我使用最新的android-ndk和内联汇编程序.谢谢.
解决方法:
实际上这有点复杂.
BitBank是对的,NEON必须等待D4.
但是你必须等待10个周期,因为Neon有一个加载/存储队列.
并且在之前队列中充满了其他指令
vld1.64 d4, [r7, :64]
所以当你需要D4时,你必须等待执行这条指令
但要执行此指令,必须执行推入NEON加载/存储队列的所有先前加载/存储指令.