Lines Matching defs:StoreNode
3356 StoreSDNode *StoreNode = cast<StoreSDNode>(Op);
3357 assert (StoreNode && "Can only custom lower store nodes");
3359 SDValue Value = StoreNode->getValue();
3362 EVT MemVT = StoreNode->getMemoryVT();
3368 unsigned AS = StoreNode->getAddressSpace();
3369 Align Alignment = StoreNode->getAlign();
3372 StoreNode->getMemOperand()->getFlags(),
3374 return scalarizeVectorStore(StoreNode, DAG);
3377 if (StoreNode->isTruncatingStore()) {
3378 return LowerTruncateVectorStore(Dl, StoreNode, VT, MemVT, DAG);
3383 if (StoreNode->isNonTemporal() && MemVT.getSizeInBits() == 256u &&
3392 StoreNode->getValue(), DAG.getConstant(0, Dl, MVT::i64));
3396 StoreNode->getValue(),
3400 {StoreNode->getChain(), Lo, Hi, StoreNode->getBasePtr()},
3401 StoreNode->getMemoryVT(), StoreNode->getMemOperand());
3404 } else if (MemVT == MVT::i128 && StoreNode->isVolatile()) {
3405 assert(StoreNode->getValue()->getValueType(0) == MVT::i128);
3407 DAG.getNode(ISD::EXTRACT_ELEMENT, Dl, MVT::i64, StoreNode->getValue(),
3410 DAG.getNode(ISD::EXTRACT_ELEMENT, Dl, MVT::i64, StoreNode->getValue(),
3414 {StoreNode->getChain(), Lo, Hi, StoreNode->getBasePtr()},
3415 StoreNode->getMemoryVT(), StoreNode->getMemOperand());