1/* PR tree-optimization/29581 */
2/* Origin: gcc.dg/vect/vect-85.c */
3/* { dg-do run } */
4/* { dg-options "-O2 -ftree-loop-linear" } */
5
6extern void abort (void);
7
8#define N 16
9
10int main1 (int *a)
11{
12  int i, j, k;
13  int b[N];
14
15  for (i = 0; i < N; i++)
16    {
17      for (j = 0; j < N; j++)
18	{
19	  k = i + N;
20	  a[j] = k;
21	}
22      b[i] = k;
23    }
24
25
26  for (j = 0; j < N; j++)
27    if (a[j] != i + N - 1)
28      abort();
29
30  for (j = 0; j < N; j++)
31    if (b[j] != j + N)
32      abort();
33
34  return 0;
35}
36
37int main (void)
38{
39  int a[N] __attribute__ ((__aligned__(16)));
40
41  main1 (a);
42
43  return 0;
44}
45