1 /* { dg-do compile } */
2 
3 typedef int uint32_t;
4 int c, e, f, g, h;
5 short *d;
fn1(uint32_t p1,uint32_t p2)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 
fn2()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 }
27