https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86835
Marc Glisse <glisse at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords| |wrong-code Status|UNCONFIRMED |NEW Last reconfirmed| |2018-08-02 Component|c |tree-optimization Ever confirmed|0 |1 --- Comment #1 from Marc Glisse <glisse at gcc dot gnu.org> --- The recip pass messes up introducing the inverses: powmult_reciptmp.7_5 = reciptmp.6_89(D) * reciptmp.6_89(D); b_59 = MEM[(double *)params_57(D) + 8B]; reciptmp.6_6 = 1.0e+0 / b_59; The first line should be last and use reciptmp.6_6.