SPEC Flag Description
-unrollTells the compiler to use default heuristics for loop unrolling.
-openmp   Enables the parallelizer to generate multithreaded code based on OpenMP* directives.
-fast Maximizes speed across the entire program, this option sets options -ipo, -static and -O3.
  -ipo

Enables multifile interprocedural (IP) optimizations (between files). When you specify this option, the compiler performs inline function expansion for calls to functions defined in separate files.
  -static Prevents linking with shared libraries.
  -O3Enables -O2 optimizations plus more aggressive optimizations, such as prefetching, scalar replacement, and loop transformations. Enables optimizations for maximum speed, but does not guarantee higher performance unless loop and memory access transformations take place.
  -O2 Enables optimizations for speed, including global code scheduling, software pipelining, predication, and speculation. It also enables:
  • Inlining of intrinsics
  • Intra-file interprocedural optimizations, which include: inlining, constant propagation, forward substitution, routine attribute propagation, variable address-taken analysis, dead static function elimination, and removal of unreferenced variables.
  • The following capabilities for performance gain: constant propagation, copy propagation, dead-code elimination, global register allocation, global instruction scheduling and conrol speculation, loop unrolling, optimized code selection, partial redundancy elimination, strength reduction/induction variable simplification, variable renaming, exception handling optimizations, tail recursions, peephole optimizations, structure assignment lowering and optimizations, and dead store elimination.