Lines Matching defs:CostKind

246     unsigned Opcode, Type *Ty, TTI::TargetCostKind CostKind,
259 CostKind) +
262 CostKind) +
263 getArithmeticInstrCost(Opcode, WideVecTy, CostKind, Op1Info, Op2Info);
330 getArithmeticInstrCost(Instruction::Shl, Ty, CostKind,
333 Cost += getArithmeticInstrCost(Instruction::Sub, Ty, CostKind);
344 2 * getArithmeticInstrCost(Instruction::AShr, Ty, CostKind,
346 Cost += getArithmeticInstrCost(Instruction::LShr, Ty, CostKind,
348 Cost += getArithmeticInstrCost(Instruction::Add, Ty, CostKind,
353 Cost += getArithmeticInstrCost(Instruction::Mul, Ty, CostKind, Op1Info.getNoProps(),
355 Cost += getArithmeticInstrCost(Instruction::Sub, Ty, CostKind, Op1Info.getNoProps(),
366 return getArithmeticInstrCost(Instruction::LShr, Ty, CostKind,
369 return getArithmeticInstrCost(Instruction::And, Ty, CostKind,
388 if (auto KindCost = Entry->Cost[CostKind])
413 if (auto KindCost = Entry->Cost[CostKind])
449 if (auto KindCost = Entry->Cost[CostKind])
490 if (auto KindCost = Entry->Cost[CostKind])
533 if (auto KindCost = Entry->Cost[CostKind])
564 if (auto KindCost = Entry->Cost[CostKind])
582 if (auto KindCost = Entry->Cost[CostKind])
605 if (auto KindCost = Entry->Cost[CostKind])
627 if (auto KindCost = Entry->Cost[CostKind])
649 if (auto KindCost = Entry->Cost[CostKind])
660 if (auto KindCost = Entry->Cost[CostKind])
682 if (auto KindCost = Entry->Cost[CostKind])
704 if (auto KindCost = Entry->Cost[CostKind])
728 if (auto KindCost = Entry->Cost[CostKind])
765 if (auto KindCost = Entry->Cost[CostKind])
803 if (auto KindCost = Entry->Cost[CostKind])
829 if (auto KindCost = Entry->Cost[CostKind])
841 if (auto KindCost = Entry->Cost[CostKind])
890 if (auto KindCost = Entry->Cost[CostKind])
984 if (auto KindCost = Entry->Cost[CostKind])
1006 return getArithmeticInstrCost(Instruction::Mul, Ty, CostKind,
1016 return getArithmeticInstrCost(Instruction::Mul, Ty, CostKind,
1020 if (auto KindCost = Entry->Cost[CostKind])
1062 if (auto KindCost = Entry->Cost[CostKind])
1084 if (auto KindCost = Entry->Cost[CostKind])
1113 if (auto KindCost = Entry->Cost[CostKind])
1188 if (auto KindCost = Entry->Cost[CostKind])
1289 if (auto KindCost = Entry->Cost[CostKind])
1318 if (auto KindCost = Entry->Cost[CostKind])
1341 if (auto KindCost = Entry->Cost[CostKind])
1350 if (auto KindCost = Entry->Cost[CostKind])
1420 if (auto KindCost = Entry->Cost[CostKind])
1442 if (auto KindCost = Entry->Cost[CostKind])
1453 if (auto KindCost = Entry->Cost[CostKind])
1477 if (auto KindCost = Entry->Cost[CostKind])
1486 if (CostKind == TTI::TCK_RecipThroughput && LT.second.isVector() &&
1490 getArithmeticInstrCost(Opcode, Ty->getScalarType(), CostKind,
1496 if (CostKind == TTI::TCK_CodeSize) {
1512 return BaseT::getArithmeticInstrCost(Opcode, Ty, CostKind, Op1Info, Op2Info,
1519 TTI::TargetCostKind CostKind) const {
1527 TTI::TargetCostKind CostKind, int Index, VectorType *SubTp,
1546 CostKind, Mask.size() / 2, BaseTp);
1626 TTI::SK_ExtractSubvector, VecTy, {}, CostKind, ExtractIndex, SubTy);
1709 if (auto KindCost = Entry->Cost[CostKind])
1763 [this, SingleOpTy, CostKind, &PrevSrcReg, &PrevRegMask,
1771 RegMask, CostKind, 0, nullptr);
1785 [this, SingleOpTy, CostKind,
1789 CostKind, 0, nullptr);
1796 {}, CostKind, 0, nullptr);
1799 return BaseT::getShuffleCost(Kind, BaseTp, Mask, CostKind, Index, SubTp);
1820 if (auto KindCost = Entry->Cost[CostKind])
1856 if (auto KindCost = Entry->Cost[CostKind])
1935 if (auto KindCost = Entry->Cost[CostKind])
1955 if (auto KindCost = Entry->Cost[CostKind])
2004 if (auto KindCost = Entry->Cost[CostKind])
2028 if (auto KindCost = Entry->Cost[CostKind])
2059 if (auto KindCost = Entry->Cost[CostKind])
2123 if (auto KindCost = Entry->Cost[CostKind])
2138 if (auto KindCost = Entry->Cost[CostKind])
2171 if (auto KindCost = Entry->Cost[CostKind])
2239 if (auto KindCost = Entry->Cost[CostKind])
2262 if (auto KindCost = Entry->Cost[CostKind])
2266 return BaseT::getShuffleCost(Kind, BaseTp, Mask, CostKind, Index, SubTp);
2272 TTI::TargetCostKind CostKind,
3103 if (auto KindCost = Entry->Cost[CostKind])
3109 if (auto KindCost = Entry->Cost[CostKind])
3115 if (auto KindCost = Entry->Cost[CostKind])
3122 if (auto KindCost = Entry->Cost[CostKind])
3128 if (auto KindCost = Entry->Cost[CostKind])
3134 if (auto KindCost = Entry->Cost[CostKind])
3140 if (auto KindCost = Entry->Cost[CostKind])
3147 if (auto KindCost = Entry->Cost[CostKind])
3154 if (auto KindCost = Entry->Cost[CostKind])
3161 if (auto KindCost = Entry->Cost[CostKind])
3168 if (auto KindCost = Entry->Cost[CostKind])
3192 if (auto KindCost = Entry->Cost[CostKind])
3198 if (auto KindCost = Entry->Cost[CostKind])
3204 if (auto KindCost = Entry->Cost[CostKind])
3211 if (auto KindCost = Entry->Cost[CostKind])
3217 if (auto KindCost = Entry->Cost[CostKind])
3223 if (auto KindCost = Entry->Cost[CostKind])
3229 if (auto KindCost = Entry->Cost[CostKind])
3235 if (auto KindCost = Entry->Cost[CostKind])
3241 if (auto KindCost = Entry->Cost[CostKind])
3248 if (auto KindCost = Entry->Cost[CostKind])
3254 if (auto KindCost = Entry->Cost[CostKind])
3268 ExtCost = getCastInstrCost(ExtOpc, ExtSrc, Src, CCH, CostKind);
3271 TTI::CastContextHint::None, CostKind);
3279 return getCastInstrCost(Instruction::FPToSI, TruncDst, Src, CCH, CostKind) +
3281 TTI::CastContextHint::None, CostKind);
3285 auto AdjustCost = [&CostKind](InstructionCost Cost,
3287 if (CostKind != TTI::TCK_RecipThroughput)
3292 BaseT::getCastInstrCost(Opcode, Dst, Src, CCH, CostKind, I));
3297 TTI::TargetCostKind CostKind, TTI::OperandValueInfo Op1Info,
3301 return BaseT::getCmpSelInstrCost(Opcode, ValTy, CondTy, VecPred, CostKind,
3315 // TODO: Adjust ExtraCost based on CostKind?
3366 CmpInst::Predicate::FCMP_UNO, CostKind,
3369 CmpInst::Predicate::FCMP_OEQ, CostKind,
3371 getArithmeticInstrCost(Instruction::Or, CondTy, CostKind);
3537 if (auto KindCost = Entry->Cost[CostKind])
3542 if (auto KindCost = Entry->Cost[CostKind])
3547 if (auto KindCost = Entry->Cost[CostKind])
3552 if (auto KindCost = Entry->Cost[CostKind])
3557 if (auto KindCost = Entry->Cost[CostKind])
3562 if (auto KindCost = Entry->Cost[CostKind])
3567 if (auto KindCost = Entry->Cost[CostKind])
3572 if (auto KindCost = Entry->Cost[CostKind])
3577 if (auto KindCost = Entry->Cost[CostKind])
3582 if (auto KindCost = Entry->Cost[CostKind])
3586 if (CostKind == TTI::TCK_Latency && Opcode == Instruction::Select)
3590 return BaseT::getCmpSelInstrCost(Opcode, ValTy, CondTy, VecPred, CostKind,
3598 TTI::TargetCostKind CostKind) {
4513 TTI::CastContextHint::None, CostKind);
4616 if (ISD == ISD::FSQRT && CostKind == TTI::TCK_CodeSize)
4621 if (auto KindCost = Entry->Cost[CostKind])
4626 if (auto KindCost = Entry->Cost[CostKind])
4631 if (auto KindCost = Entry->Cost[CostKind])
4636 if (auto KindCost = Entry->Cost[CostKind])
4641 if (auto KindCost = Entry->Cost[CostKind])
4646 if (auto KindCost = Entry->Cost[CostKind])
4651 if (auto KindCost = Entry->Cost[CostKind])
4656 if (auto KindCost = Entry->Cost[CostKind])
4661 if (auto KindCost = Entry->Cost[CostKind])
4666 if (auto KindCost = Entry->Cost[CostKind])
4671 if (auto KindCost = Entry->Cost[CostKind])
4676 if (auto KindCost = Entry->Cost[CostKind])
4681 if (auto KindCost = Entry->Cost[CostKind])
4686 if (auto KindCost = Entry->Cost[CostKind])
4691 if (auto KindCost = Entry->Cost[CostKind])
4696 if (auto KindCost = Entry->Cost[CostKind])
4701 if (auto KindCost = Entry->Cost[CostKind])
4707 if (auto KindCost = Entry->Cost[CostKind])
4711 if (auto KindCost = Entry->Cost[CostKind])
4718 if (auto KindCost = Entry->Cost[CostKind])
4722 if (auto KindCost = Entry->Cost[CostKind])
4729 if (auto KindCost = Entry->Cost[CostKind])
4733 if (auto KindCost = Entry->Cost[CostKind])
4739 if (auto KindCost = Entry->Cost[CostKind])
4743 if (auto KindCost = Entry->Cost[CostKind])
4752 Cost += getArithmeticInstrCost(BinaryOperator::Or, RetTy, CostKind);
4753 Cost += getArithmeticInstrCost(BinaryOperator::Sub, RetTy, CostKind);
4754 Cost += getArithmeticInstrCost(BinaryOperator::Shl, RetTy, CostKind);
4755 Cost += getArithmeticInstrCost(BinaryOperator::LShr, RetTy, CostKind);
4756 Cost += getArithmeticInstrCost(BinaryOperator::And, RetTy, CostKind);
4758 CmpInst::ICMP_EQ, CostKind);
4760 CmpInst::ICMP_EQ, CostKind);
4765 return BaseT::getIntrinsicInstrCost(ICA, CostKind);
4769 TTI::TargetCostKind CostKind,
4797 return getMemoryOpCost(Instruction::Store, Val, VecAlign, 0, CostKind) +
4799 CostKind);
4803 return getMemoryOpCost(Instruction::Store, Val, VecAlign, 0, CostKind) +
4805 CostKind) +
4806 getMemoryOpCost(Instruction::Load, Val, VecAlign, 0, CostKind);
4907 getShuffleCost(TTI::SK_PermuteTwoSrc, SubTy, {}, CostKind, 0, SubTy);
4913 return BaseT::getVectorInstrCost(Opcode, Val, CostKind, Index, Op0, Op1) +
4919 TTI::TargetCostKind CostKind, ArrayRef<Value *> VL) {
4947 /*Extract*/ false, CostKind);
4984 Cost += getShuffleCost(TTI::SK_ExtractSubvector, Ty, {}, CostKind,
4987 /*Extract*/ false, CostKind);
5002 Cost += getShuffleCost(TTI::SK_InsertSubvector, Ty, {}, CostKind,
5062 Cost += getShuffleCost(TTI::SK_ExtractSubvector, Ty, {}, CostKind,
5065 LaneTy, LaneEltMask, /*Insert*/ false, Extract, CostKind);
5074 Extract, CostKind);
5083 TTI::TargetCostKind CostKind) {
5090 DemandedDstElts, CostKind);
5151 TargetTransformInfo::CastContextHint::None, CostKind);
5155 TargetTransformInfo::CastContextHint::None, CostKind);
5158 DemandedDstElts, CostKind);
5181 TTI::SK_PermuteSingleSrc, SingleDstVecTy, /*Mask=*/{}, CostKind,
5189 TTI::TargetCostKind CostKind,
5193 if (CostKind != TTI::TCK_RecipThroughput) {
5210 CostKind, OpInfo, I);
5222 /*AddressSpace=*/0, CostKind, OpInfo);
5252 CostKind, OpInfo, I);
5263 CostKind, OpInfo, I);
5326 VTy, {}, CostKind, NumEltDone(), CurrVecTy);
5342 !IsLoad, CostKind);
5359 TTI::TargetCostKind CostKind) {
5366 return getMemoryOpCost(Opcode, SrcTy, Alignment, AddressSpace, CostKind);
5376 MaskTy, DemandedElts, /*Insert*/ false, /*Extract*/ true, CostKind);
5379 CmpInst::BAD_ICMP_PREDICATE, CostKind);
5380 InstructionCost BranchCost = getCFInstrCost(Instruction::Br, CostKind);
5383 SrcVTy, DemandedElts, IsLoad, IsStore, CostKind);
5386 Alignment, AddressSpace, CostKind);
5403 getShuffleCost(TTI::SK_PermuteTwoSrc, SrcVTy, {}, CostKind, 0,
5405 getShuffleCost(TTI::SK_PermuteTwoSrc, MaskTy, {}, CostKind, 0, nullptr);
5411 Cost += getShuffleCost(TTI::SK_InsertSubvector, NewMaskTy, {}, CostKind, 0,
5427 Type *AccessTy, TTI::TargetCostKind CostKind) {
5436 CostKind);
5440 return BaseT::getPointersChainCost(Ptrs, Base, Info, AccessTy, CostKind);
5474 TTI::TargetCostKind CostKind) {
5476 return BaseT::getArithmeticReductionCost(Opcode, ValTy, FMF, CostKind);
5547 CostKind) +
5548 getArithmeticReductionCost(Opcode, WideVecTy, FMF, CostKind);
5557 ArithmeticCost = getArithmeticInstrCost(Opcode, SingleOpTy, CostKind);
5627 ArithmeticCost = getArithmeticInstrCost(Opcode, SingleOpTy, CostKind);
5644 return BaseT::getArithmeticReductionCost(Opcode, ValVTy, FMF, CostKind);
5653 return BaseT::getArithmeticReductionCost(Opcode, ValVTy, FMF, CostKind);
5663 ReductionCost = getArithmeticInstrCost(Opcode, Ty, CostKind);
5678 CostKind, NumVecElts, SubTy);
5690 CostKind, 0, nullptr);
5701 CostKind, 0, nullptr);
5707 Instruction::LShr, ShiftTy, CostKind,
5713 ReductionCost += getArithmeticInstrCost(Opcode, Ty, CostKind);
5718 CostKind, 0, nullptr, nullptr);
5722 TTI::TargetCostKind CostKind,
5725 return getIntrinsicInstrCost(ICA, CostKind);
5731 TTI::TargetCostKind CostKind) {
5821 MinMaxCost = getMinMaxCost(IID, Ty, CostKind, FMF);
5848 return BaseT::getMinMaxReductionCost(IID, ValTy, FMF, CostKind);
5859 MinMaxCost += getShuffleCost(TTI::SK_ExtractSubvector, Ty, {}, CostKind,
5871 CostKind, 0, nullptr);
5880 CostKind, 0, nullptr);
5892 MinMaxCost += getMinMaxCost(IID, Ty, CostKind, FMF);
5897 CostKind, 0, nullptr, nullptr);
5914 TTI::TargetCostKind CostKind) {
5950 TTI::TargetCostKind CostKind,
6044 InstructionCost Cost = X86TTIImpl::getIntImmCost(Imm, Ty, CostKind);
6050 return X86TTIImpl::getIntImmCost(Imm, Ty, CostKind);
6055 TTI::TargetCostKind CostKind) {
6086 return X86TTIImpl::getIntImmCost(Imm, Ty, CostKind);
6090 TTI::TargetCostKind CostKind,
6092 if (CostKind != TTI::TCK_RecipThroughput)
6120 TTI::TargetCostKind CostKind,
6173 return SplitFactor * getGSVectorCost(Opcode, CostKind, SplitSrcTy, Ptr,
6178 if (CostKind == TTI::TCK_CodeSize)
6187 CostKind);
6193 Align Alignment, TTI::TargetCostKind CostKind,
6204 Alignment, CostKind, I);
6213 return getGSVectorCost(Opcode, CostKind, SrcVTy, Ptr, Alignment,
6562 TTI::TargetCostKind CostKind, bool UseMaskForCond, bool UseMaskForGaps) {
6581 AddressSpace, CostKind);
6584 AddressSpace, CostKind);
6605 CostKind);
6614 MaskCost += getArithmeticInstrCost(BinaryOperator::And, MaskVT, CostKind);
6643 getShuffleCost(ShuffleKind, SingleMemOpTy, {}, CostKind, 0, nullptr);
6700 TTI::SK_PermuteTwoSrc, SingleMemOpTy, {}, CostKind, 0, nullptr);
6715 Align Alignment, unsigned AddressSpace, TTI::TargetCostKind CostKind,
6733 AddressSpace, CostKind, UseMaskForCond, UseMaskForGaps);
6737 Alignment, AddressSpace, CostKind,
6756 Alignment, AddressSpace, CostKind);
6768 Opcode, VecTy, MaybeAlign(Alignment), AddressSpace, CostKind);
6774 Alignment, AddressSpace, CostKind);
7024 Alignment, AddressSpace, CostKind,