111
|
1 /* PR tree-optimization/52267 */
|
|
2 /* { dg-do link } */
|
|
3 /* { dg-options "-O2" } */
|
|
4
|
|
5 extern void link_error (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 <= (1U << (BITSM1 - 2)) - 1)
|
|
16 link_error ();
|
|
17 }
|
|
18 else
|
|
19 {
|
|
20 if (s >= (1U << (BITSM1 - 2)))
|
|
21 link_error ();
|
|
22 }
|
|
23 }
|
|
24
|
|
25 void
|
|
26 f2 (int s)
|
|
27 {
|
|
28 if ((s & (7U << (BITSM1 - 2))) == 0)
|
|
29 {
|
|
30 if (s >= (1 << (BITSM1 - 2)) || s < 0)
|
|
31 link_error ();
|
|
32 }
|
|
33 else
|
|
34 {
|
|
35 if (s >= 0 && s <= (1 << (BITSM1 - 2)) - 1)
|
|
36 link_error ();
|
|
37 }
|
|
38 }
|
|
39
|
|
40 void
|
|
41 f3 (unsigned int s)
|
|
42 {
|
|
43 if ((s & 0x3cc0) == 0)
|
|
44 {
|
|
45 if (s >= -15552U)
|
|
46 link_error ();
|
|
47 }
|
|
48 else
|
|
49 {
|
|
50 if (s <= 0x3f)
|
|
51 link_error ();
|
|
52 }
|
|
53 }
|
|
54
|
|
55 void
|
|
56 f4 (int s)
|
|
57 {
|
|
58 if ((s & 0x3cc0) == 0)
|
|
59 {
|
|
60 if (s >= -15552 && s < 0)
|
|
61 link_error ();
|
|
62 }
|
|
63 else
|
|
64 {
|
|
65 if (/* s <= 0x3fU */ s == 0 || s == 0x20 || s == 0x3f)
|
|
66 link_error ();
|
|
67 }
|
|
68 }
|
|
69
|
|
70 void
|
|
71 f5 (int s)
|
|
72 {
|
|
73 if ((s & 0x3cc0U) == 0)
|
|
74 {
|
|
75 if (s >= -15552 && s < 0)
|
|
76 link_error ();
|
|
77 }
|
|
78 else
|
|
79 {
|
|
80 if (/* s <= 0x3fU */ s == 0 || s == 0x20 || s == 0x3f)
|
|
81 link_error ();
|
|
82 }
|
|
83 }
|
|
84
|
|
85 void
|
|
86 f6 (unsigned int s)
|
|
87 {
|
|
88 if ((s & 0x3cc0) == 0x3cc0)
|
|
89 {
|
|
90 if (s <= 0x3cbf)
|
|
91 link_error ();
|
|
92 }
|
|
93 else
|
|
94 {
|
|
95 if (s >= -64U)
|
|
96 link_error ();
|
|
97 }
|
|
98 }
|
|
99
|
|
100 void
|
|
101 f7 (int s)
|
|
102 {
|
|
103 if ((s & 0x3cc0) == 0x3cc0)
|
|
104 {
|
|
105 if (s >= 0 && s <= 0x3cbf)
|
|
106 link_error ();
|
|
107 }
|
|
108 else
|
|
109 {
|
|
110 if (s >= -64 && s < 0)
|
|
111 link_error ();
|
|
112 }
|
|
113 }
|
|
114
|
|
115 void
|
|
116 f8 (int s)
|
|
117 {
|
|
118 if ((s & 0x3cc0U) == 0x3cc0)
|
|
119 {
|
|
120 if (s >= 0 && s <= 0x3cbf)
|
|
121 link_error ();
|
|
122 }
|
|
123 else
|
|
124 {
|
|
125 if (s >= -64 && s < 0)
|
|
126 link_error ();
|
|
127 }
|
|
128 }
|
|
129
|
|
130 void
|
|
131 f9 (unsigned int s)
|
|
132 {
|
|
133 if ((s & 0x3cc0) >= 0x1cc0)
|
|
134 {
|
|
135 if (s <= 0x1cbf)
|
|
136 link_error ();
|
|
137 }
|
|
138 else
|
|
139 {
|
|
140 if (s >= -8256U)
|
|
141 link_error ();
|
|
142 }
|
|
143 }
|
|
144
|
|
145 void
|
|
146 f10 (unsigned int s)
|
|
147 {
|
|
148 if ((s & 0x3cc0) > 0x1cc0)
|
|
149 {
|
|
150 if (s <= 0x1fff)
|
|
151 link_error ();
|
|
152 }
|
|
153 else
|
|
154 {
|
|
155 if (s >= -8192U)
|
|
156 link_error ();
|
|
157 }
|
|
158 }
|
|
159
|
|
160 void
|
|
161 f11 (int s)
|
|
162 {
|
|
163 if ((s & 0x3cc0) >= 0x1cc0)
|
|
164 {
|
|
165 if (s >= 0 && s <= 0x1cbf)
|
|
166 link_error ();
|
|
167 }
|
|
168 else
|
|
169 {
|
|
170 if (s >= -8256 && s < 0)
|
|
171 link_error ();
|
|
172 }
|
|
173 }
|
|
174
|
|
175 void
|
|
176 f12 (int s)
|
|
177 {
|
|
178 if ((s & 0x3cc0) > 0x1cc0)
|
|
179 {
|
|
180 if (s >= 0 && s <= 0x1fff)
|
|
181 link_error ();
|
|
182 }
|
|
183 else
|
|
184 {
|
|
185 if (s >= -8192 && s < 0)
|
|
186 link_error ();
|
|
187 }
|
|
188 }
|
|
189
|
|
190 void
|
|
191 f13 (unsigned int s)
|
|
192 {
|
|
193 if ((s & (0xe071U << BITSH)) > (0xb030U << BITSH))
|
|
194 {
|
|
195 if (s <= ((0xc000U << BITSH) - 1))
|
|
196 link_error ();
|
|
197 }
|
|
198 else
|
|
199 {
|
|
200 if (s >= (0xc000U << BITSH))
|
|
201 link_error ();
|
|
202 }
|
|
203 }
|
|
204
|
|
205 void
|
|
206 f14 (unsigned int s)
|
|
207 {
|
|
208 if ((s & (0xe071U << BITSH)) > (0xa030U << BITSH))
|
|
209 {
|
|
210 if (s <= ((0xa031U << BITSH) - 1))
|
|
211 link_error ();
|
|
212 }
|
|
213 else
|
|
214 {
|
|
215 if (s >= (0xbfbfU << BITSH))
|
|
216 link_error ();
|
|
217 }
|
|
218 }
|
|
219
|
|
220 void
|
|
221 f15 (int s)
|
|
222 {
|
|
223 if ((s & ((-0x1f8f) << BITSH)) > ((-0x4fd0) << BITSH))
|
|
224 {
|
|
225 if (s <= ((-0x4000 << BITSH) - 1))
|
|
226 link_error ();
|
|
227 }
|
|
228 else
|
|
229 {
|
|
230 if (s > ((-0x4000 << BITSH) - 1))
|
|
231 link_error ();
|
|
232 }
|
|
233 }
|
|
234
|
|
235 void
|
|
236 f16 (int s)
|
|
237 {
|
|
238 if ((s & ((-0x1f8f) << BITSH)) >= ((-0x4fd0) << BITSH))
|
|
239 {
|
|
240 if (s <= ((-0x4000 << BITSH) - 1))
|
|
241 link_error ();
|
|
242 }
|
|
243 else
|
|
244 {
|
|
245 if (s > ((-0x4000 << BITSH) - 1))
|
|
246 link_error ();
|
|
247 }
|
|
248 }
|
|
249
|
|
250 void
|
|
251 f17 (int s)
|
|
252 {
|
|
253 if ((s & ((-0x4000 << BITSH) | 1)) != -__INT_MAX__ - 1)
|
|
254 {
|
|
255 if (s == -__INT_MAX__ - 1)
|
|
256 link_error ();
|
|
257 }
|
|
258 else
|
|
259 {
|
|
260 if (s >= (-0x4000 << BITSH) - 1)
|
|
261 link_error ();
|
|
262 }
|
|
263 }
|
|
264
|
|
265 void
|
|
266 f18 (int s)
|
|
267 {
|
|
268 if ((s & ((-0x4000 << BITSH) | 1)) != ((-0x4000 << BITSH) | 1))
|
|
269 {
|
|
270 if (s == -1)
|
|
271 link_error ();
|
|
272 }
|
|
273 else
|
|
274 {
|
|
275 if (s < ((-0x4000 << BITSH) | 1) || s >= 0)
|
|
276 link_error ();
|
|
277 }
|
|
278 }
|
|
279
|
|
280 void
|
|
281 f19 (int s)
|
|
282 {
|
|
283 if ((s & ((-0x4000 << BITSH) | 1)) != ((0x4000 << BITSH) | 1))
|
|
284 {
|
|
285 if (s == __INT_MAX__)
|
|
286 link_error ();
|
|
287 }
|
|
288 else
|
|
289 {
|
|
290 if (s <= (0x4000 << BITSH))
|
|
291 link_error ();
|
|
292 }
|
|
293 }
|
|
294
|
|
295 void
|
|
296 f20 (int s)
|
|
297 {
|
|
298 if ((s & (-0x1000 << BITSH)) != -__INT_MAX__ - 1)
|
|
299 {
|
|
300 if (s < (-0x7000 << BITSH))
|
|
301 link_error ();
|
|
302 }
|
|
303 else
|
|
304 {
|
|
305 if (s >= (-0x7000 << BITSH))
|
|
306 link_error ();
|
|
307 }
|
|
308 }
|
|
309
|
|
310 void
|
|
311 f21 (int s)
|
|
312 {
|
|
313 if ((s & (-0x1000 << BITSH)) != (-0x1000 << BITSH))
|
|
314 {
|
|
315 if (s >= (-0x1000 << BITSH) && s < 0)
|
|
316 link_error ();
|
|
317 }
|
|
318 else
|
|
319 {
|
|
320 if (s < (-0x1000 << BITSH) || s >= 0)
|
|
321 link_error ();
|
|
322 }
|
|
323 }
|
|
324
|
|
325 void
|
|
326 f22 (int s)
|
|
327 {
|
|
328 if ((s & (-0x1000 << BITSH)) != (0x7000 << BITSH))
|
|
329 {
|
|
330 if (s >= (0x7000 << BITSH))
|
|
331 link_error ();
|
|
332 }
|
|
333 else
|
|
334 {
|
|
335 if (s < (0x7000 << BITSH))
|
|
336 link_error ();
|
|
337 }
|
|
338 }
|
|
339
|
|
340 void
|
|
341 f23 (unsigned int s)
|
|
342 {
|
|
343 if ((s & (0xf000U << BITSH)) != (0x7000 << BITSH))
|
|
344 {
|
|
345 if (/* s >= (0x7000 << BITSH) && s < (0x8000U << BITSH) */
|
|
346 s == (0x7000 << BITSH) || s == __INT_MAX__)
|
|
347 link_error ();
|
|
348 }
|
|
349 else
|
|
350 {
|
|
351 if (s < (0x7000 << BITSH) || s >= (0x8000U << BITSH))
|
|
352 link_error ();
|
|
353 }
|
|
354 }
|
|
355
|
|
356 void
|
|
357 f24 (unsigned int s)
|
|
358 {
|
|
359 if ((s & (0xf000U << BITSH)) != (0x8000U << BITSH))
|
|
360 {
|
|
361 if (/* s >= (0x8000U << BITSH) && s < (0x9000U << BITSH) */
|
|
362 s == (0x8000U << BITSH) || s == (0x9000U << BITSH) - 1)
|
|
363 link_error ();
|
|
364 }
|
|
365 else
|
|
366 {
|
|
367 if (s >= (0x9000U << BITSH) || s < (0x8000U << BITSH))
|
|
368 link_error ();
|
|
369 }
|
|
370 }
|
|
371
|
|
372 int
|
|
373 main ()
|
|
374 {
|
|
375 return 0;
|
|
376 }
|