1  /* PR rtl-optimization/81019 */
       2  /* { dg-do run } */
       3  /* { dg-options "-O -fno-tree-ccp" } */
       4  
       5  unsigned long long __attribute__((noinline, noclone))
       6  foo (unsigned char a, unsigned short b, unsigned c, unsigned long long d,
       7       unsigned char e, unsigned short f, unsigned g, unsigned long long h)
       8  {
       9    g = e;
      10    c &= 0 < d;
      11    b *= d;
      12    g ^= -1;
      13    g &= 1;
      14    c |= 1;
      15    a -= 0 < g;
      16    g >>= 1;
      17    f = b | (f >> b);
      18    return a + c + d + f + g + h;
      19  }
      20  
      21  int
      22  main (void)
      23  {
      24    if (foo (0, 0, 0, 0, 0, 0, 0, 0) != 0x100)
      25      __builtin_abort ();
      26    return 0;
      27  }