https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101466
--- Comment #9 from cqwrteur <unlvsur at live dot com> --- (In reply to Richard Biener from comment #8) > I don't see what we can optimize for the reduced testcases. void square(unsigned t, int *tt) { if (t<=0) __builtin_abort(); tt[0] = 0; if (t<=1) __builtin_abort(); tt[1] = 0; if (t<=2) __builtin_abort(); tt[2] = 0; if (t<=3) __builtin_abort(); tt[3] = 0; if (t<=4) __builtin_abort(); tt[4] = 0; } but this should be able to optimize.