https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112905
Richard Biener <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Ever confirmed|0 |1 Last reconfirmed| |2023-12-07 Keywords| |missed-optimization Status|UNCONFIRMED |NEW Component|c++ |tree-optimization --- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> --- The issue is that store-motion cannot cope with this as A could be equal to B which would invalidate the transform it would do. And that's the enabler and why it works with just a single update. Confirmed.