---------------------------- -Super Micro Computer, Inc.- ---------------------------- ------------------------------------------ -INTEL C++ COMPILER 7.1 FLAG DESCRIPTIONS- ------------------------------------------ -G{5|6|7} Optimize code specifically for a targeted processor. Includes one or more of the following characters: 5: Pentium processors with or without MMX technology 6: Pentium Pro, Pentium II, and Pentium III processors 7: Pentium 4 processor -GR[-] Enables [disables (DEFAULT)] C++ Runtime Type Information (RTTI). -GX[-] Enables [disables (DEFAULT)] C++ exception handling. -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. -Oi[-] Enables (DEFAULT) [disables] inline expansion of standard library functions. -Qax{i|M|K|W} Generate code specialized for processor extensions specified by while also generating generic IA-32 code. Includes one or more of the following characters: i: Pentium Pro and Pentium II processor instructions M: MMX(TM) instructions K: SSE extensions W: SSE2 extensions -Qx{i|M|K|W} Generate specialized code to run exclusively on processors supporting the extensions indicated by as described above. NOTE: -Qx{character(s)} and -Qax{character(s)} all ensure more consistent floating point arithmetic with some speed impact by rounding fp results at assignments & preserving user visible impact of casts which lose precision. This behaviour can be achieved by using the -Qfp_port option as well. -Qip Enable single-file IP optimizations (within files, same as -Ob2). -Qipo 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 -Qwp_ipo Additionally to -Qipo, makes the whole program assumption that all variables and functions seen in compiled sources are referenced only within those sources; the user must guarantee that this assumption is safe. -Qprof_gen Instrument program for profiling for the first phase of two-phase profile guided optimization. -Qprof_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. -Qrcd 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. -Qunroll[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) Use the -Zp{n} option to determine the alignment constraint for structure declarations, on n-byte boundary (n = 1, 2, 4, 8, 16). Generally, smaller constraints result in smaller data sections while larger constraints support faster execution. For example, to specify 2 bytes as the alignment constraint for all structures and unions in the file prog1.c, use the following command: -Zp2 prog1.c The default is -Zp16. shlW32M.lib MicroQuill SmartHeap Library 7.0 available from www.microquill.com ---------------------------------------------- -INTEL FORTRAN COMPILER 7.1 FLAG DESCRIPTIONS- ---------------------------------------------- -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. -Ob{0|1|2} Controls the compiler's inline expansion. 0: disable inlining. 1: disables inlining unless /Qip or /Ob2 are specified. 2: enables inlining of any function. However, the compiler decides which functions are inlined. This option enables interprocedural optimizations and ahs the same effect as specifying the /Qip option. -Qauto Causes all variables to be allocated on the stack, rather than in local static storage. -Qax{i|M|K|W} Generate code specialized for processor extensions specified by while also generating generic IA-32 code. Includes one or more of the following characters: i: Pentium Pro and Pentium II processor instructions M: MMX(TM) instructions K: SSE extensions W: SSE2 extensions -Qx{i|M|K|W} Generate specialized code to run exclusively on processors supporting the extensions indicated by as described above. NOTE: -Qx{character(s)} and -Qax{character(s)} all ensure more consistent floating point arithmetic with some speed impact by rounding fp results at assignments & preserving user visible impact of casts which lose precision. This behaviour can be achieved by using the -Qfp_port option as well. -Qip Enable single-file IP optimizations (within files, same as /Ob2). -Qipo 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 -Qwp_ipo Additionally to -Qipo, makes the whole program assumption that all variables and functions seen in compiled sources are referenced only within those sources; the user must guarantee that this assumption is safe. -Qprefetch[-] Enable [disable (DEFAULT)] prefetch insertion. The default with -O3 is -Qprefetch. -Qprof_gen Instrument program for profiling for the first phase of two-phase profile guided otimization. -Qprof_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. -Qrcd 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. -Qscalar_rep[-] Enables (DEFAULT) [disables] scalar replacement performed during loop transformations. -Qunroll[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. shlW32M.lib MicroQuill SmartHeap Library 7.0 available from www.microquill.com