https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91775
--- Comment #1 from Uroš Bizjak <ubizjak at gmail dot com> ---
Even if the loop is rewritten as:
--cut here--
#define N 1024
int a[N], b[N], c[N];
void
foo (void)
{
int i;
for (i = -N; i < 0; i++)
a[i+N] = b[i+N] + c[i+N];
}
--cut here--
gcc still emits compare insn:
xorl %eax, %eax
.L2:
movl c(%rax), %edx
addl b(%rax), %edx
addq $4, %rax
movl %edx, a-4(%rax)
* cmpq $4096, %rax
jne .L2
ret
