1 /* PR rtl-optimization/37341 */
2 
3 short int a;
4 int b;
5 
6 static inline int
f1(int x,int y)7 f1 (int x, int y)
8 {
9   if (x < 0 || y < 0 || y >= sizeof (int) * 8 || x > (1 >> y))
10     return x;
11 }
12 
13 static inline unsigned int
f2(int x,int y)14 f2 (int x, int y)
15 {
16   if (y <= 0 && x && y < __INT_MAX__ / x)
17     return x;
18   return x * y;
19 }
20 
21 int
f3(void)22 f3 (void)
23 {
24   return (signed char) 0xb6;
25 }
26 
27 unsigned int
f4(unsigned int x)28 f4 (unsigned int x)
29 {
30   while (1)
31     {
32       if ((f2 (f3 (), (f1 (a, b)))) < x)
33 	return 1;
34     }
35 }
36