1/* { dg-do compile } */ 2/* { dg-options "-O -fgcse -fgcse-sm" } */ 3 4typedef struct A { 5 int buf, left; 6} A; 7 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 20void oof(A *s, int n) 21{ 22 s->buf = n; 23 s->left = n; 24 25 flush(s, n); 26} 27