1 /* { dg-do compile } */
2 /* { dg-options "-O2" } */
3 
4 struct B { unsigned bit0 : 1; unsigned bit1 : 1; };
5 
6 void
bar(struct B * b,int x)7 bar  (struct B *b, int x)
8 {
9   b->bit0 |= x;
10 }
11 
12 /* This fails to combine in 32bit mode but not for x32.  */
13 /* { dg-final { scan-assembler-times {\tand[lq]} 1 { xfail { { ! x32 } && ilp32 } } } } */
14 /* { dg-final { scan-assembler-times {\tor} 1 { xfail { { ! x32 } && ilp32 } } } } */
15