Home | History | Annotate | Download | only in X86

Lines Matching defs:Ld

2989   } else if (LoadSDNode *Ld = dyn_cast<LoadSDNode>(Arg)) {
2997 SDValue Ptr = Ld->getBasePtr();
4526 static bool isScalarLoadToVector(SDNode *N, LoadSDNode **LD = NULL) {
4532 if (LD)
4533 *LD = cast<LoadSDNode>(N);
5233 if (LoadSDNode *LD = dyn_cast<LoadSDNode>(SrcOp)) {
5234 SDValue Ptr = LD->getBasePtr();
5235 if (!ISD::isNormalLoad(LD) || LD->isVolatile())
5237 EVT PVT = LD->getValueType(0);
5258 SDValue Chain = LD->getChain();
5288 LD->getPointerInfo().getWithOffset(StartOffset),
5334 LoadSDNode *LD = cast<LoadSDNode>(Elt);
5335 if (!DAG.isConsecutiveLoad(LD, LDBase, EltVT.getSizeInBits()/8, i))
5412 SDValue Ld;
5425 Ld = Op.getOperand(0);
5426 ConstSplatVal = (Ld.getOpcode() == ISD::Constant ||
5427 Ld.getOpcode() == ISD::ConstantFP);
5432 if (!ConstSplatVal && !Ld->hasNUsesOfValue(VT.getVectorNumElements(), 0))
5458 Ld = Sc.getOperand(0);
5459 ConstSplatVal = (Ld.getOpcode() == ISD::Constant ||
5460 Ld.getOpcode() == ISD::ConstantFP);
5468 Ld.getValueType().getSizeInBits() >= 32;
5469 if (!ConstSplatVal && ((!Sc.hasOneUse() || !Ld.hasOneUse()) &&
5482 EVT CVT = Ld.getValueType();
5488 if (ConstantSDNode *CI = dyn_cast<ConstantSDNode>(Ld))
5490 else if (ConstantFPSDNode *CF = dyn_cast<ConstantFPSDNode>(Ld))
5497 Ld = DAG.getLoad(CVT, dl, DAG.getEntryNode(), CP,
5501 return DAG.getNode(X86ISD::VBROADCAST, dl, VT, Ld);
5505 bool IsLoad = ISD::isNormalLoad(Ld.getNode());
5506 unsigned ScalarSize = Ld.getValueType().getSizeInBits();
5511 return DAG.getNode(X86ISD::VBROADCAST, dl, VT, Ld);
5518 return DAG.getNode(X86ISD::VBROADCAST, dl, VT, Ld);
5522 if (Subtarget->hasInt256() && Ld.getValueType().isInteger()) {
5524 return DAG.getNode(X86ISD::VBROADCAST, dl, VT, Ld);
5983 SDValue LD = EltsFromConsecutiveLoads(VT, V, dl, DAG);
5984 if (LD.getNode())
5985 return LD;
6606 LoadSDNode *LD = NULL;
6607 if (!isScalarLoadToVector(SrcOp.getNode(), &LD))
6608 LD = dyn_cast<LoadSDNode>(SrcOp);
6609 if (!LD) {
15561 if (LoadSDNode *Ld = dyn_cast<LoadSDNode>(V1.getOperand(0))) {
15562 if (Ld->hasNUsesOfValue(1, 0)) {
15564 SDValue Ops[] = { Ld->getChain(), Ld->getBasePtr() };
15568 Ld->getMemoryVT(),
15569 Ld->getPointerInfo(),
15570 Ld->getAlignment(),
15574 // Make sure the newly-created LOAD is in the same position as Ld in
15575 // terms of dependency. We create a TokenFactor for Ld and ResNode,
15576 // and update uses of Ld's output chain to use the TokenFactor.
15577 if (Ld->hasAnyUseOfValue(1)) {
15579 SDValue(Ld, 1), SDValue(ResNode.getNode(), 1));
15580 DAG.ReplaceAllUsesOfValueWith(SDValue(Ld, 1), NewChain);
15581 DAG.UpdateNodeOperands(NewChain.getNode(), SDValue(Ld, 1),
17280 LoadSDNode *Ld = cast<LoadSDNode>(N);
17281 EVT RegVT = Ld->getValueType(0);
17282 EVT MemVT = Ld->getMemoryVT();
17283 SDLoc dl(Ld);
17288 ISD::LoadExtType Ext = Ld->getExtensionType();
17289 unsigned Alignment = Ld->getAlignment();
17297 SDValue Ptr = Ld->getBasePtr();
17302 SDValue Load1 = DAG.getLoad(HalfVT, dl, Ld->getChain(), Ptr,
17303 Ld->getPointerInfo(), Ld->isVolatile(),
17304 Ld->isNonTemporal(), Ld->isInvariant(),
17307 SDValue Load2 = DAG.getLoad(HalfVT, dl, Ld->getChain(), Ptr,
17308 Ld->getPointerInfo(), Ld->isVolatile(),
17309 Ld->isNonTemporal(), Ld->isInvariant(),
17389 SDValue Ptr = Ld->getBasePtr();
17396 SDValue ScalarLoad = DAG.getLoad(SclrLoadTy, dl, Ld->getChain(),
17397 Ptr, Ld->getPointerInfo(),
17398 Ld->isVolatile(), Ld->isNonTemporal(),
17399 Ld->isInvariant(), Ld->getAlignment());
17612 LoadSDNode *Ld = 0;
17620 Ld = cast<LoadSDNode>(St->getChain());
17626 Ld = cast<LoadSDNode>(St->getValue());
17632 if (!Ld || !ISD::isNormalLoad(Ld))
17638 if (!VT.isVector() && !Ld->hasNUsesOfValue(1, 0))
17641 SDLoc LdDL(Ld);
17648 SDValue NewLd = DAG.getLoad(LdVT, LdDL, Ld->getChain(), Ld->getBasePtr(),
17649 Ld->getPointerInfo(), Ld->isVolatile(),
17650 Ld->isNonTemporal(), Ld->isInvariant(),
17651 Ld->getAlignment());
17665 SDValue LoAddr = Ld->getBasePtr();
17669 SDValue LoLd = DAG.getLoad(MVT::i32, LdDL, Ld->getChain(), LoAddr,
17670 Ld->getPointerInfo(),
17671 Ld->isVolatile(), Ld->isNonTemporal(),
17672 Ld->isInvariant(), Ld->getAlignment());
17673 SDValue HiLd = DAG.getLoad(MVT::i32, LdDL, Ld->getChain(), HiAddr,
17674 Ld->getPointerInfo().getWithOffset(4),
17675 Ld->isVolatile(), Ld->isNonTemporal(),
17676 Ld->isInvariant(),
17677 MinAlign(Ld->getAlignment(), 4));
18203 LoadSDNode *Ld = cast<LoadSDNode>(Op0.getNode());
18204 EVT VT = Ld->getValueType(0);
18205 if (!Ld->isVolatile() && !N->getValueType(0).isVector() &&
18209 SDValue FILDChain = XTLI->BuildFILD(SDValue(N, 0), Ld->getValueType(0),
18210 Ld->getChain(), Op0, DAG);
18452 LoadSDNode *LD = cast<LoadSDNode>(Op);
18455 if (LD->getExtensionType() == ISD::NON_EXTLOAD /*&&