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) {
737
737
// This case does not seem to happen, but it is possible for
738
738
// VectorSplit.NumPacked >= NumElems. If that happens a VectorSplit
739
739
// 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 )
741
745
return false ;
742
746
if (isVectorIntrinsicWithStructReturnOverloadAtField (ID, I))
743
747
Tys.push_back (CurrVS->SplitTy );
You can’t perform that action at this time.
0 commit comments