1 /* { dg-additional-options "-std=gnu99" { target c } } */
9 #define M(x, y, z) O(x, y, z)
10 #define O(x, y, z) x ## _ ## y ## _ ## z
12 #pragma omp declare target
17 #define N(x) M(x, G, normal)
24 #pragma omp end declare target
29 #define DO_PRAGMA(x) _Pragma (#x)
30 #define OMPTGT DO_PRAGMA (omp target)
31 #define OMPFROM(v) DO_PRAGMA (omp target update from(v))
32 #define OMPTO(v) DO_PRAGMA (omp target update to(v))
34 #define F teams distribute
37 #define N(x) M(x, G, normal)
44 #define F teams distribute
46 #define S dist_schedule(static, 128)
47 #define N(x) M(x, G, normal)
54 #define F teams distribute simd
57 #define N(x) M(x, G, normal)
64 #define F teams distribute simd
66 #define S dist_schedule(static, 128)
67 #define N(x) M(x, G, normal)
74 #define F teams distribute parallel for
80 #define F teams distribute parallel for dist_schedule(static, 128)
86 #define F teams distribute parallel for simd
92 #define F teams distribute parallel for simd dist_schedule(static, 128)
101 if (test_td_normal ()
102 || test_td_ds128_normal ()
103 || test_tds_normal ()
104 || test_tds_ds128_normal ()
105 || test_tdpf_static ()
106 || test_tdpf_static32 ()
108 || test_tdpf_guided32 ()
109 || test_tdpf_runtime ()
110 || test_tdpf_ds128_static ()
111 || test_tdpf_ds128_static32 ()
112 || test_tdpf_ds128_auto ()
113 || test_tdpf_ds128_guided32 ()
114 || test_tdpf_ds128_runtime ()
115 || test_tdpfs_static ()
116 || test_tdpfs_static32 ()
117 || test_tdpfs_auto ()
118 || test_tdpfs_guided32 ()
119 || test_tdpfs_runtime ()
120 || test_tdpfs_ds128_static ()
121 || test_tdpfs_ds128_static32 ()
122 || test_tdpfs_ds128_auto ()
123 || test_tdpfs_ds128_guided32 ()
124 || test_tdpfs_ds128_runtime ())