comparison gcc/testsuite/c-c++-common/goacc/loop-2-kernels.c @ 111:04ced10e8804

gcc 7
author kono
date Fri, 27 Oct 2017 22:46:09 +0900
parents
children 1830386684a0
comparison
equal deleted inserted replaced
68:561a7518be6b 111:04ced10e8804
1 void K(void)
2 {
3 int i, j;
4
5 #pragma acc kernels
6 {
7 #pragma acc loop auto
8 for (i = 0; i < 10; i++)
9 { }
10 #pragma acc loop gang
11 for (i = 0; i < 10; i++)
12 { }
13 #pragma acc loop gang(5)
14 for (i = 0; i < 10; i++)
15 { }
16 #pragma acc loop gang(num:5)
17 for (i = 0; i < 10; i++)
18 { }
19 #pragma acc loop gang(static:5)
20 for (i = 0; i < 10; i++)
21 { }
22 #pragma acc loop gang(static:*)
23 for (i = 0; i < 10; i++)
24 { }
25 #pragma acc loop gang
26 for (i = 0; i < 10; i++)
27 {
28 #pragma acc loop vector
29 for (j = 0; j < 10; j++)
30 { }
31 #pragma acc loop worker
32 for (j = 0; j < 10; j++)
33 { }
34 #pragma acc loop gang // { dg-error "inner loop uses same" }
35 for (j = 0; j < 10; j++)
36 { }
37 }
38 #pragma acc loop seq gang // { dg-error "'seq' overrides" }
39 for (i = 0; i < 10; i++)
40 { }
41
42 #pragma acc loop worker
43 for (i = 0; i < 10; i++)
44 { }
45 #pragma acc loop worker(5)
46 for (i = 0; i < 10; i++)
47 { }
48 #pragma acc loop worker(num:5)
49 for (i = 0; i < 10; i++)
50 { }
51 #pragma acc loop worker
52 for (i = 0; i < 10; i++)
53 {
54 #pragma acc loop vector
55 for (j = 0; j < 10; j++)
56 { }
57 #pragma acc loop worker // { dg-error "inner loop uses same" }
58 for (j = 0; j < 10; j++)
59 { }
60 #pragma acc loop gang
61 for (j = 0; j < 10; j++)
62 { }
63 }
64 #pragma acc loop seq worker // { dg-error "'seq' overrides" }
65 for (i = 0; i < 10; i++)
66 { }
67 #pragma acc loop gang worker
68 for (i = 0; i < 10; i++)
69 { }
70
71 #pragma acc loop vector
72 for (i = 0; i < 10; i++)
73 { }
74 #pragma acc loop vector(5)
75 for (i = 0; i < 10; i++)
76 { }
77 #pragma acc loop vector(length:5)
78 for (i = 0; i < 10; i++)
79 { }
80 #pragma acc loop vector
81 for (i = 0; i < 10; i++)
82 {
83 #pragma acc loop vector // { dg-error "inner loop uses same" }
84 for (j = 1; j < 10; j++)
85 { }
86 #pragma acc loop worker
87 for (j = 1; j < 10; j++)
88 { }
89 #pragma acc loop gang
90 for (j = 1; j < 10; j++)
91 { }
92 }
93 #pragma acc loop seq vector // { dg-error "'seq' overrides" }
94 for (i = 0; i < 10; i++)
95 { }
96 #pragma acc loop gang vector
97 for (i = 0; i < 10; i++)
98 { }
99 #pragma acc loop worker vector
100 for (i = 0; i < 10; i++)
101 { }
102
103 #pragma acc loop auto
104 for (i = 0; i < 10; i++)
105 { }
106 #pragma acc loop seq auto // { dg-error "'seq' overrides" }
107 for (i = 0; i < 10; i++)
108 { }
109 #pragma acc loop gang auto // { dg-error "'auto' conflicts" }
110 for (i = 0; i < 10; i++)
111 { }
112 #pragma acc loop worker auto // { dg-error "'auto' conflicts" }
113 for (i = 0; i < 10; i++)
114 { }
115 #pragma acc loop vector auto // { dg-error "'auto' conflicts" }
116 for (i = 0; i < 10; i++)
117 { }
118 }
119
120 #pragma acc kernels loop auto
121 for (i = 0; i < 10; i++)
122 { }
123 #pragma acc kernels loop gang
124 for (i = 0; i < 10; i++)
125 { }
126 #pragma acc kernels loop gang(5)
127 for (i = 0; i < 10; i++)
128 { }
129 #pragma acc kernels loop gang(num:5)
130 for (i = 0; i < 10; i++)
131 { }
132 #pragma acc kernels loop gang(static:5)
133 for (i = 0; i < 10; i++)
134 { }
135 #pragma acc kernels loop gang(static:*)
136 for (i = 0; i < 10; i++)
137 { }
138
139 #pragma acc kernels loop worker
140 for (i = 0; i < 10; i++)
141 { }
142 #pragma acc kernels loop worker(5)
143 for (i = 0; i < 10; i++)
144 { }
145 #pragma acc kernels loop worker(num:5)
146 for (i = 0; i < 10; i++)
147 { }
148 #pragma acc kernels loop seq worker // { dg-error "'seq' overrides" "" { target c } }
149 for (i = 0; i < 10; i++) // { dg-error "'seq' overrides" "" { target c++ } }
150 { }
151 #pragma acc kernels loop gang worker
152 for (i = 0; i < 10; i++)
153 { }
154
155 #pragma acc kernels loop vector
156 for (i = 0; i < 10; i++)
157 { }
158 #pragma acc kernels loop vector(5)
159 for (i = 0; i < 10; i++)
160 { }
161 #pragma acc kernels loop vector(length:5)
162 for (i = 0; i < 10; i++)
163 { }
164 #pragma acc kernels loop seq vector // { dg-error "'seq' overrides" "" { target c } }
165 for (i = 0; i < 10; i++) // { dg-error "'seq' overrides" "" { target c++ } }
166 { }
167 #pragma acc kernels loop gang vector
168 for (i = 0; i < 10; i++)
169 { }
170 #pragma acc kernels loop worker vector
171 for (i = 0; i < 10; i++)
172 { }
173
174 #pragma acc kernels loop auto
175 for (i = 0; i < 10; i++)
176 { }
177 #pragma acc kernels loop seq auto // { dg-error "'seq' overrides" "" { target c } }
178 for (i = 0; i < 10; i++) // { dg-error "'seq' overrides" "" { target c++ } }
179 { }
180 #pragma acc kernels loop gang auto // { dg-error "'auto' conflicts" "" { target c } }
181 for (i = 0; i < 10; i++) // { dg-error "'auto' conflicts" "" { target c++ } }
182 { }
183 #pragma acc kernels loop worker auto // { dg-error "'auto' conflicts" "" { target c } }
184 for (i = 0; i < 10; i++) // { dg-error "'auto' conflicts" "" { target c++ } }
185 { }
186 #pragma acc kernels loop vector auto // { dg-error "'auto' conflicts" "" { target c } }
187 for (i = 0; i < 10; i++) // { dg-error "'auto' conflicts" "" { target c++ } }
188 { }
189 }