1 /* PR rtl-optimization/47157 */
2 
3 struct S { unsigned a; unsigned b; } c = { 1, 0 };
4 unsigned long int e;
5 void bar (int);
6 int baz (void);
7 
8 static int
foo(int x,short y)9 foo (int x, short y)
10 {
11   return ((x ^ y) & ((x ^ (x ^ y) & ~__INT_MAX__) - y ^ y)) < 0 ? x : x - y;
12 }
13 
14 void
test(void)15 test (void)
16 {
17   bar (foo (baz () != (c.a | c.b), -1L));
18   for (e = 0; e; e = 1)
19     ;
20 }
21