[LLVMdev] Win64 bugs

Anton Korobeynikov anton at korobeynikov.info
Sat Aug 1 03:59:32 PDT 2009


Hello, Nicolas

> The attached patch is a workaround for the XMM misalignment issue. Basically
> it uses the fallback method of saving and restoring registers on the stack,
> which does work correctly with alignment. If I recall correctly it also
> doesn't save any registers unnecessarily, but I could be wrong about that.
Please don't use this patch, it's completely wrong. The problem is
that prologue / epilogue emission code is not prepared for such
'fallback' solution and will emit improper stack update code. You can
easily catch this problem when you have other callee-saved registers
spilled (not only high xmm ones).

I have patch which should complete the win64 CC support in LLVM
(modulo varargs functions), I hope to commit it within next few days.

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



More information about the llvm-dev mailing list