• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /freebsd-13-stable/contrib/llvm-project/llvm/lib/Target/SystemZ/

Lines Matching refs:SDValue

25 static SDValue emitMemMem(SelectionDAG &DAG, const SDLoc &DL, unsigned Sequence,
26 unsigned Loop, SDValue Chain, SDValue Dst,
27 SDValue Src, uint64_t Size) {
48 SDValue SystemZSelectionDAGInfo::EmitTargetCodeForMemcpy(
49 SelectionDAG &DAG, const SDLoc &DL, SDValue Chain, SDValue Dst, SDValue Src,
50 SDValue Size, Align Alignment, bool IsVolatile, bool AlwaysInline,
53 return SDValue();
58 return SDValue();
64 static SDValue memsetStore(SelectionDAG &DAG, const SDLoc &DL, SDValue Chain,
65 SDValue Dst, uint64_t ByteVal, uint64_t Size,
75 SDValue SystemZSelectionDAGInfo::EmitTargetCodeForMemset(
76 SelectionDAG &DAG, const SDLoc &DL, SDValue Chain, SDValue Dst,
77 SDValue Byte, SDValue Size, Align Alignment, bool IsVolatile,
82 return SDValue();
87 return SDValue();
99 SDValue Chain1 = memsetStore(DAG, DL, Chain, Dst, ByteVal, Size1,
106 SDValue Chain2 = memsetStore(
114 SDValue Chain1 =
118 SDValue Dst2 = DAG.getNode(ISD::ADD, DL, PtrVT, Dst,
120 SDValue Chain2 =
137 SDValue DstPlus1 = DAG.getNode(ISD::ADD, DL, PtrVT, Dst,
142 return SDValue();
147 static SDValue emitCLC(SelectionDAG &DAG, const SDLoc &DL, SDValue Chain,
148 SDValue Src1, SDValue Src2, uint64_t Size) {
171 static SDValue addIPMSequence(const SDLoc &DL, SDValue CCReg,
173 SDValue IPM = DAG.getNode(SystemZISD::IPM, DL, MVT::i32, CCReg);
174 SDValue SHL = DAG.getNode(ISD::SHL, DL, MVT::i32, IPM,
176 SDValue SRA = DAG.getNode(ISD::SRA, DL, MVT::i32, SHL,
181 std::pair<SDValue, SDValue> SystemZSelectionDAGInfo::EmitTargetCodeForMemcmp(
182 SelectionDAG &DAG, const SDLoc &DL, SDValue Chain, SDValue Src1,
183 SDValue Src2, SDValue Size, MachinePointerInfo Op1PtrInfo,
189 SDValue CCReg = emitCLC(DAG, DL, Chain, Src2, Src1, Bytes);
193 return std::make_pair(SDValue(), SDValue());
196 std::pair<SDValue, SDValue> SystemZSelectionDAGInfo::EmitTargetCodeForMemchr(
197 SelectionDAG &DAG, const SDLoc &DL, SDValue Chain, SDValue Src,
198 SDValue Char, SDValue Length, MachinePointerInfo SrcPtrInfo) const {
206 SDValue Limit = DAG.getNode(ISD::ADD, DL, PtrVT, Src, Length);
207 SDValue End = DAG.getNode(SystemZISD::SEARCH_STRING, DL, VTs, Chain,
209 SDValue CCReg = End.getValue(1);
214 SDValue Ops[] = {
222 std::pair<SDValue, SDValue> SystemZSelectionDAGInfo::EmitTargetCodeForStrcpy(
223 SelectionDAG &DAG, const SDLoc &DL, SDValue Chain, SDValue Dest,
224 SDValue Src, MachinePointerInfo DestPtrInfo, MachinePointerInfo SrcPtrInfo,
227 SDValue EndDest = DAG.getNode(SystemZISD::STPCPY, DL, VTs, Chain, Dest, Src,
232 std::pair<SDValue, SDValue> SystemZSelectionDAGInfo::EmitTargetCodeForStrcmp(
233 SelectionDAG &DAG, const SDLoc &DL, SDValue Chain, SDValue Src1,
234 SDValue Src2, MachinePointerInfo Op1PtrInfo,
238 SDValue Unused = DAG.getNode(SystemZISD::STRCMP, DL, VTs, Chain, Src2, Src1,
240 SDValue CCReg = Unused.getValue(1);
250 static std::pair<SDValue, SDValue> getBoundedStrlen(SelectionDAG &DAG,
252 SDValue Chain, SDValue Src,
253 SDValue Limit) {
256 SDValue End = DAG.getNode(SystemZISD::SEARCH_STRING, DL, VTs, Chain,
259 SDValue Len = DAG.getNode(ISD::SUB, DL, PtrVT, End, Src);
263 std::pair<SDValue, SDValue> SystemZSelectionDAGInfo::EmitTargetCodeForStrlen(
264 SelectionDAG &DAG, const SDLoc &DL, SDValue Chain, SDValue Src,
270 std::pair<SDValue, SDValue> SystemZSelectionDAGInfo::EmitTargetCodeForStrnlen(
271 SelectionDAG &DAG, const SDLoc &DL, SDValue Chain, SDValue Src,
272 SDValue MaxLength, MachinePointerInfo SrcPtrInfo) const {
275 SDValue Limit = DAG.getNode(ISD::ADD, DL, PtrVT, Src, MaxLength);