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