我使用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不这样做。)

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top