Copyright © 2006. Intel Corporation. All Rights Reserved.
Selecting one of the following will take you directly to that section:
HEADER for OPTIMIZATION
Stacksize parameter.
for Integersuite n = 512000000
pre-allocates a 512MB stack
for Floatingpointsuite n = 950000000
pre-allocates a 950MB stack
used by mostly benchmarks for PEAK
PASS1 = -Qprof_gen
PASS2 = -Qprof_use
Optimizes for speed. Enables high-level optimization. This level does not guarantee higher performance. Using this option may increase the compilation time. Impact on performance is application dependent, some applications may not see a performance improvement.
The optimizations include:
Enables[disables] improved precision of floating-point divides. Disabling may slightly improve speed. Default Enabled.
Generate specialized code to run exclusively on processors
supporting the extensions indicated by [codes] as described above.
P stands for Pentium.
for C and C++
Enables multi-file ip optimizations which allows inline function expansion for calls to functions defined in separate files. The compiler decides whether to create one or more object files based on an estimate of the size of the application. It generates one object file for small applications and two for large ones.
for Fortran
multi-file ip optimizations that includes:
Optimizes for speed.
The -O2 option includes the following options:
This options defaults to ON.
This option also enables.
Enables single-file interprocedural optimizations within a file.
for C and C++
Instruments the program for profiling: to get the execution count of each basic block.
for Fortran
Instruments the program for profiling: to get the execution count of each basic block.
Enables single-file interprocedural optimizations within a file.
Enables the use of profiling dynamic feedback information during optimization.
for C and C++:
Enables global optimizations.
Enables/disables inline expansion of intrinsic functions.
Default enabled
This option enables most speed optimizations, but disables some that increase code size for a small speed benefit.
Default enabled
Enables [disables] the use of the EBP register in optimizations. When you disable with -Oy-, the EBP register is used as frame pointer. -Oy has the effect of reducing the number of general-purpose registers by 1, and can produce slightly less efficient code.
Default enabled
n = 0
Disables inlining of user-defined functions.
However, statement functions are always inlined
n = 1
Enables inlining of functio's declared with the __inline keyword.
Also enables inlining according to the C++ language
n = 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 option Qip.
Default enabled with n = 2
Disables stack-checking for routines with n or more bytes of local variables and compiler temporaries.
Default enabled with n = 4096.
Assume [not assume] no aliasing
Default disabled
Enables all speed optimizations.
Overrides -Os
Assume[not assume] no cross function aliasing.
Enables string-pooling optimization.
Packages functions to enable linker optimization.
Default enabled
Generates specialized code for processor specific codes K, W, N, P while also generating generic IA-32 code.
Enables[disables] fast conversions of floating-point to integer conversions. This option does not guarantee that any particular rounding mode will be used.
for C and C++
If your program satisfies the above conditions, setting the -Qansi_alias flag will help the compiler better optimize the program. However, if your program does not satisfy one of the above conditions, the -Qansi_alias flag may lead the compiler to generate incorrect code.
for Fortran
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.
round fp results at ass'gnments & casts (some speed impact)
Enable prefetch insertion.
Default enabled
Specifies the maximum number of times to unroll a loop. n = 0 disables loop unrolling.
Default: the compiler uses default heuristics when unrolling loops.
-Qoption: passes an option specified by optlist to a tool,
where optlist is a comma-separated list of options.
for C and C++
tool: | Description |
---|---|
cpp | Specifies the compiler front-end preprocessor |
c | Specifies the C++ compiler |
asm | Specifies the assembler |
link | Specifies the linker |
oplist | Indicates one or more valid argument strings for the designated program. If the argument is a command-line option, you must include the hyphen. If the argument contains a space or tab character, you must enclose the entire argument in quotation characters (""). You must separate multiple arguments with commas |
tool: | Descroption |
---|---|
fpp | Specifies the Fortran preprocessor |
f | Specifies the Fortran compiler |
asm | Specifies the assembler |
link | Specifies the linker |
oplist | Indicates one or more valid argument strings for the designated tool. You must separate multiple arguments with commas. |
NOTE: If tool is incorrectly specified, the compiler gives an warning and the option is ignored. For example, if -Qoption,f,... is used with the Intel C++ compiler, the option is ignored with an warning.
-Qoption can be used with the -Qipo flag to refine IPO.
The valid options that can be used for this purpose are:
Specifies the strictest alignment constraint for structure and union types as 1, 2. 4. 8 or 16 bytes
Default is 16.
Problem: 16 is also pos'ible. How to write regexp?
Enables the compiler to use SSE instructions.
Enables the compiler to use SSE2 instructions.
Enables floating-point significand precision control. The value is used to round the significand to the correct number of bits. The value must be either 32, 64 or 80.
Default enabled
Determines whether local variables are put on the run-time stack.
Enables[disables] scalar replacement performed during loop transformations.
(requires /O3).
Force Linking even if multiple entry names are found.
CINT2006:
Necessary when linking with the Smartheap library since that causes multiple definitions or new and delete
471.omnetpp: linker error without whis option
Runrules: it must be used for all CPU2006 Integer Suite
Unknown flag; introduced from variable BENCH_FLAGS.
HEADER for PORTABILITY
444.namd:
needs to tell the compiler that 444.namd source files,
which have an expansion of .C, are C++ files;
compilation error without this flag.
/TP: compile all source or unrecognized file types as C++ source files
436.cactusADM: and 454.calculix:
is needed to avoid linker errors for mixed C and Fortran codes.
changes routine names to all lowercase.
436.cactusADM:
is needed to avoid linker errors for mixed C and Fortran codes
it tells the linker to assume and underscore after exernal subroutine names
HEADER for COMPILER
Invoke Intel's C/C++ compiler.
Also used to invoke linker for C/C++ programs.
Invoke Intel's Fortran compiler.
Also used to invoke linker for Fortran programs
and C/Fortran mixtures.
This option enables/disables C99 support for C programs. One of the features enabled, restricted pointers, is available by using option restrict. For more information, see restrict.
This option enables standard C++ features without disabling Microsoft features within the bounds of what is provided in the Microsoft headers and libraries.
This option has the same effect as specifying /GX /GR.
This option enables C++ exception handling
This option enables C++ Run Time Type Information (RTTI).
Search for include files also in working directory.
HEADER for OTHER
MicroQuill SmartHeap Library available from http://www.microquill.com/