26.11.2012 Views

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 ...

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!