Lines Matching refs:DL
26 static SDValue emitMemMem(SelectionDAG &DAG, const SDLoc &DL, unsigned Sequence, in emitMemMem() argument
42 return DAG.getNode(Loop, DL, MVT::Other, Chain, Dst, Src, in emitMemMem()
43 DAG.getConstant(Size, DL, PtrVT), in emitMemMem()
44 DAG.getConstant(Size / 256, DL, PtrVT)); in emitMemMem()
45 return DAG.getNode(Sequence, DL, MVT::Other, Chain, Dst, Src, in emitMemMem()
46 DAG.getConstant(Size, DL, PtrVT)); in emitMemMem()
50 SelectionDAG &DAG, const SDLoc &DL, SDValue Chain, SDValue Dst, SDValue Src, in EmitTargetCodeForMemcpy() argument
57 return emitMemMem(DAG, DL, SystemZISD::MVC, SystemZISD::MVC_LOOP, in EmitTargetCodeForMemcpy()
65 static SDValue memsetStore(SelectionDAG &DAG, const SDLoc &DL, SDValue Chain, in memsetStore() argument
71 return DAG.getStore(Chain, DL, in memsetStore()
72 DAG.getConstant(StoreVal, DL, in memsetStore()
78 SelectionDAG &DAG, const SDLoc &DL, SDValue Chain, SDValue Dst, in EmitTargetCodeForMemset() argument
101 SDValue Chain1 = memsetStore(DAG, DL, Chain, Dst, ByteVal, Size1, in EmitTargetCodeForMemset()
105 Dst = DAG.getNode(ISD::ADD, DL, PtrVT, Dst, in EmitTargetCodeForMemset()
106 DAG.getConstant(Size1, DL, PtrVT)); in EmitTargetCodeForMemset()
108 SDValue Chain2 = memsetStore(DAG, DL, Chain, Dst, ByteVal, Size2, in EmitTargetCodeForMemset()
110 return DAG.getNode(ISD::TokenFactor, DL, MVT::Other, Chain1, Chain2); in EmitTargetCodeForMemset()
115 SDValue Chain1 = DAG.getStore(Chain, DL, Byte, Dst, DstPtrInfo, in EmitTargetCodeForMemset()
119 SDValue Dst2 = DAG.getNode(ISD::ADD, DL, PtrVT, Dst, in EmitTargetCodeForMemset()
120 DAG.getConstant(1, DL, PtrVT)); in EmitTargetCodeForMemset()
121 SDValue Chain2 = DAG.getStore(Chain, DL, Byte, Dst2, in EmitTargetCodeForMemset()
124 return DAG.getNode(ISD::TokenFactor, DL, MVT::Other, Chain1, Chain2); in EmitTargetCodeForMemset()
132 return emitMemMem(DAG, DL, SystemZISD::XC, SystemZISD::XC_LOOP, in EmitTargetCodeForMemset()
137 Chain = DAG.getStore(Chain, DL, Byte, Dst, DstPtrInfo, in EmitTargetCodeForMemset()
139 SDValue DstPlus1 = DAG.getNode(ISD::ADD, DL, PtrVT, Dst, in EmitTargetCodeForMemset()
140 DAG.getConstant(1, DL, PtrVT)); in EmitTargetCodeForMemset()
141 return emitMemMem(DAG, DL, SystemZISD::MVC, SystemZISD::MVC_LOOP, in EmitTargetCodeForMemset()
149 static SDValue emitCLC(SelectionDAG &DAG, const SDLoc &DL, SDValue Chain, in emitCLC() argument
162 return DAG.getNode(SystemZISD::CLC_LOOP, DL, VTs, Chain, Src1, Src2, in emitCLC()
163 DAG.getConstant(Size, DL, PtrVT), in emitCLC()
164 DAG.getConstant(Size / 256, DL, PtrVT)); in emitCLC()
165 return DAG.getNode(SystemZISD::CLC, DL, VTs, Chain, Src1, Src2, in emitCLC()
166 DAG.getConstant(Size, DL, PtrVT)); in emitCLC()
173 static SDValue addIPMSequence(const SDLoc &DL, SDValue Glue, in addIPMSequence() argument
175 SDValue IPM = DAG.getNode(SystemZISD::IPM, DL, MVT::i32, Glue); in addIPMSequence()
176 SDValue SRL = DAG.getNode(ISD::SRL, DL, MVT::i32, IPM, in addIPMSequence()
177 DAG.getConstant(SystemZ::IPM_CC, DL, MVT::i32)); in addIPMSequence()
178 SDValue ROTL = DAG.getNode(ISD::ROTL, DL, MVT::i32, SRL, in addIPMSequence()
179 DAG.getConstant(31, DL, MVT::i32)); in addIPMSequence()
184 SelectionDAG &DAG, const SDLoc &DL, SDValue Chain, SDValue Src1, in EmitTargetCodeForMemcmp() argument
190 Chain = emitCLC(DAG, DL, Chain, Src1, Src2, Bytes); in EmitTargetCodeForMemcmp()
192 return std::make_pair(addIPMSequence(DL, Glue, DAG), Chain); in EmitTargetCodeForMemcmp()
198 SelectionDAG &DAG, const SDLoc &DL, SDValue Chain, SDValue Src, in EmitTargetCodeForMemchr() argument
203 Length = DAG.getZExtOrTrunc(Length, DL, PtrVT); in EmitTargetCodeForMemchr()
204 Char = DAG.getZExtOrTrunc(Char, DL, MVT::i32); in EmitTargetCodeForMemchr()
205 Char = DAG.getNode(ISD::AND, DL, MVT::i32, Char, in EmitTargetCodeForMemchr()
206 DAG.getConstant(255, DL, MVT::i32)); in EmitTargetCodeForMemchr()
207 SDValue Limit = DAG.getNode(ISD::ADD, DL, PtrVT, Src, Length); in EmitTargetCodeForMemchr()
208 SDValue End = DAG.getNode(SystemZISD::SEARCH_STRING, DL, VTs, Chain, in EmitTargetCodeForMemchr()
215 SDValue Ops[] = {End, DAG.getConstant(0, DL, PtrVT), in EmitTargetCodeForMemchr()
216 DAG.getConstant(SystemZ::CCMASK_SRST, DL, MVT::i32), in EmitTargetCodeForMemchr()
217 DAG.getConstant(SystemZ::CCMASK_SRST_FOUND, DL, MVT::i32), in EmitTargetCodeForMemchr()
220 End = DAG.getNode(SystemZISD::SELECT_CCMASK, DL, VTs, Ops); in EmitTargetCodeForMemchr()
225 SelectionDAG &DAG, const SDLoc &DL, SDValue Chain, SDValue Dest, in EmitTargetCodeForStrcpy() argument
229 SDValue EndDest = DAG.getNode(SystemZISD::STPCPY, DL, VTs, Chain, Dest, Src, in EmitTargetCodeForStrcpy()
230 DAG.getConstant(0, DL, MVT::i32)); in EmitTargetCodeForStrcpy()
235 SelectionDAG &DAG, const SDLoc &DL, SDValue Chain, SDValue Src1, in EmitTargetCodeForStrcmp() argument
239 SDValue Unused = DAG.getNode(SystemZISD::STRCMP, DL, VTs, Chain, Src1, Src2, in EmitTargetCodeForStrcmp()
240 DAG.getConstant(0, DL, MVT::i32)); in EmitTargetCodeForStrcmp()
243 return std::make_pair(addIPMSequence(DL, Glue, DAG), Chain); in EmitTargetCodeForStrcmp()
252 const SDLoc &DL, in getBoundedStrlen() argument
257 SDValue End = DAG.getNode(SystemZISD::SEARCH_STRING, DL, VTs, Chain, in getBoundedStrlen()
258 Limit, Src, DAG.getConstant(0, DL, MVT::i32)); in getBoundedStrlen()
260 SDValue Len = DAG.getNode(ISD::SUB, DL, PtrVT, End, Src); in getBoundedStrlen()
265 SelectionDAG &DAG, const SDLoc &DL, SDValue Chain, SDValue Src, in EmitTargetCodeForStrlen() argument
268 return getBoundedStrlen(DAG, DL, Chain, Src, DAG.getConstant(0, DL, PtrVT)); in EmitTargetCodeForStrlen()
272 SelectionDAG &DAG, const SDLoc &DL, SDValue Chain, SDValue Src, in EmitTargetCodeForStrnlen() argument
275 MaxLength = DAG.getZExtOrTrunc(MaxLength, DL, PtrVT); in EmitTargetCodeForStrnlen()
276 SDValue Limit = DAG.getNode(ISD::ADD, DL, PtrVT, Src, MaxLength); in EmitTargetCodeForStrnlen()
277 return getBoundedStrlen(DAG, DL, Chain, Src, Limit); in EmitTargetCodeForStrnlen()