AVX512: Change VPMOVB2M DAG lowering , use CVT2MASK node instead TRUNCATE.
authorIgor Breger <igor.breger@intel.com>
Sun, 27 Dec 2015 13:56:16 +0000 (13:56 +0000)
committerIgor Breger <igor.breger@intel.com>
Sun, 27 Dec 2015 13:56:16 +0000 (13:56 +0000)
commit3f202fdf9eea174a8be886b51074814289a822df
tree040e63d376731c721ebc1d044424c29c8d09fbc1
parenta026dfe248154dbd38b3f6b42b28ba3fdaa9b0cd
AVX512: Change VPMOVB2M DAG lowering , use CVT2MASK node instead TRUNCATE.
Fix TRUNCATE lowering vector to vector i1, use LSB and not MSB.
Implement VPMOVB/W/D/Q2M intrinsic.

Differential Revision: http://reviews.llvm.org/D15675

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@256470 91177308-0d34-0410-b5e6-96231b3b80d8
19 files changed:
include/llvm/IR/IntrinsicsX86.td
lib/Target/X86/X86ISelLowering.cpp
lib/Target/X86/X86ISelLowering.h
lib/Target/X86/X86InstrAVX512.td
lib/Target/X86/X86InstrFragmentsSIMD.td
lib/Target/X86/X86IntrinsicsInfo.h
test/CodeGen/X86/avx512-calling-conv.ll
test/CodeGen/X86/avx512-ext.ll
test/CodeGen/X86/avx512-fma.ll
test/CodeGen/X86/avx512-mask-op.ll
test/CodeGen/X86/avx512-skx-insert-subvec.ll
test/CodeGen/X86/avx512bw-intrinsics.ll
test/CodeGen/X86/avx512bwvl-intrinsics.ll
test/CodeGen/X86/avx512dq-intrinsics.ll
test/CodeGen/X86/avx512dqvl-intrinsics.ll
test/CodeGen/X86/masked_gather_scatter.ll
test/CodeGen/X86/masked_memop.ll
test/CodeGen/X86/vector-shuffle-512-v8.ll
test/CodeGen/X86/vector-shuffle-v1.ll