Floating-point Precision

In most cases, as floating-point precision increases, so does processor execution time. The following table shows the floating-point precision optimization options along with a description of each option's precision vs. speed.

Windows*

Linux*

Description

-Op

-mp

Strict ANSI C and IEEE 754 Floating Point (subset of -Za or -ansi) very precise; slows your application down

-Za

-ansi

Strict ANSI C and IEEE 754. Slower and more precise than -Op.

-Qlong_double

Not available

Changes the default size of the long double type from 64 to 80 bits. This option introduces a number of incompatibilities with other files compiled without this option and with calls to library routines. Therefore, Intel recommends that the use of long double variables be local to a single file when you compile with this option.

This option is available on Intel® Extended Memory 64 Technology (Intel® EM64T) systems .

-Qprec

-mp1

IA-32 only. Almost, but not quite, as precise as ANSI; faster than ANSI. All but the most costly operations are done according to ANSI.

-Qprec_div

-prec_div

IA-32 only. By default, the Intel compiler converts division operations into reciprocal multiply operations, which is less precise but much faster. This option disables the floating point division-to-multiplication optimization.

This option is available on Intel® EM64T-based systems.

-Qpc{32|64|80}

-pc{32|64|80}

IA-32 only. Specifies required number of bits of precision: 32, 64, or 80. Rounds to n precision, where n=[32|64|80].

This option is available on Intel® EM64T-based systems.

-Qrcd

-rcd

IA-32 only. Removes code that truncates during float to integer conversions.

Improves the performance of code that requires floating-point-to-integer conversions.

Compiler Option Quick Reference