Intel® Fortran Compiler 16.0 User and Reference Guide
Many Fortran compilers perform code-generation optimizations to increase the speed of execution or to decrease the required amount of memory for the generated code. Although the behaviors of both the optimized and non-optimized programs fall within the language standard specification, different behaviors can occur in areas not covered by the language standard. Compiler optimization can influence floating-point numeric results.
The Intel® Fortran Compiler can perform optimizations to increase execution speed and to improve floating-point numerical consistency.
Floating-point consistency refers to obtaining results consistent with the IEEE binary floating-point standards. For more information, see the fltconsistency option.
Unless you properly design your code, you may encounter numerical difficulties when you optimize for fastest execution. The nofltconsistency option uses the floating-point registers, which have a higher precision than stored variables, whenever possible. This tends to produce results that are inconsistent with the precision of stored variables. The fltconsistency option can improve the consistency of generated code by rounding results of statement evaluations to the precision of the standard data types, but it does produce slower execution times.
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 |