Skip to content

Commit 5bcd6b7

Browse files
MaskRayfhahn
authored andcommitted
[SLPVectorizer] Fix divide-by-zero after D99719
Will add a test case later. (cherry-picked from 8e5f3d0)
1 parent 9e36df9 commit 5bcd6b7

File tree

1 file changed

+2
-1
lines changed

1 file changed

+2
-1
lines changed

llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp

+2-1
Original file line numberDiff line numberDiff line change
@@ -3426,7 +3426,8 @@ computeExtractCost(ArrayRef<Value *> VL, FixedVectorType *VecTy,
34263426
TargetTransformInfo &TTI) {
34273427
unsigned NumOfParts = TTI.getNumberOfParts(VecTy);
34283428

3429-
if (ShuffleKind != TargetTransformInfo::SK_PermuteSingleSrc || !NumOfParts)
3429+
if (ShuffleKind != TargetTransformInfo::SK_PermuteSingleSrc || !NumOfParts ||
3430+
VecTy->getNumElements() < NumOfParts)
34303431
return TTI.getShuffleCost(ShuffleKind, VecTy);
34313432

34323433
bool AllConsecutive = true;

0 commit comments

Comments
 (0)