[llvm] [X86][APX] Implement Windows APX ABI callee-saved registers per Microsoft spec (PR #200391)
Phoebe Wang via llvm-commits
llvm-commits at lists.llvm.org
Tue Jun 2 21:09:42 PDT 2026
================
@@ -296,15 +306,18 @@ X86RegisterInfo::getCalleeSavedRegs(const MachineFunction *MF) const {
case CallingConv::X86_RegCall:
if (Is64Bit) {
if (IsWin64) {
- return (HasSSE ? CSR_Win64_RegCall_SaveList :
- CSR_Win64_RegCall_NoSSE_SaveList);
+ if (HasEGPR) {
+ assert(HasSSE && "EGPR on Windows X64 requires SSE");
+ return CSR_Win64_APX_RegCall_SaveList;
+ }
+ return (HasSSE ? CSR_Win64_RegCall_SaveList
+ : CSR_Win64_RegCall_NoSSE_SaveList);
} else {
----------------
phoebewang wrote:
Nit: We can remove else given there's return in if block.
https://github.com/llvm/llvm-project/pull/200391
More information about the llvm-commits
mailing list