[llvm-commits] [llvm] r109035 - in /llvm/trunk/lib/Target/X86: X86ISelLowering.cpp X86InstrInfo.cpp

Anton Korobeynikov anton at korobeynikov.info
Wed Jul 21 14:16:02 PDT 2010


>>> 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.
Hrm. Sorry, I should drink more coffee. Where they are marked as call-clobbered?

> How so?  The previous code is obviously incorrect, and leads to code like the following being generated on win64 today;
> movaps rsi, (stack)
Right. It was broken in r105344. In any case - your change is
incorrect :) The problem just moves to prologue / epilogue expansion
code.
You can find the full description of the problem at
http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20090824/085827.html
Unfortunately, I didnt't find the time since that time to make a generic fix....

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




More information about the llvm-commits mailing list