Developer Guide and Reference

Contents

fp-port, Qfp-port

Rounds floating-point results after floating-point operations.

Syntax

Linux:
-fp-port
-no-fp-port
macOS:
-fp-port
-no-fp-port
Windows:
/Qfp-port
/Qfp-port-
Arguments
None
Default
-no-fp-port
or
/Qfp-port-
The default rounding behavior depends on the compiler's code generation decisions and the precision parameters of the operating system.
Description
This option rounds floating-point results after floating-point operations.
This option is designed to be used with the
-mia32
(Linux*) or
/arch:IA32
(Windows*) option on a 32-bit compiler. Under those conditions, the compiler implements floating-point calculations using the x87 instruction set, which uses an internal precision that may be higher than the precision specified in the program.
By default, the compiler may keep results of floating-point operations in this higher internal precision. Rounding to program precision occurs at unspecified points. This provides better performance, but the floating-point results are less deterministic. The
[Q]fp-port
option rounds floating-point results to user-specified precision at assignments and type conversions. This has some impact on speed.
When compiling for newer architectures, the compiler implements floating-point calculations with different instructions, such as Intel® SSE and SSE2. These Intel® Streaming SIMD Extensions round directly to single precision or double precision at every instruction. In these cases, option
[Q]fp-port
has no effect.
Alternate Options
None

Product and Performance Information

1

Intel's compilers may or may not optimize to the same degree for non-Intel microprocessors for optimizations that are not unique to Intel microprocessors. These optimizations include SSE2, SSE3, and SSSE3 instruction sets and other optimizations. Intel does not guarantee the availability, functionality, or effectiveness of any optimization on microprocessors not manufactured by Intel. Microprocessor-dependent optimizations in this product are intended for use with Intel microprocessors. Certain optimizations not specific to Intel microarchitecture are reserved for Intel microprocessors. Please refer to the applicable product User and Reference Guides for more information regarding the specific instruction sets covered by this notice.

Notice revision #20110804