summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNate Begeman <natebegeman@mac.com>2005-05-11 23:45:54 +0000
committerNate Begeman <natebegeman@mac.com>2005-05-11 23:45:54 +0000
commit4ce1dea8afaa97c4c1b98de9eae6f7d533e4ce06 (patch)
tree571c2b73f20338b75f9e34de91018b8d9c82528c
parent99fa5bc1fa54bf24364847927e7525edd2cd7d5d (diff)
downloadbcm5719-llvm-4ce1dea8afaa97c4c1b98de9eae6f7d533e4ce06.tar.gz
bcm5719-llvm-4ce1dea8afaa97c4c1b98de9eae6f7d533e4ce06.zip
Add testcase for legalizing ISD::CTTZ efficiently. On PPC, ctlz(int) is
now codegen'd as this: addi r2, r3, -1 andc r2, r2, r3 cntlzw r2, r2 subfic r3, r2, 32 blr llvm-svn: 21881
-rw-r--r--llvm/test/Regression/CodeGen/PowerPC/cttz.ll12
1 files changed, 12 insertions, 0 deletions
diff --git a/llvm/test/Regression/CodeGen/PowerPC/cttz.ll b/llvm/test/Regression/CodeGen/PowerPC/cttz.ll
new file mode 100644
index 00000000000..f860456d647
--- /dev/null
+++ b/llvm/test/Regression/CodeGen/PowerPC/cttz.ll
@@ -0,0 +1,12 @@
+; Make sure this testcase does not use ctpop
+; RUN: llvm-as < %s | llc -march=ppc32 | grep -i 'cntlzw'
+
+declare int %llvm.cttz(int)
+
+implementation ; Functions:
+
+int %bar(int %x) {
+entry:
+ %tmp.1 = call int %llvm.cttz( int %x )
+ ret int %tmp.1
+}
OpenPOWER on IntegriCloud