1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
/* { dg-do compile } */ /* { dg-require-effective-target arm_thumb1_ok } */ /* { dg-options "-O1 -mthumb" } */ struct foo { unsigned b31 : 1; unsigned b30 : 1; unsigned b29 : 1; unsigned b28 : 1; unsigned rest : 28; }; foo(a) struct foo a; { return a.b30; } /* { dg-final { scan-assembler-times "lsl" 1 } } */ /* { dg-final { scan-assembler-times "lsr" 1 } } */