File tree Expand file tree Collapse file tree 1 file changed +5
-1
lines changed
llvm/lib/Transforms/Scalar Expand file tree Collapse file tree 1 file changed +5
-1
lines changed Original file line number Diff line number Diff line change @@ -737,7 +737,11 @@ bool ScalarizerVisitor::splitCall(CallInst &CI) {
737737 // This case does not seem to happen, but it is possible for
738738 // VectorSplit.NumPacked >= NumElems. If that happens a VectorSplit
739739 // is not returned and we will bailout of handling this call.
740- if (!CurrVS)
740+ // The secondary bailout case is if NumPacked does not match.
741+ // This can happen if ScalarizeMinBits is not set to the default.
742+ // This means with certain ScalarizeMinBits intrinsics like frexp
743+ // will only scalarize when the struct elements have the same bitness.
744+ if (!CurrVS || CurrVS->NumPacked != VS->NumPacked )
741745 return false ;
742746 if (isVectorIntrinsicWithStructReturnOverloadAtField (ID, I))
743747 Tys.push_back (CurrVS->SplitTy );
You can’t perform that action at this time.
0 commit comments