https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58686
Andrew Pinski <pinskia at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Ever confirmed|0 |1 Status|UNCONFIRMED |NEW Last reconfirmed| |2021-12-12 --- Comment #4 from Andrew Pinski <pinskia at gcc dot gnu.org> --- Confirmed. #define N 5 void foo(int* a, unsigned int i) { int j = 0; do { a[j++] = 0; i -= 4; } while (i >= N); } ---- CUT --- LLVM can convert the above loop into a memset while GCC does not.