------------------------------------------------------ ION Computer Systems SPEC CPU2000 Flags Descriptions Intel C/C++/FORTRAN Compilers Version 8.0 For Config Files: 8ion_xeon_sh.cfg 8ion_p4p_sh.cfg 8ion_ipf_sh.cfg ------------------------------------------------------ ------------------------------------------------------ General Options (C/C++/FORTRAN) ------------------------------------------------------ -O{1|2|3} Optimization-level options: 1: optimize for speed, but disable some optimizations that increase code size for a small speed benefit. Includes inline expansion for intrinsic functions, global optimizations, string pooling optimizations. 2: optimizes for speed (DEFAULT). The -O2 option includes O1 optimizations and in addition enables inlining of intrinsics and more speed optimizations. 3: builds on -01 and -02 optimizations by enabling high-level optimization. This level does not guarantee higher performance unless loop and memory access transformation take place. In conjunction with -QaxK/-QxK and QaxW/QxW, this switch causes the compiler to perform more aggressive data dependency analysis than for -O2. This may result in longer compilation times. -Oa[-] Assume [do not assume] no aliasing in program. -fast The -fast option enhances execution speed across the entire program by including the following options that can improve run-time performance: -O3 (maximum speed and high-level optimizations) -ipo (enables interprocedural optimizations across files) -static (prevents linking with shared libraries) To override one of the options set by -fast, specify that option after the -fast option on the command line. The options set by -fast may change from release to release. -ax{K|W|N|P} (IA-32 only) Generates specialized code for processor-specific codes (see -Qx) while also generating generic IA-32 code. -x{K|W|N|P} (IA-32 only) Generates specialized code for processor specific codes: K: Intel Pentium III and compatible Intel processors. W: Intel Pentium 4 and compatible Intel processors. N: Intel Pentium 4 and compatible Intel processors. P: Intel Processors code-named "Prescott". Notes: -x{N|P} and -ax{N|P}: These options also enable advanced data layout and code restructuring optimizations to improve memory accesses for Intel processors. -x{N|P}: Programs, where the function main()is compiled with these options, will detect non-compatible processors and generate an error message during execution. -ip Enable single-file IP optimizations (within files, same as -Ob2). -ipo Enable multi-file IP optimizations (between files). - inline function expansion - interprocedural constant propogation - dead code elimination - propagation of function characteristics - passing arguments in registers - loop-invariant code motion -prof_gen Instrument program for profiling for the first phase of two-phase profile guided optimization. -prof_use Instructs the compiler to produce a profile-optimized executable and merges available dynamic information (.dyn) files into a pgopti.dpi file. If you perform multiple executions of the instrumented program, -Qprof_use merges the dynamic information files again and overwrites the previous pgopti.dpi file. Without any other options, the current directory is searched for .dyn files. -rcd The Intel compiler uses the -Qrcd option to improve the performance of code that requires floating-point-to-integer conversions. The system default floating point rounding mode is round-to-nearest. This means that values are rounded during floating point calculations. However, the C language requires floating point values to be truncated when a conversion to an integer is involved. To do this, the compiler must change the rounding mode to truncation before each floating point-to-integer conversion and change it back afterwards. The -Qrcd option disables the change to truncation of the rounding mode for all floating point calculations, including floating point-to-integer conversions. Turning on this option can improve performance, but floating point conversions to integer may not conform to C semantics. -unroll[n] Specifies the maximum number of times to unroll a loop. Omit n to let the compiler decide whether to perform unrolling or not. Use n = 0 to disable unroller. -Zp{1|2|4|8|16} Specifies the strictest alignment constraint for structure and union types as one of the following: 1, 2, 4, 8, or 16 (default) bytes. ------------------------------------------------------ Flags Specific to FORTRAN ------------------------------------------------------ -auto Causes all variables to be allocated on the stack, rather than in local static storage. -prefetch[-] Enable [disable (DEFAULT)] prefetch insertion. The default with -O3 is -prefetch. -scalar_rep[-] Enables (DEFAULT) [disables] scalar replacement performed during loop transformations. ------------------------------------------------------ Flags Specific to C/C++ ------------------------------------------------------ -ansi_alias[-] -ansi_alias Directs the compiler to assume that the program adheres to the type-based aliasing rules defined in Section 6.5 of the ISO C Standard. If your program adheres to these rules, this option will allow the compiler to optimize more aggressively. If it doesn't adhere to these rules, it can cause the compiler to generate incorrect code. -auto_ilp32 Specifies that the application cannot exceed a 32-bit address space, which allows the compiler to use 32-bit pointers whenever possible. To use this option, you must also specify -ipo. Using the -auto_ilp32 option on programs that can exceed 32-bit address space (2**32) may cause unpredictable results during program execution. Applies to Itanium processor results only. ------------------------------------------------------ Miscellaneous ------------------------------------------------------ +FDO PASS1= -prof_gen PASS2= -prof_use Using feedback-directed optimization, a profile is generated on the first pass of compilation and used on the second pass.