Skip to content

Commit 8e5f3d0

Browse files
committed
[SLPVectorizer] Fix divide-by-zero after D99719
Will add a test case later.
1 parent 15ec0ad commit 8e5f3d0

File tree

1 file changed

+2
-1
lines changed

1 file changed

+2
-1
lines changed

llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3458,7 +3458,8 @@ computeExtractCost(ArrayRef<Value *> VL, FixedVectorType *VecTy,
34583458
ArrayRef<int> Mask, TargetTransformInfo &TTI) {
34593459
unsigned NumOfParts = TTI.getNumberOfParts(VecTy);
34603460

3461-
if (ShuffleKind != TargetTransformInfo::SK_PermuteSingleSrc || !NumOfParts)
3461+
if (ShuffleKind != TargetTransformInfo::SK_PermuteSingleSrc || !NumOfParts ||
3462+
VecTy->getNumElements() < NumOfParts)
34623463
return TTI.getShuffleCost(ShuffleKind, VecTy, Mask);
34633464

34643465
bool AllConsecutive = true;

0 commit comments

Comments
 (0)