Home | History | Annotate | Download | only in X86

Lines Matching refs:Ld

2792   } else if (LoadSDNode *Ld = dyn_cast<LoadSDNode>(Arg)) {
2800 SDValue Ptr = Ld->getBasePtr();
4289 static bool isScalarLoadToVector(SDNode *N, LoadSDNode **LD = NULL) {
4295 if (LD)
4296 *LD = cast<LoadSDNode>(N);
4983 if (LoadSDNode *LD = dyn_cast<LoadSDNode>(SrcOp)) {
4984 SDValue Ptr = LD->getBasePtr();
4985 if (!ISD::isNormalLoad(LD) || LD->isVolatile())
4987 EVT PVT = LD->getValueType(0);
5008 SDValue Chain = LD->getChain();
5038 LD->getPointerInfo().getWithOffset(StartOffset),
5087 LoadSDNode *LD = cast<LoadSDNode>(Elt);
5088 if (!DAG.isConsecutiveLoad(LD, LDBase, EltVT.getSizeInBits()/8, i))
5152 SDValue Ld;
5165 Ld = Op.getOperand(0);
5166 ConstSplatVal = (Ld.getOpcode() == ISD::Constant ||
5167 Ld.getOpcode() == ISD::ConstantFP);
5172 if (!ConstSplatVal && !Ld->hasNUsesOfValue(VT.getVectorNumElements(), 0))
5198 Ld = Sc.getOperand(0);
5199 ConstSplatVal = (Ld.getOpcode() == ISD::Constant ||
5200 Ld.getOpcode() == ISD::ConstantFP);
5205 if (!ConstSplatVal && (!Sc.hasOneUse() || !Ld.hasOneUse()))
5217 EVT CVT = Ld.getValueType();
5223 if (ConstantSDNode *CI = dyn_cast<ConstantSDNode>(Ld))
5225 else if (ConstantFPSDNode *CF = dyn_cast<ConstantFPSDNode>(Ld))
5232 Ld = DAG.getLoad(CVT, dl, DAG.getEntryNode(), CP,
5236 return DAG.getNode(X86ISD::VBROADCAST, dl, VT, Ld);
5240 bool IsLoad = ISD::isNormalLoad(Ld.getNode());
5241 unsigned ScalarSize = Ld.getValueType().getSizeInBits();
5246 return DAG.getNode(X86ISD::VBROADCAST, dl, VT, Ld);
5253 return DAG.getNode(X86ISD::VBROADCAST, dl, VT, Ld);
5257 if (Subtarget->hasInt256() && Ld.getValueType().isInteger()) {
5259 return DAG.getNode(X86ISD::VBROADCAST, dl, VT, Ld);
5612 SDValue LD = EltsFromConsecutiveLoads(VT, V, dl, DAG);
5613 if (LD.getNode())
5614 return LD;
6232 LoadSDNode *LD = NULL;
6233 if (!isScalarLoadToVector(SrcOp.getNode(), &LD))
6234 LD = dyn_cast<LoadSDNode>(SrcOp);
6235 if (!LD) {
14818 if (LoadSDNode *Ld = dyn_cast<LoadSDNode>(V1.getOperand(0))) {
14819 if (Ld->hasNUsesOfValue(1, 0)) {
14821 SDValue Ops[] = { Ld->getChain(), Ld->getBasePtr() };
14824 Ld->getMemoryVT(),
14825 Ld->getPointerInfo(),
14826 Ld->getAlignment(),
14830 // Make sure the newly-created LOAD is in the same position as Ld in
14831 // terms of dependency. We create a TokenFactor for Ld and ResNode,
14832 // and update uses of Ld's output chain to use the TokenFactor.
14833 if (Ld->hasAnyUseOfValue(1)) {
14835 SDValue(Ld, 1), SDValue(ResNode.getNode(), 1));
14836 DAG.ReplaceAllUsesOfValueWith(SDValue(Ld, 1), NewChain);
14837 DAG.UpdateNodeOperands(NewChain.getNode(), SDValue(Ld, 1),
16524 LoadSDNode *Ld = cast<LoadSDNode>(N);
16525 EVT RegVT = Ld->getValueType(0);
16526 EVT MemVT = Ld->getMemoryVT();
16527 DebugLoc dl = Ld->getDebugLoc();
16531 ISD::LoadExtType Ext = Ld->getExtensionType();
16532 unsigned Alignment = Ld->getAlignment();
16542 SDValue Ptr = Ld->getBasePtr();
16547 SDValue Load1 = DAG.getLoad(HalfVT, dl, Ld->getChain(), Ptr,
16548 Ld->getPointerInfo(), Ld->isVolatile(),
16549 Ld->isNonTemporal(), Ld->isInvariant(),
16552 SDValue Load2 = DAG.getLoad(HalfVT, dl, Ld->getChain(), Ptr,
16553 Ld->getPointerInfo(), Ld->isVolatile(),
16554 Ld->isNonTemporal(), Ld->isInvariant(),
16634 SDValue Ptr = Ld->getBasePtr();
16641 SDValue ScalarLoad = DAG.getLoad(SclrLoadTy, dl, Ld->getChain(),
16642 Ptr, Ld->getPointerInfo(),
16643 Ld->isVolatile(), Ld->isNonTemporal(),
16644 Ld->isInvariant(), Ld->getAlignment());
16857 LoadSDNode *Ld = 0;
16865 Ld = cast<LoadSDNode>(St->getChain());
16871 Ld = cast<LoadSDNode>(St->getValue());
16877 if (!Ld || !ISD::isNormalLoad(Ld))
16883 if (!VT.isVector() && !Ld->hasNUsesOfValue(1, 0))
16886 DebugLoc LdDL = Ld->getDebugLoc();
16893 SDValue NewLd = DAG.getLoad(LdVT, LdDL, Ld->getChain(), Ld->getBasePtr(),
16894 Ld->getPointerInfo(), Ld->isVolatile(),
16895 Ld->isNonTemporal(), Ld->isInvariant(),
16896 Ld->getAlignment());
16910 SDValue LoAddr = Ld->getBasePtr();
16914 SDValue LoLd = DAG.getLoad(MVT::i32, LdDL, Ld->getChain(), LoAddr,
16915 Ld->getPointerInfo(),
16916 Ld->isVolatile(), Ld->isNonTemporal(),
16917 Ld->isInvariant(), Ld->getAlignment());
16918 SDValue HiLd = DAG.getLoad(MVT::i32, LdDL, Ld->getChain(), HiAddr,
16919 Ld->getPointerInfo().getWithOffset(4),
16920 Ld->isVolatile(), Ld->isNonTemporal(),
16921 Ld->isInvariant(),
16922 MinAlign(Ld->getAlignment(), 4));
17434 LoadSDNode *Ld = cast<LoadSDNode>(Op0.getNode());
17435 EVT VT = Ld->getValueType(0);
17436 if (!Ld->isVolatile() && !N->getValueType(0).isVector() &&
17440 SDValue FILDChain = XTLI->BuildFILD(SDValue(N, 0), Ld->getValueType(0),
17441 Ld->getChain(), Op0, DAG);
17682 LoadSDNode *LD = cast<LoadSDNode>(Op);
17685 if (LD->getExtensionType() == ISD::NON_EXTLOAD /*&&