1 /* PR rtl-optimization/48381 */
2 
3 struct S { int s; } t;
4 
5 int baz (void);
6 void fn (int, unsigned, int, unsigned, char);
7 
8 static char
foo(signed x,unsigned y)9 foo (signed x, unsigned y)
10 {
11   return x < 0 || y >= 32 ? 1 : x >> y;
12 }
13 
14 long long
bar(long long x,long y)15 bar (long long x, long y)
16 {
17   return y < 0 ? 1LL : x - y;
18 }
19 
20 void
test(int x,unsigned y,unsigned z,char w)21 test (int x, unsigned y, unsigned z, char w)
22 {
23   unsigned v[2];
24   fn (w || baz (), y, t.s, y, foo (bar (z, w) <= v[0], x));
25 }
26