summaryrefslogtreecommitdiffstats
path: root/llvm/lib
diff options
context:
space:
mode:
authorQuentin Colombet <qcolombet@apple.com>2016-05-09 22:37:05 +0000
committerQuentin Colombet <qcolombet@apple.com>2016-05-09 22:37:05 +0000
commit739614839fc0642c7a72028c33f544eef95c8ae4 (patch)
treed801b9eb3ee02a14978fdf83eb9637fb112c67ed /llvm/lib
parent4d430badebaed4c7ff5a8af11890fbc177e77172 (diff)
downloadbcm5719-llvm-739614839fc0642c7a72028c33f544eef95c8ae4.tar.gz
bcm5719-llvm-739614839fc0642c7a72028c33f544eef95c8ae4.zip
[X86] Fix the AllRegs AVX calling convention.
We used to list registers that were not in the AVX space. In other words, we were pushing registers that the ISA cannot encode (YMM16-YMM31). This is part of llvm.org/PR27481. llvm-svn: 268983
Diffstat (limited to 'llvm/lib')
-rw-r--r--llvm/lib/Target/X86/X86CallingConv.td2
1 files changed, 1 insertions, 1 deletions
diff --git a/llvm/lib/Target/X86/X86CallingConv.td b/llvm/lib/Target/X86/X86CallingConv.td
index 263a207a667..47e581fa1cd 100644
--- a/llvm/lib/Target/X86/X86CallingConv.td
+++ b/llvm/lib/Target/X86/X86CallingConv.td
@@ -897,7 +897,7 @@ def CSR_32_AllRegs_SSE : CalleeSavedRegs<(add CSR_32_AllRegs,
def CSR_64_AllRegs : CalleeSavedRegs<(add CSR_64_MostRegs, RAX, RSP,
(sequence "XMM%u", 16, 31))>;
def CSR_64_AllRegs_AVX : CalleeSavedRegs<(sub (add CSR_64_MostRegs, RAX, RSP,
- (sequence "YMM%u", 0, 31)),
+ (sequence "YMM%u", 0, 15)),
(sequence "XMM%u", 0, 15))>;
// Standard C + YMM6-15
OpenPOWER on IntegriCloud