On systems using the POWER/PowerPC family of processors the option
-mcpu=CPU selects code generation for specific CPU
models. The possible values of CPU
include ‘power’,
‘power2’, ‘powerpc’, ‘powerpc64’ and ‘common’, in
addition to other more specific model numbers. Code generated with
the option -mcpu=common will run on any of the processors.
The option -maltivec enables use of the Altivec vector
processing instructions, if the appropriate hardware support is
available.
The POWER/PowerPC processors include a combined “multiply and add” instruction a * x + b, which performs the two operations simultaneously for speed—this is referred to as a fused multiply and add, and is used by GCC by default. Due to differences in the way intermediate values are rounded, the result of a fused instruction may not be exactly the same as performing the two operations separately. In cases where strict IEEE arithmetic is required, the use of the combined instructions can be disabled with the option -mno-fused-madd.
On AIX systems, the option -mminimal-toc decreases the number of entries GCC puts in the global table of contents (TOC) in executables, to avoid “TOC overflow” errors at link time. The option -mxl-call makes the linking of object files from GCC compatible with those from IBM’s XL compilers. For applications using POSIX threads, AIX always requires the option -pthread when compiling, even when the program will only run in single-threaded mode.