1  void
       2  f1 (int *a)
       3  {
       4    int i;
       5    #pragma omp for order(reproducible:concurrent)
       6    for (i = 0; i < 128; i++)
       7      a[i]++;
       8    #pragma omp simd order ( reproducible : concurrent )
       9    for (i = 0; i < 128; i++)
      10      a[i]++;
      11    #pragma omp for simd order(reproducible :concurrent)
      12    for (i = 0; i < 128; i++)
      13      a[i]++;
      14  }
      15  
      16  void
      17  f2 (int *a)
      18  {
      19    int i;
      20    #pragma omp parallel for order(reproducible: concurrent)
      21    for (i = 0; i < 128; i++)
      22      a[i]++;
      23    #pragma omp parallel for simd order (reproducible:concurrent)
      24    for (i = 0; i < 128; i++)
      25      a[i]++;
      26    #pragma omp teams distribute parallel for order(reproducible:concurrent)
      27    for (i = 0; i < 128; i++)
      28      a[i]++;
      29    #pragma omp teams distribute parallel for simd order(reproducible:concurrent)
      30    for (i = 0; i < 128; i++)
      31      a[i]++;
      32    #pragma omp teams distribute order(reproducible:concurrent)
      33    for (i = 0; i < 128; i++)
      34      a[i]++;
      35    #pragma omp teams
      36    {
      37      #pragma omp distribute parallel for order(reproducible:concurrent)
      38      for (i = 0; i < 128; i++)
      39        a[i]++;
      40      #pragma omp distribute parallel for simd order(reproducible:concurrent)
      41      for (i = 0; i < 128; i++)
      42        a[i]++;
      43      #pragma omp distribute order(reproducible:concurrent)
      44      for (i = 0; i < 128; i++)
      45        a[i]++;
      46    }
      47    #pragma omp taskloop simd order (reproducible:concurrent)
      48    for (i = 0; i < 128; i++)
      49      a[i]++;
      50  }
      51  
      52  void
      53  f3 (int *a)
      54  {
      55    int i;
      56    #pragma omp for order(unconstrained:concurrent)
      57    for (i = 0; i < 128; i++)
      58      a[i]++;
      59    #pragma omp simd order ( unconstrained : concurrent )
      60    for (i = 0; i < 128; i++)
      61      a[i]++;
      62    #pragma omp for simd order(unconstrained :concurrent)
      63    for (i = 0; i < 128; i++)
      64      a[i]++;
      65  }
      66  
      67  void
      68  f4 (int *a)
      69  {
      70    int i;
      71    #pragma omp parallel for order(unconstrained: concurrent)
      72    for (i = 0; i < 128; i++)
      73      a[i]++;
      74    #pragma omp parallel for simd order (unconstrained:concurrent)
      75    for (i = 0; i < 128; i++)
      76      a[i]++;
      77    #pragma omp teams distribute parallel for order(unconstrained:concurrent)
      78    for (i = 0; i < 128; i++)
      79      a[i]++;
      80    #pragma omp teams distribute parallel for simd order(unconstrained:concurrent)
      81    for (i = 0; i < 128; i++)
      82      a[i]++;
      83    #pragma omp teams distribute order(unconstrained:concurrent)
      84    for (i = 0; i < 128; i++)
      85      a[i]++;
      86    #pragma omp teams
      87    {
      88      #pragma omp distribute parallel for order(unconstrained:concurrent)
      89      for (i = 0; i < 128; i++)
      90        a[i]++;
      91      #pragma omp distribute parallel for simd order(unconstrained:concurrent)
      92      for (i = 0; i < 128; i++)
      93        a[i]++;
      94      #pragma omp distribute order(unconstrained:concurrent)
      95      for (i = 0; i < 128; i++)
      96        a[i]++;
      97    }
      98    #pragma omp taskloop simd order (unconstrained:concurrent)
      99    for (i = 0; i < 128; i++)
     100      a[i]++;
     101  }