Sun Studio 12 Update 1: Fortran User's Guide

3.4.28 -fma={none|fused}

(SPARC) Enable automatic generation of floating-point, fused, multiply-add instructions. -fma=none disables generation of these instructions. -fma=fused allows the compiler to attempt to find opportunities to improve the performance of the code by using floating-point, fused, multiply-add instructions. The default is -fma=none.

Minimum requirements are -xarch=sparcfmaf and an optimization level of at least -xO2 for the compiler to generate fused multiply-add instructions. The compiler will mark the binary program if fused multiply-add instructions have been generated to prevent execution of the program on platforms that do not support them.

Fused multiply-adds eliminate the intermediate rounding step between the multiply and the add. Consequently, programs may produce different results when compiled with -fma=fused, although precision will tend to be increased rather than decreased.