diff options
| author | Chris Lattner <sabre@nondot.org> | 2010-01-23 18:49:30 +0000 |
|---|---|---|
| committer | Chris Lattner <sabre@nondot.org> | 2010-01-23 18:49:30 +0000 |
| commit | 249da5cb73cb9e55d2edfe831fc2cf33402b76d7 (patch) | |
| tree | dbf28454ab38eb8c17936fed51f4a1b4f264827a /llvm/test/Transforms | |
| parent | 97331ae668c945476a92d2863a8ce9234190943b (diff) | |
| download | bcm5719-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.ll | 15 |
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 + |

