Test that converting from double to int64 results in one libcall, not one
authorChris Lattner <sabre@nondot.org>
Fri, 2 Sep 2005 20:24:10 +0000 (20:24 +0000)
committerChris Lattner <sabre@nondot.org>
Fri, 2 Sep 2005 20:24:10 +0000 (20:24 +0000)
and a dead one.  This is a legalize bug

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23227 91177308-0d34-0410-b5e6-96231b3b80d8

test/CodeGen/PowerPC/2005-09-02-LegalizeDuplicatesCalls.ll [new file with mode: 0644]

diff --git a/test/CodeGen/PowerPC/2005-09-02-LegalizeDuplicatesCalls.ll b/test/CodeGen/PowerPC/2005-09-02-LegalizeDuplicatesCalls.ll
new file mode 100644 (file)
index 0000000..1671705
--- /dev/null
@@ -0,0 +1,9 @@
+; This function should have exactly one call to fixdfdi, no more!
+
+; RUN: llvm-as < %s | llc -march=ppc32 | grep 'bl .*fixdfdi' | wc -l | grep 1
+
+double %test2(double %tmp.7705) {
+        %mem_tmp.2.0.in = cast double %tmp.7705 to long                ; <long> [#uses=1]
+        %mem_tmp.2.0 = cast long %mem_tmp.2.0.in to double
+       ret double %mem_tmp.2.0
+}