1subroutine f1 (a)
2  integer :: a(*)
3  integer i
4  !$omp do order(concurrent)
5  do i = 1, 128
6    a(i) = a(i) + 1
7  end do
8  !$omp simd order ( concurrent )
9  do i = 1, 128
10    a(i) = a(i) + 1
11  end do
12  !$omp do simd order(concurrent)
13  do i = 1, 128
14    a(i) = a(i) + 1
15  end do
16end
17
18subroutine f2 (a)
19  integer :: a(*)
20  integer i
21  !$omp parallel do order(concurrent)
22  do i = 1, 128
23    a(i) = a(i) + 1
24  end do
25  !$omp parallel do simd order (concurrent)
26  do i = 1, 128
27    a(i) = a(i) + 1
28  end do
29  !$omp teams distribute parallel do order(concurrent)
30  do i = 1, 128
31    a(i) = a(i) + 1
32  end do
33  !$omp teams distribute parallel do simd order(concurrent)
34  do i = 1, 128
35    a(i) = a(i) + 1
36  end do
37  !$omp teams distribute order(concurrent)
38  do i = 1, 128
39    a(i) = a(i) + 1
40  end do
41  !$omp teams
42    !$omp distribute parallel do order(concurrent)
43    do i = 1, 128
44      a(i) = a(i) + 1
45    end do
46    !$omp distribute parallel do simd order(concurrent)
47    do i = 1, 128
48      a(i) = a(i) + 1
49    end do
50    !$omp distribute order(concurrent)
51    do i = 1, 128
52      a(i) = a(i) + 1
53    end do
54  !$omp end teams
55  !$omp taskloop simd order (concurrent)
56  do i = 1, 128
57    a(i) = a(i) + 1
58  end do
59end
60