ARM的Cortex-A8:如何同时利用NEON和VFPv3的
-
26-09-2019 - |
题
我使用Cortex-A8处理器,我不理解如何使用-mfpu
标志。
在Cortex-A8的有两者的 vfpv3可使和<强>氖强>协处理器。先前我不知道如何使用氖,所以我只使用
gcc -marm -mfloat-abi=softfp -mfpu=vfpv3
现在我已经明白SIMD处理器如何运行和我已经使用NEON内在写入某些代码。为了在使用氖协处理器现在我-mfpu标志具有改变到-mfpu=neon
,所以我的编译器命令行看起来像这样
gcc -marm -mfloat-abi=softfp -mfpu=neon
现在,这是否意味着我的vfpv3
不使用任何更多?我有很多的代码未利用NEON的,不要那些部分没有利用vfpv3
的。
如果既霓虹灯和VFPv3仍在使用,那么我没有任何问题,但如果只使用其中的一个我怎么能同时使用吗?
解决方案
NEON意味着具有传统的VFP支持太。 VFP可用于“正常”(非载体)浮点计算。此外,NEON不支持双精度浮点所以只有VFP指令可用于这一点。结果 你可以做的就是添加-S海湾合作委员会的命令行和检查装配。开始采用V指令(例如vld1.32,vmla.f32)是NEON指令,以及那些开始F(fldd,fmacd)是VFP。 (虽然ARM文档现在更喜欢使用V前缀即使对于VFP指令,GCC不这样做。)
不隶属于 StackOverflow