1 /* { dg-do compile } */ 2 /* { dg-options "-fgcse -fgcse-sm" } */ 3 4 typedef struct A { 5 int buf, left; 6 } A; 7 flush(A * s,int n)8static void flush(A *s, int n) 9 { 10 s->buf <<= n; 11 12 while (s->left < 32) { 13 s->buf <<= 8; 14 s->left += 8; 15 } 16 17 s->buf=0; 18 } 19 oof(A * s,int n)20void oof(A *s, int n) 21 { 22 s->buf = n; 23 s->left = n; 24 25 flush(s, n); 26 } 27