Sun Studio 12 Update 1:C 用户指南

B.2.22 -fma[={none| fused}]

(SPARC) 启用自动生成浮点乘加指令。-fma=none 禁用这些指令的生成。-fma=fused 允许编译器通过使用浮点乘加指令,尝试寻找改进代码性能的机会。

缺省值是 -fma=none

要使编译器生成乘加指令,最低要求是 -xarch=sparcfmaf 且优先级别至少为 -xO2。如果生成了乘加指令,编译器会标记此二进制程序,以防止该程序在不受支持的平台上执行。

合并的乘加消除了乘法与加法之间的中间舍入步骤。因此,当使用 -fma=fused 进行编译时,程序可能产生不同的结果,但精度往往会提高,而不是降低。