int ufoo(unsigned int a) { struct u { unsigned int :2; unsigned int a:3; } bf; bf.a = a; return bf.a; } int sfoo(int a) { struct s { signed int :2; signed int a:3; } bf; bf.a = a; return bf.a; } /* * check-name: optim store/load bitfields * check-command: test-linearize -Wno-decl $file * * check-output-start ufoo: .L0: and.32 %r11 <- %arg1, $7 ret.32 %r11 sfoo: .L2: trunc.3 %r16 <- (32) %arg1 sext.32 %r23 <- (3) %r16 ret.32 %r23 * check-output-end */