Gcc best compilation parameters
Last Update:2017-06-15
Source: Internet
Author: User
Article title: gcc best compilation parameters. Linux is a technology channel of the IT lab in China. Includes basic categories such as desktop applications, Linux system management, kernel research, embedded systems, and open source.
I. Version 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"
Isung (Intel), do you really want to install gentoo on that?
CHOST = "i486-pc-linux-gnu"
CFLAGS = "-march = iBench-O3-pipe-fomit-frame-pointer"
CXXFLAGS = "-march = isung-O3-pipe-fomit-frame-pointer"
Pentium, Pentium MMX +, celeon (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, Celon (Coppermine), Celon (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 ()
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 has ces..., do you?
PowerPC
CHOST = "powerpc-unknown-linux-gnu"
CFLAGS = "-O3-pipe-fomit-frame-pointer"
CXXFLAGS = "-O3-pipe-fomit-frame-pointer"
ISCSI
CHOST = "iSCSI-unknown-linux-gnu"
CFLAGS = "-O3-pipe-fomit-frame-pointer"
CXXFLAGS = "-O3-pipe-fomit-frame-pointer"
64
CHOST = "sparc64-unknown-linux-gnu"
CFLAGS = "-O3-pipe-fomit-frame-pointer"
CXXFLAGS = "-O3-pipe-fomit-frame-pointer"
II. version 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"
Isung (Intel), do you really want to install gentoo on that?
CHOST = "i486-pc-linux-gnu"
CFLAGS = "-march = iBench-O3-pipe-fomit-frame-pointer"
CXXFLAGS = "-march = isung-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"
Celon (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"
Celon (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"
Celon (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 ()
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 cocould optimize for, just consider is a K6-3... basically
A p2 with 3 dnow
K6 (AMD)
CHOST = "i586-pc-linux-gnu"
CFLAGS = "-march = k6-O3-pipe-fomit-frame-pointer"
CXXFLAGS = "-march = k6-O3-pipe-fomit-frame-pointer"
AMD (K6-2)
CHOST = "i586-pc-linux-gnu"
CFLAGS = "-march = K6-2-O3-pipe-fomit-frame-pointer"
CXXFLAGS = "-march = K6-2-O3-pipe-fomit-frame-pointer"
AMD (K6-3)
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"
Not