aboutsummaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2006-03-01 04:56:33 +0000
committerChris Lattner <sabre@nondot.org>2006-03-01 04:56:33 +0000
commit257bedbeaf272feb2b15a5cf2718fbe508fcd04e (patch)
treef4179c4eeb16320bd87f584d5b5f943fa6d3f1ce /test
parent2466472a2b6a2992a65efdc4634bcee08d23d8a8 (diff)
downloadexternal_llvm-257bedbeaf272feb2b15a5cf2718fbe508fcd04e.zip
external_llvm-257bedbeaf272feb2b15a5cf2718fbe508fcd04e.tar.gz
external_llvm-257bedbeaf272feb2b15a5cf2718fbe508fcd04e.tar.bz2
new testcase. There should be no accesses to the stack for these functions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26444 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test')
-rw-r--r--test/CodeGen/PowerPC/fp-int-fp.ll27
1 files changed, 27 insertions, 0 deletions
diff --git a/test/CodeGen/PowerPC/fp-int-fp.ll b/test/CodeGen/PowerPC/fp-int-fp.ll
new file mode 100644
index 0000000..93ca947
--- /dev/null
+++ b/test/CodeGen/PowerPC/fp-int-fp.ll
@@ -0,0 +1,27 @@
+; RUN: llvm-as < %s | llc -march=ppc32 -mcpu=g5 &&
+; RUN: llvm-as < %s | llc -march=ppc32 -mcpu=g5 | not grep r1
+
+double %test1(double %X) {
+ %Y = cast double %X to long
+ %Z = cast long %Y to double
+ ret double %Z
+}
+
+float %test2(double %X) {
+ %Y = cast double %X to long
+ %Z = cast long %Y to float
+ ret float %Z
+}
+
+double %test3(float %X) {
+ %Y = cast float %X to long
+ %Z = cast long %Y to double
+ ret double %Z
+}
+
+float %test4(float %X) {
+ %Y = cast float %X to long
+ %Z = cast long %Y to float
+ ret float %Z
+}
+