Gentoo Wiki告诉我以下内容:
警告:GCC 4.2及以上支持 -march =本地。 -march = native在-march之外应用其他设置, 特定于您的CPU。除非你有 一个特定的原因不(例如,distcc 交叉编译),你应该 使用-march = native,而不是 以下列出的任何内容。
这些额外设置是什么?
答案 0 :(得分:13)
没关系。
$ cc -march=core2 -E -v - </dev/null 2>&1 | grep cc1
/[...]/cc1 -E -quiet -v -iprefix /[...]/4.3.2/ - -march=core2
$ cc -march=native -E -v - </dev/null 2>&1 | grep cc1
/[...]/cc1 -E -quiet -v -iprefix /[...]/4.3.2/ - -march=core2 -mcx16 -msahf --param l1-cache-size=32 --param l1-cache-line-size=64 -mtune=core2
我开始喜欢这个选项。 -mcx16
和-msahf
是gcc现在可以使用的两个额外的CPU指令,这些指令在早期的Core2中不可用。