reference, declaration → definition definition → references, declarations, derived classes, virtual overrides reference to multiple definitions → definitions unreferenced |
40492 EVT StVT = St->getMemoryVT(); 40493 SDLoc dl(St); 40494 unsigned Alignment = St->getAlignment(); 40495 SDValue StoredVal = St->getValue(); 40506 return DAG.getStore(St->getChain(), dl, StoredVal, St->getBasePtr(), 40506 return DAG.getStore(St->getChain(), dl, StoredVal, St->getBasePtr(), 40507 St->getPointerInfo(), St->getAlignment(), 40507 St->getPointerInfo(), St->getAlignment(), 40508 St->getMemOperand()->getFlags()); 40516 return DAG.getStore(St->getChain(), dl, StoredVal.getOperand(0), 40517 St->getBasePtr(), St->getPointerInfo(), 40517 St->getBasePtr(), St->getPointerInfo(), 40518 St->getAlignment(), St->getMemOperand()->getFlags()); 40518 St->getAlignment(), St->getMemOperand()->getFlags()); 40528 return DAG.getStore(St->getChain(), dl, StoredVal, St->getBasePtr(), 40528 return DAG.getStore(St->getChain(), dl, StoredVal, St->getBasePtr(), 40529 St->getPointerInfo(), St->getAlignment(), 40529 St->getPointerInfo(), St->getAlignment(), 40530 St->getMemOperand()->getFlags()); 40546 SDValue Ptr0 = St->getBasePtr(); 40550 DAG.getStore(St->getChain(), dl, Lo, Ptr0, St->getPointerInfo(), 40550 DAG.getStore(St->getChain(), dl, Lo, Ptr0, St->getPointerInfo(), 40551 Alignment, St->getMemOperand()->getFlags()); 40553 DAG.getStore(St->getChain(), dl, Hi, Ptr1, 40554 St->getPointerInfo().getWithOffset(4), 40556 St->getMemOperand()->getFlags()); 40561 return DAG.getStore(St->getChain(), dl, StoredVal, St->getBasePtr(), 40561 return DAG.getStore(St->getChain(), dl, StoredVal, St->getBasePtr(), 40562 St->getPointerInfo(), St->getAlignment(), 40562 St->getPointerInfo(), St->getAlignment(), 40563 St->getMemOperand()->getFlags()); 40571 *St->getMemOperand(), &Fast) && 40577 return splitVectorStore(St, DAG); 40581 if (St->isNonTemporal() && StVT == VT && Alignment < VT.getStoreSize()) { 40588 return splitVectorStore(St, DAG); 40597 return scalarizeVectorStore(St, NTVT, DAG); 40603 if (!St->isTruncatingStore() && VT == MVT::v16i8 && !Subtarget.hasBWI() && 40604 St->getValue().getOpcode() == ISD::TRUNCATE && 40605 St->getValue().getOperand(0).getValueType() == MVT::v16i16 && 40607 St->getValue().hasOneUse() && !DCI.isBeforeLegalizeOps()) { 40608 SDValue Ext = DAG.getNode(ISD::ANY_EXTEND, dl, MVT::v16i32, St->getValue()); 40609 return DAG.getTruncStore(St->getChain(), dl, Ext, St->getBasePtr(), 40609 return DAG.getTruncStore(St->getChain(), dl, Ext, St->getBasePtr(), 40610 MVT::v16i8, St->getMemOperand()); 40614 if (!St->isTruncatingStore() && StoredVal.hasOneUse() && 40619 return EmitTruncSStore(IsSigned, St->getChain(), 40620 dl, StoredVal.getOperand(0), St->getBasePtr(), 40621 VT, St->getMemOperand(), DAG); 40627 if (St->isTruncatingStore() && VT.isVector()) { 40631 if (DCI.isBeforeLegalize() || TLI.isTypeLegal(St->getMemoryVT())) 40632 if (SDValue Avg = detectAVGPattern(St->getValue(), St->getMemoryVT(), DAG, 40632 if (SDValue Avg = detectAVGPattern(St->getValue(), St->getMemoryVT(), DAG, 40634 return DAG.getStore(St->getChain(), dl, Avg, St->getBasePtr(), 40634 return DAG.getStore(St->getChain(), dl, Avg, St->getBasePtr(), 40635 St->getPointerInfo(), St->getAlignment(), 40635 St->getPointerInfo(), St->getAlignment(), 40636 St->getMemOperand()->getFlags()); 40639 if (SDValue Val = detectSSatPattern(St->getValue(), St->getMemoryVT())) 40639 if (SDValue Val = detectSSatPattern(St->getValue(), St->getMemoryVT())) 40640 return EmitTruncSStore(true /* Signed saturation */, St->getChain(), 40641 dl, Val, St->getBasePtr(), 40642 St->getMemoryVT(), St->getMemOperand(), DAG); 40642 St->getMemoryVT(), St->getMemOperand(), DAG); 40643 if (SDValue Val = detectUSatPattern(St->getValue(), St->getMemoryVT(), 40643 if (SDValue Val = detectUSatPattern(St->getValue(), St->getMemoryVT(), 40645 return EmitTruncSStore(false /* Unsigned saturation */, St->getChain(), 40646 dl, Val, St->getBasePtr(), 40647 St->getMemoryVT(), St->getMemOperand(), DAG); 40647 St->getMemoryVT(), St->getMemOperand(), DAG); 40667 isa<LoadSDNode>(St->getValue()) && 40668 cast<LoadSDNode>(St->getValue())->isSimple() && 40669 St->getChain().hasOneUse() && St->isSimple()) { 40669 St->getChain().hasOneUse() && St->isSimple()) { 40670 LoadSDNode *Ld = cast<LoadSDNode>(St->getValue().getNode()); 40694 return DAG.getStore(St->getChain(), StDL, NewLd, St->getBasePtr(), 40694 return DAG.getStore(St->getChain(), StDL, NewLd, St->getBasePtr(), 40695 St->getMemOperand()); 40713 LoAddr = St->getBasePtr(); 40717 DAG.getStore(St->getChain(), StDL, LoLd, LoAddr, St->getPointerInfo(), 40717 DAG.getStore(St->getChain(), StDL, LoLd, LoAddr, St->getPointerInfo(), 40718 St->getAlignment(), St->getMemOperand()->getFlags()); 40718 St->getAlignment(), St->getMemOperand()->getFlags()); 40719 SDValue HiSt = DAG.getStore(St->getChain(), StDL, HiLd, HiAddr, 40720 St->getPointerInfo().getWithOffset(4), 40721 MinAlign(St->getAlignment(), 4), 40722 St->getMemOperand()->getFlags()); 40733 St->getOperand(1).getOpcode() == ISD::EXTRACT_VECTOR_ELT) { 40734 SDValue OldExtract = St->getOperand(1); 40741 return DAG.getStore(St->getChain(), dl, NewExtract, St->getBasePtr(), 40741 return DAG.getStore(St->getChain(), dl, NewExtract, St->getBasePtr(), 40742 St->getPointerInfo(), St->getAlignment(), 40742 St->getPointerInfo(), St->getAlignment(), 40743 St->getMemOperand()->getFlags());