summaryrefslogtreecommitdiff
path: root/test/CodeGen/PowerPC/big-endian-formal-args.ll
diff options
context:
space:
mode:
authorDan Gohman <gohman@apple.com>2007-07-05 20:12:34 +0000
committerDan Gohman <gohman@apple.com>2007-07-05 20:12:34 +0000
commit6183f78cf8c6f56cc436f19120acf2a7856cb9db (patch)
tree236171724a02205f960ae4b8c4aa6a8bfaf05379 /test/CodeGen/PowerPC/big-endian-formal-args.ll
parent1bfb8b7333f2656c25aac4399a487d9a1ca986bf (diff)
downloadllvm-6183f78cf8c6f56cc436f19120acf2a7856cb9db.tar.gz
llvm-6183f78cf8c6f56cc436f19120acf2a7856cb9db.tar.bz2
llvm-6183f78cf8c6f56cc436f19120acf2a7856cb9db.tar.xz
Add a parameter to getCopyToParts and getCopyFromParts to specify whether
endian swapping should be done, and update the code to use it. This fixes some register ordering issues on big-endian systems, such as PowerPC, introduced by the recent illegal by-val arguments changes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37921 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/CodeGen/PowerPC/big-endian-formal-args.ll')
-rw-r--r--test/CodeGen/PowerPC/big-endian-formal-args.ll11
1 files changed, 11 insertions, 0 deletions
diff --git a/test/CodeGen/PowerPC/big-endian-formal-args.ll b/test/CodeGen/PowerPC/big-endian-formal-args.ll
new file mode 100644
index 0000000000..1e19f5f3d7
--- /dev/null
+++ b/test/CodeGen/PowerPC/big-endian-formal-args.ll
@@ -0,0 +1,11 @@
+; RUN: llvm-as < %s | llc -march=ppc32 | grep {li 6, 3}
+; RUN: llvm-as < %s | llc -march=ppc32 | grep {li 4, 2}
+; RUN: llvm-as < %s | llc -march=ppc32 | grep {li 3, 0}
+; RUN: llvm-as < %s | llc -march=ppc32 | grep {mr 5, 3}
+
+declare void @bar(i64 %x, i64 %y)
+
+define void @foo() {
+ call void @bar(i64 2, i64 3)
+ ret void
+}