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

Reply via email to