/* { dg-do run } */ | |
/* { dg-options "-O3 -march=native" } */ | |
extern void abort (void); | |
#define N 1024 | |
float a[N], b[N], c[N]; | |
int k[N]; | |
__attribute__((noinline, noclone)) void | |
f (void) | |
{ | |
int i; | |
for (i = 0; i < N; i++) | |
{ | |
a[i] = b[k[i]]; | |
b[i] = c[i]; | |
} | |
} | |
int main () | |
{ | |
int i; | |
for (i = 0; i < N; i++) | |
{ | |
k[i] = i%2; | |
b[i] = i; | |
c[i] = 179; | |
} | |
f (); | |
if (a[2] != 179 || a[3] != 179) | |
abort (); | |
return 0; | |
} |