[llvm-dev] variadic functions on X86_64 should (conditionally) save XMM regs even if -no-implicit-float
Salim Nasser via llvm-dev
llvm-dev at lists.llvm.org
Mon Jun 10 13:19:01 PDT 2019
On Tue, Jun 4, 2019 at 4:00 AM Anton Korobeynikov via llvm-dev
<llvm-dev at lists.llvm.org <mailto: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..
On 6/5/19 4:29 PM, Reid Kleckner wrote:
> I think your reasoning makes sense, and we should make the XMM saving
> in llvm.va_start conditional.
>
Thanks both of you for the feedback. I've filed bug 42219 ("[X86_64]
Variadic functions unconditionally spill %XMM registers").
More information about the llvm-dev
mailing list