Description of compiler flags for Intel C++ Compiler 8.1 -------------------------------------------------------- -O1 Optimize to favor code size and code locality. Disables loop unrolling. -O1 may improve performance for applica- tions with very large code size, many branches, and exe- cution time not dominated by code within loops. In most cases, -O2 is recommended over -O1. -O2 (DEFAULT) Optimize for code speed. This is the generally recom- mended optimization level. -O3 Enable -O2 optimizations and in addition, enable more aggressive optimizations such as loop and memory access -ax generate code specialized for processor extensions specified by while also generating generic code. includes one or more of the following characters: W Pentium 4 processor with Streaming SIMD Extensions 2 P Pentium 4 processor with Streaming SIMD Extensions 3 -x generate specialized code to run exclusively on processors supporting the extensions indicated by as described above. ---------------------------------------------------------------------------------- Additional Notes on -xP: ---------------------------------------------------------------------------------- -xP The -xP option targets your program to run on Intel Pentium 4 and compatible Intel processors. The resulting code might contain unconditional use of features that are not supported on other processors. Programs, where the function main() is compiled with this option, will detect non compatible processors and generate an error message during execution. This option also enables new optimizations in addition to Intel processor specific optimizations. These options also enable advanced data layout and code restructuring optimizations to improve memory accesses for Intel processors. ---------------------------------------------------------------------------------- -Ob{0|1|2} Controls the compiler's inline expansion. 0: disable inlining. 1: disables inlining unless -ip or -Ob2 are specified. 2: enables inlining of any function. However, the compiler decides which functions are inlined. This option enables interprocedural optimizations and has the same effect as specifying the -ip option. -ip enable single-file IP optimizations (within files, same as -Ob2) -ipo multi-file ip optimizations that includes: - inline function expansion - interprocedural constant propogation - dead code elimination - propagation of function characteristics - passing arguments in registers - loop-invariant code motion -fast The -fast option maximizes speed across the entire pro- gram. It sets command options that can improve run-time performance, as follows: The -fast option turns on -O3, -ipo, -static, and -xP. IA-32 programs compiled with -fast will execute only on Intel(R) Pentium(R) 4 processors with Streaming SIMD Extensions 3 (SSE3). Programs compiled with this option will detect non-compatible processors and generate an error message during execution. -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. -prof_gen instrument program for profiling for the first phase of two-phase profile guided otimization -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, -prof_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 -alias_args[-] Assume arguments may be aliased. (DEFAULT) [not aliased]. Description of compiler flags for Intel FORTRAN Compiler 8.1 ------------------------------------------------------------- -O1 Optimize to favor code size and code locality. Disables loop unrolling. -O1 may improve performance for applica- tions with very large code size, many branches, and exe- cution time not dominated by code within loops. In most cases, -O2 is recommended over -O1. -O2 (DEFAULT) Optimize for code speed. This is the generally recom- mended optimization level. -O3 Enable -O2 optimizations and in addition, enable more aggressive optimizations such as loop and memory access -ax generate code specialized for processor extensions specified by while also generating generic code. includes one or more of the following characters: W Pentium 4 processor with Streaming SIMD Extensions 2 P Pentium 4 processor with Streaming SIMD Extensions 3 -x generate specialized code to run exclusively on processors supporting the extensions indicated by as described above. ---------------------------------------------------------------------------------- Additional Notes on -xP: ---------------------------------------------------------------------------------- -xP The -xP option targets your program to run on Intel Pentium 4 and compatible Intel processors. The resulting code might contain unconditional use of features that are not supported on other processors. Programs, where the function main() is compiled with this option, will detect non compatible processors and generate an error message during execution. This option also enables new optimizations in addition to Intel processor specific optimizations. These options also enable advanced data layout and code restructuring optimizations to improve memory accesses for Intel processors. ---------------------------------------------------------------------------------- -Ob{0|1|2} Controls the compiler's inline expansion. 0: disable inlining. 1: disables inlining unless -ip or -Ob2 are specified. 2: enables inlining of any function. However, the compiler decides which functions are inlined. This option enables interprocedural optimizations and has the same effect as specifying the -ip option. -ip enable single-file IP optimizations (within files, same as -Ob2) -ipo multi-file ip optimizations that includes: - inline function expansion - interprocedural constant propogation - dead code elimination - propagation of function characteristics - passing arguments in registers - loop-invariant code motion -fast The -fast option maximizes speed across the entire pro- gram. It sets command options that can improve run-time performance, as follows: The -fast option turns on -O3, -ipo, -static, and -xP. IA-32 programs compiled with -fast will execute only on Intel(R) Pentium(R) 4 processors with Streaming SIMD Extensions 3 (SSE3). Programs compiled with this option will detect non-compatible processors and generate an error message during execution. -ansi_alias Enables (default) or disables the compiler to assume that the program adheres to the ANSI Fortran type aliasablility rules. For example, an object of type real cannot be accessed as an integer. You should see the ANSI standard for the complete set of rules -prof_gen instrument program for profiling for the first phase of two-phase profile guided otimization -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, -prof_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 -scalar_rep(-) Enables(disables) scalar replacement performed during loop transformations (requires /O3). -auto Causes all variables to be allocated on the stack, rather than in local static storage. Does not affect variables that appear in an EQUIVALENCE or SAVE statement, or those that are in COMMON. Makes all local variables AUTOMATIC, same as /4Ya. Portability options for CPU2000: ------------------------------- 178.galgel: -FI : Fixed-format F90 source code.