https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102072
--- Comment #4 from Jiu Fu Guo <guojiufu at gcc dot gnu.org> --- Code around tree-ssa-loop-manip.c:1049 (in determine_exit_conditions) is: else if (cmp == GT_EXPR) { gcc_assert (tree_int_cst_sign_bit (step)); } which seems checking: 'step' should be negative if 'cmp' is ">" code around pr101145.c:6 : 5unsigned __attribute__ ((noinline)) 6foo (int *__restrict__ a, int *__restrict__ b, unsigned l, unsigned n) 7{ 8 while (n < ++l) 9 *a++ = *b++ + 1; 10 return l; 11} ------------ I did not find arm big-endian yet, I'm trying to reproduce this issue on other targets...