Lines Matching full:inner

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
16 %inner.sel = select i1 %inner.cond, i8 %inner.sel.trueval, i8 %inner.sel.falseval
17 %outer.sel = select i1 %outer.cond, i8 %outer.sel.trueval, i8 %inner.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
27 %inner.sel = select i1 %inner.cond, i8 %inner.sel.trueval, i8 %inner.sel.falseval
28 %outer.sel = select i1 %outer.cond, i8 %inner.sel, i8 %outer.sel.falseval
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
44 %inner.sel = select i1 %inner.cond, i8 %inner.sel.trueval, i8 %inner.sel.falseval
45 %outer.sel = select i1 %outer.cond, i8 %outer.sel.trueval, i8 %inner.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
58 %inner.sel = select i1 %inner.cond, i8 %inner.sel.trueval, i8 %inner.sel.falseval
59 %outer.sel = select i1 %outer.cond, i8 %inner.sel, i8 %outer.sel.falseval
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
72 %inner.sel = select i1 %inner.cond, i8 %inner.sel.trueval, i8 %inner.sel.falseval
73 call void @use.i8(i8 %inner.sel)
74 %outer.sel = select i1 %outer.cond, i8 %outer.sel.trueval, i8 %inner.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
86 %inner.sel = select i1 %inner.cond, i8 %inner.sel.trueval, i8 %inner.sel.falseval
87 call void @use.i8(i8 %inner.sel)
88 %outer.sel = select i1 %outer.cond, i8 %inner.sel, i8 %outer.sel.falseval
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
103 %inner.sel = select i1 %inner.cond, i8 %inner.sel.trueval, i8 %inner.sel.falseval
104 call void @use.i8(i8 %inner.sel)
105 %outer.sel = select i1 %outer.cond, i8 %outer.sel.trueval, i8 %inner.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
119 %inner.sel = select i1 %inner.cond, i8 %inner.sel.trueval, i8 %inner.sel.falseval
120 call void @use.i8(i8 %inner.sel)
121 %outer.sel = select i1 %outer.cond, i8 %inner.sel, i8 %outer.sel.falseval
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) {
128 ; CHECK-LABEL: @andcond.different.inner.cond(
135 %outer.cond = select i1 %inner.cond.v0, i1 %alt.cond, i1 false
136 %inner.sel = select i1 %inner.cond.v1, i8 %inner.sel.trueval, i8 %inner.sel.falseval
137 %outer.sel = select i1 %outer.cond, i8 %outer.sel.trueval, i8 %inner.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) {
141 ; CHECK-LABEL: @orcond.different.inner.cond(
147 %outer.cond = select i1 %inner.cond.v0, i1 true, i1 %alt.cond
148 %inner.sel = select i1 %inner.cond.v1, i8 %inner.sel.trueval, i8 %inner.sel.falseval
149 %outer.sel = select i1 %outer.cond, i8 %inner.sel, i8 %outer.sel.falseval
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) {
154 ; CHECK-LABEL: @andcond.different.inner.cond.both.inverted(
162 %not.inner.cond.0 = xor i1 %inner.cond.v0, -1
163 %outer.cond = select i1 %not.inner.cond.0, i1 %alt.cond, i1 false ; and %inner.cond, %alt.cond
164 %not.inner.cond.1 = xor i1 %inner.cond.v1, -1
165 %inner.sel = select i1 %not.inner.cond.1, i1 %inner.sel.falseval, i1 false
166 %outer.sel = select i1 %outer.cond, i1 %outer.sel.trueval, i1 %inner.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) {
170 ; CHECK-LABEL: @orcond.different.inner.cond.both.inverted(
178 %not.inner.cond.0 = xor i1 %inner.cond.v0, -1
179 %outer.cond = select i1 %not.inner.cond.0, i1 true, i1 %alt.cond ; or %inner.cond, %alt.cond
180 %not.inner.cond.1 = xor i1 %inner.cond.v1, -1
181 %inner.sel = select i1 %not.inner.cond.1, i1 true, i1 %inner.sel.trueval
182 %outer.sel = select i1 %outer.cond, i1 %inner.sel, i1 %outer.sel.falseval
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(
194 %not.inner.cond.0 = xor i1 %inner.cond.v0, -1
195 %outer.cond = select i1 %not.inner.cond.0, i1 %alt.cond, i1 false ; and %inner.cond, %alt.cond
196 %inner.sel = select i1 %inner.cond.v1, i1 %inner.sel.falseval, i1 false
197 %outer.sel = select i1 %outer.cond, i1 %outer.sel.trueval, i1 %inner.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(
208 %not.inner.cond.0 = xor i1 %inner.cond.v0, -1
209 %outer.cond = select i1 %not.inner.cond.0, i1 true, i1 %alt.cond ; or %inner.cond, %alt.cond
210 %inner.sel = select i1 %inner.cond.v1, i1 true, i1 %inner.sel.trueval
211 %outer.sel = select i1 %outer.cond, i1 %inner.sel, i1 %outer.sel.falseval
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) {
216 ; CHECK-LABEL: @andcond.different.inner.cond.inverted.in.inner.sel(
223 %outer.cond = select i1 %inner.cond.v0, i1 %alt.cond, i1 false ; and %inner.cond, %alt.cond
224 %not.inner.cond.1 = xor i1 %inner.cond.v1, -1
225 %inner.sel = select i1 %not.inner.cond.1, i1 %inner.sel.falseval, i1 false
226 %outer.sel = select i1 %outer.cond, i1 %outer.sel.trueval, i1 %inner.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) {
230 ; CHECK-LABEL: @orcond.different.inner.cond.inverted.in.inner.sel(
237 %outer.cond = select i1 %inner.cond.v0, i1 true, i1 %alt.cond ; or %inner.cond, %alt.cond
238 %not.inner.cond.1 = xor i1 %inner.cond.v1, -1
239 %inner.sel = select i1 %not.inner.cond.1, i1 true, i1 %inner.sel.trueval
240 %outer.sel = select i1 %outer.cond, i1 %inner.sel, i1 %outer.sel.falseval
246 define i8 @D139275_c4001580(i1 %c0, i1 %c1, i1 %c2, i8 %inner.sel.trueval, i8 %inner.sel.falseval, i8 %outer.sel.trueval) {
254 %inner.cond = xor i1 %c0, %c1
256 %inner.sel = select i1 %inner.cond, i8 %inner.sel.trueval, i8 %inner.sel.falseval
257 %outer.sel = select i1 %outer.cond, i8 %outer.sel.trueval, i8 %inner.sel
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) {
271 %outer.cond = select i1 %inner.cond, i1 %alt.cond, i1 false ; and %inner.cond, %alt.cond
272 %inner.sel = select i1 %inner.cond, i1 %inner.sel.trueval, i1 %inner.sel.falseval
274 %outer.sel = select i1 %not.outer.cond, i1 %inner.sel, i1 false
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) {
284 %outer.cond = select i1 %inner.cond, i1 true, i1 %alt.cond ; or %inner.cond, %alt.cond
285 %inner.sel = select i1 %inner.cond, i1 %inner.sel.trueval, i1 %inner.sel.falseval
287 %outer.sel = select i1 %not.outer.cond, i1 true, i1 %inner.sel
291 ; In %inner.sel, %inner.cond is inverted
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) {
293 ; CHECK-LABEL: @andcond.010.inv.inner.cond.in.inner.sel(
298 %outer.cond = select i1 %inner.cond, i1 %alt.cond, i1 false ; and %inner.cond, %alt.cond
299 %not.inner.cond = xor i1 %inner.cond, -1
300 %inner.sel = select i1 %not.inner.cond, i1 %inner.sel.falseval, i1 false
301 %outer.sel = select i1 %outer.cond, i1 %outer.sel.trueval, i1 %inner.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) {
305 ; CHECK-LABEL: @orcond.010.inv.inner.cond.in.inner.sel(
310 %outer.cond = select i1 %inner.cond, i1 true, i1 %alt.cond ; or %inner.cond, %alt.cond
311 %not.inner.cond = xor i1 %inner.cond, -1
312 %inner.sel = select i1 %not.inner.cond, i1 true, i1 %inner.sel.trueval
313 %outer.sel = select i1 %outer.cond, i1 %inner.sel, i1 %outer.sel.falseval
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(
324 %not.inner.cond = xor i1 %inner.cond, -1
325 %outer.cond = select i1 %not.inner.cond, i1 %alt.cond, i1 false ; and %inner.cond, %alt.cond
326 %inner.sel = select i1 %inner.cond, i8 %inner.sel.trueval, i8 %inner.sel.falseval
327 %outer.sel = select i1 %outer.cond, i8 %outer.sel.trueval, i8 %inner.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(
336 %not.inner.cond = xor i1 %inner.cond, -1
337 %outer.cond = select i1 %not.inner.cond, i1 true, i1 %alt.cond ; or %inner.cond, %alt.cond
338 %inner.sel = select i1 %inner.cond, i8 %inner.sel.trueval, i8 %inner.sel.falseval
339 %outer.sel = select i1 %outer.cond, i8 %inner.sel, i8 %outer.sel.falseval
344 ; In %inner.sel, %inner.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
357 %not.inner.cond = xor i1 %inner.cond, -1
358 %inner.sel = select i1 %not.inner.cond, i1 true, i1 %inner.sel.falseval
360 call void @use.i1(i1 %inner.sel)
361 %outer.sel = select i1 %not.outer.cond, i1 %inner.sel, i1 false
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
376 %not.inner.cond = xor i1 %inner.cond, -1
377 %inner.sel = select i1 %not.inner.cond, i1 %inner.sel.trueval, i1 false
378 call void @use.i1(i1 %inner.sel)
380 %outer.sel = select i1 %not.outer.cond, i1 true, i1 %inner.sel
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(
395 %not.inner.cond = xor i1 %inner.cond, -1
396 %outer.cond = select i1 %not.inner.cond, i1 %alt.cond, i1 false ; and %inner.cond, %alt.cond
397 %inner.sel = select i1 %inner.cond, i1 %inner.sel.trueval, i1 %inner.sel.falseval
398 call void @use.i1(i1 %inner.sel)
400 %outer.sel = select i1 %not.outer.cond, i1 %inner.sel, i1 false
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(
412 %not.inner.cond = xor i1 %inner.cond, -1
413 %outer.cond = select i1 %not.inner.cond, i1 true, i1 %alt.cond ; or %inner.cond, %alt.cond
414 %inner.sel = select i1 %inner.cond, i1 %inner.sel.trueval, i1 %inner.sel.falseval
415 call void @use.i1(i1 %inner.sel)
417 %outer.sel = select i1 %not.outer.cond, i1 true, i1 %inner.sel
421 ; In %inner.sel, %inner.cond is inverted
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(
430 %not.inner.cond.0 = xor i1 %inner.cond, -1
431 %outer.cond = select i1 %not.inner.cond.0, i1 %alt.cond, i1 false ; and %inner.cond, %alt.cond
432 %not.inner.cond.1 = xor i1 %inner.cond, -1
433 %inner.sel = select i1 %not.inner.cond.1, i1 %inner.sel.falseval, i1 false
434 %outer.sel = select i1 %outer.cond, i1 %outer.sel.trueval, i1 %inner.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(
444 %not.inner.cond.0 = xor i1 %inner.cond, -1
445 %outer.cond = select i1 %not.inner.cond.0, i1 true, i1 %alt.cond ; or %inner.cond, %alt.cond
446 %not.inner.cond.1 = xor i1 %inner.cond, -1
447 %inner.sel = select i1 %not.inner.cond.1, i1 true, i1 %inner.sel.trueval
448 %outer.sel = select i1 %outer.cond, i1 %inner.sel, i1 %outer.sel.falseval
453 ; In %inner.sel, %inner.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) {
468 %not.inner.cond.0 = xor i1 %inner.cond, -1
469 %outer.cond = select i1 %not.inner.cond.0, i1 %alt.cond, i1 false ; and %inner.cond, %alt.cond
471 %not.inner.cond.1 = xor i1 %inner.cond, -1
472 %inner.sel = select i1 %not.inner.cond.1, i1 %inner.sel.falseval, i1 false
473 call void @use.i1(i1 %inner.sel)
475 %outer.sel = select i1 %not.outer.cond, i1 %inner.sel, i1 false
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) {
491 %not.inner.cond.0 = xor i1 %inner.cond, -1
492 %outer.cond = select i1 %not.inner.cond.0, i1 true, i1 %alt.cond ; or %inner.cond, %alt.cond
494 %not.inner.cond.1 = xor i1 %inner.cond, -1
495 %inner.sel = select i1 %not.inner.cond.1, i1 true, i1 %inner.sel.trueval
496 call void @use.i1(i1 %inner.sel)
498 %outer.sel = select i1 %not.outer.cond, i1 true, i1 %inner.sel