diff options
author | Davide Italiano <davide@freebsd.org> | 2016-12-15 23:48:07 +0000 |
---|---|---|
committer | Davide Italiano <davide@freebsd.org> | 2016-12-15 23:48:07 +0000 |
commit | 67e979e086a6d452f0d69183b3cfc8ac74b3cf2e (patch) | |
tree | 29afddeffceef4becefa971dac134297d26e112e | |
parent | 85ad36b0e01210fad939126e47a994b76a1cbd10 (diff) | |
download | bcm5719-llvm-67e979e086a6d452f0d69183b3cfc8ac74b3cf2e.tar.gz bcm5719-llvm-67e979e086a6d452f0d69183b3cfc8ac74b3cf2e.zip |
[SimplifyLibCalls] Add a test to make sure we lower fls(0) correctly.
llvm-svn: 289895
-rw-r--r-- | llvm/test/Transforms/InstCombine/fls.ll | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/llvm/test/Transforms/InstCombine/fls.ll b/llvm/test/Transforms/InstCombine/fls.ll index bf608b35dff..9ccc56aa6bc 100644 --- a/llvm/test/Transforms/InstCombine/fls.ll +++ b/llvm/test/Transforms/InstCombine/fls.ll @@ -43,6 +43,15 @@ define i32 @flsnotconst(i64 %z) { ret i32 %goo } +; Make sure we lower fls(0) to 0 and not to `undef`. +; CHECK-LABEL: define i32 @flszero( +; CHECK: ret i32 0 +; CHECK: } +define i32 @flszero() { + %zero = call i32 @fls(i32 0) + ret i32 %zero +} + declare i32 @fls(i32) declare i32 @flsl(i64) declare i32 @flsll(i64) |