Lines Matching defs:CostKind
42 TTI::TargetCostKind CostKind) {
43 // Check if the type is valid for all CostKind
47 if (CostKind == TTI::TCK_CodeSize)
50 if ((CostKind != TTI::TCK_RecipThroughput) && (CostKind != TTI::TCK_Latency))
116 TTI::TargetCostKind CostKind,
131 TTI::TargetCostKind CostKind) {
132 return getIntImmCostImpl(getDataLayout(), getST(), Imm, Ty, CostKind, false);
164 TTI::TargetCostKind CostKind,
190 return getIntImmCostImpl(getDataLayout(), getST(), Imm, Ty, CostKind,
199 return getIntImmCostImpl(getDataLayout(), getST(), Imm, Ty, CostKind,
204 return getIntImmCost(Imm, Ty, CostKind);
262 return getIntImmCost(Imm, Ty, CostKind);
272 TTI::TargetCostKind CostKind) {
339 RISCVTTIImpl::getConstantPoolLoadCost(Type *Ty, TTI::TargetCostKind CostKind) {
344 /*AddressSpace=*/0, CostKind);
395 ArrayRef<int> Mask, TTI::TargetCostKind CostKind) {
437 Cost += TTI.getShuffleCost(TTI::SK_ExtractSubvector, Tp, {}, CostKind,
446 RegMask, CostKind, 0, nullptr);
453 TTI::SK_ExtractSubvector, Tp, {}, CostKind,
459 TTI::SK_ExtractSubvector, Tp, {}, CostKind,
464 CostKind, 0, nullptr);
479 TTI::TargetCostKind CostKind,
492 *this, LT.second, ST->getRealVLen(), Tp, Mask, CostKind);
519 LT.second, CostKind);
541 CostKind, InsertIndex, SubTp);
552 InstructionCost IndexCost = getConstantPoolLoadCost(IdxTy, CostKind);
554 getRISCVInstructionCost(RISCV::VRGATHER_VV, LT.second, CostKind);
570 InstructionCost IndexCost = getConstantPoolLoadCost(IdxTy, CostKind);
571 InstructionCost MaskCost = getConstantPoolLoadCost(MaskTy, CostKind);
574 LT.second, CostKind) +
619 SubVecTy, SubMask, CostKind, 0, nullptr);
660 getRISCVInstructionCost(RISCV::VSLIDEDOWN_VI, LT.second, CostKind);
666 getRISCVInstructionCost(RISCV::VSLIDEUP_VI, LT.second, CostKind);
679 LT.second, CostKind));
693 LT.second, CostKind));
708 LT.second, CostKind));
715 getRISCVInstructionCost(RISCV::VMV_V_X, LT.second, CostKind);
721 getRISCVInstructionCost(RISCV::VRGATHER_VI, LT.second, CostKind);
732 return LT.first * getRISCVInstructionCost(Opcodes, LT.second, CostKind);
758 getRISCVInstructionCost(Opcodes, LT.second, CostKind);
764 return BaseT::getShuffleCost(Kind, Tp, Mask, CostKind, Index, SubTp);
775 TTI::TargetCostKind CostKind, ArrayRef<Value *> VL) {
784 Ty, DemandedElts, Insert, Extract, CostKind);
792 CostKind) +
794 TTI::CastContextHint::None, CostKind, nullptr);
802 getRISCVInstructionCost(RISCV::VSLIDE1DOWN_VX, LT.second, CostKind);
813 TTI::TargetCostKind CostKind) {
815 CostKind != TTI::TCK_RecipThroughput)
817 CostKind);
819 return getMemoryOpCost(Opcode, Src, Alignment, AddressSpace, CostKind);
824 Align Alignment, unsigned AddressSpace, TTI::TargetCostKind CostKind,
847 getMemoryOpCost(Opcode, VTy, Alignment, AddressSpace, CostKind);
857 CostKind, {TTI::OK_AnyValue, TTI::OP_None});
871 getMemoryOpCost(Opcode, VecTy, Alignment, AddressSpace, CostKind);
887 CostKind, 0, nullptr, {});
905 Alignment, AddressSpace, CostKind,
914 CostKind, 0, nullptr, {});
920 Align Alignment, TTI::TargetCostKind CostKind, const Instruction *I) {
921 if (CostKind != TTI::TCK_RecipThroughput)
923 Alignment, CostKind, I);
930 Alignment, CostKind, I);
937 getMemoryOpCost(Opcode, VTy.getElementType(), Alignment, 0, CostKind,
945 Align Alignment, TTI::TargetCostKind CostKind, const Instruction *I) {
950 Alignment, CostKind, I);
952 if (CostKind == TTI::TCK_CodeSize)
960 getMemoryOpCost(Opcode, VTy.getElementType(), Alignment, 0, CostKind,
972 TTI::TargetCostKind CostKind = TTI::TCK_RecipThroughput;
977 Cost += getMemoryOpCost(Instruction::Store, Ty, A, 0, CostKind) +
978 getMemoryOpCost(Instruction::Load, Ty, A, 0, CostKind);
1066 TTI::TargetCostKind CostKind) {
1112 return LT.first * getRISCVInstructionCost(Op, LT.second, CostKind);
1137 return LT.first * getRISCVInstructionCost(Op, LT.second, CostKind);
1153 CostKind) +
1157 getRISCVInstructionCost(RISCV::VFSGNJX_VV, LT.second, CostKind);
1199 return LT.first * (getRISCVInstructionCost(FsqrtOp, FsqrtType, CostKind) +
1200 getRISCVInstructionCost(ConvOp, ConvType, CostKind));
1221 return LT.first * getRISCVInstructionCost(Op, LT.second, CostKind);
1232 LT.second, CostKind);
1247 LT.second, CostKind);
1257 return getRISCVInstructionCost(RISCV::VID_V, LT.second, CostKind) +
1259 getRISCVInstructionCost(RISCV::VADD_VX, LT.second, CostKind);
1268 RISCV::VFIRST_M, getTypeLegalizationCost(ArgTy).second, CostKind);
1276 CmpInst::ICMP_SLT, CostKind) +
1278 CmpInst::BAD_ICMP_PREDICATE, CostKind);
1316 return getArithmeticInstrCost(*FOp, ICA.getReturnType(), CostKind);
1324 CmpInst::BAD_ICMP_PREDICATE, CostKind);
1329 CostKind);
1338 LT.second, CostKind);
1352 return BaseT::getIntrinsicInstrCost(ICA, CostKind);
1358 TTI::TargetCostKind CostKind,
1362 return BaseT::getCastInstrCost(Opcode, Dst, Src, CCH, CostKind, I);
1369 return BaseT::getCastInstrCost(Opcode, Dst, Src, CCH, CostKind, I);
1391 return getRISCVInstructionCost(RISCV::VMV_V_I, DstLT.second, CostKind) +
1393 DstLT.second, CostKind) +
1406 SrcLT.second, CostKind) +
1422 return BaseT::getCastInstrCost(Opcode, Dst, Src, CCH, CostKind, I);
1433 return BaseT::getCastInstrCost(Opcode, Dst, Src, CCH, CostKind, I);
1438 return getRISCVInstructionCost(Op, DstLT.second, CostKind);
1458 Cost += getRISCVInstructionCost(Op, DstMVT, CostKind);
1484 VecF32LT.second, CostKind);
1485 Cost += getCastInstrCost(Opcode, Dst, VecF32Ty, CCH, CostKind, I);
1489 Cost += getRISCVInstructionCost(FCVT, DstLT.second, CostKind);
1491 Cost += getRISCVInstructionCost(FWCVT, DstLT.second, CostKind);
1497 Cost += getRISCVInstructionCost(FNCVT, VecVT, CostKind);
1501 getCastInstrCost(Instruction::Trunc, Dst, VecTy, CCH, CostKind, I);
1525 Cost += getCastInstrCost(Opcode, VecF32Ty, Src, CCH, CostKind, I);
1527 DstLT.second, CostKind);
1532 Cost += getRISCVInstructionCost(FCVT, DstLT.second, CostKind);
1539 Cost += getCastInstrCost(Op, VecTy, Src, CCH, CostKind, I);
1541 Cost += getRISCVInstructionCost(FWCVT, DstLT.second, CostKind);
1543 Cost += getRISCVInstructionCost(FNCVT, DstLT.second, CostKind);
1547 return BaseT::getCastInstrCost(Opcode, Dst, Src, CCH, CostKind, I);
1563 TTI::TargetCostKind CostKind) {
1565 return BaseT::getMinMaxReductionCost(IID, Ty, FMF, CostKind);
1569 return BaseT::getMinMaxReductionCost(IID, Ty, FMF, CostKind);
1577 return getArithmeticReductionCost(Instruction::Or, Ty, FMF, CostKind);
1579 return getArithmeticReductionCost(Instruction::And, Ty, FMF, CostKind);
1600 TTI::CastContextHint::None, CostKind) +
1601 getCFInstrCost(Instruction::Br, CostKind);
1619 TTI::CastContextHint::None, CostKind) +
1620 getCFInstrCost(Instruction::Br, CostKind);
1624 return ExtraCost + getRISCVInstructionCost(Opcodes, LT.second, CostKind);
1661 getRISCVInstructionCost(SplitOp, LT.second, CostKind)
1663 return SplitCost + getRISCVInstructionCost(Opcodes, LT.second, CostKind);
1669 TTI::TargetCostKind CostKind) {
1671 return BaseT::getArithmeticReductionCost(Opcode, Ty, FMF, CostKind);
1675 return BaseT::getArithmeticReductionCost(Opcode, Ty, FMF, CostKind);
1682 return BaseT::getArithmeticReductionCost(Opcode, Ty, FMF, CostKind);
1691 return getRISCVInstructionCost(RISCV::VFIRST_M, LT.second, CostKind) +
1693 CmpInst::ICMP_EQ, CostKind);
1710 getRISCVInstructionCost(RISCV::VMAND_MM, LT.second, CostKind) +
1711 getRISCVInstructionCost(RISCV::VMNAND_MM, LT.second, CostKind) +
1712 getRISCVInstructionCost(RISCV::VCPOP_M, LT.second, CostKind) +
1714 CmpInst::ICMP_EQ, CostKind);
1722 getRISCVInstructionCost(RISCV::VMXOR_MM, LT.second, CostKind) +
1723 getRISCVInstructionCost(RISCV::VCPOP_M, LT.second, CostKind) + 1;
1732 getRISCVInstructionCost(RISCV::VMOR_MM, LT.second, CostKind) +
1733 getRISCVInstructionCost(RISCV::VCPOP_M, LT.second, CostKind) +
1735 CmpInst::ICMP_NE, CostKind);
1766 return BaseT::getArithmeticReductionCost(Opcode, Ty, FMF, CostKind);
1772 return getRISCVInstructionCost(Opcodes, LT.second, CostKind);
1781 getRISCVInstructionCost(SplitOp, LT.second, CostKind)
1783 return SplitCost + getRISCVInstructionCost(Opcodes, LT.second, CostKind);
1788 FastMathFlags FMF, TTI::TargetCostKind CostKind) {
1791 FMF, CostKind);
1796 FMF, CostKind);
1800 FMF, CostKind);
1809 getRISCVInstructionCost(RISCV::VCPOP_M, LT.second, CostKind);
1814 FMF, CostKind);
1817 getArithmeticReductionCost(Opcode, ValTy, FMF, CostKind);
1822 TTI::TargetCostKind CostKind) {
1836 return getConstantPoolLoadCost(Ty, CostKind);
1843 TTI::TargetCostKind CostKind,
1850 CostKind, OpInfo, I);
1854 Cost += getStoreImmCost(Src, OpInfo, CostKind);
1860 if (CostKind != TTI::TCK_RecipThroughput)
1874 CostKind, OpInfo, I);
1880 if (LT.second.isVector() && CostKind != TTI::TCK_CodeSize)
1888 TTI::TargetCostKind CostKind, TTI::OperandValueInfo Op1Info,
1890 if (CostKind != TTI::TCK_RecipThroughput)
1891 return BaseT::getCmpSelInstrCost(Opcode, ValTy, CondTy, VecPred, CostKind,
1895 return BaseT::getCmpSelInstrCost(Opcode, ValTy, CondTy, VecPred, CostKind,
1900 return BaseT::getCmpSelInstrCost(Opcode, ValTy, CondTy, VecPred, CostKind,
1910 return getConstantPoolLoadCost(ValTy, CostKind);
1930 LT.second, CostKind);
1935 CostKind);
1948 InterimVT, CostKind) +
1951 LT.second, CostKind);
1960 LT.second, CostKind);
1969 CostKind);
1978 getRISCVInstructionCost(RISCV::VMXOR_MM, LT.second, CostKind);
1987 return BaseT::getCmpSelInstrCost(Opcode, ValTy, CondTy, VecPred, CostKind,
2000 LT.second, CostKind);
2009 LT.second, CostKind);
2019 getRISCVInstructionCost(RISCV::VMFLT_VV, LT.second, CostKind);
2042 return BaseT::getCmpSelInstrCost(Opcode, ValTy, CondTy, VecPred, CostKind,
2047 TTI::TargetCostKind CostKind,
2049 if (CostKind != TTI::TCK_RecipThroughput)
2056 TTI::TargetCostKind CostKind,
2063 return BaseT::getVectorInstrCost(Opcode, Val, CostKind, Index, Op0, Op1);
2082 getMemoryOpCost(Instruction::Load, ElemTy, Align, 0, CostKind);
2084 getMemoryOpCost(Instruction::Store, ElemTy, Align, 0, CostKind);
2102 TTI::CastContextHint::None, CostKind);
2104 = getVectorInstrCost(Opcode, WideTy, CostKind, Index, nullptr, nullptr);
2109 TTI::CastContextHint::None, CostKind);
2111 = getVectorInstrCost(Opcode, WideTy, CostKind, Index, nullptr, nullptr);
2114 TTI::CastContextHint::None, CostKind);
2162 return getMemoryOpCost(Instruction::Store, Val, VecAlign, 0, CostKind) +
2164 CostKind) +
2169 return getMemoryOpCost(Instruction::Store, Val, VecAlign, 0, CostKind) +
2170 getMemoryOpCost(Instruction::Load, Val, VecAlign, 0, CostKind) +
2172 CostKind) +
2203 unsigned Opcode, Type *Ty, TTI::TargetCostKind CostKind,
2208 if (CostKind != TTI::TCK_RecipThroughput)
2209 return BaseT::getArithmeticInstrCost(Opcode, Ty, CostKind, Op1Info, Op2Info,
2213 return BaseT::getArithmeticInstrCost(Opcode, Ty, CostKind, Op1Info, Op2Info,
2218 return BaseT::getArithmeticInstrCost(Opcode, Ty, CostKind, Op1Info, Op2Info,
2226 return BaseT::getArithmeticInstrCost(Opcode, Ty, CostKind, Op1Info, Op2Info,
2243 TTI::CastContextHint::None, CostKind);
2247 TTI::CastContextHint::None, CostKind);
2262 return getConstantPoolLoadCost(Ty, CostKind);
2318 BaseT::getArithmeticInstrCost(Opcode, Ty, CostKind, Op1Info, Op2Info,
2322 InstructionCost InstrCost = getRISCVInstructionCost(Op, LT.second, CostKind);
2335 TTI::TargetCostKind CostKind) {
2367 Cost += getArithmeticInstrCost(Instruction::Add, GEP->getType(), CostKind,
2373 Indices, AccessTy, CostKind);