annotate gcc/testsuite/c-c++-common/gomp/clauses-1.c @ 111:04ced10e8804

gcc 7
author kono
date Fri, 27 Oct 2017 22:46:09 +0900
parents
children 1830386684a0
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
111
kono
parents:
diff changeset
1 /* { dg-do compile } */
kono
parents:
diff changeset
2 /* { dg-additional-options "-std=c99" { target c } } */
kono
parents:
diff changeset
3
kono
parents:
diff changeset
4 int t;
kono
parents:
diff changeset
5 #pragma omp threadprivate (t)
kono
parents:
diff changeset
6
kono
parents:
diff changeset
7 #pragma omp declare target
kono
parents:
diff changeset
8 int f, l, ll, r;
kono
parents:
diff changeset
9
kono
parents:
diff changeset
10 void
kono
parents:
diff changeset
11 foo (int d, int m, int i1, int i2, int p, int *idp, int s,
kono
parents:
diff changeset
12 int nte, int tl, int nth, int g, int nta, int fi, int pp, int *q)
kono
parents:
diff changeset
13 {
kono
parents:
diff changeset
14 #pragma omp distribute parallel for \
kono
parents:
diff changeset
15 private (p) firstprivate (f) collapse(1) dist_schedule(static, 16) \
kono
parents:
diff changeset
16 if (parallel: i2) default(shared) shared(s) reduction(+:r) num_threads (nth) proc_bind(spread) \
kono
parents:
diff changeset
17 lastprivate (l) schedule(static, 4)
kono
parents:
diff changeset
18 for (int i = 0; i < 64; i++)
kono
parents:
diff changeset
19 ll++;
kono
parents:
diff changeset
20 #pragma omp distribute parallel for simd \
kono
parents:
diff changeset
21 private (p) firstprivate (f) collapse(1) dist_schedule(static, 16) \
kono
parents:
diff changeset
22 if (parallel: i2) default(shared) shared(s) reduction(+:r) num_threads (nth) proc_bind(spread) \
kono
parents:
diff changeset
23 lastprivate (l) schedule(static, 4) \
kono
parents:
diff changeset
24 safelen(8) simdlen(4) aligned(q: 32)
kono
parents:
diff changeset
25 for (int i = 0; i < 64; i++)
kono
parents:
diff changeset
26 ll++;
kono
parents:
diff changeset
27 #pragma omp distribute simd \
kono
parents:
diff changeset
28 private (p) firstprivate (f) collapse(1) dist_schedule(static, 16) \
kono
parents:
diff changeset
29 safelen(8) simdlen(4) aligned(q: 32) reduction(+:r)
kono
parents:
diff changeset
30 for (int i = 0; i < 64; i++)
kono
parents:
diff changeset
31 ll++;
kono
parents:
diff changeset
32 }
kono
parents:
diff changeset
33 #pragma omp end declare target
kono
parents:
diff changeset
34
kono
parents:
diff changeset
35 void
kono
parents:
diff changeset
36 bar (int d, int m, int i1, int i2, int p, int *idp, int s,
kono
parents:
diff changeset
37 int nte, int tl, int nth, int g, int nta, int fi, int pp, int *q, int *dd)
kono
parents:
diff changeset
38 {
kono
parents:
diff changeset
39 #pragma omp for simd \
kono
parents:
diff changeset
40 private (p) firstprivate (f) lastprivate (l) linear (ll:1) reduction(+:r) schedule(static, 4) collapse(1) nowait \
kono
parents:
diff changeset
41 safelen(8) simdlen(4) aligned(q: 32)
kono
parents:
diff changeset
42 for (int i = 0; i < 64; i++)
kono
parents:
diff changeset
43 ll++;
kono
parents:
diff changeset
44 #pragma omp parallel for \
kono
parents:
diff changeset
45 private (p) firstprivate (f) if (parallel: i2) default(shared) shared(s) copyin(t) reduction(+:r) num_threads (nth) proc_bind(spread) \
kono
parents:
diff changeset
46 lastprivate (l) linear (ll:1) ordered schedule(static, 4) collapse(1)
kono
parents:
diff changeset
47 for (int i = 0; i < 64; i++)
kono
parents:
diff changeset
48 ll++;
kono
parents:
diff changeset
49 #pragma omp parallel for simd \
kono
parents:
diff changeset
50 private (p) firstprivate (f) if (parallel: i2) default(shared) shared(s) copyin(t) reduction(+:r) num_threads (nth) proc_bind(spread) \
kono
parents:
diff changeset
51 lastprivate (l) linear (ll:1) schedule(static, 4) collapse(1) \
kono
parents:
diff changeset
52 safelen(8) simdlen(4) aligned(q: 32)
kono
parents:
diff changeset
53 for (int i = 0; i < 64; i++)
kono
parents:
diff changeset
54 ll++;
kono
parents:
diff changeset
55 #pragma omp parallel sections \
kono
parents:
diff changeset
56 private (p) firstprivate (f) if (parallel: i2) default(shared) shared(s) copyin(t) reduction(+:r) num_threads (nth) proc_bind(spread) \
kono
parents:
diff changeset
57 lastprivate (l)
kono
parents:
diff changeset
58 {
kono
parents:
diff changeset
59 #pragma omp section
kono
parents:
diff changeset
60 {}
kono
parents:
diff changeset
61 #pragma omp section
kono
parents:
diff changeset
62 {}
kono
parents:
diff changeset
63 }
kono
parents:
diff changeset
64 #pragma omp target parallel \
kono
parents:
diff changeset
65 device(d) map (tofrom: m) if (target: i1) private (p) firstprivate (f) defaultmap(tofrom: scalar) is_device_ptr (idp) \
kono
parents:
diff changeset
66 if (parallel: i2) default(shared) shared(s) reduction(+:r) num_threads (nth) proc_bind(spread) \
kono
parents:
diff changeset
67 nowait depend(inout: dd[0])
kono
parents:
diff changeset
68 ;
kono
parents:
diff changeset
69 #pragma omp target parallel for \
kono
parents:
diff changeset
70 device(d) map (tofrom: m) if (target: i1) private (p) firstprivate (f) defaultmap(tofrom: scalar) is_device_ptr (idp) \
kono
parents:
diff changeset
71 if (parallel: i2) default(shared) shared(s) reduction(+:r) num_threads (nth) proc_bind(spread) \
kono
parents:
diff changeset
72 lastprivate (l) linear (ll:1) ordered schedule(static, 4) collapse(1) nowait depend(inout: dd[0])
kono
parents:
diff changeset
73 for (int i = 0; i < 64; i++)
kono
parents:
diff changeset
74 ll++;
kono
parents:
diff changeset
75 #pragma omp target parallel for simd \
kono
parents:
diff changeset
76 device(d) map (tofrom: m) if (target: i1) private (p) firstprivate (f) defaultmap(tofrom: scalar) is_device_ptr (idp) \
kono
parents:
diff changeset
77 if (parallel: i2) default(shared) shared(s) reduction(+:r) num_threads (nth) proc_bind(spread) \
kono
parents:
diff changeset
78 lastprivate (l) linear (ll:1) schedule(static, 4) collapse(1) \
kono
parents:
diff changeset
79 safelen(8) simdlen(4) aligned(q: 32) nowait depend(inout: dd[0])
kono
parents:
diff changeset
80 for (int i = 0; i < 64; i++)
kono
parents:
diff changeset
81 ll++;
kono
parents:
diff changeset
82 #pragma omp target teams \
kono
parents:
diff changeset
83 device(d) map (tofrom: m) if (target: i1) private (p) firstprivate (f) defaultmap(tofrom: scalar) is_device_ptr (idp) \
kono
parents:
diff changeset
84 shared(s) default(shared) reduction(+:r) num_teams(nte) thread_limit(tl) nowait depend(inout: dd[0])
kono
parents:
diff changeset
85 ;
kono
parents:
diff changeset
86 #pragma omp target teams distribute \
kono
parents:
diff changeset
87 device(d) map (tofrom: m) if (target: i1) private (p) firstprivate (f) defaultmap(tofrom: scalar) is_device_ptr (idp) \
kono
parents:
diff changeset
88 shared(s) default(shared) reduction(+:r) num_teams(nte) thread_limit(tl) \
kono
parents:
diff changeset
89 collapse(1) dist_schedule(static, 16) nowait depend(inout: dd[0])
kono
parents:
diff changeset
90 for (int i = 0; i < 64; i++)
kono
parents:
diff changeset
91 ;
kono
parents:
diff changeset
92 #pragma omp target teams distribute parallel for \
kono
parents:
diff changeset
93 device(d) map (tofrom: m) if (target: i1) private (p) firstprivate (f) defaultmap(tofrom: scalar) is_device_ptr (idp) \
kono
parents:
diff changeset
94 shared(s) default(shared) reduction(+:r) num_teams(nte) thread_limit(tl) \
kono
parents:
diff changeset
95 collapse(1) dist_schedule(static, 16) \
kono
parents:
diff changeset
96 if (parallel: i2) num_threads (nth) proc_bind(spread) \
kono
parents:
diff changeset
97 lastprivate (l) schedule(static, 4) nowait depend(inout: dd[0])
kono
parents:
diff changeset
98 for (int i = 0; i < 64; i++)
kono
parents:
diff changeset
99 ll++;
kono
parents:
diff changeset
100 #pragma omp target teams distribute parallel for simd \
kono
parents:
diff changeset
101 device(d) map (tofrom: m) if (target: i1) private (p) firstprivate (f) defaultmap(tofrom: scalar) is_device_ptr (idp) \
kono
parents:
diff changeset
102 shared(s) default(shared) reduction(+:r) num_teams(nte) thread_limit(tl) \
kono
parents:
diff changeset
103 collapse(1) dist_schedule(static, 16) \
kono
parents:
diff changeset
104 if (parallel: i2) num_threads (nth) proc_bind(spread) \
kono
parents:
diff changeset
105 lastprivate (l) schedule(static, 4) \
kono
parents:
diff changeset
106 safelen(8) simdlen(4) aligned(q: 32) nowait depend(inout: dd[0])
kono
parents:
diff changeset
107 for (int i = 0; i < 64; i++)
kono
parents:
diff changeset
108 ll++;
kono
parents:
diff changeset
109 #pragma omp target teams distribute simd \
kono
parents:
diff changeset
110 device(d) map (tofrom: m) if (target: i1) private (p) firstprivate (f) defaultmap(tofrom: scalar) is_device_ptr (idp) \
kono
parents:
diff changeset
111 shared(s) default(shared) reduction(+:r) num_teams(nte) thread_limit(tl) \
kono
parents:
diff changeset
112 collapse(1) dist_schedule(static, 16) \
kono
parents:
diff changeset
113 safelen(8) simdlen(4) aligned(q: 32) nowait depend(inout: dd[0])
kono
parents:
diff changeset
114 for (int i = 0; i < 64; i++)
kono
parents:
diff changeset
115 ll++;
kono
parents:
diff changeset
116 #pragma omp target simd \
kono
parents:
diff changeset
117 device(d) map (tofrom: m) if (target: i1) private (p) firstprivate (f) defaultmap(tofrom: scalar) is_device_ptr (idp) \
kono
parents:
diff changeset
118 safelen(8) simdlen(4) lastprivate (l) linear(ll: 1) aligned(q: 32) reduction(+:r) \
kono
parents:
diff changeset
119 nowait depend(inout: dd[0])
kono
parents:
diff changeset
120 for (int i = 0; i < 64; i++)
kono
parents:
diff changeset
121 ll++;
kono
parents:
diff changeset
122 #pragma omp taskloop simd \
kono
parents:
diff changeset
123 private (p) firstprivate (f) lastprivate (l) shared (s) default(shared) grainsize (g) collapse(1) untied if(taskloop: i1) final(fi) mergeable nogroup priority (pp) \
kono
parents:
diff changeset
124 safelen(8) simdlen(4) linear(ll: 1) aligned(q: 32) reduction(+:r)
kono
parents:
diff changeset
125 for (int i = 0; i < 64; i++)
kono
parents:
diff changeset
126 ll++;
kono
parents:
diff changeset
127 #pragma omp taskwait
kono
parents:
diff changeset
128 #pragma omp taskloop simd \
kono
parents:
diff changeset
129 private (p) firstprivate (f) lastprivate (l) shared (s) default(shared) num_tasks (nta) collapse(1) if(taskloop: i1) final(fi) priority (pp) \
kono
parents:
diff changeset
130 safelen(8) simdlen(4) linear(ll: 1) aligned(q: 32) reduction(+:r)
kono
parents:
diff changeset
131 for (int i = 0; i < 64; i++)
kono
parents:
diff changeset
132 ll++;
kono
parents:
diff changeset
133 #pragma omp target nowait depend(inout: dd[0])
kono
parents:
diff changeset
134 #pragma omp teams distribute \
kono
parents:
diff changeset
135 private(p) firstprivate (f) shared(s) default(shared) reduction(+:r) num_teams(nte) thread_limit(tl) \
kono
parents:
diff changeset
136 collapse(1) dist_schedule(static, 16)
kono
parents:
diff changeset
137 for (int i = 0; i < 64; i++)
kono
parents:
diff changeset
138 ;
kono
parents:
diff changeset
139 #pragma omp target
kono
parents:
diff changeset
140 #pragma omp teams distribute parallel for \
kono
parents:
diff changeset
141 private(p) firstprivate (f) shared(s) default(shared) reduction(+:r) num_teams(nte) thread_limit(tl) \
kono
parents:
diff changeset
142 collapse(1) dist_schedule(static, 16) \
kono
parents:
diff changeset
143 if (parallel: i2) num_threads (nth) proc_bind(spread) \
kono
parents:
diff changeset
144 lastprivate (l) schedule(static, 4)
kono
parents:
diff changeset
145 for (int i = 0; i < 64; i++)
kono
parents:
diff changeset
146 ll++;
kono
parents:
diff changeset
147 #pragma omp target
kono
parents:
diff changeset
148 #pragma omp teams distribute parallel for simd \
kono
parents:
diff changeset
149 private(p) firstprivate (f) shared(s) default(shared) reduction(+:r) num_teams(nte) thread_limit(tl) \
kono
parents:
diff changeset
150 collapse(1) dist_schedule(static, 16) \
kono
parents:
diff changeset
151 if (parallel: i2) num_threads (nth) proc_bind(spread) \
kono
parents:
diff changeset
152 lastprivate (l) schedule(static, 4) \
kono
parents:
diff changeset
153 safelen(8) simdlen(4) aligned(q: 32)
kono
parents:
diff changeset
154 for (int i = 0; i < 64; i++)
kono
parents:
diff changeset
155 ll++;
kono
parents:
diff changeset
156 #pragma omp target
kono
parents:
diff changeset
157 #pragma omp teams distribute simd \
kono
parents:
diff changeset
158 private(p) firstprivate (f) shared(s) default(shared) reduction(+:r) num_teams(nte) thread_limit(tl) \
kono
parents:
diff changeset
159 collapse(1) dist_schedule(static, 16) \
kono
parents:
diff changeset
160 safelen(8) simdlen(4) aligned(q: 32)
kono
parents:
diff changeset
161 for (int i = 0; i < 64; i++)
kono
parents:
diff changeset
162 ll++;
kono
parents:
diff changeset
163 }