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
       9  foo (signed x, unsigned y)
      10  {
      11    return x < 0 || y >= 32 ? 1 : x >> y;
      12  }
      13  
      14  long long
      15  bar (long long x, long y)
      16  {
      17    return y < 0 ? 1LL : x - y;
      18  }
      19  
      20  void
      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  }