1 #define N 10
foo(float A[restrict],double B[restrict],char C[restrict],int D[restrict],long E[restrict])2 void foo(float A[restrict], double B[restrict], char C[restrict],
3 int D[restrict], long E[restrict]) {
4 for (long i = 0; i < N; i++)
5 A[i] += B[i] + C[i] + D[i] + E[i];
6 }
7
main()8 int main() {
9 float A[N];
10 double B[N];
11 char C[N];
12 int D[N];
13 long E[N];
14
15 for (long i = 0; i < N; i++) {
16 __sync_synchronize();
17 A[i] = B[i] = C[i] = D[i] = E[i] = 42;
18 }
19
20 foo(A, B, C, D, E);
21
22 return A[8];
23 }
24