and_0(int a)1 int and_0(int a)
2 {
3 return a && 0;
4 }
5
and_1(int a)6 int and_1(int a)
7 {
8 return a && 1;
9 }
10
or_0(int a)11 int or_0(int a)
12 {
13 return a || 0;
14 }
15
or_1(int a)16 int or_1(int a)
17 {
18 return a || 1;
19 }
20
21 // try again but with something true but != 1
and_2(int a)22 int and_2(int a)
23 {
24 return a && 2;
25 }
26
or_2(int a)27 int or_2(int a)
28 {
29 return a || 2;
30 }
31
32 /*
33 * check-name: bool-simplify
34 * check-command: test-linearize -Wno-decl $file
35 *
36 * check-output-start
37 and_0:
38 .L0:
39 <entry-point>
40 ret.32 $0
41
42
43 and_1:
44 .L2:
45 <entry-point>
46 setne.32 %r9 <- %arg1, $0
47 ret.32 %r9
48
49
50 or_0:
51 .L4:
52 <entry-point>
53 setne.32 %r14 <- %arg1, $0
54 ret.32 %r14
55
56
57 or_1:
58 .L6:
59 <entry-point>
60 ret.32 $1
61
62
63 and_2:
64 .L8:
65 <entry-point>
66 setne.32 %r25 <- %arg1, $0
67 ret.32 %r25
68
69
70 or_2:
71 .L10:
72 <entry-point>
73 ret.32 $1
74
75
76 * check-output-end
77 */
78