• Home
  • Raw
  • Download

Lines Matching refs:Func

50 InstImpl<TraitsType>::InstX86FakeRMW::InstX86FakeRMW(Cfg *Func, Operand *Data,  in InstX86FakeRMW()  argument
54 : InstX86Base(Func, InstX86Base::FakeRMW, 3, nullptr), Op(Op) { in InstX86FakeRMW()
61 InstImpl<TraitsType>::InstX86GetIP::InstX86GetIP(Cfg *Func, Variable *Dest) in InstX86GetIP() argument
62 : InstX86Base(Func, InstX86Base::GetIP, 0, Dest) {} in InstX86GetIP()
65 InstImpl<TraitsType>::InstX86Mul::InstX86Mul(Cfg *Func, Variable *Dest, in InstX86Mul() argument
68 : InstX86Base(Func, InstX86Base::Mul, 2, Dest) { in InstX86Mul()
74 InstImpl<TraitsType>::InstX86Shld::InstX86Shld(Cfg *Func, Variable *Dest, in InstX86Shld() argument
77 : InstX86Base(Func, InstX86Base::Shld, 3, Dest) { in InstX86Shld()
84 InstImpl<TraitsType>::InstX86Shrd::InstX86Shrd(Cfg *Func, Variable *Dest, in InstX86Shrd() argument
87 : InstX86Base(Func, InstX86Base::Shrd, 3, Dest) { in InstX86Shrd()
94 InstImpl<TraitsType>::InstX86Label::InstX86Label(Cfg *Func, in InstX86Label() argument
96 : InstX86Base(Func, InstX86Base::Label, 0, nullptr), in InstX86Label()
100 Func->getContext(), ".L" + Func->getFunctionName() + "$local$__" + in InstX86Label()
103 Name = GlobalString::createWithoutString(Func->getContext()); in InstX86Label()
108 InstImpl<TraitsType>::InstX86Br::InstX86Br(Cfg *Func, const CfgNode *TargetTrue, in InstX86Br() argument
112 : InstX86Base(Func, InstX86Base::Br, 0, nullptr), Condition(Condition), in InstX86Br()
170 InstImpl<TraitsType>::InstX86Jmp::InstX86Jmp(Cfg *Func, Operand *Target) in InstX86Jmp() argument
171 : InstX86Base(Func, InstX86Base::Jmp, 1, nullptr) { in InstX86Jmp()
176 InstImpl<TraitsType>::InstX86Call::InstX86Call(Cfg *Func, Variable *Dest, in InstX86Call() argument
178 : InstX86Base(Func, InstX86Base::Call, 1, Dest) { in InstX86Call()
184 InstImpl<TraitsType>::InstX86Movmsk::InstX86Movmsk(Cfg *Func, Variable *Dest, in InstX86Movmsk() argument
186 : InstX86Base(Func, InstX86Base::Movmsk, 1, Dest) { in InstX86Movmsk()
191 InstImpl<TraitsType>::InstX86Cmov::InstX86Cmov(Cfg *Func, Variable *Dest, in InstX86Cmov() argument
194 : InstX86Base(Func, InstX86Base::Cmov, 2, Dest), Condition(Condition) { in InstX86Cmov()
202 InstImpl<TraitsType>::InstX86Cmpps::InstX86Cmpps(Cfg *Func, Variable *Dest, in InstX86Cmpps() argument
205 : InstX86Base(Func, InstX86Base::Cmpps, 2, Dest), Condition(Condition) { in InstX86Cmpps()
211 InstImpl<TraitsType>::InstX86Cmpxchg::InstX86Cmpxchg(Cfg *Func, in InstX86Cmpxchg() argument
217 Func, InstX86Base::Cmpxchg, 3, llvm::dyn_cast<Variable>(DestOrAddr), in InstX86Cmpxchg()
229 Cfg *Func, X86OperandMem *Addr, Variable *Edx, Variable *Eax, Variable *Ecx, in InstX86Cmpxchg8b() argument
231 : InstImpl<TraitsType>::InstX86BaseLockable(Func, InstX86Base::Cmpxchg, 5, in InstX86Cmpxchg8b()
245 InstImpl<TraitsType>::InstX86Cvt::InstX86Cvt(Cfg *Func, Variable *Dest, in InstX86Cvt() argument
248 : InstX86Base(Func, InstX86Base::Cvt, 1, Dest), Variant(Variant) { in InstX86Cvt()
253 InstImpl<TraitsType>::InstX86Icmp::InstX86Icmp(Cfg *Func, Operand *Src0, in InstX86Icmp() argument
255 : InstX86Base(Func, InstX86Base::Icmp, 2, nullptr) { in InstX86Icmp()
261 InstImpl<TraitsType>::InstX86Ucomiss::InstX86Ucomiss(Cfg *Func, Operand *Src0, in InstX86Ucomiss() argument
263 : InstX86Base(Func, InstX86Base::Ucomiss, 2, nullptr) { in InstX86Ucomiss()
269 InstImpl<TraitsType>::InstX86UD2::InstX86UD2(Cfg *Func) in InstX86UD2() argument
270 : InstX86Base(Func, InstX86Base::UD2, 0, nullptr) {} in InstX86UD2()
273 InstImpl<TraitsType>::InstX86Int3::InstX86Int3(Cfg *Func) in InstX86Int3() argument
274 : InstX86Base(Func, InstX86Base::Int3, 0, nullptr) {} in InstX86Int3()
277 InstImpl<TraitsType>::InstX86Test::InstX86Test(Cfg *Func, Operand *Src1, in InstX86Test() argument
279 : InstX86Base(Func, InstX86Base::Test, 2, nullptr) { in InstX86Test()
285 InstImpl<TraitsType>::InstX86Mfence::InstX86Mfence(Cfg *Func) in InstX86Mfence() argument
286 : InstX86Base(Func, InstX86Base::Mfence, 0, nullptr) { in InstX86Mfence()
291 InstImpl<TraitsType>::InstX86Store::InstX86Store(Cfg *Func, Operand *Value, in InstX86Store() argument
293 : InstX86Base(Func, InstX86Base::Store, 2, nullptr) { in InstX86Store()
299 InstImpl<TraitsType>::InstX86StoreP::InstX86StoreP(Cfg *Func, Variable *Value, in InstX86StoreP() argument
301 : InstX86Base(Func, InstX86Base::StoreP, 2, nullptr) { in InstX86StoreP()
307 InstImpl<TraitsType>::InstX86StoreQ::InstX86StoreQ(Cfg *Func, Operand *Value, in InstX86StoreQ() argument
309 : InstX86Base(Func, InstX86Base::StoreQ, 2, nullptr) { in InstX86StoreQ()
315 InstImpl<TraitsType>::InstX86StoreD::InstX86StoreD(Cfg *Func, Operand *Value, in InstX86StoreD() argument
317 : InstX86Base(Func, InstX86Base::StoreD, 2, nullptr) { in InstX86StoreD()
323 InstImpl<TraitsType>::InstX86Nop::InstX86Nop(Cfg *Func, NopVariant Variant) in InstX86Nop() argument
324 : InstX86Base(Func, InstX86Base::Nop, 0, nullptr), Variant(Variant) {} in InstX86Nop()
327 InstImpl<TraitsType>::InstX86Fld::InstX86Fld(Cfg *Func, Operand *Src) in InstX86Fld() argument
328 : InstX86Base(Func, InstX86Base::Fld, 1, nullptr) { in InstX86Fld()
333 InstImpl<TraitsType>::InstX86Fstp::InstX86Fstp(Cfg *Func, Variable *Dest) in InstX86Fstp() argument
334 : InstX86Base(Func, InstX86Base::Fstp, 0, Dest) {} in InstX86Fstp()
337 InstImpl<TraitsType>::InstX86Pop::InstX86Pop(Cfg *Func, Variable *Dest) in InstX86Pop() argument
338 : InstX86Base(Func, InstX86Base::Pop, 0, Dest) { in InstX86Pop()
348 InstImpl<TraitsType>::InstX86Push::InstX86Push(Cfg *Func, Operand *Source) in InstX86Push() argument
349 : InstX86Base(Func, InstX86Base::Push, 1, nullptr) { in InstX86Push()
354 InstImpl<TraitsType>::InstX86Push::InstX86Push(Cfg *Func, InstX86Label *L) in InstX86Push() argument
355 : InstX86Base(Func, InstX86Base::Push, 0, nullptr), Label(L) {} in InstX86Push()
358 InstImpl<TraitsType>::InstX86Ret::InstX86Ret(Cfg *Func, Variable *Source) in InstX86Ret() argument
359 : InstX86Base(Func, InstX86Base::Ret, Source ? 1 : 0, nullptr) { in InstX86Ret()
365 InstImpl<TraitsType>::InstX86Setcc::InstX86Setcc(Cfg *Func, Variable *Dest, in InstX86Setcc() argument
367 : InstX86Base(Func, InstX86Base::Setcc, 0, Dest), Condition(Cond) {} in InstX86Setcc()
370 InstImpl<TraitsType>::InstX86Xadd::InstX86Xadd(Cfg *Func, Operand *Dest, in InstX86Xadd() argument
373 Func, InstX86Base::Xadd, 2, llvm::dyn_cast<Variable>(Dest), Locked) { in InstX86Xadd()
379 InstImpl<TraitsType>::InstX86Xchg::InstX86Xchg(Cfg *Func, Operand *Dest, in InstX86Xchg() argument
381 : InstX86Base(Func, InstX86Base::Xchg, 2, llvm::dyn_cast<Variable>(Dest)) { in InstX86Xchg()
387 InstImpl<TraitsType>::InstX86IacaStart::InstX86IacaStart(Cfg *Func) in InstX86IacaStart() argument
388 : InstX86Base(Func, InstX86Base::IacaStart, 0, nullptr) { in InstX86IacaStart()
393 InstImpl<TraitsType>::InstX86IacaEnd::InstX86IacaEnd(Cfg *Func) in InstX86IacaEnd() argument
394 : InstX86Base(Func, InstX86Base::IacaEnd, 0, nullptr) { in InstX86IacaEnd()
401 void InstImpl<TraitsType>::InstX86Base::dump(const Cfg *Func) const { in dump() argument
404 Ostream &Str = Func->getContext()->getStrDump(); in dump()
406 Inst::dump(Func); in dump()
410 void InstImpl<TraitsType>::InstX86FakeRMW::dump(const Cfg *Func) const { in dump() argument
413 Ostream &Str = Func->getContext()->getStrDump(); in dump()
416 getAddr()->dump(Func); in dump()
418 getData()->dump(Func); in dump()
420 getBeacon()->dump(Func); in dump()
424 void InstImpl<TraitsType>::InstX86GetIP::emit(const Cfg *Func) const { in emit() argument
429 Ostream &Str = Func->getContext()->getStrEmit(); in emit()
433 auto *Target = static_cast<TargetLowering *>(Func->getTarget()); in emit()
438 void InstImpl<TraitsType>::InstX86GetIP::emitIAS(const Cfg *Func) const { in emitIAS() argument
440 Assembler *Asm = Func->getAssembler<Assembler>(); in emitIAS()
442 Asm->call(static_cast<TargetLowering *>(Func->getTarget()) in emitIAS()
447 void InstImpl<TraitsType>::InstX86GetIP::dump(const Cfg *Func) const { in dump() argument
450 Ostream &Str = Func->getContext()->getStrDump(); in dump()
451 this->getDest()->dump(Func); in dump()
456 void InstImpl<TraitsType>::InstX86Label::emit(const Cfg *Func) const { in emit() argument
459 Ostream &Str = Func->getContext()->getStrEmit(); in emit()
464 void InstImpl<TraitsType>::InstX86Label::emitIAS(const Cfg *Func) const { in emitIAS() argument
465 Assembler *Asm = Func->getAssembler<Assembler>(); in emitIAS()
473 void InstImpl<TraitsType>::InstX86Label::dump(const Cfg *Func) const { in dump() argument
476 Ostream &Str = Func->getContext()->getStrDump(); in dump()
481 void InstImpl<TraitsType>::InstX86Br::emit(const Cfg *Func) const { in emit() argument
484 Ostream &Str = Func->getContext()->getStrEmit(); in emit()
509 void InstImpl<TraitsType>::InstX86Br::emitIAS(const Cfg *Func) const { in emitIAS() argument
510 Assembler *Asm = Func->getAssembler<Assembler>(); in emitIAS()
535 void InstImpl<TraitsType>::InstX86Br::dump(const Cfg *Func) const { in dump() argument
538 Ostream &Str = Func->getContext()->getStrDump(); in dump()
564 void InstImpl<TraitsType>::InstX86Jmp::emit(const Cfg *Func) const { in emit() argument
567 Ostream &Str = Func->getContext()->getStrEmit(); in emit()
581 getJmpTarget()->emit(Func); in emit()
585 void InstImpl<TraitsType>::InstX86Jmp::emitIAS(const Cfg *Func) const { in emitIAS() argument
588 Assembler *Asm = Func->getAssembler<Assembler>(); in emitIAS()
617 void InstImpl<TraitsType>::InstX86Jmp::dump(const Cfg *Func) const { in dump() argument
620 Ostream &Str = Func->getContext()->getStrDump(); in dump()
622 getJmpTarget()->dump(Func); in dump()
626 void InstImpl<TraitsType>::InstX86Call::emit(const Cfg *Func) const { in emit() argument
629 Ostream &Str = Func->getContext()->getStrEmit(); in emit()
634 auto *Target = InstX86Base::getTarget(Func); in emit()
643 CallTarget->emit(Func); in emit()
648 void InstImpl<TraitsType>::InstX86Call::emitIAS(const Cfg *Func) const { in emitIAS() argument
649 Assembler *Asm = Func->getAssembler<Assembler>(); in emitIAS()
651 auto *Target = InstX86Base::getTarget(Func); in emitIAS()
671 void InstImpl<TraitsType>::InstX86Call::dump(const Cfg *Func) const { in dump() argument
674 Ostream &Str = Func->getContext()->getStrDump(); in dump()
676 this->dumpDest(Func); in dump()
680 getCallTarget()->dump(Func); in dump()
687 const Cfg *Func, const char *Opcode, const char *Suffix) const { in emitTwoAddress() argument
690 Ostream &Str = Func->getContext()->getStrEmit(); in emitTwoAddress()
699 Src1->emit(Func); in emitTwoAddress()
701 Dest->emit(Func); in emitTwoAddress()
705 void InstImpl<TraitsType>::emitIASOpTyGPR(const Cfg *Func, Type Ty, in emitIASOpTyGPR() argument
708 auto *Target = InstX86Base::getTarget(Func); in emitIASOpTyGPR()
709 Assembler *Asm = Func->getAssembler<Assembler>(); in emitIASOpTyGPR()
729 void InstImpl<TraitsType>::emitIASRegOpTyGPR(const Cfg *Func, bool IsLea, in emitIASRegOpTyGPR() argument
733 auto *Target = InstX86Base::getTarget(Func); in emitIASRegOpTyGPR()
734 Assembler *Asm = Func->getAssembler<Assembler>(); in emitIASRegOpTyGPR()
767 (Asm->*(Emitter.GPRAddr))(Ty, VarReg, Split->toAsmAddress(Func)); in emitIASRegOpTyGPR()
774 void InstImpl<TraitsType>::emitIASAddrOpTyGPR(const Cfg *Func, Type Ty, in emitIASAddrOpTyGPR() argument
778 Assembler *Asm = Func->getAssembler<Assembler>(); in emitIASAddrOpTyGPR()
804 const Cfg *Func, Type Ty, const Operand *Op0, const Operand *Op1, in emitIASAsAddrOpTyGPR() argument
806 auto *Target = InstX86Base::getTarget(Func); in emitIASAsAddrOpTyGPR()
810 emitIASAddrOpTyGPR(Func, Ty, StackAddr, Op1, Emitter); in emitIASAsAddrOpTyGPR()
812 Assembler *Asm = Func->getAssembler<Assembler>(); in emitIASAsAddrOpTyGPR()
814 emitIASAddrOpTyGPR(Func, Ty, Op0Mem->toAsmAddress(Asm, Target), Op1, in emitIASAsAddrOpTyGPR()
817 emitIASAddrOpTyGPR(Func, Ty, Split->toAsmAddress(Func), Op1, Emitter); in emitIASAsAddrOpTyGPR()
824 void InstImpl<TraitsType>::emitIASGPRShift(const Cfg *Func, Type Ty, in emitIASGPRShift() argument
828 Assembler *Asm = Func->getAssembler<Assembler>(); in emitIASGPRShift()
852 const Cfg *Func, const Variable *Dest, const Operand *Src1Op, in emitIASGPRShiftDouble() argument
854 Assembler *Asm = Func->getAssembler<Assembler>(); in emitIASGPRShiftDouble()
874 void InstImpl<TraitsType>::emitIASXmmShift(const Cfg *Func, Type Ty, in emitIASXmmShift() argument
878 auto *Target = InstX86Base::getTarget(Func); in emitIASXmmShift()
879 Assembler *Asm = Func->getAssembler<Assembler>(); in emitIASXmmShift()
901 void InstImpl<TraitsType>::emitIASRegOpTyXMM(const Cfg *Func, Type Ty, in emitIASRegOpTyXMM() argument
905 auto *Target = InstX86Base::getTarget(Func); in emitIASRegOpTyXMM()
906 Assembler *Asm = Func->getAssembler<Assembler>(); in emitIASRegOpTyXMM()
932 const Cfg *Func, Type DestTy, const Variable *Dest, Type SrcTy, in emitIASCastRegOp() argument
934 auto *Target = InstX86Base::getTarget(Func); in emitIASCastRegOp()
935 Assembler *Asm = Func->getAssembler<Assembler>(); in emitIASCastRegOp()
959 const Cfg *Func, Type DispatchTy, const Variable *Dest, const Operand *Src0, in emitIASThreeOpImmOps() argument
961 auto *Target = InstX86Base::getTarget(Func); in emitIASThreeOpImmOps()
962 Assembler *Asm = Func->getAssembler<Assembler>(); in emitIASThreeOpImmOps()
985 void InstImpl<TraitsType>::emitIASMovlikeXMM(const Cfg *Func, in emitIASMovlikeXMM() argument
989 auto *Target = InstX86Base::getTarget(Func); in emitIASMovlikeXMM()
990 Assembler *Asm = Func->getAssembler<Assembler>(); in emitIASMovlikeXMM()
1018 void InstImpl<TraitsType>::InstX86Movmsk::dump(const Cfg *Func) const { in dump() argument
1021 Ostream &Str = Func->getContext()->getStrDump(); in dump()
1022 this->dumpDest(Func); in dump()
1024 this->dumpSources(Func); in dump()
1028 void InstImpl<TraitsType>::InstX86Movmsk::emit(const Cfg *Func) const { in emit() argument
1031 Ostream &Str = Func->getContext()->getStrEmit(); in emit()
1050 this->getSrc(0)->emit(Func); in emit()
1052 this->getDest()->emit(Func); in emit()
1056 void InstImpl<TraitsType>::InstX86Movmsk::emitIAS(const Cfg *Func) const { in emitIAS() argument
1058 Assembler *Asm = Func->getAssembler<Assembler>(); in emitIAS()
1077 void InstImpl<TraitsType>::InstX86Sqrt::emit(const Cfg *Func) const { in emit() argument
1080 Ostream &Str = Func->getContext()->getStrEmit(); in emit()
1086 this->getSrc(0)->emit(Func); in emit()
1088 this->getDest()->emit(Func); in emit()
1092 void InstImpl<TraitsType>::InstX86Div::emit(const Cfg *Func) const { in emit() argument
1095 Ostream &Str = Func->getContext()->getStrEmit(); in emit()
1099 Src1->emit(Func); in emit()
1103 void InstImpl<TraitsType>::InstX86Div::emitIAS(const Cfg *Func) const { in emitIAS() argument
1108 emitIASOpTyGPR(Func, Ty, Src, Emitter); in emitIAS()
1112 void InstImpl<TraitsType>::InstX86Idiv::emit(const Cfg *Func) const { in emit() argument
1115 Ostream &Str = Func->getContext()->getStrEmit(); in emit()
1119 Src1->emit(Func); in emit()
1123 void InstImpl<TraitsType>::InstX86Idiv::emitIAS(const Cfg *Func) const { in emitIAS() argument
1128 emitIASOpTyGPR(Func, Ty, Src, Emitter); in emitIAS()
1135 const Cfg *Func) { in emitVariableBlendInst() argument
1138 Ostream &Str = Func->getContext()->getStrEmit(); in emitVariableBlendInst()
1143 Instr->getSrc(1)->emit(Func); in emitVariableBlendInst()
1145 Instr->getDest()->emit(Func); in emitVariableBlendInst()
1150 const Inst *Instr, const Cfg *Func, const XmmEmitterRegOp &Emitter) { in emitIASVariableBlendInst() argument
1156 emitIASRegOpTyXMM(Func, Dest->getType(), Dest, Src, Emitter); in emitIASVariableBlendInst()
1160 void InstImpl<TraitsType>::InstX86Blendvps::emit(const Cfg *Func) const { in emit() argument
1163 emitVariableBlendInst(this->Opcode, this, Func); in emit()
1167 void InstImpl<TraitsType>::InstX86Blendvps::emitIAS(const Cfg *Func) const { in emitIAS() argument
1170 emitIASVariableBlendInst(this, Func, Emitter); in emitIAS()
1174 void InstImpl<TraitsType>::InstX86Pblendvb::emit(const Cfg *Func) const { in emit() argument
1177 emitVariableBlendInst(this->Opcode, this, Func); in emit()
1181 void InstImpl<TraitsType>::InstX86Pblendvb::emitIAS(const Cfg *Func) const { in emitIAS() argument
1184 emitIASVariableBlendInst(this, Func, Emitter); in emitIAS()
1188 void InstImpl<TraitsType>::InstX86Imul::emit(const Cfg *Func) const { in emit() argument
1191 Ostream &Str = Func->getContext()->getStrEmit(); in emit()
1201 this->getSrc(1)->emit(Func); in emit()
1205 this->getSrc(1)->emit(Func); in emit()
1207 this->getSrc(0)->emit(Func); in emit()
1209 Dest->emit(Func); in emit()
1211 this->emitTwoAddress(Func, this->Opcode); in emit()
1216 void InstImpl<TraitsType>::InstX86Imul::emitIAS(const Cfg *Func) const { in emitIAS() argument
1227 emitIASOpTyGPR(Func, Ty, this->getSrc(1), Emitter); in emitIAS()
1235 emitIASRegOpTyGPR(Func, NotLea, Ty, Var, Src, Emitter); in emitIAS()
1240 void InstImpl<TraitsType>::InstX86ImulImm::emit(const Cfg *Func) const { in emit() argument
1243 Ostream &Str = Func->getContext()->getStrEmit(); in emit()
1250 this->getSrc(1)->emit(Func); in emit()
1252 this->getSrc(0)->emit(Func); in emit()
1254 Dest->emit(Func); in emit()
1258 void InstImpl<TraitsType>::InstX86ImulImm::emitIAS(const Cfg *Func) const { in emitIAS() argument
1266 Traits::getEncodedGPR>(Func, Ty, Dest, this->getSrc(0), in emitIAS()
1271 void InstImpl<TraitsType>::InstX86Insertps::emitIAS(const Cfg *Func) const { in emitIAS() argument
1273 assert(InstX86Base::getTarget(Func)->getInstructionSet() >= Traits::SSE4_1); in emitIAS()
1280 Traits::getEncodedXmm>(Func, Ty, Dest, this->getSrc(1), in emitIAS()
1285 void InstImpl<TraitsType>::InstX86Cbwdq::emit(const Cfg *Func) const { in emit() argument
1288 Ostream &Str = Func->getContext()->getStrEmit(); in emit()
1328 void InstImpl<TraitsType>::InstX86Cbwdq::emitIAS(const Cfg *Func) const { in emitIAS() argument
1329 Assembler *Asm = Func->getAssembler<Assembler>(); in emitIAS()
1365 void InstImpl<TraitsType>::InstX86Mul::emit(const Cfg *Func) const { in emit() argument
1368 Ostream &Str = Func->getContext()->getStrEmit(); in emit()
1378 this->getSrc(1)->emit(Func); in emit()
1382 void InstImpl<TraitsType>::InstX86Mul::emitIAS(const Cfg *Func) const { in emitIAS() argument
1393 emitIASOpTyGPR(Func, Ty, Src, Emitter); in emitIAS()
1397 void InstImpl<TraitsType>::InstX86Mul::dump(const Cfg *Func) const { in dump() argument
1400 Ostream &Str = Func->getContext()->getStrDump(); in dump()
1401 this->dumpDest(Func); in dump()
1403 this->dumpSources(Func); in dump()
1407 void InstImpl<TraitsType>::InstX86Shld::emit(const Cfg *Func) const { in emit() argument
1410 Ostream &Str = Func->getContext()->getStrEmit(); in emit()
1416 this->getSrc(2)->emit(Func); in emit()
1418 this->getSrc(1)->emit(Func); in emit()
1420 Dest->emit(Func); in emit()
1424 void InstImpl<TraitsType>::InstX86Shld::emitIAS(const Cfg *Func) const { in emitIAS() argument
1431 emitIASGPRShiftDouble(Func, Dest, Src1, Src2, Emitter); in emitIAS()
1435 void InstImpl<TraitsType>::InstX86Shld::dump(const Cfg *Func) const { in dump() argument
1438 Ostream &Str = Func->getContext()->getStrDump(); in dump()
1439 this->dumpDest(Func); in dump()
1441 this->dumpSources(Func); in dump()
1445 void InstImpl<TraitsType>::InstX86Shrd::emit(const Cfg *Func) const { in emit() argument
1448 Ostream &Str = Func->getContext()->getStrEmit(); in emit()
1454 this->getSrc(2)->emit(Func); in emit()
1456 this->getSrc(1)->emit(Func); in emit()
1458 Dest->emit(Func); in emit()
1462 void InstImpl<TraitsType>::InstX86Shrd::emitIAS(const Cfg *Func) const { in emitIAS() argument
1469 emitIASGPRShiftDouble(Func, Dest, Src1, Src2, Emitter); in emitIAS()
1473 void InstImpl<TraitsType>::InstX86Shrd::dump(const Cfg *Func) const { in dump() argument
1476 Ostream &Str = Func->getContext()->getStrDump(); in dump()
1477 this->dumpDest(Func); in dump()
1479 this->dumpSources(Func); in dump()
1483 void InstImpl<TraitsType>::InstX86Cmov::emit(const Cfg *Func) const { in emit() argument
1486 Ostream &Str = Func->getContext()->getStrEmit(); in emit()
1493 this->getSrc(1)->emit(Func); in emit()
1495 Dest->emit(Func); in emit()
1499 void InstImpl<TraitsType>::InstX86Cmov::emitIAS(const Cfg *Func) const { in emitIAS() argument
1506 Assembler *Asm = Func->getAssembler<Assembler>(); in emitIAS()
1507 auto *Target = InstX86Base::getTarget(Func); in emitIAS()
1529 void InstImpl<TraitsType>::InstX86Cmov::dump(const Cfg *Func) const { in dump() argument
1532 Ostream &Str = Func->getContext()->getStrDump(); in dump()
1535 this->dumpDest(Func); in dump()
1537 this->dumpSources(Func); in dump()
1541 void InstImpl<TraitsType>::InstX86Cmpps::emit(const Cfg *Func) const { in emit() argument
1544 Ostream &Str = Func->getContext()->getStrEmit(); in emit()
1551 this->getSrc(1)->emit(Func); in emit()
1553 this->getDest()->emit(Func); in emit()
1557 void InstImpl<TraitsType>::InstX86Cmpps::emitIAS(const Cfg *Func) const { in emitIAS() argument
1558 Assembler *Asm = Func->getAssembler<Assembler>(); in emitIAS()
1564 auto *Target = InstX86Base::getTarget(Func); in emitIAS()
1579 void InstImpl<TraitsType>::InstX86Cmpps::dump(const Cfg *Func) const { in dump() argument
1582 Ostream &Str = Func->getContext()->getStrDump(); in dump()
1584 this->dumpDest(Func); in dump()
1587 this->dumpSources(Func); in dump()
1591 void InstImpl<TraitsType>::InstX86Cmpxchg::emit(const Cfg *Func) const { in emit() argument
1594 Ostream &Str = Func->getContext()->getStrEmit(); in emit()
1602 this->getSrc(2)->emit(Func); in emit()
1604 this->getSrc(0)->emit(Func); in emit()
1608 void InstImpl<TraitsType>::InstX86Cmpxchg::emitIAS(const Cfg *Func) const { in emitIAS() argument
1610 Assembler *Asm = Func->getAssembler<Assembler>(); in emitIAS()
1612 auto *Target = InstX86Base::getTarget(Func); in emitIAS()
1623 void InstImpl<TraitsType>::InstX86Cmpxchg::dump(const Cfg *Func) const { in dump() argument
1626 Ostream &Str = Func->getContext()->getStrDump(); in dump()
1631 this->dumpSources(Func); in dump()
1635 void InstImpl<TraitsType>::InstX86Cmpxchg8b::emit(const Cfg *Func) const { in emit() argument
1638 Ostream &Str = Func->getContext()->getStrEmit(); in emit()
1646 this->getSrc(0)->emit(Func); in emit()
1650 void InstImpl<TraitsType>::InstX86Cmpxchg8b::emitIAS(const Cfg *Func) const { in emitIAS() argument
1652 Assembler *Asm = Func->getAssembler<Assembler>(); in emitIAS()
1655 auto *Target = InstX86Base::getTarget(Func); in emitIAS()
1661 void InstImpl<TraitsType>::InstX86Cmpxchg8b::dump(const Cfg *Func) const { in dump() argument
1664 Ostream &Str = Func->getContext()->getStrDump(); in dump()
1669 this->dumpSources(Func); in dump()
1673 void InstImpl<TraitsType>::InstX86Cvt::emit(const Cfg *Func) const { in emit() argument
1676 Ostream &Str = Func->getContext()->getStrEmit(); in emit()
1684 this->getSrc(0)->emit(Func); in emit()
1686 this->getDest()->emit(Func); in emit()
1690 void InstImpl<TraitsType>::InstX86Cvt::emitIAS(const Cfg *Func) const { in emitIAS() argument
1708 Traits::getEncodedGPR>(Func, DestTy, Dest, SrcTy, Src, in emitIAS()
1723 Traits::getEncodedXmm>(Func, DestTy, Dest, SrcTy, Src, in emitIAS()
1738 Traits::getEncodedXmm>(Func, DestTy, Dest, SrcTy, Src, in emitIAS()
1748 emitIASRegOpTyXMM(Func, SrcTy, Dest, Src, Emitter); in emitIAS()
1756 emitIASRegOpTyXMM(Func, DestTy, Dest, Src, Emitter); in emitIAS()
1764 emitIASRegOpTyXMM(Func, DestTy, Dest, Src, Emitter); in emitIAS()
1772 emitIASRegOpTyXMM(Func, DestTy, Dest, Src, Emitter); in emitIAS()
1779 void InstImpl<TraitsType>::InstX86Cvt::dump(const Cfg *Func) const { in dump() argument
1782 Ostream &Str = Func->getContext()->getStrDump(); in dump()
1783 this->dumpDest(Func); in dump()
1789 this->dumpSources(Func); in dump()
1793 void InstImpl<TraitsType>::InstX86Round::emit(const Cfg *Func) const { in emit() argument
1796 Ostream &Str = Func->getContext()->getStrEmit(); in emit()
1800 this->getSrc(1)->emit(Func); in emit()
1802 this->getSrc(0)->emit(Func); in emit()
1804 this->getDest()->emit(Func); in emit()
1808 void InstImpl<TraitsType>::InstX86Round::emitIAS(const Cfg *Func) const { in emitIAS() argument
1810 assert(InstX86Base::getTarget(Func)->getInstructionSet() >= Traits::SSE4_1); in emitIAS()
1816 Traits::getEncodedXmm>(Func, Ty, Dest, this->getSrc(0), in emitIAS()
1821 void InstImpl<TraitsType>::InstX86Icmp::emit(const Cfg *Func) const { in emit() argument
1824 Ostream &Str = Func->getContext()->getStrEmit(); in emit()
1828 this->getSrc(1)->emit(Func); in emit()
1830 this->getSrc(0)->emit(Func); in emit()
1834 void InstImpl<TraitsType>::InstX86Icmp::emitIAS(const Cfg *Func) const { in emitIAS() argument
1846 emitIASRegOpTyGPR(Func, NotLea, Ty, SrcVar0, Src1, RegEmitter); in emitIAS()
1850 emitIASAsAddrOpTyGPR(Func, Ty, Src0, Src1, AddrEmitter); in emitIAS()
1854 void InstImpl<TraitsType>::InstX86Icmp::dump(const Cfg *Func) const { in dump() argument
1857 Ostream &Str = Func->getContext()->getStrDump(); in dump()
1859 this->dumpSources(Func); in dump()
1863 void InstImpl<TraitsType>::InstX86Ucomiss::emit(const Cfg *Func) const { in emit() argument
1866 Ostream &Str = Func->getContext()->getStrEmit(); in emit()
1871 this->getSrc(1)->emit(Func); in emit()
1873 this->getSrc(0)->emit(Func); in emit()
1877 void InstImpl<TraitsType>::InstX86Ucomiss::emitIAS(const Cfg *Func) const { in emitIAS() argument
1886 emitIASRegOpTyXMM(Func, Ty, Src0Var, this->getSrc(1), Emitter); in emitIAS()
1890 void InstImpl<TraitsType>::InstX86Ucomiss::dump(const Cfg *Func) const { in dump() argument
1893 Ostream &Str = Func->getContext()->getStrDump(); in dump()
1895 this->dumpSources(Func); in dump()
1899 void InstImpl<TraitsType>::InstX86UD2::emit(const Cfg *Func) const { in emit() argument
1902 Ostream &Str = Func->getContext()->getStrEmit(); in emit()
1909 void InstImpl<TraitsType>::InstX86UD2::emitIAS(const Cfg *Func) const { in emitIAS() argument
1910 Assembler *Asm = Func->getAssembler<Assembler>(); in emitIAS()
1915 void InstImpl<TraitsType>::InstX86UD2::dump(const Cfg *Func) const { in dump() argument
1918 Ostream &Str = Func->getContext()->getStrDump(); in dump()
1923 void InstImpl<TraitsType>::InstX86Int3::emit(const Cfg *Func) const { in emit() argument
1926 Ostream &Str = Func->getContext()->getStrEmit(); in emit()
1933 void InstImpl<TraitsType>::InstX86Int3::emitIAS(const Cfg *Func) const { in emitIAS() argument
1934 Assembler *Asm = Func->getAssembler<Assembler>(); in emitIAS()
1939 void InstImpl<TraitsType>::InstX86Int3::dump(const Cfg *Func) const { in dump() argument
1942 Ostream &Str = Func->getContext()->getStrDump(); in dump()
1947 void InstImpl<TraitsType>::InstX86Test::emit(const Cfg *Func) const { in emit() argument
1950 Ostream &Str = Func->getContext()->getStrEmit(); in emit()
1954 this->getSrc(1)->emit(Func); in emit()
1956 this->getSrc(0)->emit(Func); in emit()
1960 void InstImpl<TraitsType>::InstX86Test::emitIAS(const Cfg *Func) const { in emitIAS() argument
1973 emitIASRegOpTyGPR(Func, NotLea, Ty, SrcVar0, Src1, RegEmitter); in emitIAS()
1977 emitIASAsAddrOpTyGPR(Func, Ty, Src0, Src1, AddrEmitter); in emitIAS()
1981 void InstImpl<TraitsType>::InstX86Test::dump(const Cfg *Func) const { in dump() argument
1984 Ostream &Str = Func->getContext()->getStrDump(); in dump()
1986 this->dumpSources(Func); in dump()
1990 void InstImpl<TraitsType>::InstX86Mfence::emit(const Cfg *Func) const { in emit() argument
1993 Ostream &Str = Func->getContext()->getStrEmit(); in emit()
2000 void InstImpl<TraitsType>::InstX86Mfence::emitIAS(const Cfg *Func) const { in emitIAS() argument
2001 Assembler *Asm = Func->getAssembler<Assembler>(); in emitIAS()
2006 void InstImpl<TraitsType>::InstX86Mfence::dump(const Cfg *Func) const { in dump() argument
2009 Ostream &Str = Func->getContext()->getStrDump(); in dump()
2014 void InstImpl<TraitsType>::InstX86Store::emit(const Cfg *Func) const { in emit() argument
2017 Ostream &Str = Func->getContext()->getStrEmit(); in emit()
2023 this->getSrc(0)->emit(Func); in emit()
2025 this->getSrc(1)->emit(Func); in emit()
2029 void InstImpl<TraitsType>::InstX86Store::emitIAS(const Cfg *Func) const { in emitIAS() argument
2039 Assembler *Asm = Func->getAssembler<Assembler>(); in emitIAS()
2040 auto *Target = InstX86Base::getTarget(Func); in emitIAS()
2055 emitIASAsAddrOpTyGPR(Func, DestTy, Dest, Src, GPRAddrEmitter); in emitIAS()
2060 void InstImpl<TraitsType>::InstX86Store::dump(const Cfg *Func) const { in dump() argument
2063 Ostream &Str = Func->getContext()->getStrDump(); in dump()
2065 this->getSrc(1)->dump(Func); in dump()
2067 this->getSrc(0)->dump(Func); in dump()
2071 void InstImpl<TraitsType>::InstX86StoreP::emit(const Cfg *Func) const { in emit() argument
2074 Ostream &Str = Func->getContext()->getStrEmit(); in emit()
2079 this->getSrc(0)->emit(Func); in emit()
2081 this->getSrc(1)->emit(Func); in emit()
2085 void InstImpl<TraitsType>::InstX86StoreP::emitIAS(const Cfg *Func) const { in emitIAS() argument
2086 Assembler *Asm = Func->getAssembler<Assembler>(); in emitIAS()
2092 auto *Target = InstX86Base::getTarget(Func); in emitIAS()
2098 void InstImpl<TraitsType>::InstX86StoreP::dump(const Cfg *Func) const { in dump() argument
2101 Ostream &Str = Func->getContext()->getStrDump(); in dump()
2103 this->getSrc(1)->dump(Func); in dump()
2105 this->getSrc(0)->dump(Func); in dump()
2109 void InstImpl<TraitsType>::InstX86StoreQ::emit(const Cfg *Func) const { in emit() argument
2112 Ostream &Str = Func->getContext()->getStrEmit(); in emit()
2119 this->getSrc(0)->emit(Func); in emit()
2121 this->getSrc(1)->emit(Func); in emit()
2125 void InstImpl<TraitsType>::InstX86StoreQ::emitIAS(const Cfg *Func) const { in emitIAS() argument
2126 Assembler *Asm = Func->getAssembler<Assembler>(); in emitIAS()
2132 auto *Target = InstX86Base::getTarget(Func); in emitIAS()
2138 void InstImpl<TraitsType>::InstX86StoreQ::dump(const Cfg *Func) const { in dump() argument
2141 Ostream &Str = Func->getContext()->getStrDump(); in dump()
2143 this->getSrc(1)->dump(Func); in dump()
2145 this->getSrc(0)->dump(Func); in dump()
2149 void InstImpl<TraitsType>::InstX86StoreD::emit(const Cfg *Func) const { in emit() argument
2152 Ostream &Str = Func->getContext()->getStrEmit(); in emit()
2159 this->getSrc(0)->emit(Func); in emit()
2161 this->getSrc(1)->emit(Func); in emit()
2165 void InstImpl<TraitsType>::InstX86StoreD::emitIAS(const Cfg *Func) const { in emitIAS() argument
2166 Assembler *Asm = Func->getAssembler<Assembler>(); in emitIAS()
2172 auto *Target = InstX86Base::getTarget(Func); in emitIAS()
2178 void InstImpl<TraitsType>::InstX86StoreD::dump(const Cfg *Func) const { in dump() argument
2181 Ostream &Str = Func->getContext()->getStrDump(); in dump()
2183 this->getSrc(1)->dump(Func); in dump()
2185 this->getSrc(0)->dump(Func); in dump()
2189 void InstImpl<TraitsType>::InstX86Lea::emit(const Cfg *Func) const { in emit() argument
2192 if (auto *Add = this->deoptLeaToAddOrNull(Func)) { in emit()
2193 Add->emit(Func); in emit()
2197 Ostream &Str = Func->getContext()->getStrEmit(); in emit()
2207 Src0Var->asType(Func, isVectorType(Ty) ? IceType_i32 : Ty, RegNumT()) in emit()
2208 ->emit(Func); in emit()
2210 Src0->emit(Func); in emit()
2213 this->getDest()->emit(Func); in emit()
2217 void InstImpl<TraitsType>::InstX86Mov::emit(const Cfg *Func) const { in emit() argument
2220 Ostream &Str = Func->getContext()->getStrEmit(); in emit()
2242 assert(InstX86Base::getTarget(Func)->typeWidthInBytesOnStack(DestTy) == in emit()
2243 InstX86Base::getTarget(Func)->typeWidthInBytesOnStack(SrcTy)); in emit()
2250 NewSrc = SrcVar->asType(Func, DestTy, NewRegNum); in emit()
2252 NewSrc->emit(Func); in emit()
2254 this->getDest()->emit(Func); in emit()
2258 void InstImpl<TraitsType>::InstX86Mov::emitIAS(const Cfg *Func) const { in emitIAS() argument
2281 auto *Target = InstX86Base::getTarget(Func); in emitIAS()
2286 emitIASRegOpTyXMM(Func, DestTy, Dest, Src, XmmRegEmitter); in emitIAS()
2294 Func->getAssembler<Assembler>()->movabs( in emitIAS()
2303 emitIASRegOpTyGPR(Func, NotLea, DestTy, Dest, Src, GPRRegEmitter); in emitIAS()
2314 Assembler *Asm = Func->getAssembler<Assembler>(); in emitIAS()
2321 Assembler *Asm = Func->getAssembler<Assembler>(); in emitIAS()
2326 emitIASAddrOpTyGPR(Func, SrcTy, StackAddr, Src, GPRAddrEmitter); in emitIAS()
2334 void InstImpl<TraitsType>::InstX86Movd::emit(const Cfg *Func) const { in emit() argument
2344 Ostream &Str = Func->getContext()->getStrEmit(); in emit()
2348 Src->emit(Func); in emit()
2350 Dest->emit(Func); in emit()
2354 InstX86BaseUnaryopXmm<InstX86Base::Movd>::emit(Func); in emit()
2358 void InstImpl<TraitsType>::InstX86Movd::emitIAS(const Cfg *Func) const { in emitIAS() argument
2359 Assembler *Asm = Func->getAssembler<Assembler>(); in emitIAS()
2362 auto *Target = InstX86Base::getTarget(Func); in emitIAS()
2407 void InstImpl<TraitsType>::InstX86Movp::emit(const Cfg *Func) const { in emit() argument
2413 Ostream &Str = Func->getContext()->getStrEmit(); in emit()
2417 this->getSrc(0)->emit(Func); in emit()
2419 this->getDest()->emit(Func); in emit()
2423 void InstImpl<TraitsType>::InstX86Movp::emitIAS(const Cfg *Func) const { in emitIAS() argument
2430 emitIASMovlikeXMM(Func, Dest, Src, Emitter); in emitIAS()
2434 void InstImpl<TraitsType>::InstX86Movq::emit(const Cfg *Func) const { in emit() argument
2437 Ostream &Str = Func->getContext()->getStrEmit(); in emit()
2444 this->getSrc(0)->emit(Func); in emit()
2446 this->getDest()->emit(Func); in emit()
2450 void InstImpl<TraitsType>::InstX86Movq::emitIAS(const Cfg *Func) const { in emitIAS() argument
2459 emitIASMovlikeXMM(Func, Dest, Src, Emitter); in emitIAS()
2463 void InstImpl<TraitsType>::InstX86MovssRegs::emitIAS(const Cfg *Func) const { in emitIAS() argument
2471 Assembler *Asm = Func->getAssembler<Assembler>(); in emitIAS()
2477 void InstImpl<TraitsType>::InstX86Movsx::emitIAS(const Cfg *Func) const { in emitIAS() argument
2488 emitIASRegOpTyGPR<false, true>(Func, NotLea, SrcTy, Dest, Src, this->Emitter); in emitIAS()
2516 void InstImpl<TraitsType>::InstX86Movzx::emit(const Cfg *Func) const { in emit() argument
2526 Ostream &Str = Func->getContext()->getStrEmit(); in emit()
2533 Src->emit(Func); in emit()
2535 Dest->asType(Func, IceType_i32, in emit()
2537 ->emit(Func); in emit()
2543 InstX86BaseUnaryopGPR<InstX86Base::Movzx>::emit(Func); in emit()
2547 void InstImpl<TraitsType>::InstX86Movzx::emitIAS(const Cfg *Func) const { in emitIAS() argument
2561 emitIASRegOpTyGPR<false, true>(Func, NotLea, SrcTy, Dest, Src, this->Emitter); in emitIAS()
2565 void InstImpl<TraitsType>::InstX86Nop::emit(const Cfg *Func) const { in emit() argument
2568 Ostream &Str = Func->getContext()->getStrEmit(); in emit()
2575 void InstImpl<TraitsType>::InstX86Nop::emitIAS(const Cfg *Func) const { in emitIAS() argument
2576 Assembler *Asm = Func->getAssembler<Assembler>(); in emitIAS()
2582 void InstImpl<TraitsType>::InstX86Nop::dump(const Cfg *Func) const { in dump() argument
2585 Ostream &Str = Func->getContext()->getStrDump(); in dump()
2590 void InstImpl<TraitsType>::InstX86Fld::emit(const Cfg *Func) const { in emit() argument
2593 Ostream &Str = Func->getContext()->getStrEmit(); in emit()
2603 Var->emit(Func); in emit()
2612 this->getSrc(0)->emit(Func); in emit()
2616 void InstImpl<TraitsType>::InstX86Fld::emitIAS(const Cfg *Func) const { in emitIAS() argument
2617 Assembler *Asm = Func->getAssembler<Assembler>(); in emitIAS()
2620 auto *Target = InstX86Base::getTarget(Func); in emitIAS()
2646 void InstImpl<TraitsType>::InstX86Fld::dump(const Cfg *Func) const { in dump() argument
2649 Ostream &Str = Func->getContext()->getStrDump(); in dump()
2651 this->dumpSources(Func); in dump()
2655 void InstImpl<TraitsType>::InstX86Fstp::emit(const Cfg *Func) const { in emit() argument
2658 Ostream &Str = Func->getContext()->getStrEmit(); in emit()
2673 this->getDest()->emit(Func); in emit()
2685 this->getDest()->emit(Func); in emit()
2689 void InstImpl<TraitsType>::InstX86Fstp::emitIAS(const Cfg *Func) const { in emitIAS() argument
2690 Assembler *Asm = Func->getAssembler<Assembler>(); in emitIAS()
2700 auto *Target = InstX86Base::getTarget(Func); in emitIAS()
2717 void InstImpl<TraitsType>::InstX86Fstp::dump(const Cfg *Func) const { in dump() argument
2720 Ostream &Str = Func->getContext()->getStrDump(); in dump()
2721 this->dumpDest(Func); in dump()
2726 void InstImpl<TraitsType>::InstX86Pextr::emit(const Cfg *Func) const { in emit() argument
2729 Ostream &Str = Func->getContext()->getStrEmit(); in emit()
2735 this->getSrc(1)->emit(Func); in emit()
2737 this->getSrc(0)->emit(Func); in emit()
2744 Dest->asType(Func, IceType_i32, Dest->getRegNum())->emit(Func); in emit()
2748 void InstImpl<TraitsType>::InstX86Pextr::emitIAS(const Cfg *Func) const { in emitIAS() argument
2763 Func, DispatchTy, Dest, this->getSrc(0), this->getSrc(1), Emitter); in emitIAS()
2767 void InstImpl<TraitsType>::InstX86Pinsr::emit(const Cfg *Func) const { in emit() argument
2770 Ostream &Str = Func->getContext()->getStrEmit(); in emit()
2775 this->getSrc(2)->emit(Func); in emit()
2782 const Variable *NewSrc = Src1Var->asType(Func, IceType_i32, NewRegNum); in emit()
2783 NewSrc->emit(Func); in emit()
2785 Src1Var->emit(Func); in emit()
2788 Src1->emit(Func); in emit()
2791 this->getDest()->emit(Func); in emit()
2795 void InstImpl<TraitsType>::InstX86Pinsr::emitIAS(const Cfg *Func) const { in emitIAS() argument
2819 Traits::getEncodedGPR>(Func, DispatchTy, this->getDest(), in emitIAS()
2824 void InstImpl<TraitsType>::InstX86Pshufd::emitIAS(const Cfg *Func) const { in emitIAS() argument
2831 Traits::getEncodedXmm>(Func, Ty, Dest, this->getSrc(0), in emitIAS()
2836 void InstImpl<TraitsType>::InstX86Shufps::emitIAS(const Cfg *Func) const { in emitIAS() argument
2844 Traits::getEncodedXmm>(Func, Ty, Dest, this->getSrc(1), in emitIAS()
2849 void InstImpl<TraitsType>::InstX86Pop::emit(const Cfg *Func) const { in emit() argument
2852 Ostream &Str = Func->getContext()->getStrEmit(); in emit()
2856 this->getDest()->emit(Func); in emit()
2860 void InstImpl<TraitsType>::InstX86Pop::emitIAS(const Cfg *Func) const { in emitIAS() argument
2862 Assembler *Asm = Func->getAssembler<Assembler>(); in emitIAS()
2866 auto *Target = InstX86Base::getTarget(Func); in emitIAS()
2872 void InstImpl<TraitsType>::InstX86Pop::dump(const Cfg *Func) const { in dump() argument
2875 Ostream &Str = Func->getContext()->getStrDump(); in dump()
2876 this->dumpDest(Func); in dump()
2881 void InstImpl<TraitsType>::InstX86Push::emit(const Cfg *Func) const { in emit() argument
2884 Ostream &Str = Func->getContext()->getStrEmit(); in emit()
2890 Src->emit(Func); in emit()
2894 void InstImpl<TraitsType>::InstX86Push::emitIAS(const Cfg *Func) const { in emitIAS() argument
2895 Assembler *Asm = Func->getAssembler<Assembler>(); in emitIAS()
2912 void InstImpl<TraitsType>::InstX86Push::dump(const Cfg *Func) const { in dump() argument
2915 Ostream &Str = Func->getContext()->getStrDump(); in dump()
2917 this->dumpSources(Func); in dump()
2921 void InstImpl<TraitsType>::InstX86Ret::emit(const Cfg *Func) const { in emit() argument
2924 Ostream &Str = Func->getContext()->getStrEmit(); in emit()
2930 void InstImpl<TraitsType>::InstX86Ret::emitIAS(const Cfg *Func) const { in emitIAS() argument
2931 Assembler *Asm = Func->getAssembler<Assembler>(); in emitIAS()
2936 void InstImpl<TraitsType>::InstX86Ret::dump(const Cfg *Func) const { in dump() argument
2939 Ostream &Str = Func->getContext()->getStrDump(); in dump()
2943 this->dumpSources(Func); in dump()
2947 void InstImpl<TraitsType>::InstX86Setcc::emit(const Cfg *Func) const { in emit() argument
2950 Ostream &Str = Func->getContext()->getStrEmit(); in emit()
2953 this->Dest->emit(Func); in emit()
2957 void InstImpl<TraitsType>::InstX86Setcc::emitIAS(const Cfg *Func) const { in emitIAS() argument
2961 Assembler *Asm = Func->getAssembler<Assembler>(); in emitIAS()
2962 auto *Target = InstX86Base::getTarget(Func); in emitIAS()
2972 void InstImpl<TraitsType>::InstX86Setcc::dump(const Cfg *Func) const { in dump() argument
2975 Ostream &Str = Func->getContext()->getStrDump(); in dump()
2977 this->dumpDest(Func); in dump()
2981 void InstImpl<TraitsType>::InstX86Xadd::emit(const Cfg *Func) const { in emit() argument
2984 Ostream &Str = Func->getContext()->getStrEmit(); in emit()
2991 this->getSrc(1)->emit(Func); in emit()
2993 this->getSrc(0)->emit(Func); in emit()
2997 void InstImpl<TraitsType>::InstX86Xadd::emitIAS(const Cfg *Func) const { in emitIAS() argument
2999 Assembler *Asm = Func->getAssembler<Assembler>(); in emitIAS()
3003 auto *Target = InstX86Base::getTarget(Func); in emitIAS()
3012 void InstImpl<TraitsType>::InstX86Xadd::dump(const Cfg *Func) const { in dump() argument
3015 Ostream &Str = Func->getContext()->getStrDump(); in dump()
3021 this->dumpSources(Func); in dump()
3025 void InstImpl<TraitsType>::InstX86Xchg::emit(const Cfg *Func) const { in emit() argument
3028 Ostream &Str = Func->getContext()->getStrEmit(); in emit()
3031 this->getSrc(1)->emit(Func); in emit()
3033 this->getSrc(0)->emit(Func); in emit()
3037 void InstImpl<TraitsType>::InstX86Xchg::emitIAS(const Cfg *Func) const { in emitIAS() argument
3039 Assembler *Asm = Func->getAssembler<Assembler>(); in emitIAS()
3054 auto *Target = InstX86Base::getTarget(Func); in emitIAS()
3060 void InstImpl<TraitsType>::InstX86Xchg::dump(const Cfg *Func) const { in dump() argument
3063 Ostream &Str = Func->getContext()->getStrDump(); in dump()
3066 this->dumpSources(Func); in dump()
3070 void InstImpl<TraitsType>::InstX86IacaStart::emit(const Cfg *Func) const { in emit() argument
3073 Ostream &Str = Func->getContext()->getStrEmit(); in emit()
3082 void InstImpl<TraitsType>::InstX86IacaStart::emitIAS(const Cfg *Func) const { in emitIAS() argument
3083 Assembler *Asm = Func->getAssembler<Assembler>(); in emitIAS()
3088 void InstImpl<TraitsType>::InstX86IacaStart::dump(const Cfg *Func) const { in dump() argument
3091 Ostream &Str = Func->getContext()->getStrDump(); in dump()
3096 void InstImpl<TraitsType>::InstX86IacaEnd::emit(const Cfg *Func) const { in emit() argument
3099 Ostream &Str = Func->getContext()->getStrEmit(); in emit()
3108 void InstImpl<TraitsType>::InstX86IacaEnd::emitIAS(const Cfg *Func) const { in emitIAS() argument
3109 Assembler *Asm = Func->getAssembler<Assembler>(); in emitIAS()
3114 void InstImpl<TraitsType>::InstX86IacaEnd::dump(const Cfg *Func) const { in dump() argument
3117 Ostream &Str = Func->getContext()->getStrDump(); in dump()