summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2007-03-25 04:43:51 +0000
committerChris Lattner <sabre@nondot.org>2007-03-25 04:43:51 +0000
commit31b80d55ee4ee78753cb9306494175a40bf8c123 (patch)
tree765ba59561d86255d086f98b1a0d876e210a1a6a
parent3d7efa25862f74ac4ba35653a419100840e54df0 (diff)
downloadbcm5719-llvm-31b80d55ee4ee78753cb9306494175a40bf8c123.tar.gz
bcm5719-llvm-31b80d55ee4ee78753cb9306494175a40bf8c123.zip
test that the ppc backend can do 64-bit cntlz
llvm-svn: 35328
-rw-r--r--llvm/test/CodeGen/PowerPC/2007-03-24-cntlzd.ll13
1 files changed, 13 insertions, 0 deletions
diff --git a/llvm/test/CodeGen/PowerPC/2007-03-24-cntlzd.ll b/llvm/test/CodeGen/PowerPC/2007-03-24-cntlzd.ll
new file mode 100644
index 00000000000..a9808cee55d
--- /dev/null
+++ b/llvm/test/CodeGen/PowerPC/2007-03-24-cntlzd.ll
@@ -0,0 +1,13 @@
+; RUN: llvm-as < %s | llc -march=ppc64 -mcpu=g5 | grep cntlzd
+
+define i32 @_ZNK4llvm5APInt17countLeadingZerosEv(i64 *%t) {
+ %tmp19 = load i64* %t
+ %tmp23 = tail call i64 @llvm.ctlz.i64( i64 %tmp19 ) ; <i64> [#uses=1]
+ %tmp2324 = trunc i64 %tmp23 to i32 ; <i32> [#uses=1]
+ %tmp89 = add i32 %tmp2324, -64 ; <i32> [#uses=1]
+ %tmp90 = add i32 %tmp89, 0 ; <i32> [#uses=1]
+ ret i32 %tmp90
+}
+
+declare i64 @llvm.ctlz.i64(i64)
+
OpenPOWER on IntegriCloud