Lines Matching refs:outer

9 define i8 @andcond(i1 %inner.cond, i1 %alt.cond, i8 %inner.sel.trueval, i8 %inner.sel.falseval, i8 %outer.sel.trueval) {
15 %outer.cond = select i1 %inner.cond, i1 %alt.cond, i1 false ; and %inner.cond, %alt.cond
17 %outer.sel = select i1 %outer.cond, i8 %outer.sel.trueval, i8 %inner.sel
18 ret i8 %outer.sel
20 define i8 @orcond(i1 %inner.cond, i1 %alt.cond, i8 %inner.sel.trueval, i8 %inner.sel.falseval, i8 %outer.sel.falseval) {
26 %outer.cond = select i1 %inner.cond, i1 true, i1 %alt.cond ; or %inner.cond, %alt.cond
28 %outer.sel = select i1 %outer.cond, i8 %inner.sel, i8 %outer.sel.falseval
29 ret i8 %outer.sel
34 define i8 @andcond.extrause0(i1 %inner.cond, i1 %alt.cond, i8 %inner.sel.trueval, i8 %inner.sel.falseval, i8 %outer.sel.trueval) {
42 %outer.cond = select i1 %inner.cond, i1 %alt.cond, i1 false
43 call void @use.i1(i1 %outer.cond)
45 %outer.sel = select i1 %outer.cond, i8 %outer.sel.trueval, i8 %inner.sel
46 ret i8 %outer.sel
48 define i8 @orcond.extrause0(i1 %inner.cond, i1 %alt.cond, i8 %inner.sel.trueval, i8 %inner.sel.falseval, i8 %outer.sel.falseval) {
56 %outer.cond = select i1 %inner.cond, i1 true, i1 %alt.cond
57 call void @use.i1(i1 %outer.cond)
59 %outer.sel = select i1 %outer.cond, i8 %inner.sel, i8 %outer.sel.falseval
60 ret i8 %outer.sel
63 define i8 @andcond.extrause1(i1 %inner.cond, i1 %alt.cond, i8 %inner.sel.trueval, i8 %inner.sel.falseval, i8 %outer.sel.trueval) {
71 %outer.cond = select i1 %inner.cond, i1 %alt.cond, i1 false
74 %outer.sel = select i1 %outer.cond, i8 %outer.sel.trueval, i8 %inner.sel
75 ret i8 %outer.sel
77 define i8 @orcond.extrause1(i1 %inner.cond, i1 %alt.cond, i8 %inner.sel.trueval, i8 %inner.sel.falseval, i8 %outer.sel.falseval) {
85 %outer.cond = select i1 %inner.cond, i1 true, i1 %alt.cond
88 %outer.sel = select i1 %outer.cond, i8 %inner.sel, i8 %outer.sel.falseval
89 ret i8 %outer.sel
92 define i8 @andcond.extrause2(i1 %inner.cond, i1 %alt.cond, i8 %inner.sel.trueval, i8 %inner.sel.falseval, i8 %outer.sel.trueval) {
101 %outer.cond = select i1 %inner.cond, i1 %alt.cond, i1 false
102 call void @use.i1(i1 %outer.cond)
105 %outer.sel = select i1 %outer.cond, i8 %outer.sel.trueval, i8 %inner.sel
106 ret i8 %outer.sel
108 define i8 @orcond.extrause2(i1 %inner.cond, i1 %alt.cond, i8 %inner.sel.trueval, i8 %inner.sel.falseval, i8 %outer.sel.falseval) {
117 %outer.cond = select i1 %inner.cond, i1 true, i1 %alt.cond
118 call void @use.i1(i1 %outer.cond)
121 %outer.sel = select i1 %outer.cond, i8 %inner.sel, i8 %outer.sel.falseval
122 ret i8 %outer.sel
127 define i8 @andcond.different.inner.cond(i1 %inner.cond.v0, i1 %inner.cond.v1, i1 %alt.cond, i8 %inner.sel.trueval, i8 %inner.sel.falseval, i8 %outer.sel.trueval) {
135 %outer.cond = select i1 %inner.cond.v0, i1 %alt.cond, i1 false
137 %outer.sel = select i1 %outer.cond, i8 %outer.sel.trueval, i8 %inner.sel
138 ret i8 %outer.sel
140 define i8 @orcond.different.inner.cond(i1 %inner.cond.v0, i1 %inner.cond.v1, i1 %alt.cond, i8 %inner.sel.trueval, i8 %inner.sel.falseval, i8 %outer.sel.falseval) {
147 %outer.cond = select i1 %inner.cond.v0, i1 true, i1 %alt.cond
149 %outer.sel = select i1 %outer.cond, i8 %inner.sel, i8 %outer.sel.falseval
150 ret i8 %outer.sel
153 define i1 @andcond.different.inner.cond.both.inverted(i1 %inner.cond.v0, i1 %inner.cond.v1, i1 %alt.cond, i1 %inner.sel.trueval, i1 %inner.sel.falseval, i1 %outer.sel.trueval) {
163 %outer.cond = select i1 %not.inner.cond.0, i1 %alt.cond, i1 false ; and %inner.cond, %alt.cond
166 %outer.sel = select i1 %outer.cond, i1 %outer.sel.trueval, i1 %inner.sel
167 ret i1 %outer.sel
169 define i1 @orcond.different.inner.cond.both.inverted(i1 %inner.cond.v0, i1 %inner.cond.v1, i1 %alt.cond, i1 %inner.sel.trueval, i1 %inner.sel.falseval, i1 %outer.sel.falseval) {
179 %outer.cond = select i1 %not.inner.cond.0, i1 true, i1 %alt.cond ; or %inner.cond, %alt.cond
182 %outer.sel = select i1 %outer.cond, i1 %inner.sel, i1 %outer.sel.falseval
183 ret i1 %outer.sel
186 define i1 @andcond.different.inner.cond.inverted.in.outer.cond(i1 %inner.cond.v0, i1 %inner.cond.v1, i1 %alt.cond, i1 %inner.sel.trueval, i1 %inner.sel.falseval, i1 %outer.sel.trueval) {
187 ; CHECK-LABEL: @andcond.different.inner.cond.inverted.in.outer.cond(
195 %outer.cond = select i1 %not.inner.cond.0, i1 %alt.cond, i1 false ; and %inner.cond, %alt.cond
197 %outer.sel = select i1 %outer.cond, i1 %outer.sel.trueval, i1 %inner.sel
198 ret i1 %outer.sel
200 define i1 @orcond.different.inner.cond.inverted.in.outer.cond(i1 %inner.cond.v0, i1 %inner.cond.v1, i1 %alt.cond, i1 %inner.sel.trueval, i1 %inner.sel.falseval, i1 %outer.sel.falseval) {
201 ; CHECK-LABEL: @orcond.different.inner.cond.inverted.in.outer.cond(
209 %outer.cond = select i1 %not.inner.cond.0, i1 true, i1 %alt.cond ; or %inner.cond, %alt.cond
211 %outer.sel = select i1 %outer.cond, i1 %inner.sel, i1 %outer.sel.falseval
212 ret i1 %outer.sel
215 define i1 @andcond.different.inner.cond.inverted.in.inner.sel(i1 %inner.cond.v0, i1 %inner.cond.v1, i1 %alt.cond, i1 %inner.sel.trueval, i1 %inner.sel.falseval, i1 %outer.sel.trueval) {
223 %outer.cond = select i1 %inner.cond.v0, i1 %alt.cond, i1 false ; and %inner.cond, %alt.cond
226 %outer.sel = select i1 %outer.cond, i1 %outer.sel.trueval, i1 %inner.sel
227 ret i1 %outer.sel
229 define i1 @orcond.different.inner.cond.inverted.in.inner.sel(i1 %inner.cond.v0, i1 %inner.cond.v1, i1 %alt.cond, i1 %inner.sel.trueval, i1 %inner.sel.falseval, i1 %outer.sel.falseval) {
237 %outer.cond = select i1 %inner.cond.v0, i1 true, i1 %alt.cond ; or %inner.cond, %alt.cond
240 %outer.sel = select i1 %outer.cond, i1 %inner.sel, i1 %outer.sel.falseval
241 ret i1 %outer.sel
246 define i8 @D139275_c4001580(i1 %c0, i1 %c1, i1 %c2, i8 %inner.sel.trueval, i8 %inner.sel.falseval, i8 %outer.sel.trueval) {
255 %outer.cond = and i1 %c2, %c1
257 %outer.sel = select i1 %outer.cond, i8 %outer.sel.trueval, i8 %inner.sel
258 ret i8 %outer.sel
263 ; In %outer.sel, %outer.cond is inverted
264 define i1 @andcond.001.inv.outer.cond(i1 %inner.cond, i1 %alt.cond, i1 %inner.sel.trueval, i1 %inner.sel.falseval, i1 %outer.sel.trueval) {
265 ; CHECK-LABEL: @andcond.001.inv.outer.cond(
271 %outer.cond = select i1 %inner.cond, i1 %alt.cond, i1 false ; and %inner.cond, %alt.cond
273 %not.outer.cond = xor i1 %outer.cond, -1
274 %outer.sel = select i1 %not.outer.cond, i1 %inner.sel, i1 false
275 ret i1 %outer.sel
277 define i1 @orcond.001.inv.outer.cond(i1 %inner.cond, i1 %alt.cond, i1 %inner.sel.trueval, i1 %inner.sel.falseval, i1 %outer.sel.falseval) {
278 ; CHECK-LABEL: @orcond.001.inv.outer.cond(
284 %outer.cond = select i1 %inner.cond, i1 true, i1 %alt.cond ; or %inner.cond, %alt.cond
286 %not.outer.cond = xor i1 %outer.cond, -1
287 %outer.sel = select i1 %not.outer.cond, i1 true, i1 %inner.sel
288 ret i1 %outer.sel
292 define i1 @andcond.010.inv.inner.cond.in.inner.sel(i1 %inner.cond, i1 %alt.cond, i1 %inner.sel.trueval, i1 %inner.sel.falseval, i1 %outer.sel.trueval) {
298 %outer.cond = select i1 %inner.cond, i1 %alt.cond, i1 false ; and %inner.cond, %alt.cond
301 %outer.sel = select i1 %outer.cond, i1 %outer.sel.trueval, i1 %inner.sel
302 ret i1 %outer.sel
304 define i1 @orcond.010.inv.inner.cond.in.inner.sel(i1 %inner.cond, i1 %alt.cond, i1 %inner.sel.trueval, i1 %inner.sel.falseval, i1 %outer.sel.falseval) {
310 %outer.cond = select i1 %inner.cond, i1 true, i1 %alt.cond ; or %inner.cond, %alt.cond
313 %outer.sel = select i1 %outer.cond, i1 %inner.sel, i1 %outer.sel.falseval
314 ret i1 %outer.sel
317 ; In %outer.cond, %inner.cond is inverted
318 define i8 @andcond.100.inv.inner.cond.in.outer.cond(i1 %inner.cond, i1 %alt.cond, i8 %inner.sel.trueval, i8 %inner.sel.falseval, i8 %outer.sel.trueval) {
319 ; CHECK-LABEL: @andcond.100.inv.inner.cond.in.outer.cond(
325 %outer.cond = select i1 %not.inner.cond, i1 %alt.cond, i1 false ; and %inner.cond, %alt.cond
327 %outer.sel = select i1 %outer.cond, i8 %outer.sel.trueval, i8 %inner.sel
328 ret i8 %outer.sel
330 define i8 @orcond.100.inv.inner.cond.in.outer.cond(i1 %inner.cond, i1 %alt.cond, i8 %inner.sel.trueval, i8 %inner.sel.falseval, i8 %outer.sel.falseval) {
331 ; CHECK-LABEL: @orcond.100.inv.inner.cond.in.outer.cond(
337 %outer.cond = select i1 %not.inner.cond, i1 true, i1 %alt.cond ; or %inner.cond, %alt.cond
339 %outer.sel = select i1 %outer.cond, i8 %inner.sel, i8 %outer.sel.falseval
340 ret i8 %outer.sel
343 ; In %outer.sel, %outer.cond is inverted
345 define i1 @andcond.011.inv.outer.cond.inv.inner.cond.in.inner.sel(i1 %inner.cond, i1 %alt.cond, i1 %inner.sel.trueval, i1 %inner.sel.falseval, i1 %outer.sel.trueval) {
346 ; CHECK-LABEL: @andcond.011.inv.outer.cond.inv.inner.cond.in.inner.sel(
356 %outer.cond = select i1 %inner.cond, i1 %alt.cond, i1 false ; and %inner.cond, %alt.cond
359 %not.outer.cond = xor i1 %outer.cond, -1
361 %outer.sel = select i1 %not.outer.cond, i1 %inner.sel, i1 false
362 ret i1 %outer.sel
364 define i1 @orcond.011.inv.outer.cond.inv.inner.cond.in.inner.sel(i1 %inner.cond, i1 %alt.cond, i1 %inner.sel.trueval, i1 %inner.sel.falseval, i1 %outer.sel.falseval) {
365 ; CHECK-LABEL: @orcond.011.inv.outer.cond.inv.inner.cond.in.inner.sel(
375 %outer.cond = select i1 %inner.cond, i1 true, i1 %alt.cond ; or %inner.cond, %alt.cond
379 %not.outer.cond = xor i1 %outer.cond, -1
380 %outer.sel = select i1 %not.outer.cond, i1 true, i1 %inner.sel
381 ret i1 %outer.sel
384 ; In %outer.sel, %outer.cond is inverted
385 ; In %outer.cond, %inner.cond is inverted
386 define i1 @andcond.101.inv.outer.cond.inv.inner.cond.in.outer.cond(i1 %inner.cond, i1 %alt.cond, i1 %inner.sel.trueval, i1 %inner.sel.falseval, i1 %outer.sel.trueval) {
387 ; CHECK-LABEL: @andcond.101.inv.outer.cond.inv.inner.cond.in.outer.cond(
396 %outer.cond = select i1 %not.inner.cond, i1 %alt.cond, i1 false ; and %inner.cond, %alt.cond
399 %not.outer.cond = xor i1 %outer.cond, -1
400 %outer.sel = select i1 %not.outer.cond, i1 %inner.sel, i1 false
401 ret i1 %outer.sel
403 define i1 @orcond.101.inv.outer.cond.inv.inner.cond.in.outer.cond(i1 %inner.cond, i1 %alt.cond, i1 %inner.sel.trueval, i1 %inner.sel.falseval, i1 %outer.sel.falseval) {
404 ; CHECK-LABEL: @orcond.101.inv.outer.cond.inv.inner.cond.in.outer.cond(
413 %outer.cond = select i1 %not.inner.cond, i1 true, i1 %alt.cond ; or %inner.cond, %alt.cond
416 %not.outer.cond = xor i1 %outer.cond, -1
417 %outer.sel = select i1 %not.outer.cond, i1 true, i1 %inner.sel
418 ret i1 %outer.sel
422 ; In %outer.cond, %inner.cond is inverted
423 define i1 @andcond.110.inv.inner.cond.in.inner.sel.inv.inner.cond.in.outer.cond(i1 %inner.cond, i1 %alt.cond, i1 %inner.sel.trueval, i1 %inner.sel.falseval, i1 %outer.sel.trueval) {
424 ; CHECK-LABEL: @andcond.110.inv.inner.cond.in.inner.sel.inv.inner.cond.in.outer.cond(
431 %outer.cond = select i1 %not.inner.cond.0, i1 %alt.cond, i1 false ; and %inner.cond, %alt.cond
434 %outer.sel = select i1 %outer.cond, i1 %outer.sel.trueval, i1 %inner.sel
435 ret i1 %outer.sel
437 define i1 @orcond.110.inv.inner.cond.in.inner.sel.inv.inner.cond.in.outer.cond(i1 %inner.cond, i1 %alt.cond, i1 %inner.sel.trueval, i1 %inner.sel.falseval, i1 %outer.sel.falseval) {
438 ; CHECK-LABEL: @orcond.110.inv.inner.cond.in.inner.sel.inv.inner.cond.in.outer.cond(
445 %outer.cond = select i1 %not.inner.cond.0, i1 true, i1 %alt.cond ; or %inner.cond, %alt.cond
448 %outer.sel = select i1 %outer.cond, i1 %inner.sel, i1 %outer.sel.falseval
449 ret i1 %outer.sel
452 ; In %outer.sel, %outer.cond is inverted
454 ; In %outer.cond, %inner.cond is inverted
455 define i1 @andcond.111.inv.all.conds(i1 %inner.cond, i1 %alt.cond, i1 %inner.sel.trueval, i1 %inner.sel.falseval, i1 %outer.sel.trueval) {
469 %outer.cond = select i1 %not.inner.cond.0, i1 %alt.cond, i1 false ; and %inner.cond, %alt.cond
470 call void @use.i1(i1 %outer.cond)
474 %not.outer.cond = xor i1 %outer.cond, -1
475 %outer.sel = select i1 %not.outer.cond, i1 %inner.sel, i1 false
476 ret i1 %outer.sel
478 define i1 @orcond.111.inv.all.conds(i1 %inner.cond, i1 %alt.cond, i1 %inner.sel.trueval, i1 %inner.sel.falseval, i1 %outer.sel.falseval) {
492 %outer.cond = select i1 %not.inner.cond.0, i1 true, i1 %alt.cond ; or %inner.cond, %alt.cond
493 call void @use.i1(i1 %outer.cond)
497 %not.outer.cond = xor i1 %outer.cond, -1
498 %outer.sel = select i1 %not.outer.cond, i1 true, i1 %inner.sel
499 ret i1 %outer.sel