1 /* { dg-do run { target openacc_nvidia_accel_selected } } */
2 /* { dg-options "-foffload=-fdump-rtl-mach" } */
3 /* { dg-skip-if "" { *-*-* } { "*" } { "-O2" } } */
4
5 #define N (32*32*32+17)
6 void __attribute__ ((noinline)) Foo (int *ary)
7 {
8 int ix;
9
10 #pragma acc parallel num_workers(32) vector_length(32) copyout(ary[0:N])
11 {
12 /* Loop partitioning should be merged. */
13 #pragma acc loop worker vector
14 for (unsigned ix = 0; ix < N; ix++)
15 {
16 ary[ix] = ix;
17 }
18 }
19 }
20
21 int main ()
22 {
23 int ary[N];
24
25 Foo (ary);
26
27 return 0;
28 }
29
30 /* { dg-final { scan-offload-rtl-dump "Merging loop .* into " "mach" } } */