/* { dg-require-effective-target int32plus } */
/* PR middle-end/40204 */
struct S
{
unsigned int a : 4;
unsigned int b : 28;
} s;
char c;
void
f (void)
s.a = (c >> 4) & ~(1 << 4);
}