re PR tree-optimization/52267 (a&~N where N has all the bits set up till a specific...
[gcc.git] / gcc / testsuite / gcc.dg / tree-ssa / vrp66.c
1 /* PR tree-optimization/52267 */
2 /* { dg-do run } */
3 /* { dg-options "-O2" } */
4
5 extern void abort (void);
6
7 #define BITSM1 (sizeof (int) * __CHAR_BIT__ - 1)
8 #define BITSH ((sizeof (int) - sizeof (short)) * __CHAR_BIT__)
9
10 void
11 f1 (unsigned int s)
12 {
13 if ((s & (7U << (BITSM1 - 2))) != 0)
14 {
15 if (s == (0xc000U << BITSH) - 1 || s == (0xf000U << BITSH) - 1
16 || s == (0x9000U << BITSH) - 1 || s == (0xa031U << BITSH) - 1
17 || s == (0xbfbfU << BITSH) || s == (0xc000U << BITSH)
18 || s == (0xf000U << BITSH) || s == (0x9000U << BITSH)
19 || s == (0xc000U << BITSH) + 1 || s == -1U || s == -15U
20 || s == -15550U || s == -15552U || s == (0x7000 << BITSH) - 1
21 || s == (0x7000 << BITSH) || s == (1 << (BITSM1 - 2))
22 || s == 1U + __INT_MAX__ || s == -32U
23 || s == (3 << (BITSM1 - 2)) + 2 || s == -5U || s == -63U
24 || s == -64U || s == -65U || s == 6U + __INT_MAX__ || s == -8189U
25 || s == -8191U || s == -8192U || s == -8193U || s == -8250U
26 || s == -8255U || s == -8256U || s == -8257U || s == __INT_MAX__
27 || s == __INT_MAX__ + 9U)
28 return;
29 }
30 else
31 {
32 if (s == 0 || s == 0x1cbf || s == 0x1cc0 || s == 0x1fff || s == 0x2000
33 || s == 0x20 || s == 0x3cbf || s == 0x3cc0 || s == 0x3f || s == 1
34 || s == (1 << (BITSM1 - 2)) - 1 || s == 2 || s == 24 || s == 5)
35 return;
36 }
37 abort ();
38 }
39
40 void
41 f2 (int s)
42 {
43 if ((s & (7U << (BITSM1 - 2))) == 0)
44 {
45 if (s == 0 || s == 0x1cbf || s == 0x1cc0 || s == 0x1fff || s == 0x2000
46 || s == 0x20 || s == 0x3cbf || s == 0x3cc0 || s == 0x3f || s == 1
47 || s == (1 << (BITSM1 - 2)) - 1 || s == 2 || s == 24 || s == 5)
48 return;
49 }
50 else
51 {
52 if (s == (-0x4000 << BITSH) - 1 || s == (-0x1000 << BITSH) - 1
53 || s == (-0x7000 << BITSH) - 1 || s == (-0x5fcf << BITSH) - 1
54 || s == (-0x4041 << BITSH) || s == (-0x4000 << BITSH)
55 || s == (-0x1000 << BITSH) || s == (-0x7000 << BITSH)
56 || s == (-0x4000 << BITSH) + 1 || s == -1 || s == -15 || s == -15550
57 || s == -15552 || s == (0x7000 << BITSH) - 1
58 || s == (0x7000 << BITSH) || s == (1 << (BITSM1 - 2))
59 || s == -__INT_MAX__ - 1 || s == -32 || s == (3 << (BITSM1 - 2)) + 2
60 || s == -5 || s == -63 || s == -64 || s == -65
61 || s == -__INT_MAX__ + 4 || s == -8189 || s == -8191 || s == -8192
62 || s == -8193 || s == -8250 || s == -8255 || s == -8256
63 || s == -8257 || s == __INT_MAX__ || s == -__INT_MAX__ + 7)
64 return;
65 }
66 abort ();
67 }
68
69 void
70 f3 (unsigned int s)
71 {
72 if ((s & 0x3cc0) == 0)
73 {
74 if (s == 0 || s == 0x20 || s == 0x3f || s == (0xbfbfU << BITSH)
75 || s == (0xc000U << BITSH) || s == (0xf000U << BITSH)
76 || s == (0x9000U << BITSH) || s == (0xc000U << BITSH) + 1 || s == 1
77 || s == (0x7000 << BITSH) || s == (1 << (BITSM1 - 2))
78 || s == 1U + __INT_MAX__ || s == 2 || s == 24
79 || s == (3 << (BITSM1 - 2)) + 2 || s == 5 || s == 6U + __INT_MAX__
80 || s == __INT_MAX__ + 9U)
81 return;
82 }
83 else
84 {
85 if (s == 0x1cbf || s == 0x1cc0 || s == 0x1fff || s == 0x2000
86 || s == 0x3cbf || s == 0x3cc0 || s == (0xc000U << BITSH) - 1
87 || s == (0xf000U << BITSH) - 1 || s == (0x9000U << BITSH) - 1
88 || s == (0xa031U << BITSH) - 1 || s == -1U || s == -15U
89 || s == -15550U || s == -15552U || s == (0x7000 << BITSH) - 1
90 || s == (1 << (BITSM1 - 2)) - 1 || s == -32U || s == -5U
91 || s == -63U || s == -64U || s == -65U || s == -8189U || s == -8191U
92 || s == -8192U || s == -8193U || s == -8250U || s == -8255U
93 || s == -8256U || s == -8257U || s == __INT_MAX__)
94 return;
95 }
96 abort ();
97 }
98
99 void
100 f4 (int s)
101 {
102 if ((s & 0x3cc0) == 0)
103 {
104 if (s == 0 || s == 0x20 || s == 0x3f || s == (-0x4041 << BITSH)
105 || s == (-0x4000 << BITSH) || s == (-0x1000 << BITSH)
106 || s == (-0x7000 << BITSH) || s == (-0x4000 << BITSH) + 1 || s == 1
107 || s == (0x7000 << BITSH) || s == (1 << (BITSM1 - 2))
108 || s == -__INT_MAX__ - 1 || s == 2 || s == 24
109 || s == (3 << (BITSM1 - 2)) + 2 || s == 5 || s == -__INT_MAX__ + 4
110 || s == -__INT_MAX__ + 7)
111 return;
112 }
113 else
114 {
115 if (s == 0x1cbf || s == 0x1cc0 || s == 0x1fff || s == 0x2000
116 || s == 0x3cbf || s == 0x3cc0 || s == (-0x4000 << BITSH) - 1
117 || s == (-0x1000 << BITSH) - 1 || s == (-0x7000 << BITSH) - 1
118 || s == (-0x5fcf << BITSH) - 1 || s == -1 || s == -15 || s == -15550
119 || s == -15552 || s == (0x7000 << BITSH) - 1
120 || s == (1 << (BITSM1 - 2)) - 1 || s == -32 || s == -5 || s == -63
121 || s == -64 || s == -65 || s == -8189 || s == -8191 || s == -8192
122 || s == -8193 || s == -8250 || s == -8255 || s == -8256
123 || s == -8257 || s == __INT_MAX__)
124 return;
125 }
126 abort ();
127 }
128
129 void
130 f5 (int s)
131 {
132 if ((s & 0x3cc0U) == 0)
133 {
134 if (s == 0 || s == 0x20 || s == 0x3f || s == (-0x4041 << BITSH)
135 || s == (-0x4000 << BITSH) || s == (-0x1000 << BITSH)
136 || s == (-0x7000 << BITSH) || s == (-0x4000 << BITSH) + 1 || s == 1
137 || s == (0x7000 << BITSH) || s == (1 << (BITSM1 - 2))
138 || s == -__INT_MAX__ - 1 || s == 2 || s == 24
139 || s == (3 << (BITSM1 - 2)) + 2 || s == 5 || s == -__INT_MAX__ + 4
140 || s == -__INT_MAX__ + 7)
141 return;
142 }
143 else
144 {
145 if (s == 0x1cbf || s == 0x1cc0 || s == 0x1fff || s == 0x2000
146 || s == 0x3cbf || s == 0x3cc0 || s == (-0x4000 << BITSH) - 1
147 || s == (-0x1000 << BITSH) - 1 || s == (-0x7000 << BITSH) - 1
148 || s == (-0x5fcf << BITSH) - 1 || s == -1 || s == -15 || s == -15550
149 || s == -15552 || s == (0x7000 << BITSH) - 1
150 || s == (1 << (BITSM1 - 2)) - 1 || s == -32 || s == -5 || s == -63
151 || s == -64 || s == -65 || s == -8189 || s == -8191 || s == -8192
152 || s == -8193 || s == -8250 || s == -8255 || s == -8256
153 || s == -8257 || s == __INT_MAX__)
154 return;
155 }
156 abort ();
157 }
158
159 void
160 f6 (unsigned int s)
161 {
162 if ((s & 0x3cc0) == 0x3cc0)
163 {
164 if (s == 0x3cc0 || s == (0xc000U << BITSH) - 1
165 || s == (0xf000U << BITSH) - 1 || s == (0x9000U << BITSH) - 1
166 || s == (0xa031U << BITSH) - 1 || s == -1U || s == -15U
167 || s == (0x7000 << BITSH) - 1 || s == (1 << (BITSM1 - 2)) - 1
168 || s == -32U || s == -5U || s == -63U || s == -64U
169 || s == __INT_MAX__)
170 return;
171 }
172 else
173 {
174 if (s == 0 || s == 0x1cbf || s == 0x1cc0 || s == 0x1fff || s == 0x2000
175 || s == 0x20 || s == 0x3cbf || s == 0x3f || s == (0xbfbfU << BITSH)
176 || s == (0xc000U << BITSH) || s == (0xf000U << BITSH)
177 || s == (0x9000U << BITSH) || s == (0xc000U << BITSH) + 1 || s == 1
178 || s == -15550U || s == -15552U || s == (0x7000 << BITSH)
179 || s == (1 << (BITSM1 - 2)) || s == 1U + __INT_MAX__ || s == 2
180 || s == 24 || s == (3 << (BITSM1 - 2)) + 2 || s == 5 || s == -65U
181 || s == 6U + __INT_MAX__ || s == -8189U || s == -8191U
182 || s == -8192U || s == -8193U || s == -8250U || s == -8255U
183 || s == -8256U || s == -8257U || s == __INT_MAX__ + 9U)
184 return;
185 }
186 abort ();
187 }
188
189 void
190 f7 (int s)
191 {
192 if ((s & 0x3cc0) == 0x3cc0)
193 {
194 if (s == 0x3cc0 || s == (-0x4000 << BITSH) - 1
195 || s == (-0x1000 << BITSH) - 1 || s == (-0x7000 << BITSH) - 1
196 || s == (-0x5fcf << BITSH) - 1 || s == -1 || s == -15
197 || s == (0x7000 << BITSH) - 1 || s == (1 << (BITSM1 - 2)) - 1
198 || s == -32 || s == -5 || s == -63 || s == -64 || s == __INT_MAX__)
199 return;
200 }
201 else
202 {
203 if (s == 0 || s == 0x1cbf || s == 0x1cc0 || s == 0x1fff || s == 0x2000
204 || s == 0x20 || s == 0x3cbf || s == 0x3f || s == (-0x4041 << BITSH)
205 || s == (-0x4000 << BITSH) || s == (-0x1000 << BITSH)
206 || s == (-0x7000 << BITSH) || s == (-0x4000 << BITSH) + 1 || s == 1
207 || s == -15550 || s == -15552 || s == (0x7000 << BITSH)
208 || s == (1 << (BITSM1 - 2)) || s == -__INT_MAX__ - 1 || s == 2
209 || s == 24 || s == (3 << (BITSM1 - 2)) + 2 || s == 5 || s == -65
210 || s == -__INT_MAX__ + 4 || s == -8189 || s == -8191 || s == -8192
211 || s == -8193 || s == -8250 || s == -8255 || s == -8256
212 || s == -8257 || s == -__INT_MAX__ + 7)
213 return;
214 }
215 abort ();
216 }
217
218 void
219 f8 (int s)
220 {
221 if ((s & 0x3cc0U) == 0x3cc0)
222 {
223 if (s == 0x3cc0 || s == (-0x4000 << BITSH) - 1
224 || s == (-0x1000 << BITSH) - 1 || s == (-0x7000 << BITSH) - 1
225 || s == (-0x5fcf << BITSH) - 1 || s == -1 || s == -15
226 || s == (0x7000 << BITSH) - 1 || s == (1 << (BITSM1 - 2)) - 1
227 || s == -32 || s == -5 || s == -63 || s == -64 || s == __INT_MAX__)
228 return;
229 }
230 else
231 {
232 if (s == 0 || s == 0x1cbf || s == 0x1cc0 || s == 0x1fff || s == 0x2000
233 || s == 0x20 || s == 0x3cbf || s == 0x3f || s == (-0x4041 << BITSH)
234 || s == (-0x4000 << BITSH) || s == (-0x1000 << BITSH)
235 || s == (-0x7000 << BITSH) || s == (-0x4000 << BITSH) + 1 || s == 1
236 || s == -15550 || s == -15552 || s == (0x7000 << BITSH)
237 || s == (1 << (BITSM1 - 2)) || s == -__INT_MAX__ - 1 || s == 2
238 || s == 24 || s == (3 << (BITSM1 - 2)) + 2 || s == 5 || s == -65
239 || s == -__INT_MAX__ + 4 || s == -8189 || s == -8191 || s == -8192
240 || s == -8193 || s == -8250 || s == -8255 || s == -8256
241 || s == -8257 || s == -__INT_MAX__ + 7)
242 return;
243 }
244 abort ();
245 }
246
247 void
248 f9 (unsigned int s)
249 {
250 if ((s & 0x3cc0) >= 0x1cc0)
251 {
252 if (s == 0x1cc0 || s == 0x1fff || s == 0x2000 || s == 0x3cbf
253 || s == 0x3cc0 || s == (0xc000U << BITSH) - 1
254 || s == (0xf000U << BITSH) - 1 || s == (0x9000U << BITSH) - 1
255 || s == (0xa031U << BITSH) - 1 || s == -1U || s == -15U
256 || s == (0x7000 << BITSH) - 1 || s == (1 << (BITSM1 - 2)) - 1
257 || s == -32U || s == -5U || s == -63U || s == -64U || s == -65U
258 || s == -8189U || s == -8191U || s == -8192U || s == -8193U
259 || s == -8250U || s == -8255U || s == -8256U || s == __INT_MAX__)
260 return;
261 }
262 else
263 {
264 if (s == 0 || s == 0x1cbf || s == 0x20 || s == 0x3f
265 || s == (0xbfbfU << BITSH) || s == (0xc000U << BITSH)
266 || s == (0xf000U << BITSH) || s == (0x9000U << BITSH)
267 || s == (0xc000U << BITSH) + 1 || s == 1 || s == -15550U
268 || s == -15552U || s == (0x7000 << BITSH)
269 || s == (1 << (BITSM1 - 2)) || s == 1U + __INT_MAX__ || s == 2
270 || s == 24 || s == (3 << (BITSM1 - 2)) + 2 || s == 5
271 || s == 6U + __INT_MAX__ || s == -8257U || s == __INT_MAX__ + 9U)
272 return;
273 }
274 abort ();
275 }
276
277 void
278 f10 (unsigned int s)
279 {
280 if ((s & 0x3cc0) > 0x1cc0)
281 {
282 if (s == 0x2000 || s == 0x3cbf || s == 0x3cc0
283 || s == (0xc000U << BITSH) - 1 || s == (0xf000U << BITSH) - 1
284 || s == (0x9000U << BITSH) - 1 || s == (0xa031U << BITSH) - 1
285 || s == -1U || s == -15U || s == (0x7000 << BITSH) - 1
286 || s == (1 << (BITSM1 - 2)) - 1 || s == -32U || s == -5U
287 || s == -63U || s == -64U || s == -65U || s == -8189U || s == -8191U
288 || s == -8192U || s == __INT_MAX__)
289 return;
290 }
291 else
292 {
293 if (s == 0 || s == 0x1cbf || s == 0x1cc0 || s == 0x1fff || s == 0x20
294 || s == 0x3f || s == (0xbfbfU << BITSH) || s == (0xc000U << BITSH)
295 || s == (0xf000U << BITSH) || s == (0x9000U << BITSH)
296 || s == (0xc000U << BITSH) + 1 || s == 1 || s == -15550U
297 || s == -15552U || s == (0x7000 << BITSH)
298 || s == (1 << (BITSM1 - 2)) || s == 1U + __INT_MAX__ || s == 2
299 || s == 24 || s == (3 << (BITSM1 - 2)) + 2 || s == 5
300 || s == 6U + __INT_MAX__ || s == -8193U || s == -8250U
301 || s == -8255U || s == -8256U || s == -8257U
302 || s == __INT_MAX__ + 9U)
303 return;
304 }
305 abort ();
306 }
307
308 void
309 f11 (int s)
310 {
311 if ((s & 0x3cc0) >= 0x1cc0)
312 {
313 if (s == 0x1cc0 || s == 0x1fff || s == 0x2000 || s == 0x3cbf
314 || s == 0x3cc0 || s == (-0x4000 << BITSH) - 1
315 || s == (-0x1000 << BITSH) - 1 || s == (-0x7000 << BITSH) - 1
316 || s == (-0x5fcf << BITSH) - 1 || s == -1 || s == -15
317 || s == (0x7000 << BITSH) - 1 || s == (1 << (BITSM1 - 2)) - 1
318 || s == -32 || s == -5 || s == -63 || s == -64 || s == -65
319 || s == -8189 || s == -8191 || s == -8192 || s == -8193
320 || s == -8250 || s == -8255 || s == -8256 || s == __INT_MAX__)
321 return;
322 }
323 else
324 {
325 if (s == 0 || s == 0x1cbf || s == 0x20 || s == 0x3f
326 || s == (-0x4041 << BITSH) || s == (-0x4000 << BITSH)
327 || s == (-0x1000 << BITSH) || s == (-0x7000 << BITSH)
328 || s == (-0x4000 << BITSH) + 1 || s == 1 || s == -15550
329 || s == -15552 || s == (0x7000 << BITSH) || s == (1 << (BITSM1 - 2))
330 || s == -__INT_MAX__ - 1 || s == 2 || s == 24
331 || s == (3 << (BITSM1 - 2)) + 2 || s == 5 || s == -__INT_MAX__ + 4
332 || s == -8257 || s == -__INT_MAX__ + 7)
333 return;
334 }
335 abort ();
336 }
337
338 void
339 f12 (int s)
340 {
341 if ((s & 0x3cc0) > 0x1cc0)
342 {
343 if (s == 0x2000 || s == 0x3cbf || s == 0x3cc0
344 || s == (-0x4000 << BITSH) - 1 || s == (-0x1000 << BITSH) - 1
345 || s == (-0x7000 << BITSH) - 1 || s == (-0x5fcf << BITSH) - 1
346 || s == -1 || s == -15 || s == (0x7000 << BITSH) - 1
347 || s == (1 << (BITSM1 - 2)) - 1 || s == -32 || s == -5 || s == -63
348 || s == -64 || s == -65 || s == -8189 || s == -8191 || s == -8192
349 || s == __INT_MAX__)
350 return;
351 }
352 else
353 {
354 if (s == 0 || s == 0x1cbf || s == 0x1cc0 || s == 0x1fff || s == 0x20
355 || s == 0x3f || s == (-0x4041 << BITSH) || s == (-0x4000 << BITSH)
356 || s == (-0x1000 << BITSH) || s == (-0x7000 << BITSH)
357 || s == (-0x4000 << BITSH) + 1 || s == 1 || s == -15550
358 || s == -15552 || s == (0x7000 << BITSH) || s == (1 << (BITSM1 - 2))
359 || s == -__INT_MAX__ - 1 || s == 2 || s == 24
360 || s == (3 << (BITSM1 - 2)) + 2 || s == 5 || s == -__INT_MAX__ + 4
361 || s == -8193 || s == -8250 || s == -8255 || s == -8256
362 || s == -8257 || s == -__INT_MAX__ + 7)
363 return;
364 }
365 abort ();
366 }
367
368 void
369 f13 (unsigned int s)
370 {
371 if ((s & (0xe071U << BITSH)) > (0xb030U << BITSH))
372 {
373 if (s == (0xf000U << BITSH) - 1 || s == (0xc000U << BITSH)
374 || s == (0xf000U << BITSH) || s == (0xc000U << BITSH) + 1
375 || s == -1U || s == -15U || s == -15550U || s == -15552U
376 || s == -32U || s == -5U || s == -63U || s == -64U || s == -65U
377 || s == -8189U || s == -8191U || s == -8192U || s == -8193U
378 || s == -8250U || s == -8255U || s == -8256U || s == -8257U)
379 return;
380 }
381 else
382 {
383 if (s == 0 || s == 0x1cbf || s == 0x1cc0 || s == 0x1fff || s == 0x2000
384 || s == 0x20 || s == 0x3cbf || s == 0x3cc0 || s == 0x3f
385 || s == (0xc000U << BITSH) - 1 || s == (0x9000U << BITSH) - 1
386 || s == (0xa031U << BITSH) - 1 || s == (0xbfbfU << BITSH)
387 || s == (0x9000U << BITSH) || s == 1 || s == (0x7000 << BITSH) - 1
388 || s == (0x7000 << BITSH) || s == (1 << (BITSM1 - 2))
389 || s == (1 << (BITSM1 - 2)) - 1 || s == 1U + __INT_MAX__ || s == 2
390 || s == 24 || s == (3 << (BITSM1 - 2)) + 2 || s == 5
391 || s == 6U + __INT_MAX__ || s == __INT_MAX__
392 || s == __INT_MAX__ + 9U)
393 return;
394 }
395 abort ();
396 }
397
398 void
399 f14 (unsigned int s)
400 {
401 if ((s & (0xe071U << BITSH)) > (0xa030U << BITSH))
402 {
403 if (s == (0xc000U << BITSH) - 1 || s == (0xf000U << BITSH) - 1
404 || s == (0xbfbfU << BITSH) || s == (0xc000U << BITSH)
405 || s == (0xf000U << BITSH) || s == (0xc000U << BITSH) + 1
406 || s == -1U || s == -15U || s == -15550U || s == -15552U
407 || s == -32U || s == -5U || s == -63U || s == -64U || s == -65U
408 || s == -8189U || s == -8191U || s == -8192U || s == -8193U
409 || s == -8250U || s == -8255U || s == -8256U || s == -8257U)
410 return;
411 }
412 else
413 {
414 if (s == 0 || s == 0x1cbf || s == 0x1cc0 || s == 0x1fff || s == 0x2000
415 || s == 0x20 || s == 0x3cbf || s == 0x3cc0 || s == 0x3f
416 || s == (0x9000U << BITSH) - 1 || s == (0xa031U << BITSH) - 1
417 || s == (0x9000U << BITSH) || s == 1 || s == (0x7000 << BITSH) - 1
418 || s == (0x7000 << BITSH) || s == (1 << (BITSM1 - 2))
419 || s == (1 << (BITSM1 - 2)) - 1 || s == 1U + __INT_MAX__ || s == 2
420 || s == 24 || s == (3 << (BITSM1 - 2)) + 2 || s == 5
421 || s == 6U + __INT_MAX__ || s == __INT_MAX__
422 || s == __INT_MAX__ + 9U)
423 return;
424 }
425 abort ();
426 }
427
428 void
429 f15 (int s)
430 {
431 if ((s & ((-0x1f8f) << BITSH)) > ((-0x4fd0) << BITSH))
432 {
433 if (s == 0 || s == 0x1cbf || s == 0x1cc0 || s == 0x1fff || s == 0x2000
434 || s == 0x20 || s == 0x3cbf || s == 0x3cc0 || s == 0x3f
435 || s == (-0x1000 << BITSH) - 1 || s == (-0x4000 << BITSH)
436 || s == (-0x1000 << BITSH) || s == (-0x4000 << BITSH) + 1 || s == 1
437 || s == -1 || s == -15 || s == -15550 || s == -15552
438 || s == (0x7000 << BITSH) - 1 || s == (0x7000 << BITSH)
439 || s == (1 << (BITSM1 - 2)) || s == (1 << (BITSM1 - 2)) - 1
440 || s == 2 || s == 24 || s == -32 || s == (3 << (BITSM1 - 2)) + 2
441 || s == 5 || s == -5 || s == -63 || s == -64 || s == -65
442 || s == -8189 || s == -8191 || s == -8192 || s == -8193
443 || s == -8250 || s == -8255 || s == -8256 || s == -8257
444 || s == __INT_MAX__)
445 return;
446 }
447 else
448 {
449 if (s == (-0x4000 << BITSH) - 1 || s == (-0x7000 << BITSH) - 1
450 || s == (-0x5fcf << BITSH) - 1 || s == (-0x4041 << BITSH)
451 || s == (-0x7000 << BITSH) || s == -__INT_MAX__ - 1
452 || s == -__INT_MAX__ + 4 || s == -__INT_MAX__ + 7)
453 return;
454 }
455 abort ();
456 }
457
458 void
459 f16 (int s)
460 {
461 if ((s & ((-0x1f8f) << BITSH)) >= ((-0x4fd0) << BITSH))
462 {
463 if (s == 0 || s == 0x1cbf || s == 0x1cc0 || s == 0x1fff || s == 0x2000
464 || s == 0x20 || s == 0x3cbf || s == 0x3cc0 || s == 0x3f
465 || s == (-0x1000 << BITSH) - 1 || s == (-0x4000 << BITSH)
466 || s == (-0x1000 << BITSH) || s == (-0x4000 << BITSH) + 1 || s == 1
467 || s == -1 || s == -15 || s == -15550 || s == -15552
468 || s == (0x7000 << BITSH) - 1 || s == (0x7000 << BITSH)
469 || s == (1 << (BITSM1 - 2)) || s == (1 << (BITSM1 - 2)) - 1
470 || s == 2 || s == 24 || s == -32 || s == (3 << (BITSM1 - 2)) + 2
471 || s == 5 || s == -5 || s == -63 || s == -64 || s == -65
472 || s == -8189 || s == -8191 || s == -8192 || s == -8193
473 || s == -8250 || s == -8255 || s == -8256 || s == -8257
474 || s == __INT_MAX__)
475 return;
476 }
477 else
478 {
479 if (s == (-0x4000 << BITSH) - 1 || s == (-0x7000 << BITSH) - 1
480 || s == (-0x5fcf << BITSH) - 1 || s == (-0x4041 << BITSH)
481 || s == (-0x7000 << BITSH) || s == -__INT_MAX__ - 1
482 || s == -__INT_MAX__ + 4 || s == -__INT_MAX__ + 7)
483 return;
484 }
485 abort ();
486 }
487
488 void
489 f17 (int s)
490 {
491 if ((s & ((-0x4000 << BITSH) | 1)) != -__INT_MAX__ - 1)
492 {
493 if (s == 0 || s == 0x1cbf || s == 0x1cc0 || s == 0x1fff || s == 0x2000
494 || s == 0x20 || s == 0x3cbf || s == 0x3cc0 || s == 0x3f
495 || s == (-0x4000 << BITSH) - 1 || s == (-0x1000 << BITSH) - 1
496 || s == (-0x7000 << BITSH) - 1 || s == (-0x5fcf << BITSH) - 1
497 || s == (-0x4000 << BITSH) || s == (-0x1000 << BITSH)
498 || s == (-0x4000 << BITSH) + 1 || s == 1 || s == -1 || s == -15
499 || s == -15550 || s == -15552 || s == (0x7000 << BITSH) - 1
500 || s == (0x7000 << BITSH) || s == (1 << (BITSM1 - 2))
501 || s == (1 << (BITSM1 - 2)) - 1 || s == 2 || s == 24 || s == -32
502 || s == (3 << (BITSM1 - 2)) + 2 || s == 5 || s == -5 || s == -63
503 || s == -64 || s == -65 || s == -__INT_MAX__ + 4 || s == -8189
504 || s == -8191 || s == -8192 || s == -8193 || s == -8250
505 || s == -8255 || s == -8256 || s == -8257 || s == __INT_MAX__)
506 return;
507 }
508 else
509 {
510 if (s == (-0x4041 << BITSH) || s == (-0x7000 << BITSH)
511 || s == -__INT_MAX__ - 1 || s == -__INT_MAX__ + 7)
512 return;
513 }
514 abort ();
515 }
516
517 void
518 f18 (int s)
519 {
520 if ((s & ((-0x4000 << BITSH) | 1)) != ((-0x4000 << BITSH) | 1))
521 {
522 if (s == 0 || s == 0x1cbf || s == 0x1cc0 || s == 0x1fff || s == 0x2000
523 || s == 0x20 || s == 0x3cbf || s == 0x3cc0 || s == 0x3f
524 || s == (-0x4000 << BITSH) - 1 || s == (-0x7000 << BITSH) - 1
525 || s == (-0x5fcf << BITSH) - 1 || s == (-0x4041 << BITSH)
526 || s == (-0x4000 << BITSH) || s == (-0x1000 << BITSH)
527 || s == (-0x7000 << BITSH) || s == 1 || s == -15550 || s == -15552
528 || s == (0x7000 << BITSH) - 1 || s == (0x7000 << BITSH)
529 || s == (1 << (BITSM1 - 2)) || s == (1 << (BITSM1 - 2)) - 1
530 || s == -__INT_MAX__ - 1 || s == 2 || s == 24 || s == -32
531 || s == (3 << (BITSM1 - 2)) + 2 || s == 5 || s == -64
532 || s == -__INT_MAX__ + 4 || s == -8192 || s == -8250 || s == -8256
533 || s == __INT_MAX__ || s == -__INT_MAX__ + 7)
534 return;
535 }
536 else
537 {
538 if (s == (-0x1000 << BITSH) - 1 || s == (-0x4000 << BITSH) + 1
539 || s == -1 || s == -15 || s == -5 || s == -63 || s == -65
540 || s == -8189 || s == -8191 || s == -8193 || s == -8255
541 || s == -8257)
542 return;
543 }
544 abort ();
545 }
546
547 void
548 f19 (int s)
549 {
550 if ((s & ((-0x4000 << BITSH) | 1)) != ((0x4000 << BITSH) | 1))
551 {
552 if (s == 0 || s == 0x1cbf || s == 0x1cc0 || s == 0x1fff || s == 0x2000
553 || s == 0x20 || s == 0x3cbf || s == 0x3cc0 || s == 0x3f
554 || s == (-0x4000 << BITSH) - 1 || s == (-0x1000 << BITSH) - 1
555 || s == (-0x7000 << BITSH) - 1 || s == (-0x5fcf << BITSH) - 1
556 || s == (-0x4041 << BITSH) || s == (-0x4000 << BITSH)
557 || s == (-0x1000 << BITSH) || s == (-0x7000 << BITSH)
558 || s == (-0x4000 << BITSH) + 1 || s == 1 || s == -1 || s == -15
559 || s == -15550 || s == -15552 || s == (0x7000 << BITSH)
560 || s == (1 << (BITSM1 - 2)) || s == (1 << (BITSM1 - 2)) - 1
561 || s == -__INT_MAX__ - 1 || s == 2 || s == 24 || s == -32
562 || s == (3 << (BITSM1 - 2)) + 2 || s == 5 || s == -5 || s == -63
563 || s == -64 || s == -65 || s == -__INT_MAX__ + 4 || s == -8189
564 || s == -8191 || s == -8192 || s == -8193 || s == -8250
565 || s == -8255 || s == -8256 || s == -8257 || s == -__INT_MAX__ + 7)
566 return;
567 }
568 else
569 {
570 if (s == (0x7000 << BITSH) - 1 || s == __INT_MAX__)
571 return;
572 }
573 abort ();
574 }
575
576 void
577 f20 (int s)
578 {
579 if ((s & (-0x1000 << BITSH)) != -__INT_MAX__ - 1)
580 {
581 if (s == 0 || s == 0x1cbf || s == 0x1cc0 || s == 0x1fff || s == 0x2000
582 || s == 0x20 || s == 0x3cbf || s == 0x3cc0 || s == 0x3f
583 || s == (-0x4000 << BITSH) - 1 || s == (-0x1000 << BITSH) - 1
584 || s == (-0x5fcf << BITSH) - 1 || s == (-0x4041 << BITSH)
585 || s == (-0x4000 << BITSH) || s == (-0x1000 << BITSH)
586 || s == (-0x7000 << BITSH) || s == (-0x4000 << BITSH) + 1 || s == 1
587 || s == -1 || s == -15 || s == -15550 || s == -15552
588 || s == (0x7000 << BITSH) - 1 || s == (0x7000 << BITSH)
589 || s == (1 << (BITSM1 - 2)) || s == (1 << (BITSM1 - 2)) - 1
590 || s == 2 || s == 24 || s == -32 || s == (3 << (BITSM1 - 2)) + 2
591 || s == 5 || s == -5 || s == -63 || s == -64 || s == -65
592 || s == -8189 || s == -8191 || s == -8192 || s == -8193
593 || s == -8250 || s == -8255 || s == -8256 || s == -8257
594 || s == __INT_MAX__)
595 return;
596 }
597 else
598 {
599 if (s == (-0x7000 << BITSH) - 1 || s == -__INT_MAX__ - 1
600 || s == -__INT_MAX__ + 4 || s == -__INT_MAX__ + 7)
601 return;
602 }
603 abort ();
604 }
605
606 void
607 f21 (int s)
608 {
609 if ((s & (-0x1000 << BITSH)) != (-0x1000 << BITSH))
610 {
611 if (s == 0 || s == 0x1cbf || s == 0x1cc0 || s == 0x1fff || s == 0x2000
612 || s == 0x20 || s == 0x3cbf || s == 0x3cc0 || s == 0x3f
613 || s == (-0x4000 << BITSH) - 1 || s == (-0x1000 << BITSH) - 1
614 || s == (-0x7000 << BITSH) - 1 || s == (-0x5fcf << BITSH) - 1
615 || s == (-0x4041 << BITSH) || s == (-0x4000 << BITSH)
616 || s == (-0x7000 << BITSH) || s == (-0x4000 << BITSH) + 1 || s == 1
617 || s == (0x7000 << BITSH) - 1 || s == (0x7000 << BITSH)
618 || s == (1 << (BITSM1 - 2)) || s == (1 << (BITSM1 - 2)) - 1
619 || s == -__INT_MAX__ - 1 || s == 2 || s == 24
620 || s == (3 << (BITSM1 - 2)) + 2 || s == 5 || s == -__INT_MAX__ + 4
621 || s == __INT_MAX__ || s == -__INT_MAX__ + 7)
622 return;
623 }
624 else
625 {
626 if (s == (-0x1000 << BITSH) || s == -1 || s == -15 || s == -15550
627 || s == -15552 || s == -32 || s == -5 || s == -63 || s == -64
628 || s == -65 || s == -8189 || s == -8191 || s == -8192 || s == -8193
629 || s == -8250 || s == -8255 || s == -8256 || s == -8257)
630 return;
631 }
632 abort ();
633 }
634
635 void
636 f22 (int s)
637 {
638 if ((s & (-0x1000 << BITSH)) != (0x7000 << BITSH))
639 {
640 if (s == 0 || s == 0x1cbf || s == 0x1cc0 || s == 0x1fff || s == 0x2000
641 || s == 0x20 || s == 0x3cbf || s == 0x3cc0 || s == 0x3f
642 || s == (-0x4000 << BITSH) - 1 || s == (-0x1000 << BITSH) - 1
643 || s == (-0x7000 << BITSH) - 1 || s == (-0x5fcf << BITSH) - 1
644 || s == (-0x4041 << BITSH) || s == (-0x4000 << BITSH)
645 || s == (-0x1000 << BITSH) || s == (-0x7000 << BITSH)
646 || s == (-0x4000 << BITSH) + 1 || s == 1 || s == -1 || s == -15
647 || s == -15550 || s == -15552 || s == (0x7000 << BITSH) - 1
648 || s == (1 << (BITSM1 - 2)) || s == (1 << (BITSM1 - 2)) - 1
649 || s == -__INT_MAX__ - 1 || s == 2 || s == 24 || s == -32
650 || s == (3 << (BITSM1 - 2)) + 2 || s == 5 || s == -5 || s == -63
651 || s == -64 || s == -65 || s == -__INT_MAX__ + 4 || s == -8189
652 || s == -8191 || s == -8192 || s == -8193 || s == -8250
653 || s == -8255 || s == -8256 || s == -8257 || s == -__INT_MAX__ + 7)
654 return;
655 }
656 else
657 {
658 if (s == (0x7000 << BITSH) || s == __INT_MAX__)
659 return;
660 }
661 abort ();
662 }
663
664 void
665 f23 (unsigned int s)
666 {
667 if ((s & (0xf000U << BITSH)) != (0x7000 << BITSH))
668 {
669 if (s == 0 || s == 0x1cbf || s == 0x1cc0 || s == 0x1fff || s == 0x2000
670 || s == 0x20 || s == 0x3cbf || s == 0x3cc0 || s == 0x3f
671 || s == (0xc000U << BITSH) - 1 || s == (0xf000U << BITSH) - 1
672 || s == (0x9000U << BITSH) - 1 || s == (0xa031U << BITSH) - 1
673 || s == (0xbfbfU << BITSH) || s == (0xc000U << BITSH)
674 || s == (0xf000U << BITSH) || s == (0x9000U << BITSH)
675 || s == (0xc000U << BITSH) + 1 || s == 1 || s == -1U || s == -15U
676 || s == -15550U || s == -15552U || s == (0x7000 << BITSH) - 1
677 || s == (1 << (BITSM1 - 2)) || s == (1 << (BITSM1 - 2)) - 1
678 || s == 1U + __INT_MAX__ || s == 2 || s == 24 || s == -32U
679 || s == (3 << (BITSM1 - 2)) + 2 || s == 5 || s == -5U || s == -63U
680 || s == -64U || s == -65U || s == 6U + __INT_MAX__ || s == -8189U
681 || s == -8191U || s == -8192U || s == -8193U || s == -8250U
682 || s == -8255U || s == -8256U || s == -8257U
683 || s == __INT_MAX__ + 9U)
684 return;
685 }
686 else
687 {
688 if (s == (0x7000 << BITSH) || s == __INT_MAX__)
689 return;
690 }
691 abort ();
692 }
693
694 void
695 f24 (unsigned int s)
696 {
697 if ((s & (0xf000U << BITSH)) != (0x8000U << BITSH))
698 {
699 if (s == 0 || s == 0x1cbf || s == 0x1cc0 || s == 0x1fff || s == 0x2000
700 || s == 0x20 || s == 0x3cbf || s == 0x3cc0 || s == 0x3f
701 || s == (0xc000U << BITSH) - 1 || s == (0xf000U << BITSH) - 1
702 || s == (0xa031U << BITSH) - 1 || s == (0xbfbfU << BITSH)
703 || s == (0xc000U << BITSH) || s == (0xf000U << BITSH)
704 || s == (0x9000U << BITSH) || s == (0xc000U << BITSH) + 1 || s == 1
705 || s == -1U || s == -15U || s == -15550U || s == -15552U
706 || s == (0x7000 << BITSH) - 1 || s == (0x7000 << BITSH)
707 || s == (1 << (BITSM1 - 2)) || s == (1 << (BITSM1 - 2)) - 1
708 || s == 2 || s == 24 || s == -32U || s == (3 << (BITSM1 - 2)) + 2
709 || s == 5 || s == -5U || s == -63U || s == -64U || s == -65U
710 || s == -8189U || s == -8191U || s == -8192U || s == -8193U
711 || s == -8250U || s == -8255U || s == -8256U || s == -8257U
712 || s == __INT_MAX__)
713 return;
714 }
715 else
716 {
717 if (s == (0x9000U << BITSH) - 1 || s == 1U + __INT_MAX__
718 || s == 6U + __INT_MAX__ || s == __INT_MAX__ + 9U)
719 return;
720 }
721 abort ();
722 }
723
724 int svals[] = {
725 0,
726 0x1cbf,
727 0x1cc0,
728 0x1fff,
729 0x2000,
730 0x20,
731 0x3cbf,
732 0x3cc0,
733 0x3f,
734 (-0x4000 << BITSH) - 1,
735 (-0x1000 << BITSH) - 1,
736 (-0x7000 << BITSH) - 1,
737 (-0x5fcf << BITSH) - 1,
738 (-0x4041 << BITSH),
739 (-0x4000 << BITSH),
740 (-0x1000 << BITSH),
741 (-0x7000 << BITSH),
742 (-0x4000 << BITSH) + 1,
743 1,
744 -1,
745 -15,
746 -15550,
747 -15552,
748 (0x7000 << BITSH) - 1,
749 (0x7000 << BITSH),
750 (1 << (BITSM1 - 2)),
751 (1 << (BITSM1 - 2)) - 1,
752 -__INT_MAX__ - 1,
753 2,
754 24,
755 -32,
756 (3 << (BITSM1 - 2)) + 2,
757 5,
758 -5,
759 -63,
760 -64,
761 -65,
762 -__INT_MAX__ + 4,
763 -8189,
764 -8191,
765 -8192,
766 -8193,
767 -8250,
768 -8255,
769 -8256,
770 -8257,
771 __INT_MAX__,
772 -__INT_MAX__ + 7,
773 };
774
775 unsigned int uvals[] = {
776 0,
777 0x1cbf,
778 0x1cc0,
779 0x1fff,
780 0x2000,
781 0x20,
782 0x3cbf,
783 0x3cc0,
784 0x3f,
785 (0xc000U << BITSH) - 1,
786 (0xf000U << BITSH) - 1,
787 (0x9000U << BITSH) - 1,
788 (0xa031U << BITSH) - 1,
789 (0xbfbfU << BITSH),
790 (0xc000U << BITSH),
791 (0xf000U << BITSH),
792 (0x9000U << BITSH),
793 (0xc000U << BITSH) + 1,
794 1,
795 -1U,
796 -15U,
797 -15550U,
798 -15552U,
799 (0x7000 << BITSH) - 1,
800 (0x7000 << BITSH),
801 (1 << (BITSM1 - 2)),
802 (1 << (BITSM1 - 2)) - 1,
803 1U + __INT_MAX__,
804 2,
805 24,
806 -32U,
807 (3 << (BITSM1 - 2)) + 2,
808 5,
809 -5U,
810 -63U,
811 -64U,
812 -65U,
813 6U + __INT_MAX__,
814 -8189U,
815 -8191U,
816 -8192U,
817 -8193U,
818 -8250U,
819 -8255U,
820 -8256U,
821 -8257U,
822 __INT_MAX__,
823 __INT_MAX__ + 9U,
824 };
825
826 int
827 main ()
828 {
829 int i;
830 for (i = 0; i < sizeof (svals) / sizeof (svals[0]); i++)
831 {
832 f2 (svals[i]);
833 f4 (svals[i]);
834 f5 (svals[i]);
835 f7 (svals[i]);
836 f8 (svals[i]);
837 f11 (svals[i]);
838 f12 (svals[i]);
839 f15 (svals[i]);
840 f16 (svals[i]);
841 f17 (svals[i]);
842 f18 (svals[i]);
843 f19 (svals[i]);
844 f20 (svals[i]);
845 f21 (svals[i]);
846 f22 (svals[i]);
847 }
848 for (i = 0; i < sizeof (uvals) / sizeof (uvals[0]); i++)
849 {
850 f1 (uvals[i]);
851 f3 (uvals[i]);
852 f6 (uvals[i]);
853 f9 (uvals[i]);
854 f10 (uvals[i]);
855 f13 (uvals[i]);
856 f14 (uvals[i]);
857 f23 (uvals[i]);
858 f24 (uvals[i]);
859 }
860 return 0;
861 }