/* PR tree-optimization/29581 */ | |
/* Origin: gcc.dg/vect/vect-85.c */ | |
/* { dg-do run } */ | |
/* { dg-options "-O2 -ftree-loop-linear" } */ | |
extern void abort (void); | |
#define N 16 | |
int main1 (int *a) | |
{ | |
int i, j, k; | |
int b[N]; | |
for (i = 0; i < N; i++) | |
{ | |
for (j = 0; j < N; j++) | |
{ | |
k = i + N; | |
a[j] = k; | |
} | |
b[i] = k; | |
} | |
for (j = 0; j < N; j++) | |
if (a[j] != i + N - 1) | |
abort(); | |
for (j = 0; j < N; j++) | |
if (b[j] != j + N) | |
abort(); | |
return 0; | |
} | |
int main (void) | |
{ | |
int a[N] __attribute__ ((__aligned__(16))); | |
main1 (a); | |
return 0; | |
} |