Legalize for CTLZ generates a ctpop, but this ctpop is not expanded.
authorAndrew Lenharth <andrewl@lenharth.org>
Wed, 11 May 2005 17:23:41 +0000 (17:23 +0000)
committerAndrew Lenharth <andrewl@lenharth.org>
Wed, 11 May 2005 17:23:41 +0000 (17:23 +0000)
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

test/CodeGen/Alpha/ctlz_e.ll [new file with mode: 0644]

diff --git a/test/CodeGen/Alpha/ctlz_e.ll b/test/CodeGen/Alpha/ctlz_e.ll
new file mode 100644 (file)
index 0000000..dc16eb5
--- /dev/null
@@ -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
+}