Lines Matching defs:Subtarget

41 static MVT getOptimalRepType(const X86Subtarget &Subtarget, Align Alignment) {
53 return Subtarget.is64Bit() ? MVT::i64 : MVT::i32;
74 static SDValue emitRepstos(const X86Subtarget &Subtarget, SelectionDAG &DAG,
77 const bool Use64BitRegs = Subtarget.isTarget64BitLP64();
111 static SDValue emitRepstosB(const X86Subtarget &Subtarget, SelectionDAG &DAG,
114 return emitRepstos(Subtarget, DAG, dl, Chain, Dst, Val,
123 const X86Subtarget &Subtarget,
143 return emitRepstos(Subtarget, DAG, dl, Chain, Dst, Val,
147 return emitRepstosB(Subtarget, DAG, dl, Chain, Dst, Val, Size);
150 if (Size > Subtarget.getMaxInlineSizeThreshold())
165 BlockType = getOptimalRepType(Subtarget, Alignment);
185 emitRepstos(Subtarget, DAG, dl, Chain, Dst, Val,
226 const X86Subtarget &Subtarget =
229 DAG, Subtarget, dl, Chain, Dst, Val, ConstantSize->getZExtValue(),
234 static SDValue emitRepmovs(const X86Subtarget &Subtarget, SelectionDAG &DAG,
237 const bool Use64BitRegs = Subtarget.isTarget64BitLP64();
256 static SDValue emitRepmovsB(const X86Subtarget &Subtarget, SelectionDAG &DAG,
259 return emitRepmovs(Subtarget, DAG, dl, Chain, Dst, Src,
268 SelectionDAG &DAG, const X86Subtarget &Subtarget, const SDLoc &dl,
275 return emitRepmovsB(Subtarget, DAG, dl, Chain, Dst, Src, Size);
279 if (!AlwaysInline && Size > Subtarget.getMaxInlineSizeThreshold())
283 if (Subtarget.hasERMSB())
284 return emitRepmovsB(Subtarget, DAG, dl, Chain, Dst, Src, Size);
286 assert(!Subtarget.hasERMSB() && "No efficient RepMovs");
292 const MVT BlockType = getOptimalRepType(Subtarget, Alignment);
297 emitRepmovs(Subtarget, DAG, dl, Chain, Dst, Src,
337 const X86Subtarget &Subtarget =
341 if (UseFSRMForMemcpy && Subtarget.hasFSRM())
342 return emitRepmovs(Subtarget, DAG, dl, Chain, Dst, Src, Size, MVT::i8);
346 return emitConstantSizeRepmov(DAG, Subtarget, dl, Chain, Dst, Src,