|
|
|
| gcc最佳编译参数 |
|
新闻出处: 发布时间:2007-11-01
|
一、1.2版(gcc 2.9.x版)
i386 (Intel), do you really want to install gentoo on that? CHOST=""i386-pc-linux-gnu"" CFLAGS=""-march=i386 -O3 -pipe -fomit-frame-pointer"" CXXFLAGS=""-march=i386 -O3 -pipe -fomit-frame-pointer""
i486 (Intel), do you really want to install gentoo on that? CHOST=""i486-pc-linux-gnu"" CFLAGS=""-march=i486 -O3 -pipe -fomit-frame-pointer"" CXXFLAGS=""-march=i486 -O3 -pipe -fomit-frame-pointer""
Pentium, Pentium MMX+, Celeron (Mendocino) (Intel) CHOST=""i586-pc-linux-gnu"" CFLAGS=""-march=pentium -O3 -pipe -fomit-frame-pointer"" CXXFLAGS=""-march=pentium -O3 -pipe -fomit-frame-pointer""
Pentium Pro/II/III/4, Celeron (Coppermine), Celeron (Willamette?) (Intel) CHOST=""i686-pc-linux-gnu"" CFLAGS=""-march=i686 -O3 -pipe -fomit-frame-pointer"" CXXFLAGS=""-march=i686 -O3 -pipe -fomit-frame-pointer""
Eden C3/Ezra (Via) CHOST=""i586-pc-linux-gnu"" CFLAGS=""-march=i586 -O3 -pipe -fomit-frame-pointer"" CXXFLAGS=""-march=i586 -O3 -pipe -fomit-frame-pointer""
Quote : I did the original gentoo install using 1.2, with gcc 2.95 using -march=i586. i686 won''t work.
K6 or beyond (AMD) CHOST=""i586-pc-linux-gnu"" CFLAGS=""-march=k6 -O3 -pipe -fomit-frame-pointer"" CXXFLAGS=""-march=k6 -O3 -pipe -fomit-frame-pointer""
(A Duron will report ""Athlon"" in its /proc/cpuinfo)
Athlon (AMD) CHOST=""i686-pc-linux-gnu"" CFLAGS=""-march=k6 -O3 -pipe -fomit-frame-pointer"" CXXFLAGS=""-march=k6 -O3 -pipe -fomit-frame-pointer""
For the following, i don''t know of any flag that enhance performances..., do you ?
PowerPC CHOST=""powerpc-unknown-linux-gnu"" CFLAGS=""-O3 -pipe -fomit-frame-pointer"" CXXFLAGS=""-O3 -pipe -fomit-frame-pointer""
Sparc CHOST=""sparc-unknown-linux-gnu"" CFLAGS=""-O3 -pipe -fomit-frame-pointer"" CXXFLAGS=""-O3 -pipe -fomit-frame-pointer""
Sparc 64 CHOST=""sparc64-unknown-linux-gnu"" CFLAGS=""-O3 -pipe -fomit-frame-pointer"" CXXFLAGS=""-O3 -pipe -fomit-frame-pointer""
二、1.4版(gcc 3.x版):
i386 (Intel), do you really want to install gentoo on that ? CHOST=""i386-pc-linux-gnu"" CFLAGS=""-march=i386 -O3 -pipe -fomit-frame-pointer"" CXXFLAGS=""-march=i386 -O3 -pipe -fomit-frame-pointer""
i486 (Intel), do you really want to install gentoo on that ? CHOST=""i486-pc-linux-gnu"" CFLAGS=""-march=i486 -O3 -pipe -fomit-frame-pointer"" CXXFLAGS=""-march=i486 -O3 -pipe -fomit-frame-pointer""
Pentium 1 (Intel) CHOST=""i586-pc-linux-gnu"" CFLAGS=""-march=pentium -O3 -pipe -fomit-frame-pointer"" CXXFLAGS=""-march=pentium -O3 -pipe -fomit-frame-pointer""
Pentium MMX (Intel) CHOST=""i586-pc-linux-gnu"" CFLAGS=""-march=pentium-mmx -O3 -pipe -fomit-frame-pointer"" CXXFLAGS=""-march=pentium-mmx -O3 -pipe -fomit-frame-pointer""
Pentium PRO (Intel) CHOST=""i686-pc-linux-gnu"" CFLAGS=""-march=pentiumpro -O3 -pipe -fomit-frame-pointer"" CXXFLAGS=""-march=pentiumpro -O3 -pipe -fomit-frame-pointer""
Pentium II (Intel) CHOST=""i686-pc-linux-gnu"" CFLAGS=""-march=pentium2 -O3 -pipe -fomit-frame-pointer"" CXXFLAGS=""-march=pentium2 -O3 -pipe -fomit-frame-pointer""
Celeron (Mendocino), aka Celeron1 (Intel) CHOST=""i686-pc-linux-gnu"" CFLAGS=""-march=pentium2 -O3 -pipe -fomit-frame-pointer"" CXXFLAGS=""-march=pentium2 -O3 -pipe -fomit-frame-pointer""
Pentium III (Intel) CHOST=""i686-pc-linux-gnu"" CFLAGS=""-march=pentium3 -O3 -pipe -fomit-frame-pointer"" CXXFLAGS=""-march=pentium3 -O3 -pipe -fomit-frame-pointer""
Celeron (Coppermine) aka Celeron2 (Intel) CHOST=""i686-pc-linux-gnu"" CFLAGS=""-march=pentium3 -O3 -pipe -fomit-frame-pointer"" CXXFLAGS=""-march=pentium3 -O3 -pipe -fomit-frame-pointer""
Celeron (Willamette?) (Intel) CHOST=""i686-pc-linux-gnu"" CFLAGS=""-march=pentium4 -O3 -pipe -fomit-frame-pointer"" CXXFLAGS=""-march=pentium4 -O3 -pipe -fomit-frame-pointer""
Pentium 4 (Intel) CHOST=""i686-pc-linux-gnu"" CFLAGS=""-march=pentium4 -O3 -pipe -fomit-frame-pointer"" CXXFLAGS=""-march=pentium4 -O3 -pipe -fomit-frame-pointer""
Eden C3/Ezra (Via) CHOST=""i586-pc-linux-gnu"" CFLAGS=""-march=i586 -m3dnow -O3 -pipe -fomit-frame-pointer"" CXXFLAGS=""-march=i586 -m3dnow -O3 -pipe -fomit-frame-pointer""
quote : the ezra doesn''t have any special instructions that you could optimize for, just consider is a K6-3...basically a p2 with 3dnow
K6 (AMD) CHOST=""i586-pc-linux-gnu"" CFLAGS=""-march=k6 -O3 -pipe -fomit-frame-pointer"" CXXFLAGS=""-march=k6 -O3 -pipe -fomit-frame-pointer""
K6-2 (AMD) CHOST=""i586-pc-linux-gnu"" CFLAGS=""-march=k6-2 -O3 -pipe -fomit-frame-pointer"" CXXFLAGS=""-march=k6-2 -O3 -pipe -fomit-frame-pointer""
K6-3 (AMD) CHOST=""i586-pc-linux-gnu"" CFLAGS=""-march=k6-3 -O3 -pipe -fomit-frame-pointer"" CXXFLAGS=""-march=k6-3 -O3 -pipe -fomit-frame-pointer""
Athlon (AMD) CHOST=""i686-pc-linux-gnu"" CFLAGS=""-march=athlon -O3 -pipe -fomit-frame-pointer"" CXXFLAGS=""-march=athlon -O3 -pipe -fomit-frame-pointer""
Athlon-tbird, aka K7 (AMD) CHOST=""i686-pc-linux-gnu"" CFLAGS=""-march=athlon-tbird -O3 -pipe -fomit-frame-pointer"" CXXFLAGS=""-march=athlon-tbird -O3 -pipe -fomit-frame-pointer""
Athlon-tbird XP (AMD) CHOST=""i686-pc-linux-gnu"" CFLAGS=""-march=athlon-xp -O3 -pipe -fomit-frame-pointer"" CXXFLAGS=""-march=athlon-xp -O3 -pipe -fomit-frame-pointer""
Athlon 4(AMD) CHOST=""i686-pc-linux-gnu"" CFLAGS=""-march=athlon-4 -O3 -pipe -fomit-frame-pointer"" CXXFLAGS=""-march=athlon-4 -O3 -pipe -fomit-frame-pointer""
Athlon XP (AMD) CHOST=""i686-pc-linux-gnu"" CFLAGS=""-march=athlon-xp -O3 -pipe -fomit-frame-pointer"" CXXFLAGS=""-march=athlon-xp -O3 -pipe -fomit-frame-pointer""
Athlon MP (AMD) CHOST=""i686-pc-linux-gnu"" CFLAGS=""-march=athlon-mp -O3 -pipe -fomit-frame-pointer"" CXXFLAGS=""-march=athlon-mp -O3 -pipe -fomit-frame-pointer""
603 (PowerPC) CHOST=""powerpc-unknown-linux-gnu"" CFLAGS=""-O3 -pipe -fomit-frame-pointer -fsigned-char"" CXXFLAGS=""-O3 -pipe -fomit-frame-pointer -fsigned-char""
603e (PowerPC) CHOST=""powerpc-unknown-linux-gnu"" CFLAGS=""-O3 -pipe -fomit-frame-pointer -fsigned-char"" CXXFLAGS=""-O3 -pipe -fomit-frame-pointer -fsigned-char""
604 (PowerPC) CHOST=""powerpc-unknown-linux-gnu"" CFLAGS=""-O3 -pipe -fomit-frame-pointer -fsigned-char"" CXXFLAGS=""-O3 -pipe -fomit-frame-pointer -fsigned-char""
604e (PowerPC) CHOST=""powerpc-unknown-linux-gnu"" CFLAGS=""-O3 -pipe -fomit-frame-pointer -fsigned-char"" CXXFLAGS=""-O3 -pipe -fomit-frame-pointer -fsigned-char""
750 aka as G3 (PowerPC) CHOST=""powerpc-unknown-linux-gnu"" CFLAGS=""-mcpu=750 -O3 -pipe -fomit-frame-pointer -fsigned-char"" CXXFLAGS=""-mcpu=750 -O3 -pipe -fomit-frame-pointer -fsigned-char""
Note: do not use -march=
7400, aka G4 (PowerPC) CHOST=""powerpc-unknown-linux-gnu"" CFLAGS=""-mcpu=7400 -O3 -pipe -fomit-frame-pointer -fsigned-char -maltivec"" CXXFLAGS=""-mcpu=7400 -O3 -pipe -fomit-frame-pointer -fsigned-char -maltivec""
Note: do not use -march=
7450, aka G4 second generation (PowerPC) CHOST=""powerpc-unknown-linux-gnu"" CFLAGS=""-mcpu=7450 -O3 -pipe -fomit-frame-pointer -fsigned-char -maltivec"" CXXFLAGS=""-mcpu=7450 -O3 -pipe -fomit-frame-pointer -fsigned-char -maltivec""
Note: do not use -march=
PowerPC (If you don''t know which one) CHOST=""powerpc-unknown-linux-gnu"" CFLAGS=""-O3 -pipe -fomit-frame-pointer -fsigned-char"" CXXFLAGS=""-O3 -pipe -fomit-frame-pointer -fsigned-char""
Sparc CHOST=""sparc-unknown-linux-gnu"" CFLAGS=""-O3 -pipe -fomit-frame-pointer"" CXXFLAGS=""-O3 -pipe -fomit-frame-pointer""
Sparc 64 CHOST=""sparc64-unknown-linux-gnu"" CFLAGS=""-O3 -pipe -fomit-frame-pointer"" CXXFLAGS=""-O3 -pipe -fomit-frame-pointer"" |
| 【关闭】【打印】 |
|
|