Lines Matching refs:SDValue

24 static SDValue createMemMemNode(SelectionDAG &DAG, const SDLoc &DL, unsigned Op,  in createMemMemNode()
25 SDValue Chain, SDValue Dst, SDValue Src, in createMemMemNode()
26 SDValue LenAdj, SDValue Byte) { in createMemMemNode()
29 SmallVector<SDValue, 6> Ops; in createMemMemNode()
41 static SDValue emitMemMemImm(SelectionDAG &DAG, const SDLoc &DL, unsigned Op, in emitMemMemImm()
42 SDValue Chain, SDValue Dst, SDValue Src, in emitMemMemImm()
43 uint64_t Size, SDValue Byte = SDValue()) { in emitMemMemImm()
46 SDValue LenAdj = DAG.getConstant(Size - Adj, DL, Dst.getValueType()); in emitMemMemImm()
50 static SDValue emitMemMemReg(SelectionDAG &DAG, const SDLoc &DL, unsigned Op, in emitMemMemReg()
51 SDValue Chain, SDValue Dst, SDValue Src, in emitMemMemReg()
52 SDValue Size, SDValue Byte = SDValue()) { in emitMemMemReg()
54 SDValue LenAdj = DAG.getNode(ISD::ADD, DL, MVT::i64, in emitMemMemReg()
60 SDValue SystemZSelectionDAGInfo::EmitTargetCodeForMemcpy( in EmitTargetCodeForMemcpy()
61 SelectionDAG &DAG, const SDLoc &DL, SDValue Chain, SDValue Dst, SDValue Src, in EmitTargetCodeForMemcpy()
62 SDValue Size, Align Alignment, bool IsVolatile, bool AlwaysInline, in EmitTargetCodeForMemcpy()
65 return SDValue(); in EmitTargetCodeForMemcpy()
77 static SDValue memsetStore(SelectionDAG &DAG, const SDLoc &DL, SDValue Chain, in memsetStore()
78 SDValue Dst, uint64_t ByteVal, uint64_t Size, in memsetStore()
88 SDValue SystemZSelectionDAGInfo::EmitTargetCodeForMemset( in EmitTargetCodeForMemset()
89 SelectionDAG &DAG, const SDLoc &DL, SDValue Chain, SDValue Dst, in EmitTargetCodeForMemset()
90 SDValue Byte, SDValue Size, Align Alignment, bool IsVolatile, in EmitTargetCodeForMemset()
95 return SDValue(); in EmitTargetCodeForMemset()
101 return SDValue(); in EmitTargetCodeForMemset()
113 SDValue Chain1 = memsetStore(DAG, DL, Chain, Dst, ByteVal, Size1, in EmitTargetCodeForMemset()
120 SDValue Chain2 = in EmitTargetCodeForMemset()
128 SDValue Chain1 = in EmitTargetCodeForMemset()
132 SDValue Dst2 = DAG.getNode(ISD::ADD, DL, PtrVT, Dst, in EmitTargetCodeForMemset()
134 SDValue Chain2 = DAG.getStore(Chain, DL, Byte, Dst2, in EmitTargetCodeForMemset()
145 return emitMemMemImm(DAG, DL, SystemZISD::MEMSET_MVC, Chain, Dst, SDValue(), in EmitTargetCodeForMemset()
154 return emitMemMemReg(DAG, DL, SystemZISD::MEMSET_MVC, Chain, Dst, SDValue(), in EmitTargetCodeForMemset()
162 static SDValue addIPMSequence(const SDLoc &DL, SDValue CCReg, in addIPMSequence()
164 SDValue IPM = DAG.getNode(SystemZISD::IPM, DL, MVT::i32, CCReg); in addIPMSequence()
165 SDValue SHL = DAG.getNode(ISD::SHL, DL, MVT::i32, IPM, in addIPMSequence()
167 SDValue SRA = DAG.getNode(ISD::SRA, DL, MVT::i32, SHL, in addIPMSequence()
172 std::pair<SDValue, SDValue> SystemZSelectionDAGInfo::EmitTargetCodeForMemcmp( in EmitTargetCodeForMemcmp()
173 SelectionDAG &DAG, const SDLoc &DL, SDValue Chain, SDValue Src1, in EmitTargetCodeForMemcmp()
174 SDValue Src2, SDValue Size, MachinePointerInfo Op1PtrInfo, in EmitTargetCodeForMemcmp()
176 SDValue CCReg; in EmitTargetCodeForMemcmp()
188 std::pair<SDValue, SDValue> SystemZSelectionDAGInfo::EmitTargetCodeForMemchr( in EmitTargetCodeForMemchr()
189 SelectionDAG &DAG, const SDLoc &DL, SDValue Chain, SDValue Src, in EmitTargetCodeForMemchr()
190 SDValue Char, SDValue Length, MachinePointerInfo SrcPtrInfo) const { in EmitTargetCodeForMemchr()
198 SDValue Limit = DAG.getNode(ISD::ADD, DL, PtrVT, Src, Length); in EmitTargetCodeForMemchr()
199 SDValue End = DAG.getNode(SystemZISD::SEARCH_STRING, DL, VTs, Chain, in EmitTargetCodeForMemchr()
201 SDValue CCReg = End.getValue(1); in EmitTargetCodeForMemchr()
206 SDValue Ops[] = { in EmitTargetCodeForMemchr()
214 std::pair<SDValue, SDValue> SystemZSelectionDAGInfo::EmitTargetCodeForStrcpy( in EmitTargetCodeForStrcpy()
215 SelectionDAG &DAG, const SDLoc &DL, SDValue Chain, SDValue Dest, in EmitTargetCodeForStrcpy()
216 SDValue Src, MachinePointerInfo DestPtrInfo, MachinePointerInfo SrcPtrInfo, in EmitTargetCodeForStrcpy()
219 SDValue EndDest = DAG.getNode(SystemZISD::STPCPY, DL, VTs, Chain, Dest, Src, in EmitTargetCodeForStrcpy()
224 std::pair<SDValue, SDValue> SystemZSelectionDAGInfo::EmitTargetCodeForStrcmp( in EmitTargetCodeForStrcmp()
225 SelectionDAG &DAG, const SDLoc &DL, SDValue Chain, SDValue Src1, in EmitTargetCodeForStrcmp()
226 SDValue Src2, MachinePointerInfo Op1PtrInfo, in EmitTargetCodeForStrcmp()
230 SDValue Unused = DAG.getNode(SystemZISD::STRCMP, DL, VTs, Chain, Src2, Src1, in EmitTargetCodeForStrcmp()
232 SDValue CCReg = Unused.getValue(1); in EmitTargetCodeForStrcmp()
242 static std::pair<SDValue, SDValue> getBoundedStrlen(SelectionDAG &DAG, in getBoundedStrlen()
244 SDValue Chain, SDValue Src, in getBoundedStrlen()
245 SDValue Limit) { in getBoundedStrlen()
248 SDValue End = DAG.getNode(SystemZISD::SEARCH_STRING, DL, VTs, Chain, in getBoundedStrlen()
251 SDValue Len = DAG.getNode(ISD::SUB, DL, PtrVT, End, Src); in getBoundedStrlen()
255 std::pair<SDValue, SDValue> SystemZSelectionDAGInfo::EmitTargetCodeForStrlen( in EmitTargetCodeForStrlen()
256 SelectionDAG &DAG, const SDLoc &DL, SDValue Chain, SDValue Src, in EmitTargetCodeForStrlen()
262 std::pair<SDValue, SDValue> SystemZSelectionDAGInfo::EmitTargetCodeForStrnlen( in EmitTargetCodeForStrnlen()
263 SelectionDAG &DAG, const SDLoc &DL, SDValue Chain, SDValue Src, in EmitTargetCodeForStrnlen()
264 SDValue MaxLength, MachinePointerInfo SrcPtrInfo) const { in EmitTargetCodeForStrnlen()
267 SDValue Limit = DAG.getNode(ISD::ADD, DL, PtrVT, Src, MaxLength); in EmitTargetCodeForStrnlen()