diff options
| author | Simon Pilgrim <llvm-dev@redking.me.uk> | 2016-10-22 20:15:39 +0000 |
|---|---|---|
| committer | Simon Pilgrim <llvm-dev@redking.me.uk> | 2016-10-22 20:15:39 +0000 |
| commit | d3829c89bc29b17309ccb01f5ccc9eb34caf857f (patch) | |
| tree | 88635bff33729146979d47164d939f2a2db4f4f7 /llvm/lib/Target/X86/X86ISelLowering.cpp | |
| parent | 56c0524f0fdcd3f3b0c0c2b1914e8438d721736a (diff) | |
| download | bcm5719-llvm-d3829c89bc29b17309ccb01f5ccc9eb34caf857f.tar.gz bcm5719-llvm-d3829c89bc29b17309ccb01f5ccc9eb34caf857f.zip | |
[X86][AVX512VL] Added support for combining target 256-bit shuffles to AVX512VL VPERMV3
llvm-svn: 284922
Diffstat (limited to 'llvm/lib/Target/X86/X86ISelLowering.cpp')
| -rw-r--r-- | llvm/lib/Target/X86/X86ISelLowering.cpp | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/llvm/lib/Target/X86/X86ISelLowering.cpp b/llvm/lib/Target/X86/X86ISelLowering.cpp index 1431db77d78..3ffebf84521 100644 --- a/llvm/lib/Target/X86/X86ISelLowering.cpp +++ b/llvm/lib/Target/X86/X86ISelLowering.cpp @@ -25564,6 +25564,9 @@ static bool combineX86ShuffleChain(ArrayRef<SDValue> Inputs, SDValue Root, ((Subtarget.hasAVX512() && (MaskVT == MVT::v8f64 || MaskVT == MVT::v8i64 || MaskVT == MVT::v16f32 || MaskVT == MVT::v16i32)) || + (Subtarget.hasVLX() && + (MaskVT == MVT::v4f64 || MaskVT == MVT::v4i64 || + MaskVT == MVT::v8f32 || MaskVT == MVT::v8i32)) || (Subtarget.hasBWI() && MaskVT == MVT::v32i16) || (Subtarget.hasBWI() && Subtarget.hasVLX() && MaskVT == MVT::v16i16))) { MVT VPermMaskSVT = MVT::getIntegerVT(MaskEltSizeInBits); |

