[llvm-commits] PATCH: Change X86 function prologue/epilogue in case the stack is realigned

Anton Korobeynikov anton at korobeynikov.info
Fri Jul 13 07:28:44 PDT 2012


Hello Alexey,

> Okay, so I found the following comment in
> X86FrameLowering::spillCalleeSavedRegisters
>   // Make XMM regs spilled. X86 does not have ability of push/pop XMM.
>   // It can be done by spilling XMMs to stack frame.
>   // Note that only Win64 ABI might spill XMMs.
>
> So, the XMM regs are saved in stack slots, and aren't pushed/popped. I've
> added a reference to this code
> and commented our concern in emitPrologue() anyway.
Right, win64 ABI marks high xmm regs are call-saved, so we need to
spill / reload them in.
Testcase is easy - clobber xmm6 while compiling for win64.

-- 
With best regards, Anton Korobeynikov
Faculty of Mathematics and Mechanics, Saint Petersburg State University



More information about the llvm-commits mailing list