aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Lenharth <andrewl@lenharth.org>2005-05-11 17:23:41 +0000
committerAndrew Lenharth <andrewl@lenharth.org>2005-05-11 17:23:41 +0000
commit50d435f3a76a9df04bc20638db56a6d28164dd4b (patch)
tree920e17d510c178c9cd4be15287bd17d7d0ba42f0
parent57ff7e5f6479b43828406a6723b7dde6f673f48c (diff)
Legalize for CTLZ generates a ctpop, but this ctpop is not expanded.
This is bad. It is generated if you are ctlz a type that is not legal for the arch (aka ctlz of bytes on alpha legalize fine). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21867 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--test/CodeGen/Alpha/ctlz_e.ll12
1 files changed, 12 insertions, 0 deletions
diff --git a/test/CodeGen/Alpha/ctlz_e.ll b/test/CodeGen/Alpha/ctlz_e.ll
new file mode 100644
index 0000000000..dc16eb50be
--- /dev/null
+++ b/test/CodeGen/Alpha/ctlz_e.ll
@@ -0,0 +1,12 @@
+; Make sure this testcase does not use ctpop
+; RUN: llvm-as < %s | llc -march=alpha | grep -i 'ctpop' |wc -l |grep 0
+
+declare ulong %llvm.ctlz(ulong)
+
+implementation ; Functions:
+
+ulong %bar(ulong %x) {
+entry:
+ %tmp.1 = call ulong %llvm.ctlz( ulong %x )
+ ret ulong %tmp.1
+}