Apply llvm fix for possible hangs with CPUTYPE=skylake-avx512
Merge commit e8305c0b8f49 from llvm git (by Simon Pilgrim) [X86] combineX86ShuffleChain - don't fold to truncate(concat(V1,V2)) if it was already a PACK op Fixes #55050 PR: 264394 Reported by: VVD <vvd@unislabs.com> MFC after: 3 days
This commit is contained in:
parent
47699fc265
commit
592e876a42
@ -37558,7 +37558,11 @@ static SDValue combineX86ShuffleChain(ArrayRef<SDValue> Inputs, SDValue Root,
|
||||
(RootVT.is128BitVector() && Subtarget.hasVLX())) &&
|
||||
(MaskEltSizeInBits > 8 || Subtarget.hasBWI()) &&
|
||||
isSequentialOrUndefInRange(Mask, 0, NumMaskElts, 0, 2)) {
|
||||
if (Depth == 0 && Root.getOpcode() == ISD::TRUNCATE)
|
||||
// Bail if this was already a truncation or PACK node.
|
||||
// We sometimes fail to match PACK if we demand known undef elements.
|
||||
if (Depth == 0 && (Root.getOpcode() == ISD::TRUNCATE ||
|
||||
Root.getOpcode() == X86ISD::PACKSS ||
|
||||
Root.getOpcode() == X86ISD::PACKUS))
|
||||
return SDValue(); // Nothing to do!
|
||||
ShuffleSrcVT = MVT::getIntegerVT(MaskEltSizeInBits * 2);
|
||||
ShuffleSrcVT = MVT::getVectorVT(ShuffleSrcVT, NumMaskElts / 2);
|
||||
|
Loading…
Reference in New Issue
Block a user