1  int a[64];
       2  
       3  #pragma omp declare simd linear(x)
       4  int
       5  bar (int x, int y)
       6  {
       7    int v;
       8    #pragma omp atomic capture
       9    v = a[x] += y;
      10    return v;
      11  }
      12  
      13  void
      14  foo (void)
      15  {
      16    int i;
      17    #pragma omp simd
      18    for (i = 0; i < 64; i++)
      19      #pragma omp atomic
      20      a[i] += 1;
      21  }