Lines Matching defs:MemVT
6657 EVT MemVT = MGT->getMemoryVT();
6666 DAG.getMaskedGather(MGT->getVTList(), MemVT, DL, Ops,
6675 // SVE supports an index scaled by sizeof(MemVT.elt) only, everything else
6678 if (IsScaled && ScaleVal != MemVT.getScalarStoreSize()) {
6686 return DAG.getMaskedGather(MGT->getVTList(), MemVT, DL, Ops,
6697 MemVT = MemVT.changeVectorElementTypeToInteger();
6719 MemVT = ContainerVT.changeVectorElementType(MemVT.getVectorElementType());
6728 DAG.getMaskedGather(DAG.getVTList(ContainerVT, MVT::Other), MemVT, DL,
6756 EVT MemVT = MSC->getMemoryVT();
6763 // SVE supports an index scaled by sizeof(MemVT.elt) only, everything else
6766 if (IsScaled && ScaleVal != MemVT.getScalarStoreSize()) {
6774 return DAG.getMaskedScatter(MSC->getVTList(), MemVT, DL, Ops,
6786 MemVT = MemVT.changeVectorElementTypeToInteger();
6810 MemVT = ContainerVT.changeVectorElementType(MemVT.getVectorElementType());
6817 return DAG.getMaskedScatter(MSC->getVTList(), MemVT, DL, Ops,
6853 EVT VT, EVT MemVT,
6856 assert(MemVT == MVT::v4i8 && VT == MVT::v4i16);
6895 EVT MemVT = StoreNode->getMemoryVT();
6905 if (Alignment < MemVT.getStoreSize() &&
6906 !allowsMisalignedMemoryAccesses(MemVT, AS, Alignment,
6913 MemVT == MVT::v4i8) {
6914 return LowerTruncateVectorStore(Dl, StoreNode, VT, MemVT, DAG);
6919 ElementCount EC = MemVT.getVectorElementCount();
6920 if (StoreNode->isNonTemporal() && MemVT.getSizeInBits() == 256u &&
6922 (MemVT.getScalarSizeInBits() == 8u ||
6923 MemVT.getScalarSizeInBits() == 16u ||
6924 MemVT.getScalarSizeInBits() == 32u ||
6925 MemVT.getScalarSizeInBits() == 64u)) {
6928 MemVT.getHalfNumVectorElementsVT(*DAG.getContext()),
6932 MemVT.getHalfNumVectorElementsVT(*DAG.getContext()),
6941 } else if (MemVT == MVT::i128 && StoreNode->isVolatile()) {
6943 } else if (MemVT == MVT::i64x8) {
8033 // For NON_EXTLOAD, generic code in getLoad assert(ValVT == MemVT)
8035 MVT MemVT = VA.getValVT();
8042 MemVT = VA.getLocVT();
8048 MemVT = VA.getLocVT();
8062 MemVT);
19377 static bool isConstantSplatVectorMaskForType(SDNode *N, EVT MemVT) {
19378 if (!MemVT.getVectorElementType().isSimple())
19382 switch (MemVT.getVectorElementType().getSimpleVT().SimpleTy) {
19490 EVT MemVT;
19498 MemVT = cast<VTSDNode>(Src->getOperand(3))->getVT();
19515 MemVT = cast<VTSDNode>(Src->getOperand(4))->getVT();
19521 if (isConstantSplatVectorMaskForType(Mask.getNode(), MemVT))
23373 EVT MemVT = LoadSDN->getMemoryVT();
23375 if (MemVT != VT.getVectorElementType())
23439 MemVT,
23512 EVT MemVT = LD->getMemoryVT();
23513 if (MemVT != EVT::getVectorVT(*DAG.getContext(), MVT::i8, 3) ||
23542 SDValue Extract = DAG.getNode(ISD::EXTRACT_SUBVECTOR, DL, MemVT, Cast,
23570 EVT MemVT = LD->getMemoryVT();
23571 if (MemVT.isScalableVector() || MemVT.getSizeInBits() <= 256 ||
23572 MemVT.getSizeInBits() % 256 == 0 ||
23573 256 % MemVT.getScalarSizeInBits() != 0)
23586 MVT::getVectorVT(MemVT.getVectorElementType().getSimpleVT(),
23587 256 / MemVT.getVectorElementType().getSizeInBits());
23588 unsigned Num256Loads = MemVT.getSizeInBits() / 256;
23606 unsigned BitsRemaining = MemVT.getSizeInBits() % 256;
23607 unsigned PtrOffset = (MemVT.getSizeInBits() - BitsRemaining) / 8;
23609 MemVT.getVectorElementType().getSimpleVT(),
23610 BitsRemaining / MemVT.getVectorElementType().getSizeInBits());
23626 EVT::getVectorVT(*DAG.getContext(), MemVT.getScalarType(),
23632 DAG.getNode(ISD::EXTRACT_SUBVECTOR, DL, MemVT,
23751 EVT MemVT = Store->getMemoryVT();
23753 if (!MemVT.isVector() || !VT.isVector() ||
23754 MemVT.getVectorElementType() != MVT::i1)
23762 VecOp = DAG.getNode(ISD::TRUNCATE, DL, MemVT, VecOp);
23768 EVT::getIntegerVT(*DAG.getContext(), MemVT.getStoreSizeInBits());
23928 EVT MemVT = MST->getMemoryVT();
23929 if (!isHalvingTruncateOfLegalScalableType(ValueVT, MemVT))
27400 EVT MemVT = LoadNode->getMemoryVT();
27404 MemVT.getSizeInBits() == 256u &&
27405 (MemVT.getScalarSizeInBits() == 8u ||
27406 MemVT.getScalarSizeInBits() == 16u ||
27407 MemVT.getScalarSizeInBits() == 32u ||
27408 MemVT.getScalarSizeInBits() == 64u)) {
27412 DAG.getVTList({MemVT.getHalfNumVectorElementsVT(*DAG.getContext()),
27413 MemVT.getHalfNumVectorElementsVT(*DAG.getContext()),
27418 SDValue Pair = DAG.getNode(ISD::CONCAT_VECTORS, SDLoc(N), MemVT,
28108 bool AArch64TargetLowering::canMergeStoresTo(unsigned AddressSpace, EVT MemVT,
28114 if (MemVT.isFixedLengthVector() && !Subtarget->isNeonAvailable())
28120 return !NoFloat || MemVT.getSizeInBits() <= 64;
28444 EVT MemVT = Load->getMemoryVT();
28450 MemVT = MemVT.changeTypeToInteger();
28455 DAG.getUNDEF(LoadVT), MemVT, Load->getMemOperand(),
28552 EVT MemVT = Store->getMemoryVT();
28560 MemVT = MemVT.changeTypeToInteger();
28567 MemVT = MemVT.changeTypeToInteger();
28573 Store->getBasePtr(), Store->getOffset(), Pg, MemVT,
29210 EVT MemVT = EVT::getVectorVT(Ctx, HG->getMemoryVT(), EC);
29214 bool ExtTrunc = IncSplatVT != MemVT;
29229 DAG.getVTList(IncSplatVT, MVT::Other), MemVT, DL, Ops, GMMO, IndexType,
29248 SDValue Scatter = DAG.getMaskedScatter(DAG.getVTList(MVT::Other), MemVT, DL,