Compiler Usage Guidelines for 64-Bit Operating Systems on AMD64 ...
Compiler Usage Guidelines for 64-Bit Operating Systems on AMD64 ...
Compiler Usage Guidelines for 64-Bit Operating Systems on AMD64 ...
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
32035 Rev. 3.22 November 2007<br />
Table 5. GCC Versi<strong>on</strong>s Included with Linux ® Distributi<strong>on</strong>s<br />
<str<strong>on</strong>g>Compiler</str<strong>on</strong>g> <str<strong>on</strong>g>Usage</str<strong>on</strong>g> <str<strong>on</strong>g>Guidelines</str<strong>on</strong>g> <str<strong>on</strong>g>for</str<strong>on</strong>g> AMD<str<strong>on</strong>g>64</str<strong>on</strong>g> Plat<str<strong>on</strong>g>for</str<strong>on</strong>g>ms<br />
Red Hat Enterprise Linux 4 3.4.1 No opti<strong>on</strong>al compiler available with the<br />
distributi<strong>on</strong>. The default compiler is the<br />
recommended compiler.<br />
SuSE Linux 10.1 4.1.1 4.2.0<br />
SuSE Linux Enterprise<br />
Server 10<br />
4.1.0 4.2.0<br />
Table 4, “Profile Guided Optimizati<strong>on</strong> <str<strong>on</strong>g>for</str<strong>on</strong>g> <str<strong>on</strong>g>64</str<strong>on</strong>g>-<str<strong>on</strong>g>Bit</str<strong>on</strong>g> GCC <str<strong>on</strong>g>Compiler</str<strong>on</strong>g>s <str<strong>on</strong>g>for</str<strong>on</strong>g> Linux ® ,” <strong>on</strong> page 24 identifies<br />
the recommended opti<strong>on</strong>al compilers by their package names. The distributi<strong>on</strong> media include the<br />
RPMs. The package gcc-ssa is installed in /usr/bin by default, while gcc-33 is installed in /opt/gcc33/.<br />
In additi<strong>on</strong> to the supplied compilers, the user can also experiment with the latest GCC compilers<br />
(versi<strong>on</strong>s 4.2.0) from the Free Software Foundati<strong>on</strong> (FSF). Users probably cannot expect, however,<br />
the same level of support <str<strong>on</strong>g>for</str<strong>on</strong>g> FSF GCC compilers as they can expect <str<strong>on</strong>g>for</str<strong>on</strong>g> supplied compilers.<br />
3.8.2 Invocati<strong>on</strong> Commands<br />
The following commands invoke specific compilers:<br />
gcc invokes the C compilers <str<strong>on</strong>g>for</str<strong>on</strong>g> 4.0, 3.4.1, 3.4, 3.3.4 and gcc 3.3.3.<br />
gcc-ssa invokes the gcc-ssa C compiler.<br />
g<str<strong>on</strong>g>for</str<strong>on</strong>g>tran invokes the Fortran 95 compiler <str<strong>on</strong>g>for</str<strong>on</strong>g> 4.0.<br />
g++ invokes the C++ compilers <str<strong>on</strong>g>for</str<strong>on</strong>g> 4.0, 3.4.1, 3.4, 3.3.4 and gcc 3.3.3.<br />
g++-ssa invokes the gcc-ssa C++ compiler.<br />
g77 invokes the Fortran 77 compiler <str<strong>on</strong>g>for</str<strong>on</strong>g> 3.4.1, 3.4, 3.3.4 and gcc 3.3.3.<br />
g77-ssa invokes the gcc-ssa Fortran 77 compiler.<br />
The user may have to specify the full path of the invocati<strong>on</strong> command <str<strong>on</strong>g>for</str<strong>on</strong>g> using the opti<strong>on</strong>al GCC<br />
compilers. For example, /opt/gcc33/bin/gcc invokes the opti<strong>on</strong>al SLES8 GCC compiler.<br />
3.8.3 Generic Per<str<strong>on</strong>g>for</str<strong>on</strong>g>mance Switches<br />
Different optimizati<strong>on</strong> switches are recommended <str<strong>on</strong>g>for</str<strong>on</strong>g> 32-bit SuSE GCC 3.3.3, Red Hat gcc-ssa and<br />
3.4 compiler versi<strong>on</strong>s. Table 6 shows the recommended optimizati<strong>on</strong> switches <str<strong>on</strong>g>for</str<strong>on</strong>g> the listed<br />
compilers.<br />
Table 6. Recommended Opti<strong>on</strong> Switches <str<strong>on</strong>g>for</str<strong>on</strong>g> 32-<str<strong>on</strong>g>Bit</str<strong>on</strong>g> GCC <str<strong>on</strong>g>Compiler</str<strong>on</strong>g>s <str<strong>on</strong>g>for</str<strong>on</strong>g> Linux ®<br />
<str<strong>on</strong>g>Compiler</str<strong>on</strong>g> Versi<strong>on</strong> Recommended Optimizati<strong>on</strong> Switches<br />
Chapter 3 Per<str<strong>on</strong>g>for</str<strong>on</strong>g>mance-Centric <str<strong>on</strong>g>Compiler</str<strong>on</strong>g> Switches 31