use*_*148 5 compiler-construction floating-point optimization gcc
我可以在文档和web中找到-ffinite-math-only的所有信息是"允许优化浮点运算,假设参数和结果不是NaN或+ -Infs".这对我来说似乎没有.有谁知道这些优化究竟是什么?谢谢
在这个假设下可以优化很多小东西,例如:
x == x - > 1x * 1 - > xx >= y- > !(x < y)和类似的.x/x- > 1如果编译器可以证明x != 0.x > y ? x : y.你经常会看到这个假设以及"零符号无关紧要"之类的假设,然后允许这样的事情:
x - x - > 00 / x - > 0x * 0 - > 0