diff options
Diffstat (limited to 'llvm/test/Transforms')
| -rw-r--r-- | llvm/test/Transforms/InstCombine/2005-06-16-SetCCOrSetCCMiscompile.ll | 14 | ||||
| -rw-r--r-- | llvm/test/Transforms/InstCombine/and-or-icmps.ll | 4 | ||||
| -rw-r--r-- | llvm/test/Transforms/InstCombine/or.ll | 11 | ||||
| -rw-r--r-- | llvm/test/Transforms/InstSimplify/icmp-ranges.ll | 546 |
4 files changed, 127 insertions, 448 deletions
diff --git a/llvm/test/Transforms/InstCombine/2005-06-16-SetCCOrSetCCMiscompile.ll b/llvm/test/Transforms/InstCombine/2005-06-16-SetCCOrSetCCMiscompile.ll deleted file mode 100644 index 9c989b9ecf8..00000000000 --- a/llvm/test/Transforms/InstCombine/2005-06-16-SetCCOrSetCCMiscompile.ll +++ /dev/null @@ -1,14 +0,0 @@ -; RUN: opt < %s -instcombine -S | \ -; RUN: grep "ret i1 true" -; PR586 - -@g_07918478 = external global i32 ; <i32*> [#uses=1] - -define i1 @test() { - %tmp.0 = load i32, i32* @g_07918478 ; <i32> [#uses=2] - %tmp.1 = icmp ne i32 %tmp.0, 0 ; <i1> [#uses=1] - %tmp.4 = icmp ult i32 %tmp.0, 4111 ; <i1> [#uses=1] - %bothcond = or i1 %tmp.1, %tmp.4 ; <i1> [#uses=1] - ret i1 %bothcond -} - diff --git a/llvm/test/Transforms/InstCombine/and-or-icmps.ll b/llvm/test/Transforms/InstCombine/and-or-icmps.ll index 464f390f988..165f5d1bffe 100644 --- a/llvm/test/Transforms/InstCombine/and-or-icmps.ll +++ b/llvm/test/Transforms/InstCombine/and-or-icmps.ll @@ -15,9 +15,7 @@ define i1 @PR1817_1(i32 %X) { define i1 @PR1817_2(i32 %X) { ; CHECK-LABEL: @PR1817_2( ; CHECK-NEXT: [[A:%.*]] = icmp slt i32 %X, 10 -; CHECK-NEXT: [[B:%.*]] = icmp ult i32 %X, 10 -; CHECK-NEXT: [[C:%.*]] = or i1 [[A]], [[B]] -; CHECK-NEXT: ret i1 [[C]] +; CHECK-NEXT: ret i1 [[A]] ; %A = icmp slt i32 %X, 10 %B = icmp ult i32 %X, 10 diff --git a/llvm/test/Transforms/InstCombine/or.ll b/llvm/test/Transforms/InstCombine/or.ll index 9ae5eafdfcc..bfafd66ebb4 100644 --- a/llvm/test/Transforms/InstCombine/or.ll +++ b/llvm/test/Transforms/InstCombine/or.ll @@ -661,17 +661,6 @@ define i1 @test47(i8 signext %c) { ret i1 %or } -define i1 @test48(i64 %x, i1 %b) { -; CHECK-LABEL: @test48( -; CHECK-NEXT: ret i1 true -; - %1 = icmp ult i64 %x, 2305843009213693952 - %2 = icmp ugt i64 %x, 2305843009213693951 - %.b = or i1 %2, %b - %3 = or i1 %1, %.b - ret i1 %3 -} - define i32 @test49(i1 %C) { ; CHECK-LABEL: @test49( ; CHECK-NEXT: [[V:%.*]] = select i1 [[C:%.*]], i32 1019, i32 123 diff --git a/llvm/test/Transforms/InstSimplify/icmp-ranges.ll b/llvm/test/Transforms/InstSimplify/icmp-ranges.ll index 8c0e95b1bd7..45194f2df4f 100644 --- a/llvm/test/Transforms/InstSimplify/icmp-ranges.ll +++ b/llvm/test/Transforms/InstSimplify/icmp-ranges.ll @@ -2749,10 +2749,8 @@ define i1 @or_eq_eq(i8 %x) { define i1 @or_eq_ne(i8 %x) { ; CHECK-LABEL: @or_eq_ne( -; CHECK-NEXT: [[A:%.*]] = icmp eq i8 %x, 13 ; CHECK-NEXT: [[B:%.*]] = icmp ne i8 %x, 17 -; CHECK-NEXT: [[C:%.*]] = or i1 [[A]], [[B]] -; CHECK-NEXT: ret i1 [[C]] +; CHECK-NEXT: ret i1 [[B]] ; %a = icmp eq i8 %x, 13 %b = icmp ne i8 %x, 17 @@ -2794,10 +2792,8 @@ define i1 @or_eq_sgt(i8 %x) { define i1 @or_eq_sle(i8 %x) { ; CHECK-LABEL: @or_eq_sle( -; CHECK-NEXT: [[A:%.*]] = icmp eq i8 %x, 13 ; CHECK-NEXT: [[B:%.*]] = icmp sle i8 %x, 17 -; CHECK-NEXT: [[C:%.*]] = or i1 [[A]], [[B]] -; CHECK-NEXT: ret i1 [[C]] +; CHECK-NEXT: ret i1 [[B]] ; %a = icmp eq i8 %x, 13 %b = icmp sle i8 %x, 17 @@ -2809,10 +2805,8 @@ define i1 @or_eq_sle(i8 %x) { define i1 @or_eq_slt(i8 %x) { ; CHECK-LABEL: @or_eq_slt( -; CHECK-NEXT: [[A:%.*]] = icmp eq i8 %x, 13 ; CHECK-NEXT: [[B:%.*]] = icmp slt i8 %x, 17 -; CHECK-NEXT: [[C:%.*]] = or i1 [[A]], [[B]] -; CHECK-NEXT: ret i1 [[C]] +; CHECK-NEXT: ret i1 [[B]] ; %a = icmp eq i8 %x, 13 %b = icmp slt i8 %x, 17 @@ -2854,10 +2848,8 @@ define i1 @or_eq_ugt(i8 %x) { define i1 @or_eq_ule(i8 %x) { ; CHECK-LABEL: @or_eq_ule( -; CHECK-NEXT: [[A:%.*]] = icmp eq i8 %x, 13 ; CHECK-NEXT: [[B:%.*]] = icmp ule i8 %x, 17 -; CHECK-NEXT: [[C:%.*]] = or i1 [[A]], [[B]] -; CHECK-NEXT: ret i1 [[C]] +; CHECK-NEXT: ret i1 [[B]] ; %a = icmp eq i8 %x, 13 %b = icmp ule i8 %x, 17 @@ -2869,10 +2861,8 @@ define i1 @or_eq_ule(i8 %x) { define i1 @or_eq_ult(i8 %x) { ; CHECK-LABEL: @or_eq_ult( -; CHECK-NEXT: [[A:%.*]] = icmp eq i8 %x, 13 ; CHECK-NEXT: [[B:%.*]] = icmp ult i8 %x, 17 -; CHECK-NEXT: [[C:%.*]] = or i1 [[A]], [[B]] -; CHECK-NEXT: ret i1 [[C]] +; CHECK-NEXT: ret i1 [[B]] ; %a = icmp eq i8 %x, 13 %b = icmp ult i8 %x, 17 @@ -2886,9 +2876,7 @@ define i1 @or_eq_ult(i8 %x) { define i1 @or_ne_eq(i8 %x) { ; CHECK-LABEL: @or_ne_eq( ; CHECK-NEXT: [[A:%.*]] = icmp ne i8 %x, 13 -; CHECK-NEXT: [[B:%.*]] = icmp eq i8 %x, 17 -; CHECK-NEXT: [[C:%.*]] = or i1 [[A]], [[B]] -; CHECK-NEXT: ret i1 [[C]] +; CHECK-NEXT: ret i1 [[A]] ; %a = icmp ne i8 %x, 13 %b = icmp eq i8 %x, 17 @@ -2900,10 +2888,7 @@ define i1 @or_ne_eq(i8 %x) { define i1 @or_ne_ne(i8 %x) { ; CHECK-LABEL: @or_ne_ne( -; CHECK-NEXT: [[A:%.*]] = icmp ne i8 %x, 13 -; CHECK-NEXT: [[B:%.*]] = icmp ne i8 %x, 17 -; CHECK-NEXT: [[C:%.*]] = or i1 [[A]], [[B]] -; CHECK-NEXT: ret i1 [[C]] +; CHECK-NEXT: ret i1 true ; %a = icmp ne i8 %x, 13 %b = icmp ne i8 %x, 17 @@ -2916,9 +2901,7 @@ define i1 @or_ne_ne(i8 %x) { define i1 @or_ne_sge(i8 %x) { ; CHECK-LABEL: @or_ne_sge( ; CHECK-NEXT: [[A:%.*]] = icmp ne i8 %x, 13 -; CHECK-NEXT: [[B:%.*]] = icmp sge i8 %x, 17 -; CHECK-NEXT: [[C:%.*]] = or i1 [[A]], [[B]] -; CHECK-NEXT: ret i1 [[C]] +; CHECK-NEXT: ret i1 [[A]] ; %a = icmp ne i8 %x, 13 %b = icmp sge i8 %x, 17 @@ -2931,9 +2914,7 @@ define i1 @or_ne_sge(i8 %x) { define i1 @or_ne_sgt(i8 %x) { ; CHECK-LABEL: @or_ne_sgt( ; CHECK-NEXT: [[A:%.*]] = icmp ne i8 %x, 13 -; CHECK-NEXT: [[B:%.*]] = icmp sgt i8 %x, 17 -; CHECK-NEXT: [[C:%.*]] = or i1 [[A]], [[B]] -; CHECK-NEXT: ret i1 [[C]] +; CHECK-NEXT: ret i1 [[A]] ; %a = icmp ne i8 %x, 13 %b = icmp sgt i8 %x, 17 @@ -2945,10 +2926,7 @@ define i1 @or_ne_sgt(i8 %x) { define i1 @or_ne_sle(i8 %x) { ; CHECK-LABEL: @or_ne_sle( -; CHECK-NEXT: [[A:%.*]] = icmp ne i8 %x, 13 -; CHECK-NEXT: [[B:%.*]] = icmp sle i8 %x, 17 -; CHECK-NEXT: [[C:%.*]] = or i1 [[A]], [[B]] -; CHECK-NEXT: ret i1 [[C]] +; CHECK-NEXT: ret i1 true ; %a = icmp ne i8 %x, 13 %b = icmp sle i8 %x, 17 @@ -2960,10 +2938,7 @@ define i1 @or_ne_sle(i8 %x) { define i1 @or_ne_slt(i8 %x) { ; CHECK-LABEL: @or_ne_slt( -; CHECK-NEXT: [[A:%.*]] = icmp ne i8 %x, 13 -; CHECK-NEXT: [[B:%.*]] = icmp slt i8 %x, 17 -; CHECK-NEXT: [[C:%.*]] = or i1 [[A]], [[B]] -; CHECK-NEXT: ret i1 [[C]] +; CHECK-NEXT: ret i1 true ; %a = icmp ne i8 %x, 13 %b = icmp slt i8 %x, 17 @@ -2976,9 +2951,7 @@ define i1 @or_ne_slt(i8 %x) { define i1 @or_ne_uge(i8 %x) { ; CHECK-LABEL: @or_ne_uge( ; CHECK-NEXT: [[A:%.*]] = icmp ne i8 %x, 13 -; CHECK-NEXT: [[B:%.*]] = icmp uge i8 %x, 17 -; CHECK-NEXT: [[C:%.*]] = or i1 [[A]], [[B]] -; CHECK-NEXT: ret i1 [[C]] +; CHECK-NEXT: ret i1 [[A]] ; %a = icmp ne i8 %x, 13 %b = icmp uge i8 %x, 17 @@ -2991,9 +2964,7 @@ define i1 @or_ne_uge(i8 %x) { define i1 @or_ne_ugt(i8 %x) { ; CHECK-LABEL: @or_ne_ugt( ; CHECK-NEXT: [[A:%.*]] = icmp ne i8 %x, 13 -; CHECK-NEXT: [[B:%.*]] = icmp ugt i8 %x, 17 -; CHECK-NEXT: [[C:%.*]] = or i1 [[A]], [[B]] -; CHECK-NEXT: ret i1 [[C]] +; CHECK-NEXT: ret i1 [[A]] ; %a = icmp ne i8 %x, 13 %b = icmp ugt i8 %x, 17 @@ -3005,10 +2976,7 @@ define i1 @or_ne_ugt(i8 %x) { define i1 @or_ne_ule(i8 %x) { ; CHECK-LABEL: @or_ne_ule( -; CHECK-NEXT: [[A:%.*]] = icmp ne i8 %x, 13 -; CHECK-NEXT: [[B:%.*]] = icmp ule i8 %x, 17 -; CHECK-NEXT: [[C:%.*]] = or i1 [[A]], [[B]] -; CHECK-NEXT: ret i1 [[C]] +; CHECK-NEXT: ret i1 true ; %a = icmp ne i8 %x, 13 %b = icmp ule i8 %x, 17 @@ -3020,10 +2988,7 @@ define i1 @or_ne_ule(i8 %x) { define i1 @or_ne_ult(i8 %x) { ; CHECK-LABEL: @or_ne_ult( -; CHECK-NEXT: [[A:%.*]] = icmp ne i8 %x, 13 -; CHECK-NEXT: [[B:%.*]] = icmp ult i8 %x, 17 -; CHECK-NEXT: [[C:%.*]] = or i1 [[A]], [[B]] -; CHECK-NEXT: ret i1 [[C]] +; CHECK-NEXT: ret i1 true ; %a = icmp ne i8 %x, 13 %b = icmp ult i8 %x, 17 @@ -3037,9 +3002,7 @@ define i1 @or_ne_ult(i8 %x) { define i1 @or_sge_eq(i8 %x) { ; CHECK-LABEL: @or_sge_eq( ; CHECK-NEXT: [[A:%.*]] = icmp sge i8 %x, 13 -; CHECK-NEXT: [[B:%.*]] = icmp eq i8 %x, 17 -; CHECK-NEXT: [[C:%.*]] = or i1 [[A]], [[B]] -; CHECK-NEXT: ret i1 [[C]] +; CHECK-NEXT: ret i1 [[A]] ; %a = icmp sge i8 %x, 13 %b = icmp eq i8 %x, 17 @@ -3051,10 +3014,7 @@ define i1 @or_sge_eq(i8 %x) { define i1 @or_sge_ne(i8 %x) { ; CHECK-LABEL: @or_sge_ne( -; CHECK-NEXT: [[A:%.*]] = icmp sge i8 %x, 13 -; CHECK-NEXT: [[B:%.*]] = icmp ne i8 %x, 17 -; CHECK-NEXT: [[C:%.*]] = or i1 [[A]], [[B]] -; CHECK-NEXT: ret i1 [[C]] +; CHECK-NEXT: ret i1 true ; %a = icmp sge i8 %x, 13 %b = icmp ne i8 %x, 17 @@ -3067,9 +3027,7 @@ define i1 @or_sge_ne(i8 %x) { define i1 @or_sge_sge(i8 %x) { ; CHECK-LABEL: @or_sge_sge( ; CHECK-NEXT: [[A:%.*]] = icmp sge i8 %x, 13 -; CHECK-NEXT: [[B:%.*]] = icmp sge i8 %x, 17 -; CHECK-NEXT: [[C:%.*]] = or i1 [[A]], [[B]] -; CHECK-NEXT: ret i1 [[C]] +; CHECK-NEXT: ret i1 [[A]] ; %a = icmp sge i8 %x, 13 %b = icmp sge i8 %x, 17 @@ -3082,9 +3040,7 @@ define i1 @or_sge_sge(i8 %x) { define i1 @or_sge_sgt(i8 %x) { ; CHECK-LABEL: @or_sge_sgt( ; CHECK-NEXT: [[A:%.*]] = icmp sge i8 %x, 13 -; CHECK-NEXT: [[B:%.*]] = icmp sgt i8 %x, 17 -; CHECK-NEXT: [[C:%.*]] = or i1 [[A]], [[B]] -; CHECK-NEXT: ret i1 [[C]] +; CHECK-NEXT: ret i1 [[A]] ; %a = icmp sge i8 %x, 13 %b = icmp sgt i8 %x, 17 @@ -3096,10 +3052,7 @@ define i1 @or_sge_sgt(i8 %x) { define i1 @or_sge_sle(i8 %x) { ; CHECK-LABEL: @or_sge_sle( -; CHECK-NEXT: [[A:%.*]] = icmp sge i8 %x, 13 -; CHECK-NEXT: [[B:%.*]] = icmp sle i8 %x, 17 -; CHECK-NEXT: [[C:%.*]] = or i1 [[A]], [[B]] -; CHECK-NEXT: ret i1 [[C]] +; CHECK-NEXT: ret i1 true ; %a = icmp sge i8 %x, 13 %b = icmp sle i8 %x, 17 @@ -3111,10 +3064,7 @@ define i1 @or_sge_sle(i8 %x) { define i1 @or_sge_slt(i8 %x) { ; CHECK-LABEL: @or_sge_slt( -; CHECK-NEXT: [[A:%.*]] = icmp sge i8 %x, 13 -; CHECK-NEXT: [[B:%.*]] = icmp slt i8 %x, 17 -; CHECK-NEXT: [[C:%.*]] = or i1 [[A]], [[B]] -; CHECK-NEXT: ret i1 [[C]] +; CHECK-NEXT: ret i1 true ; %a = icmp sge i8 %x, 13 %b = icmp slt i8 %x, 17 @@ -3188,9 +3138,7 @@ define i1 @or_sge_ult(i8 %x) { define i1 @or_sgt_eq(i8 %x) { ; CHECK-LABEL: @or_sgt_eq( ; CHECK-NEXT: [[A:%.*]] = icmp sgt i8 %x, 13 -; CHECK-NEXT: [[B:%.*]] = icmp eq i8 %x, 17 -; CHECK-NEXT: [[C:%.*]] = or i1 [[A]], [[B]] -; CHECK-NEXT: ret i1 [[C]] +; CHECK-NEXT: ret i1 [[A]] ; %a = icmp sgt i8 %x, 13 %b = icmp eq i8 %x, 17 @@ -3202,10 +3150,7 @@ define i1 @or_sgt_eq(i8 %x) { define i1 @or_sgt_ne(i8 %x) { ; CHECK-LABEL: @or_sgt_ne( -; CHECK-NEXT: [[A:%.*]] = icmp sgt i8 %x, 13 -; CHECK-NEXT: [[B:%.*]] = icmp ne i8 %x, 17 -; CHECK-NEXT: [[C:%.*]] = or i1 [[A]], [[B]] -; CHECK-NEXT: ret i1 [[C]] +; CHECK-NEXT: ret i1 true ; %a = icmp sgt i8 %x, 13 %b = icmp ne i8 %x, 17 @@ -3218,9 +3163,7 @@ define i1 @or_sgt_ne(i8 %x) { define i1 @or_sgt_sge(i8 %x) { ; CHECK-LABEL: @or_sgt_sge( ; CHECK-NEXT: [[A:%.*]] = icmp sgt i8 %x, 13 -; CHECK-NEXT: [[B:%.*]] = icmp sge i8 %x, 17 -; CHECK-NEXT: [[C:%.*]] = or i1 [[A]], [[B]] -; CHECK-NEXT: ret i1 [[C]] +; CHECK-NEXT: ret i1 [[A]] ; %a = icmp sgt i8 %x, 13 %b = icmp sge i8 %x, 17 @@ -3233,9 +3176,7 @@ define i1 @or_sgt_sge(i8 %x) { define i1 @or_sgt_sgt(i8 %x) { ; CHECK-LABEL: @or_sgt_sgt( ; CHECK-NEXT: [[A:%.*]] = icmp sgt i8 %x, 13 -; CHECK-NEXT: [[B:%.*]] = icmp sgt i8 %x, 17 -; CHECK-NEXT: [[C:%.*]] = or i1 [[A]], [[B]] -; CHECK-NEXT: ret i1 [[C]] +; CHECK-NEXT: ret i1 [[A]] ; %a = icmp sgt i8 %x, 13 %b = icmp sgt i8 %x, 17 @@ -3247,10 +3188,7 @@ define i1 @or_sgt_sgt(i8 %x) { define i1 @or_sgt_sle(i8 %x) { ; CHECK-LABEL: @or_sgt_sle( -; CHECK-NEXT: [[A:%.*]] = icmp sgt i8 %x, 13 -; CHECK-NEXT: [[B:%.*]] = icmp sle i8 %x, 17 -; CHECK-NEXT: [[C:%.*]] = or i1 [[A]], [[B]] -; CHECK-NEXT: ret i1 [[C]] +; CHECK-NEXT: ret i1 true ; %a = icmp sgt i8 %x, 13 %b = icmp sle i8 %x, 17 @@ -3262,10 +3200,7 @@ define i1 @or_sgt_sle(i8 %x) { define i1 @or_sgt_slt(i8 %x) { ; CHECK-LABEL: @or_sgt_slt( -; CHECK-NEXT: [[A:%.*]] = icmp sgt i8 %x, 13 -; CHECK-NEXT: [[B:%.*]] = icmp slt i8 %x, 17 -; CHECK-NEXT: [[C:%.*]] = or i1 [[A]], [[B]] -; CHECK-NEXT: ret i1 [[C]] +; CHECK-NEXT: ret i1 true ; %a = icmp sgt i8 %x, 13 %b = icmp slt i8 %x, 17 @@ -3353,10 +3288,8 @@ define i1 @or_sle_eq(i8 %x) { define i1 @or_sle_ne(i8 %x) { ; CHECK-LABEL: @or_sle_ne( -; CHECK-NEXT: [[A:%.*]] = icmp sle i8 %x, 13 ; CHECK-NEXT: [[B:%.*]] = icmp ne i8 %x, 17 -; CHECK-NEXT: [[C:%.*]] = or i1 [[A]], [[B]] -; CHECK-NEXT: ret i1 [[C]] +; CHECK-NEXT: ret i1 [[B]] ; %a = icmp sle i8 %x, 13 %b = icmp ne i8 %x, 17 @@ -3398,10 +3331,8 @@ define i1 @or_sle_sgt(i8 %x) { define i1 @or_sle_sle(i8 %x) { ; CHECK-LABEL: @or_sle_sle( -; CHECK-NEXT: [[A:%.*]] = icmp sle i8 %x, 13 ; CHECK-NEXT: [[B:%.*]] = icmp sle i8 %x, 17 -; CHECK-NEXT: [[C:%.*]] = or i1 [[A]], [[B]] -; CHECK-NEXT: ret i1 [[C]] +; CHECK-NEXT: ret i1 [[B]] ; %a = icmp sle i8 %x, 13 %b = icmp sle i8 %x, 17 @@ -3413,10 +3344,8 @@ define i1 @or_sle_sle(i8 %x) { define i1 @or_sle_slt(i8 %x) { ; CHECK-LABEL: @or_sle_slt( -; CHECK-NEXT: [[A:%.*]] = icmp sle i8 %x, 13 ; CHECK-NEXT: [[B:%.*]] = icmp slt i8 %x, 17 -; CHECK-NEXT: [[C:%.*]] = or i1 [[A]], [[B]] -; CHECK-NEXT: ret i1 [[C]] +; CHECK-NEXT: ret i1 [[B]] ; %a = icmp sle i8 %x, 13 %b = icmp slt i8 %x, 17 @@ -3504,10 +3433,8 @@ define i1 @or_slt_eq(i8 %x) { define i1 @or_slt_ne(i8 %x) { ; CHECK-LABEL: @or_slt_ne( -; CHECK-NEXT: [[A:%.*]] = icmp slt i8 %x, 13 ; CHECK-NEXT: [[B:%.*]] = icmp ne i8 %x, 17 -; CHECK-NEXT: [[C:%.*]] = or i1 [[A]], [[B]] -; CHECK-NEXT: ret i1 [[C]] +; CHECK-NEXT: ret i1 [[B]] ; %a = icmp slt i8 %x, 13 %b = icmp ne i8 %x, 17 @@ -3549,10 +3476,8 @@ define i1 @or_slt_sgt(i8 %x) { define i1 @or_slt_sle(i8 %x) { ; CHECK-LABEL: @or_slt_sle( -; CHECK-NEXT: [[A:%.*]] = icmp slt i8 %x, 13 ; CHECK-NEXT: [[B:%.*]] = icmp sle i8 %x, 17 -; CHECK-NEXT: [[C:%.*]] = or i1 [[A]], [[B]] -; CHECK-NEXT: ret i1 [[C]] +; CHECK-NEXT: ret i1 [[B]] ; %a = icmp slt i8 %x, 13 %b = icmp sle i8 %x, 17 @@ -3564,10 +3489,8 @@ define i1 @or_slt_sle(i8 %x) { define i1 @or_slt_slt(i8 %x) { ; CHECK-LABEL: @or_slt_slt( -; CHECK-NEXT: [[A:%.*]] = icmp slt i8 %x, 13 ; CHECK-NEXT: [[B:%.*]] = icmp slt i8 %x, 17 -; CHECK-NEXT: [[C:%.*]] = or i1 [[A]], [[B]] -; CHECK-NEXT: ret i1 [[C]] +; CHECK-NEXT: ret i1 [[B]] ; %a = icmp slt i8 %x, 13 %b = icmp slt i8 %x, 17 @@ -3641,9 +3564,7 @@ define i1 @or_slt_ult(i8 %x) { define i1 @or_uge_eq(i8 %x) { ; CHECK-LABEL: @or_uge_eq( ; CHECK-NEXT: [[A:%.*]] = icmp uge i8 %x, 13 -; CHECK-NEXT: [[B:%.*]] = icmp eq i8 %x, 17 -; CHECK-NEXT: [[C:%.*]] = or i1 [[A]], [[B]] -; CHECK-NEXT: ret i1 [[C]] +; CHECK-NEXT: ret i1 [[A]] ; %a = icmp uge i8 %x, 13 %b = icmp eq i8 %x, 17 @@ -3655,10 +3576,7 @@ define i1 @or_uge_eq(i8 %x) { define i1 @or_uge_ne(i8 %x) { ; CHECK-LABEL: @or_uge_ne( -; CHECK-NEXT: [[A:%.*]] = icmp uge i8 %x, 13 -; CHECK-NEXT: [[B:%.*]] = icmp ne i8 %x, 17 -; CHECK-NEXT: [[C:%.*]] = or i1 [[A]], [[B]] -; CHECK-NEXT: ret i1 [[C]] +; CHECK-NEXT: ret i1 true ; %a = icmp uge i8 %x, 13 %b = icmp ne i8 %x, 17 @@ -3671,9 +3589,7 @@ define i1 @or_uge_ne(i8 %x) { define i1 @or_uge_sge(i8 %x) { ; CHECK-LABEL: @or_uge_sge( ; CHECK-NEXT: [[A:%.*]] = icmp uge i8 %x, 13 -; CHECK-NEXT: [[B:%.*]] = icmp sge i8 %x, 17 -; CHECK-NEXT: [[C:%.*]] = or i1 [[A]], [[B]] -; CHECK-NEXT: ret i1 [[C]] +; CHECK-NEXT: ret i1 [[A]] ; %a = icmp uge i8 %x, 13 %b = icmp sge i8 %x, 17 @@ -3686,9 +3602,7 @@ define i1 @or_uge_sge(i8 %x) { define i1 @or_uge_sgt(i8 %x) { ; CHECK-LABEL: @or_uge_sgt( ; CHECK-NEXT: [[A:%.*]] = icmp uge i8 %x, 13 -; CHECK-NEXT: [[B:%.*]] = icmp sgt i8 %x, 17 -; CHECK-NEXT: [[C:%.*]] = or i1 [[A]], [[B]] -; CHECK-NEXT: ret i1 [[C]] +; CHECK-NEXT: ret i1 [[A]] ; %a = icmp uge i8 %x, 13 %b = icmp sgt i8 %x, 17 @@ -3700,10 +3614,7 @@ define i1 @or_uge_sgt(i8 %x) { define i1 @or_uge_sle(i8 %x) { ; CHECK-LABEL: @or_uge_sle( -; CHECK-NEXT: [[A:%.*]] = icmp uge i8 %x, 13 -; CHECK-NEXT: [[B:%.*]] = icmp sle i8 %x, 17 -; CHECK-NEXT: [[C:%.*]] = or i1 [[A]], [[B]] -; CHECK-NEXT: ret i1 [[C]] +; CHECK-NEXT: ret i1 true ; %a = icmp uge i8 %x, 13 %b = icmp sle i8 %x, 17 @@ -3715,10 +3626,7 @@ define i1 @or_uge_sle(i8 %x) { define i1 @or_uge_slt(i8 %x) { ; CHECK-LABEL: @or_uge_slt( -; CHECK-NEXT: [[A:%.*]] = icmp uge i8 %x, 13 -; CHECK-NEXT: [[B:%.*]] = icmp slt i8 %x, 17 -; CHECK-NEXT: [[C:%.*]] = or i1 [[A]], [[B]] -; CHECK-NEXT: ret i1 [[C]] +; CHECK-NEXT: ret i1 true ; %a = icmp uge i8 %x, 13 %b = icmp slt i8 %x, 17 @@ -3731,9 +3639,7 @@ define i1 @or_uge_slt(i8 %x) { define i1 @or_uge_uge(i8 %x) { ; CHECK-LABEL: @or_uge_uge( ; CHECK-NEXT: [[A:%.*]] = icmp uge i8 %x, 13 -; CHECK-NEXT: [[B:%.*]] = icmp uge i8 %x, 17 -; CHECK-NEXT: [[C:%.*]] = or i1 [[A]], [[B]] -; CHECK-NEXT: ret i1 [[C]] +; CHECK-NEXT: ret i1 [[A]] ; %a = icmp uge i8 %x, 13 %b = icmp uge i8 %x, 17 @@ -3746,9 +3652,7 @@ define i1 @or_uge_uge(i8 %x) { define i1 @or_uge_ugt(i8 %x) { ; CHECK-LABEL: @or_uge_ugt( ; CHECK-NEXT: [[A:%.*]] = icmp uge i8 %x, 13 -; CHECK-NEXT: [[B:%.*]] = icmp ugt i8 %x, 17 -; CHECK-NEXT: [[C:%.*]] = or i1 [[A]], [[B]] -; CHECK-NEXT: ret i1 [[C]] +; CHECK-NEXT: ret i1 [[A]] ; %a = icmp uge i8 %x, 13 %b = icmp ugt i8 %x, 17 @@ -3760,10 +3664,7 @@ define i1 @or_uge_ugt(i8 %x) { define i1 @or_uge_ule(i8 %x) { ; CHECK-LABEL: @or_uge_ule( -; CHECK-NEXT: [[A:%.*]] = icmp uge i8 %x, 13 -; CHECK-NEXT: [[B:%.*]] = icmp ule i8 %x, 17 -; CHECK-NEXT: [[C:%.*]] = or i1 [[A]], [[B]] -; CHECK-NEXT: ret i1 [[C]] +; CHECK-NEXT: ret i1 true ; %a = icmp uge i8 %x, 13 %b = icmp ule i8 %x, 17 @@ -3775,10 +3676,7 @@ define i1 @or_uge_ule(i8 %x) { define i1 @or_uge_ult(i8 %x) { ; CHECK-LABEL: @or_uge_ult( -; CHECK-NEXT: [[A:%.*]] = icmp uge i8 %x, 13 -; CHECK-NEXT: [[B:%.*]] = icmp ult i8 %x, 17 -; CHECK-NEXT: [[C:%.*]] = or i1 [[A]], [[B]] -; CHECK-NEXT: ret i1 [[C]] +; CHECK-NEXT: ret i1 true ; %a = icmp uge i8 %x, 13 %b = icmp ult i8 %x, 17 @@ -3792,9 +3690,7 @@ define i1 @or_uge_ult(i8 %x) { define i1 @or_ugt_eq(i8 %x) { ; CHECK-LABEL: @or_ugt_eq( ; CHECK-NEXT: [[A:%.*]] = icmp ugt i8 %x, 13 -; CHECK-NEXT: [[B:%.*]] = icmp eq i8 %x, 17 -; CHECK-NEXT: [[C:%.*]] = or i1 [[A]], [[B]] -; CHECK-NEXT: ret i1 [[C]] +; CHECK-NEXT: ret i1 [[A]] ; %a = icmp ugt i8 %x, 13 %b = icmp eq i8 %x, 17 @@ -3806,10 +3702,7 @@ define i1 @or_ugt_eq(i8 %x) { define i1 @or_ugt_ne(i8 %x) { ; CHECK-LABEL: @or_ugt_ne( -; CHECK-NEXT: [[A:%.*]] = icmp ugt i8 %x, 13 -; CHECK-NEXT: [[B:%.*]] = icmp ne i8 %x, 17 -; CHECK-NEXT: [[C:%.*]] = or i1 [[A]], [[B]] -; CHECK-NEXT: ret i1 [[C]] +; CHECK-NEXT: ret i1 true ; %a = icmp ugt i8 %x, 13 %b = icmp ne i8 %x, 17 @@ -3822,9 +3715,7 @@ define i1 @or_ugt_ne(i8 %x) { define i1 @or_ugt_sge(i8 %x) { ; CHECK-LABEL: @or_ugt_sge( ; CHECK-NEXT: [[A:%.*]] = icmp ugt i8 %x, 13 -; CHECK-NEXT: [[B:%.*]] = icmp sge i8 %x, 17 -; CHECK-NEXT: [[C:%.*]] = or i1 [[A]], [[B]] -; CHECK-NEXT: ret i1 [[C]] +; CHECK-NEXT: ret i1 [[A]] ; %a = icmp ugt i8 %x, 13 %b = icmp sge i8 %x, 17 @@ -3837,9 +3728,7 @@ define i1 @or_ugt_sge(i8 %x) { define i1 @or_ugt_sgt(i8 %x) { ; CHECK-LABEL: @or_ugt_sgt( ; CHECK-NEXT: [[A:%.*]] = icmp ugt i8 %x, 13 -; CHECK-NEXT: [[B:%.*]] = icmp sgt i8 %x, 17 -; CHECK-NEXT: [[C:%.*]] = or i1 [[A]], [[B]] -; CHECK-NEXT: ret i1 [[C]] +; CHECK-NEXT: ret i1 [[A]] ; %a = icmp ugt i8 %x, 13 %b = icmp sgt i8 %x, 17 @@ -3851,10 +3740,7 @@ define i1 @or_ugt_sgt(i8 %x) { define i1 @or_ugt_sle(i8 %x) { ; CHECK-LABEL: @or_ugt_sle( -; CHECK-NEXT: [[A:%.*]] = icmp ugt i8 %x, 13 -; CHECK-NEXT: [[B:%.*]] = icmp sle i8 %x, 17 -; CHECK-NEXT: [[C:%.*]] = or i1 [[A]], [[B]] -; CHECK-NEXT: ret i1 [[C]] +; CHECK-NEXT: ret i1 true ; %a = icmp ugt i8 %x, 13 %b = icmp sle i8 %x, 17 @@ -3866,10 +3752,7 @@ define i1 @or_ugt_sle(i8 %x) { define i1 @or_ugt_slt(i8 %x) { ; CHECK-LABEL: @or_ugt_slt( -; CHECK-NEXT: [[A:%.*]] = icmp ugt i8 %x, 13 -; CHECK-NEXT: [[B:%.*]] = icmp slt i8 %x, 17 -; CHECK-NEXT: [[C:%.*]] = or i1 [[A]], [[B]] -; CHECK-NEXT: ret i1 [[C]] +; CHECK-NEXT: ret i1 true ; %a = icmp ugt i8 %x, 13 %b = icmp slt i8 %x, 17 @@ -3882,9 +3765,7 @@ define i1 @or_ugt_slt(i8 %x) { define i1 @or_ugt_uge(i8 %x) { ; CHECK-LABEL: @or_ugt_uge( ; CHECK-NEXT: [[A:%.*]] = icmp ugt i8 %x, 13 -; CHECK-NEXT: [[B:%.*]] = icmp uge i8 %x, 17 -; CHECK-NEXT: [[C:%.*]] = or i1 [[A]], [[B]] -; CHECK-NEXT: ret i1 [[C]] +; CHECK-NEXT: ret i1 [[A]] ; %a = icmp ugt i8 %x, 13 %b = icmp uge i8 %x, 17 @@ -3897,9 +3778,7 @@ define i1 @or_ugt_uge(i8 %x) { define i1 @or_ugt_ugt(i8 %x) { ; CHECK-LABEL: @or_ugt_ugt( ; CHECK-NEXT: [[A:%.*]] = icmp ugt i8 %x, 13 -; CHECK-NEXT: [[B:%.*]] = icmp ugt i8 %x, 17 -; CHECK-NEXT: [[C:%.*]] = or i1 [[A]], [[B]] -; CHECK-NEXT: ret i1 [[C]] +; CHECK-NEXT: ret i1 [[A]] ; %a = icmp ugt i8 %x, 13 %b = icmp ugt i8 %x, 17 @@ -3911,10 +3790,7 @@ define i1 @or_ugt_ugt(i8 %x) { define i1 @or_ugt_ule(i8 %x) { ; CHECK-LABEL: @or_ugt_ule( -; CHECK-NEXT: [[A:%.*]] = icmp ugt i8 %x, 13 -; CHECK-NEXT: [[B:%.*]] = icmp ule i8 %x, 17 -; CHECK-NEXT: [[C:%.*]] = or i1 [[A]], [[B]] -; CHECK-NEXT: ret i1 [[C]] +; CHECK-NEXT: ret i1 true ; %a = icmp ugt i8 %x, 13 %b = icmp ule i8 %x, 17 @@ -3926,10 +3802,7 @@ define i1 @or_ugt_ule(i8 %x) { define i1 @or_ugt_ult(i8 %x) { ; CHECK-LABEL: @or_ugt_ult( -; CHECK-NEXT: [[A:%.*]] = icmp ugt i8 %x, 13 -; CHECK-NEXT: [[B:%.*]] = icmp ult i8 %x, 17 -; CHECK-NEXT: [[C:%.*]] = or i1 [[A]], [[B]] -; CHECK-NEXT: ret i1 [[C]] +; CHECK-NEXT: ret i1 true ; %a = icmp ugt i8 %x, 13 %b = icmp ult i8 %x, 17 @@ -3957,10 +3830,8 @@ define i1 @or_ule_eq(i8 %x) { define i1 @or_ule_ne(i8 %x) { ; CHECK-LABEL: @or_ule_ne( -; CHECK-NEXT: [[A:%.*]] = icmp ule i8 %x, 13 ; CHECK-NEXT: [[B:%.*]] = icmp ne i8 %x, 17 -; CHECK-NEXT: [[C:%.*]] = or i1 [[A]], [[B]] -; CHECK-NEXT: ret i1 [[C]] +; CHECK-NEXT: ret i1 [[B]] ; %a = icmp ule i8 %x, 13 %b = icmp ne i8 %x, 17 @@ -4002,10 +3873,8 @@ define i1 @or_ule_sgt(i8 %x) { define i1 @or_ule_sle(i8 %x) { ; CHECK-LABEL: @or_ule_sle( -; CHECK-NEXT: [[A:%.*]] = icmp ule i8 %x, 13 ; CHECK-NEXT: [[B:%.*]] = icmp sle i8 %x, 17 -; CHECK-NEXT: [[C:%.*]] = or i1 [[A]], [[B]] -; CHECK-NEXT: ret i1 [[C]] +; CHECK-NEXT: ret i1 [[B]] ; %a = icmp ule i8 %x, 13 %b = icmp sle i8 %x, 17 @@ -4017,10 +3886,8 @@ define i1 @or_ule_sle(i8 %x) { define i1 @or_ule_slt(i8 %x) { ; CHECK-LABEL: @or_ule_slt( -; CHECK-NEXT: [[A:%.*]] = icmp ule i8 %x, 13 ; CHECK-NEXT: [[B:%.*]] = icmp slt i8 %x, 17 -; CHECK-NEXT: [[C:%.*]] = or i1 [[A]], [[B]] -; CHECK-NEXT: ret i1 [[C]] +; CHECK-NEXT: ret i1 [[B]] ; %a = icmp ule i8 %x, 13 %b = icmp slt i8 %x, 17 @@ -4062,10 +3929,8 @@ define i1 @or_ule_ugt(i8 %x) { define i1 @or_ule_ule(i8 %x) { ; CHECK-LABEL: @or_ule_ule( -; CHECK-NEXT: [[A:%.*]] = icmp ule i8 %x, 13 ; CHECK-NEXT: [[B:%.*]] = icmp ule i8 %x, 17 -; CHECK-NEXT: [[C:%.*]] = or i1 [[A]], [[B]] -; CHECK-NEXT: ret i1 [[C]] +; CHECK-NEXT: ret i1 [[B]] ; %a = icmp ule i8 %x, 13 %b = icmp ule i8 %x, 17 @@ -4077,10 +3942,8 @@ define i1 @or_ule_ule(i8 %x) { define i1 @or_ule_ult(i8 %x) { ; CHECK-LABEL: @or_ule_ult( -; CHECK-NEXT: [[A:%.*]] = icmp ule i8 %x, 13 ; CHECK-NEXT: [[B:%.*]] = icmp ult i8 %x, 17 -; CHECK-NEXT: [[C:%.*]] = or i1 [[A]], [[B]] -; CHECK-NEXT: ret i1 [[C]] +; CHECK-NEXT: ret i1 [[B]] ; %a = icmp ule i8 %x, 13 %b = icmp ult i8 %x, 17 @@ -4108,10 +3971,8 @@ define i1 @or_ult_eq(i8 %x) { define i1 @or_ult_ne(i8 %x) { ; CHECK-LABEL: @or_ult_ne( -; CHECK-NEXT: [[A:%.*]] = icmp ult i8 %x, 13 ; CHECK-NEXT: [[B:%.*]] = icmp ne i8 %x, 17 -; CHECK-NEXT: [[C:%.*]] = or i1 [[A]], [[B]] -; CHECK-NEXT: ret i1 [[C]] +; CHECK-NEXT: ret i1 [[B]] ; %a = icmp ult i8 %x, 13 %b = icmp ne i8 %x, 17 @@ -4153,10 +4014,8 @@ define i1 @or_ult_sgt(i8 %x) { define i1 @or_ult_sle(i8 %x) { ; CHECK-LABEL: @or_ult_sle( -; CHECK-NEXT: [[A:%.*]] = icmp ult i8 %x, 13 ; CHECK-NEXT: [[B:%.*]] = icmp sle i8 %x, 17 -; CHECK-NEXT: [[C:%.*]] = or i1 [[A]], [[B]] -; CHECK-NEXT: ret i1 [[C]] +; CHECK-NEXT: ret i1 [[B]] ; %a = icmp ult i8 %x, 13 %b = icmp sle i8 %x, 17 @@ -4168,10 +4027,8 @@ define i1 @or_ult_sle(i8 %x) { define i1 @or_ult_slt(i8 %x) { ; CHECK-LABEL: @or_ult_slt( -; CHECK-NEXT: [[A:%.*]] = icmp ult i8 %x, 13 ; CHECK-NEXT: [[B:%.*]] = icmp slt i8 %x, 17 -; CHECK-NEXT: [[C:%.*]] = or i1 [[A]], [[B]] -; CHECK-NEXT: ret i1 [[C]] +; CHECK-NEXT: ret i1 [[B]] ; %a = icmp ult i8 %x, 13 %b = icmp slt i8 %x, 17 @@ -4213,10 +4070,8 @@ define i1 @or_ult_ugt(i8 %x) { define i1 @or_ult_ule(i8 %x) { ; CHECK-LABEL: @or_ult_ule( -; CHECK-NEXT: [[A:%.*]] = icmp ult i8 %x, 13 ; CHECK-NEXT: [[B:%.*]] = icmp ule i8 %x, 17 -; CHECK-NEXT: [[C:%.*]] = or i1 [[A]], [[B]] -; CHECK-NEXT: ret i1 [[C]] +; CHECK-NEXT: ret i1 [[B]] ; %a = icmp ult i8 %x, 13 %b = icmp ule i8 %x, 17 @@ -4228,10 +4083,8 @@ define i1 @or_ult_ule(i8 %x) { define i1 @or_ult_ult(i8 %x) { ; CHECK-LABEL: @or_ult_ult( -; CHECK-NEXT: [[A:%.*]] = icmp ult i8 %x, 13 ; CHECK-NEXT: [[B:%.*]] = icmp ult i8 %x, 17 -; CHECK-NEXT: [[C:%.*]] = or i1 [[A]], [[B]] -; CHECK-NEXT: ret i1 [[C]] +; CHECK-NEXT: ret i1 [[B]] ; %a = icmp ult i8 %x, 13 %b = icmp ult i8 %x, 17 @@ -4259,10 +4112,8 @@ define i1 @or_eq_eq_swap(i8 %x) { define i1 @or_eq_ne_swap(i8 %x) { ; CHECK-LABEL: @or_eq_ne_swap( -; CHECK-NEXT: [[A:%.*]] = icmp eq i8 %x, 23 ; CHECK-NEXT: [[B:%.*]] = icmp ne i8 %x, 17 -; CHECK-NEXT: [[C:%.*]] = or i1 [[A]], [[B]] -; CHECK-NEXT: ret i1 [[C]] +; CHECK-NEXT: ret i1 [[B]] ; %a = icmp eq i8 %x, 23 %b = icmp ne i8 %x, 17 @@ -4274,10 +4125,8 @@ define i1 @or_eq_ne_swap(i8 %x) { define i1 @or_eq_sge_swap(i8 %x) { ; CHECK-LABEL: @or_eq_sge_swap( -; CHECK-NEXT: [[A:%.*]] = icmp eq i8 %x, 23 ; CHECK-NEXT: [[B:%.*]] = icmp sge i8 %x, 17 -; CHECK-NEXT: [[C:%.*]] = or i1 [[A]], [[B]] -; CHECK-NEXT: ret i1 [[C]] +; CHECK-NEXT: ret i1 [[B]] ; %a = icmp eq i8 %x, 23 %b = icmp sge i8 %x, 17 @@ -4289,10 +4138,8 @@ define i1 @or_eq_sge_swap(i8 %x) { define i1 @or_eq_sgt_swap(i8 %x) { ; CHECK-LABEL: @or_eq_sgt_swap( -; CHECK-NEXT: [[A:%.*]] = icmp eq i8 %x, 23 ; CHECK-NEXT: [[B:%.*]] = icmp sgt i8 %x, 17 -; CHECK-NEXT: [[C:%.*]] = or i1 [[A]], [[B]] -; CHECK-NEXT: ret i1 [[C]] +; CHECK-NEXT: ret i1 [[B]] ; %a = icmp eq i8 %x, 23 %b = icmp sgt i8 %x, 17 @@ -4334,10 +4181,8 @@ define i1 @or_eq_slt_swap(i8 %x) { define i1 @or_eq_uge_swap(i8 %x) { ; CHECK-LABEL: @or_eq_uge_swap( -; CHECK-NEXT: [[A:%.*]] = icmp eq i8 %x, 23 ; CHECK-NEXT: [[B:%.*]] = icmp uge i8 %x, 17 -; CHECK-NEXT: [[C:%.*]] = or i1 [[A]], [[B]] -; CHECK-NEXT: ret i1 [[C]] +; CHECK-NEXT: ret i1 [[B]] ; %a = icmp eq i8 %x, 23 %b = icmp uge i8 %x, 17 @@ -4349,10 +4194,8 @@ define i1 @or_eq_uge_swap(i8 %x) { define i1 @or_eq_ugt_swap(i8 %x) { ; CHECK-LABEL: @or_eq_ugt_swap( -; CHECK-NEXT: [[A:%.*]] = icmp eq i8 %x, 23 ; CHECK-NEXT: [[B:%.*]] = icmp ugt i8 %x, 17 -; CHECK-NEXT: [[C:%.*]] = or i1 [[A]], [[B]] -; CHECK-NEXT: ret i1 [[C]] +; CHECK-NEXT: ret i1 [[B]] ; %a = icmp eq i8 %x, 23 %b = icmp ugt i8 %x, 17 @@ -4396,9 +4239,7 @@ define i1 @or_eq_ult_swap(i8 %x) { define i1 @or_ne_eq_swap(i8 %x) { ; CHECK-LABEL: @or_ne_eq_swap( ; CHECK-NEXT: [[A:%.*]] = icmp ne i8 %x, 23 -; CHECK-NEXT: [[B:%.*]] = icmp eq i8 %x, 17 -; CHECK-NEXT: [[C:%.*]] = or i1 [[A]], [[B]] -; CHECK-NEXT: ret i1 [[C]] +; CHECK-NEXT: ret i1 [[A]] ; %a = icmp ne i8 %x, 23 %b = icmp eq i8 %x, 17 @@ -4410,10 +4251,7 @@ define i1 @or_ne_eq_swap(i8 %x) { define i1 @or_ne_ne_swap(i8 %x) { ; CHECK-LABEL: @or_ne_ne_swap( -; CHECK-NEXT: [[A:%.*]] = icmp ne i8 %x, 23 -; CHECK-NEXT: [[B:%.*]] = icmp ne i8 %x, 17 -; CHECK-NEXT: [[C:%.*]] = or i1 [[A]], [[B]] -; CHECK-NEXT: ret i1 [[C]] +; CHECK-NEXT: ret i1 true ; %a = icmp ne i8 %x, 23 %b = icmp ne i8 %x, 17 @@ -4425,10 +4263,7 @@ define i1 @or_ne_ne_swap(i8 %x) { define i1 @or_ne_sge_swap(i8 %x) { ; CHECK-LABEL: @or_ne_sge_swap( -; CHECK-NEXT: [[A:%.*]] = icmp ne i8 %x, 23 -; CHECK-NEXT: [[B:%.*]] = icmp sge i8 %x, 17 -; CHECK-NEXT: [[C:%.*]] = or i1 [[A]], [[B]] -; CHECK-NEXT: ret i1 [[C]] +; CHECK-NEXT: ret i1 true ; %a = icmp ne i8 %x, 23 %b = icmp sge i8 %x, 17 @@ -4440,10 +4275,7 @@ define i1 @or_ne_sge_swap(i8 %x) { define i1 @or_ne_sgt_swap(i8 %x) { ; CHECK-LABEL: @or_ne_sgt_swap( -; CHECK-NEXT: [[A:%.*]] = icmp ne i8 %x, 23 -; CHECK-NEXT: [[B:%.*]] = icmp sgt i8 %x, 17 -; CHECK-NEXT: [[C:%.*]] = or i1 [[A]], [[B]] -; CHECK-NEXT: ret i1 [[C]] +; CHECK-NEXT: ret i1 true ; %a = icmp ne i8 %x, 23 %b = icmp sgt i8 %x, 17 @@ -4456,9 +4288,7 @@ define i1 @or_ne_sgt_swap(i8 %x) { define i1 @or_ne_sle_swap(i8 %x) { ; CHECK-LABEL: @or_ne_sle_swap( ; CHECK-NEXT: [[A:%.*]] = icmp ne i8 %x, 23 -; CHECK-NEXT: [[B:%.*]] = icmp sle i8 %x, 17 -; CHECK-NEXT: [[C:%.*]] = or i1 [[A]], [[B]] -; CHECK-NEXT: ret i1 [[C]] +; CHECK-NEXT: ret i1 [[A]] ; %a = icmp ne i8 %x, 23 %b = icmp sle i8 %x, 17 @@ -4471,9 +4301,7 @@ define i1 @or_ne_sle_swap(i8 %x) { define i1 @or_ne_slt_swap(i8 %x) { ; CHECK-LABEL: @or_ne_slt_swap( ; CHECK-NEXT: [[A:%.*]] = icmp ne i8 %x, 23 -; CHECK-NEXT: [[B:%.*]] = icmp slt i8 %x, 17 -; CHECK-NEXT: [[C:%.*]] = or i1 [[A]], [[B]] -; CHECK-NEXT: ret i1 [[C]] +; CHECK-NEXT: ret i1 [[A]] ; %a = icmp ne i8 %x, 23 %b = icmp slt i8 %x, 17 @@ -4485,10 +4313,7 @@ define i1 @or_ne_slt_swap(i8 %x) { define i1 @or_ne_uge_swap(i8 %x) { ; CHECK-LABEL: @or_ne_uge_swap( -; CHECK-NEXT: [[A:%.*]] = icmp ne i8 %x, 23 -; CHECK-NEXT: [[B:%.*]] = icmp uge i8 %x, 17 -; CHECK-NEXT: [[C:%.*]] = or i1 [[A]], [[B]] -; CHECK-NEXT: ret i1 [[C]] +; CHECK-NEXT: ret i1 true ; %a = icmp ne i8 %x, 23 %b = icmp uge i8 %x, 17 @@ -4500,10 +4325,7 @@ define i1 @or_ne_uge_swap(i8 %x) { define i1 @or_ne_ugt_swap(i8 %x) { ; CHECK-LABEL: @or_ne_ugt_swap( -; CHECK-NEXT: [[A:%.*]] = icmp ne i8 %x, 23 -; CHECK-NEXT: [[B:%.*]] = icmp ugt i8 %x, 17 -; CHECK-NEXT: [[C:%.*]] = or i1 [[A]], [[B]] -; CHECK-NEXT: ret i1 [[C]] +; CHECK-NEXT: ret i1 true ; %a = icmp ne i8 %x, 23 %b = icmp ugt i8 %x, 17 @@ -4516,9 +4338,7 @@ define i1 @or_ne_ugt_swap(i8 %x) { define i1 @or_ne_ule_swap(i8 %x) { ; CHECK-LABEL: @or_ne_ule_swap( ; CHECK-NEXT: [[A:%.*]] = icmp ne i8 %x, 23 -; CHECK-NEXT: [[B:%.*]] = icmp ule i8 %x, 17 -; CHECK-NEXT: [[C:%.*]] = or i1 [[A]], [[B]] -; CHECK-NEXT: ret i1 [[C]] +; CHECK-NEXT: ret i1 [[A]] ; %a = icmp ne i8 %x, 23 %b = icmp ule i8 %x, 17 @@ -4531,9 +4351,7 @@ define i1 @or_ne_ule_swap(i8 %x) { define i1 @or_ne_ult_swap(i8 %x) { ; CHECK-LABEL: @or_ne_ult_swap( ; CHECK-NEXT: [[A:%.*]] = icmp ne i8 %x, 23 -; CHECK-NEXT: [[B:%.*]] = icmp ult i8 %x, 17 -; CHECK-NEXT: [[C:%.*]] = or i1 [[A]], [[B]] -; CHECK-NEXT: ret i1 [[C]] +; CHECK-NEXT: ret i1 [[A]] ; %a = icmp ne i8 %x, 23 %b = icmp ult i8 %x, 17 @@ -4561,10 +4379,8 @@ define i1 @or_sge_eq_swap(i8 %x) { define i1 @or_sge_ne_swap(i8 %x) { ; CHECK-LABEL: @or_sge_ne_swap( -; CHECK-NEXT: [[A:%.*]] = icmp sge i8 %x, 23 ; CHECK-NEXT: [[B:%.*]] = icmp ne i8 %x, 17 -; CHECK-NEXT: [[C:%.*]] = or i1 [[A]], [[B]] -; CHECK-NEXT: ret i1 [[C]] +; CHECK-NEXT: ret i1 [[B]] ; %a = icmp sge i8 %x, 23 %b = icmp ne i8 %x, 17 @@ -4576,10 +4392,8 @@ define i1 @or_sge_ne_swap(i8 %x) { define i1 @or_sge_sge_swap(i8 %x) { ; CHECK-LABEL: @or_sge_sge_swap( -; CHECK-NEXT: [[A:%.*]] = icmp sge i8 %x, 23 ; CHECK-NEXT: [[B:%.*]] = icmp sge i8 %x, 17 -; CHECK-NEXT: [[C:%.*]] = or i1 [[A]], [[B]] -; CHECK-NEXT: ret i1 [[C]] +; CHECK-NEXT: ret i1 [[B]] ; %a = icmp sge i8 %x, 23 %b = icmp sge i8 %x, 17 @@ -4591,10 +4405,8 @@ define i1 @or_sge_sge_swap(i8 %x) { define i1 @or_sge_sgt_swap(i8 %x) { ; CHECK-LABEL: @or_sge_sgt_swap( -; CHECK-NEXT: [[A:%.*]] = icmp sge i8 %x, 23 ; CHECK-NEXT: [[B:%.*]] = icmp sgt i8 %x, 17 -; CHECK-NEXT: [[C:%.*]] = or i1 [[A]], [[B]] -; CHECK-NEXT: ret i1 [[C]] +; CHECK-NEXT: ret i1 [[B]] ; %a = icmp sge i8 %x, 23 %b = icmp sgt i8 %x, 17 @@ -4636,10 +4448,8 @@ define i1 @or_sge_slt_swap(i8 %x) { define i1 @or_sge_uge_swap(i8 %x) { ; CHECK-LABEL: @or_sge_uge_swap( -; CHECK-NEXT: [[A:%.*]] = icmp sge i8 %x, 23 ; CHECK-NEXT: [[B:%.*]] = icmp uge i8 %x, 17 -; CHECK-NEXT: [[C:%.*]] = or i1 [[A]], [[B]] -; CHECK-NEXT: ret i1 [[C]] +; CHECK-NEXT: ret i1 [[B]] ; %a = icmp sge i8 %x, 23 %b = icmp uge i8 %x, 17 @@ -4651,10 +4461,8 @@ define i1 @or_sge_uge_swap(i8 %x) { define i1 @or_sge_ugt_swap(i8 %x) { ; CHECK-LABEL: @or_sge_ugt_swap( -; CHECK-NEXT: [[A:%.*]] = icmp sge i8 %x, 23 ; CHECK-NEXT: [[B:%.*]] = icmp ugt i8 %x, 17 -; CHECK-NEXT: [[C:%.*]] = or i1 [[A]], [[B]] -; CHECK-NEXT: ret i1 [[C]] +; CHECK-NEXT: ret i1 [[B]] ; %a = icmp sge i8 %x, 23 %b = icmp ugt i8 %x, 17 @@ -4712,10 +4520,8 @@ define i1 @or_sgt_eq_swap(i8 %x) { define i1 @or_sgt_ne_swap(i8 %x) { ; CHECK-LABEL: @or_sgt_ne_swap( -; CHECK-NEXT: [[A:%.*]] = icmp sgt i8 %x, 23 ; CHECK-NEXT: [[B:%.*]] = icmp ne i8 %x, 17 -; CHECK-NEXT: [[C:%.*]] = or i1 [[A]], [[B]] -; CHECK-NEXT: ret i1 [[C]] +; CHECK-NEXT: ret i1 [[B]] ; %a = icmp sgt i8 %x, 23 %b = icmp ne i8 %x, 17 @@ -4727,10 +4533,8 @@ define i1 @or_sgt_ne_swap(i8 %x) { define i1 @or_sgt_sge_swap(i8 %x) { ; CHECK-LABEL: @or_sgt_sge_swap( -; CHECK-NEXT: [[A:%.*]] = icmp sgt i8 %x, 23 ; CHECK-NEXT: [[B:%.*]] = icmp sge i8 %x, 17 -; CHECK-NEXT: [[C:%.*]] = or i1 [[A]], [[B]] -; CHECK-NEXT: ret i1 [[C]] +; CHECK-NEXT: ret i1 [[B]] ; %a = icmp sgt i8 %x, 23 %b = icmp sge i8 %x, 17 @@ -4742,10 +4546,8 @@ define i1 @or_sgt_sge_swap(i8 %x) { define i1 @or_sgt_sgt_swap(i8 %x) { ; CHECK-LABEL: @or_sgt_sgt_swap( -; CHECK-NEXT: [[A:%.*]] = icmp sgt i8 %x, 23 ; CHECK-NEXT: [[B:%.*]] = icmp sgt i8 %x, 17 -; CHECK-NEXT: [[C:%.*]] = or i1 [[A]], [[B]] -; CHECK-NEXT: ret i1 [[C]] +; CHECK-NEXT: ret i1 [[B]] ; %a = icmp sgt i8 %x, 23 %b = icmp sgt i8 %x, 17 @@ -4787,10 +4589,8 @@ define i1 @or_sgt_slt_swap(i8 %x) { define i1 @or_sgt_uge_swap(i8 %x) { ; CHECK-LABEL: @or_sgt_uge_swap( -; CHECK-NEXT: [[A:%.*]] = icmp sgt i8 %x, 23 ; CHECK-NEXT: [[B:%.*]] = icmp uge i8 %x, 17 -; CHECK-NEXT: [[C:%.*]] = or i1 [[A]], [[B]] -; CHECK-NEXT: ret i1 [[C]] +; CHECK-NEXT: ret i1 [[B]] ; %a = icmp sgt i8 %x, 23 %b = icmp uge i8 %x, 17 @@ -4802,10 +4602,8 @@ define i1 @or_sgt_uge_swap(i8 %x) { define i1 @or_sgt_ugt_swap(i8 %x) { ; CHECK-LABEL: @or_sgt_ugt_swap( -; CHECK-NEXT: [[A:%.*]] = icmp sgt i8 %x, 23 ; CHECK-NEXT: [[B:%.*]] = icmp ugt i8 %x, 17 -; CHECK-NEXT: [[C:%.*]] = or i1 [[A]], [[B]] -; CHECK-NEXT: ret i1 [[C]] +; CHECK-NEXT: ret i1 [[B]] ; %a = icmp sgt i8 %x, 23 %b = icmp ugt i8 %x, 17 @@ -4849,9 +4647,7 @@ define i1 @or_sgt_ult_swap(i8 %x) { define i1 @or_sle_eq_swap(i8 %x) { ; CHECK-LABEL: @or_sle_eq_swap( ; CHECK-NEXT: [[A:%.*]] = icmp sle i8 %x, 23 -; CHECK-NEXT: [[B:%.*]] = icmp eq i8 %x, 17 -; CHECK-NEXT: [[C:%.*]] = or i1 [[A]], [[B]] -; CHECK-NEXT: ret i1 [[C]] +; CHECK-NEXT: ret i1 [[A]] ; %a = icmp sle i8 %x, 23 %b = icmp eq i8 %x, 17 @@ -4863,10 +4659,7 @@ define i1 @or_sle_eq_swap(i8 %x) { define i1 @or_sle_ne_swap(i8 %x) { ; CHECK-LABEL: @or_sle_ne_swap( -; CHECK-NEXT: [[A:%.*]] = icmp sle i8 %x, 23 -; CHECK-NEXT: [[B:%.*]] = icmp ne i8 %x, 17 -; CHECK-NEXT: [[C:%.*]] = or i1 [[A]], [[B]] -; CHECK-NEXT: ret i1 [[C]] +; CHECK-NEXT: ret i1 true ; %a = icmp sle i8 %x, 23 %b = icmp ne i8 %x, 17 @@ -4878,10 +4671,7 @@ define i1 @or_sle_ne_swap(i8 %x) { define i1 @or_sle_sge_swap(i8 %x) { ; CHECK-LABEL: @or_sle_sge_swap( -; CHECK-NEXT: [[A:%.*]] = icmp sle i8 %x, 23 -; CHECK-NEXT: [[B:%.*]] = icmp sge i8 %x, 17 -; CHECK-NEXT: [[C:%.*]] = or i1 [[A]], [[B]] -; CHECK-NEXT: ret i1 [[C]] +; CHECK-NEXT: ret i1 true ; %a = icmp sle i8 %x, 23 %b = icmp sge i8 %x, 17 @@ -4893,10 +4683,7 @@ define i1 @or_sle_sge_swap(i8 %x) { define i1 @or_sle_sgt_swap(i8 %x) { ; CHECK-LABEL: @or_sle_sgt_swap( -; CHECK-NEXT: [[A:%.*]] = icmp sle i8 %x, 23 -; CHECK-NEXT: [[B:%.*]] = icmp sgt i8 %x, 17 -; CHECK-NEXT: [[C:%.*]] = or i1 [[A]], [[B]] -; CHECK-NEXT: ret i1 [[C]] +; CHECK-NEXT: ret i1 true ; %a = icmp sle i8 %x, 23 %b = icmp sgt i8 %x, 17 @@ -4909,9 +4696,7 @@ define i1 @or_sle_sgt_swap(i8 %x) { define i1 @or_sle_sle_swap(i8 %x) { ; CHECK-LABEL: @or_sle_sle_swap( ; CHECK-NEXT: [[A:%.*]] = icmp sle i8 %x, 23 -; CHECK-NEXT: [[B:%.*]] = icmp sle i8 %x, 17 -; CHECK-NEXT: [[C:%.*]] = or i1 [[A]], [[B]] -; CHECK-NEXT: ret i1 [[C]] +; CHECK-NEXT: ret i1 [[A]] ; %a = icmp sle i8 %x, 23 %b = icmp sle i8 %x, 17 @@ -4924,9 +4709,7 @@ define i1 @or_sle_sle_swap(i8 %x) { define i1 @or_sle_slt_swap(i8 %x) { ; CHECK-LABEL: @or_sle_slt_swap( ; CHECK-NEXT: [[A:%.*]] = icmp sle i8 %x, 23 -; CHECK-NEXT: [[B:%.*]] = icmp slt i8 %x, 17 -; CHECK-NEXT: [[C:%.*]] = or i1 [[A]], [[B]] -; CHECK-NEXT: ret i1 [[C]] +; CHECK-NEXT: ret i1 [[A]] ; %a = icmp sle i8 %x, 23 %b = icmp slt i8 %x, 17 @@ -4938,10 +4721,7 @@ define i1 @or_sle_slt_swap(i8 %x) { define i1 @or_sle_uge_swap(i8 %x) { ; CHECK-LABEL: @or_sle_uge_swap( -; CHECK-NEXT: [[A:%.*]] = icmp sle i8 %x, 23 -; CHECK-NEXT: [[B:%.*]] = icmp uge i8 %x, 17 -; CHECK-NEXT: [[C:%.*]] = or i1 [[A]], [[B]] -; CHECK-NEXT: ret i1 [[C]] +; CHECK-NEXT: ret i1 true ; %a = icmp sle i8 %x, 23 %b = icmp uge i8 %x, 17 @@ -4953,10 +4733,7 @@ define i1 @or_sle_uge_swap(i8 %x) { define i1 @or_sle_ugt_swap(i8 %x) { ; CHECK-LABEL: @or_sle_ugt_swap( -; CHECK-NEXT: [[A:%.*]] = icmp sle i8 %x, 23 -; CHECK-NEXT: [[B:%.*]] = icmp ugt i8 %x, 17 -; CHECK-NEXT: [[C:%.*]] = or i1 [[A]], [[B]] -; CHECK-NEXT: ret i1 [[C]] +; CHECK-NEXT: ret i1 true ; %a = icmp sle i8 %x, 23 %b = icmp ugt i8 %x, 17 @@ -4969,9 +4746,7 @@ define i1 @or_sle_ugt_swap(i8 %x) { define i1 @or_sle_ule_swap(i8 %x) { ; CHECK-LABEL: @or_sle_ule_swap( ; CHECK-NEXT: [[A:%.*]] = icmp sle i8 %x, 23 -; CHECK-NEXT: [[B:%.*]] = icmp ule i8 %x, 17 -; CHECK-NEXT: [[C:%.*]] = or i1 [[A]], [[B]] -; CHECK-NEXT: ret i1 [[C]] +; CHECK-NEXT: ret i1 [[A]] ; %a = icmp sle i8 %x, 23 %b = icmp ule i8 %x, 17 @@ -4984,9 +4759,7 @@ define i1 @or_sle_ule_swap(i8 %x) { define i1 @or_sle_ult_swap(i8 %x) { ; CHECK-LABEL: @or_sle_ult_swap( ; CHECK-NEXT: [[A:%.*]] = icmp sle i8 %x, 23 -; CHECK-NEXT: [[B:%.*]] = icmp ult i8 %x, 17 -; CHECK-NEXT: [[C:%.*]] = or i1 [[A]], [[B]] -; CHECK-NEXT: ret i1 [[C]] +; CHECK-NEXT: ret i1 [[A]] ; %a = icmp sle i8 %x, 23 %b = icmp ult i8 %x, 17 @@ -5000,9 +4773,7 @@ define i1 @or_sle_ult_swap(i8 %x) { define i1 @or_slt_eq_swap(i8 %x) { ; CHECK-LABEL: @or_slt_eq_swap( ; CHECK-NEXT: [[A:%.*]] = icmp slt i8 %x, 23 -; CHECK-NEXT: [[B:%.*]] = icmp eq i8 %x, 17 -; CHECK-NEXT: [[C:%.*]] = or i1 [[A]], [[B]] -; CHECK-NEXT: ret i1 [[C]] +; CHECK-NEXT: ret i1 [[A]] ; %a = icmp slt i8 %x, 23 %b = icmp eq i8 %x, 17 @@ -5014,10 +4785,7 @@ define i1 @or_slt_eq_swap(i8 %x) { define i1 @or_slt_ne_swap(i8 %x) { ; CHECK-LABEL: @or_slt_ne_swap( -; CHECK-NEXT: [[A:%.*]] = icmp slt i8 %x, 23 -; CHECK-NEXT: [[B:%.*]] = icmp ne i8 %x, 17 -; CHECK-NEXT: [[C:%.*]] = or i1 [[A]], [[B]] -; CHECK-NEXT: ret i1 [[C]] +; CHECK-NEXT: ret i1 true ; %a = icmp slt i8 %x, 23 %b = icmp ne i8 %x, 17 @@ -5029,10 +4797,7 @@ define i1 @or_slt_ne_swap(i8 %x) { define i1 @or_slt_sge_swap(i8 %x) { ; CHECK-LABEL: @or_slt_sge_swap( -; CHECK-NEXT: [[A:%.*]] = icmp slt i8 %x, 23 -; CHECK-NEXT: [[B:%.*]] = icmp sge i8 %x, 17 -; CHECK-NEXT: [[C:%.*]] = or i1 [[A]], [[B]] -; CHECK-NEXT: ret i1 [[C]] +; CHECK-NEXT: ret i1 true ; %a = icmp slt i8 %x, 23 %b = icmp sge i8 %x, 17 @@ -5044,10 +4809,7 @@ define i1 @or_slt_sge_swap(i8 %x) { define i1 @or_slt_sgt_swap(i8 %x) { ; CHECK-LABEL: @or_slt_sgt_swap( -; CHECK-NEXT: [[A:%.*]] = icmp slt i8 %x, 23 -; CHECK-NEXT: [[B:%.*]] = icmp sgt i8 %x, 17 -; CHECK-NEXT: [[C:%.*]] = or i1 [[A]], [[B]] -; CHECK-NEXT: ret i1 [[C]] +; CHECK-NEXT: ret i1 true ; %a = icmp slt i8 %x, 23 %b = icmp sgt i8 %x, 17 @@ -5060,9 +4822,7 @@ define i1 @or_slt_sgt_swap(i8 %x) { define i1 @or_slt_sle_swap(i8 %x) { ; CHECK-LABEL: @or_slt_sle_swap( ; CHECK-NEXT: [[A:%.*]] = icmp slt i8 %x, 23 -; CHECK-NEXT: [[B:%.*]] = icmp sle i8 %x, 17 -; CHECK-NEXT: [[C:%.*]] = or i1 [[A]], [[B]] -; CHECK-NEXT: ret i1 [[C]] +; CHECK-NEXT: ret i1 [[A]] ; %a = icmp slt i8 %x, 23 %b = icmp sle i8 %x, 17 @@ -5075,9 +4835,7 @@ define i1 @or_slt_sle_swap(i8 %x) { define i1 @or_slt_slt_swap(i8 %x) { ; CHECK-LABEL: @or_slt_slt_swap( ; CHECK-NEXT: [[A:%.*]] = icmp slt i8 %x, 23 -; CHECK-NEXT: [[B:%.*]] = icmp slt i8 %x, 17 -; CHECK-NEXT: [[C:%.*]] = or i1 [[A]], [[B]] -; CHECK-NEXT: ret i1 [[C]] +; CHECK-NEXT: ret i1 [[A]] ; %a = icmp slt i8 %x, 23 %b = icmp slt i8 %x, 17 @@ -5089,10 +4847,7 @@ define i1 @or_slt_slt_swap(i8 %x) { define i1 @or_slt_uge_swap(i8 %x) { ; CHECK-LABEL: @or_slt_uge_swap( -; CHECK-NEXT: [[A:%.*]] = icmp slt i8 %x, 23 -; CHECK-NEXT: [[B:%.*]] = icmp uge i8 %x, 17 -; CHECK-NEXT: [[C:%.*]] = or i1 [[A]], [[B]] -; CHECK-NEXT: ret i1 [[C]] +; CHECK-NEXT: ret i1 true ; %a = icmp slt i8 %x, 23 %b = icmp uge i8 %x, 17 @@ -5104,10 +4859,7 @@ define i1 @or_slt_uge_swap(i8 %x) { define i1 @or_slt_ugt_swap(i8 %x) { ; CHECK-LABEL: @or_slt_ugt_swap( -; CHECK-NEXT: [[A:%.*]] = icmp slt i8 %x, 23 -; CHECK-NEXT: [[B:%.*]] = icmp ugt i8 %x, 17 -; CHECK-NEXT: [[C:%.*]] = or i1 [[A]], [[B]] -; CHECK-NEXT: ret i1 [[C]] +; CHECK-NEXT: ret i1 true ; %a = icmp slt i8 %x, 23 %b = icmp ugt i8 %x, 17 @@ -5120,9 +4872,7 @@ define i1 @or_slt_ugt_swap(i8 %x) { define i1 @or_slt_ule_swap(i8 %x) { ; CHECK-LABEL: @or_slt_ule_swap( ; CHECK-NEXT: [[A:%.*]] = icmp slt i8 %x, 23 -; CHECK-NEXT: [[B:%.*]] = icmp ule i8 %x, 17 -; CHECK-NEXT: [[C:%.*]] = or i1 [[A]], [[B]] -; CHECK-NEXT: ret i1 [[C]] +; CHECK-NEXT: ret i1 [[A]] ; %a = icmp slt i8 %x, 23 %b = icmp ule i8 %x, 17 @@ -5135,9 +4885,7 @@ define i1 @or_slt_ule_swap(i8 %x) { define i1 @or_slt_ult_swap(i8 %x) { ; CHECK-LABEL: @or_slt_ult_swap( ; CHECK-NEXT: [[A:%.*]] = icmp slt i8 %x, 23 -; CHECK-NEXT: [[B:%.*]] = icmp ult i8 %x, 17 -; CHECK-NEXT: [[C:%.*]] = or i1 [[A]], [[B]] -; CHECK-NEXT: ret i1 [[C]] +; CHECK-NEXT: ret i1 [[A]] ; %a = icmp slt i8 %x, 23 %b = icmp ult i8 %x, 17 @@ -5165,10 +4913,8 @@ define i1 @or_uge_eq_swap(i8 %x) { define i1 @or_uge_ne_swap(i8 %x) { ; CHECK-LABEL: @or_uge_ne_swap( -; CHECK-NEXT: [[A:%.*]] = icmp uge i8 %x, 23 ; CHECK-NEXT: [[B:%.*]] = icmp ne i8 %x, 17 -; CHECK-NEXT: [[C:%.*]] = or i1 [[A]], [[B]] -; CHECK-NEXT: ret i1 [[C]] +; CHECK-NEXT: ret i1 [[B]] ; %a = icmp uge i8 %x, 23 %b = icmp ne i8 %x, 17 @@ -5240,10 +4986,8 @@ define i1 @or_uge_slt_swap(i8 %x) { define i1 @or_uge_uge_swap(i8 %x) { ; CHECK-LABEL: @or_uge_uge_swap( -; CHECK-NEXT: [[A:%.*]] = icmp uge i8 %x, 23 ; CHECK-NEXT: [[B:%.*]] = icmp uge i8 %x, 17 -; CHECK-NEXT: [[C:%.*]] = or i1 [[A]], [[B]] -; CHECK-NEXT: ret i1 [[C]] +; CHECK-NEXT: ret i1 [[B]] ; %a = icmp uge i8 %x, 23 %b = icmp uge i8 %x, 17 @@ -5255,10 +4999,8 @@ define i1 @or_uge_uge_swap(i8 %x) { define i1 @or_uge_ugt_swap(i8 %x) { ; CHECK-LABEL: @or_uge_ugt_swap( -; CHECK-NEXT: [[A:%.*]] = icmp uge i8 %x, 23 ; CHECK-NEXT: [[B:%.*]] = icmp ugt i8 %x, 17 -; CHECK-NEXT: [[C:%.*]] = or i1 [[A]], [[B]] -; CHECK-NEXT: ret i1 [[C]] +; CHECK-NEXT: ret i1 [[B]] ; %a = icmp uge i8 %x, 23 %b = icmp ugt i8 %x, 17 @@ -5316,10 +5058,8 @@ define i1 @or_ugt_eq_swap(i8 %x) { define i1 @or_ugt_ne_swap(i8 %x) { ; CHECK-LABEL: @or_ugt_ne_swap( -; CHECK-NEXT: [[A:%.*]] = icmp ugt i8 %x, 23 ; CHECK-NEXT: [[B:%.*]] = icmp ne i8 %x, 17 -; CHECK-NEXT: [[C:%.*]] = or i1 [[A]], [[B]] -; CHECK-NEXT: ret i1 [[C]] +; CHECK-NEXT: ret i1 [[B]] ; %a = icmp ugt i8 %x, 23 %b = icmp ne i8 %x, 17 @@ -5391,10 +5131,8 @@ define i1 @or_ugt_slt_swap(i8 %x) { define i1 @or_ugt_uge_swap(i8 %x) { ; CHECK-LABEL: @or_ugt_uge_swap( -; CHECK-NEXT: [[A:%.*]] = icmp ugt i8 %x, 23 ; CHECK-NEXT: [[B:%.*]] = icmp uge i8 %x, 17 -; CHECK-NEXT: [[C:%.*]] = or i1 [[A]], [[B]] -; CHECK-NEXT: ret i1 [[C]] +; CHECK-NEXT: ret i1 [[B]] ; %a = icmp ugt i8 %x, 23 %b = icmp uge i8 %x, 17 @@ -5406,10 +5144,8 @@ define i1 @or_ugt_uge_swap(i8 %x) { define i1 @or_ugt_ugt_swap(i8 %x) { ; CHECK-LABEL: @or_ugt_ugt_swap( -; CHECK-NEXT: [[A:%.*]] = icmp ugt i8 %x, 23 ; CHECK-NEXT: [[B:%.*]] = icmp ugt i8 %x, 17 -; CHECK-NEXT: [[C:%.*]] = or i1 [[A]], [[B]] -; CHECK-NEXT: ret i1 [[C]] +; CHECK-NEXT: ret i1 [[B]] ; %a = icmp ugt i8 %x, 23 %b = icmp ugt i8 %x, 17 @@ -5453,9 +5189,7 @@ define i1 @or_ugt_ult_swap(i8 %x) { define i1 @or_ule_eq_swap(i8 %x) { ; CHECK-LABEL: @or_ule_eq_swap( ; CHECK-NEXT: [[A:%.*]] = icmp ule i8 %x, 23 -; CHECK-NEXT: [[B:%.*]] = icmp eq i8 %x, 17 -; CHECK-NEXT: [[C:%.*]] = or i1 [[A]], [[B]] -; CHECK-NEXT: ret i1 [[C]] +; CHECK-NEXT: ret i1 [[A]] ; %a = icmp ule i8 %x, 23 %b = icmp eq i8 %x, 17 @@ -5467,10 +5201,7 @@ define i1 @or_ule_eq_swap(i8 %x) { define i1 @or_ule_ne_swap(i8 %x) { ; CHECK-LABEL: @or_ule_ne_swap( -; CHECK-NEXT: [[A:%.*]] = icmp ule i8 %x, 23 -; CHECK-NEXT: [[B:%.*]] = icmp ne i8 %x, 17 -; CHECK-NEXT: [[C:%.*]] = or i1 [[A]], [[B]] -; CHECK-NEXT: ret i1 [[C]] +; CHECK-NEXT: ret i1 true ; %a = icmp ule i8 %x, 23 %b = icmp ne i8 %x, 17 @@ -5542,10 +5273,7 @@ define i1 @or_ule_slt_swap(i8 %x) { define i1 @or_ule_uge_swap(i8 %x) { ; CHECK-LABEL: @or_ule_uge_swap( -; CHECK-NEXT: [[A:%.*]] = icmp ule i8 %x, 23 -; CHECK-NEXT: [[B:%.*]] = icmp uge i8 %x, 17 -; CHECK-NEXT: [[C:%.*]] = or i1 [[A]], [[B]] -; CHECK-NEXT: ret i1 [[C]] +; CHECK-NEXT: ret i1 true ; %a = icmp ule i8 %x, 23 %b = icmp uge i8 %x, 17 @@ -5557,10 +5285,7 @@ define i1 @or_ule_uge_swap(i8 %x) { define i1 @or_ule_ugt_swap(i8 %x) { ; CHECK-LABEL: @or_ule_ugt_swap( -; CHECK-NEXT: [[A:%.*]] = icmp ule i8 %x, 23 -; CHECK-NEXT: [[B:%.*]] = icmp ugt i8 %x, 17 -; CHECK-NEXT: [[C:%.*]] = or i1 [[A]], [[B]] -; CHECK-NEXT: ret i1 [[C]] +; CHECK-NEXT: ret i1 true ; %a = icmp ule i8 %x, 23 %b = icmp ugt i8 %x, 17 @@ -5573,9 +5298,7 @@ define i1 @or_ule_ugt_swap(i8 %x) { define i1 @or_ule_ule_swap(i8 %x) { ; CHECK-LABEL: @or_ule_ule_swap( ; CHECK-NEXT: [[A:%.*]] = icmp ule i8 %x, 23 -; CHECK-NEXT: [[B:%.*]] = icmp ule i8 %x, 17 -; CHECK-NEXT: [[C:%.*]] = or i1 [[A]], [[B]] -; CHECK-NEXT: ret i1 [[C]] +; CHECK-NEXT: ret i1 [[A]] ; %a = icmp ule i8 %x, 23 %b = icmp ule i8 %x, 17 @@ -5588,9 +5311,7 @@ define i1 @or_ule_ule_swap(i8 %x) { define i1 @or_ule_ult_swap(i8 %x) { ; CHECK-LABEL: @or_ule_ult_swap( ; CHECK-NEXT: [[A:%.*]] = icmp ule i8 %x, 23 -; CHECK-NEXT: [[B:%.*]] = icmp ult i8 %x, 17 -; CHECK-NEXT: [[C:%.*]] = or i1 [[A]], [[B]] -; CHECK-NEXT: ret i1 [[C]] +; CHECK-NEXT: ret i1 [[A]] ; %a = icmp ule i8 %x, 23 %b = icmp ult i8 %x, 17 @@ -5604,9 +5325,7 @@ define i1 @or_ule_ult_swap(i8 %x) { define i1 @or_ult_eq_swap(i8 %x) { ; CHECK-LABEL: @or_ult_eq_swap( ; CHECK-NEXT: [[A:%.*]] = icmp ult i8 %x, 23 -; CHECK-NEXT: [[B:%.*]] = icmp eq i8 %x, 17 -; CHECK-NEXT: [[C:%.*]] = or i1 [[A]], [[B]] -; CHECK-NEXT: ret i1 [[C]] +; CHECK-NEXT: ret i1 [[A]] ; %a = icmp ult i8 %x, 23 %b = icmp eq i8 %x, 17 @@ -5618,10 +5337,7 @@ define i1 @or_ult_eq_swap(i8 %x) { define i1 @or_ult_ne_swap(i8 %x) { ; CHECK-LABEL: @or_ult_ne_swap( -; CHECK-NEXT: [[A:%.*]] = icmp ult i8 %x, 23 -; CHECK-NEXT: [[B:%.*]] = icmp ne i8 %x, 17 -; CHECK-NEXT: [[C:%.*]] = or i1 [[A]], [[B]] -; CHECK-NEXT: ret i1 [[C]] +; CHECK-NEXT: ret i1 true ; %a = icmp ult i8 %x, 23 %b = icmp ne i8 %x, 17 @@ -5693,10 +5409,7 @@ define i1 @or_ult_slt_swap(i8 %x) { define i1 @or_ult_uge_swap(i8 %x) { ; CHECK-LABEL: @or_ult_uge_swap( -; CHECK-NEXT: [[A:%.*]] = icmp ult i8 %x, 23 -; CHECK-NEXT: [[B:%.*]] = icmp uge i8 %x, 17 -; CHECK-NEXT: [[C:%.*]] = or i1 [[A]], [[B]] -; CHECK-NEXT: ret i1 [[C]] +; CHECK-NEXT: ret i1 true ; %a = icmp ult i8 %x, 23 %b = icmp uge i8 %x, 17 @@ -5708,10 +5421,7 @@ define i1 @or_ult_uge_swap(i8 %x) { define i1 @or_ult_ugt_swap(i8 %x) { ; CHECK-LABEL: @or_ult_ugt_swap( -; CHECK-NEXT: [[A:%.*]] = icmp ult i8 %x, 23 -; CHECK-NEXT: [[B:%.*]] = icmp ugt i8 %x, 17 -; CHECK-NEXT: [[C:%.*]] = or i1 [[A]], [[B]] -; CHECK-NEXT: ret i1 [[C]] +; CHECK-NEXT: ret i1 true ; %a = icmp ult i8 %x, 23 %b = icmp ugt i8 %x, 17 @@ -5724,9 +5434,7 @@ define i1 @or_ult_ugt_swap(i8 %x) { define i1 @or_ult_ule_swap(i8 %x) { ; CHECK-LABEL: @or_ult_ule_swap( ; CHECK-NEXT: [[A:%.*]] = icmp ult i8 %x, 23 -; CHECK-NEXT: [[B:%.*]] = icmp ule i8 %x, 17 -; CHECK-NEXT: [[C:%.*]] = or i1 [[A]], [[B]] -; CHECK-NEXT: ret i1 [[C]] +; CHECK-NEXT: ret i1 [[A]] ; %a = icmp ult i8 %x, 23 %b = icmp ule i8 %x, 17 @@ -5739,9 +5447,7 @@ define i1 @or_ult_ule_swap(i8 %x) { define i1 @or_ult_ult_swap(i8 %x) { ; CHECK-LABEL: @or_ult_ult_swap( ; CHECK-NEXT: [[A:%.*]] = icmp ult i8 %x, 23 -; CHECK-NEXT: [[B:%.*]] = icmp ult i8 %x, 17 -; CHECK-NEXT: [[C:%.*]] = or i1 [[A]], [[B]] -; CHECK-NEXT: ret i1 [[C]] +; CHECK-NEXT: ret i1 [[A]] ; %a = icmp ult i8 %x, 23 %b = icmp ult i8 %x, 17 |

