[llvm-commits] [llvm] r109035 - in /llvm/trunk/lib/Target/X86: X86ISelLowering.cpp X86InstrInfo.cpp
Nate Begeman
natebegeman at mac.com
Wed Jul 21 14:04:05 PDT 2010
On Jul 21, 2010, at 2:01 PM, Anton Korobeynikov wrote:
> Hello, Nate
>
>> xmm6-15 are marked as clobbered by call instructions on win64 even though they aren't.
> They in fact are. Consider reading e.g.
> http://msdn.microsoft.com/en-us/library/9z1stfyw.aspx
Your link says they're callee-save, not call-clobbered.
>
>> - if (!X86::VR128RegClass.contains(Reg) && !isWin64) {
>> + if (!X86::VR128RegClass.contains(Reg)) {
> This change is incorrect. This way you'll get stuff like "push xmm6",
> which is invalid instruction.
> Please revert.
How so? The previous code is obviously incorrect, and leads to code like the following being generated on win64 today;
movaps rsi, (stack)
Nate
More information about the llvm-commits
mailing list