Lines Matching defs:StoreNode
6889 StoreSDNode *StoreNode = cast<StoreSDNode>(Op);
6890 assert (StoreNode && "Can only custom lower store nodes");
6892 SDValue Value = StoreNode->getValue();
6895 EVT MemVT = StoreNode->getMemoryVT();
6903 unsigned AS = StoreNode->getAddressSpace();
6904 Align Alignment = StoreNode->getAlign();
6907 StoreNode->getMemOperand()->getFlags(),
6909 return scalarizeVectorStore(StoreNode, DAG);
6912 if (StoreNode->isTruncatingStore() && VT == MVT::v4i16 &&
6914 return LowerTruncateVectorStore(Dl, StoreNode, VT, MemVT, DAG);
6920 if (StoreNode->isNonTemporal() && MemVT.getSizeInBits() == 256u &&
6929 StoreNode->getValue(), DAG.getConstant(0, Dl, MVT::i64));
6933 StoreNode->getValue(),
6937 {StoreNode->getChain(), Lo, Hi, StoreNode->getBasePtr()},
6938 StoreNode->getMemoryVT(), StoreNode->getMemOperand());
6941 } else if (MemVT == MVT::i128 && StoreNode->isVolatile()) {
6944 SDValue Value = StoreNode->getValue();
6946 SDValue Chain = StoreNode->getChain();
6947 SDValue Base = StoreNode->getBasePtr();
6954 Chain = DAG.getStore(Chain, Dl, Part, Ptr, StoreNode->getPointerInfo(),
6955 StoreNode->getOriginalAlign());
6966 MemSDNode *StoreNode = cast<MemSDNode>(Op);
6967 assert(StoreNode->getMemoryVT() == MVT::i128);
6968 assert(StoreNode->isVolatile() || StoreNode->isAtomic());
6971 StoreNode->getMergedOrdering() == AtomicOrdering::Release;
6972 if (StoreNode->isAtomic())
6975 StoreNode->getMergedOrdering() == AtomicOrdering::Unordered ||
6976 StoreNode->getMergedOrdering() == AtomicOrdering::Monotonic);
6978 SDValue Value = (StoreNode->getOpcode() == ISD::STORE ||
6979 StoreNode->getOpcode() == ISD::ATOMIC_STORE)
6980 ? StoreNode->getOperand(1)
6981 : StoreNode->getOperand(2);
6989 {StoreNode->getChain(), StoreValue.first, StoreValue.second,
6990 StoreNode->getBasePtr()},
6991 StoreNode->getMemoryVT(), StoreNode->getMemOperand());