]>
Commit | Line | Data |
---|---|---|
43895be5 | 1 | /* { dg-do compile } */ |
43895be5 | 2 | /* { dg-additional-options "-std=c99" { target c } } */ |
3 | ||
4 | int t; | |
5 | #pragma omp threadprivate (t) | |
6 | ||
7 | #pragma omp declare target | |
7e5a76c8 | 8 | int f, l, ll, r, r2; |
43895be5 | 9 | |
10 | void | |
11 | foo (int d, int m, int i1, int i2, int p, int *idp, int s, | |
7e5a76c8 | 12 | int nte, int tl, int nth, int g, int nta, int fi, int pp, int *q, int ntm) |
43895be5 | 13 | { |
14 | #pragma omp distribute parallel for \ | |
15 | private (p) firstprivate (f) collapse(1) dist_schedule(static, 16) \ | |
16 | if (parallel: i2) default(shared) shared(s) reduction(+:r) num_threads (nth) proc_bind(spread) \ | |
17 | lastprivate (l) schedule(static, 4) | |
18 | for (int i = 0; i < 64; i++) | |
19 | ll++; | |
20 | #pragma omp distribute parallel for simd \ | |
21 | private (p) firstprivate (f) collapse(1) dist_schedule(static, 16) \ | |
7e5a76c8 | 22 | if (parallel: i2) if(simd: i1) default(shared) shared(s) reduction(+:r) num_threads (nth) proc_bind(spread) \ |
23 | lastprivate (l) schedule(static, 4) nontemporal(ntm) \ | |
43895be5 | 24 | safelen(8) simdlen(4) aligned(q: 32) |
25 | for (int i = 0; i < 64; i++) | |
26 | ll++; | |
27 | #pragma omp distribute simd \ | |
28 | private (p) firstprivate (f) collapse(1) dist_schedule(static, 16) \ | |
7e5a76c8 | 29 | safelen(8) simdlen(4) aligned(q: 32) reduction(+:r) if(i1) nontemporal(ntm) |
43895be5 | 30 | for (int i = 0; i < 64; i++) |
31 | ll++; | |
32 | } | |
33 | #pragma omp end declare target | |
34 | ||
35 | void | |
7e5a76c8 | 36 | baz (int d, int m, int i1, int i2, int p, int *idp, int s, |
37 | int nte, int tl, int nth, int g, int nta, int fi, int pp, int *q, int ntm) | |
38 | { | |
39 | #pragma omp distribute parallel for \ | |
40 | private (p) firstprivate (f) collapse(1) dist_schedule(static, 16) \ | |
41 | if (parallel: i2) default(shared) shared(s) reduction(+:r) num_threads (nth) proc_bind(spread) \ | |
42 | lastprivate (l) schedule(static, 4) copyin(t) | |
43 | for (int i = 0; i < 64; i++) | |
44 | ll++; | |
45 | #pragma omp distribute parallel for simd \ | |
46 | private (p) firstprivate (f) collapse(1) dist_schedule(static, 16) \ | |
47 | if (parallel: i2) if(simd: i1) default(shared) shared(s) reduction(+:r) num_threads (nth) proc_bind(spread) \ | |
48 | lastprivate (l) schedule(static, 4) nontemporal(ntm) \ | |
49 | safelen(8) simdlen(4) aligned(q: 32) copyin(t) | |
50 | for (int i = 0; i < 64; i++) | |
51 | ll++; | |
52 | #pragma omp distribute simd \ | |
53 | private (p) firstprivate (f) collapse(1) dist_schedule(static, 16) \ | |
54 | safelen(8) simdlen(4) aligned(q: 32) reduction(+:r) if(i1) nontemporal(ntm) | |
55 | for (int i = 0; i < 64; i++) | |
56 | ll++; | |
57 | } | |
58 | ||
59 | void | |
60 | bar (int d, int m, int i1, int i2, int i3, int p, int *idp, int s, | |
61 | int nte, int tl, int nth, int g, int nta, int fi, int pp, int *q, int *dd, int ntm) | |
43895be5 | 62 | { |
63 | #pragma omp for simd \ | |
64 | private (p) firstprivate (f) lastprivate (l) linear (ll:1) reduction(+:r) schedule(static, 4) collapse(1) nowait \ | |
7e5a76c8 | 65 | safelen(8) simdlen(4) aligned(q: 32) nontemporal(ntm) if(i1) |
43895be5 | 66 | for (int i = 0; i < 64; i++) |
67 | ll++; | |
68 | #pragma omp parallel for \ | |
69 | private (p) firstprivate (f) if (parallel: i2) default(shared) shared(s) copyin(t) reduction(+:r) num_threads (nth) proc_bind(spread) \ | |
70 | lastprivate (l) linear (ll:1) ordered schedule(static, 4) collapse(1) | |
71 | for (int i = 0; i < 64; i++) | |
72 | ll++; | |
73 | #pragma omp parallel for simd \ | |
7e5a76c8 | 74 | private (p) firstprivate (f) if (i2) default(shared) shared(s) copyin(t) reduction(+:r) num_threads (nth) proc_bind(spread) \ |
43895be5 | 75 | lastprivate (l) linear (ll:1) schedule(static, 4) collapse(1) \ |
7e5a76c8 | 76 | safelen(8) simdlen(4) aligned(q: 32) nontemporal(ntm) |
43895be5 | 77 | for (int i = 0; i < 64; i++) |
78 | ll++; | |
79 | #pragma omp parallel sections \ | |
80 | private (p) firstprivate (f) if (parallel: i2) default(shared) shared(s) copyin(t) reduction(+:r) num_threads (nth) proc_bind(spread) \ | |
81 | lastprivate (l) | |
82 | { | |
83 | #pragma omp section | |
84 | {} | |
85 | #pragma omp section | |
86 | {} | |
87 | } | |
88 | #pragma omp target parallel \ | |
89 | device(d) map (tofrom: m) if (target: i1) private (p) firstprivate (f) defaultmap(tofrom: scalar) is_device_ptr (idp) \ | |
b6431756 | 90 | if (parallel: i2) default(shared) shared(s) reduction(+:r) num_threads (nth) proc_bind(spread) \ |
91 | nowait depend(inout: dd[0]) | |
43895be5 | 92 | ; |
93 | #pragma omp target parallel for \ | |
94 | device(d) map (tofrom: m) if (target: i1) private (p) firstprivate (f) defaultmap(tofrom: scalar) is_device_ptr (idp) \ | |
95 | if (parallel: i2) default(shared) shared(s) reduction(+:r) num_threads (nth) proc_bind(spread) \ | |
b6431756 | 96 | lastprivate (l) linear (ll:1) ordered schedule(static, 4) collapse(1) nowait depend(inout: dd[0]) |
43895be5 | 97 | for (int i = 0; i < 64; i++) |
98 | ll++; | |
99 | #pragma omp target parallel for simd \ | |
100 | device(d) map (tofrom: m) if (target: i1) private (p) firstprivate (f) defaultmap(tofrom: scalar) is_device_ptr (idp) \ | |
101 | if (parallel: i2) default(shared) shared(s) reduction(+:r) num_threads (nth) proc_bind(spread) \ | |
102 | lastprivate (l) linear (ll:1) schedule(static, 4) collapse(1) \ | |
7e5a76c8 | 103 | safelen(8) simdlen(4) aligned(q: 32) nowait depend(inout: dd[0]) nontemporal(ntm) if (simd: i3) |
43895be5 | 104 | for (int i = 0; i < 64; i++) |
105 | ll++; | |
106 | #pragma omp target teams \ | |
107 | device(d) map (tofrom: m) if (target: i1) private (p) firstprivate (f) defaultmap(tofrom: scalar) is_device_ptr (idp) \ | |
b6431756 | 108 | shared(s) default(shared) reduction(+:r) num_teams(nte) thread_limit(tl) nowait depend(inout: dd[0]) |
43895be5 | 109 | ; |
110 | #pragma omp target teams distribute \ | |
111 | device(d) map (tofrom: m) if (target: i1) private (p) firstprivate (f) defaultmap(tofrom: scalar) is_device_ptr (idp) \ | |
112 | shared(s) default(shared) reduction(+:r) num_teams(nte) thread_limit(tl) \ | |
b6431756 | 113 | collapse(1) dist_schedule(static, 16) nowait depend(inout: dd[0]) |
43895be5 | 114 | for (int i = 0; i < 64; i++) |
115 | ; | |
116 | #pragma omp target teams distribute parallel for \ | |
117 | device(d) map (tofrom: m) if (target: i1) private (p) firstprivate (f) defaultmap(tofrom: scalar) is_device_ptr (idp) \ | |
118 | shared(s) default(shared) reduction(+:r) num_teams(nte) thread_limit(tl) \ | |
119 | collapse(1) dist_schedule(static, 16) \ | |
120 | if (parallel: i2) num_threads (nth) proc_bind(spread) \ | |
b6431756 | 121 | lastprivate (l) schedule(static, 4) nowait depend(inout: dd[0]) |
43895be5 | 122 | for (int i = 0; i < 64; i++) |
123 | ll++; | |
124 | #pragma omp target teams distribute parallel for simd \ | |
125 | device(d) map (tofrom: m) if (target: i1) private (p) firstprivate (f) defaultmap(tofrom: scalar) is_device_ptr (idp) \ | |
126 | shared(s) default(shared) reduction(+:r) num_teams(nte) thread_limit(tl) \ | |
127 | collapse(1) dist_schedule(static, 16) \ | |
128 | if (parallel: i2) num_threads (nth) proc_bind(spread) \ | |
129 | lastprivate (l) schedule(static, 4) \ | |
7e5a76c8 | 130 | safelen(8) simdlen(4) aligned(q: 32) nowait depend(inout: dd[0]) nontemporal(ntm) if (simd: i3) |
43895be5 | 131 | for (int i = 0; i < 64; i++) |
132 | ll++; | |
133 | #pragma omp target teams distribute simd \ | |
7e5a76c8 | 134 | device(d) map (tofrom: m) if (i1) private (p) firstprivate (f) defaultmap(tofrom: scalar) is_device_ptr (idp) \ |
43895be5 | 135 | shared(s) default(shared) reduction(+:r) num_teams(nte) thread_limit(tl) \ |
136 | collapse(1) dist_schedule(static, 16) \ | |
7e5a76c8 | 137 | safelen(8) simdlen(4) aligned(q: 32) nowait depend(inout: dd[0]) nontemporal(ntm) |
43895be5 | 138 | for (int i = 0; i < 64; i++) |
139 | ll++; | |
140 | #pragma omp target simd \ | |
141 | device(d) map (tofrom: m) if (target: i1) private (p) firstprivate (f) defaultmap(tofrom: scalar) is_device_ptr (idp) \ | |
b6431756 | 142 | safelen(8) simdlen(4) lastprivate (l) linear(ll: 1) aligned(q: 32) reduction(+:r) \ |
7e5a76c8 | 143 | nowait depend(inout: dd[0]) nontemporal(ntm) if(simd:i3) |
144 | for (int i = 0; i < 64; i++) | |
145 | ll++; | |
146 | #pragma omp taskgroup task_reduction(+:r2) | |
147 | #pragma omp taskloop simd \ | |
148 | private (p) firstprivate (f) lastprivate (l) shared (s) default(shared) grainsize (g) collapse(1) untied if(taskloop: i1) if(simd: i2) final(fi) mergeable priority (pp) \ | |
149 | safelen(8) simdlen(4) linear(ll: 1) aligned(q: 32) reduction(default, +:r) in_reduction(+:r2) nontemporal(ntm) | |
43895be5 | 150 | for (int i = 0; i < 64; i++) |
151 | ll++; | |
7e5a76c8 | 152 | #pragma omp taskgroup task_reduction(+:r) |
43895be5 | 153 | #pragma omp taskloop simd \ |
7e5a76c8 | 154 | private (p) firstprivate (f) lastprivate (l) shared (s) default(shared) grainsize (g) collapse(1) untied if(i1) final(fi) mergeable nogroup priority (pp) \ |
155 | safelen(8) simdlen(4) linear(ll: 1) aligned(q: 32) in_reduction(+:r) nontemporal(ntm) | |
43895be5 | 156 | for (int i = 0; i < 64; i++) |
157 | ll++; | |
158 | #pragma omp taskwait | |
159 | #pragma omp taskloop simd \ | |
160 | private (p) firstprivate (f) lastprivate (l) shared (s) default(shared) num_tasks (nta) collapse(1) if(taskloop: i1) final(fi) priority (pp) \ | |
7e5a76c8 | 161 | safelen(8) simdlen(4) linear(ll: 1) aligned(q: 32) reduction(+:r) if (simd: i3) nontemporal(ntm) |
43895be5 | 162 | for (int i = 0; i < 64; i++) |
163 | ll++; | |
b6431756 | 164 | #pragma omp target nowait depend(inout: dd[0]) |
43895be5 | 165 | #pragma omp teams distribute \ |
166 | private(p) firstprivate (f) shared(s) default(shared) reduction(+:r) num_teams(nte) thread_limit(tl) \ | |
167 | collapse(1) dist_schedule(static, 16) | |
168 | for (int i = 0; i < 64; i++) | |
169 | ; | |
170 | #pragma omp target | |
171 | #pragma omp teams distribute parallel for \ | |
172 | private(p) firstprivate (f) shared(s) default(shared) reduction(+:r) num_teams(nte) thread_limit(tl) \ | |
173 | collapse(1) dist_schedule(static, 16) \ | |
174 | if (parallel: i2) num_threads (nth) proc_bind(spread) \ | |
175 | lastprivate (l) schedule(static, 4) | |
176 | for (int i = 0; i < 64; i++) | |
177 | ll++; | |
178 | #pragma omp target | |
179 | #pragma omp teams distribute parallel for simd \ | |
180 | private(p) firstprivate (f) shared(s) default(shared) reduction(+:r) num_teams(nte) thread_limit(tl) \ | |
181 | collapse(1) dist_schedule(static, 16) \ | |
182 | if (parallel: i2) num_threads (nth) proc_bind(spread) \ | |
183 | lastprivate (l) schedule(static, 4) \ | |
7e5a76c8 | 184 | safelen(8) simdlen(4) aligned(q: 32) if (simd: i3) nontemporal(ntm) |
43895be5 | 185 | for (int i = 0; i < 64; i++) |
186 | ll++; | |
187 | #pragma omp target | |
188 | #pragma omp teams distribute simd \ | |
189 | private(p) firstprivate (f) shared(s) default(shared) reduction(+:r) num_teams(nte) thread_limit(tl) \ | |
190 | collapse(1) dist_schedule(static, 16) \ | |
7e5a76c8 | 191 | safelen(8) simdlen(4) aligned(q: 32) if(i3) nontemporal(ntm) |
192 | for (int i = 0; i < 64; i++) | |
193 | ll++; | |
194 | #pragma omp teams distribute parallel for \ | |
195 | private(p) firstprivate (f) shared(s) default(shared) reduction(+:r) num_teams(nte) thread_limit(tl) \ | |
196 | collapse(1) dist_schedule(static, 16) \ | |
197 | if (parallel: i2) num_threads (nth) proc_bind(spread) \ | |
198 | lastprivate (l) schedule(static, 4) copyin(t) | |
199 | for (int i = 0; i < 64; i++) | |
200 | ll++; | |
201 | #pragma omp teams distribute parallel for simd \ | |
202 | private(p) firstprivate (f) shared(s) default(shared) reduction(+:r) num_teams(nte) thread_limit(tl) \ | |
203 | collapse(1) dist_schedule(static, 16) \ | |
204 | if (parallel: i2) num_threads (nth) proc_bind(spread) \ | |
205 | lastprivate (l) schedule(static, 4) \ | |
206 | safelen(8) simdlen(4) aligned(q: 32) if (simd: i3) nontemporal(ntm) copyin(t) | |
207 | for (int i = 0; i < 64; i++) | |
208 | ll++; | |
209 | #pragma omp teams distribute simd \ | |
210 | private(p) firstprivate (f) shared(s) default(shared) reduction(+:r) num_teams(nte) thread_limit(tl) \ | |
211 | collapse(1) dist_schedule(static, 16) \ | |
212 | safelen(8) simdlen(4) aligned(q: 32) if(i3) nontemporal(ntm) | |
213 | for (int i = 0; i < 64; i++) | |
214 | ll++; | |
215 | #pragma omp parallel master \ | |
216 | private (p) firstprivate (f) if (parallel: i2) default(shared) shared(s) reduction(+:r) \ | |
217 | num_threads (nth) proc_bind(spread) copyin(t) | |
218 | ; | |
219 | #pragma omp taskgroup task_reduction (+:r2) | |
220 | #pragma omp master taskloop \ | |
221 | private (p) firstprivate (f) lastprivate (l) shared (s) default(shared) grainsize (g) collapse(1) untied if(taskloop: i1) final(fi) mergeable priority (pp) \ | |
222 | reduction(default, +:r) in_reduction(+:r2) | |
223 | for (int i = 0; i < 64; i++) | |
224 | ll++; | |
225 | #pragma omp taskgroup task_reduction (+:r2) | |
226 | #pragma omp master taskloop simd \ | |
227 | private (p) firstprivate (f) lastprivate (l) shared (s) default(shared) grainsize (g) collapse(1) untied if(taskloop: i1) if(simd: i2) final(fi) mergeable priority (pp) \ | |
228 | safelen(8) simdlen(4) linear(ll: 1) aligned(q: 32) reduction(default, +:r) in_reduction(+:r2) nontemporal(ntm) | |
229 | for (int i = 0; i < 64; i++) | |
230 | ll++; | |
231 | #pragma omp parallel master taskloop \ | |
232 | private (p) firstprivate (f) lastprivate (l) shared (s) default(shared) grainsize (g) collapse(1) untied if(taskloop: i1) final(fi) mergeable priority (pp) \ | |
233 | reduction(default, +:r) if (parallel: i2) num_threads (nth) proc_bind(spread) copyin(t) | |
234 | for (int i = 0; i < 64; i++) | |
235 | ll++; | |
236 | #pragma omp parallel master taskloop simd \ | |
237 | private (p) firstprivate (f) lastprivate (l) shared (s) default(shared) grainsize (g) collapse(1) untied if(taskloop: i1) if(simd: i2) final(fi) mergeable priority (pp) \ | |
238 | safelen(8) simdlen(4) linear(ll: 1) aligned(q: 32) reduction(default, +:r) nontemporal(ntm) if (parallel: i2) num_threads (nth) proc_bind(spread) copyin(t) | |
239 | for (int i = 0; i < 64; i++) | |
240 | ll++; | |
241 | #pragma omp taskgroup task_reduction (+:r2) | |
242 | #pragma omp master taskloop \ | |
243 | private (p) firstprivate (f) lastprivate (l) shared (s) default(shared) num_tasks (nta) collapse(1) untied if(i1) final(fi) mergeable priority (pp) \ | |
244 | reduction(default, +:r) in_reduction(+:r2) | |
245 | for (int i = 0; i < 64; i++) | |
246 | ll++; | |
247 | #pragma omp taskgroup task_reduction (+:r2) | |
248 | #pragma omp master taskloop simd \ | |
249 | private (p) firstprivate (f) lastprivate (l) shared (s) default(shared) num_tasks (nta) collapse(1) untied if(i1) final(fi) mergeable priority (pp) \ | |
250 | safelen(8) simdlen(4) linear(ll: 1) aligned(q: 32) reduction(default, +:r) in_reduction(+:r2) nontemporal(ntm) | |
251 | for (int i = 0; i < 64; i++) | |
252 | ll++; | |
253 | #pragma omp parallel master taskloop \ | |
254 | private (p) firstprivate (f) lastprivate (l) shared (s) default(shared) num_tasks (nta) collapse(1) untied if(i1) final(fi) mergeable priority (pp) \ | |
255 | reduction(default, +:r) num_threads (nth) proc_bind(spread) copyin(t) | |
256 | for (int i = 0; i < 64; i++) | |
257 | ll++; | |
258 | #pragma omp parallel master taskloop simd \ | |
259 | private (p) firstprivate (f) lastprivate (l) shared (s) default(shared) num_tasks (nta) collapse(1) untied if(i1) final(fi) mergeable priority (pp) \ | |
260 | safelen(8) simdlen(4) linear(ll: 1) aligned(q: 32) reduction(default, +:r) nontemporal(ntm) num_threads (nth) proc_bind(spread) copyin(t) | |
43895be5 | 261 | for (int i = 0; i < 64; i++) |
262 | ll++; | |
263 | } |