The following table lists options that enable you to control the compiler optimizations for floating-point computations on ItaniumŪ-based systems. The options listed here are not valid for IA-32 and IntelŪ EM64T systems.
Windows* |
Linux* |
Effect |
---|---|---|
/Qftz |
-ftz |
Use this option to flush denormal results to zero (0) when the application is in the gradual underflow mode. Flushing the denormal values to zero with this option may improve overall application performance. Use this option if the denormal values are not critical to application behavior. This option needs to be used only on the source that contains the main program to turn the FTZ mode on. The initial thread, and any threads subsequently created by that process, will operate in FTZ mode.
If this option produces undesirable results of the numerical behavior of your program, you can turn the FTZ mode off by using this option in the command line while still benefiting from other optimizations. For more information, see the following topic:
|
/QIPF-fma |
-IPF-fma |
Enables or disables the contraction of floating-point multiply and add/subtract operations into a single operation. Unless -fp-model strict (Linux) or /fp:strict (Windows) is specified, the compiler contracts these operations whenever possible. The -fp-model strict (Linux) or /fp:strict (Windows) option disables the contractions. Use these options to override the default compiler behavior. For example, a combination of -fp-model strict (Linux) or /fp:strict (Windows) and -IPF-fma (Linux) or /QIPF-fma (Windows) enables the compiler to contract operations: icpc -fp-model strict -IPF-fma prog.cpp (Linux) icl /fp:strict /QIPF-fma prog.cpp (Windows) For more information about compiler option interaction, see the following topic:
|
/QIPF-fp-speculation |
-IPF-fp-speculation |
Sets the compiler to speculate on floating-point operations. This option is the default when -O0 (Linux) or /Od (Windows) is specified. When using the -fp-model strict or -fp-model except (Linux) or /fp:strict or /fp:except options, the speculation mode is set to strict and cannot be overridden. However, when using the -fp-model fast (Linux) or /fp:fast (Windows) option, you can use the -IPF-fp-speculation (Linux) or /QIPF-fp-speculation (Windows) option to restrict speculation. For more information, see the following topic:
|
/QIPF-fp-relaxed |
-IPF-fp-relaxed |
Enables use of faster but slightly less accurate code sequences for math functions, such as the sqrt() function and the divide operation. As compared to strict IEEE* precision, using this option slightly reduces the accuracy of floating-point calculations performed by these functions, usually limited to the least significant digit. When using any -fp-model (Linux) or /fp (Windows) option setting, this option is disabled: -no-IPF-fp-relaxed (Linux) or /QIPF_fp_relaxed- (Windows). For more information, see the following topic:
|
/QIPF-flt-eval-method0 |
-IPF-flt-eval-method0 |
Directs the compiler to evaluate the expressions involving floating-point operands in the precision indicated by the variable types declared in the program. For more information, see the following topic:
|
/QIPF-fltacc |
-IPF-fltacc |
Disables the compiler to apply optimizations that affect floating-point accuracy. The ItaniumŪ compiler may re-associate floating-point expressions to improve application performance. Some options disable or restrict these floating-point optimizations. You can use this option or the -mp (Linux) or /Op (Windows) option to improve floating-point accuracy, but doing so will disable other optimizations. For more information, see the following topic:
|