https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104982
Richard Biener <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Target| |x86_64-*-* i?86-*-* Ever confirmed|0 |1 Last reconfirmed| |2022-03-21 Status|UNCONFIRMED |NEW Keywords| |missed-optimization Target Milestone|--- |12.0 --- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> --- Confirmed. From my analysis at the point I pushed the offending revision the edges out of a conditional are now swapped, EDGE_SUCC (bb, 1) vs. EDGE_SUCC (bb, 0), and that somehow leads to magic no longer happening. That's of course a condition (the particular edge order) that we can't rely on. If there's a "better" one for expanding RTL we should conciously choose it there.