Found when testing with llvm-stress on i686 targets.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@236954
91177308-0d34-0410-b5e6-
96231b3b80d8
EVT InVT = BV->getValueType(0);
EVT InSVT = InVT.getScalarType();
- // Find legal integer scalar type for constant promotion.
+ // Find legal integer scalar type for constant promotion and
+ // ensure that its scalar size is at least as large as source.
EVT LegalSVT = SVT;
if (SVT.isInteger()) {
LegalSVT = TLI->getTypeToTransformTo(*getContext(), SVT);
- assert(LegalSVT.bitsGE(SVT) && "Unexpected legal scalar type size");
+ if (LegalSVT.bitsLT(SVT)) break;
}
// Let the above scalar folding handle the folding of each element.