summaryrefslogtreecommitdiffstats
path: root/llvm/test/Transforms/InstSimplify/AndOrXor.ll
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/test/Transforms/InstSimplify/AndOrXor.ll')
-rw-r--r--llvm/test/Transforms/InstSimplify/AndOrXor.ll17
1 files changed, 2 insertions, 15 deletions
diff --git a/llvm/test/Transforms/InstSimplify/AndOrXor.ll b/llvm/test/Transforms/InstSimplify/AndOrXor.ll
index 40f2e9bbdbc..e059d77f1fa 100644
--- a/llvm/test/Transforms/InstSimplify/AndOrXor.ll
+++ b/llvm/test/Transforms/InstSimplify/AndOrXor.ll
@@ -468,16 +468,9 @@ define <2 x i3> @and_of_different_cast_icmps_vec(<2 x i8> %i, <2 x i16> %j) {
ret <2 x i3> %and
}
-; FIXME: This should simplify.
-
define i32 @or_of_zexted_icmps(i32 %i) {
; CHECK-LABEL: @or_of_zexted_icmps(
-; CHECK-NEXT: [[CMP0:%.*]] = icmp ne i32 %i, 0
-; CHECK-NEXT: [[CONV0:%.*]] = zext i1 [[CMP0]] to i32
-; CHECK-NEXT: [[CMP1:%.*]] = icmp uge i32 4, %i
-; CHECK-NEXT: [[CONV1:%.*]] = zext i1 [[CMP1]] to i32
-; CHECK-NEXT: [[OR:%.*]] = or i32 [[CONV0]], [[CONV1]]
-; CHECK-NEXT: ret i32 [[OR]]
+; CHECK-NEXT: ret i32 1
;
%cmp0 = icmp ne i32 %i, 0
%conv0 = zext i1 %cmp0 to i32
@@ -487,17 +480,11 @@ define i32 @or_of_zexted_icmps(i32 %i) {
ret i32 %or
}
-; FIXME: This should simplify
; Try a different cast and weird vector types.
define i3 @or_of_bitcast_icmps_vec(<3 x i65> %i) {
; CHECK-LABEL: @or_of_bitcast_icmps_vec(
-; CHECK-NEXT: [[CMP0:%.*]] = icmp sge <3 x i65> %i, zeroinitializer
-; CHECK-NEXT: [[CONV0:%.*]] = bitcast <3 x i1> [[CMP0]] to i3
-; CHECK-NEXT: [[CMP1:%.*]] = icmp slt <3 x i65> %i, zeroinitializer
-; CHECK-NEXT: [[CONV1:%.*]] = bitcast <3 x i1> [[CMP1]] to i3
-; CHECK-NEXT: [[OR:%.*]] = or i3 [[CONV0]], [[CONV1]]
-; CHECK-NEXT: ret i3 [[OR]]
+; CHECK-NEXT: ret i3 bitcast (<3 x i1> <i1 true, i1 true, i1 true> to i3)
;
%cmp0 = icmp sge <3 x i65> %i, zeroinitializer
%conv0 = bitcast <3 x i1> %cmp0 to i3
OpenPOWER on IntegriCloud