[PATCH] D42018: [X86] Autoupgrade kunpck intrinsics using vector operations instead of scalar operations

Craig Topper via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Jan 12 16:17:56 PST 2018


craig.topper created this revision.
craig.topper added reviewers: spatel, RKSimon, zvi, jina.nahias.

This patch changes the kunpck intrinsic autoupgrade to use vXi1 shufflevector operations to perform vector extracts and concats. This more closely matches the definition of the kunpck instructions. Currently we rely on a DAG combine to turn the scalar shift/and/or code into a concat vectors operation. By doing it in the IR we get this for free.


https://reviews.llvm.org/D42018

Files:
  lib/IR/AutoUpgrade.cpp
  test/CodeGen/X86/avx512-intrinsics-fast-isel.ll
  test/CodeGen/X86/avx512-intrinsics-upgrade.ll
  test/CodeGen/X86/avx512bw-intrinsics-fast-isel.ll
  test/CodeGen/X86/avx512bw-intrinsics-upgrade.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D42018.129726.patch
Type: text/x-patch
Size: 11106 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20180113/c07849e8/attachment-0001.bin>


More information about the llvm-commits mailing list