Oracle® Solaris Studio 12.4:Fortran 用户指南

退出打印视图

更新时间: 2014 年 12 月
 
 

3.4.26 –fma[={none|fused}]

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

缺省值为 -fma=none

要生成混合乘加指令,最低体系结构要求是 -xarch=sparcfmaf(对于 SPARC)和 -xarch=avx2(对于 x86)。如果生成了混合乘加指令,编译器会标记此二进制程序,以防止该程序在不支持混合乘加指令的平台上执行。如果未使用最低体系结构,则 -fma=fused 不起作用。

混合乘加指令可以免除乘法和加法之间的中间舍入步骤。因此,如果使用 -fma=fused 编译,程序可能会生成不同的结果,但精度通常会增加而不是降低。