Lines Matching defs:CostKind

247     unsigned Opcode, Type *Ty, TTI::TargetCostKind CostKind,
260 CostKind) +
263 CostKind) +
264 getArithmeticInstrCost(Opcode, WideVecTy, CostKind, Op1Info, Op2Info);
331 getArithmeticInstrCost(Instruction::Shl, Ty, CostKind,
334 Cost += getArithmeticInstrCost(Instruction::Sub, Ty, CostKind);
345 2 * getArithmeticInstrCost(Instruction::AShr, Ty, CostKind,
347 Cost += getArithmeticInstrCost(Instruction::LShr, Ty, CostKind,
349 Cost += getArithmeticInstrCost(Instruction::Add, Ty, CostKind,
354 Cost += getArithmeticInstrCost(Instruction::Mul, Ty, CostKind, Op1Info.getNoProps(),
356 Cost += getArithmeticInstrCost(Instruction::Sub, Ty, CostKind, Op1Info.getNoProps(),
367 return getArithmeticInstrCost(Instruction::LShr, Ty, CostKind,
370 return getArithmeticInstrCost(Instruction::And, Ty, CostKind,
389 if (auto KindCost = Entry->Cost[CostKind])
414 if (auto KindCost = Entry->Cost[CostKind])
450 if (auto KindCost = Entry->Cost[CostKind])
491 if (auto KindCost = Entry->Cost[CostKind])
534 if (auto KindCost = Entry->Cost[CostKind])
565 if (auto KindCost = Entry->Cost[CostKind])
583 if (auto KindCost = Entry->Cost[CostKind])
606 if (auto KindCost = Entry->Cost[CostKind])
628 if (auto KindCost = Entry->Cost[CostKind])
650 if (auto KindCost = Entry->Cost[CostKind])
661 if (auto KindCost = Entry->Cost[CostKind])
683 if (auto KindCost = Entry->Cost[CostKind])
705 if (auto KindCost = Entry->Cost[CostKind])
729 if (auto KindCost = Entry->Cost[CostKind])
766 if (auto KindCost = Entry->Cost[CostKind])
804 if (auto KindCost = Entry->Cost[CostKind])
830 if (auto KindCost = Entry->Cost[CostKind])
842 if (auto KindCost = Entry->Cost[CostKind])
891 if (auto KindCost = Entry->Cost[CostKind])
985 if (auto KindCost = Entry->Cost[CostKind])
1007 return getArithmeticInstrCost(Instruction::Mul, Ty, CostKind,
1017 return getArithmeticInstrCost(Instruction::Mul, Ty, CostKind,
1021 if (auto KindCost = Entry->Cost[CostKind])
1063 if (auto KindCost = Entry->Cost[CostKind])
1085 if (auto KindCost = Entry->Cost[CostKind])
1114 if (auto KindCost = Entry->Cost[CostKind])
1189 if (auto KindCost = Entry->Cost[CostKind])
1290 if (auto KindCost = Entry->Cost[CostKind])
1319 if (auto KindCost = Entry->Cost[CostKind])
1342 if (auto KindCost = Entry->Cost[CostKind])
1351 if (auto KindCost = Entry->Cost[CostKind])
1421 if (auto KindCost = Entry->Cost[CostKind])
1443 if (auto KindCost = Entry->Cost[CostKind])
1454 if (auto KindCost = Entry->Cost[CostKind])
1478 if (auto KindCost = Entry->Cost[CostKind])
1487 if (CostKind == TTI::TCK_RecipThroughput && LT.second.isVector() &&
1491 getArithmeticInstrCost(Opcode, Ty->getScalarType(), CostKind,
1497 if (CostKind == TTI::TCK_CodeSize) {
1513 return BaseT::getArithmeticInstrCost(Opcode, Ty, CostKind, Op1Info, Op2Info,
1520 TTI::TargetCostKind CostKind) const {
1528 TTI::TargetCostKind CostKind, int Index, VectorType *SubTp,
1542 CostKind, Mask.size() / 2, BaseTp);
1599 CostKind, ExtractIndex, SubTy);
1723 [this, SingleOpTy, CostKind, &PrevSrcReg, &PrevRegMask,
1731 RegMask, CostKind, 0, nullptr);
1745 [this, SingleOpTy, CostKind, &Cost](ArrayRef<int> RegMask,
1749 CostKind, 0, nullptr);
1756 std::nullopt, CostKind, 0, nullptr);
1759 return BaseT::getShuffleCost(Kind, BaseTp, Mask, CostKind, Index, SubTp);
1898 if (auto KindCost = Entry->Cost[CostKind])
2167 return BaseT::getShuffleCost(Kind, BaseTp, Mask, CostKind, Index, SubTp);
2173 TTI::TargetCostKind CostKind,
2990 if (auto KindCost = Entry->Cost[CostKind])
2996 if (auto KindCost = Entry->Cost[CostKind])
3002 if (auto KindCost = Entry->Cost[CostKind])
3009 if (auto KindCost = Entry->Cost[CostKind])
3015 if (auto KindCost = Entry->Cost[CostKind])
3021 if (auto KindCost = Entry->Cost[CostKind])
3027 if (auto KindCost = Entry->Cost[CostKind])
3034 if (auto KindCost = Entry->Cost[CostKind])
3041 if (auto KindCost = Entry->Cost[CostKind])
3048 if (auto KindCost = Entry->Cost[CostKind])
3065 if (auto KindCost = Entry->Cost[CostKind])
3071 if (auto KindCost = Entry->Cost[CostKind])
3077 if (auto KindCost = Entry->Cost[CostKind])
3084 if (auto KindCost = Entry->Cost[CostKind])
3090 if (auto KindCost = Entry->Cost[CostKind])
3096 if (auto KindCost = Entry->Cost[CostKind])
3102 if (auto KindCost = Entry->Cost[CostKind])
3108 if (auto KindCost = Entry->Cost[CostKind])
3114 if (auto KindCost = Entry->Cost[CostKind])
3120 if (auto KindCost = Entry->Cost[CostKind])
3134 ExtCost = getCastInstrCost(ExtOpc, ExtSrc, Src, CCH, CostKind);
3137 TTI::CastContextHint::None, CostKind);
3145 return getCastInstrCost(Instruction::FPToSI, TruncDst, Src, CCH, CostKind) +
3147 TTI::CastContextHint::None, CostKind);
3151 auto AdjustCost = [&CostKind](InstructionCost Cost,
3153 if (CostKind != TTI::TCK_RecipThroughput)
3158 BaseT::getCastInstrCost(Opcode, Dst, Src, CCH, CostKind, I));
3164 TTI::TargetCostKind CostKind,
3168 return BaseT::getCmpSelInstrCost(Opcode, ValTy, CondTy, VecPred, CostKind,
3182 // TODO: Adjust ExtraCost based on CostKind?
3233 CmpInst::Predicate::FCMP_UNO, CostKind) +
3235 CmpInst::Predicate::FCMP_OEQ, CostKind) +
3236 getArithmeticInstrCost(Instruction::Or, CondTy, CostKind);
3402 if (auto KindCost = Entry->Cost[CostKind])
3407 if (auto KindCost = Entry->Cost[CostKind])
3412 if (auto KindCost = Entry->Cost[CostKind])
3417 if (auto KindCost = Entry->Cost[CostKind])
3422 if (auto KindCost = Entry->Cost[CostKind])
3427 if (auto KindCost = Entry->Cost[CostKind])
3432 if (auto KindCost = Entry->Cost[CostKind])
3437 if (auto KindCost = Entry->Cost[CostKind])
3442 if (auto KindCost = Entry->Cost[CostKind])
3447 if (auto KindCost = Entry->Cost[CostKind])
3451 if (CostKind == TTI::TCK_Latency && Opcode == Instruction::Select)
3455 return BaseT::getCmpSelInstrCost(Opcode, ValTy, CondTy, VecPred, CostKind, I);
3462 TTI::TargetCostKind CostKind) {
4240 TTI::CastContextHint::None, CostKind);
4342 if (ISD == ISD::FSQRT && CostKind == TTI::TCK_CodeSize)
4347 if (auto KindCost = Entry->Cost[CostKind])
4352 if (auto KindCost = Entry->Cost[CostKind])
4357 if (auto KindCost = Entry->Cost[CostKind])
4362 if (auto KindCost = Entry->Cost[CostKind])
4367 if (auto KindCost = Entry->Cost[CostKind])
4372 if (auto KindCost = Entry->Cost[CostKind])
4377 if (auto KindCost = Entry->Cost[CostKind])
4382 if (auto KindCost = Entry->Cost[CostKind])
4387 if (auto KindCost = Entry->Cost[CostKind])
4392 if (auto KindCost = Entry->Cost[CostKind])
4397 if (auto KindCost = Entry->Cost[CostKind])
4402 if (auto KindCost = Entry->Cost[CostKind])
4407 if (auto KindCost = Entry->Cost[CostKind])
4412 if (auto KindCost = Entry->Cost[CostKind])
4417 if (auto KindCost = Entry->Cost[CostKind])
4422 if (auto KindCost = Entry->Cost[CostKind])
4427 if (auto KindCost = Entry->Cost[CostKind])
4433 if (auto KindCost = Entry->Cost[CostKind])
4437 if (auto KindCost = Entry->Cost[CostKind])
4444 if (auto KindCost = Entry->Cost[CostKind])
4448 if (auto KindCost = Entry->Cost[CostKind])
4455 if (auto KindCost = Entry->Cost[CostKind])
4459 if (auto KindCost = Entry->Cost[CostKind])
4465 if (auto KindCost = Entry->Cost[CostKind])
4469 if (auto KindCost = Entry->Cost[CostKind])
4473 return BaseT::getIntrinsicInstrCost(ICA, CostKind);
4477 TTI::TargetCostKind CostKind,
4505 return getMemoryOpCost(Instruction::Store, Val, VecAlign, 0, CostKind) +
4507 CostKind);
4511 return getMemoryOpCost(Instruction::Store, Val, VecAlign, 0, CostKind) +
4513 CostKind) +
4514 getMemoryOpCost(Instruction::Load, Val, VecAlign, 0, CostKind);
4612 CostKind, 0, SubTy);
4618 return BaseT::getVectorInstrCost(Opcode, Val, CostKind, Index, Op0, Op1) +
4625 TTI::TargetCostKind CostKind) {
4653 /*Extract*/ false, CostKind);
4691 CostKind, I * NumEltsPerLane, LaneTy);
4693 /*Extract*/ false, CostKind);
4709 CostKind, I * NumEltsPerLane, LaneTy);
4769 CostKind, I * NumEltsPerLane, LaneTy);
4771 LaneTy, LaneEltMask, /*Insert*/ false, Extract, CostKind);
4780 Extract, CostKind);
4789 TTI::TargetCostKind CostKind) {
4796 DemandedDstElts, CostKind);
4857 TargetTransformInfo::CastContextHint::None, CostKind);
4861 TargetTransformInfo::CastContextHint::None, CostKind);
4864 DemandedDstElts, CostKind);
4887 TTI::SK_PermuteSingleSrc, SingleDstVecTy, /*Mask=*/std::nullopt, CostKind,
4895 TTI::TargetCostKind CostKind,
4899 if (CostKind != TTI::TCK_RecipThroughput) {
4916 CostKind);
4928 /*AddressSpace=*/0, CostKind);
4958 CostKind);
4969 CostKind);
5015 VTy, std::nullopt, CostKind, NumEltDone(),
5032 !IsLoad, CostKind);
5061 TTI::TargetCostKind CostKind) {
5068 return getMemoryOpCost(Opcode, SrcTy, Alignment, AddressSpace, CostKind);
5078 MaskTy, DemandedElts, /*Insert*/ false, /*Extract*/ true, CostKind);
5081 CmpInst::BAD_ICMP_PREDICATE, CostKind);
5082 InstructionCost BranchCost = getCFInstrCost(Instruction::Br, CostKind);
5085 SrcVTy, DemandedElts, IsLoad, IsStore, CostKind);
5088 Alignment, AddressSpace, CostKind);
5105 CostKind, 0, nullptr) +
5107 CostKind, 0, nullptr);
5114 CostKind, 0, MaskTy);
5129 Type *AccessTy, TTI::TargetCostKind CostKind) {
5138 CostKind);
5142 return BaseT::getPointersChainCost(Ptrs, Base, Info, AccessTy, CostKind);
5176 TTI::TargetCostKind CostKind) {
5178 return BaseT::getArithmeticReductionCost(Opcode, ValTy, FMF, CostKind);
5249 CostKind) +
5250 getArithmeticReductionCost(Opcode, WideVecTy, FMF, CostKind);
5259 ArithmeticCost = getArithmeticInstrCost(Opcode, SingleOpTy, CostKind);
5329 ArithmeticCost = getArithmeticInstrCost(Opcode, SingleOpTy, CostKind);
5346 return BaseT::getArithmeticReductionCost(Opcode, ValVTy, FMF, CostKind);
5355 return BaseT::getArithmeticReductionCost(Opcode, ValVTy, FMF, CostKind);
5365 ReductionCost = getArithmeticInstrCost(Opcode, Ty, CostKind);
5380 getShuffleCost(TTI::SK_ExtractSubvector, Ty, std::nullopt, CostKind,
5393 std::nullopt, CostKind, 0, nullptr);
5404 std::nullopt, CostKind, 0, nullptr);
5410 Instruction::LShr, ShiftTy, CostKind,
5416 ReductionCost += getArithmeticInstrCost(Opcode, Ty, CostKind);
5421 CostKind, 0, nullptr, nullptr);
5425 TTI::TargetCostKind CostKind,
5428 return getIntrinsicInstrCost(ICA, CostKind);
5434 TTI::TargetCostKind CostKind) {
5524 MinMaxCost = getMinMaxCost(IID, Ty, CostKind, FMF);
5551 return BaseT::getMinMaxReductionCost(IID, ValTy, FMF, CostKind);
5563 CostKind, NumVecElts, SubTy);
5574 std::nullopt, CostKind, 0, nullptr);
5583 std::nullopt, CostKind, 0, nullptr);
5595 MinMaxCost += getMinMaxCost(IID, Ty, CostKind, FMF);
5600 CostKind, 0, nullptr, nullptr);
5617 TTI::TargetCostKind CostKind) {
5653 TTI::TargetCostKind CostKind,
5741 InstructionCost Cost = X86TTIImpl::getIntImmCost(Imm, Ty, CostKind);
5747 return X86TTIImpl::getIntImmCost(Imm, Ty, CostKind);
5752 TTI::TargetCostKind CostKind) {
5783 return X86TTIImpl::getIntImmCost(Imm, Ty, CostKind);
5787 TTI::TargetCostKind CostKind,
5789 if (CostKind != TTI::TCK_RecipThroughput)
5817 TTI::TargetCostKind CostKind,
5870 return SplitFactor * getGSVectorCost(Opcode, CostKind, SplitSrcTy, Ptr,
5875 if (CostKind == TTI::TCK_CodeSize)
5884 CostKind);
5890 Align Alignment, TTI::TargetCostKind CostKind,
5901 Alignment, CostKind, I);
5910 return getGSVectorCost(Opcode, CostKind, SrcVTy, Ptr, Alignment,
6259 TTI::TargetCostKind CostKind, bool UseMaskForCond, bool UseMaskForGaps) {
6278 AddressSpace, CostKind);
6281 AddressSpace, CostKind);
6302 CostKind);
6311 MaskCost += getArithmeticInstrCost(BinaryOperator::And, MaskVT, CostKind);
6340 ShuffleKind, SingleMemOpTy, std::nullopt, CostKind, 0, nullptr);
6397 TTI::SK_PermuteTwoSrc, SingleMemOpTy, std::nullopt, CostKind, 0, nullptr);
6412 Align Alignment, unsigned AddressSpace, TTI::TargetCostKind CostKind,
6430 AddressSpace, CostKind, UseMaskForCond, UseMaskForGaps);
6434 Alignment, AddressSpace, CostKind,
6453 Alignment, AddressSpace, CostKind);
6465 Opcode, VecTy, MaybeAlign(Alignment), AddressSpace, CostKind);
6471 Alignment, AddressSpace, CostKind);
6721 Alignment, AddressSpace, CostKind,