5

-ffinite-math-only のドキュメントと Web で見つけることができるすべての情報は、「引数と結果が NaN または +-Infs ではないことを前提とする浮動小数点演算の最適化を許可する」です。これは私には近づきそうにありません。それらの最適化が何であるかを正確に知っている人はいますか? ありがとう

4

1 に答える 1

8

その仮定の下で、次のような多くの小さなことを最適化できます。

  • x == x-->1
  • x * 1-->x
  • x >= y-->!(x < y)など。
  • x/x-->1コンパイラが証明できる場合x != 0
  • コンパイラが のような式にハードウェアの最大/最小命令を使用できるようにする場合がありますx > y ? x : y
  • ... さらに多く

この仮定は、「ゼロの符号は重要ではない」などの仮定と一緒によく見られます。これにより、次のことが可能になります。

  • x - x-->0
  • 0 / x-->0
  • x * 0-->0
于 2012-04-13T17:45:47.120 に答える