24 lines · c
1#define N 102void 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 8int 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