我可以在文档和网络中找到的所有关于 -ffinite-math-only 的信息是“允许对浮点算术进行优化,假设参数和结果不是 NaN 或 +-Infs。”这对我来说似乎不是即将到来的。有谁知道这些优化到底是什么?
谢谢
最佳答案
在这个假设下可以优化很多小事情,例如:
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
关于optimization - -ffinite-math-only 促进了哪些优化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10145401/