[PATCH] D69786: [X86] Add support for -mvzeroupper and -mno-vzeroupper to match gcc.

Craig Topper via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Sun Nov 3 23:01:54 PST 2019


craig.topper created this revision.
craig.topper added reviewers: RKSimon, spatel.
Herald added subscribers: cfe-commits, jfb, hiraditya.
Herald added projects: clang, LLVM.
craig.topper added a reviewer: davezarzycki.

-mvzeroupper will force the vzeroupper insertion pass to run on
CPUs that normally wouldn't. -mno-vzeroupper disables it on CPUs
where it normally runs.

To support this with the default feature handling in clang, we
need a vzeroupper feature flag in X86.td. Since this flag has
the opposite polarity of the fast-partial-ymm-or-zmm-write we
used to use to disable the pass, we now need to add this new
flag to every CPU except KNL/KNM and BTVER2 to keep identical
behavior.

Remove -fast-partial-ymm-or-zmm-write which is no longer used.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D69786

Files:
  clang/docs/ReleaseNotes.rst
  clang/include/clang/Driver/Options.td
  clang/test/Driver/x86-target-features.c
  llvm/docs/ReleaseNotes.rst
  llvm/lib/Target/X86/X86.td
  llvm/lib/Target/X86/X86Subtarget.h
  llvm/lib/Target/X86/X86TargetTransformInfo.h
  llvm/lib/Target/X86/X86VZeroUpper.cpp
  llvm/test/CodeGen/X86/avx-vzeroupper.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D69786.227648.patch
Type: text/x-patch
Size: 26590 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20191104/eca7ebd4/attachment-0001.bin>


More information about the cfe-commits mailing list