Lines Matching refs:SDValue

26 static SDValue emitMemMem(SelectionDAG &DAG, const SDLoc &DL, unsigned Sequence,  in emitMemMem()
27 unsigned Loop, SDValue Chain, SDValue Dst, in emitMemMem()
28 SDValue Src, uint64_t Size) { in emitMemMem()
49 SDValue SystemZSelectionDAGInfo::EmitTargetCodeForMemcpy( in EmitTargetCodeForMemcpy()
50 SelectionDAG &DAG, const SDLoc &DL, SDValue Chain, SDValue Dst, SDValue Src, in EmitTargetCodeForMemcpy()
51 SDValue Size, unsigned Align, bool IsVolatile, bool AlwaysInline, in EmitTargetCodeForMemcpy()
54 return SDValue(); in EmitTargetCodeForMemcpy()
59 return SDValue(); in EmitTargetCodeForMemcpy()
65 static SDValue memsetStore(SelectionDAG &DAG, const SDLoc &DL, SDValue Chain, in memsetStore()
66 SDValue Dst, uint64_t ByteVal, uint64_t Size, in memsetStore()
76 SDValue SystemZSelectionDAGInfo::EmitTargetCodeForMemset( in EmitTargetCodeForMemset()
77 SelectionDAG &DAG, const SDLoc &DL, SDValue Chain, SDValue Dst, in EmitTargetCodeForMemset()
78 SDValue Byte, SDValue Size, unsigned Align, bool IsVolatile, in EmitTargetCodeForMemset()
83 return SDValue(); in EmitTargetCodeForMemset()
88 return SDValue(); in EmitTargetCodeForMemset()
100 SDValue Chain1 = memsetStore(DAG, DL, Chain, Dst, ByteVal, Size1, in EmitTargetCodeForMemset()
107 SDValue Chain2 = memsetStore(DAG, DL, Chain, Dst, ByteVal, Size2, in EmitTargetCodeForMemset()
114 SDValue Chain1 = DAG.getStore(Chain, DL, Byte, Dst, DstPtrInfo, Align); in EmitTargetCodeForMemset()
117 SDValue Dst2 = DAG.getNode(ISD::ADD, DL, PtrVT, Dst, in EmitTargetCodeForMemset()
119 SDValue Chain2 = in EmitTargetCodeForMemset()
136 SDValue DstPlus1 = DAG.getNode(ISD::ADD, DL, PtrVT, Dst, in EmitTargetCodeForMemset()
141 return SDValue(); in EmitTargetCodeForMemset()
146 static SDValue emitCLC(SelectionDAG &DAG, const SDLoc &DL, SDValue Chain, in emitCLC()
147 SDValue Src1, SDValue Src2, uint64_t Size) { in emitCLC()
170 static SDValue addIPMSequence(const SDLoc &DL, SDValue CCReg, in addIPMSequence()
172 SDValue IPM = DAG.getNode(SystemZISD::IPM, DL, MVT::i32, CCReg); in addIPMSequence()
173 SDValue SHL = DAG.getNode(ISD::SHL, DL, MVT::i32, IPM, in addIPMSequence()
175 SDValue SRA = DAG.getNode(ISD::SRA, DL, MVT::i32, SHL, in addIPMSequence()
180 std::pair<SDValue, SDValue> SystemZSelectionDAGInfo::EmitTargetCodeForMemcmp( in EmitTargetCodeForMemcmp()
181 SelectionDAG &DAG, const SDLoc &DL, SDValue Chain, SDValue Src1, in EmitTargetCodeForMemcmp()
182 SDValue Src2, SDValue Size, MachinePointerInfo Op1PtrInfo, in EmitTargetCodeForMemcmp()
188 SDValue CCReg = emitCLC(DAG, DL, Chain, Src2, Src1, Bytes); in EmitTargetCodeForMemcmp()
192 return std::make_pair(SDValue(), SDValue()); in EmitTargetCodeForMemcmp()
195 std::pair<SDValue, SDValue> SystemZSelectionDAGInfo::EmitTargetCodeForMemchr( in EmitTargetCodeForMemchr()
196 SelectionDAG &DAG, const SDLoc &DL, SDValue Chain, SDValue Src, in EmitTargetCodeForMemchr()
197 SDValue Char, SDValue Length, MachinePointerInfo SrcPtrInfo) const { in EmitTargetCodeForMemchr()
205 SDValue Limit = DAG.getNode(ISD::ADD, DL, PtrVT, Src, Length); in EmitTargetCodeForMemchr()
206 SDValue End = DAG.getNode(SystemZISD::SEARCH_STRING, DL, VTs, Chain, in EmitTargetCodeForMemchr()
208 SDValue CCReg = End.getValue(1); in EmitTargetCodeForMemchr()
213 SDValue Ops[] = {End, DAG.getConstant(0, DL, PtrVT), in EmitTargetCodeForMemchr()
221 std::pair<SDValue, SDValue> SystemZSelectionDAGInfo::EmitTargetCodeForStrcpy( in EmitTargetCodeForStrcpy()
222 SelectionDAG &DAG, const SDLoc &DL, SDValue Chain, SDValue Dest, in EmitTargetCodeForStrcpy()
223 SDValue Src, MachinePointerInfo DestPtrInfo, MachinePointerInfo SrcPtrInfo, in EmitTargetCodeForStrcpy()
226 SDValue EndDest = DAG.getNode(SystemZISD::STPCPY, DL, VTs, Chain, Dest, Src, in EmitTargetCodeForStrcpy()
231 std::pair<SDValue, SDValue> SystemZSelectionDAGInfo::EmitTargetCodeForStrcmp( in EmitTargetCodeForStrcmp()
232 SelectionDAG &DAG, const SDLoc &DL, SDValue Chain, SDValue Src1, in EmitTargetCodeForStrcmp()
233 SDValue Src2, MachinePointerInfo Op1PtrInfo, in EmitTargetCodeForStrcmp()
237 SDValue Unused = DAG.getNode(SystemZISD::STRCMP, DL, VTs, Chain, Src2, Src1, in EmitTargetCodeForStrcmp()
239 SDValue CCReg = Unused.getValue(1); in EmitTargetCodeForStrcmp()
249 static std::pair<SDValue, SDValue> getBoundedStrlen(SelectionDAG &DAG, in getBoundedStrlen()
251 SDValue Chain, SDValue Src, in getBoundedStrlen()
252 SDValue Limit) { in getBoundedStrlen()
255 SDValue End = DAG.getNode(SystemZISD::SEARCH_STRING, DL, VTs, Chain, in getBoundedStrlen()
258 SDValue Len = DAG.getNode(ISD::SUB, DL, PtrVT, End, Src); in getBoundedStrlen()
262 std::pair<SDValue, SDValue> SystemZSelectionDAGInfo::EmitTargetCodeForStrlen( in EmitTargetCodeForStrlen()
263 SelectionDAG &DAG, const SDLoc &DL, SDValue Chain, SDValue Src, in EmitTargetCodeForStrlen()
269 std::pair<SDValue, SDValue> SystemZSelectionDAGInfo::EmitTargetCodeForStrnlen( in EmitTargetCodeForStrnlen()
270 SelectionDAG &DAG, const SDLoc &DL, SDValue Chain, SDValue Src, in EmitTargetCodeForStrnlen()
271 SDValue MaxLength, MachinePointerInfo SrcPtrInfo) const { in EmitTargetCodeForStrnlen()
274 SDValue Limit = DAG.getNode(ISD::ADD, DL, PtrVT, Src, MaxLength); in EmitTargetCodeForStrnlen()