summaryrefslogtreecommitdiff
path: root/lib/Target/X86/X86CallingConv.td
diff options
context:
space:
mode:
authorJuergen Ributzka <juergen@apple.com>2013-12-14 06:52:59 +0000
committerJuergen Ributzka <juergen@apple.com>2013-12-14 06:52:59 +0000
commitcdeccb0c224f8c5863ef769c582b2f7c3cbb043c (patch)
tree4103ac58fae86188121d4bed2f5255b7181461ad /lib/Target/X86/X86CallingConv.td
parent57c38e3faa02d660ea09e88c8aa34d6fe1cccb88 (diff)
downloadllvm-cdeccb0c224f8c5863ef769c582b2f7c3cbb043c.tar.gz
llvm-cdeccb0c224f8c5863ef769c582b2f7c3cbb043c.tar.bz2
llvm-cdeccb0c224f8c5863ef769c582b2f7c3cbb043c.tar.xz
[Stackmap] Only the AnyReg calling convention should preserve all registers.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@197316 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/X86/X86CallingConv.td')
-rw-r--r--lib/Target/X86/X86CallingConv.td5
1 files changed, 5 insertions, 0 deletions
diff --git a/lib/Target/X86/X86CallingConv.td b/lib/Target/X86/X86CallingConv.td
index fdc1140d59..31c62c3f5e 100644
--- a/lib/Target/X86/X86CallingConv.td
+++ b/lib/Target/X86/X86CallingConv.td
@@ -617,6 +617,11 @@ def CSR_MostRegs_64 : CalleeSavedRegs<(add RBX, RCX, RDX, RSI, RDI, R8, R9, R10,
R11, R12, R13, R14, R15, RBP,
(sequence "XMM%u", 0, 15))>;
+def CSR_AllRegs_64 : CalleeSavedRegs<(add CSR_MostRegs_64, RAX, RSP,
+ (sequence "XMM%u", 16, 31),
+ (sequence "YMM%u", 0, 31),
+ (sequence "ZMM%u", 0, 31))>;
+
// Standard C + YMM6-15
def CSR_Win64_Intel_OCL_BI_AVX : CalleeSavedRegs<(add RBX, RBP, RDI, RSI, R12,
R13, R14, R15,