ufoo(unsigned int a)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
sfoo(int a)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