LLVM API Documentation
00001 //===- TableGen'erated file -------------------------------------*- C++ -*-===// 00002 // 00003 // Assembly Writer Source Fragment 00004 // 00005 // Automatically generated file, do not edit! 00006 // 00007 //===----------------------------------------------------------------------===// 00008 00009 /// printInstruction - This method is automatically generated by tablegen 00010 /// from the instruction set description. This method returns true if the 00011 /// machine instruction was sufficiently described to print it, otherwise 00012 /// it returns false. 00013 bool PowerPCAsmPrinter::printInstruction(const MachineInstr *MI) { 00014 switch (MI->getOpcode()) { 00015 default: return false; 00016 case PPC::ADD: O << "add "; printOperand(MI, 0, MVT::i64); O << ", "; printOperand(MI, 1, MVT::i64); O << ", "; printOperand(MI, 2, MVT::i64); O << '\n'; break; 00017 case PPC::ADDC: O << "addc "; printOperand(MI, 0, MVT::i64); O << ", "; printOperand(MI, 1, MVT::i64); O << ", "; printOperand(MI, 2, MVT::i64); O << '\n'; break; 00018 case PPC::ADDE: O << "adde "; printOperand(MI, 0, MVT::i64); O << ", "; printOperand(MI, 1, MVT::i64); O << ", "; printOperand(MI, 2, MVT::i64); O << '\n'; break; 00019 case PPC::ADDI: O << "addi "; printOperand(MI, 0, MVT::i64); O << ", "; printOperand(MI, 1, MVT::i64); O << ", "; printS16ImmOperand(MI, 2, MVT::i16); O << '\n'; break; 00020 case PPC::ADDIC: O << "addic "; printOperand(MI, 0, MVT::i64); O << ", "; printOperand(MI, 1, MVT::i64); O << ", "; printS16ImmOperand(MI, 2, MVT::i16); O << '\n'; break; 00021 case PPC::ADDICo: O << "addic. "; printOperand(MI, 0, MVT::i64); O << ", "; printOperand(MI, 1, MVT::i64); O << ", "; printS16ImmOperand(MI, 2, MVT::i16); O << '\n'; break; 00022 case PPC::ADDIS: O << "addis "; printOperand(MI, 0, MVT::i64); O << ", "; printOperand(MI, 1, MVT::i64); O << ", "; printS16ImmOperand(MI, 2, MVT::i16); O << '\n'; break; 00023 case PPC::ADDME: O << "addme "; printOperand(MI, 0, MVT::i64); O << ", "; printOperand(MI, 1, MVT::i64); O << '\n'; break; 00024 case PPC::ADDZE: O << "addze "; printOperand(MI, 0, MVT::i64); O << ", "; printOperand(MI, 1, MVT::i64); O << '\n'; break; 00025 case PPC::ADJCALLSTACKDOWN: O << "; ADJCALLSTACKDOWN" << '\n'; break; 00026 case PPC::ADJCALLSTACKUP: O << "; ADJCALLSTACKUP" << '\n'; break; 00027 case PPC::AND: O << "and "; printOperand(MI, 0, MVT::i64); O << ", "; printOperand(MI, 1, MVT::i64); O << ", "; printOperand(MI, 2, MVT::i64); O << '\n'; break; 00028 case PPC::ANDC: O << "andc "; printOperand(MI, 0, MVT::i64); O << ", "; printOperand(MI, 1, MVT::i64); O << ", "; printOperand(MI, 2, MVT::i64); O << '\n'; break; 00029 case PPC::ANDISo: O << "andis. "; printOperand(MI, 0, MVT::i64); O << ", "; printOperand(MI, 1, MVT::i64); O << ", "; printU16ImmOperand(MI, 2, MVT::i16); O << '\n'; break; 00030 case PPC::ANDIo: O << "andi. "; printOperand(MI, 0, MVT::i64); O << ", "; printOperand(MI, 1, MVT::i64); O << ", "; printU16ImmOperand(MI, 2, MVT::i16); O << '\n'; break; 00031 case PPC::B: O << "b "; printBranchOperand(MI, 0, MVT::i32); O << '\n'; break; 00032 case PPC::BCTR: O << "bctr" << '\n'; break; 00033 case PPC::BEQ: O << "beq "; printBranchOperand(MI, 1, MVT::i32); O << '\n'; break; 00034 case PPC::BGE: O << "bge "; printBranchOperand(MI, 1, MVT::i32); O << '\n'; break; 00035 case PPC::BGT: O << "bgt "; printBranchOperand(MI, 1, MVT::i32); O << '\n'; break; 00036 case PPC::BL: O << "bl "; printBranchOperand(MI, 0, MVT::i32); O << '\n'; break; 00037 case PPC::BLE: O << "ble "; printBranchOperand(MI, 1, MVT::i32); O << '\n'; break; 00038 case PPC::BLR: O << "blr" << '\n'; break; 00039 case PPC::BLT: O << "blt "; printBranchOperand(MI, 1, MVT::i32); O << '\n'; break; 00040 case PPC::BNE: O << "bne "; printBranchOperand(MI, 1, MVT::i32); O << '\n'; break; 00041 case PPC::CALLindirect: O << "bctrl" << '\n'; break; 00042 case PPC::CALLpcrel: O << "bl "; printBranchOperand(MI, 0, MVT::i32); O << '\n'; break; 00043 case PPC::CMP: O << "cmp "; printOperand(MI, 0, MVT::i32); O << ", "; printOperand(MI, 1, MVT::i1); O << ", "; printOperand(MI, 2, MVT::i64); O << ", "; printOperand(MI, 3, MVT::i64); O << '\n'; break; 00044 case PPC::CMPD: O << "cmpd "; printOperand(MI, 0, MVT::i32); O << ", "; printOperand(MI, 1, MVT::i64); O << ", "; printOperand(MI, 2, MVT::i64); O << '\n'; break; 00045 case PPC::CMPDI: O << "cmpdi "; printOperand(MI, 0, MVT::i32); O << ", "; printOperand(MI, 1, MVT::i64); O << ", "; printS16ImmOperand(MI, 2, MVT::i16); O << '\n'; break; 00046 case PPC::CMPI: O << "cmpi "; printOperand(MI, 0, MVT::i32); O << ", "; printOperand(MI, 1, MVT::i1); O << ", "; printOperand(MI, 2, MVT::i64); O << ", "; printS16ImmOperand(MI, 3, MVT::i16); O << '\n'; break; 00047 case PPC::CMPL: O << "cmpl "; printOperand(MI, 0, MVT::i32); O << ", "; printOperand(MI, 1, MVT::i1); O << ", "; printOperand(MI, 2, MVT::i64); O << ", "; printOperand(MI, 3, MVT::i64); O << '\n'; break; 00048 case PPC::CMPLD: O << "cmpld "; printOperand(MI, 0, MVT::i32); O << ", "; printOperand(MI, 1, MVT::i64); O << ", "; printOperand(MI, 2, MVT::i64); O << '\n'; break; 00049 case PPC::CMPLDI: O << "cmpldi "; printOperand(MI, 0, MVT::i32); O << ", "; printOperand(MI, 1, MVT::i64); O << ", "; printU16ImmOperand(MI, 2, MVT::i16); O << '\n'; break; 00050 case PPC::CMPLI: O << "cmpli "; printOperand(MI, 0, MVT::i32); O << ", "; printOperand(MI, 1, MVT::i1); O << ", "; printOperand(MI, 2, MVT::i64); O << ", "; printU16ImmOperand(MI, 3, MVT::i16); O << '\n'; break; 00051 case PPC::CMPLW: O << "cmplw "; printOperand(MI, 0, MVT::i32); O << ", "; printOperand(MI, 1, MVT::i64); O << ", "; printOperand(MI, 2, MVT::i64); O << '\n'; break; 00052 case PPC::CMPLWI: O << "cmplwi "; printOperand(MI, 0, MVT::i32); O << ", "; printOperand(MI, 1, MVT::i64); O << ", "; printU16ImmOperand(MI, 2, MVT::i16); O << '\n'; break; 00053 case PPC::CMPW: O << "cmpw "; printOperand(MI, 0, MVT::i32); O << ", "; printOperand(MI, 1, MVT::i64); O << ", "; printOperand(MI, 2, MVT::i64); O << '\n'; break; 00054 case PPC::CMPWI: O << "cmpwi "; printOperand(MI, 0, MVT::i32); O << ", "; printOperand(MI, 1, MVT::i64); O << ", "; printS16ImmOperand(MI, 2, MVT::i16); O << '\n'; break; 00055 case PPC::CNTLZW: O << "cntlzw "; printOperand(MI, 0, MVT::i64); O << ", "; printOperand(MI, 1, MVT::i64); O << '\n'; break; 00056 case PPC::COND_BRANCH: O << "; COND_BRANCH" << '\n'; break; 00057 case PPC::CRAND: O << "crand "; printU5ImmOperand(MI, 0, MVT::i8); O << ", "; printU5ImmOperand(MI, 1, MVT::i8); O << ", "; printU5ImmOperand(MI, 2, MVT::i8); O << '\n'; break; 00058 case PPC::CRANDC: O << "crandc "; printU5ImmOperand(MI, 0, MVT::i8); O << ", "; printU5ImmOperand(MI, 1, MVT::i8); O << ", "; printU5ImmOperand(MI, 2, MVT::i8); O << '\n'; break; 00059 case PPC::CRNOR: O << "crnor "; printU5ImmOperand(MI, 0, MVT::i8); O << ", "; printU5ImmOperand(MI, 1, MVT::i8); O << ", "; printU5ImmOperand(MI, 2, MVT::i8); O << '\n'; break; 00060 case PPC::CROR: O << "cror "; printU5ImmOperand(MI, 0, MVT::i8); O << ", "; printU5ImmOperand(MI, 1, MVT::i8); O << ", "; printU5ImmOperand(MI, 2, MVT::i8); O << '\n'; break; 00061 case PPC::DIVD: O << "divd "; printOperand(MI, 0, MVT::i64); O << ", "; printOperand(MI, 1, MVT::i64); O << ", "; printOperand(MI, 2, MVT::i64); O << '\n'; break; 00062 case PPC::DIVDU: O << "divdu "; printOperand(MI, 0, MVT::i64); O << ", "; printOperand(MI, 1, MVT::i64); O << ", "; printOperand(MI, 2, MVT::i64); O << '\n'; break; 00063 case PPC::DIVW: O << "divw "; printOperand(MI, 0, MVT::i64); O << ", "; printOperand(MI, 1, MVT::i64); O << ", "; printOperand(MI, 2, MVT::i64); O << '\n'; break; 00064 case PPC::DIVWU: O << "divwu "; printOperand(MI, 0, MVT::i64); O << ", "; printOperand(MI, 1, MVT::i64); O << ", "; printOperand(MI, 2, MVT::i64); O << '\n'; break; 00065 case PPC::EQV: O << "eqv "; printOperand(MI, 0, MVT::i64); O << ", "; printOperand(MI, 1, MVT::i64); O << ", "; printOperand(MI, 2, MVT::i64); O << '\n'; break; 00066 case PPC::EXTSB: O << "extsb "; printOperand(MI, 0, MVT::i64); O << ", "; printOperand(MI, 1, MVT::i64); O << '\n'; break; 00067 case PPC::EXTSH: O << "extsh "; printOperand(MI, 0, MVT::i64); O << ", "; printOperand(MI, 1, MVT::i64); O << '\n'; break; 00068 case PPC::EXTSW: O << "extsw "; printOperand(MI, 0, MVT::i64); O << ", "; printOperand(MI, 1, MVT::i64); O << '\n'; break; 00069 case PPC::FADD: O << "fadd "; printOperand(MI, 0, MVT::f64); O << ", "; printOperand(MI, 1, MVT::f64); O << ", "; printOperand(MI, 2, MVT::f64); O << '\n'; break; 00070 case PPC::FADDS: O << "fadds "; printOperand(MI, 0, MVT::f64); O << ", "; printOperand(MI, 1, MVT::f64); O << ", "; printOperand(MI, 2, MVT::f64); O << '\n'; break; 00071 case PPC::FCFID: O << "fcfid "; printOperand(MI, 0, MVT::f64); O << ", "; printOperand(MI, 1, MVT::f64); O << '\n'; break; 00072 case PPC::FCMPU: O << "fcmpu "; printOperand(MI, 0, MVT::i32); O << ", "; printOperand(MI, 1, MVT::f64); O << ", "; printOperand(MI, 2, MVT::f64); O << '\n'; break; 00073 case PPC::FCTIDZ: O << "fctidz "; printOperand(MI, 0, MVT::f64); O << ", "; printOperand(MI, 1, MVT::f64); O << '\n'; break; 00074 case PPC::FCTIWZ: O << "fctiwz "; printOperand(MI, 0, MVT::f64); O << ", "; printOperand(MI, 1, MVT::f64); O << '\n'; break; 00075 case PPC::FDIV: O << "fdiv "; printOperand(MI, 0, MVT::f64); O << ", "; printOperand(MI, 1, MVT::f64); O << ", "; printOperand(MI, 2, MVT::f64); O << '\n'; break; 00076 case PPC::FDIVS: O << "fdivs "; printOperand(MI, 0, MVT::f64); O << ", "; printOperand(MI, 1, MVT::f64); O << ", "; printOperand(MI, 2, MVT::f64); O << '\n'; break; 00077 case PPC::FMADD: O << "fmadd "; printOperand(MI, 0, MVT::f64); O << ", "; printOperand(MI, 1, MVT::f64); O << ", "; printOperand(MI, 2, MVT::f64); O << ", "; printOperand(MI, 3, MVT::f64); O << '\n'; break; 00078 case PPC::FMR: O << "fmr "; printOperand(MI, 0, MVT::f64); O << ", "; printOperand(MI, 1, MVT::f64); O << '\n'; break; 00079 case PPC::FMUL: O << "fmul "; printOperand(MI, 0, MVT::f64); O << ", "; printOperand(MI, 1, MVT::f64); O << ", "; printOperand(MI, 2, MVT::f64); O << '\n'; break; 00080 case PPC::FMULS: O << "fmuls "; printOperand(MI, 0, MVT::f64); O << ", "; printOperand(MI, 1, MVT::f64); O << ", "; printOperand(MI, 2, MVT::f64); O << '\n'; break; 00081 case PPC::FNEG: O << "fneg "; printOperand(MI, 0, MVT::f64); O << ", "; printOperand(MI, 1, MVT::f64); O << '\n'; break; 00082 case PPC::FRSP: O << "frsp "; printOperand(MI, 0, MVT::f64); O << ", "; printOperand(MI, 1, MVT::f64); O << '\n'; break; 00083 case PPC::FSEL: O << "fsel "; printOperand(MI, 0, MVT::f64); O << ", "; printOperand(MI, 1, MVT::f64); O << ", "; printOperand(MI, 2, MVT::f64); O << ", "; printOperand(MI, 3, MVT::f64); O << '\n'; break; 00084 case PPC::FSUB: O << "fsub "; printOperand(MI, 0, MVT::f64); O << ", "; printOperand(MI, 1, MVT::f64); O << ", "; printOperand(MI, 2, MVT::f64); O << '\n'; break; 00085 case PPC::FSUBS: O << "fsubs "; printOperand(MI, 0, MVT::f64); O << ", "; printOperand(MI, 1, MVT::f64); O << ", "; printOperand(MI, 2, MVT::f64); O << '\n'; break; 00086 case PPC::IMPLICIT_DEF: O << "; IMPLICIT_DEF" << '\n'; break; 00087 case PPC::LA: O << "la "; printOperand(MI, 0, MVT::i64); O << ", "; printSymbolLo(MI, 2, MVT::i32); O << "("; printOperand(MI, 1, MVT::i64); O << ")" << '\n'; break; 00088 case PPC::LBZ: O << "lbz "; printOperand(MI, 0, MVT::i64); O << ", "; printS16ImmOperand(MI, 1, MVT::i16); O << "("; printOperand(MI, 2, MVT::i64); O << ")" << '\n'; break; 00089 case PPC::LBZX: O << "lbzx "; printOperand(MI, 0, MVT::i64); O << ", "; printOperand(MI, 1, MVT::i64); O << ", "; printOperand(MI, 2, MVT::i64); O << '\n'; break; 00090 case PPC::LD: O << "ld "; printOperand(MI, 0, MVT::i64); O << ", "; printS16ImmOperand(MI, 1, MVT::i16); O << "("; printOperand(MI, 2, MVT::i64); O << ")" << '\n'; break; 00091 case PPC::LDX: O << "ldx "; printOperand(MI, 0, MVT::i64); O << ", "; printOperand(MI, 1, MVT::i64); O << ", "; printOperand(MI, 2, MVT::i64); O << '\n'; break; 00092 case PPC::LFD: O << "lfd "; printOperand(MI, 0, MVT::i64); O << ", "; printSymbolLo(MI, 1, MVT::i32); O << "("; printOperand(MI, 2, MVT::i64); O << ")" << '\n'; break; 00093 case PPC::LFDX: O << "lfdx "; printOperand(MI, 0, MVT::f64); O << ", "; printOperand(MI, 1, MVT::i64); O << ", "; printOperand(MI, 2, MVT::i64); O << '\n'; break; 00094 case PPC::LFS: O << "lfs "; printOperand(MI, 0, MVT::i64); O << ", "; printSymbolLo(MI, 1, MVT::i32); O << "("; printOperand(MI, 2, MVT::i64); O << ")" << '\n'; break; 00095 case PPC::LFSX: O << "lfsx "; printOperand(MI, 0, MVT::f64); O << ", "; printOperand(MI, 1, MVT::i64); O << ", "; printOperand(MI, 2, MVT::i64); O << '\n'; break; 00096 case PPC::LHA: O << "lha "; printOperand(MI, 0, MVT::i64); O << ", "; printS16ImmOperand(MI, 1, MVT::i16); O << "("; printOperand(MI, 2, MVT::i64); O << ")" << '\n'; break; 00097 case PPC::LHAX: O << "lhax "; printOperand(MI, 0, MVT::i64); O << ", "; printOperand(MI, 1, MVT::i64); O << ", "; printOperand(MI, 2, MVT::i64); O << '\n'; break; 00098 case PPC::LHZ: O << "lhz "; printOperand(MI, 0, MVT::i64); O << ", "; printS16ImmOperand(MI, 1, MVT::i16); O << "("; printOperand(MI, 2, MVT::i64); O << ")" << '\n'; break; 00099 case PPC::LHZX: O << "lhzx "; printOperand(MI, 0, MVT::i64); O << ", "; printOperand(MI, 1, MVT::i64); O << ", "; printOperand(MI, 2, MVT::i64); O << '\n'; break; 00100 case PPC::LI: O << "li "; printOperand(MI, 0, MVT::i64); O << ", "; printS16ImmOperand(MI, 1, MVT::i16); O << '\n'; break; 00101 case PPC::LIS: O << "lis "; printOperand(MI, 0, MVT::i64); O << ", "; printS16ImmOperand(MI, 1, MVT::i16); O << '\n'; break; 00102 case PPC::LMW: O << "lmw "; printOperand(MI, 0, MVT::i64); O << ", "; printS16ImmOperand(MI, 1, MVT::i16); O << "("; printOperand(MI, 2, MVT::i64); O << ")" << '\n'; break; 00103 case PPC::LOADHiAddr: O << "addis "; printOperand(MI, 0, MVT::i64); O << ", "; printOperand(MI, 1, MVT::i64); O << ", "; printSymbolHi(MI, 2, MVT::i32); O << '\n'; break; 00104 case PPC::LWA: O << "lwa "; printOperand(MI, 0, MVT::i64); O << ", "; printS16ImmOperand(MI, 1, MVT::i16); O << "("; printOperand(MI, 2, MVT::i64); O << ")" << '\n'; break; 00105 case PPC::LWAX: O << "lwax "; printOperand(MI, 0, MVT::i64); O << ", "; printOperand(MI, 1, MVT::i64); O << ", "; printOperand(MI, 2, MVT::i64); O << '\n'; break; 00106 case PPC::LWZ: O << "lwz "; printOperand(MI, 0, MVT::i64); O << ", "; printSymbolLo(MI, 1, MVT::i32); O << "("; printOperand(MI, 2, MVT::i64); O << ")" << '\n'; break; 00107 case PPC::LWZU: O << "lwzu "; printOperand(MI, 0, MVT::i64); O << ", "; printSymbolLo(MI, 1, MVT::i32); O << "("; printOperand(MI, 2, MVT::i64); O << ")" << '\n'; break; 00108 case PPC::LWZX: O << "lwzx "; printOperand(MI, 0, MVT::i64); O << ", "; printOperand(MI, 1, MVT::i64); O << ", "; printOperand(MI, 2, MVT::i64); O << '\n'; break; 00109 case PPC::MFCR: O << "mfcr "; printOperand(MI, 0, MVT::i64); O << '\n'; break; 00110 case PPC::MFCTR: O << "mfctr "; printOperand(MI, 0, MVT::i64); O << '\n'; break; 00111 case PPC::MFLR: O << "mflr "; printOperand(MI, 0, MVT::i64); O << '\n'; break; 00112 case PPC::MTCTR: O << "mtctr "; printOperand(MI, 0, MVT::i64); O << '\n'; break; 00113 case PPC::MTLR: O << "mtlr "; printOperand(MI, 0, MVT::i64); O << '\n'; break; 00114 case PPC::MULHWU: O << "mulhwu "; printOperand(MI, 0, MVT::i64); O << ", "; printOperand(MI, 1, MVT::i64); O << ", "; printOperand(MI, 2, MVT::i64); O << '\n'; break; 00115 case PPC::MULLD: O << "mulld "; printOperand(MI, 0, MVT::i64); O << ", "; printOperand(MI, 1, MVT::i64); O << ", "; printOperand(MI, 2, MVT::i64); O << '\n'; break; 00116 case PPC::MULLI: O << "mulli "; printOperand(MI, 0, MVT::i64); O << ", "; printOperand(MI, 1, MVT::i64); O << ", "; printS16ImmOperand(MI, 2, MVT::i16); O << '\n'; break; 00117 case PPC::MULLW: O << "mullw "; printOperand(MI, 0, MVT::i64); O << ", "; printOperand(MI, 1, MVT::i64); O << ", "; printOperand(MI, 2, MVT::i64); O << '\n'; break; 00118 case PPC::MovePCtoLR: O << "bl "; printPICLabel(MI, 0, MVT::i32); O << '\n'; break; 00119 case PPC::NAND: O << "nand "; printOperand(MI, 0, MVT::i64); O << ", "; printOperand(MI, 1, MVT::i64); O << ", "; printOperand(MI, 2, MVT::i64); O << '\n'; break; 00120 case PPC::NEG: O << "neg "; printOperand(MI, 0, MVT::i64); O << ", "; printOperand(MI, 1, MVT::i64); O << '\n'; break; 00121 case PPC::NOP: O << "nop" << '\n'; break; 00122 case PPC::NOR: O << "nor "; printOperand(MI, 0, MVT::i64); O << ", "; printOperand(MI, 1, MVT::i64); O << ", "; printOperand(MI, 2, MVT::i64); O << '\n'; break; 00123 case PPC::OR: O << "or "; printOperand(MI, 0, MVT::i64); O << ", "; printOperand(MI, 1, MVT::i64); O << ", "; printOperand(MI, 2, MVT::i64); O << '\n'; break; 00124 case PPC::ORC: O << "orc "; printOperand(MI, 0, MVT::i64); O << ", "; printOperand(MI, 1, MVT::i64); O << ", "; printOperand(MI, 2, MVT::i64); O << '\n'; break; 00125 case PPC::ORI: O << "ori "; printOperand(MI, 0, MVT::i64); O << ", "; printOperand(MI, 1, MVT::i64); O << ", "; printU16ImmOperand(MI, 2, MVT::i16); O << '\n'; break; 00126 case PPC::ORIS: O << "oris "; printOperand(MI, 0, MVT::i64); O << ", "; printOperand(MI, 1, MVT::i64); O << ", "; printU16ImmOperand(MI, 2, MVT::i16); O << '\n'; break; 00127 case PPC::ORo: O << "or. "; printOperand(MI, 0, MVT::i64); O << ", "; printOperand(MI, 1, MVT::i64); O << ", "; printOperand(MI, 2, MVT::i64); O << '\n'; break; 00128 case PPC::PHI: O << "; PHI" << '\n'; break; 00129 case PPC::RLDICL: O << "rldicl "; printOperand(MI, 0, MVT::i64); O << ", "; printOperand(MI, 1, MVT::i64); O << ", "; printU6ImmOperand(MI, 2, MVT::i8); O << ", "; printU6ImmOperand(MI, 3, MVT::i8); O << '\n'; break; 00130 case PPC::RLDICR: O << "rldicr "; printOperand(MI, 0, MVT::i64); O << ", "; printOperand(MI, 1, MVT::i64); O << ", "; printU6ImmOperand(MI, 2, MVT::i8); O << ", "; printU6ImmOperand(MI, 3, MVT::i8); O << '\n'; break; 00131 case PPC::RLWIMI: O << "rlwimi "; printOperand(MI, 0, MVT::i64); O << ", "; printOperand(MI, 1, MVT::i64); O << ", "; printU5ImmOperand(MI, 2, MVT::i8); O << ", "; printU5ImmOperand(MI, 3, MVT::i8); O << ", "; printU5ImmOperand(MI, 4, MVT::i8); O << '\n'; break; 00132 case PPC::RLWINM: O << "rlwinm "; printOperand(MI, 0, MVT::i64); O << ", "; printOperand(MI, 1, MVT::i64); O << ", "; printU5ImmOperand(MI, 2, MVT::i8); O << ", "; printU5ImmOperand(MI, 3, MVT::i8); O << ", "; printU5ImmOperand(MI, 4, MVT::i8); O << '\n'; break; 00133 case PPC::SLD: O << "sld "; printOperand(MI, 0, MVT::i64); O << ", "; printOperand(MI, 1, MVT::i64); O << ", "; printOperand(MI, 2, MVT::i64); O << '\n'; break; 00134 case PPC::SLW: O << "slw "; printOperand(MI, 0, MVT::i64); O << ", "; printOperand(MI, 1, MVT::i64); O << ", "; printOperand(MI, 2, MVT::i64); O << '\n'; break; 00135 case PPC::SRAD: O << "srad "; printOperand(MI, 0, MVT::i64); O << ", "; printOperand(MI, 1, MVT::i64); O << ", "; printOperand(MI, 2, MVT::i64); O << '\n'; break; 00136 case PPC::SRADI: O << "sradi "; printOperand(MI, 0, MVT::i64); O << ", "; printOperand(MI, 1, MVT::i64); O << ", "; printU6ImmOperand(MI, 2, MVT::i8); O << '\n'; break; 00137 case PPC::SRAW: O << "sraw "; printOperand(MI, 0, MVT::i64); O << ", "; printOperand(MI, 1, MVT::i64); O << ", "; printOperand(MI, 2, MVT::i64); O << '\n'; break; 00138 case PPC::SRAWI: O << "srawi "; printOperand(MI, 0, MVT::i64); O << ", "; printOperand(MI, 1, MVT::i64); O << ", "; printU5ImmOperand(MI, 2, MVT::i8); O << '\n'; break; 00139 case PPC::SRD: O << "srd "; printOperand(MI, 0, MVT::i64); O << ", "; printOperand(MI, 1, MVT::i64); O << ", "; printOperand(MI, 2, MVT::i64); O << '\n'; break; 00140 case PPC::SRW: O << "srw "; printOperand(MI, 0, MVT::i64); O << ", "; printOperand(MI, 1, MVT::i64); O << ", "; printOperand(MI, 2, MVT::i64); O << '\n'; break; 00141 case PPC::STB: O << "stb "; printOperand(MI, 0, MVT::i64); O << ", "; printS16ImmOperand(MI, 1, MVT::i16); O << "("; printOperand(MI, 2, MVT::i64); O << ")" << '\n'; break; 00142 case PPC::STBX: O << "stbx "; printOperand(MI, 0, MVT::i64); O << ", "; printOperand(MI, 1, MVT::i64); O << ", "; printOperand(MI, 2, MVT::i64); O << '\n'; break; 00143 case PPC::STD: O << "std "; printOperand(MI, 0, MVT::i64); O << ", "; printS16ImmOperand(MI, 1, MVT::i16); O << "("; printOperand(MI, 2, MVT::i64); O << ")" << '\n'; break; 00144 case PPC::STDU: O << "stdu "; printOperand(MI, 0, MVT::i64); O << ", "; printS16ImmOperand(MI, 1, MVT::i16); O << "("; printOperand(MI, 2, MVT::i64); O << ")" << '\n'; break; 00145 case PPC::STDUX: O << "stdux "; printOperand(MI, 0, MVT::i64); O << ", "; printOperand(MI, 1, MVT::i64); O << ", "; printOperand(MI, 2, MVT::i64); O << '\n'; break; 00146 case PPC::STDX: O << "stdx "; printOperand(MI, 0, MVT::i64); O << ", "; printOperand(MI, 1, MVT::i64); O << ", "; printOperand(MI, 2, MVT::i64); O << '\n'; break; 00147 case PPC::STFD: O << "stfd "; printOperand(MI, 0, MVT::i64); O << ", "; printS16ImmOperand(MI, 1, MVT::i16); O << "("; printOperand(MI, 2, MVT::i64); O << ")" << '\n'; break; 00148 case PPC::STFDX: O << "stfdx "; printOperand(MI, 0, MVT::f64); O << ", "; printOperand(MI, 1, MVT::i64); O << ", "; printOperand(MI, 2, MVT::i64); O << '\n'; break; 00149 case PPC::STFS: O << "stfs "; printOperand(MI, 0, MVT::i64); O << ", "; printS16ImmOperand(MI, 1, MVT::i16); O << "("; printOperand(MI, 2, MVT::i64); O << ")" << '\n'; break; 00150 case PPC::STFSX: O << "stfsx "; printOperand(MI, 0, MVT::f64); O << ", "; printOperand(MI, 1, MVT::i64); O << ", "; printOperand(MI, 2, MVT::i64); O << '\n'; break; 00151 case PPC::STH: O << "sth "; printOperand(MI, 0, MVT::i64); O << ", "; printS16ImmOperand(MI, 1, MVT::i16); O << "("; printOperand(MI, 2, MVT::i64); O << ")" << '\n'; break; 00152 case PPC::STHX: O << "sthx "; printOperand(MI, 0, MVT::i64); O << ", "; printOperand(MI, 1, MVT::i64); O << ", "; printOperand(MI, 2, MVT::i64); O << '\n'; break; 00153 case PPC::STMW: O << "stmw "; printOperand(MI, 0, MVT::i64); O << ", "; printS16ImmOperand(MI, 1, MVT::i16); O << "("; printOperand(MI, 2, MVT::i64); O << ")" << '\n'; break; 00154 case PPC::STW: O << "stw "; printOperand(MI, 0, MVT::i64); O << ", "; printS16ImmOperand(MI, 1, MVT::i16); O << "("; printOperand(MI, 2, MVT::i64); O << ")" << '\n'; break; 00155 case PPC::STWU: O << "stwu "; printOperand(MI, 0, MVT::i64); O << ", "; printS16ImmOperand(MI, 1, MVT::i16); O << "("; printOperand(MI, 2, MVT::i64); O << ")" << '\n'; break; 00156 case PPC::STWUX: O << "stwux "; printOperand(MI, 0, MVT::i64); O << ", "; printOperand(MI, 1, MVT::i64); O << ", "; printOperand(MI, 2, MVT::i64); O << '\n'; break; 00157 case PPC::STWX: O << "stwx "; printOperand(MI, 0, MVT::i64); O << ", "; printOperand(MI, 1, MVT::i64); O << ", "; printOperand(MI, 2, MVT::i64); O << '\n'; break; 00158 case PPC::SUB: O << "sub "; printOperand(MI, 0, MVT::i64); O << ", "; printOperand(MI, 1, MVT::i64); O << ", "; printOperand(MI, 2, MVT::i64); O << '\n'; break; 00159 case PPC::SUBC: O << "subc "; printOperand(MI, 0, MVT::i64); O << ", "; printOperand(MI, 1, MVT::i64); O << ", "; printOperand(MI, 2, MVT::i64); O << '\n'; break; 00160 case PPC::SUBF: O << "subf "; printOperand(MI, 0, MVT::i64); O << ", "; printOperand(MI, 1, MVT::i64); O << ", "; printOperand(MI, 2, MVT::i64); O << '\n'; break; 00161 case PPC::SUBFC: O << "subfc "; printOperand(MI, 0, MVT::i64); O << ", "; printOperand(MI, 1, MVT::i64); O << ", "; printOperand(MI, 2, MVT::i64); O << '\n'; break; 00162 case PPC::SUBFE: O << "subfe "; printOperand(MI, 0, MVT::i64); O << ", "; printOperand(MI, 1, MVT::i64); O << ", "; printOperand(MI, 2, MVT::i64); O << '\n'; break; 00163 case PPC::SUBFIC: O << "subfic "; printOperand(MI, 0, MVT::i64); O << ", "; printOperand(MI, 1, MVT::i64); O << ", "; printS16ImmOperand(MI, 2, MVT::i16); O << '\n'; break; 00164 case PPC::SUBFZE: O << "subfze "; printOperand(MI, 0, MVT::i64); O << ", "; printOperand(MI, 1, MVT::i64); O << '\n'; break; 00165 case PPC::XOR: O << "xor "; printOperand(MI, 0, MVT::i64); O << ", "; printOperand(MI, 1, MVT::i64); O << ", "; printOperand(MI, 2, MVT::i64); O << '\n'; break; 00166 case PPC::XORI: O << "xori "; printOperand(MI, 0, MVT::i64); O << ", "; printOperand(MI, 1, MVT::i64); O << ", "; printU16ImmOperand(MI, 2, MVT::i16); O << '\n'; break; 00167 case PPC::XORIS: O << "xoris "; printOperand(MI, 0, MVT::i64); O << ", "; printOperand(MI, 1, MVT::i64); O << ", "; printU16ImmOperand(MI, 2, MVT::i16); O << '\n'; break; 00168 } 00169 return true; 00170 }