潮声隔雨深 · 2020年02月14日

neon在armv8(arch64)下的使用

我在armv8下(arch64)下使用neon中遇到一些疑问,希望得到大家解答

1、在armv8下是编译的时候使用了O3优化,相关计算就会自动使用neon吗

2、同样一段计算函数,计算速度是不是

NEON assembly >NEON intrinsics> NEON C

3、有关NEON intrinsics的相关指令使用方法介绍,有详细的说明文档吗,

目前参考https://developer.arm.com/tec...,但里面相关指令都只有简单的汇编语句,功能看的不是很明白

4、neon的工作主频是跟arm的主频一致吗,我们之前使用的armv7架构cpu,当把arm的主频调高后,neon的计算速度也会变快

但现在我们用armv8平台的cpu,把arm的主屏调高后,neon的计算速度没有任何变化

谢谢!

1 个回答 得票排序 · 时间排序
一知半解 · 2020年02月14日

Hi,

1、在armv8下是编译的时候使用了O3优化,相关计算就会自动使用neon吗?

对的。GCC可以通过自动向量化产生NEON指令。

2、同样一段计算函数,计算速度是不是

NEON C是指什么?NEON assembly是最快的。因为你人工写总可以写得比编译器好。

3、有关NEON intrinsics的相关指令使用方法介绍,有详细的说明文档吗

详细的指令文档是ARM referenece manual。另外与NEON相关的有一本手册(NEON Programmer’s Guide)也可以参考。http://infocenter.arm.com/hel...

4 neon的工作主频是跟arm的主频一致吗

我印象是一致的。有一种可能是你的代码热点不在NEON计算上,所以主频上升可能也没有用。

你的回答