[PATCH] D56527: [X86] Add versions of the avx512 gather intrinsics that take the mask as a vXi1 vector instead of a scalar

Craig Topper via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Jan 9 18:29:39 PST 2019


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

In keeping with our general direction of having the vXi1 type present in IR, this patch converts the mask argument for avx512 gather to vXi1. This can avoid k-register to GPR to k-register transitions late in codegen.

I left the existing intrinsics behind because they have many out of tree users such as ISPC. They generate their own code and don't go through the autoupgrade path which only works for bitcode and ll parsing. Ideally we will get them to migrate to target independent intrinsics, but it might be easier for them to migrate to these new intrinsics.

I'll work on scatter and gatherpf/scatterpf after next. Hopefully we can get this all done for 8.0 so we can maybe migrate everyone before 9.0.


https://reviews.llvm.org/D56527

Files:
  include/llvm/IR/IntrinsicsX86.td
  lib/Target/X86/X86ISelLowering.cpp
  lib/Target/X86/X86IntrinsicsInfo.h
  test/CodeGen/X86/avx512-gather-scatter-intrin.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D56527.180976.patch
Type: text/x-patch
Size: 58618 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20190110/ad70edf7/attachment-0001.bin>


More information about the llvm-commits mailing list