summaryrefslogtreecommitdiff
path: root/test/CodeGen/PowerPC/big-endian-actual-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-actual-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-actual-args.ll')
-rw-r--r--test/CodeGen/PowerPC/big-endian-actual-args.ll7
1 files changed, 7 insertions, 0 deletions
diff --git a/test/CodeGen/PowerPC/big-endian-actual-args.ll b/test/CodeGen/PowerPC/big-endian-actual-args.ll
new file mode 100644
index 0000000000..1a31b9e1ab
--- /dev/null
+++ b/test/CodeGen/PowerPC/big-endian-actual-args.ll
@@ -0,0 +1,7 @@
+; RUN: llvm-as < %s | llc -march=ppc32 | grep {addc 4, 4, 6}
+; RUN: llvm-as < %s | llc -march=ppc32 | grep {adde 3, 3, 5}
+
+define i64 @foo(i64 %x, i64 %y) {
+ %z = add i64 %x, %y
+ ret i64 %z
+}