File tree Expand file tree Collapse file tree 1 file changed +2
-1
lines changed Expand file tree Collapse file tree 1 file changed +2
-1
lines changed Original file line number Diff line number Diff line change @@ -1795,6 +1795,7 @@ InstructionCost ARMTTIImpl::getExtendedReductionCost(
17951795 case ISD::ADD:
17961796 if (ST->hasMVEIntegerOps () && ValVT.isSimple () && ResVT.isSimple ()) {
17971797 std::pair<InstructionCost, MVT> LT = getTypeLegalizationCost (ValTy);
1798+
17981799 // The legal cases are:
17991800 // VADDV u/s 8/16/32
18001801 // VADDLV u/s 32
@@ -1806,7 +1807,7 @@ InstructionCost ARMTTIImpl::getExtendedReductionCost(
18061807 ((LT.second == MVT::v16i8 && RevVTSize <= 32 ) ||
18071808 (LT.second == MVT::v8i16 && RevVTSize <= 32 ) ||
18081809 (LT.second == MVT::v4i32 && RevVTSize <= 64 )))
1809- return ST->getMVEVectorCostFactor (CostKind) * LT.first ;
1810+ return 3 * ST->getMVEVectorCostFactor (CostKind) * LT.first ;
18101811 }
18111812 break ;
18121813 default :
You can’t perform that action at this time.
0 commit comments