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 @@ -1794,6 +1794,7 @@ InstructionCost ARMTTIImpl::getExtendedReductionCost(
17941794 case ISD::ADD:
17951795 if (ST->hasMVEIntegerOps () && ValVT.isSimple () && ResVT.isSimple ()) {
17961796 std::pair<InstructionCost, MVT> LT = getTypeLegalizationCost (ValTy);
1797+
17971798 // The legal cases are:
17981799 // VADDV u/s 8/16/32
17991800 // VADDLV u/s 32
@@ -1805,7 +1806,7 @@ InstructionCost ARMTTIImpl::getExtendedReductionCost(
18051806 ((LT.second == MVT::v16i8 && RevVTSize <= 32 ) ||
18061807 (LT.second == MVT::v8i16 && RevVTSize <= 32 ) ||
18071808 (LT.second == MVT::v4i32 && RevVTSize <= 64 )))
1808- return ST->getMVEVectorCostFactor (CostKind) * LT.first ;
1809+ return 3 * ST->getMVEVectorCostFactor (CostKind) * LT.first ;
18091810 }
18101811 break ;
18111812 default :
You can’t perform that action at this time.
0 commit comments