Lines Matching refs:Inst

89   void X86AsmPrinter::StackMapShadowTracker::count(MCInst &Inst,
95 CodeEmitter->encodeInstruction(Inst, VecOS, Fixups, STI);
111 void X86AsmPrinter::EmitAndCountInstruction(MCInst &Inst) {
112 OutStreamer->EmitInstruction(Inst, getSubtargetInfo());
113 SMShadowTracker.count(Inst, getSubtargetInfo());
300 static void SimplifyShortImmForm(MCInst &Inst, unsigned Opcode) {
301 unsigned ImmOp = Inst.getNumOperands() - 1;
302 assert(Inst.getOperand(0).isReg() &&
303 (Inst.getOperand(ImmOp).isImm() || Inst.getOperand(ImmOp).isExpr()) &&
304 ((Inst.getNumOperands() == 3 && Inst.getOperand(1).isReg() &&
305 Inst.getOperand(0).getReg() == Inst.getOperand(1).getReg()) ||
306 Inst.getNumOperands() == 2) && "Unexpected instruction!");
309 unsigned Reg = Inst.getOperand(0).getReg();
314 MCOperand Saved = Inst.getOperand(ImmOp);
315 Inst = MCInst();
316 Inst.setOpcode(Opcode);
317 Inst.addOperand(Saved);
322 static void SimplifyMOVSX(MCInst &Inst) {
324 unsigned Op0 = Inst.getOperand(0).getReg(), Op1 = Inst.getOperand(1).getReg();
325 switch (Inst.getOpcode()) {
343 Inst = MCInst();
344 Inst.setOpcode(NewOpcode);
349 static void SimplifyShortMoveForm(X86AsmPrinter &Printer, MCInst &Inst,
356 bool IsStore = Inst.getOperand(0).isReg() && Inst.getOperand(1).isReg();
360 assert(Inst.getNumOperands() == 6 && Inst.getOperand(RegOp).isReg() &&
361 Inst.getOperand(AddrBase + X86::AddrBaseReg).isReg() &&
362 Inst.getOperand(AddrBase + X86::AddrScaleAmt).isImm() &&
363 Inst.getOperand(AddrBase + X86::AddrIndexReg).isReg() &&
364 Inst.getOperand(AddrBase + X86::AddrSegmentReg).isReg() &&
365 (Inst.getOperand(AddrOp).isExpr() ||
366 Inst.getOperand(AddrOp).isImm()) &&
370 unsigned Reg = Inst.getOperand(RegOp).getReg();
378 if (Inst.getOperand(AddrOp).isExpr()) {
379 const MCExpr *MCE = Inst.getOperand(AddrOp).getExpr();
386 (Inst.getOperand(AddrBase + X86::AddrBaseReg).getReg() != 0 ||
387 Inst.getOperand(AddrBase + X86::AddrScaleAmt).getImm() != 1 ||
388 Inst.getOperand(AddrBase + X86::AddrIndexReg).getReg() != 0))
392 MCOperand Saved = Inst.getOperand(AddrOp);
393 MCOperand Seg = Inst.getOperand(AddrBase + X86::AddrSegmentReg);
394 Inst = MCInst();
395 Inst.setOpcode(Opcode);
396 Inst.addOperand(Saved);
397 Inst.addOperand(Seg);