10.158 FMA(Fused Multiply Add)コンパイラ組み込み関数

これらのコンパイラ組み込み関数は、計算 result = a × b + c を 1 回の丸めステップで実行します。

乗算して加算するという計算を 1 回の丸めステップで実行すると、2 回の丸めステップで行った場合と比べて精度が向上します。
math.h には、以下のような FMA コンパイラ組み込み関数が宣言されています。
double fma(double a, double b, double c);
float fmaf(float a, float b, float c);
long double fmal(long double a, long double b, long double c);

  • これらのコンパイラ組み込み関数は、C99 モードでのみ使用できます。
  • サポートされるプロセッサは、Cortex-A5 および Cortex-M4 のみです。
  • Cortex-M4 プロセッサを対象にコンパイルする場合は、fmaf() しか使用できません。
非機密扱いPDF file icon PDF 版ARM DUI0472LJ
Copyright © 2010-2015 ARM.All rights reserved.