[PATCH] D30451: [X86][AVX512] Adding new LLVM TableGen backend which generates the EVEX2VEX compressing tables.

Ayman Musa via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Feb 28 02:13:34 PST 2017


aymanmus created this revision.
Herald added a subscriber: mgorny.

X86EvexToVex machine instruction pass compresses EVEX encoded instructions by replacing them with their identical VEX encoded instructions when possible.
It uses manually supported 2 large tables that map the EVEX instructions to their VEX ideticals.
This TableGen backend replaces the tables by automatically generating them.


https://reviews.llvm.org/D30451

Files:
  docs/TableGen/BackEnds.rst
  lib/Target/X86/CMakeLists.txt
  lib/Target/X86/X86EvexToVex.cpp
  lib/Target/X86/X86InstrTablesInfo.h
  test/CodeGen/X86/avx512-mov.ll
  test/CodeGen/X86/avx512-vbroadcasti128.ll
  test/CodeGen/X86/avx512dqvl-intrinsics.ll
  test/CodeGen/X86/avx512vl-intrinsics-upgrade.ll
  test/CodeGen/X86/avx512vl-logic.ll
  test/CodeGen/X86/evex-to-vex-compress.mir
  test/CodeGen/X86/sse-intrinsics-x86_64.ll
  test/CodeGen/X86/sse2-intrinsics-x86_64.ll
  test/CodeGen/X86/sse41-intrinsics-x86.ll
  test/CodeGen/X86/subvector-broadcast.ll
  test/CodeGen/X86/vector-shuffle-256-v4.ll
  test/CodeGen/X86/vselect-pcmp.ll
  utils/TableGen/CMakeLists.txt
  utils/TableGen/TableGen.cpp
  utils/TableGen/TableGenBackends.h
  utils/TableGen/X86EVEX2VEXTablesEmitter.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D30451.89991.patch
Type: text/x-patch
Size: 160501 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20170228/5ba4ca7e/attachment-0001.bin>


More information about the llvm-commits mailing list