Lines Matching defs:SD
2768 static SDValue createStoreLR(unsigned Opc, SelectionDAG &DAG, StoreSDNode *SD,
2770 SDValue Ptr = SD->getBasePtr(), Value = SD->getValue();
2771 EVT MemVT = SD->getMemoryVT(), BasePtrVT = Ptr.getValueType();
2772 SDLoc DL(SD);
2781 SD->getMemOperand());
2785 static SDValue lowerUnalignedIntStore(StoreSDNode *SD, SelectionDAG &DAG,
2787 SDValue Value = SD->getValue(), Chain = SD->getChain();
2796 if ((VT == MVT::i32) || SD->isTruncatingStore()) {
2797 SDValue SWL = createStoreLR(MipsISD::SWL, DAG, SD, Chain,
2799 return createStoreLR(MipsISD::SWR, DAG, SD, SWL, IsLittle ? 0 : 3);
2809 SDValue SDL = createStoreLR(MipsISD::SDL, DAG, SD, Chain, IsLittle ? 7 : 0);
2810 return createStoreLR(MipsISD::SDR, DAG, SD, SDL, IsLittle ? 0 : 7);
2814 static SDValue lowerFP_TO_SINT_STORE(StoreSDNode *SD, SelectionDAG &DAG,
2816 SDValue Val = SD->getValue();
2825 return DAG.getStore(SD->getChain(), SDLoc(SD), Tr, SD->getBasePtr(),
2826 SD->getPointerInfo(), SD->getAlign(),
2827 SD->getMemOperand()->getFlags());
2831 StoreSDNode *SD = cast<StoreSDNode>(Op);
2832 EVT MemVT = SD->getMemoryVT();
2836 (SD->getAlign().value() < (MemVT.getSizeInBits() / 8)) &&
2838 return lowerUnalignedIntStore(SD, DAG, Subtarget.isLittle());
2840 return lowerFP_TO_SINT_STORE(SD, DAG, Subtarget.isSingleFloat());
4989 BuildMI(*BB, I, DL, TII->get(Mips::SD))