summaryrefslogtreecommitdiffstats
path: root/llvm/test/Transforms
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2010-01-23 18:49:30 +0000
committerChris Lattner <sabre@nondot.org>2010-01-23 18:49:30 +0000
commit249da5cb73cb9e55d2edfe831fc2cf33402b76d7 (patch)
treedbf28454ab38eb8c17936fed51f4a1b4f264827a /llvm/test/Transforms
parent97331ae668c945476a92d2863a8ce9234190943b (diff)
downloadbcm5719-llvm-249da5cb73cb9e55d2edfe831fc2cf33402b76d7.tar.gz
bcm5719-llvm-249da5cb73cb9e55d2edfe831fc2cf33402b76d7.zip
implement a simple instcombine xform that has been in the
readme forever. llvm-svn: 94318
Diffstat (limited to 'llvm/test/Transforms')
-rw-r--r--llvm/test/Transforms/InstCombine/intrinsics.ll15
1 files changed, 15 insertions, 0 deletions
diff --git a/llvm/test/Transforms/InstCombine/intrinsics.ll b/llvm/test/Transforms/InstCombine/intrinsics.ll
index c63475c2bd7..08dcfa731a9 100644
--- a/llvm/test/Transforms/InstCombine/intrinsics.ll
+++ b/llvm/test/Transforms/InstCombine/intrinsics.ll
@@ -144,3 +144,18 @@ entry:
; CHECK-NEXT: %pop.cmp = icmp eq i32 %b, 0
; CHECK-NEXT: volatile store i1 %pop.cmp, i1* %c
}
+
+
+define i32 @cttz_simplify1(i32 %x) nounwind readnone ssp {
+ %tmp1 = tail call i32 @llvm.ctlz.i32(i32 %x) ; <i32> [#uses=1]
+ %shr3 = lshr i32 %tmp1, 5 ; <i32> [#uses=1]
+ ret i32 %shr3
+
+; CHECK: @cttz_simplify1
+; CHECK: icmp eq i32 %x, 0
+; CHECK-NEXT: zext i1
+; CHECK-NEXT: ret i32
+}
+
+declare i32 @llvm.ctlz.i32(i32) nounwind readnone
+
OpenPOWER on IntegriCloud