[Bug tree-optimization/56826] [4.9 Regression] Run-fail after r197189.

rguenth at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Thu Apr 4 11:13:00 GMT 2013


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56826

--- Comment #3 from Richard Biener <rguenth at gcc dot gnu.org> 2013-04-04 11:12:56 UTC ---
Testcase:

extern void abort (void);

typedef struct {
    int a[3];
    int num;
} t1;
t1 B[100];
int A[300];

void __attribute__((noinline,noclone))
bar (int *A, t1 *B, int n)
{
  int i;
  int *a = A;
  for (i=0; i<n; i++, a+=3)
    {
      a[0] = B[i].a[0];
      a[1] = B[i].a[1];
      a[2] = B[i].a[2];
    }
}

int main()
{
  int i;
  for (i=0; i<100; i++)
    {
      B[i].num = i;
      B[i].a[0] = i * 3;
      B[i].a[1] = i * 3 + 1;
      B[i].a[2] = i * 3 + 2;
      __asm__ volatile ("");
    }
  bar (&A[0], &B[0], 100);
  for (i=0; i<300; i++)
    if (A[i] != i)
      abort ();
  return 0;
}



More information about the Gcc-bugs mailing list