diff options
| author | Craig Topper <craig.topper@gmail.com> | 2017-01-12 06:49:12 +0000 | 
|---|---|---|
| committer | Craig Topper <craig.topper@gmail.com> | 2017-01-12 06:49:12 +0000 | 
| commit | 24c3a2395f5a3899bf8c8582388b51a589f9edaa (patch) | |
| tree | 867ea2a30437f8a445bfe5b2e9213b4a10884629 /llvm/lib | |
| parent | 69ab67b27911c9036e5cdd1355ba4755561cdf09 (diff) | |
| download | bcm5719-llvm-24c3a2395f5a3899bf8c8582388b51a589f9edaa.tar.gz bcm5719-llvm-24c3a2395f5a3899bf8c8582388b51a589f9edaa.zip  | |
[AVX-512] Improve lowering of zero_extend of v4i1 to v4i32 and v2i1 to v2i64 with VLX, but no DQ or BW support.
llvm-svn: 291747
Diffstat (limited to 'llvm/lib')
| -rw-r--r-- | llvm/lib/Target/X86/X86ISelLowering.cpp | 8 | 
1 files changed, 4 insertions, 4 deletions
diff --git a/llvm/lib/Target/X86/X86ISelLowering.cpp b/llvm/lib/Target/X86/X86ISelLowering.cpp index 5be6f8c4866..05057dabefd 100644 --- a/llvm/lib/Target/X86/X86ISelLowering.cpp +++ b/llvm/lib/Target/X86/X86ISelLowering.cpp @@ -15295,13 +15295,13 @@ static  SDValue LowerZERO_EXTEND_AVX512(SDValue Op,    MVT InVT = In.getSimpleValueType();    SDLoc DL(Op);    unsigned NumElts = VT.getVectorNumElements(); -  if (NumElts != 8 && NumElts != 16 && !Subtarget.hasBWI()) -    return SDValue(); -  if (VT.is512BitVector() && InVT.getVectorElementType() != MVT::i1) +  if (VT.is512BitVector() && InVT.getVectorElementType() != MVT::i1 && +      (NumElts == 8 || NumElts == 16 || Subtarget.hasBWI()))      return DAG.getNode(X86ISD::VZEXT, DL, VT, In); -  assert(InVT.getVectorElementType() == MVT::i1); +  if (InVT.getVectorElementType() != MVT::i1) +    return SDValue();    // Extend VT if the target is 256 or 128bit vector and VLX is not supported.    MVT ExtVT = VT;  | 

