Print this page
11972 resync smatch
Split |
Close |
Expand all |
Collapse all |
--- old/usr/src/tools/smatch/src/validation/linear/bitfield-init-zero.c
+++ new/usr/src/tools/smatch/src/validation/optim/bitfield-init-zero.c
1 1 struct bfu {
2 2 unsigned int a:11;
3 3 unsigned int f:9;
4 4 unsigned int :2;
5 5 unsigned int z:3;
6 6 };
7 7
8 8 struct bfu bfuu_init(unsigned int a)
9 9 {
10 10 struct bfu bf = { .f = a, };
11 11 return bf;
12 12 }
13 13
14 14 struct bfu bfus_init(int a)
15 15 {
16 16 struct bfu bf = { .f = a, };
17 17 return bf;
18 18 }
19 19
20 20 unsigned int bfu_get0(void)
21 21 {
22 22 struct bfu bf = { };
23 23 return bf.f;
24 24 }
25 25
26 26
27 27 struct bfs {
28 28 signed int a:11;
29 29 signed int f:9;
30 30 signed int :2;
31 31 signed int z:3;
32 32 };
33 33
34 34 struct bfs bfsu_init(unsigned int a)
35 35 {
36 36 struct bfs bf = { .f = a, };
37 37 return bf;
38 38 }
39 39
40 40 struct bfs bfss_init(int a)
41 41 {
42 42 struct bfs bf = { .f = a, };
43 43 return bf;
44 44 }
45 45
46 46 int bfs_get0(void)
47 47 {
48 48 struct bfs bf = { };
49 49 return bf.f;
↓ open down ↓ |
49 lines elided |
↑ open up ↑ |
50 50 }
51 51
52 52 /*
53 53 * check-name: bitfield implicit init zero
54 54 * check-command: test-linearize -Wno-decl $file
55 55 *
56 56 * check-output-start
57 57 bfuu_init:
58 58 .L0:
59 59 <entry-point>
60 - cast.9 %r2 <- (32) %arg1
61 - shl.32 %r4 <- %r2, $11
62 - ret.32 %r4
60 + and.32 %r4 <- %arg1, $511
61 + shl.32 %r5 <- %r4, $11
62 + ret.32 %r5
63 63
64 64
65 65 bfus_init:
66 66 .L2:
67 67 <entry-point>
68 - scast.9 %r10 <- (32) %arg1
69 - shl.32 %r12 <- %r10, $11
70 - ret.32 %r12
68 + and.32 %r13 <- %arg1, $511
69 + shl.32 %r14 <- %r13, $11
70 + ret.32 %r14
71 71
72 72
73 73 bfu_get0:
74 74 .L4:
75 75 <entry-point>
76 76 ret.32 $0
77 77
78 78
79 79 bfsu_init:
80 80 .L6:
81 81 <entry-point>
82 - cast.9 %r23 <- (32) %arg1
83 - shl.32 %r25 <- %r23, $11
84 - ret.32 %r25
82 + and.32 %r27 <- %arg1, $511
83 + shl.32 %r28 <- %r27, $11
84 + ret.32 %r28
85 85
86 86
87 87 bfss_init:
88 88 .L8:
89 89 <entry-point>
90 - scast.9 %r31 <- (32) %arg1
91 - shl.32 %r33 <- %r31, $11
92 - ret.32 %r33
90 + and.32 %r36 <- %arg1, $511
91 + shl.32 %r37 <- %r36, $11
92 + ret.32 %r37
93 93
94 94
95 95 bfs_get0:
96 96 .L10:
97 97 <entry-point>
98 98 ret.32 $0
99 99
100 100
101 101 * check-output-end
102 102 */
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX