1 /* PR tree-optimization/47148 */
2 
3 static inline unsigned
bar(unsigned x,unsigned y)4 bar (unsigned x, unsigned y)
5 {
6   if (y >= 32)
7     return x;
8   else
9     return x >> y;
10 }
11 
12 static unsigned a = 1, b = 1;
13 
14 static inline void
foo(unsigned char x,unsigned y)15 foo (unsigned char x, unsigned y)
16 {
17   if (!y)
18     return;
19   unsigned c = (0x7000U / (x - 2)) ^ a;
20   unsigned d = bar (a, a);
21   b &= ((a - d) && (a - 1)) + c;
22 }
23 
24 int
main(void)25 main (void)
26 {
27   foo (1, 1);
28   foo (-1, 1);
29   if (b && ((unsigned char) -1) == 255)
30     __builtin_abort ();
31   return 0;
32 }
33