diff options
author | Tobias Grosser <grosser@fim.uni-passau.de> | 2011-01-09 16:00:11 +0000 |
---|---|---|
committer | Tobias Grosser <grosser@fim.uni-passau.de> | 2011-01-09 16:00:11 +0000 |
commit | aa2be8435693dfe73dac64de3e2b6b3f19df1eac (patch) | |
tree | ef26b4b0dca29775904cdf82420f4c85b4e3710f /test/Transforms/InstCombine/select.ll | |
parent | 3a723ab344d9835506ed2b52a2ccd75078670fc7 (diff) | |
download | external_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.ll | 11 |
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 +} |