summaryrefslogtreecommitdiff
path: root/test/Transforms/InstCombine/shift.ll
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2009-10-11 22:39:58 +0000
committerChris Lattner <sabre@nondot.org>2009-10-11 22:39:58 +0000
commit90d4f3a0771e854a13607ad3a274ac64b1881918 (patch)
tree0aea4db4e3ce81254f9a113f9ca3d010986cd63a /test/Transforms/InstCombine/shift.ll
parent490ff6310a6a7b197044455103916d1ba8642201 (diff)
downloadllvm-90d4f3a0771e854a13607ad3a274ac64b1881918.tar.gz
llvm-90d4f3a0771e854a13607ad3a274ac64b1881918.tar.bz2
llvm-90d4f3a0771e854a13607ad3a274ac64b1881918.tar.xz
merge test into shift.ll, this also eliminates awful grepping on -stats output
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83802 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/Transforms/InstCombine/shift.ll')
-rw-r--r--test/Transforms/InstCombine/shift.ll34
1 files changed, 34 insertions, 0 deletions
diff --git a/test/Transforms/InstCombine/shift.ll b/test/Transforms/InstCombine/shift.ll
index d3c3794055..feed37bd10 100644
--- a/test/Transforms/InstCombine/shift.ll
+++ b/test/Transforms/InstCombine/shift.ll
@@ -309,3 +309,37 @@ define i1 @test27(i32 %x) nounwind {
ret i1 %z
}
+define i8 @test28(i8 %x) {
+entry:
+; CHECK: @test28
+; CHECK: icmp slt i8 %x, 0
+; CHECK-NEXT: br i1
+ %tmp1 = lshr i8 %x, 7
+ %cond1 = icmp ne i8 %tmp1, 0
+ br i1 %cond1, label %bb1, label %bb2
+
+bb1:
+ ret i8 0
+
+bb2:
+ ret i8 1
+}
+
+define i8 @test28a(i8 %x, i8 %y) {
+entry:
+; This shouldn't be transformed.
+; CHECK: @test28a
+; CHECK: %tmp1 = lshr i8 %x, 7
+; CHECK: %cond1 = icmp eq i8 %tmp1, 0
+; CHECK: br i1 %cond1, label %bb2, label %bb1
+ %tmp1 = lshr i8 %x, 7
+ %cond1 = icmp ne i8 %tmp1, 0
+ br i1 %cond1, label %bb1, label %bb2
+bb1:
+ ret i8 %tmp1
+bb2:
+ %tmp2 = add i8 %tmp1, %y
+ ret i8 %tmp2
+}
+
+