|
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.
Option Setting
|
Description
|
Support
|
Windows*
|
Linux*
|
-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
|
-long_double
|
Changes the size of the long double type
to 80 bits. The Intel® compiler's default long
double type is 64 bits in size, the same as the double
type. 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.
|
|
-Qprec
|
-mp1
|
Almost, but not quite, as precise as ANSI; faster than ANSI. All
but the most costly operations are done according to ANSI.
|
IA-32 only
|
-Qprec_div
|
-prec_div
|
By default, the Intel compiler converts division operations into
reciprocal multiply operations, which is less precise but much faster.
This option prevents this conversion.
|
IA-32 only
|
-Qpcn
|
-pcn
|
Specifies required number of bits of precision: 32, 64, or 80.
Rounds to n precision, where n=[32|64|80].
|
IA-32 only
|
-Qrcd
|
-rcd
|
Removes code that truncates during float to integer conversions.
Improves the performance of code that requires floating-point-to-integer
conversions.
|
IA-32 only
|
|
|
|