Lines Matching full:mi

55 void PPCInstPrinter::printInst(const MCInst *MI, uint64_t Address,
63 (MI->getOpcode() == PPC::ADDIS8 || MI->getOpcode() == PPC::ADDIS) &&
64 MI->getOperand(2).isExpr()) {
65 assert((MI->getOperand(0).isReg() && MI->getOperand(1).isReg()) &&
69 assert(isa<MCSymbolRefExpr>(MI->getOperand(2).getExpr()) &&
74 printOperand(MI, 0, STI, O);
76 printOperand(MI, 2, STI, O);
78 printOperand(MI, 1, STI, O);
86 unsigned LastOp = MI->getNumOperands() - 1;
87 if (MI->getNumOperands() > 1) {
88 const MCOperand &Operand = MI->getOperand(LastOp);
96 if (MI->getOpcode() == PPC::PLDpc) {
97 printInstruction(MI, Address, STI, O);
114 if (MI->getOpcode() == PPC::RLWINM) {
115 unsigned char SH = MI->getOperand(2).getImm();
116 unsigned char MB = MI->getOperand(3).getImm();
117 unsigned char ME = MI->getOperand(4).getImm();
127 printOperand(MI, 0, STI, O);
129 printOperand(MI, 1, STI, O);
137 if (MI->getOpcode() == PPC::RLDICR ||
138 MI->getOpcode() == PPC::RLDICR_32) {
139 unsigned char SH = MI->getOperand(2).getImm();
140 unsigned char ME = MI->getOperand(3).getImm();
144 printOperand(MI, 0, STI, O);
146 printOperand(MI, 1, STI, O);
163 if ((MI->getOpcode() == PPC::DCBT || MI->getOpcode() == PPC::DCBTST) &&
165 unsigned char TH = MI->getOperand(0).getImm();
167 if (MI->getOpcode() == PPC::DCBTST)
177 printOperand(MI, 1, STI, O);
179 printOperand(MI, 2, STI, O);
188 if (MI->getOpcode() == PPC::DCBF) {
189 unsigned char L = MI->getOperand(0).getImm();
204 printOperand(MI, 1, STI, O);
206 printOperand(MI, 2, STI, O);
213 if (!printAliasInstr(MI, Address, STI, O))
214 printInstruction(MI, Address, STI, O);
218 void PPCInstPrinter::printPredicateOperand(const MCInst *MI, unsigned OpNo,
222 unsigned Code = MI->getOperand(OpNo).getImm();
313 printOperand(MI, OpNo + 1, STI, O);
316 void PPCInstPrinter::printATBitsAsHint(const MCInst *MI, unsigned OpNo,
319 unsigned Code = MI->getOperand(OpNo).getImm();
326 void PPCInstPrinter::printU1ImmOperand(const MCInst *MI, unsigned OpNo,
329 unsigned int Value = MI->getOperand(OpNo).getImm();
334 void PPCInstPrinter::printU2ImmOperand(const MCInst *MI, unsigned OpNo,
337 unsigned int Value = MI->getOperand(OpNo).getImm();
342 void PPCInstPrinter::printU3ImmOperand(const MCInst *MI, unsigned OpNo,
345 unsigned int Value = MI->getOperand(OpNo).getImm();
350 void PPCInstPrinter::printU4ImmOperand(const MCInst *MI, unsigned OpNo,
353 unsigned int Value = MI->getOperand(OpNo).getImm();
358 void PPCInstPrinter::printS5ImmOperand(const MCInst *MI, unsigned OpNo,
361 int Value = MI->getOperand(OpNo).getImm();
366 void PPCInstPrinter::printImmZeroOperand(const MCInst *MI, unsigned OpNo,
369 unsigned int Value = MI->getOperand(OpNo).getImm();
374 void PPCInstPrinter::printU5ImmOperand(const MCInst *MI, unsigned OpNo,
377 unsigned int Value = MI->getOperand(OpNo).getImm();
382 void PPCInstPrinter::printU6ImmOperand(const MCInst *MI, unsigned OpNo,
385 unsigned int Value = MI->getOperand(OpNo).getImm();
390 void PPCInstPrinter::printU7ImmOperand(const MCInst *MI, unsigned OpNo,
393 unsigned int Value = MI->getOperand(OpNo).getImm();
401 void PPCInstPrinter::printU8ImmOperand(const MCInst *MI, unsigned OpNo,
404 unsigned char Value = MI->getOperand(OpNo).getImm();
408 void PPCInstPrinter::printU10ImmOperand(const MCInst *MI, unsigned OpNo,
411 unsigned short Value = MI->getOperand(OpNo).getImm();
416 void PPCInstPrinter::printU12ImmOperand(const MCInst *MI, unsigned OpNo,
419 unsigned short Value = MI->getOperand(OpNo).getImm();
424 void PPCInstPrinter::printS16ImmOperand(const MCInst *MI, unsigned OpNo,
427 if (MI->getOperand(OpNo).isImm())
428 O << (short)MI->getOperand(OpNo).getImm();
430 printOperand(MI, OpNo, STI, O);
433 void PPCInstPrinter::printS34ImmOperand(const MCInst *MI, unsigned OpNo,
436 if (MI->getOperand(OpNo).isImm()) {
437 long long Value = MI->getOperand(OpNo).getImm();
442 printOperand(MI, OpNo, STI, O);
445 void PPCInstPrinter::printU16ImmOperand(const MCInst *MI, unsigned OpNo,
448 if (MI->getOperand(OpNo).isImm())
449 O << (unsigned short)MI->getOperand(OpNo).getImm();
451 printOperand(MI, OpNo, STI, O);
454 void PPCInstPrinter::printBranchOperand(const MCInst *MI, uint64_t Address,
458 if (!MI->getOperand(OpNo).isImm())
459 return printOperand(MI, OpNo, STI, O);
460 int32_t Imm = SignExtend32<32>((unsigned)MI->getOperand(OpNo).getImm() << 2);
481 void PPCInstPrinter::printAbsBranchOperand(const MCInst *MI, unsigned OpNo,
484 if (!MI->getOperand(OpNo).isImm())
485 return printOperand(MI, OpNo, STI, O);
487 uint64_t Imm = static_cast<uint64_t>(MI->getOperand(OpNo).getImm()) << 2;
493 void PPCInstPrinter::printcrbitm(const MCInst *MI, unsigned OpNo,
495 unsigned CCReg = MI->getOperand(OpNo).getReg();
511 void PPCInstPrinter::printMemRegImm(const MCInst *MI, unsigned OpNo,
514 printS16ImmOperand(MI, OpNo, STI, O);
516 if (MI->getOperand(OpNo+1).getReg() == PPC::R0)
519 printOperand(MI, OpNo + 1, STI, O);
523 void PPCInstPrinter::printMemRegImmHash(const MCInst *MI, unsigned OpNo,
526 O << MI->getOperand(OpNo).getImm();
528 printOperand(MI, OpNo + 1, STI, O);
532 void PPCInstPrinter::printMemRegImm34PCRel(const MCInst *MI, unsigned OpNo,
535 printS34ImmOperand(MI, OpNo, STI, O);
537 printImmZeroOperand(MI, OpNo + 1, STI, O);
541 void PPCInstPrinter::printMemRegImm34(const MCInst *MI, unsigned OpNo,
544 printS34ImmOperand(MI, OpNo, STI, O);
546 printOperand(MI, OpNo + 1, STI, O);
550 void PPCInstPrinter::printMemRegReg(const MCInst *MI, unsigned OpNo,
556 if (MI->getOperand(OpNo).getReg() == PPC::R0)
559 printOperand(MI, OpNo, STI, O);
561 printOperand(MI, OpNo + 1, STI, O);
564 void PPCInstPrinter::printTLSCall(const MCInst *MI, unsigned OpNo,
568 const MCOperand &Op = MI->getOperand(OpNo);
585 printOperand(MI, OpNo + 1, STI, O);
647 void PPCInstPrinter::printOperand(const MCInst *MI, unsigned OpNo,
649 const MCOperand &Op = MI->getOperand(OpNo);
653 Reg = PPC::getRegNumForOperand(MII.get(MI->getOpcode()), Reg, OpNo);