]> granicus.if.org Git - llvm/commitdiff
[X86] Update X86_INTR calling convention to save ZMM registers instead of YMM registe...
authorCraig Topper <craig.topper@gmail.com>
Tue, 10 May 2016 05:27:56 +0000 (05:27 +0000)
committerCraig Topper <craig.topper@gmail.com>
Tue, 10 May 2016 05:27:56 +0000 (05:27 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@269017 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/X86/X86CallingConv.td
test/CodeGen/X86/x86-interrupt_cc.ll

index b8c473dcbac2c5840dd502159b5837bac765bdb3..a34d90185ca30821f9b603c15e0de6da6f2691eb 100644 (file)
@@ -899,8 +899,9 @@ def CSR_64_AllRegs     : CalleeSavedRegs<(add CSR_64_MostRegs, RAX, RSP,
 def CSR_64_AllRegs_AVX : CalleeSavedRegs<(sub (add CSR_64_MostRegs, RAX, RSP,
                                                    (sequence "YMM%u", 0, 15)),
                                               (sequence "XMM%u", 0, 15))>;
-def CSR_64_AllRegs_AVX512 : CalleeSavedRegs<(add CSR_64_AllRegs_AVX,
-                                             (sequence "YMM%u", 16, 31))>;
+def CSR_64_AllRegs_AVX512 : CalleeSavedRegs<(sub (add CSR_64_MostRegs, RAX, RSP,
+                                                   (sequence "ZMM%u", 0, 31)),
+                                              (sequence "XMM%u", 0, 15))>;
 
 // Standard C + YMM6-15
 def CSR_Win64_Intel_OCL_BI_AVX : CalleeSavedRegs<(add RBX, RBP, RDI, RSI, R12,
index f5d2b39fc63c308d52b0f83268ffb143292da08d..8c5dfb1d5d07dd867d0ea1a1f87117fdbbbcd39f 100644 (file)
@@ -3,10 +3,10 @@
 
 ; Make sure we spill the high numbered YMM registers with the right encoding.
 ; CHECK-LABEL: foo
-; CHECK: movups %ymm31, {{.+}}
-; CHECK:      encoding: [0x62,0x61,0x7c,0x28,0x11,0xbc,0x24,0xf0,0x03,0x00,0x00]
-; ymm30 is used as an anchor for the previous regexp.
-; CHECK-NEXT: movups %ymm30
+; CHECK: movups %zmm31, {{.+}}
+; CHECK:      encoding: [0x62,0x61,0x7c,0x48,0x11,0xbc,0x24,0x10,0x08,0x00,0x00] 
+; zmm30 is used as an anchor for the previous regexp.
+; CHECK-NEXT: movups %zmm30
 ; CHECK: call
 ; CHECK: iret