Skip to content

Commit dfc3bb5

Browse files
Only do getArithmeticCost if its a binop
1 parent 99551af commit dfc3bb5

File tree

1 file changed

+4
-3
lines changed

1 file changed

+4
-3
lines changed

llvm/include/llvm/CodeGen/BasicTTIImpl.h

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1695,6 +1695,7 @@ class BasicTTIImplBase : public TargetTransformInfoImplCRTPBase<T> {
16951695
std::optional<unsigned> FOp =
16961696
VPIntrinsic::getFunctionalOpcodeForVP(ICA.getID());
16971697
if (FOp) {
1698+
// TODO: Support other kinds of Intrinsics (i.e. reductions)
16981699
if (ICA.getID() == Intrinsic::vp_load) {
16991700
Align Alignment = isa_and_nonnull<VPIntrinsic>(ICA.getInst())
17001701
? cast<VPIntrinsic>(ICA.getInst())
@@ -1721,10 +1722,10 @@ class BasicTTIImplBase : public TargetTransformInfoImplCRTPBase<T> {
17211722
: 0;
17221723
return thisT()->getMemoryOpCost(*FOp, Args[0]->getType(), Alignment,
17231724
AS, CostKind);
1725+
} else if (VPBinOpIntrinsic::isVPBinOp(ICA.getID())) {
1726+
return thisT()->getArithmeticInstrCost(*FOp, ICA.getReturnType(),
1727+
CostKind);
17241728
}
1725-
// TODO: Support other kinds of Intrinsics (i.e. reductions)
1726-
return thisT()->getArithmeticInstrCost(*FOp, ICA.getReturnType(),
1727-
CostKind);
17281729
}
17291730

17301731
std::optional<Intrinsic::ID> FID =

0 commit comments

Comments
 (0)