summaryrefslogtreecommitdiffstats
path: root/llvm/lib
diff options
context:
space:
mode:
authorTim Northover <tnorthover@apple.com>2014-04-16 09:03:25 +0000
committerTim Northover <tnorthover@apple.com>2014-04-16 09:03:25 +0000
commit97c5b6fe4fed17315ba135b2e34d7fe6c0e0366f (patch)
tree0d9aa6787ad15d95034d5b1bd29940784e5f052d /llvm/lib
parent863a789a990a26df68f6412ad0959d08b9f2dd5b (diff)
downloadbcm5719-llvm-97c5b6fe4fed17315ba135b2e34d7fe6c0e0366f.tar.gz
bcm5719-llvm-97c5b6fe4fed17315ba135b2e34d7fe6c0e0366f.zip
ARM64: mark x7 as used when an i128 gets shunted onto the stack.
The second half of a split i128 was ending up in x7, which is not a good thing. This is another part of PR19432. llvm-svn: 206366
Diffstat (limited to 'llvm/lib')
-rw-r--r--llvm/lib/Target/ARM64/ARM64CallingConvention.td2
1 files changed, 1 insertions, 1 deletions
diff --git a/llvm/lib/Target/ARM64/ARM64CallingConvention.td b/llvm/lib/Target/ARM64/ARM64CallingConvention.td
index 9ac888ff242..f86c9c714ac 100644
--- a/llvm/lib/Target/ARM64/ARM64CallingConvention.td
+++ b/llvm/lib/Target/ARM64/ARM64CallingConvention.td
@@ -36,7 +36,7 @@ def CC_ARM64_AAPCS : CallingConv<[
[X0, X1, X3, X5]>>>,
// i128 is split to two i64s, and its stack alignment is 16 bytes.
- CCIfType<[i64], CCIfSplit<CCAssignToStack<8, 16>>>,
+ CCIfType<[i64], CCIfSplit<CCAssignToStackWithShadow<8, 16, [X7]>>>,
CCIfType<[i64], CCAssignToRegWithShadow<[X0, X1, X2, X3, X4, X5, X6, X7],
[W0, W1, W2, W3, W4, W5, W6, W7]>>,
OpenPOWER on IntegriCloud