aboutsummaryrefslogtreecommitdiffstats
path: root/test/Transforms/InstCombine/select.ll
diff options
context:
space:
mode:
authorTobias Grosser <grosser@fim.uni-passau.de>2011-01-09 16:00:11 +0000
committerTobias Grosser <grosser@fim.uni-passau.de>2011-01-09 16:00:11 +0000
commitaa2be8435693dfe73dac64de3e2b6b3f19df1eac (patch)
treeef26b4b0dca29775904cdf82420f4c85b4e3710f /test/Transforms/InstCombine/select.ll
parent3a723ab344d9835506ed2b52a2ccd75078670fc7 (diff)
downloadexternal_llvm-aa2be8435693dfe73dac64de3e2b6b3f19df1eac.zip
external_llvm-aa2be8435693dfe73dac64de3e2b6b3f19df1eac.tar.gz
external_llvm-aa2be8435693dfe73dac64de3e2b6b3f19df1eac.tar.bz2
Instcombine: Fix pattern where the sext did not dominate the icmp using it
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123121 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/Transforms/InstCombine/select.ll')
-rw-r--r--test/Transforms/InstCombine/select.ll11
1 files changed, 11 insertions, 0 deletions
diff --git a/test/Transforms/InstCombine/select.ll b/test/Transforms/InstCombine/select.ll
index c9b880d..6633564 100644
--- a/test/Transforms/InstCombine/select.ll
+++ b/test/Transforms/InstCombine/select.ll
@@ -678,3 +678,14 @@ define i64 @test49(i32 %a) nounwind {
; CHECK-NEXT: %min = select i1 %is_a_nonpositive, i64 %a_ext, i64 2
; CHECK-NEXT: ret i64 %min
}
+define i64 @test50(i32 %a) nounwind {
+ %is_a_nonpositive = icmp ult i32 %a, 3
+ %a_ext = sext i32 %a to i64
+ %min = select i1 %is_a_nonpositive, i64 2, i64 %a_ext
+ ret i64 %min
+; CHECK: @test50
+; CHECK-NEXT: %a_ext = sext i32 %a to i64
+; CHECK-NEXT: %is_a_nonpositive = icmp ugt i64 %a_ext, 2
+; CHECK-NEXT: %min = select i1 %is_a_nonpositive, i64 %a_ext, i64 2
+; CHECK-NEXT: ret i64 %min
+}