ARM Cortex-A8:如何使用NEON和vfpv3

我正在使用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
。 如果仍然使用neon和vfpv3,那么我没有问题,但如果只使用其中一个,我怎么能同时使用它们?     
已邀请:
NEON意味着拥有传统的VFP支持。 VFP可用于“正常”(非向量)浮点计算。此外,NEON不支持双精度FP,因此只能使用VFP指令。 你可以做的是添加-S到gcc的命令行并检查程序集。以V开头的指令(例如vld1.32,vmla.f32)是NEON指令,而以F(fldd,fmacd)开头的指令是VFP。 (尽管ARM文档现在更喜欢使用V前缀,即使对于VFP指令,GCC也不会这样做。)     

要回复问题请先登录注册