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 #define DO_PRAGMA(x) _Pragma (#x)
13 #define OMPTEAMS DO_PRAGMA (omp target teams)
14 #define OMPFROM(v) DO_PRAGMA (omp target update from(v))
15 #define OMPTO(v) DO_PRAGMA (omp target update to(v))
17 #pragma omp declare target
22 #define N(x) M(x, G, normal)
31 #define S dist_schedule(static, 128)
32 #define N(x) M(x, G, normal)
39 #define F distribute simd
42 #define N(x) M(x, G, normal)
49 #define F distribute simd
51 #define S dist_schedule(static, 128)
52 #define N(x) M(x, G, normal)
59 #define F distribute parallel for
65 #define F distribute parallel for dist_schedule(static, 128)
71 #define F distribute parallel for simd
77 #define F distribute parallel for simd dist_schedule(static, 128)
83 #pragma omp end declare target
89 err
|= test_d_normal ();
90 err
|= test_d_ds128_normal ();
91 err
|= test_ds_normal ();
92 err
|= test_ds_ds128_normal ();
93 err
|= test_dpf_static ();
94 err
|= test_dpf_static32 ();
95 err
|= test_dpf_auto ();
96 err
|= test_dpf_guided32 ();
97 err
|= test_dpf_runtime ();
98 err
|= test_dpf_ds128_static ();
99 err
|= test_dpf_ds128_static32 ();
100 err
|= test_dpf_ds128_auto ();
101 err
|= test_dpf_ds128_guided32 ();
102 err
|= test_dpf_ds128_runtime ();
103 err
|= test_dpfs_static ();
104 err
|= test_dpfs_static32 ();
105 err
|= test_dpfs_auto ();
106 err
|= test_dpfs_guided32 ();
107 err
|= test_dpfs_runtime ();
108 err
|= test_dpfs_ds128_static ();
109 err
|= test_dpfs_ds128_static32 ();
110 err
|= test_dpfs_ds128_auto ();
111 err
|= test_dpfs_ds128_guided32 ();
112 err
|= test_dpfs_ds128_runtime ();