https://gcc.gnu.org/bugzilla/show_bug.cgi?id=124405
Richard Biener <rguenth at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Last reconfirmed| |2026-03-09
Ever confirmed|0 |1
Status|UNCONFIRMED |NEW
--- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> ---
It's because the middle BB is
<bb 3> [local count: 536870912]:
_3 = _2 | 1;
*a_6(D) = _3;
and cond_store_replacement requires there to be only a store. Possibly
for cost reasons but also definitely for correctness (unless we expand
checks), given we want to make all of the middle-bb unconditionally
excuted.