For IA-32 and Itanium(TM) architectures, the options can behave in a different way. To specify the optimizations for your program, use options depending on the target architecture as explained in the tables that follow.
Option |
Effect |
|
-O1 |
Optimizes to favor code size. Enables the same optimizations as -O except for loop unrolling and software pipelining. At -O1 the global code scheduler is tuned to favor code size. -O and -O2 turn the software pipelining ON. Generally, -O or -O2 are recommended over -O1. |
Option |
Effect |
|
-O,-O1, -O2 |
Optimize to favor code speed. Disable option -fp. The -O2 option is ON by default. Inlines intrinsics. |
|
-O3 |
Enables -O2 option with more aggressive optimization. Optimizes for maximum speed, but does not guarantee higher performance unless loop and memory access transformation take place. In conjunction with -axK and -xK options, this option causes the compiler to perform more aggressive data dependency analysis than for -O2. This may result in longer compilation times. |
For IA-32 and Itanium architectures, the options can behave in a different way. To specify the optimizations for your program, use options depending on the target architecture as follows.
Option |
Effect |
|
-O2 |
ON by default. -O2 turns ON intrinsics inlining. Enables the following capabilities for performance gain:
|
|
-O3 |
Enables -O2 option with more aggressive optimization. Optimizes for maximum speed, but may not improve performance for some programs. |