https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86609
Richard Biener <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Last reconfirmed| |2018-07-23 Ever confirmed|0 |1 --- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> --- Well, it's general expression combining, you want (for round (ROUNDF ROUND ROUNDL) iround (IROUNDF LROUND LLROUNDL) (simplify (fix_trunc (round @0)) (iround @0))) specifically without restricting to single-use (round @0). Not sure if that's a good idea in general. Note the above needs more thought about which {I,L,LL}ROUND* to use. And no, reassoc wouldn't be the pass to deal with this.