[PATCH] D51401: [X86] Add support for turning vXi1 shuffles into KSHIFTL/KSHIFTR.

Craig Topper via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Aug 28 23:53:52 PDT 2018


craig.topper created this revision.
craig.topper added a reviewer: RKSimon.

This patch recognizes shuffles that shift elements and fill with zeros. I've copied and modified the shift matching code we use for normal vector registers to do this. I'm not sure if there's a good way to share more of this code without making the existing function more complex than it already is.

This will be used to enable kshift intrinsics in clang.

I still need to add test cases, but it seems to work in my basic testing. Hopefully I can do that tomorrow and I don't expect approval until there are tests.


Repository:
  rL LLVM

https://reviews.llvm.org/D51401

Files:
  lib/Target/X86/X86ISelLowering.cpp
  test/CodeGen/X86/avx512-skx-insert-subvec.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D51401.163012.patch
Type: text/x-patch
Size: 3674 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20180829/e16303a3/attachment.bin>


More information about the llvm-commits mailing list