mirror of
https://github.com/RPCS3/llvm.git
synced 2024-12-02 16:56:39 +00:00
[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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@268983 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
22d7b011d5
commit
d3fb1bcc0c
@ -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
|
||||
|
@ -1,4 +1,4 @@
|
||||
; RUN: llc -mtriple=x86_64-unknown-unknown -mattr=+avx < %s | FileCheck %s
|
||||
; RUN: llc -verify-machineinstrs -mtriple=x86_64-unknown-unknown -mattr=+avx < %s | FileCheck %s
|
||||
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;; Checks that interrupt handler code does not call "vzeroupper" instruction
|
||||
|
Loading…
Reference in New Issue
Block a user