Floating-point Options for IA-32 and IntelŪ EM64T

The following table lists options that enable you to control the compiler optimizations for floating-point computations on IA-32 and IntelŪ EM64T systems. The options listed here are not valid for ItaniumŪ-based systems.

Windows*

Linux*

Effect

/Qprec-div

-prec-div

Improves precision of floating-point divides. With some optimizations, such as -xN and -xB (Linux*) or /QxN and /QxB (Windows*) the compiler may change floating-point division computations into multiplication by the reciprocal of the denominator. This change can alter the results of floating point division computations slightly.

For more information, see the following topic:

/Qpc

-pc

This option enables floating-point significand precision control, and it allows full optimization. Some floating-point algorithms are sensitive to the accuracy of the significand or fractional part of the floating-point value. For example, operations like division or finding the square root can run faster if you lower the precision using this option.

Note

This option only has effect when the module being compiled contains the main program.

A change of the default precision control or rounding mode (for example, by using the -pc32 (Linux) or /Qpc32 (Windows) flag or by user intervention) may affect the results returned by some of the mathematical functions.

    For more information, see the following topic:

    • -pc compiler option

    /Qrcd

    -rcd

    Disables changing of rounding mode for floating-point-to-integer conversions. Use for rounding control.

    The system default floating point rounding mode is round-to-nearest. This means that values are rounded during floating point calculations.

    However, the Fortran 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 conversion and change it back afterwards.

    This option disables the change to truncation of the rounding mode for all floating point calculations, including floating-point-to-integer conversions. This means that all floating point calculations must use the default round-to-nearest, including floating point-to-integer conversions. Turning on this option can improve performance, but floating-point conversions to integer will not conform to Fortran semantics.

    For more information, see the following topic:

    • -rcd compiler option

    /Qrct

    No equivalent

    Sets internal FPU rounding control to truncate. Use for rounding control.

      /Qfp-port

      -fp-port

      Provides a rounding control of the results of the floating-point data operations. Use for rounding control. May cause some speed impact, but also makes sure that rounding to the user-declared precision at assignments is always done.

      • Linux: -fp-port is supported on both IA-32 and IntelŪ EM64T systems.

      • Windows: /Qfp-port is not supported on IA-32 only.

      The -prec-div (Linux) or /Qprec-div (Windows) option implies this option.

      For more information, see the following topic:

      /Qprec-sqrt

      -prec-sqrt

      Improves precision of square root implementations, but using the option might impact speed.

      For more information, see the following topic: