Home | History | Annotate | Download | only in X86

Lines Matching defs:Ld

3112   } else if (LoadSDNode *Ld = dyn_cast<LoadSDNode>(Arg)) {
3120 SDValue Ptr = Ld->getBasePtr();
4797 static bool isScalarLoadToVector(SDNode *N, LoadSDNode **LD = nullptr) {
4803 if (LD)
4804 *LD = cast<LoadSDNode>(N);
5572 if (LoadSDNode *LD = dyn_cast<LoadSDNode>(SrcOp)) {
5573 SDValue Ptr = LD->getBasePtr();
5574 if (!ISD::isNormalLoad(LD) || LD->isVolatile())
5576 EVT PVT = LD->getValueType(0);
5597 SDValue Chain = LD->getChain();
5627 LD->getPointerInfo().getWithOffset(StartOffset),
5677 LoadSDNode *LD = cast<LoadSDNode>(Elt);
5678 if (!DAG.isConsecutiveLoad(LD, LDBase, EltVT.getSizeInBits()/8, i))
5760 SDValue Ld;
5778 Ld = Splat;
5779 ConstSplatVal = (Ld.getOpcode() == ISD::Constant ||
5780 Ld.getOpcode() == ISD::ConstantFP);
5784 if (!ConstSplatVal && !BVOp->isOnlyUserOf(Ld.getNode()))
5810 Ld = Sc.getOperand(0);
5811 ConstSplatVal = (Ld.getOpcode() == ISD::Constant ||
5812 Ld.getOpcode() == ISD::ConstantFP);
5820 Ld.getValueType().getSizeInBits() >= 32;
5821 if (!ConstSplatVal && ((!Sc.hasOneUse() || !Ld.hasOneUse()) &&
5834 EVT CVT = Ld.getValueType();
5840 if (ConstantSDNode *CI = dyn_cast<ConstantSDNode>(Ld))
5842 else if (ConstantFPSDNode *CF = dyn_cast<ConstantFPSDNode>(Ld))
5850 Ld = DAG.getLoad(CVT, dl, DAG.getEntryNode(), CP,
5854 return DAG.getNode(X86ISD::VBROADCAST, dl, VT, Ld);
5858 bool IsLoad = ISD::isNormalLoad(Ld.getNode());
5859 unsigned ScalarSize = Ld.getValueType().getSizeInBits();
5864 return DAG.getNode(X86ISD::VBROADCAST, dl, VT, Ld);
5871 return DAG.getNode(X86ISD::VBROADCAST, dl, VT, Ld);
5875 if (Subtarget->hasInt256() && Ld.getValueType().isInteger()) {
5877 return DAG.getNode(X86ISD::VBROADCAST, dl, VT, Ld);
6786 SDValue LD = EltsFromConsecutiveLoads(VT, V, dl, DAG, false);
6787 if (LD.getNode())
6788 return LD;
8614 LoadSDNode *LD = nullptr;
8615 if (!isScalarLoadToVector(SrcOp.getNode(), &LD))
8616 LD = dyn_cast<LoadSDNode>(SrcOp);
8617 if (!LD) {
11136 SDValue Ld = DAG.getLoad(Cst.getValueType(), DL, DAG.getEntryNode(), CP,
11140 SDValue Brcst = DAG.getNode(X86ISD::VBROADCASTM, DL, ExtVT, In, Ld);
11215 SDValue Ld = DAG.getLoad(Cst.getValueType(), DL, DAG.getEntryNode(), CP,
11218 SDValue OneV = DAG.getNode(X86ISD::VBROADCAST, DL, InVT, Ld);
12746 SDValue Ld = DAG.getLoad(ExtVT.getScalarType(), dl, DAG.getEntryNode(), CP,
12749 SDValue Brcst = DAG.getNode(X86ISD::VBROADCASTM, dl, ExtVT, In, Ld);
18368 if (LoadSDNode *Ld = dyn_cast<LoadSDNode>(V1.getOperand(0))) {
18369 if (Ld->hasNUsesOfValue(1, 0)) {
18371 SDValue Ops[] = { Ld->getChain(), Ld->getBasePtr() };
18374 Ld->getMemoryVT(),
18375 Ld->getPointerInfo(),
18376 Ld->getAlignment(),
18380 // Make sure the newly-created LOAD is in the same position as Ld in
18381 // terms of dependency. We create a TokenFactor for Ld and ResNode,
18382 // and update uses of Ld's output chain to use the TokenFactor.
18383 if (Ld->hasAnyUseOfValue(1)) {
18385 SDValue(Ld, 1), SDValue(ResNode.getNode(), 1));
18386 DAG.ReplaceAllUsesOfValueWith(SDValue(Ld, 1), NewChain);
18387 DAG.UpdateNodeOperands(NewChain.getNode(), SDValue(Ld, 1),
18874 SDValue LD = EltsFromConsecutiveLoads(VT, Elts, dl, DAG, true);
18875 if (LD.getNode())
18876 return LD;
20828 LoadSDNode *Ld = cast<LoadSDNode>(N);
20829 EVT RegVT = Ld->getValueType(0);
20830 EVT MemVT = Ld->getMemoryVT();
20831 SDLoc dl(Ld);
20836 ISD::LoadExtType Ext = Ld->getExtensionType();
20837 unsigned Alignment = Ld->getAlignment();
20845 SDValue Ptr = Ld->getBasePtr();
20850 SDValue Load1 = DAG.getLoad(HalfVT, dl, Ld->getChain(), Ptr,
20851 Ld->getPointerInfo(), Ld->isVolatile(),
20852 Ld->isNonTemporal(), Ld->isInvariant(),
20855 SDValue Load2 = DAG.getLoad(HalfVT, dl, Ld->getChain(), Ptr,
20856 Ld->getPointerInfo(), Ld->isVolatile(),
20857 Ld->isNonTemporal(), Ld->isInvariant(),
20937 SDValue Ptr = Ld->getBasePtr();
20944 SDValue ScalarLoad = DAG.getLoad(SclrLoadTy, dl, Ld->getChain(),
20945 Ptr, Ld->getPointerInfo(),
20946 Ld->isVolatile(), Ld->isNonTemporal(),
20947 Ld->isInvariant(), Ld->getAlignment());
21158 LoadSDNode *Ld = nullptr;
21166 Ld = cast<LoadSDNode>(St->getChain());
21172 Ld = cast<LoadSDNode>(St->getValue());
21178 if (!Ld || !ISD::isNormalLoad(Ld))
21184 if (!VT.isVector() && !Ld->hasNUsesOfValue(1, 0))
21187 SDLoc LdDL(Ld);
21194 SDValue NewLd = DAG.getLoad(LdVT, LdDL, Ld->getChain(), Ld->getBasePtr(),
21195 Ld->getPointerInfo(), Ld->isVolatile(),
21196 Ld->isNonTemporal(), Ld->isInvariant(),
21197 Ld->getAlignment());
21210 SDValue LoAddr = Ld->getBasePtr();
21214 SDValue LoLd = DAG.getLoad(MVT::i32, LdDL, Ld->getChain(), LoAddr,
21215 Ld->getPointerInfo(),
21216 Ld->isVolatile(), Ld->isNonTemporal(),
21217 Ld->isInvariant(), Ld->getAlignment());
21218 SDValue HiLd = DAG.getLoad(MVT::i32, LdDL, Ld->getChain(), HiAddr,
21219 Ld->getPointerInfo().getWithOffset(4),
21220 Ld->isVolatile(), Ld->isNonTemporal(),
21221 Ld->isInvariant(),
21222 MinAlign(Ld->getAlignment(), 4));
21704 SDValue Ld = N->getOperand(1);
21705 if (MayFoldLoad(Ld)) {
21712 Ld = NarrowVectorLoadToElement(cast<LoadSDNode>(Ld), DestIndex, DAG);
21717 SDValue LoadScalarToVector = DAG.getNode(ISD::SCALAR_TO_VECTOR, dl, VT, Ld);
21822 LoadSDNode *Ld = cast<LoadSDNode>(Op0.getNode());
21823 EVT VT = Ld->getValueType(0);
21824 if (!Ld->isVolatile() && !N->getValueType(0).isVector() &&
21828 SDValue FILDChain = XTLI->BuildFILD(SDValue(N, 0), Ld->getValueType(0),
21829 Ld->getChain(), Op0, DAG);
22077 LoadSDNode *LD = cast<LoadSDNode>(Op);
22080 if (LD->getExtensionType() == ISD::NON_EXTLOAD /*&&