1 typedef unsigned int uint
;
4 static uint
ini(uint a
) { return !a
; }
5 static bool bni(uint a
) { return !a
; }
6 static uint
ioii(uint a
, uint b
) { return a
|| b
; }
7 static uint
iaii(uint a
, uint b
) { return a
&& b
; }
8 static bool boii(uint a
, uint b
) { return a
|| b
; }
9 static bool baii(uint a
, uint b
) { return a
&& b
; }
10 static uint
ioiii(uint a
, uint b
, uint c
) { return a
|| b
|| c
; }
11 static uint
iaiii(uint a
, uint b
, uint c
) { return a
&& b
&& c
; }
12 static bool boiii(uint a
, uint b
, uint c
) { return a
|| b
|| c
; }
13 static bool baiii(uint a
, uint b
, uint c
) { return a
&& b
&& c
; }
15 static uint
inb(bool a
) { return !a
; }
16 static bool bnb(bool a
) { return !a
; }
17 static uint
iobb(bool a
, bool b
) { return a
|| b
; }
18 static uint
iabb(bool a
, bool b
) { return a
&& b
; }
19 static bool bobb(bool a
, bool b
) { return a
|| b
; }
20 static bool babb(bool a
, bool b
) { return a
&& b
; }
21 static uint
iobbb(bool a
, bool b
, bool c
) { return a
|| b
|| c
; }
22 static uint
iabbb(bool a
, bool b
, bool c
) { return a
&& b
&& c
; }
23 static bool bobbb(bool a
, bool b
, bool c
) { return a
|| b
|| c
; }
24 static bool babbb(bool a
, bool b
, bool c
) { return a
&& b
&& c
; }
27 * check-name: bool-simplify2
28 * check-command: test-linearize $file
30 * check-output-pattern(20): setne\\.
31 * check-output-pattern(4): seteq\\.
32 * check-output-pattern(8): zext\\.
33 * check-output-pattern(12): and
34 * check-output-pattern(12): or
41 seteq.32 %r2 <- %arg1, $0
48 seteq.1 %r6 <- %arg1, $0
55 setne.1 %r9 <- %arg1, $0
56 setne.1 %r11 <- %arg2, $0
57 or.1 %r12 <- %r9, %r11
58 zext.32 %r13 <- (1) %r12
65 setne.1 %r16 <- %arg1, $0
66 setne.1 %r18 <- %arg2, $0
67 and.1 %r19 <- %r16, %r18
68 zext.32 %r20 <- (1) %r19
75 setne.1 %r23 <- %arg1, $0
76 setne.1 %r25 <- %arg2, $0
77 or.1 %r26 <- %r23, %r25
84 setne.1 %r31 <- %arg1, $0
85 setne.1 %r33 <- %arg2, $0
86 and.1 %r34 <- %r31, %r33
93 setne.1 %r39 <- %arg1, $0
94 setne.1 %r41 <- %arg2, $0
95 or.1 %r42 <- %r39, %r41
96 setne.1 %r46 <- %arg3, $0
97 or.1 %r47 <- %r42, %r46
98 zext.32 %r48 <- (1) %r47
105 setne.1 %r51 <- %arg1, $0
106 setne.1 %r53 <- %arg2, $0
107 and.1 %r54 <- %r51, %r53
108 setne.1 %r58 <- %arg3, $0
109 and.1 %r59 <- %r54, %r58
110 zext.32 %r60 <- (1) %r59
117 setne.1 %r63 <- %arg1, $0
118 setne.1 %r65 <- %arg2, $0
119 or.1 %r66 <- %r63, %r65
120 setne.1 %r70 <- %arg3, $0
121 or.1 %r71 <- %r66, %r70
128 setne.1 %r76 <- %arg1, $0
129 setne.1 %r78 <- %arg2, $0
130 and.1 %r79 <- %r76, %r78
131 setne.1 %r83 <- %arg3, $0
132 and.1 %r84 <- %r79, %r83
139 seteq.32 %r89 <- %arg1, $0
146 seteq.1 %r93 <- %arg1, $0
153 or.1 %r97 <- %arg1, %arg2
154 zext.32 %r98 <- (1) %r97
161 and.1 %r102 <- %arg1, %arg2
162 zext.32 %r103 <- (1) %r102
169 or.1 %r107 <- %arg1, %arg2
176 and.1 %r113 <- %arg1, %arg2
183 or.1 %r119 <- %arg1, %arg2
184 or.1 %r123 <- %r119, %arg3
185 zext.32 %r124 <- (1) %r123
192 and.1 %r128 <- %arg1, %arg2
193 and.1 %r132 <- %r128, %arg3
194 zext.32 %r133 <- (1) %r132
201 or.1 %r137 <- %arg1, %arg2
202 or.1 %r141 <- %r137, %arg3
209 and.1 %r147 <- %arg1, %arg2
210 and.1 %r151 <- %r147, %arg3