1 /* { dg-additional-options "-std=gnu99" } */
5 #define M(x, y, z) O(x, y, z)
6 #define O(x, y, z) x ## _ ## y ## _ ## z
8 #pragma omp declare target
13 #define N(x) M(x, G, normal)
20 #pragma omp end declare target
25 #define DO_PRAGMA(x) _Pragma (#x)
26 #define OMPTGT DO_PRAGMA (omp target)
27 #define OMPFROM(v) DO_PRAGMA (omp target update from(v))
28 #define OMPTO(v) DO_PRAGMA (omp target update to(v))
30 #define F teams distribute
33 #define N(x) M(x, G, normal)
40 #define F teams distribute
42 #define S dist_schedule(static, 128)
43 #define N(x) M(x, G, normal)
50 #define F teams distribute simd
53 #define N(x) M(x, G, normal)
60 #define F teams distribute simd
62 #define S dist_schedule(static, 128)
63 #define N(x) M(x, G, normal)
70 #define F teams distribute parallel for
76 #define F teams distribute parallel for dist_schedule(static, 128)
82 #define F teams distribute parallel for simd
88 #define F teams distribute parallel for simd dist_schedule(static, 128)
98 || test_td_ds128_normal ()
100 || test_tds_ds128_normal ()
101 || test_tdpf_static ()
102 || test_tdpf_static32 ()
104 || test_tdpf_guided32 ()
105 || test_tdpf_runtime ()
106 || test_tdpf_ds128_static ()
107 || test_tdpf_ds128_static32 ()
108 || test_tdpf_ds128_auto ()
109 || test_tdpf_ds128_guided32 ()
110 || test_tdpf_ds128_runtime ()
111 || test_tdpfs_static ()
112 || test_tdpfs_static32 ()
113 || test_tdpfs_auto ()
114 || test_tdpfs_guided32 ()
115 || test_tdpfs_runtime ()
116 || test_tdpfs_ds128_static ()
117 || test_tdpfs_ds128_static32 ()
118 || test_tdpfs_ds128_auto ()
119 || test_tdpfs_ds128_guided32 ()
120 || test_tdpfs_ds128_runtime ())