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