https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86999
Richard Biener <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords|wrong-code | Status|UNCONFIRMED |NEW Last reconfirmed| |2018-08-22 CC| |rguenth at gcc dot gnu.org Component|middle-end |tree-optimization Summary|Incorrect code generation |missed FMA optimization |and missing optimization |with -fassociative-math |with -fno-signed-zeros. | Ever confirmed|0 |1 --- Comment #4 from Richard Biener <rguenth at gcc dot gnu.org> --- So as far as I understand comment#1 remains. The FMA pass should handle (x +- 1)*y and (1 - x)*y.