Lines Matching defs:LT
267 std::pair<InstructionCost, MVT> LT = getTypeLegalizationCost(Ty);
272 if (ISD == ISD::MUL && Args.size() == 2 && LT.second.isVector() &&
273 (LT.second.getScalarType() == MVT::i32 ||
274 LT.second.getScalarType() == MVT::i64)) {
286 LT.second.getScalarType() == MVT::i32) {
300 LT.second =
301 MVT::getVectorVT(MVT::i16, 2 * LT.second.getVectorNumElements());
307 if (ST->useSLMArithCosts() && LT.second == MVT::v4i32) {
309 return LT.first * 3; // pmullw/sext
311 return LT.first * 3; // pmullw/zext
313 return LT.first * 5; // pmullw/pmulhw/pshuf
315 return LT.first * 5; // pmullw/pmulhw/pshuf
321 if (!SignedMode && OpMinSize <= 32 && LT.second.getScalarType() == MVT::i64)
387 CostTableLookup(GFNIUniformConstCostTable, ISD, LT.second))
389 return LT.first * *KindCost;
412 CostTableLookup(AVX512BWUniformConstCostTable, ISD, LT.second))
414 return LT.first * *KindCost;
448 CostTableLookup(AVX512UniformConstCostTable, ISD, LT.second))
450 return LT.first * *KindCost;
489 CostTableLookup(AVX2UniformConstCostTable, ISD, LT.second))
491 return LT.first * *KindCost;
530 (!ST->hasXOP() || LT.second.getScalarSizeInBits() != 8))
532 CostTableLookup(AVXUniformConstCostTable, ISD, LT.second))
534 return LT.first * *KindCost;
561 (!ST->hasXOP() || LT.second.getScalarSizeInBits() != 8))
563 CostTableLookup(SSE2UniformConstCostTable, ISD, LT.second))
565 return LT.first * *KindCost;
581 CostTableLookup(AVX512BWConstCostTable, ISD, LT.second))
583 return LT.first * *KindCost;
604 CostTableLookup(AVX512ConstCostTable, ISD, LT.second))
606 return LT.first * *KindCost;
626 if (const auto *Entry = CostTableLookup(AVX2ConstCostTable, ISD, LT.second))
628 return LT.first * *KindCost;
648 if (const auto *Entry = CostTableLookup(AVXConstCostTable, ISD, LT.second))
650 return LT.first * *KindCost;
659 CostTableLookup(SSE41ConstCostTable, ISD, LT.second))
661 return LT.first * *KindCost;
681 if (const auto *Entry = CostTableLookup(SSE2ConstCostTable, ISD, LT.second))
683 return LT.first * *KindCost;
703 CostTableLookup(AVX512BWUniformCostTable, ISD, LT.second))
705 return LT.first * *KindCost;
727 CostTableLookup(AVX512UniformCostTable, ISD, LT.second))
729 return LT.first * *KindCost;
764 CostTableLookup(AVX2UniformCostTable, ISD, LT.second))
766 return LT.first * *KindCost;
800 (!ST->hasXOP() || LT.second.getScalarSizeInBits() != 8))
802 CostTableLookup(AVXUniformCostTable, ISD, LT.second))
804 return LT.first * *KindCost;
826 (!ST->hasXOP() || LT.second.getScalarSizeInBits() != 8))
828 CostTableLookup(SSE2UniformCostTable, ISD, LT.second))
830 return LT.first * *KindCost;
840 if (const auto *Entry = CostTableLookup(AVX512DQCostTable, ISD, LT.second))
842 return LT.first * *KindCost;
889 if (const auto *Entry = CostTableLookup(AVX512BWCostTable, ISD, LT.second))
891 return LT.first * *KindCost;
983 if (const auto *Entry = CostTableLookup(AVX512CostTable, ISD, LT.second))
985 return LT.first * *KindCost;
1003 if (ISD == ISD::SHL && LT.second == MVT::v32i16 && Op2Info.isConstant())
1011 if (ST->hasAVX2() && !(ST->hasXOP() && LT.second == MVT::v4i32)) {
1012 if (ISD == ISD::SHL && LT.second == MVT::v16i16 &&
1019 if (const auto *Entry = CostTableLookup(AVX2ShiftCostTable, ISD, LT.second))
1021 return LT.first * *KindCost;
1061 CostTableLookup(XOPShiftCostTable, ShiftISD, LT.second))
1063 return LT.first * *KindCost;
1067 MVT VT = LT.second;
1083 if (const auto *Entry = CostTableLookup(GLMCostTable, ISD, LT.second))
1085 return LT.first * *KindCost;
1112 if (const auto *Entry = CostTableLookup(SLMCostTable, ISD, LT.second))
1114 return LT.first * *KindCost;
1187 if (const auto *Entry = CostTableLookup(AVX2CostTable, ISD, LT.second))
1189 return LT.first * *KindCost;
1288 if (const auto *Entry = CostTableLookup(AVX1CostTable, ISD, LT.second))
1290 return LT.first * *KindCost;
1317 if (const auto *Entry = CostTableLookup(SSE42CostTable, ISD, LT.second))
1319 return LT.first * *KindCost;
1340 if (const auto *Entry = CostTableLookup(SSE41CostTable, ISD, LT.second))
1342 return LT.first * *KindCost;
1349 if (const auto *Entry = CostTableLookup(SSSE3CostTable, ISD, LT.second))
1351 return LT.first * *KindCost;
1419 if (const auto *Entry = CostTableLookup(SSE2CostTable, ISD, LT.second))
1421 return LT.first * *KindCost;
1441 if (const auto *Entry = CostTableLookup(SSE1CostTable, ISD, LT.second))
1443 return LT.first * *KindCost;
1452 if (const auto *Entry = CostTableLookup(X64CostTbl, ISD, LT.second))
1454 return LT.first * *KindCost;
1476 if (const auto *Entry = CostTableLookup(X86CostTbl, ISD, LT.second))
1478 return LT.first * *KindCost;
1486 if (CostKind == TTI::TCK_RecipThroughput && LT.second.isVector() &&
1492 return 20 * LT.first * LT.second.getVectorNumElements() * ScalarCost;
1506 return LT.first;
1531 std::pair<InstructionCost, MVT> LT = getTypeLegalizationCost(BaseTp);
1556 LT.first = 1;
1562 (ST->hasAVX() && LT.second.getScalarSizeInBits() >= 32)))
1573 BaseTp->getScalarSizeInBits() == LT.second.getScalarSizeInBits() &&
1591 if (LT.second.isVector() && LT.second.getScalarType() == MVT::bf16)
1592 LT.second = LT.second.changeVectorElementType(MVT::f16);
1596 if (Kind == TTI::SK_ExtractSubvector && LT.second.isVector()) {
1597 int NumElts = LT.second.getVectorNumElements();
1614 LT.second.getVectorElementType() ==
1616 LT.second.getVectorElementType().getSizeInBits() ==
1621 LT.second.getVectorNumElements());
1648 if (Kind == TTI::SK_InsertSubvector && LT.second.isVector()) {
1649 int NumElts = LT.second.getVectorNumElements();
1663 if (LT.first == 1 && LT.second == MVT::v4f32 && SubLT.first == 1 &&
1710 return LT.first * *KindCost;
1716 if (LT.first != 1) {
1717 MVT LegalVT = LT.second;
1728 InstructionCost NumOfDests = LT.first;
1804 if (LT.first == 1 && IsInLaneShuffle && IsSingleElementMask)
1819 CostTableLookup(AVX512VBMIShuffleTbl, Kind, LT.second))
1821 return LT.first * *KindCost;
1855 CostTableLookup(AVX512BWShuffleTbl, Kind, LT.second))
1857 return LT.first * *KindCost;
1934 if (const auto *Entry = CostTableLookup(AVX512ShuffleTbl, Kind, LT.second))
1936 return LT.first * *KindCost;
1954 CostTableLookup(AVX2InLaneShuffleTbl, Kind, LT.second))
1956 return LT.first * *KindCost;
2003 if (const auto *Entry = CostTableLookup(AVX2ShuffleTbl, Kind, LT.second))
2005 return LT.first * *KindCost;
2027 if (const auto *Entry = CostTableLookup(XOPShuffleTbl, Kind, LT.second))
2029 return LT.first * *KindCost;
2058 CostTableLookup(AVX1InLaneShuffleTbl, Kind, LT.second))
2060 return LT.first * *KindCost;
2122 if (const auto *Entry = CostTableLookup(AVX1ShuffleTbl, Kind, LT.second))
2124 return LT.first * *KindCost;
2137 if (const auto *Entry = CostTableLookup(SSE41ShuffleTbl, Kind, LT.second))
2139 return LT.first * *KindCost;
2170 if (const auto *Entry = CostTableLookup(SSSE3ShuffleTbl, Kind, LT.second))
2172 return LT.first * *KindCost;
2231 CostTableLookup(SSE3BroadcastLoadTbl, Kind, LT.second)) {
2233 LT.second.getVectorElementCount()) &&
2235 return LT.first * Entry->Cost;
2238 if (const auto *Entry = CostTableLookup(SSE2ShuffleTbl, Kind, LT.second))
2240 return LT.first * *KindCost;
2253 if (LT.first == 1 && LT.second == MVT::v4f32 && Mask.size() == 4) {
2261 if (const auto *Entry = CostTableLookup(SSE1ShuffleTbl, Kind, LT.second))
2263 return LT.first * *KindCost;
3305 std::pair<InstructionCost, MVT> LT = getTypeLegalizationCost(ValTy);
3307 MVT MTy = LT.second;
3538 return LT.first * (ExtraCost + *KindCost);
3543 return LT.first * (ExtraCost + *KindCost);
3548 return LT.first * (ExtraCost + *KindCost);
3553 return LT.first * (ExtraCost + *KindCost);
3558 return LT.first * (ExtraCost + *KindCost);
3563 return LT.first * (ExtraCost + *KindCost);
3568 return LT.first * (ExtraCost + *KindCost);
3573 return LT.first * (ExtraCost + *KindCost);
3578 return LT.first * (ExtraCost + *KindCost);
3583 return LT.first * (ExtraCost + *KindCost);
4571 std::pair<InstructionCost, MVT> LT,
4573 InstructionCost LegalizationCost = LT.first;
4574 MVT MTy = LT.second;
4602 std::pair<InstructionCost, MVT> LT = getTypeLegalizationCost(OpTy);
4603 MVT MTy = LT.second;
4617 return LT.first;
4622 return adjustTableCost(Entry->ISD, *KindCost, LT, ICA.getFlags());
4627 return adjustTableCost(Entry->ISD, *KindCost, LT, ICA.getFlags());
4632 return adjustTableCost(Entry->ISD, *KindCost, LT, ICA.getFlags());
4637 return adjustTableCost(Entry->ISD, *KindCost, LT, ICA.getFlags());
4642 return adjustTableCost(Entry->ISD, *KindCost, LT, ICA.getFlags());
4647 return adjustTableCost(Entry->ISD, *KindCost, LT, ICA.getFlags());
4652 return adjustTableCost(Entry->ISD, *KindCost, LT, ICA.getFlags());
4657 return adjustTableCost(Entry->ISD, *KindCost, LT, ICA.getFlags());
4662 return adjustTableCost(Entry->ISD, *KindCost, LT, ICA.getFlags());
4667 return adjustTableCost(Entry->ISD, *KindCost, LT, ICA.getFlags());
4672 return adjustTableCost(Entry->ISD, *KindCost, LT, ICA.getFlags());
4677 return adjustTableCost(Entry->ISD, *KindCost, LT, ICA.getFlags());
4682 return adjustTableCost(Entry->ISD, *KindCost, LT, ICA.getFlags());
4687 return adjustTableCost(Entry->ISD, *KindCost, LT, ICA.getFlags());
4692 return adjustTableCost(Entry->ISD, *KindCost, LT, ICA.getFlags());
4697 return adjustTableCost(Entry->ISD, *KindCost, LT, ICA.getFlags());
4702 return adjustTableCost(Entry->ISD, *KindCost, LT, ICA.getFlags());
4708 return adjustTableCost(Entry->ISD, *KindCost, LT, ICA.getFlags());
4712 return adjustTableCost(Entry->ISD, *KindCost, LT, ICA.getFlags());
4719 return adjustTableCost(Entry->ISD, *KindCost, LT, ICA.getFlags());
4723 return adjustTableCost(Entry->ISD, *KindCost, LT, ICA.getFlags());
4730 return adjustTableCost(Entry->ISD, *KindCost, LT, ICA.getFlags());
4734 return adjustTableCost(Entry->ISD, *KindCost, LT, ICA.getFlags());
4740 return adjustTableCost(Entry->ISD, *KindCost, LT, ICA.getFlags());
4744 return adjustTableCost(Entry->ISD, *KindCost, LT, ICA.getFlags());
4819 std::pair<InstructionCost, MVT> LT = getTypeLegalizationCost(Val);
4822 if (!LT.second.isVector())
4826 unsigned SizeInBits = LT.second.getSizeInBits();
4827 unsigned NumElts = LT.second.getVectorNumElements();
4843 MVT MScalarTy = LT.second.getScalarType();
4924 std::pair<InstructionCost, MVT> LT = getTypeLegalizationCost(Ty);
4925 MVT MScalarTy = LT.second.getScalarType();
4926 unsigned LegalVectorBitWidth = LT.second.getSizeInBits();
4934 const int NumLegalVectors = *LT.first.getValue();
4965 LT.second.getVectorNumElements() * NumLegalVectors;
5007 } else if (LT.second.isVector()) {
5018 unsigned NumElts = LT.second.getVectorNumElements();
5021 Cost += (std::min<unsigned>(NumElts, Pow2Elts) - 1) * LT.first;
5036 if (LT.second.isVector()) {
5038 LT.second.getVectorNumElements() * NumLegalVectors;
5213 std::pair<InstructionCost, MVT> LT = getTypeLegalizationCost(Src);
5226 if (!VTy || !LT.second.isVector()) {
5228 return (LT.second.isFloatingPoint() ? Cost : 0) + LT.first * 1;
5245 const int MaxLegalOpSizeBytes = divideCeil(LT.second.getSizeInBits(), 8);
5317 bool Is0thSubVec = (NumEltDone() % LT.second.getVectorNumElements()) == 0;
5391 std::pair<InstructionCost, MVT> LT = getTypeLegalizationCost(SrcVTy);
5394 MVT Ty = LT.second;
5397 return Cost + LT.first;
5400 LT.second.getVectorNumElements() == NumElem)
5407 else if (LT.first * Ty.getVectorNumElements() > NumElem) {
5417 return Cost + LT.first * (IsLoad ? 2 : 8);
5420 return Cost + LT.first;
5535 std::pair<InstructionCost, MVT> LT = getTypeLegalizationCost(ValTy);
5537 MVT MTy = LT.second;
5552 if (LT.first != 1 && MTy.isVector() &&
5554 // Type needs to be split. We need LT.first - 1 arithmetic ops.
5558 ArithmeticCost *= LT.first - 1;
5622 if (LT.first != 1 && MTy.isVector() &&
5624 // Type needs to be split. We need LT.first - 1 arithmetic ops.
5628 ArithmeticCost *= LT.first - 1;
5658 if (LT.first != 1 && MTy.isVector() &&
5660 // Type needs to be split. We need LT.first - 1 arithmetic ops.
5664 ReductionCost *= LT.first - 1;
5732 std::pair<InstructionCost, MVT> LT = getTypeLegalizationCost(ValTy);
5734 MVT MTy = LT.second;
5816 if (LT.first != 1 && MTy.isVector() &&
5818 // Type needs to be split. We need LT.first - 1 operations ops.
5822 MinMaxCost *= LT.first - 1;