[llvm] [TTI][RISCV] Deduplicate type-based VP costing of VPReduction (PR #117708)
via llvm-commits
llvm-commits at lists.llvm.org
Thu Nov 28 18:20:11 PST 2024
================
@@ -1647,6 +1647,38 @@ class BasicTTIImplBase : public TargetTransformInfoImplCRTPBase<T> {
UI->getPredicate(), CostKind);
}
}
+ if (VPReductionIntrinsic::isVPReduction(ICA.getID())) {
+ std::optional<Intrinsic::ID> RedID =
+ VPIntrinsic::getFunctionalIntrinsicIDForVP(ICA.getID());
+ assert(RedID.has_value());
+ switch (ICA.getID()) {
+ case Intrinsic::vp_reduce_add:
+ case Intrinsic::vp_reduce_fadd:
+ case Intrinsic::vp_reduce_mul:
+ case Intrinsic::vp_reduce_fmul:
+ case Intrinsic::vp_reduce_and:
+ case Intrinsic::vp_reduce_or:
+ case Intrinsic::vp_reduce_xor: {
+ unsigned RedOp = getArithmeticReductionInstruction(*RedID);
+ return thisT()->getArithmeticReductionCost(
+ RedOp, cast<VectorType>(ICA.getArgTypes()[1]), ICA.getFlags(),
----------------
LiqinWeng wrote:
sorry, fixed
https://github.com/llvm/llvm-project/pull/117708
More information about the llvm-commits
mailing list