Gentoo Wiki告诉我以下内容:
警告:GCC 4.2 及更高版本支持 -march=native。-march=native 应用超出 -march 的附加设置,特定于您的 CPU。除非您有特定的理由不这样做(例如 distcc 交叉编译),否则您可能应该使用 -march=native,而不是下面列出的任何内容。
这些附加设置是什么?
Gentoo Wiki告诉我以下内容:
警告:GCC 4.2 及更高版本支持 -march=native。-march=native 应用超出 -march 的附加设置,特定于您的 CPU。除非您有特定的理由不这样做(例如 distcc 交叉编译),否则您可能应该使用 -march=native,而不是下面列出的任何内容。
这些附加设置是什么?
没关系。
$ 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 中是不可用的。