annotate libgomp/testsuite/libgomp.c-c++-common/for-6.c @ 158:494b0b89df80 default tip

...
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Mon, 25 May 2020 18:13:55 +0900
parents 84e7813d76e9
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
131
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
1 /* { dg-additional-options "-std=gnu99" { target c } } */
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
2
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
3 extern
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
4 #ifdef __cplusplus
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
5 "C"
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
6 #endif
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
7 void abort ();
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
8
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
9 #define M(x, y, z) O(x, y, z)
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
10 #define O(x, y, z) x ## _ ## y ## _ ## z
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
11
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
12 #pragma omp declare target
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
13
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
14 #define F for
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
15 #define G f
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
16 #define S
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
17 #define N(x) M(x, G, normal)
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
18 #include "for-2.h"
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
19 #undef S
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
20 #undef N
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
21 #undef F
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
22 #undef G
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
23
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
24 #pragma omp end declare target
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
25
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
26 #undef OMPTGT
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
27 #undef OMPFROM
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
28 #undef OMPTO
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
29 #define DO_PRAGMA(x) _Pragma (#x)
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
30 #define OMPTGT DO_PRAGMA (omp target)
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
31 #define OMPFROM(v) DO_PRAGMA (omp target update from(v))
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
32 #define OMPTO(v) DO_PRAGMA (omp target update to(v))
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
33
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
34 #define F teams distribute
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
35 #define G td
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
36 #define S
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
37 #define N(x) M(x, G, normal)
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
38 #include "for-2.h"
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
39 #undef S
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
40 #undef N
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
41 #undef F
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
42 #undef G
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
43
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
44 #define F teams distribute
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
45 #define G td_ds128
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
46 #define S dist_schedule(static, 128)
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
47 #define N(x) M(x, G, normal)
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
48 #include "for-2.h"
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
49 #undef S
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
50 #undef N
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
51 #undef F
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
52 #undef G
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
53
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
54 #define F teams distribute simd
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
55 #define G tds
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
56 #define S
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
57 #define N(x) M(x, G, normal)
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
58 #include "for-2.h"
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
59 #undef S
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
60 #undef N
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
61 #undef F
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
62 #undef G
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
63
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
64 #define F teams distribute simd
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
65 #define G tds_ds128
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
66 #define S dist_schedule(static, 128)
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
67 #define N(x) M(x, G, normal)
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
68 #include "for-2.h"
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
69 #undef S
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
70 #undef N
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
71 #undef F
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
72 #undef G
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
73
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
74 #define F teams distribute parallel for
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
75 #define G tdpf
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
76 #include "for-1.h"
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
77 #undef F
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
78 #undef G
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
79
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
80 #define F teams distribute parallel for dist_schedule(static, 128)
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
81 #define G tdpf_ds128
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
82 #include "for-1.h"
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
83 #undef F
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
84 #undef G
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
85
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
86 #define F teams distribute parallel for simd
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
87 #define G tdpfs
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
88 #include "for-1.h"
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
89 #undef F
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
90 #undef G
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
91
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
92 #define F teams distribute parallel for simd dist_schedule(static, 128)
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
93 #define G tdpfs_ds128
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
94 #include "for-1.h"
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
95 #undef F
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
96 #undef G
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
97
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
98 int
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
99 main ()
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
100 {
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
101 if (test_td_normal ()
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
102 || test_td_ds128_normal ()
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
103 || test_tds_normal ()
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
104 || test_tds_ds128_normal ()
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
105 || test_tdpf_static ()
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
106 || test_tdpf_static32 ()
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
107 || test_tdpf_auto ()
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
108 || test_tdpf_guided32 ()
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
109 || test_tdpf_runtime ()
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
110 || test_tdpf_ds128_static ()
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
111 || test_tdpf_ds128_static32 ()
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
112 || test_tdpf_ds128_auto ()
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
113 || test_tdpf_ds128_guided32 ()
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
114 || test_tdpf_ds128_runtime ()
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
115 || test_tdpfs_static ()
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
116 || test_tdpfs_static32 ()
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
117 || test_tdpfs_auto ()
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
118 || test_tdpfs_guided32 ()
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
119 || test_tdpfs_runtime ()
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
120 || test_tdpfs_ds128_static ()
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
121 || test_tdpfs_ds128_static32 ()
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
122 || test_tdpfs_ds128_auto ()
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
123 || test_tdpfs_ds128_guided32 ()
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
124 || test_tdpfs_ds128_runtime ())
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
125 abort ();
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
126 return 0;
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
127 }