Add oacc kernels test in libgomp
[gcc.git] / libgomp / testsuite / libgomp.oacc-c-c++-common / kernels-loop-collapse.c
1 /* { dg-do run } */
2 /* { dg-additional-options "-ftree-parallelize-loops=32" } */
3
4 #include <stdlib.h>
5
6 #define N 100
7
8 int a[N][N];
9
10 void __attribute__((noinline, noclone))
11 foo (int m, int n)
12 {
13 int i, j;
14 #pragma acc kernels
15 {
16 #pragma acc loop collapse(2)
17 for (i = 0; i < m; i++)
18 for (j = 0; j < n; j++)
19 a[i][j] = 1;
20 }
21 }
22
23 int
24 main (void)
25 {
26 int i, j;
27
28 for (i = 0; i < N; i++)
29 for (j = 0; j < N; j++)
30 a[i][j] = 0;
31
32 foo (N, N);
33
34 for (i = 0; i < N; i++)
35 for (j = 0; j < N; j++)
36 if (a[i][j] != 1)
37 abort ();
38
39 return 0;
40 }