例如,如果我有一个芯片-mcpu=cortex-a7
,我应该定义-mfpu=neon-vfpv4
,而不是-mfpu=neon
。但是,我想知道如果我在Cortex-A7上定义 - mfpu=neon
会发生什么?它会忽略标志而不做SIMD,或者它会用错误的标志做什么?
答案 0 :(得分:2)
它将使用较旧的一组NEON指令(-mfpu=neon
用于选择Cortex-A8内核上可用的NEON指令)。例如,它不包括VFMA指令。
请注意,从GCC 8(仍处于开发阶段),您将能够使用-mfpu=auto
或完全省略-mfpu
并让编译器为{选择最佳FPU设置您选择的{1}}选项
答案 1 :(得分:0)
如果您这样做,编译器将不会使用VFPv4指令并可能生成次优代码。