https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93334
Richard Biener <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Last reconfirmed| |2020-01-21 CC| |amker at gcc dot gnu.org, | |rguenth at gcc dot gnu.org Ever confirmed|0 |1 --- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> --- Confirmed. The issue is that the overlap would be an issue if the stores were using different values like void test_simple_code(long l, double* mem, long ofs2) { for (long k=0; k<l; k++) { mem[k] = 0.0; mem[ofs2 +k] = 1.0; } } and we're simply not optimizing the case where the write-after-write dependence can be ignored because the stored value is always the same. I'm also not sure whether that's easy to do ... Bin?