Oracle Solaris Studio 12.2: Fortran ユーザーズガイド

3.4.27 –fma={none| fused}

(SPARC) 浮動小数点演算、融合演算、積和演算命令の自動生成を有効にします。-fma=none は、これらの命令の生成を無効にします。-fma=fused は、コンパイラが浮動小数点演算、融合演算、積和演算命令を使用して、コードのパフォーマンスを改善する機会を見つけようとすることを許可します。デフォルトは -fma=none です。

融合した積和演算命令を生成するには、コンパイラに対して -xarch=sparcfmaf および最適化レベルが -xO2 以上に設定されていることが最低限必要です。融合した積和演算命令が生成された場合は、これらの命令をサポートしていないプラットフォームでプログラムが実行されないように、コンパイラはバイナリプログラムにマークを付けます。

積和演算 (FMA) により、積と和 (乗算と加算) の間で中間の丸め手順が排除されます。その結果、-fma=fused を指定してコンパイルしたプログラムは、精度は減少ではなく増加する傾向にありますが、異なる結果になることがあります。