1 struct s {
2 int:16;
3 short f:6;
4 };
5
local(struct s s)6 static short local(struct s s)
7 {
8 return s.f;
9 }
10
foo(struct s s)11 static void foo(struct s s)
12 {
13 while (s.f) ;
14 }
15
16 /*
17 * check-name: not-same-memop0
18 * check-command: test-linearize -Wno-decl -fdump-ir=mem2reg $file
19 *
20 * check-output-start
21 local:
22 .L0:
23 <entry-point>
24 store.32 %arg1 -> 0[s]
25 load.16 %r1 <- 2[s]
26 trunc.6 %r2 <- (16) %r1
27 sext.16 %r3 <- (6) %r2
28 ret.16 %r3
29
30
31 foo:
32 .L2:
33 <entry-point>
34 store.32 %arg1 -> 0[s]
35 br .L6
36
37 .L6:
38 load.16 %r5 <- 2[s]
39 trunc.6 %r6 <- (16) %r5
40 setne.1 %r7 <- %r6, $0
41 cbr %r7, .L6, .L5
42
43 .L5:
44 ret
45
46
47 * check-output-end
48 */
49