[X86] Add avx512 scatter intrinsics that use a vXi1 mask instead of a scalar integer.
authorCraig Topper <craig.topper@intel.com>
Tue, 15 Jan 2019 23:36:25 +0000 (23:36 +0000)
committerCraig Topper <craig.topper@intel.com>
Tue, 15 Jan 2019 23:36:25 +0000 (23:36 +0000)
commit34ac509ac8ceab618daf22acdebc3816417d5b01
tree574b4565827db2ad5394a2199ff8d878436ec624
parentee031dfacb1334868194edb4df9411ea4909b81d
[X86] Add avx512 scatter intrinsics that use a vXi1 mask instead of a scalar integer.

We're trying to have the vXi1 types in IR as much as possible. This prevents the need for bitcasts when the producer of the mask was already a vXi1 value like an icmp. The bitcasts can be subject to code motion and interfere with basic block at a time isel in bad ways.

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