[llvm] [LV] Add on extra cost for scalarising math calls in vector loops (PR #158611)
Benjamin Maxwell via llvm-commits
llvm-commits at lists.llvm.org
Mon Sep 15 04:50:45 PDT 2025
================
@@ -1004,10 +1016,44 @@ AArch64TTIImpl::getIntrinsicInstrCost(const IntrinsicCostAttributes &ICA,
}
break;
}
+ case Intrinsic::asin:
+ case Intrinsic::acos:
+ case Intrinsic::atan:
+ case Intrinsic::atan2:
+ case Intrinsic::sin:
+ case Intrinsic::cos:
+ case Intrinsic::tan:
+ case Intrinsic::sinh:
+ case Intrinsic::cosh:
+ case Intrinsic::tanh:
+ case Intrinsic::pow:
+ case Intrinsic::exp:
+ case Intrinsic::exp10:
+ case Intrinsic::exp2:
+ case Intrinsic::log:
+ case Intrinsic::log10:
+ case Intrinsic::log2: {
+ if (auto *FixedVTy = dyn_cast<FixedVectorType>(RetTy))
+ BaseCost = getCallScalarizationCost(FixedVTy->getElementCount());
+ break;
+ }
+ case Intrinsic::sincos:
+ case Intrinsic::sincospi: {
----------------
MacDue wrote:
Should this include `Intrinsic::modf` too? (which is also supported)
https://github.com/llvm/llvm-project/pull/158611
More information about the llvm-commits
mailing list