The Intel® Compiler provides various options for you to optimize floating-point calculations with varying degrees of accuracy and predictability on different Intel architectures. This topic lists these compiler options and provides information about their supported architectures and operating systems.
Linux* and Mac OS* |
Windows* |
Description |
---|---|---|
IA-32, Intel® 64, and IA-64 architectures |
||
-fp-model |
/fp |
Specifies semantics used in floating-point calculations. Values are precise, fast, strict, source, double, extended, and except. There are extended values for safe and except.
|
-fp-speculation |
/Qfp-speculation |
Specifies the speculation mode for floating-point operations. Values are fast, safe, strict, and off.
|
-prec-div |
/Qprec-div |
Attempts to use slower but more accurate implementation of floating-point divide. Use this option to disable the divide optimizations in cases where it is important to maintain the full range and precision for floating-point division. Using this option results in greater accuracy with some loss of performance. Specifying -no-prec-div (Linux and Mac OS) or /Qprec-div- (Windows) enables optimizations that result in slightly less precise results than full IEEE division.
|
-complex-limited-range |
/Qcomplex-limited-range |
Enables the use of basic algebraic expansions of some arithmetic operations involving data of type COMPLEX. This can cause performance improvements in programs that use a lot of COMPLEX arithmetic. Values at the extremes of the exponent range might not compute correctly.
|
-ftz |
/Qftz |
The default behavior depends on the architecture. Refer to the following topic for details:
|
-fpe |
/fpe |
By default, the Fortran compiler disables all floating-point exceptions and floating underflow is gradual. This option controls which exceptions are enabled by the compiler. It also controls whether floating-point underflow is gradual or abrupt.
|
IA-32 and Intel® 64 Architectures Only |
||
-prec-sqrt |
/Qprec-sqrt |
Improves the accuracy of square root implementations, but using this option may impact speed.
|
-pc |
/Qpc |
Changes the floating point significand precision. Use this option when compiling applications. The application must use PROGRAM as the entry point, and you must compile the source file containing PROGRAM with this option.
|
-rcd |
/Qrcd |
Disables rounding mode changes for floating-point-to-integer conversions.
|
No equivalent |
/Qrct |
Sets internal FPU rounding control to truncate. Use for rounding control. |
-fp-port |
/Qfp-port |
Causes floating-point values to be rounded to the source precision at assignments and casts.
|
-mp1 |
/Qprec |
This option rounds floating-point values to the precision specified in the source program prior to comparisons. It also implies –prec-div and –prec-sqrt (Linux and Mac OS) or /Qprec-div and /Qprec-sqrt (Windows).
|
IA-64 Architecture Only |
||
-IPF-fma |
/QIPF-fma |
Enables or disables the contraction of floating-point multiply and add/subtract operations into a single operation.
|
-IPF-fp-speculation |
/QIPF-fp-speculation |
Deprecated. Instructs the compiler to speculate on floating-point operations. Use -fp-speculate (Linux and Mac OS) or /Qfp-speculate (Windows) instead.
|
-IPF-fp-relaxed |
/QIPF-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 binary digit.
|