1  /* { dg-do compile } */
       2  
       3  typedef int uint32_t;
       4  int c, e, f, g, h;
       5  short *d;
       6  uint32_t fn1(uint32_t p1, uint32_t p2)
       7  {
       8    uint32_t a, b;
       9    a = p1 >> 3 & p2;
      10    b = p1 & 072;
      11    a |= a >> 5;
      12    a |= b >> 5;
      13    return a;
      14  }
      15  
      16  void fn2()
      17  {
      18    uint32_t *i;
      19    uint32_t j;
      20    while (c -= 4) {
      21        fn1(e, j);
      22        fn1(f, j) * fn1(g, j) * fn1(h, j);
      23        *d++ = fn1(*i++, j);
      24        *d++ = fn1(*i++, j);
      25    }
      26  }