summaryrefslogtreecommitdiffstats
path: root/llvm/test
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/test')
-rw-r--r--llvm/test/Transforms/InstSimplify/and-icmps-same-ops.ll26
-rw-r--r--llvm/test/Transforms/InstSimplify/or-icmps-same-ops.ll26
2 files changed, 52 insertions, 0 deletions
diff --git a/llvm/test/Transforms/InstSimplify/and-icmps-same-ops.ll b/llvm/test/Transforms/InstSimplify/and-icmps-same-ops.ll
index 8a665c33997..4da79388f72 100644
--- a/llvm/test/Transforms/InstSimplify/and-icmps-same-ops.ll
+++ b/llvm/test/Transforms/InstSimplify/and-icmps-same-ops.ll
@@ -1211,3 +1211,29 @@ define <2 x i1> @ult_ule_vec(<2 x i8> %a, <2 x i8> %b) {
ret <2 x i1> %and
}
+define i1 @ult_uge_swap(i8 %a, i8 %b) {
+; CHECK-LABEL: @ult_uge_swap(
+; CHECK-NEXT: [[CMP1:%.*]] = icmp ult i8 %a, %b
+; CHECK-NEXT: [[CMP2:%.*]] = icmp uge i8 %b, %a
+; CHECK-NEXT: [[AND:%.*]] = and i1 [[CMP1]], [[CMP2]]
+; CHECK-NEXT: ret i1 [[AND]]
+;
+ %cmp1 = icmp ult i8 %a, %b
+ %cmp2 = icmp uge i8 %b, %a
+ %and = and i1 %cmp1, %cmp2
+ ret i1 %and
+}
+
+define i1 @ult_ult_swap(i8 %a, i8 %b) {
+; CHECK-LABEL: @ult_ult_swap(
+; CHECK-NEXT: [[CMP1:%.*]] = icmp ult i8 %a, %b
+; CHECK-NEXT: [[CMP2:%.*]] = icmp ult i8 %b, %a
+; CHECK-NEXT: [[AND:%.*]] = and i1 [[CMP1]], [[CMP2]]
+; CHECK-NEXT: ret i1 [[AND]]
+;
+ %cmp1 = icmp ult i8 %a, %b
+ %cmp2 = icmp ult i8 %b, %a
+ %and = and i1 %cmp1, %cmp2
+ ret i1 %and
+}
+
diff --git a/llvm/test/Transforms/InstSimplify/or-icmps-same-ops.ll b/llvm/test/Transforms/InstSimplify/or-icmps-same-ops.ll
index cee7fc3c649..326b1e158c0 100644
--- a/llvm/test/Transforms/InstSimplify/or-icmps-same-ops.ll
+++ b/llvm/test/Transforms/InstSimplify/or-icmps-same-ops.ll
@@ -1211,3 +1211,29 @@ define <2 x i1> @ult_ule_vec(<2 x i8> %a, <2 x i8> %b) {
ret <2 x i1> %or
}
+define i1 @ult_ne_swap(i8 %a, i8 %b) {
+; CHECK-LABEL: @ult_ne_swap(
+; CHECK-NEXT: [[CMP1:%.*]] = icmp ult i8 %a, %b
+; CHECK-NEXT: [[CMP2:%.*]] = icmp ne i8 %b, %a
+; CHECK-NEXT: [[OR:%.*]] = or i1 [[CMP1]], [[CMP2]]
+; CHECK-NEXT: ret i1 [[OR]]
+;
+ %cmp1 = icmp ult i8 %a, %b
+ %cmp2 = icmp ne i8 %b, %a
+ %or = or i1 %cmp1, %cmp2
+ ret i1 %or
+}
+
+define i1 @ult_ule_swap(i8 %a, i8 %b) {
+; CHECK-LABEL: @ult_ule_swap(
+; CHECK-NEXT: [[CMP1:%.*]] = icmp ult i8 %a, %b
+; CHECK-NEXT: [[CMP2:%.*]] = icmp uge i8 %b, %a
+; CHECK-NEXT: [[OR:%.*]] = or i1 [[CMP1]], [[CMP2]]
+; CHECK-NEXT: ret i1 [[OR]]
+;
+ %cmp1 = icmp ult i8 %a, %b
+ %cmp2 = icmp uge i8 %b, %a
+ %or = or i1 %cmp1, %cmp2
+ ret i1 %or
+}
+
OpenPOWER on IntegriCloud