Value Range: Add range op for builtin isnormal
[official-gcc.git] / gcc / testsuite / c-c++-common / gomp / attrs-unroll-1.c
blobbe3340a3583bddbaf5a86febab9d5be8c51ce762
1 /* { dg-do compile { target { c || c++11 } } } */
2 /* { dg-additional-options "-std=c23" { target c } } */
4 extern void dummy (int);
6 void
7 test1 (void)
9 [[omp::directive (unroll partial)]]
10 for (int i = 0; i < 100; ++i)
11 dummy (i);
14 void
15 test2 (void)
17 [[omp::directive (unroll partial(10))]]
18 for (int i = 0; i < 100; ++i)
19 dummy (i);
22 void
23 test3 (void)
25 [[omp::directive (unroll full)]]
26 for (int i = 0; i < 100; ++i)
27 dummy (i);
30 void
31 test4 (void)
33 [[omp::directive (unroll full)]]
34 for (int i = 0; i > 100; ++i)
35 dummy (i);
38 void
39 test5 (void)
41 [[omp::directive (unroll full)]]
42 for (int i = 1; i <= 100; ++i)
43 dummy (i);
46 void
47 test6 (void)
49 [[omp::directive (unroll full)]]
50 for (int i = 200; i >= 100; i--)
51 dummy (i);
54 void
55 test7 (void)
57 [[omp::directive (unroll full)]]
58 for (int i = -100; i > 100; ++i)
59 dummy (i);
62 void
63 test8 (void)
65 [[omp::directive (unroll full)]]
66 for (int i = 100; i > -200; --i)
67 dummy (i);
70 void
71 test9 (void)
73 [[omp::directive (unroll full)]]
74 for (int i = -300; i != 100; ++i)
75 dummy (i);
78 void
79 test10 (void)
81 [[omp::directive (unroll full)]]
82 for (int i = -300; i != 100; ++i)
83 dummy (i);
86 void
87 test12 (void)
89 [[omp::sequence (directive (unroll full),
90 directive (unroll partial),
91 directive (unroll partial))]]
92 for (int i = -300; i != 100; ++i)
93 dummy (i);
96 void
97 test13 (void)
99 for (int i = 0; i < 100; ++i)
100 [[omp::sequence (directive (unroll full),
101 directive (unroll partial),
102 directive (unroll partial))]]
103 for (int j = -300; j != 100; ++j)
104 dummy (i);
107 void
108 test14 (void)
110 [[omp::directive (for)]]
111 for (int i = 0; i < 100; ++i)
112 [[omp::sequence (directive (unroll full),
113 directive (unroll partial),
114 directive (unroll partial))]]
115 for (int j = -300; j != 100; ++j)
116 dummy (i);
119 void
120 test15 (void)
122 [[omp::directive (for)]]
123 for (int i = 0; i < 100; ++i)
125 dummy (i);
127 [[omp::sequence (directive (unroll full),
128 directive (unroll partial),
129 directive (unroll partial))]]
130 for (int j = -300; j != 100; ++j)
131 dummy (j);
133 dummy (i);