Lines Matching defs:Query

142           [=](const LegalityQuery &Query) {
143 return Query.Types[0].getNumElements() <= 2;
147 [=](const LegalityQuery &Query) {
148 return Query.Types[0].getNumElements() <= 4;
152 [=](const LegalityQuery &Query) {
153 return Query.Types[0].getNumElements() <= 16;
168 [=](const LegalityQuery &Query) {
169 return Query.Types[0].getNumElements() <= 2;
173 [=](const LegalityQuery &Query) {
174 return Query.Types[0].getNumElements() <= 4;
178 [=](const LegalityQuery &Query) {
179 return Query.Types[0].getNumElements() <= 16;
186 .customIf([=](const LegalityQuery &Query) {
187 const auto &SrcTy = Query.Types[0];
188 const auto &AmtTy = Query.Types[1];
363 auto IsPtrVecPred = [=](const LegalityQuery &Query) {
364 const LLT &ValTy = Query.Types[0];
369 .customIf([=](const LegalityQuery &Query) {
370 return HasRCPC3 && Query.Types[0] == s128 &&
371 Query.MMODescrs[0].Ordering == AtomicOrdering::Acquire;
373 .customIf([=](const LegalityQuery &Query) {
374 return Query.Types[0] == s128 &&
375 Query.MMODescrs[0].Ordering != AtomicOrdering::NotAtomic;
409 [=](const LegalityQuery &Query) {
411 return Query.Types[0].isScalar() &&
412 Query.Types[0] != Query.MMODescrs[0].MemoryTy &&
413 Query.Types[0].getSizeInBits() > 32;
418 [=](const LegalityQuery &Query) {
419 const LLT VecTy = Query.Types[0];
427 .customIf([=](const LegalityQuery &Query) {
428 return HasRCPC3 && Query.Types[0] == s128 &&
429 Query.MMODescrs[0].Ordering == AtomicOrdering::Release;
431 .customIf([=](const LegalityQuery &Query) {
432 return Query.Types[0] == s128 &&
433 Query.MMODescrs[0].Ordering != AtomicOrdering::NotAtomic;
458 .lowerIf([=](const LegalityQuery &Query) {
459 return Query.Types[0].isScalar() &&
460 Query.Types[0] != Query.MMODescrs[0].MemoryTy;
471 LegalityPredicate([=](const LegalityQuery &Query) {
472 return Query.Types[0].getSizeInBits() ==
473 Query.MMODescrs[0].MemoryTy.getSizeInBits();
475 [=](const LegalityQuery &Query) {
476 const LLT VecTy = Query.Types[0];
508 auto IndexedLoadBasicPred = [=](const LegalityQuery &Query) {
509 LLT LdTy = Query.Types[0];
510 LLT PtrTy = Query.Types[1];
561 [=](const LegalityQuery &Query) {
562 const LLT &Ty = Query.Types[0];
563 const LLT &SrcTy = Query.Types[1];
569 [=](const LegalityQuery &Query) { return Query.Types[1] == v2s16; },
572 [=](const LegalityQuery &Query) {
573 return Query.Types[1].isPointerVector();
596 [=](const LegalityQuery &Query) {
597 const LLT &Ty = Query.Types[0];
598 const LLT &SrcTy = Query.Types[1];
610 auto ExtLegalFunc = [=](const LegalityQuery &Query) {
611 unsigned DstSize = Query.Types[0].getSizeInBits();
614 if (Query.Types[0].isVector())
620 const LLT &SrcTy = Query.Types[1];
640 .lowerIf([=](const LegalityQuery &Query) {
641 return (Query.Types[0].getScalarSizeInBits() >
642 Query.Types[1].getScalarSizeInBits() * 2) &&
643 Query.Types[0].isVector() &&
644 (Query.Types[1].getScalarSizeInBits() == 8 ||
645 Query.Types[1].getScalarSizeInBits() == 16);
657 [=](const LegalityQuery &Query) { return Query.Types[0].isVector(); },
659 .lowerIf([=](const LegalityQuery &Query) {
660 LLT DstTy = Query.Types[0];
661 LLT SrcTy = Query.Types[1];
712 [=](const LegalityQuery &Query) {
713 return Query.Types[1] == s16 && Query.Types[0].getSizeInBits() > 64;
721 [=](const LegalityQuery &Query) {
722 return Query.Types[0].getScalarSizeInBits() <= 64 &&
723 Query.Types[0].getScalarSizeInBits() >
724 Query.Types[1].getScalarSizeInBits();
728 [=](const LegalityQuery &Query) {
729 return Query.Types[1].getScalarSizeInBits() <= 64 &&
730 Query.Types[0].getScalarSizeInBits() <
731 Query.Types[1].getScalarSizeInBits();
756 [=](const LegalityQuery &Query) {
757 return Query.Types[1] == s16 && Query.Types[0].getSizeInBits() > 64;
766 [=](const LegalityQuery &Query) {
767 unsigned ITySize = Query.Types[0].getScalarSizeInBits();
769 ITySize > Query.Types[1].getScalarSizeInBits();
773 [=](const LegalityQuery &Query) {
774 unsigned FTySize = Query.Types[1].getScalarSizeInBits();
776 Query.Types[0].getScalarSizeInBits() < FTySize;
801 [=](const LegalityQuery &Query) {
802 return Query.Types[1].getScalarSizeInBits() <= 64 &&
803 Query.Types[0].getScalarSizeInBits() <
804 Query.Types[1].getScalarSizeInBits();
808 [=](const LegalityQuery &Query) {
809 return Query.Types[0].getScalarSizeInBits() <= 64 &&
810 Query.Types[0].getScalarSizeInBits() >
811 Query.Types[1].getScalarSizeInBits();
857 .unsupportedIf([&](const LegalityQuery &Query) {
858 return Query.Types[0].getSizeInBits() != Query.Types[1].getSizeInBits();
870 .customIf([=](const LegalityQuery &Query) {
872 LLT DstTy = Query.Types[0];
873 LLT SrcTy = Query.Types[1];
877 .lowerIf([=](const LegalityQuery &Query) {
878 return Query.Types[0].isVector() != Query.Types[1].isVector();
961 .unsupportedIf([=](const LegalityQuery &Query) {
962 const LLT &EltTy = Query.Types[1].getElementType();
963 if (Query.Types[1].isScalableVector())
965 return Query.Types[0] != EltTy;
968 .customIf([=](const LegalityQuery &Query) {
969 const LLT &VecTy = Query.Types[1];
975 [=](const LegalityQuery &Query) {
978 return Query.Types[1].isFixedVector() &&
979 Query.Types[1].getNumElements() <= 2;
983 [=](const LegalityQuery &Query) {
984 return Query.Types[1].isFixedVector() &&
985 Query.Types[1].getNumElements() <= 4;
989 [=](const LegalityQuery &Query) {
990 return Query.Types[1].isFixedVector() &&
991 Query.Types[1].getNumElements() <= 8;
995 [=](const LegalityQuery &Query) {
996 return Query.Types[1].isFixedVector() &&
997 Query.Types[1].getNumElements() <= 16;
1068 .legalIf([=](const LegalityQuery &Query) {
1069 const LLT &DstTy = Query.Types[0];
1070 const LLT &SrcTy = Query.Types[1];
1081 .lowerIf([=](const LegalityQuery &Query) {
1082 return !Query.Types[0].isVector() || !Query.Types[1].isVector();
1085 [](const LegalityQuery &Query) {
1086 return Query.Types[0].isVector() && Query.Types[1].isVector() &&
1087 Query.Types[0].getNumElements() >
1088 Query.Types[1].getNumElements();
1093 [](const LegalityQuery &Query) {
1094 return Query.Types[0].isVector() && Query.Types[1].isVector() &&
1095 Query.Types[0].getNumElements() <
1096 Query.Types[1].getNumElements();
1105 .bitcastIf(isPointerVector(0), [=](const LegalityQuery &Query) {
1107 const LLT DstTy = Query.Types[0];
1114 [=](const LegalityQuery &Query) {
1115 return Query.Types[0].getSizeInBits() <= 128 &&
1116 Query.Types[1].getSizeInBits() <= 64;
1118 [=](const LegalityQuery &Query) {
1119 const LLT DstTy = Query.Types[0];
1120 const LLT SrcTy = Query.Types[1];
1169 [=](const LegalityQuery &Query) { return Query.Types[0] == v4s8; },
1170 [=](const LegalityQuery &Query) { return std::make_pair(0, v4s16); })
1172 [=](const LegalityQuery &Query) { return Query.Types[0] == v2s16; },
1173 [=](const LegalityQuery &Query) { return std::make_pair(0, v2s32); })
1250 [=](const LegalityQuery &Query) {
1251 return Query.Types[1].isVector() &&
1252 Query.Types[1].getElementType() != s8 &&
1253 Query.Types[1].getNumElements() & 1;
1338 [](const LegalityQuery &Query) { return Query.Types[0].isScalar(); },
1339 [=](const LegalityQuery &Query) {
1340 const LLT Ty = Query.Types[0];