C言語やC++では、コンパイラが気を利かせてFMA命令にコンパイルすることがあります。 具体的には、次のように書いた場合、浮動小数点数乗算命令と浮動小数点数加算命令が使われるのではなく、浮動小数点数融合積和演算命令(以下FMA命令)が使われることがあります。 double test( double a, double b, double c ) { double ret = a * b + c; return ret; } 一般に、以下の二つの利点があるため、コンパイラは機会があればFMA命令を使おうとする傾向にあるようです。 一命令で計算できるので、スループット的な意味でもレイテンシ的な意味…