About this guide
Using 32-bit and 64-bit modes
Assigning long values
Assigning constant values to long variables
Bit-shifting long values
Assigning pointers
Aligning aggregate data
Calling Fortran code
Aligning data in aggregates
Using alignment modes and modifiers
General rules for alignment
Using and aligning bit fields
Rules for Linux PowerPC alignment
Rules for bit-packed alignment
Example of bit field alignment
Handling floating point operations
Handling multiply-add operations
Handling floating-point rounding
Handling floating-point exceptions
Using the Mathematical Acceleration Subsystem (MASS)
Using the vector libraries
Compiling and linking a program with MASS
Using C++ templates
Using the -qtempinc compiler option
Example of -qtempinc
Regenerating the template instantiation file
Using -qtempinc with shared libraries
Using the -qtemplateregistry compiler option
Recompiling related compilation units
Switching from -qtempinc to -qtemplateregistry
Constructing a library
Compiling and linking a library
Compiling a static library
Compiling a shared library
Linking a library to an application
Linking a shared library to another shared library
Initializing static objects in libraries (C++)
Assigning priorities to objects
Order of object initialization across libraries
Optimizing your applications
Using optimization levels
Techniques used in optimization level 2
Techniques used in optimization level 3
Techniques used in optimization levels 4 and 5
Getting the most out of optimization levels 2 and 3
Optimizing for system architecture
Getting the most out of target machine options
Using high-order loop analysis and transformations
Getting the most out of -qhot
Using shared-memory parallelism
Getting the most out of -qsmp
Using interprocedural analysis
Getting the most from -qipa
Using profile-directed feedback
Example of compilation with pdf and showpdf
Other optimization options
Summary of options for optimization and performance
Coding your application to improve performance
Find faster input/output techniques
Reduce function-call overhead
Manage memory efficiently
Optimize variables
Manipulate strings efficiently
Optimize expressions and program logic
Optimize operations in 64-bit mode
