Lines Matching refs:i1
7 %C = select i1 false, i32 %A, i32 %B
14 %C = select i1 true, i32 %A, i32 %B
21 define i32 @test3(i1 %C, i32 %I) {
23 %V = select i1 %C, i32 %I, i32 %I
29 define i1 @test4(i1 %C) {
31 %V = select i1 %C, i1 true, i1 false
32 ret i1 %V
34 ; CHECK: ret i1 %C
37 define i1 @test5(i1 %C) {
39 %V = select i1 %C, i1 false, i1 true
40 ret i1 %V
42 ; CHECK: xor i1 %C, true
43 ; CHECK: ret i1
46 define i32 @test6(i1 %C) {
48 %V = select i1 %C, i32 1, i32 0
51 ; CHECK: %V = zext i1 %C to i32
55 define i1 @test7(i1 %C, i1 %X) {
57 %R = select i1 %C, i1 true, i1 %X
58 ret i1 %R
60 ; CHECK: %R = or i1 %C, %X
61 ; CHECK: ret i1 %R
64 define i1 @test8(i1 %C, i1 %X) {
66 %R = select i1 %C, i1 %X, i1 false
67 ret i1 %R
69 ; CHECK: %R = and i1 %C, %X
70 ; CHECK: ret i1 %R
73 define i1 @test9(i1 %C, i1 %X) {
75 %R = select i1 %C, i1 false, i1 %X
76 ret i1 %R
78 ; CHECK: xor i1 %C, true
79 ; CHECK: %R = and i1
80 ; CHECK: ret i1 %R
83 define i1 @test10(i1 %C, i1 %X) {
85 %R = select i1 %C, i1 %X, i1 true
86 ret i1 %R
88 ; CHECK: xor i1 %C, true
89 ; CHECK: %R = or i1
90 ; CHECK: ret i1 %R
95 %R = select i1 %C, i32 0, i32 1
99 ; CHECK: %R = zext i1
103 define i32 @test12(i1 %cond, i32 %a) {
105 %c = select i1 %cond, i32 %b, i32 %a
108 ; CHECK: %b = zext i1 %cond to i32
113 define i32 @test12a(i1 %cond, i32 %a) {
115 %c = select i1 %cond, i32 %b, i32 %a
118 ; CHECK: %b = zext i1 %cond to i32
123 define i32 @test12b(i1 %cond, i32 %a) {
125 %c = select i1 %cond, i32 %a, i32 %b
128 ; CHECK: zext i1 %cond to i32
136 %V = select i1 %C, i32 %a, i32 %b
144 %V = select i1 %C, i32 %a, i32 %b
152 %V = select i1 %C, i32 %b, i32 %a
158 define i1 @test14a(i1 %C, i32 %X) {
159 %V = select i1 %C, i32 %X, i32 0
162 ret i1 %R
165 ; CHECK: xor i1 %C, true
166 ; CHECK: or i1
167 ; CHECK: ret i1 %R
170 define i1 @test14b(i1 %C, i32 %X) {
171 %V = select i1 %C, i32 0, i32 %X
174 ret i1 %R
177 ; CHECK: or i1
178 ; CHECK: ret i1 %R
185 %t3 = select i1 %t2, i32 0, i32 16
196 %t3 = select i1 %t2, i32 32, i32 0
208 %t3 = select i1 %t2, i32 16, i32 0
219 %t3 = select i1 %t2, i32 16, i32 0
230 %t3 = select i1 %t2, i32 256, i32 0
242 %t3 = select i1 %t2, i32 0, i32 256
255 %t3 = select i1 %t2, i32 -1, i32 -9
266 %t3 = select i1 %t2, i32 -9, i32 -1
278 %t3 = select i1 %t2, i32 577, i32 1089
292 %t3 = select i1 %t2, i32 1089, i32 577
301 define i32 @test16(i1 %C, i32* %P) {
302 %P2 = select i1 %C, i32* %P, i32* null
310 define i1 @test17(i32* %X, i1 %C) {
311 %R = select i1 %C, i32* %X, i32* null
313 ret i1 %RV
316 ; CHECK: xor i1 %C, true
317 ; CHECK: %RV = or i1
318 ; CHECK: ret i1 %RV
321 define i32 @test18(i32 %X, i32 %Y, i1 %C) {
322 %R = select i1 %C, i32 %X, i32 0
332 %retval = select i1 %tmp, i32 -1, i32 0
341 %retval = select i1 %tmp, i32 -1, i32 0
350 %retval = select i1 %tmp, i64 -1, i64 0
360 %retval = select i1 %tmp, i16 -1, i16 0
368 define i1 @test23(i1 %a, i1 %b) {
369 %c = select i1 %a, i1 %b, i1 %a
370 ret i1 %c
372 ; CHECK-NEXT: %c = and i1 %a, %b
373 ; CHECK-NEXT: ret i1 %c
376 define i1 @test24(i1 %a, i1 %b) {
377 %c = select i1 %a, i1 %a, i1 %b
378 ret i1 %c
380 ; CHECK-NEXT: %c = or i1 %a, %b
381 ; CHECK-NEXT: ret i1 %c
384 define i32 @test25(i1 %c) {
386 br i1 %c, label %jump, label %ret
390 %a = phi i1 [true, %jump], [false, %entry]
391 %b = select i1 %a, i32 10, i32 20
398 define i32 @test26(i1 %cond) {
400 br i1 %cond, label %jump, label %ret
402 %c = or i1 false, false
405 %a = phi i1 [true, %jump], [%c, %entry]
406 %b = select i1 %a, i32 10, i32 20
413 define i32 @test27(i1 %c, i32 %A, i32 %B) {
415 br i1 %c, label %jump, label %ret
419 %a = phi i1 [true, %jump], [false, %entry]
420 %b = select i1 %a, i32 %A, i32 %B
427 define i32 @test28(i1 %cond, i32 %A, i32 %B) {
429 br i1 %cond, label %jump, label %ret
434 %a = phi i1 [true, %jump], [false, %entry]
435 %b = select i1 %a, i32 %A, i32 %c
442 define i32 @test29(i1 %cond, i32 %A, i32 %B) {
444 br i1 %cond, label %jump, label %ret
449 %a = phi i1 [true, %jump], [false, %entry]
453 %b = select i1 %a, i32 %A, i32 %c
464 %cond = select i1 %cmp, i32 %x, i32 %y
467 %retval = select i1 %cmp5, i32 %cond, i32 %x
476 %cond = select i1 %cmp, i32 %x, i32 %y
478 %retval = select i1 %cmp5, i32 %cond, i32 %x
487 %cond = select i1 %cmp, i32 %y, i32 %x
489 %retval = select i1 %cmp5, i32 %x, i32 %cond
498 %cond = select i1 %cmp, i32 %y, i32 %x
500 %retval = select i1 %cmp5, i32 %cond, i32 %x
509 %cond = select i1 %cmp, i32 %x, i32 %y
511 %retval = select i1 %cmp5, i32 %x, i32 %cond
519 %cond = select i1 %cmp, i32 60, i32 100
530 %cond = select i1 %cmp, i32 60, i32 100
541 %cond = select i1 %cmp, i32 1, i32 -1
549 define i1 @test38(i1 %cond) {
552 %ptr = select i1 %cond, i32* %zero, i32* %one
554 ret i1 %isnull
556 ; CHECK: ret i1 false
559 define i1 @test39(i1 %cond, double %x) {
560 %s = select i1 %cond, double %x, double 0x7FF0000000000000 ; RHS = +infty
562 ret i1 %cmp
564 ; CHECK: ret i1 true
567 define i1 @test40(i1 %cond) {
571 %s = select i1 %cond, i32* %a, i32* %b
573 ret i1 %r
575 ; CHECK: ret i1 false
578 define i32 @test41(i1 %cond, i32 %x, i32 %y) {
580 %s = select i1 %cond, i32 %y, i32 %z
591 %c = select i1 %cond, i32 %b, i32 %y
595 ; CHECK-NEXT: %b = sext i1 %cond to i32
603 %max = select i1 %is_a_nonnegative, i64 %a_ext, i64 0
608 ; CHECK-NEXT: %max = select i1 %is_a_nonnegative, i64 0, i64 %a_ext
615 %min = select i1 %is_a_nonpositive, i64 %a_ext, i64 0
620 ; CHECK-NEXT: %min = select i1 %is_a_nonpositive, i64 0, i64 %a_ext
626 %max = select i1 %is_a_nonnegative, i64 %a_ext, i64 3
631 ; CHECK-NEXT: %max = select i1 %is_a_nonnegative, i64 3, i64 %a_ext
638 %min = select i1 %is_a_nonpositive, i64 %a_ext, i64 2
643 ; CHECK-NEXT: %min = select i1 %is_a_nonpositive, i64 2, i64 %a_ext
649 %max = select i1 %is_a_nonnegative, i64 %a_ext, i64 3
654 ; CHECK-NEXT: %max = select i1 %is_a_nonnegative, i64 3, i64 %a_ext
661 %min = select i1 %is_a_nonpositive, i64 %a_ext, i64 2
666 ; CHECK-NEXT: %min = select i1 %is_a_nonpositive, i64 2, i64 %a_ext
673 %min = select i1 %is_a_nonpositive, i64 2, i64 %a_ext
678 ; CHECK-NEXT: %min = select i1 %is_a_nonpositive, i64 %a_ext, i64 2
684 %min = select i1 %is_a_nonpositive, i64 2, i64 %a_ext
689 ; CHECK-NEXT: %min = select i1 %is_a_nonpositive, i64 %a_ext, i64 2
697 define i48 @test51(<3 x i1> %icmp, <3 x i16> %tmp) {
699 %select = select <3 x i1> %icmp, <3 x i16> zeroinitializer, <3 x i16> %tmp
700 ; CHECK: select <3 x i1>
710 %. = select i1 %cmp, i32 1, i32 3
712 %storemerge = select i1 %cmp, i32 %., i32 %add
713 ; CHECK: select i1 %cmp, i32 1, i32 6
721 %sel = select i1 %cmp, i32 2, i32 1
724 ; CHECK: select i1 %cmp
731 %C = select i1 %B, i32 %A, i32 1
741 define i1 @test55(i1 %X, i32 %Y, i32 %Z) {
743 %B = select i1 %X, i32 %Y, i32 %A
745 ret i1 %C
750 ; CHECK: ret i1
756 %cond = select i1 %tobool, i32 0, i32 %conv
766 %.and = select i1 %tobool, i32 0, i32 %and
776 %cond = select i1 %tobool, i32 %conv, i32 1
786 %.and = select i1 %tobool, i32 %and, i32 %y
793 define i1 @test60(i32 %x, i1* %y) nounwind {
795 %load = load i1* %y, align 1
797 %sel = select i1 %cmp, i1 %load, i1 %cmp1
798 ret i1 %sel
807 %C = select i1 %B, i32 %A, i32 10
813 define i1 @test62(i1 %A, i1 %B) {
814 %not = xor i1 %A, true
815 %C = select i1 %A, i1 %not, i1 %B
816 ret i1 %C
818 ; CHECK: %not = xor i1 %A, true
819 ; CHECK: %C = and i1 %not, %B
820 ; CHECK: ret i1 %C
823 define i1 @test63(i1 %A, i1 %B) {
824 %not = xor i1 %A, true
825 %C = select i1 %A, i1 %B, i1 %not
826 ret i1 %C
828 ; CHECK: %not = xor i1 %A, true
829 ; CHECK: %C = or i1 %B, %not
830 ; CHECK: ret i1 %C
838 br i1 undef, label %lor.rhs, label %lor.end
852 %cmp.sink = select i1 %tobool8, i1 %cmp12, i1 %cmp
853 br i1 %cmp.sink, label %cond.end17, label %cond.false16
876 %select = select i1 %cmp, i32 %y, i32 %or
889 %select = select i1 %cmp, i32 %y, i32 %or
902 %select = select i1 %cmp, i32 %y, i32 %or
914 %select = select i1 %cmp, i32 %y, i32 %or
927 %select = select i1 %cmp, i32 %y, i32 %or
941 %select = select i1 %cmp, i32 %y, i32 %or
955 %select = select i1 %cmp, i32 %y, i32 %or
970 %select = select i1 %cmp, i8 %y, i8 %or
985 %select = select i1 %cmp, i32 %y, i32 %or
992 %3 = select i1 %2, i32 40, i32 42
1005 %3 = select i1 %2, i32 40, i32 42
1015 %3 = select i1 %2, i32 40, i32 42