[PATCH] D80163: [X86][VARARG] Avoid spilling xmm registers for va_start.

Alexey Lapshin via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Sun Aug 16 14:49:31 PDT 2020


avl added a comment.

> Do we need better i686- triple testing?

Will rebase and retest, including clang bootstrap and clang bootstrap with address sanitizer.



================
Comment at: llvm/lib/Target/X86/X86ExpandPseudo.cpp:483
+  // TODO: add support for YMM and ZMM here.
+  unsigned MOVOpc = STI->hasAVX() ? X86::VMOVAPSmr : X86::MOVAPSmr;
+
----------------
RKSimon wrote:
> Any reason not to deal with YMM/ZMM as well?
The reason is to not complicate the patch. YMM/ZMM is not supported for varargs currently. So YMM/ZMM support needs its own patch independent from noimplicitfloat problem.


================
Comment at: llvm/test/CodeGen/X86/x32-va_start.ll:2
 ; RUN: llc < %s -mtriple=x86_64-linux-gnux32 | FileCheck %s -check-prefix=CHECK -check-prefix=SSE
 ; RUN: llc < %s -mtriple=x86_64-linux-gnux32 -mattr=-sse | FileCheck %s -check-prefix=CHECK -check-prefix=NOSSE
 ;
----------------
RKSimon wrote:
> Regenerate with update_llc ?
will do that way. thanks.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D80163/new/

https://reviews.llvm.org/D80163



More information about the llvm-commits mailing list