File tree Expand file tree Collapse file tree 1 file changed +4
-0
lines changed Expand file tree Collapse file tree 1 file changed +4
-0
lines changed Original file line number Diff line number Diff line change @@ -22603,6 +22603,8 @@ bool RISCVTargetLowering::lowerDeinterleavedIntrinsicToVPLoad(
2260322603
2260422604 IRBuilder<> Builder(Load);
2260522605 Value *WideEVL = Load->getArgOperand(2);
22606+ // Conservatively check if EVL is a multiple of factor, otherwise some
22607+ // (trailing) elements might be lost after the transformation.
2260622608 if (!isMultipleOfN(WideEVL, Load->getDataLayout(), Factor))
2260722609 return false;
2260822610
@@ -22760,6 +22762,8 @@ bool RISCVTargetLowering::lowerInterleavedIntrinsicToVPStore(
2276022762
2276122763 IRBuilder<> Builder(Store);
2276222764 Value *WideEVL = Store->getArgOperand(3);
22765+ // Conservatively check if EVL is a multiple of factor, otherwise some
22766+ // (trailing) elements might be lost after the transformation.
2276322767 if (!isMultipleOfN(WideEVL, Store->getDataLayout(), Factor))
2276422768 return false;
2276522769
You can’t perform that action at this time.
0 commit comments