1 int ufoo(unsigned int a) 2 { 3 struct u { 4 unsigned int :2; 5 unsigned int a:3; 6 } bf; 7 8 bf.a = a; 9 return bf.a; 10 } 11 12 int sfoo(int a) 13 { 14 struct s { 15 signed int :2; 16 signed int a:3; 17 } bf; 18 19 bf.a = a; 20 return bf.a; 21 } 22 23 /* 24 * check-name: optim store/load bitfields 25 * check-command: test-linearize -Wno-decl $file 26 * 27 * check-output-start 28 ufoo: 29 .L0: 30 <entry-point> 31 and.32 %r11 <- %arg1, $7 32 ret.32 %r11 33 34 35 sfoo: 36 .L2: 37 <entry-point> 38 trunc.3 %r16 <- (32) %arg1 39 sext.32 %r23 <- (3) %r16 40 ret.32 %r23 41 42 43 * check-output-end 44 */ 45