summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSanjay Patel <spatel@rotateright.com>2016-05-28 15:44:28 +0000
committerSanjay Patel <spatel@rotateright.com>2016-05-28 15:44:28 +0000
commitf49c7b157001dfd83f02e596c57577cfc0c08d17 (patch)
treef6d711ab78a49868fc5ece448d4a375d48b879de
parent3b1ecb563f5170471ccf3a111359cd3d916e2787 (diff)
downloadbcm5719-llvm-f49c7b157001dfd83f02e596c57577cfc0c08d17.tar.gz
bcm5719-llvm-f49c7b157001dfd83f02e596c57577cfc0c08d17.zip
regenerate checks
llvm-svn: 271117
-rw-r--r--llvm/test/Transforms/InstCombine/logical-select.ll94
1 files changed, 52 insertions, 42 deletions
diff --git a/llvm/test/Transforms/InstCombine/logical-select.ll b/llvm/test/Transforms/InstCombine/logical-select.ll
index f8c06768453..87453161d15 100644
--- a/llvm/test/Transforms/InstCombine/logical-select.ll
+++ b/llvm/test/Transforms/InstCombine/logical-select.ll
@@ -1,7 +1,13 @@
+; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
; RUN: opt < %s -instcombine -S | FileCheck %s
-define i32 @foo(i32 %a, i32 %b, i32 %c, i32 %d) nounwind {
+define i32 @foo(i32 %a, i32 %b, i32 %c, i32 %d) {
+; CHECK-LABEL: @foo(
+; CHECK-NEXT: [[E:%.*]] = icmp slt i32 %a, %b
+; CHECK-NEXT: [[J:%.*]] = select i1 [[E]], i32 %c, i32 %d
+; CHECK-NEXT: ret i32 [[J]]
+;
%e = icmp slt i32 %a, %b
%f = sext i1 %e to i32
%g = and i32 %c, %f
@@ -9,11 +15,14 @@ define i32 @foo(i32 %a, i32 %b, i32 %c, i32 %d) nounwind {
%i = and i32 %d, %h
%j = or i32 %g, %i
ret i32 %j
-; CHECK: %e = icmp slt i32 %a, %b
-; CHECK-NEXT: [[result:%.*]] = select i1 %e, i32 %c, i32 %d
-; CHECK-NEXT: ret i32 [[result]]
}
-define i32 @bar(i32 %a, i32 %b, i32 %c, i32 %d) nounwind {
+
+define i32 @bar(i32 %a, i32 %b, i32 %c, i32 %d) {
+; CHECK-LABEL: @bar(
+; CHECK-NEXT: [[E:%.*]] = icmp slt i32 %a, %b
+; CHECK-NEXT: [[J:%.*]] = select i1 [[E]], i32 %c, i32 %d
+; CHECK-NEXT: ret i32 [[J]]
+;
%e = icmp slt i32 %a, %b
%f = sext i1 %e to i32
%g = and i32 %c, %f
@@ -21,48 +30,49 @@ define i32 @bar(i32 %a, i32 %b, i32 %c, i32 %d) nounwind {
%i = and i32 %d, %h
%j = or i32 %i, %g
ret i32 %j
-; CHECK: %e = icmp slt i32 %a, %b
-; CHECK-NEXT: [[result:%.*]] = select i1 %e, i32 %c, i32 %d
-; CHECK-NEXT: ret i32 [[result]]
}
-define i32 @goo(i32 %a, i32 %b, i32 %c, i32 %d) nounwind {
-entry:
- %0 = icmp slt i32 %a, %b
- %iftmp.0.0 = select i1 %0, i32 -1, i32 0
- %1 = and i32 %iftmp.0.0, %c
+define i32 @goo(i32 %a, i32 %b, i32 %c, i32 %d) {
+; CHECK-LABEL: @goo(
+; CHECK-NEXT: [[T0:%.*]] = icmp slt i32 %a, %b
+; CHECK-NEXT: [[T3:%.*]] = select i1 [[T0]], i32 %c, i32 %d
+; CHECK-NEXT: ret i32 [[T3]]
+;
+ %t0 = icmp slt i32 %a, %b
+ %iftmp.0.0 = select i1 %t0, i32 -1, i32 0
+ %t1 = and i32 %iftmp.0.0, %c
%not = xor i32 %iftmp.0.0, -1
- %2 = and i32 %not, %d
- %3 = or i32 %1, %2
- ret i32 %3
-; CHECK: %0 = icmp slt i32 %a, %b
-; CHECK-NEXT: [[result:%.*]] = select i1 %0, i32 %c, i32 %d
-; CHECK-NEXT: ret i32 [[result]]
+ %t2 = and i32 %not, %d
+ %t3 = or i32 %t1, %t2
+ ret i32 %t3
}
-define i32 @poo(i32 %a, i32 %b, i32 %c, i32 %d) nounwind {
-entry:
- %0 = icmp slt i32 %a, %b
- %iftmp.0.0 = select i1 %0, i32 -1, i32 0
- %1 = and i32 %iftmp.0.0, %c
- %iftmp = select i1 %0, i32 0, i32 -1
- %2 = and i32 %iftmp, %d
- %3 = or i32 %1, %2
- ret i32 %3
-; CHECK: %0 = icmp slt i32 %a, %b
-; CHECK-NEXT: [[result:%.*]] = select i1 %0, i32 %c, i32 %d
-; CHECK-NEXT: ret i32 [[result]]
+
+define i32 @poo(i32 %a, i32 %b, i32 %c, i32 %d) {
+; CHECK-LABEL: @poo(
+; CHECK-NEXT: [[T0:%.*]] = icmp slt i32 %a, %b
+; CHECK-NEXT: [[T3:%.*]] = select i1 [[T0]], i32 %c, i32 %d
+; CHECK-NEXT: ret i32 [[T3]]
+;
+ %t0 = icmp slt i32 %a, %b
+ %iftmp.0.0 = select i1 %t0, i32 -1, i32 0
+ %t1 = and i32 %iftmp.0.0, %c
+ %iftmp = select i1 %t0, i32 0, i32 -1
+ %t2 = and i32 %iftmp, %d
+ %t3 = or i32 %t1, %t2
+ ret i32 %t3
}
-define i32 @par(i32 %a, i32 %b, i32 %c, i32 %d) nounwind {
-entry:
- %0 = icmp slt i32 %a, %b
- %iftmp.1.0 = select i1 %0, i32 -1, i32 0
- %1 = and i32 %iftmp.1.0, %c
+define i32 @par(i32 %a, i32 %b, i32 %c, i32 %d) {
+; CHECK-LABEL: @par(
+; CHECK-NEXT: [[T0:%.*]] = icmp slt i32 %a, %b
+; CHECK-NEXT: [[T3:%.*]] = select i1 [[T0]], i32 %c, i32 %d
+; CHECK-NEXT: ret i32 [[T3]]
+;
+ %t0 = icmp slt i32 %a, %b
+ %iftmp.1.0 = select i1 %t0, i32 -1, i32 0
+ %t1 = and i32 %iftmp.1.0, %c
%not = xor i32 %iftmp.1.0, -1
- %2 = and i32 %not, %d
- %3 = or i32 %1, %2
- ret i32 %3
-; CHECK: %0 = icmp slt i32 %a, %b
-; CHECK-NEXT: [[result:%.*]] = select i1 %0, i32 %c, i32 %d
-; CHECK-NEXT: ret i32 [[result]]
+ %t2 = and i32 %not, %d
+ %t3 = or i32 %t1, %t2
+ ret i32 %t3
}
OpenPOWER on IntegriCloud