Lines Matching defs:LT

364   std::pair<InstructionCost, MVT> LT = getTypeLegalizationCost(Tp);
374 if (Mask.size() >= 2 && LT.second.isFixedLengthVector()) {
375 MVT EltTp = LT.second.getVectorElementType();
386 return 2 * LT.first * TLI->getLMULCost(LT.second);
393 return LT.first * getRISCVInstructionCost(RISCV::VNSRL_WI,
394 LT.second, CostKind);
400 if (LT.second.isFixedLengthVector() && LT.first == 1 &&
401 (LT.second.getScalarSizeInBits() != 8 ||
402 LT.second.getVectorNumElements() <= 256)) {
403 VectorType *IdxTy = getVRGatherIndexType(LT.second, *ST, Tp->getContext());
406 getRISCVInstructionCost(RISCV::VRGATHER_VV, LT.second, CostKind);
415 if (LT.second.isFixedLengthVector() && LT.first == 1 &&
416 (LT.second.getScalarSizeInBits() != 8 ||
417 LT.second.getVectorNumElements() <= 256)) {
420 VectorType *IdxTy = getVRGatherIndexType(LT.second, *ST, C);
426 LT.second, CostKind) +
435 if (!Mask.empty() && LT.first.isValid() && LT.first != 1 &&
436 LT.second.isFixedLengthVector() &&
437 LT.second.getVectorElementType().getSizeInBits() ==
439 LT.second.getVectorNumElements() <
443 static_cast<unsigned>(*LT.first.getValue())) {
444 unsigned NumRegs = *LT.first.getValue();
502 return LT.first *
503 getRISCVInstructionCost(RISCV::VSLIDEDOWN_VI, LT.second, CostKind);
508 return LT.first *
509 getRISCVInstructionCost(RISCV::VSLIDEUP_VI, LT.second, CostKind);
520 return LT.first *
522 LT.second, CostKind));
527 if (LT.second.getScalarSizeInBits() == 1) {
534 return LT.first *
536 LT.second, CostKind));
547 return LT.first *
551 LT.second, CostKind));
557 return LT.first *
558 getRISCVInstructionCost(RISCV::VMV_V_X, LT.second, CostKind);
563 return LT.first *
564 getRISCVInstructionCost(RISCV::VRGATHER_VI, LT.second, CostKind);
568 // TODO: Multiplying by LT.first implies this legalizes into multiple copies
575 return LT.first * getRISCVInstructionCost(Opcodes, LT.second, CostKind);
593 if (LT.second.isFixedLengthVector())
595 LenCost = isInt<5>(LT.second.getVectorNumElements() - 1) ? 0 : 1;
597 if (LT.second.isFixedLengthVector() &&
598 isInt<5>(LT.second.getVectorNumElements() - 1))
601 getRISCVInstructionCost(Opcodes, LT.second, CostKind);
604 return LT.first * (LenCost + GatherCost + ExtendCost);
636 std::pair<InstructionCost, MVT> LT = getTypeLegalizationCost(VTy);
638 if (LT.second.isVector()) {
651 LT.second.getVectorElementCount());
654 return LT.first + LegalMemCost;
848 auto LT = getTypeLegalizationCost(RetTy);
849 if (!LT.second.isVector() && TLI->isOperationCustom(ISD::FCEIL, LT.second))
850 return LT.first * 8;
857 auto LT = getTypeLegalizationCost(RetTy);
858 if (LT.second.isScalarInteger() && ST->hasStdExtZbb())
859 return LT.first;
861 if (ST->hasVInstructions() && LT.second.isVector()) {
877 return LT.first * getRISCVInstructionCost(Op, LT.second, CostKind);
887 auto LT = getTypeLegalizationCost(RetTy);
888 if (ST->hasVInstructions() && LT.second.isVector())
889 return LT.first;
893 auto LT = getTypeLegalizationCost(RetTy);
894 if (ST->hasVInstructions() && ST->hasStdExtZvbb() && LT.second.isVector())
895 return LT.first;
899 auto LT = getTypeLegalizationCost(RetTy);
900 if (ST->hasVInstructions() && LT.second.isVector()) {
903 return LT.first * 2;
911 auto LT = getTypeLegalizationCost(ExpRetTy);
916 return LT.first *
918 LT.second, CostKind);
924 auto LT = getTypeLegalizationCost(RetTy);
926 // (LT.first - 1) vector adds.
928 return getRISCVInstructionCost(RISCV::VID_V, LT.second, CostKind) +
929 (LT.first - 1) *
930 getRISCVInstructionCost(RISCV::VADD_VX, LT.second, CostKind);
931 return 1 + (LT.first - 1);
956 auto LT = getTypeLegalizationCost(RetTy);
957 if (TLI->isOperationCustom(ISD::VP_FRINT, LT.second))
958 return Cost * LT.first;
964 auto LT = getTypeLegalizationCost(RetTy);
965 if (TLI->isOperationCustom(ISD::VP_FRINT, LT.second))
966 return Cost * LT.first;
977 auto LT = getTypeLegalizationCost(RetTy);
979 if (TLI->isOperationCustom(VPISD, LT.second))
980 return Cost * LT.first;
1012 if (auto LT = getTypeLegalizationCost(RetTy);
1013 LT.second.isVector()) {
1014 MVT EltTy = LT.second.getVectorElementType();
1017 return LT.first * Entry->Cost;
1152 std::pair<InstructionCost, MVT> LT = getTypeLegalizationCost(Ty);
1205 return ExtraCost + getRISCVInstructionCost(Opcodes, LT.second, CostKind);
1241 (LT.first > 1) ? (LT.first - 1) *
1242 getRISCVInstructionCost(SplitOp, LT.second, CostKind)
1244 return SplitCost + getRISCVInstructionCost(Opcodes, LT.second, CostKind);
1265 std::pair<InstructionCost, MVT> LT = getTypeLegalizationCost(Ty);
1276 return (LT.first - 1) +
1277 getRISCVInstructionCost(Opcodes, LT.second, CostKind) +
1286 return (LT.first - 1) +
1287 getRISCVInstructionCost(Opcodes, LT.second, CostKind) +
1296 for (unsigned i = 0; i < LT.first.getValue(); i++)
1299 return getRISCVInstructionCost(Opcodes, LT.second, CostKind);
1326 (LT.first > 1) ? (LT.first - 1) *
1327 getRISCVInstructionCost(SplitOp, LT.second, CostKind)
1329 return SplitCost + getRISCVInstructionCost(Opcodes, LT.second, CostKind);
1348 std::pair<InstructionCost, MVT> LT = getTypeLegalizationCost(ValTy);
1350 if (ResTy->getScalarSizeInBits() != 2 * LT.second.getScalarSizeInBits())
1354 return (LT.first - 1) +
1398 // handles the LT.first term for us.
1399 if (std::pair<InstructionCost, MVT> LT = getTypeLegalizationCost(Src);
1400 LT.second.isVector() && CostKind != TTI::TCK_CodeSize)
1401 BaseCost *= TLI->getLMULCost(LT.second);
1424 std::pair<InstructionCost, MVT> LT = getTypeLegalizationCost(ValTy);
1431 return LT.first *
1434 LT.second, CostKind);
1437 return LT.first *
1438 getRISCVInstructionCost(RISCV::VMERGE_VVM, LT.second, CostKind);
1447 MVT InterimVT = LT.second.changeVectorElementType(MVT::i8);
1448 return LT.first *
1451 LT.first * getRISCVInstructionCost(
1453 LT.second, CostKind);
1459 return LT.first * getRISCVInstructionCost(
1461 LT.second, CostKind);
1468 return LT.first *
1469 getRISCVInstructionCost(RISCV::VMSLT_VV, LT.second, CostKind);
1477 return getRISCVInstructionCost(RISCV::VMXOR_MM, LT.second, CostKind);
1496 return LT.first * getRISCVInstructionCost(
1498 LT.second, CostKind);
1504 return LT.first *
1506 LT.second, CostKind);
1514 return LT.first *
1515 getRISCVInstructionCost(RISCV::VMFLT_VV, LT.second, CostKind);
1561 std::pair<InstructionCost, MVT> LT = getTypeLegalizationCost(Val);
1564 if (!LT.second.isVector()) {
1586 if (LT.second.isScalableVector() && !LT.first.isValid())
1587 return LT.first;
1626 if (LT.second.isFixedLengthVector()) {
1627 unsigned Width = LT.second.getVectorNumElements();
1684 std::pair<InstructionCost, MVT> LT = getTypeLegalizationCost(Ty);
1687 if (!LT.second.isVector())
1763 InstructionCost InstrCost = getRISCVInstructionCost(Op, LT.second, CostKind);
1769 return ConstantMatCost + LT.first * InstrCost;