Contents

About this guide

  • Document conventions
  • Highlighting conventions
  • Icons
  • 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
  • IBM Copyright 2003