[llvm-dev] variadic functions on X86_64 should (conditionally) save XMM regs even if -no-implicit-float

Reid Kleckner via llvm-dev llvm-dev at lists.llvm.org
Wed Jun 5 16:29:28 PDT 2019


I think your reasoning makes sense, and we should make the XMM saving in
llvm.va_start conditional.

In my experience, these XMM spills are what users crash on when the
misalign their stack. But, I don't think that's really relevant at all to
this particular question relating to implicit FP codegen.

On Tue, Jun 4, 2019 at 4:00 AM Anton Korobeynikov via llvm-dev <
llvm-dev at lists.llvm.org> wrote:

> > The problem is that now, when optimization is disabled, the compiler
> will *unconditionally* access XMM registers in the prolog of varargs
> functions. This is *not* the usual code to spill floating point varargs
> arguments (which is correctly guarded by testing %al). Instead the compiler:
> I believe this is a bug that needs to be handled separately..
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20190605/abfeeef8/attachment.html>


More information about the llvm-dev mailing list