2010/07/16

gccの-march=nativeを展開する

gccで-march=nativeを指定するとそのマシンに適切なオプションを設定してくれるみたいです
そこでnativeが展開されて実際になにが指定されているのか調べてみます

Phenom II X3 720BE

$ uname -a
Linux D1 2.6.32.14-127.fc12.x86_64 #1 SMP Fri May 28 04:30:39 UTC 2010 x86_64 x86_64 x86_64 GNU/Linux

$ gcc --version
gcc (GCC) 4.4.4 20100630 (Red Hat 4.4.4-10)
Copyright (C) 2010 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

$ echo | gcc -E -v -march=native - 2>&1 | sed '/march/!d;s/.*\(-march\)/\1/'
-march=amdfam10 -mcx16 -msahf -mpopcnt -mabm --param l1-cache-size=64 --param l1-cache-line-size=64 --param l2-cache-size=512 -mtune=amdfam10


Atom N270

$ uname -a
Linux livecd 2.6.31-gentoo-r6 #1 SMP Tue Feb 16 11:47:22 UTC 2010 i686 Intel(R) Atom(TM) CPU N270 @ 1.60GHz GenuineIntel GNU/Linux

$ gcc --version
gcc (Gentoo 4.3.4 p1.0, pie-10.1.5) 4.3.4
Copyright (C) 2008 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

$ echo | gcc -E -v -march=native - 2>&1 | sed '/march/!d;s/.*\(-march\)/\1/'
-march=prescott -msahf -mtune=generic


面倒な人はここにCPUごとに適切と思われるCFLAGSが書いてある
Safe Cflags - Gentoo Linux Wiki

0 件のコメント:

コメントを投稿