【发布时间】:2012-08-02 11:57:02
【问题描述】:
cpu是omap 4460,好像是cortex-A9,armv7,有neon,vfpu3,其他选项。我的主要问题是,如何让 GCC“知道”目标平台有 neon 指令?因为我知道它在 cortex-a9 上是可选的。我只是想确保程序被编译为至少尝试使用霓虹灯,因为当我在 GCC 中编译我的代码并告诉它使用具有 SSE 的 x86 处理器时,我希望它至少尝试使用它如果可以的。
我将使用来自 /proc/cpuinfo 的实际信息更新这篇文章,但在那之前我会保持原样,因为 debian 的 fuse 规则对我不利。
Processor : ARMv7 Processor rev 10 (v7l)
processor : 0
BogoMIPS : 1194.24
processor : 1
BogoMIPS : 1194.24
Features : swp half thumb fastmult vfp edsp thumbee neon vfpv3
CPU implementer : 0x41
CPU architecture: 7
CPU variant : 0x2
CPU part : 0xc09
CPU revision : 10
Hardware : Tuna
Revision : 000a
Serial : 0149c6f40c009018
好的,以上。 -march= 应该是 armv7 正确的吗?和-mfpu,应该是vfpv3还是应该是霓虹灯?我个人倾向于 vfpv3,但目前我不确定......
【问题讨论】:
-
你确定你的意思是
/cat/proc/cpuinfo?通常只是/proc/cpuinfo。你的意思是cat /proc/cpuinfo? -
我打错了,我在 cat /proc/cpuinfo
-
不用提
cat;你说的是(伪)文件的内容。 -
至少在 Linux 下,GCC supports
-mcpu=native -mtune=native -march=native可以自动检测一些选项。在交叉编译(使用 NDK 或其他方式)时没有太大帮助,但当你不这样做时它很有用:) -
这是我在自己的机器上编译时总是使用的,因为我的 gcc 太旧而无法直接支持我的 cpu 的功能,我想把它设置为那样,让它这样当我得到 4.6 时,我可以使用它。
标签: android optimization gcc compilation