| /* { dg-do run { target openacc_nvidia_accel_selected } } */ |
| /* { dg-options "-foffload=-fdump-rtl-mach" } */ |
| /* { dg-skip-if "" { *-*-* } { "*" } { "-O2" } } */ |
| |
| #define N (32*32*32+17) |
| void __attribute__ ((noinline)) Foo (int *ary) |
| { |
| int ix; |
| |
| #pragma acc parallel num_workers(32) vector_length(32) copyout(ary[0:N]) |
| { |
| /* Loop partitioning should be merged. */ |
| #pragma acc loop worker vector |
| for (unsigned ix = 0; ix < N; ix++) |
| { |
| ary[ix] = ix; |
| } |
| } |
| } |
| |
| int main () |
| { |
| int ary[N]; |
| |
| Foo (ary); |
| |
| return 0; |
| } |
| |
| /* { dg-final { scan-offload-rtl-dump "Merging loop .* into " "mach" } } */ |