1/* { dg-do run } */
2/* { dg-options "-O3 -march=native" } */
3
4extern void abort (void);
5
6#define N 1024
7
8float a[N], b[N], c[N];
9int k[N];
10
11__attribute__((noinline, noclone)) void
12f (void)
13{
14  int i;
15  for (i = 0; i < N; i++)
16    {
17      a[i] = b[k[i]];
18      b[i] = c[i];
19    }
20}
21
22int main ()
23{
24  int i;
25
26  for (i = 0; i < N; i++)
27  {
28    k[i] = i%2;
29    b[i] = i;
30    c[i] = 179;
31  }
32
33  f ();
34
35  if (a[2] != 179 || a[3] != 179)
36    abort ();
37
38  return 0;
39}
40