https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97821
Richard Biener <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords| |wrong-code Priority|P3 |P2 CC| |matz at gcc dot gnu.org --- Comment #3 from Richard Biener <rguenth at gcc dot gnu.org> --- Hmm. It takes quite some time for us to elide the dead stores to bd, ar and at (and only ar and at are vectorized). I guess we run into some alias-walk limits of DCE and vectorizing the stores fixes that. Unfortunately those limits are hard-coded: if (/* Constant but quadratic for small functions. */ total_chain > 128 * 128 /* Linear in the number of may-defs. */ && total_chain > 32 * longest_chain /* Linear in the number of uses. */ && total_chain > nr_walks * 32) { this points to the known issue of stack var coalescing with CLOBBERs and indeed -fstack-reuse=none fixes the testcase, without actually spotting the bad coalescing. So related to that duplicate bug we have about this issue.