Specifications
Chapter 1 Introduction 13
Compiler Usage Guidelines for AMD64 Platforms
32035 Rev. 3.22 November 2007
Chapter 1 Introduction
Independent software vendors (ISVs) and end-users of platforms for the AMD Athlon™ 64, AMD
Opteron™, and AMD Family 10h processors have a significant interest in porting and tuning their
applications for the AMD64 architecture. Because several compilers are available for AMD64
architecture, evaluating them to choose the best-suited compiler for an application is a non-trivial
task. This document provides a quick reference for optimization and portability switches for some
commonly used compilers. The intent is to provide starting guidelines for porting and performance
tuning applications and for increased performance of compiled code. The user should refer to the
user’s guides for specific compilers for further tuning help or for troubleshooting problems that are
beyond the simple diagnostic steps listed here.
New compilers of interest are always on the horizon. This document may be updated when new
compilers arrive or when the current compiler switches change significantly in their newer versions.
1.1 Audience
Theoretically, benchmarks should provide clear, unequivocal information that guides end-users in
making choices about software and hardware. Reality is somewhat less than ideal; therefore,
benchmarks can be quite subjective and prone to interpretation. Benchmarks are guidelines, not
absolute answers and benchmarking can be a tricky business, especially when it comes to compilers.
Developers can gain insight about the relative performance of different tools, by comparing results in
a controlled environment. To be valid, benchmark source code must be available, and the testing
conditions clearly stated. It is not methodologically sound to use a limited data set generated by a
circumscribed suite of benchmarks demonstrating specific aspects of code generation to predict
general compiler performance.
This document is intended for ISVs, SIs and end-users of the AMD Athlon™ 64, AMD Opteron™
and AMD Family 10h processor-based platforms who wish to port and tune their applications for the
AMD64 architecture.
1.2 Intent of Document
This document provides a quick reference for optimization and portability switches for some
commonly used compilers for AMD Athlon™ 64, AMD Opteron™ and AMD Family 10h processor-
based platforms.
Performance models of applications enable high-performance computing (HPC) system designers
and IT to gain insight into the optimal hardware for end-user applications, giving valuable
information into the components of hardware, improving applications performance, and inform
machine procurement and design. Real-world applications are currently the preferred method for
measuring performance, whereas benchmarks are required for the discovery of interest or "door-