uint64_t PPCMCCodeEmitter::getBinaryCodeForInstr(const MCInst &MI,
SmallVectorImpl<MCFixup> &Fixups,
const MCSubtargetInfo &STI) const { … }
#ifdef GET_OPERAND_BIT_OFFSET
#undef GET_OPERAND_BIT_OFFSET
uint32_t PPCMCCodeEmitter::getOperandBitOffset(const MCInst &MI,
unsigned OpNum,
const MCSubtargetInfo &STI) const {
switch (MI.getOpcode()) {
case PPC::ADDISdtprelHA:
case PPC::ADDISdtprelHA32:
case PPC::ADDISgotTprelHA:
case PPC::ADDIStlsgdHA:
case PPC::ADDIStlsldHA:
case PPC::ADDIStocHA:
case PPC::ADDIStocHA8:
case PPC::ADDIdtprelL:
case PPC::ADDIdtprelL32:
case PPC::ADDItlsgdL:
case PPC::ADDItlsgdL32:
case PPC::ADDItlsgdLADDR:
case PPC::ADDItlsgdLADDR32:
case PPC::ADDItlsldL:
case PPC::ADDItlsldL32:
case PPC::ADDItlsldLADDR:
case PPC::ADDItlsldLADDR32:
case PPC::ADDItoc:
case PPC::ADDItoc8:
case PPC::ADDItocL:
case PPC::ADDItocL8:
case PPC::ADJCALLSTACKDOWN:
case PPC::ADJCALLSTACKUP:
case PPC::ANDI_rec_1_EQ_BIT:
case PPC::ANDI_rec_1_EQ_BIT8:
case PPC::ANDI_rec_1_GT_BIT:
case PPC::ANDI_rec_1_GT_BIT8:
case PPC::ATOMIC_CMP_SWAP_I8:
case PPC::ATOMIC_CMP_SWAP_I16:
case PPC::ATOMIC_CMP_SWAP_I32:
case PPC::ATOMIC_CMP_SWAP_I64:
case PPC::ATOMIC_LOAD_ADD_I8:
case PPC::ATOMIC_LOAD_ADD_I16:
case PPC::ATOMIC_LOAD_ADD_I32:
case PPC::ATOMIC_LOAD_ADD_I64:
case PPC::ATOMIC_LOAD_AND_I8:
case PPC::ATOMIC_LOAD_AND_I16:
case PPC::ATOMIC_LOAD_AND_I32:
case PPC::ATOMIC_LOAD_AND_I64:
case PPC::ATOMIC_LOAD_MAX_I8:
case PPC::ATOMIC_LOAD_MAX_I16:
case PPC::ATOMIC_LOAD_MAX_I32:
case PPC::ATOMIC_LOAD_MAX_I64:
case PPC::ATOMIC_LOAD_MIN_I8:
case PPC::ATOMIC_LOAD_MIN_I16:
case PPC::ATOMIC_LOAD_MIN_I32:
case PPC::ATOMIC_LOAD_MIN_I64:
case PPC::ATOMIC_LOAD_NAND_I8:
case PPC::ATOMIC_LOAD_NAND_I16:
case PPC::ATOMIC_LOAD_NAND_I32:
case PPC::ATOMIC_LOAD_NAND_I64:
case PPC::ATOMIC_LOAD_OR_I8:
case PPC::ATOMIC_LOAD_OR_I16:
case PPC::ATOMIC_LOAD_OR_I32:
case PPC::ATOMIC_LOAD_OR_I64:
case PPC::ATOMIC_LOAD_SUB_I8:
case PPC::ATOMIC_LOAD_SUB_I16:
case PPC::ATOMIC_LOAD_SUB_I32:
case PPC::ATOMIC_LOAD_SUB_I64:
case PPC::ATOMIC_LOAD_UMAX_I8:
case PPC::ATOMIC_LOAD_UMAX_I16:
case PPC::ATOMIC_LOAD_UMAX_I32:
case PPC::ATOMIC_LOAD_UMAX_I64:
case PPC::ATOMIC_LOAD_UMIN_I8:
case PPC::ATOMIC_LOAD_UMIN_I16:
case PPC::ATOMIC_LOAD_UMIN_I32:
case PPC::ATOMIC_LOAD_UMIN_I64:
case PPC::ATOMIC_LOAD_XOR_I8:
case PPC::ATOMIC_LOAD_XOR_I16:
case PPC::ATOMIC_LOAD_XOR_I32:
case PPC::ATOMIC_LOAD_XOR_I64:
case PPC::ATOMIC_SWAP_I8:
case PPC::ATOMIC_SWAP_I16:
case PPC::ATOMIC_SWAP_I32:
case PPC::ATOMIC_SWAP_I64:
case PPC::ATTN:
case PPC::BCTR:
case PPC::BCTR8:
case PPC::BCTRL:
case PPC::BCTRL8:
case PPC::BCTRL8_RM:
case PPC::BCTRL_RM:
case PPC::BDNZLR:
case PPC::BDNZLR8:
case PPC::BDNZLRL:
case PPC::BDNZLRLm:
case PPC::BDNZLRLp:
case PPC::BDNZLRm:
case PPC::BDNZLRp:
case PPC::BDZLR:
case PPC::BDZLR8:
case PPC::BDZLRL:
case PPC::BDZLRLm:
case PPC::BDZLRLp:
case PPC::BDZLRm:
case PPC::BDZLRp:
case PPC::BLR:
case PPC::BLR8:
case PPC::BLRL:
case PPC::CLRBHRB:
case PPC::CP_ABORT:
case PPC::CR6SET:
case PPC::CR6UNSET:
case PPC::DSSALL:
case PPC::DYNALLOC:
case PPC::DYNALLOC8:
case PPC::DYNAREAOFFSET:
case PPC::DYNAREAOFFSET8:
case PPC::DecreaseCTR8loop:
case PPC::DecreaseCTRloop:
case PPC::EH_SjLj_LongJmp32:
case PPC::EH_SjLj_LongJmp64:
case PPC::EH_SjLj_SetJmp32:
case PPC::EH_SjLj_SetJmp64:
case PPC::EH_SjLj_Setup:
case PPC::EnforceIEIO:
case PPC::FADDrtz:
case PPC::FENCE:
case PPC::GETtlsADDR:
case PPC::GETtlsADDR32:
case PPC::GETtlsADDR32AIX:
case PPC::GETtlsADDR64AIX:
case PPC::GETtlsADDRPCREL:
case PPC::GETtlsMOD32AIX:
case PPC::GETtlsMOD64AIX:
case PPC::GETtlsTpointer32AIX:
case PPC::GETtlsldADDR:
case PPC::GETtlsldADDR32:
case PPC::GETtlsldADDRPCREL:
case PPC::HRFID:
case PPC::ISYNC:
case PPC::LDgotTprelL:
case PPC::LDgotTprelL32:
case PPC::LDtoc:
case PPC::LDtocBA:
case PPC::LDtocCPT:
case PPC::LDtocJTI:
case PPC::LDtocL:
case PPC::LQX_PSEUDO:
case PPC::LWZtoc:
case PPC::LWZtocL:
case PPC::MSGSYNC:
case PPC::MSYNC:
case PPC::MoveGOTtoLR:
case PPC::MovePCtoLR:
case PPC::MovePCtoLR8:
case PPC::NAP:
case PPC::NOP:
case PPC::NOP_GT_PWR6:
case PPC::NOP_GT_PWR7:
case PPC::PADDIdtprel:
case PPC::PPC32GOT:
case PPC::PPC32PICGOT:
case PPC::PREPARE_PROBED_ALLOCA_32:
case PPC::PREPARE_PROBED_ALLOCA_64:
case PPC::PREPARE_PROBED_ALLOCA_NEGSIZE_SAME_REG_32:
case PPC::PREPARE_PROBED_ALLOCA_NEGSIZE_SAME_REG_64:
case PPC::PROBED_ALLOCA_32:
case PPC::PROBED_ALLOCA_64:
case PPC::PROBED_STACKALLOC_32:
case PPC::PROBED_STACKALLOC_64:
case PPC::PseudoEIEIO:
case PPC::RESTORE_ACC:
case PPC::RESTORE_CR:
case PPC::RESTORE_CRBIT:
case PPC::RESTORE_QUADWORD:
case PPC::RESTORE_UACC:
case PPC::RESTORE_WACC:
case PPC::RFCI:
case PPC::RFDI:
case PPC::RFI:
case PPC::RFID:
case PPC::RFMCI:
case PPC::ReadTB:
case PPC::SELECT_CC_F4:
case PPC::SELECT_CC_F8:
case PPC::SELECT_CC_F16:
case PPC::SELECT_CC_I4:
case PPC::SELECT_CC_I8:
case PPC::SELECT_CC_SPE:
case PPC::SELECT_CC_SPE4:
case PPC::SELECT_CC_VRRC:
case PPC::SELECT_CC_VSFRC:
case PPC::SELECT_CC_VSRC:
case PPC::SELECT_CC_VSSRC:
case PPC::SELECT_F4:
case PPC::SELECT_F8:
case PPC::SELECT_F16:
case PPC::SELECT_I4:
case PPC::SELECT_I8:
case PPC::SELECT_SPE:
case PPC::SELECT_SPE4:
case PPC::SELECT_VRRC:
case PPC::SELECT_VSFRC:
case PPC::SELECT_VSRC:
case PPC::SELECT_VSSRC:
case PPC::SETFLM:
case PPC::SETRND:
case PPC::SETRNDi:
case PPC::SLBIA:
case PPC::SLBSYNC:
case PPC::SPILL_ACC:
case PPC::SPILL_CR:
case PPC::SPILL_CRBIT:
case PPC::SPILL_QUADWORD:
case PPC::SPILL_UACC:
case PPC::SPILL_WACC:
case PPC::SPLIT_QUADWORD:
case PPC::STOP:
case PPC::STQX_PSEUDO:
case PPC::TAILBCTR:
case PPC::TAILBCTR8:
case PPC::TBEGIN_RET:
case PPC::TCHECK_RET:
case PPC::TCRETURNai:
case PPC::TCRETURNai8:
case PPC::TCRETURNdi:
case PPC::TCRETURNdi8:
case PPC::TCRETURNri:
case PPC::TCRETURNri8:
case PPC::TLBIA:
case PPC::TLBRE:
case PPC::TLBSYNC:
case PPC::TLBWE:
case PPC::TLSGDAIX:
case PPC::TLSGDAIX8:
case PPC::TLSLDAIX:
case PPC::TLSLDAIX8:
case PPC::TRAP:
case PPC::TRECHKPT:
case PPC::UNENCODED_NOP:
case PPC::UpdateGBR: {
break;
}
case PPC::TEND: {
switch (OpNum) {
case 0:
return 25;
}
break;
}
case PPC::DMMR: {
switch (OpNum) {
case 0:
return 23;
case 1:
return 13;
}
break;
}
case PPC::PMXVI4GER8:
case PPC::PMXVI4GER8W: {
switch (OpNum) {
case 0:
return 23;
case 1:
return 2;
case 2:
return 1;
case 3:
return 36;
case 4:
return 32;
case 5:
return 40;
}
break;
}
case PPC::PMXVI8GER4:
case PPC::PMXVI8GER4W: {
switch (OpNum) {
case 0:
return 23;
case 1:
return 2;
case 2:
return 1;
case 3:
return 36;
case 4:
return 32;
case 5:
return 44;
}
break;
}
case PPC::PMXVBF16GER2:
case PPC::PMXVBF16GER2W:
case PPC::PMXVF16GER2:
case PPC::PMXVF16GER2W:
case PPC::PMXVI16GER2:
case PPC::PMXVI16GER2S:
case PPC::PMXVI16GER2SW:
case PPC::PMXVI16GER2W: {
switch (OpNum) {
case 0:
return 23;
case 1:
return 2;
case 2:
return 1;
case 3:
return 36;
case 4:
return 32;
case 5:
return 46;
}
break;
}
case PPC::PMXVF32GER:
case PPC::PMXVF32GERW: {
switch (OpNum) {
case 0:
return 23;
case 1:
return 2;
case 2:
return 1;
case 3:
return 36;
case 4:
return 32;
}
break;
}
case PPC::PMXVF64GER:
case PPC::PMXVF64GERW: {
switch (OpNum) {
case 0:
return 23;
case 1:
return 2;
case 2:
return 1;
case 3:
return 36;
case 4:
return 34;
}
break;
}
case PPC::XVBF16GER2:
case PPC::XVBF16GER2W:
case PPC::XVF16GER2:
case PPC::XVF16GER2W:
case PPC::XVF32GER:
case PPC::XVF32GERW:
case PPC::XVF64GER:
case PPC::XVF64GERW:
case PPC::XVI4GER8:
case PPC::XVI4GER8W:
case PPC::XVI8GER4:
case PPC::XVI8GER4W:
case PPC::XVI16GER2:
case PPC::XVI16GER2S:
case PPC::XVI16GER2SW:
case PPC::XVI16GER2W: {
switch (OpNum) {
case 0:
return 23;
case 1:
return 2;
case 2:
return 1;
}
break;
}
case PPC::DMXXINSTFDMR512:
case PPC::DMXXINSTFDMR512_HI: {
switch (OpNum) {
case 0:
return 23;
case 1:
return 2;
case 2:
return 1;
}
break;
}
case PPC::DMXXINSTFDMR256: {
switch (OpNum) {
case 0:
return 23;
case 1:
return 1;
case 2:
return 11;
}
break;
}
case PPC::DMXOR: {
switch (OpNum) {
case 0:
return 23;
case 2:
return 13;
}
break;
}
case PPC::PMXVI4GER8PP:
case PPC::PMXVI4GER8WPP: {
switch (OpNum) {
case 0:
return 23;
case 2:
return 2;
case 3:
return 1;
case 4:
return 36;
case 5:
return 32;
case 6:
return 40;
}
break;
}
case PPC::PMXVI8GER4PP:
case PPC::PMXVI8GER4SPP:
case PPC::PMXVI8GER4WPP:
case PPC::PMXVI8GER4WSPP: {
switch (OpNum) {
case 0:
return 23;
case 2:
return 2;
case 3:
return 1;
case 4:
return 36;
case 5:
return 32;
case 6:
return 44;
}
break;
}
case PPC::PMXVBF16GER2NN:
case PPC::PMXVBF16GER2NP:
case PPC::PMXVBF16GER2PN:
case PPC::PMXVBF16GER2PP:
case PPC::PMXVBF16GER2WNN:
case PPC::PMXVBF16GER2WNP:
case PPC::PMXVBF16GER2WPN:
case PPC::PMXVBF16GER2WPP:
case PPC::PMXVF16GER2NN:
case PPC::PMXVF16GER2NP:
case PPC::PMXVF16GER2PN:
case PPC::PMXVF16GER2PP:
case PPC::PMXVF16GER2WNN:
case PPC::PMXVF16GER2WNP:
case PPC::PMXVF16GER2WPN:
case PPC::PMXVF16GER2WPP:
case PPC::PMXVI16GER2PP:
case PPC::PMXVI16GER2SPP:
case PPC::PMXVI16GER2SWPP:
case PPC::PMXVI16GER2WPP: {
switch (OpNum) {
case 0:
return 23;
case 2:
return 2;
case 3:
return 1;
case 4:
return 36;
case 5:
return 32;
case 6:
return 46;
}
break;
}
case PPC::PMXVF32GERNN:
case PPC::PMXVF32GERNP:
case PPC::PMXVF32GERPN:
case PPC::PMXVF32GERPP:
case PPC::PMXVF32GERWNN:
case PPC::PMXVF32GERWNP:
case PPC::PMXVF32GERWPN:
case PPC::PMXVF32GERWPP: {
switch (OpNum) {
case 0:
return 23;
case 2:
return 2;
case 3:
return 1;
case 4:
return 36;
case 5:
return 32;
}
break;
}
case PPC::PMXVF64GERNN:
case PPC::PMXVF64GERNP:
case PPC::PMXVF64GERPN:
case PPC::PMXVF64GERPP:
case PPC::PMXVF64GERWNN:
case PPC::PMXVF64GERWNP:
case PPC::PMXVF64GERWPN:
case PPC::PMXVF64GERWPP: {
switch (OpNum) {
case 0:
return 23;
case 2:
return 2;
case 3:
return 1;
case 4:
return 36;
case 5:
return 34;
}
break;
}
case PPC::XVBF16GER2NN:
case PPC::XVBF16GER2NP:
case PPC::XVBF16GER2PN:
case PPC::XVBF16GER2PP:
case PPC::XVBF16GER2WNN:
case PPC::XVBF16GER2WNP:
case PPC::XVBF16GER2WPN:
case PPC::XVBF16GER2WPP:
case PPC::XVF16GER2NN:
case PPC::XVF16GER2NP:
case PPC::XVF16GER2PN:
case PPC::XVF16GER2PP:
case PPC::XVF16GER2WNN:
case PPC::XVF16GER2WNP:
case PPC::XVF16GER2WPN:
case PPC::XVF16GER2WPP:
case PPC::XVF32GERNN:
case PPC::XVF32GERNP:
case PPC::XVF32GERPN:
case PPC::XVF32GERPP:
case PPC::XVF32GERWNN:
case PPC::XVF32GERWNP:
case PPC::XVF32GERWPN:
case PPC::XVF32GERWPP:
case PPC::XVF64GERNN:
case PPC::XVF64GERNP:
case PPC::XVF64GERPN:
case PPC::XVF64GERPP:
case PPC::XVF64GERWNN:
case PPC::XVF64GERWNP:
case PPC::XVF64GERWPN:
case PPC::XVF64GERWPP:
case PPC::XVI4GER8PP:
case PPC::XVI4GER8WPP:
case PPC::XVI8GER4PP:
case PPC::XVI8GER4SPP:
case PPC::XVI8GER4WPP:
case PPC::XVI8GER4WSPP:
case PPC::XVI16GER2PP:
case PPC::XVI16GER2SPP:
case PPC::XVI16GER2SWPP:
case PPC::XVI16GER2WPP: {
switch (OpNum) {
case 0:
return 23;
case 2:
return 2;
case 3:
return 1;
}
break;
}
case PPC::DMSETDMRZ:
case PPC::XXMTACC:
case PPC::XXMTACCW:
case PPC::XXSETACCZ:
case PPC::XXSETACCZW: {
switch (OpNum) {
case 0:
return 23;
}
break;
}
case PPC::BCLalways:
case PPC::BDNZ:
case PPC::BDNZ8:
case PPC::BDNZA:
case PPC::BDNZAm:
case PPC::BDNZAp:
case PPC::BDNZL:
case PPC::BDNZLA:
case PPC::BDNZLAm:
case PPC::BDNZLAp:
case PPC::BDNZLm:
case PPC::BDNZLp:
case PPC::BDNZm:
case PPC::BDNZp:
case PPC::BDZ:
case PPC::BDZ8:
case PPC::BDZA:
case PPC::BDZAm:
case PPC::BDZAp:
case PPC::BDZL:
case PPC::BDZLA:
case PPC::BDZLAm:
case PPC::BDZLAp:
case PPC::BDZLm:
case PPC::BDZLp:
case PPC::BDZm:
case PPC::BDZp: {
switch (OpNum) {
case 0:
return 2;
}
break;
}
case PPC::MCRF:
case PPC::MCRFS: {
switch (OpNum) {
case 0:
return 23;
case 1:
return 18;
}
break;
}
case PPC::XSTSTDCQP: {
switch (OpNum) {
case 0:
return 23;
case 1:
return 16;
case 2:
return 11;
}
break;
}
case PPC::XSTSTDCDP:
case PPC::XSTSTDCSP: {
switch (OpNum) {
case 0:
return 23;
case 1:
return 16;
case 2:
return 1;
}
break;
}
case PPC::DTSTDC:
case PPC::DTSTDCQ:
case PPC::DTSTDG:
case PPC::DTSTDGQ: {
switch (OpNum) {
case 0:
return 23;
case 1:
return 16;
case 2:
return 10;
}
break;
}
case PPC::CMPRB:
case PPC::CMPRB8: {
switch (OpNum) {
case 0:
return 23;
case 1:
return 21;
case 2:
return 16;
case 3:
return 11;
}
break;
}
case PPC::CMPDI:
case PPC::CMPLDI:
case PPC::CMPLWI:
case PPC::CMPWI: {
switch (OpNum) {
case 0:
return 23;
case 1:
return 16;
case 2:
return 0;
}
break;
}
case PPC::CMPD:
case PPC::CMPEQB:
case PPC::CMPLD:
case PPC::CMPLW:
case PPC::CMPW:
case PPC::DCMPO:
case PPC::DCMPOQ:
case PPC::DCMPU:
case PPC::DCMPUQ:
case PPC::DTSTEX:
case PPC::DTSTEXQ:
case PPC::DTSTSF:
case PPC::DTSTSFQ:
case PPC::FCMPOD:
case PPC::FCMPOS:
case PPC::FCMPUD:
case PPC::FCMPUS:
case PPC::FTDIV:
case PPC::XSCMPEXPQP:
case PPC::XSCMPOQP:
case PPC::XSCMPUQP: {
switch (OpNum) {
case 0:
return 23;
case 1:
return 16;
case 2:
return 11;
}
break;
}
case PPC::FTSQRT: {
switch (OpNum) {
case 0:
return 23;
case 1:
return 11;
}
break;
}
case PPC::MTFSFIb: {
switch (OpNum) {
case 0:
return 23;
case 1:
return 12;
}
break;
}
case PPC::DTSTSFI:
case PPC::DTSTSFIQ: {
switch (OpNum) {
case 0:
return 23;
case 1:
return 16;
case 2:
return 11;
}
break;
}
case PPC::VCMPSQ:
case PPC::VCMPUQ: {
switch (OpNum) {
case 0:
return 23;
case 1:
return 16;
case 2:
return 11;
}
break;
}
case PPC::XVTLSBB: {
switch (OpNum) {
case 0:
return 23;
case 1:
return 1;
}
break;
}
case PPC::MTFSFI:
case PPC::MTFSFI_rec: {
switch (OpNum) {
case 0:
return 23;
case 2:
return 16;
case 1:
return 12;
}
break;
}
case PPC::MCRXRX:
case PPC::TCHECK: {
switch (OpNum) {
case 0:
return 23;
}
break;
}
case PPC::BC:
case PPC::BCL:
case PPC::BCLn:
case PPC::BCn: {
switch (OpNum) {
case 0:
return 16;
case 1:
return 2;
}
break;
}
case PPC::BCCTR:
case PPC::BCCTR8:
case PPC::BCCTR8n:
case PPC::BCCTRL:
case PPC::BCCTRL8:
case PPC::BCCTRL8n:
case PPC::BCCTRLn:
case PPC::BCCTRn:
case PPC::BCLR:
case PPC::BCLRL:
case PPC::BCLRLn:
case PPC::BCLRn: {
switch (OpNum) {
case 0:
return 16;
}
break;
}
case PPC::BCC:
case PPC::BCCA:
case PPC::BCCL:
case PPC::BCCLA:
case PPC::CTRL_DEP: {
switch (OpNum) {
case 0:
return 16;
case 1:
return 18;
case 2:
return 2;
}
break;
}
case PPC::BCCCTR:
case PPC::BCCCTR8:
case PPC::BCCCTRL:
case PPC::BCCCTRL8:
case PPC::BCCLR:
case PPC::BCCLRL: {
switch (OpNum) {
case 0:
return 16;
case 1:
return 18;
}
break;
}
case PPC::gBC:
case PPC::gBCA:
case PPC::gBCL:
case PPC::gBCLA: {
switch (OpNum) {
case 0:
return 21;
case 1:
return 16;
case 2:
return 2;
}
break;
}
case PPC::gBCCTR:
case PPC::gBCCTRL:
case PPC::gBCLR:
case PPC::gBCLRL: {
switch (OpNum) {
case 0:
return 21;
case 1:
return 16;
case 2:
return 11;
}
break;
}
case PPC::gBCAat:
case PPC::gBCLAat:
case PPC::gBCLat:
case PPC::gBCat: {
switch (OpNum) {
case 0:
return 23;
case 1:
return 21;
case 2:
return 16;
case 3:
return 2;
}
break;
}
case PPC::XSCMPEXPDP:
case PPC::XSCMPODP:
case PPC::XSCMPUDP:
case PPC::XSTDIVDP:
case PPC::XVTDIVDP:
case PPC::XVTDIVSP: {
switch (OpNum) {
case 0:
return 23;
case 1:
return 2;
case 2:
return 1;
}
break;
}
case PPC::XSTSQRTDP:
case PPC::XVTSQRTDP:
case PPC::XVTSQRTSP: {
switch (OpNum) {
case 0:
return 23;
case 1:
return 1;
}
break;
}
case PPC::CRSET:
case PPC::CRUNSET: {
switch (OpNum) {
case 0:
return 11;
}
break;
}
case PPC::CRNOT: {
switch (OpNum) {
case 0:
return 21;
case 1:
return 11;
}
break;
}
case PPC::CRAND:
case PPC::CRANDC:
case PPC::CREQV:
case PPC::CRNAND:
case PPC::CRNOR:
case PPC::CROR:
case PPC::CRORC:
case PPC::CRXOR: {
switch (OpNum) {
case 0:
return 21;
case 1:
return 16;
case 2:
return 11;
}
break;
}
case PPC::ICBLC:
case PPC::ICBLQ:
case PPC::ICBT:
case PPC::ICBTLS: {
switch (OpNum) {
case 0:
return 21;
case 1:
return 16;
case 2:
return 11;
}
break;
}
case PPC::WRTEEI: {
switch (OpNum) {
case 0:
return 15;
}
break;
}
case PPC::MTFSFb: {
switch (OpNum) {
case 0:
return 17;
case 1:
return 11;
}
break;
}
case PPC::MTFSB0:
case PPC::MTFSB1: {
switch (OpNum) {
case 0:
return 21;
}
break;
}
case PPC::DQUA:
case PPC::DQUAQ:
case PPC::DQUAQ_rec:
case PPC::DQUA_rec:
case PPC::DRRND:
case PPC::DRRNDQ:
case PPC::DRRNDQ_rec:
case PPC::DRRND_rec: {
switch (OpNum) {
case 0:
return 21;
case 1:
return 16;
case 2:
return 11;
case 3:
return 9;
}
break;
}
case PPC::FADD:
case PPC::FADDS:
case PPC::FADDS_rec:
case PPC::FADD_rec:
case PPC::FDIV:
case PPC::FDIVS:
case PPC::FDIVS_rec:
case PPC::FDIV_rec:
case PPC::FSUB:
case PPC::FSUBS:
case PPC::FSUBS_rec:
case PPC::FSUB_rec:
case PPC::XSIEXPQP: {
switch (OpNum) {
case 0:
return 21;
case 1:
return 16;
case 2:
return 11;
}
break;
}
case PPC::FMADD:
case PPC::FMADDS:
case PPC::FMADDS_rec:
case PPC::FMADD_rec:
case PPC::FMSUB:
case PPC::FMSUBS:
case PPC::FMSUBS_rec:
case PPC::FMSUB_rec:
case PPC::FNMADD:
case PPC::FNMADDS:
case PPC::FNMADDS_rec:
case PPC::FNMADD_rec:
case PPC::FNMSUB:
case PPC::FNMSUBS:
case PPC::FNMSUBS_rec:
case PPC::FNMSUB_rec:
case PPC::FSELD:
case PPC::FSELD_rec:
case PPC::FSELS:
case PPC::FSELS_rec: {
switch (OpNum) {
case 0:
return 21;
case 1:
return 16;
case 2:
return 6;
case 3:
return 11;
}
break;
}
case PPC::FMUL:
case PPC::FMULS:
case PPC::FMULS_rec:
case PPC::FMUL_rec: {
switch (OpNum) {
case 0:
return 21;
case 1:
return 16;
case 2:
return 6;
}
break;
}
case PPC::DSCLI:
case PPC::DSCLIQ:
case PPC::DSCLIQ_rec:
case PPC::DSCLI_rec:
case PPC::DSCRI:
case PPC::DSCRIQ:
case PPC::DSCRIQ_rec:
case PPC::DSCRI_rec: {
switch (OpNum) {
case 0:
return 21;
case 1:
return 16;
case 2:
return 10;
}
break;
}
case PPC::DRINTN:
case PPC::DRINTNQ:
case PPC::DRINTNQ_rec:
case PPC::DRINTN_rec:
case PPC::DRINTX:
case PPC::DRINTXQ:
case PPC::DRINTXQ_rec:
case PPC::DRINTX_rec: {
switch (OpNum) {
case 0:
return 21;
case 1:
return 16;
case 2:
return 11;
case 3:
return 9;
}
break;
}
case PPC::DQUAI:
case PPC::DQUAIQ:
case PPC::DQUAIQ_rec:
case PPC::DQUAI_rec: {
switch (OpNum) {
case 0:
return 21;
case 2:
return 11;
case 3:
return 9;
case 1:
return 16;
}
break;
}
case PPC::MTCRF:
case PPC::MTCRF8: {
switch (OpNum) {
case 0:
return 12;
case 1:
return 21;
}
break;
}
case PPC::WAITP10: {
switch (OpNum) {
case 0:
return 21;
case 1:
return 16;
}
break;
}
case PPC::SYNCP10: {
switch (OpNum) {
case 0:
return 21;
case 1:
return 16;
}
break;
}
case PPC::SYNC:
case PPC::TSR:
case PPC::WAIT: {
switch (OpNum) {
case 0:
return 21;
}
break;
}
case PPC::SC:
case PPC::SCV: {
switch (OpNum) {
case 0:
return 5;
}
break;
}
case PPC::B:
case PPC::BA:
case PPC::BL:
case PPC::BL8:
case PPC::BL8_NOTOC:
case PPC::BL8_NOTOC_RM:
case PPC::BL8_NOTOC_TLS:
case PPC::BL8_RM:
case PPC::BL8_TLS:
case PPC::BL8_TLS_:
case PPC::BLA:
case PPC::BLA8:
case PPC::BLA8_RM:
case PPC::BLA_RM:
case PPC::BL_RM:
case PPC::BL_TLS:
case PPC::TAILB:
case PPC::TAILB8:
case PPC::TAILBA:
case PPC::TAILBA8: {
switch (OpNum) {
case 0:
return 2;
}
break;
}
case PPC::BL8_NOP:
case PPC::BL8_NOP_RM:
case PPC::BL8_NOP_TLS:
case PPC::BLA8_NOP:
case PPC::BLA8_NOP_RM:
case PPC::BL_NOP:
case PPC::BL_NOP_RM: {
switch (OpNum) {
case 0:
return 34;
}
break;
}
case PPC::MBAR: {
switch (OpNum) {
case 0:
return 21;
}
break;
}
case PPC::TBEGIN: {
switch (OpNum) {
case 0:
return 21;
}
break;
}
case PPC::CP_COPY:
case PPC::CP_COPY8:
case PPC::DCBA:
case PPC::DCBFEP:
case PPC::DCBI:
case PPC::DCBST:
case PPC::DCBSTEP:
case PPC::DCBZ:
case PPC::DCBZEP:
case PPC::DCBZL:
case PPC::DCBZLEP:
case PPC::DCCCI:
case PPC::ICBI:
case PPC::ICBIEP:
case PPC::ICCCI:
case PPC::TLBIVAX:
case PPC::TLBSX: {
switch (OpNum) {
case 0:
return 16;
case 1:
return 11;
}
break;
}
case PPC::RLWNM:
case PPC::RLWNM8:
case PPC::RLWNM8_rec:
case PPC::RLWNM_rec: {
switch (OpNum) {
case 0:
return 16;
case 1:
return 21;
case 2:
return 11;
case 3:
return 6;
case 4:
return 1;
}
break;
}
case PPC::RLDCL:
case PPC::RLDCL_rec:
case PPC::RLDCR:
case PPC::RLDCR_rec: {
switch (OpNum) {
case 0:
return 16;
case 1:
return 21;
case 2:
return 11;
case 3:
return 5;
}
break;
}
case PPC::RLWINM:
case PPC::RLWINM8:
case PPC::RLWINM8_rec:
case PPC::RLWINM_rec: {
switch (OpNum) {
case 0:
return 16;
case 1:
return 21;
case 2:
return 11;
case 3:
return 6;
case 4:
return 1;
}
break;
}
case PPC::RLDIC:
case PPC::RLDICL:
case PPC::RLDICL_32:
case PPC::RLDICL_32_64:
case PPC::RLDICL_32_rec:
case PPC::RLDICL_rec:
case PPC::RLDICR:
case PPC::RLDICR_32:
case PPC::RLDICR_rec:
case PPC::RLDIC_rec: {
switch (OpNum) {
case 0:
return 16;
case 1:
return 21;
case 2:
return 1;
case 3:
return 5;
}
break;
}
case PPC::EXTSWSLI:
case PPC::EXTSWSLI_32_64:
case PPC::EXTSWSLI_32_64_rec:
case PPC::EXTSWSLI_rec:
case PPC::SRADI:
case PPC::SRADI_32:
case PPC::SRADI_rec: {
switch (OpNum) {
case 0:
return 16;
case 1:
return 21;
case 2:
return 1;
}
break;
}
case PPC::ANDI8_rec:
case PPC::ANDIS8_rec:
case PPC::ANDIS_rec:
case PPC::ANDI_rec:
case PPC::ORI:
case PPC::ORI8:
case PPC::ORIS:
case PPC::ORIS8:
case PPC::XORI:
case PPC::XORI8:
case PPC::XORIS:
case PPC::XORIS8: {
switch (OpNum) {
case 0:
return 16;
case 1:
return 21;
case 2:
return 0;
}
break;
}
case PPC::AND:
case PPC::AND8:
case PPC::AND8_rec:
case PPC::ANDC:
case PPC::ANDC8:
case PPC::ANDC8_rec:
case PPC::ANDC_rec:
case PPC::AND_rec:
case PPC::BPERMD:
case PPC::CFUGED:
case PPC::CMPB:
case PPC::CMPB8:
case PPC::CNTLZDM:
case PPC::CNTTZDM:
case PPC::EQV:
case PPC::EQV8:
case PPC::EQV8_rec:
case PPC::EQV_rec:
case PPC::NAND:
case PPC::NAND8:
case PPC::NAND8_rec:
case PPC::NAND_rec:
case PPC::NOR:
case PPC::NOR8:
case PPC::NOR8_rec:
case PPC::NOR_rec:
case PPC::OR:
case PPC::OR8:
case PPC::OR8_rec:
case PPC::ORC:
case PPC::ORC8:
case PPC::ORC8_rec:
case PPC::ORC_rec:
case PPC::OR_rec:
case PPC::PDEPD:
case PPC::PEXTD:
case PPC::SLD:
case PPC::SLD_rec:
case PPC::SLW:
case PPC::SLW8:
case PPC::SLW8_rec:
case PPC::SLW_rec:
case PPC::SRAD:
case PPC::SRAD_rec:
case PPC::SRAW:
case PPC::SRAWI:
case PPC::SRAWI_rec:
case PPC::SRAW_rec:
case PPC::SRD:
case PPC::SRD_rec:
case PPC::SRW:
case PPC::SRW8:
case PPC::SRW8_rec:
case PPC::SRW_rec:
case PPC::XOR:
case PPC::XOR8:
case PPC::XOR8_rec:
case PPC::XOR_rec: {
switch (OpNum) {
case 0:
return 16;
case 1:
return 21;
case 2:
return 11;
}
break;
}
case PPC::BRD:
case PPC::BRH:
case PPC::BRH8:
case PPC::BRW:
case PPC::BRW8:
case PPC::CBCDTD:
case PPC::CBCDTD8:
case PPC::CDTBCD:
case PPC::CDTBCD8:
case PPC::CNTLZD:
case PPC::CNTLZD_rec:
case PPC::CNTLZW:
case PPC::CNTLZW8:
case PPC::CNTLZW8_rec:
case PPC::CNTLZW_rec:
case PPC::CNTTZD:
case PPC::CNTTZD_rec:
case PPC::CNTTZW:
case PPC::CNTTZW8:
case PPC::CNTTZW8_rec:
case PPC::CNTTZW_rec:
case PPC::EXTSB:
case PPC::EXTSB8:
case PPC::EXTSB8_32_64:
case PPC::EXTSB8_rec:
case PPC::EXTSB_rec:
case PPC::EXTSH:
case PPC::EXTSH8:
case PPC::EXTSH8_32_64:
case PPC::EXTSH8_rec:
case PPC::EXTSH_rec:
case PPC::EXTSW:
case PPC::EXTSW_32:
case PPC::EXTSW_32_64:
case PPC::EXTSW_32_64_rec:
case PPC::EXTSW_rec:
case PPC::POPCNTB:
case PPC::POPCNTB8:
case PPC::POPCNTD:
case PPC::POPCNTW: {
switch (OpNum) {
case 0:
return 16;
case 1:
return 21;
}
break;
}
case PPC::RLWIMI:
case PPC::RLWIMI8:
case PPC::RLWIMI8_rec:
case PPC::RLWIMI_rec: {
switch (OpNum) {
case 0:
return 16;
case 2:
return 21;
case 3:
return 11;
case 4:
return 6;
case 5:
return 1;
}
break;
}
case PPC::RLDIMI:
case PPC::RLDIMI_rec: {
switch (OpNum) {
case 0:
return 16;
case 2:
return 21;
case 3:
return 1;
case 4:
return 5;
}
break;
}
case PPC::TABORT:
case PPC::TRECLAIM: {
switch (OpNum) {
case 0:
return 16;
}
break;
}
case PPC::SLBIE:
case PPC::TLBIEL:
case PPC::TLBLD:
case PPC::TLBLI: {
switch (OpNum) {
case 0:
return 11;
}
break;
}
case PPC::VCNTMBB:
case PPC::VCNTMBD:
case PPC::VCNTMBH:
case PPC::VCNTMBW: {
switch (OpNum) {
case 0:
return 21;
case 1:
return 11;
case 2:
return 16;
}
break;
}
case PPC::VGNB: {
switch (OpNum) {
case 0:
return 21;
case 1:
return 11;
case 2:
return 16;
}
break;
}
case PPC::MTMSR:
case PPC::MTMSRD: {
switch (OpNum) {
case 0:
return 21;
case 1:
return 16;
}
break;
}
case PPC::MFSRIN:
case PPC::MTSRIN: {
switch (OpNum) {
case 0:
return 21;
case 1:
return 11;
}
break;
}
case PPC::MFSR:
case PPC::MTSR: {
switch (OpNum) {
case 0:
return 21;
case 1:
return 16;
}
break;
}
case PPC::WRTEE: {
switch (OpNum) {
case 0:
return 21;
}
break;
}
case PPC::SETBC:
case PPC::SETBC8:
case PPC::SETBCR:
case PPC::SETBCR8:
case PPC::SETNBC:
case PPC::SETNBC8:
case PPC::SETNBCR:
case PPC::SETNBCR8: {
switch (OpNum) {
case 0:
return 21;
case 1:
return 16;
}
break;
}
case PPC::LI:
case PPC::LI8:
case PPC::LIS:
case PPC::LIS8:
case PPC::PLBZ8onlypc:
case PPC::PLBZonlypc:
case PPC::PLDonlypc:
case PPC::PLFDonlypc:
case PPC::PLFSonlypc:
case PPC::PLHA8onlypc:
case PPC::PLHAonlypc:
case PPC::PLHZ8onlypc:
case PPC::PLHZonlypc:
case PPC::PLWA8onlypc:
case PPC::PLWAonlypc:
case PPC::PLWZ8onlypc:
case PPC::PLWZonlypc:
case PPC::PLXSDonlypc:
case PPC::PLXSSPonlypc:
case PPC::PSTB8onlypc:
case PPC::PSTBonlypc:
case PPC::PSTDonlypc:
case PPC::PSTFDonlypc:
case PPC::PSTFSonlypc:
case PPC::PSTH8onlypc:
case PPC::PSTHonlypc:
case PPC::PSTW8onlypc:
case PPC::PSTWonlypc:
case PPC::PSTXSDonlypc:
case PPC::PSTXSSPonlypc: {
switch (OpNum) {
case 0:
return 21;
case 1:
return 0;
}
break;
}
case PPC::MFFSCDRNI: {
switch (OpNum) {
case 0:
return 21;
case 1:
return 11;
}
break;
}
case PPC::MFFSCDRN:
case PPC::MFFSCRN: {
switch (OpNum) {
case 0:
return 21;
case 1:
return 11;
}
break;
}
case PPC::MFOCRF:
case PPC::MFOCRF8: {
switch (OpNum) {
case 0:
return 21;
case 1:
return 12;
}
break;
}
case PPC::ADDI:
case PPC::ADDI8:
case PPC::ADDIC:
case PPC::ADDIC8:
case PPC::ADDIC_rec:
case PPC::ADDIS:
case PPC::ADDIS8:
case PPC::LA:
case PPC::LA8:
case PPC::MULLI:
case PPC::MULLI8:
case PPC::SUBFIC:
case PPC::SUBFIC8:
case PPC::TDI:
case PPC::TWI: {
switch (OpNum) {
case 0:
return 21;
case 1:
return 16;
case 2:
return 0;
}
break;
}
case PPC::DADD:
case PPC::DADDQ:
case PPC::DADDQ_rec:
case PPC::DADD_rec:
case PPC::DDIV:
case PPC::DDIVQ:
case PPC::DDIVQ_rec:
case PPC::DDIV_rec:
case PPC::DIEX:
case PPC::DIEXQ:
case PPC::DIEXQ_rec:
case PPC::DIEX_rec:
case PPC::DMUL:
case PPC::DMULQ:
case PPC::DMULQ_rec:
case PPC::DMUL_rec:
case PPC::DSUB:
case PPC::DSUBQ:
case PPC::DSUBQ_rec:
case PPC::DSUB_rec:
case PPC::FCPSGND:
case PPC::FCPSGND_rec:
case PPC::FCPSGNS:
case PPC::FCPSGNS_rec:
case PPC::LBARX:
case PPC::LBARXL:
case PPC::LBEPX:
case PPC::LBZCIX:
case PPC::LBZX:
case PPC::LBZX8:
case PPC::LBZXTLS:
case PPC::LBZXTLS_:
case PPC::LBZXTLS_32:
case PPC::LDARX:
case PPC::LDARXL:
case PPC::LDAT:
case PPC::LDBRX:
case PPC::LDCIX:
case PPC::LDX:
case PPC::LDXTLS:
case PPC::LDXTLS_:
case PPC::LFDEPX:
case PPC::LFDX:
case PPC::LFDXTLS:
case PPC::LFDXTLS_:
case PPC::LFIWAX:
case PPC::LFIWZX:
case PPC::LFSX:
case PPC::LFSXTLS:
case PPC::LFSXTLS_:
case PPC::LHARX:
case PPC::LHARXL:
case PPC::LHAX:
case PPC::LHAX8:
case PPC::LHAXTLS:
case PPC::LHAXTLS_:
case PPC::LHAXTLS_32:
case PPC::LHBRX:
case PPC::LHBRX8:
case PPC::LHEPX:
case PPC::LHZCIX:
case PPC::LHZX:
case PPC::LHZX8:
case PPC::LHZXTLS:
case PPC::LHZXTLS_:
case PPC::LHZXTLS_32:
case PPC::LQARX:
case PPC::LQARXL:
case PPC::LSWI:
case PPC::LVEBX:
case PPC::LVEHX:
case PPC::LVEWX:
case PPC::LVSL:
case PPC::LVSR:
case PPC::LVX:
case PPC::LVXL:
case PPC::LWARX:
case PPC::LWARXL:
case PPC::LWAT:
case PPC::LWAX:
case PPC::LWAXTLS:
case PPC::LWAXTLS_:
case PPC::LWAXTLS_32:
case PPC::LWAX_32:
case PPC::LWBRX:
case PPC::LWBRX8:
case PPC::LWEPX:
case PPC::LWZCIX:
case PPC::LWZX:
case PPC::LWZX8:
case PPC::LWZXTLS:
case PPC::LWZXTLS_:
case PPC::LWZXTLS_32:
case PPC::MODSD:
case PPC::MODSW:
case PPC::MODUD:
case PPC::MODUW:
case PPC::SPELWZX:
case PPC::SPESTWX:
case PPC::STBCIX:
case PPC::STBCX:
case PPC::STBEPX:
case PPC::STBX:
case PPC::STBX8:
case PPC::STBXTLS:
case PPC::STBXTLS_:
case PPC::STBXTLS_32:
case PPC::STDAT:
case PPC::STDBRX:
case PPC::STDCIX:
case PPC::STDCX:
case PPC::STDX:
case PPC::STDXTLS:
case PPC::STDXTLS_:
case PPC::STFDEPX:
case PPC::STFDX:
case PPC::STFDXTLS:
case PPC::STFDXTLS_:
case PPC::STFIWX:
case PPC::STFSX:
case PPC::STFSXTLS:
case PPC::STFSXTLS_:
case PPC::STHBRX:
case PPC::STHCIX:
case PPC::STHCX:
case PPC::STHEPX:
case PPC::STHX:
case PPC::STHX8:
case PPC::STHXTLS:
case PPC::STHXTLS_:
case PPC::STHXTLS_32:
case PPC::STQCX:
case PPC::STSWI:
case PPC::STVEBX:
case PPC::STVEHX:
case PPC::STVEWX:
case PPC::STVX:
case PPC::STVXL:
case PPC::STWAT:
case PPC::STWBRX:
case PPC::STWCIX:
case PPC::STWCX:
case PPC::STWEPX:
case PPC::STWX:
case PPC::STWX8:
case PPC::STWXTLS:
case PPC::STWXTLS_:
case PPC::STWXTLS_32:
case PPC::TABORTDC:
case PPC::TABORTDCI:
case PPC::TABORTWC:
case PPC::TABORTWCI:
case PPC::TD:
case PPC::TLBSX2:
case PPC::TLBSX2D:
case PPC::TW:
case PPC::XSADDQP:
case PPC::XSADDQPO:
case PPC::XSCMPEQQP:
case PPC::XSCMPGEQP:
case PPC::XSCMPGTQP:
case PPC::XSCPSGNQP:
case PPC::XSDIVQP:
case PPC::XSDIVQPO:
case PPC::XSMAXCQP:
case PPC::XSMINCQP:
case PPC::XSMULQP:
case PPC::XSMULQPO:
case PPC::XSSUBQP:
case PPC::XSSUBQPO: {
switch (OpNum) {
case 0:
return 21;
case 1:
return 16;
case 2:
return 11;
}
break;
}
case PPC::TLBRE2:
case PPC::TLBWE2: {
switch (OpNum) {
case 0:
return 21;
case 1:
return 16;
case 2:
return 11;
}
break;
}
case PPC::DCFFIX:
case PPC::DCFFIXQ:
case PPC::DCFFIXQQ:
case PPC::DCFFIXQ_rec:
case PPC::DCFFIX_rec:
case PPC::DCTDP:
case PPC::DCTDP_rec:
case PPC::DCTFIX:
case PPC::DCTFIXQ:
case PPC::DCTFIXQQ:
case PPC::DCTFIXQ_rec:
case PPC::DCTFIX_rec:
case PPC::DCTQPQ:
case PPC::DCTQPQ_rec:
case PPC::DRDPQ:
case PPC::DRDPQ_rec:
case PPC::DRSP:
case PPC::DRSP_rec:
case PPC::DXEX:
case PPC::DXEXQ:
case PPC::DXEXQ_rec:
case PPC::DXEX_rec:
case PPC::FABSD:
case PPC::FABSD_rec:
case PPC::FABSS:
case PPC::FABSS_rec:
case PPC::FCFID:
case PPC::FCFIDS:
case PPC::FCFIDS_rec:
case PPC::FCFIDU:
case PPC::FCFIDUS:
case PPC::FCFIDUS_rec:
case PPC::FCFIDU_rec:
case PPC::FCFID_rec:
case PPC::FCTID:
case PPC::FCTIDU:
case PPC::FCTIDUZ:
case PPC::FCTIDUZ_rec:
case PPC::FCTIDU_rec:
case PPC::FCTIDZ:
case PPC::FCTIDZ_rec:
case PPC::FCTID_rec:
case PPC::FCTIW:
case PPC::FCTIWU:
case PPC::FCTIWUZ:
case PPC::FCTIWUZ_rec:
case PPC::FCTIWU_rec:
case PPC::FCTIWZ:
case PPC::FCTIWZ_rec:
case PPC::FCTIW_rec:
case PPC::FMR:
case PPC::FMR_rec:
case PPC::FNABSD:
case PPC::FNABSD_rec:
case PPC::FNABSS:
case PPC::FNABSS_rec:
case PPC::FNEGD:
case PPC::FNEGD_rec:
case PPC::FNEGS:
case PPC::FNEGS_rec:
case PPC::FRE:
case PPC::FRES:
case PPC::FRES_rec:
case PPC::FRE_rec:
case PPC::FRIMD:
case PPC::FRIMD_rec:
case PPC::FRIMS:
case PPC::FRIMS_rec:
case PPC::FRIND:
case PPC::FRIND_rec:
case PPC::FRINS:
case PPC::FRINS_rec:
case PPC::FRIPD:
case PPC::FRIPD_rec:
case PPC::FRIPS:
case PPC::FRIPS_rec:
case PPC::FRIZD:
case PPC::FRIZD_rec:
case PPC::FRIZS:
case PPC::FRIZS_rec:
case PPC::FRSP:
case PPC::FRSP_rec:
case PPC::FRSQRTE:
case PPC::FRSQRTES:
case PPC::FRSQRTES_rec:
case PPC::FRSQRTE_rec:
case PPC::FSQRT:
case PPC::FSQRTS:
case PPC::FSQRTS_rec:
case PPC::FSQRT_rec:
case PPC::SLBFEE_rec:
case PPC::SLBIEG:
case PPC::SLBMFEE:
case PPC::SLBMTE:
case PPC::TLBIE:
case PPC::XSABSQP:
case PPC::XSCVDPQP:
case PPC::XSCVQPDP:
case PPC::XSCVQPDPO:
case PPC::XSCVQPSDZ:
case PPC::XSCVQPSQZ:
case PPC::XSCVQPSWZ:
case PPC::XSCVQPUDZ:
case PPC::XSCVQPUQZ:
case PPC::XSCVQPUWZ:
case PPC::XSCVSDQP:
case PPC::XSCVSQQP:
case PPC::XSCVUDQP:
case PPC::XSCVUQQP:
case PPC::XSNABSQP:
case PPC::XSNEGQP:
case PPC::XSSQRTQP:
case PPC::XSSQRTQPO:
case PPC::XSXEXPQP:
case PPC::XSXSIGQP: {
switch (OpNum) {
case 0:
return 21;
case 1:
return 11;
}
break;
}
case PPC::MFFSCRNI: {
switch (OpNum) {
case 0:
return 21;
case 1:
return 11;
}
break;
}
case PPC::MFDCR:
case PPC::MFPMR:
case PPC::MFSPR:
case PPC::MFSPR8:
case PPC::MFTB:
case PPC::MTDCR: {
switch (OpNum) {
case 0:
return 21;
case 1:
return 11;
}
break;
}
case PPC::LBZ:
case PPC::LBZ8:
case PPC::LFD:
case PPC::LFS:
case PPC::LHA:
case PPC::LHA8:
case PPC::LHZ:
case PPC::LHZ8:
case PPC::LMW:
case PPC::LWZ:
case PPC::LWZ8:
case PPC::PLBZ:
case PPC::PLBZ8:
case PPC::PLBZ8nopc:
case PPC::PLBZ8pc:
case PPC::PLBZnopc:
case PPC::PLBZpc:
case PPC::PLD:
case PPC::PLDnopc:
case PPC::PLDpc:
case PPC::PLFD:
case PPC::PLFDnopc:
case PPC::PLFDpc:
case PPC::PLFS:
case PPC::PLFSnopc:
case PPC::PLFSpc:
case PPC::PLHA:
case PPC::PLHA8:
case PPC::PLHA8nopc:
case PPC::PLHA8pc:
case PPC::PLHAnopc:
case PPC::PLHApc:
case PPC::PLHZ:
case PPC::PLHZ8:
case PPC::PLHZ8nopc:
case PPC::PLHZ8pc:
case PPC::PLHZnopc:
case PPC::PLHZpc:
case PPC::PLWA:
case PPC::PLWA8:
case PPC::PLWA8nopc:
case PPC::PLWA8pc:
case PPC::PLWAnopc:
case PPC::PLWApc:
case PPC::PLWZ:
case PPC::PLWZ8:
case PPC::PLWZ8nopc:
case PPC::PLWZ8pc:
case PPC::PLWZnopc:
case PPC::PLWZpc:
case PPC::PLXSD:
case PPC::PLXSDnopc:
case PPC::PLXSDpc:
case PPC::PLXSSP:
case PPC::PLXSSPnopc:
case PPC::PLXSSPpc:
case PPC::PSTB:
case PPC::PSTB8:
case PPC::PSTB8nopc:
case PPC::PSTB8pc:
case PPC::PSTBnopc:
case PPC::PSTBpc:
case PPC::PSTD:
case PPC::PSTDnopc:
case PPC::PSTDpc:
case PPC::PSTFD:
case PPC::PSTFDnopc:
case PPC::PSTFDpc:
case PPC::PSTFS:
case PPC::PSTFSnopc:
case PPC::PSTFSpc:
case PPC::PSTH:
case PPC::PSTH8:
case PPC::PSTH8nopc:
case PPC::PSTH8pc:
case PPC::PSTHnopc:
case PPC::PSTHpc:
case PPC::PSTW:
case PPC::PSTW8:
case PPC::PSTW8nopc:
case PPC::PSTW8pc:
case PPC::PSTWnopc:
case PPC::PSTWpc:
case PPC::PSTXSD:
case PPC::PSTXSDnopc:
case PPC::PSTXSDpc:
case PPC::PSTXSSP:
case PPC::PSTXSSPnopc:
case PPC::PSTXSSPpc:
case PPC::SPELWZ:
case PPC::SPESTW:
case PPC::STB:
case PPC::STB8:
case PPC::STFD:
case PPC::STFS:
case PPC::STH:
case PPC::STH8:
case PPC::STMW:
case PPC::STW:
case PPC::STW8: {
switch (OpNum) {
case 0:
return 21;
case 2:
return 16;
case 1:
return 0;
}
break;
}
case PPC::LD:
case PPC::LWA:
case PPC::LWA_32:
case PPC::LXSD:
case PPC::LXSSP:
case PPC::STD:
case PPC::STQ:
case PPC::STXSD:
case PPC::STXSSP: {
switch (OpNum) {
case 0:
return 21;
case 2:
return 16;
case 1:
return 2;
}
break;
}
case PPC::LBZUX:
case PPC::LBZUX8:
case PPC::LDUX:
case PPC::LFDUX:
case PPC::LFSUX:
case PPC::LHAUX:
case PPC::LHAUX8:
case PPC::LHZUX:
case PPC::LHZUX8:
case PPC::LWAUX:
case PPC::LWZUX:
case PPC::LWZUX8:
case PPC::XSMADDQP:
case PPC::XSMADDQPO:
case PPC::XSMSUBQP:
case PPC::XSMSUBQPO:
case PPC::XSNMADDQP:
case PPC::XSNMADDQPO:
case PPC::XSNMSUBQP:
case PPC::XSNMSUBQPO: {
switch (OpNum) {
case 0:
return 21;
case 2:
return 16;
case 3:
return 11;
}
break;
}
case PPC::LBZU:
case PPC::LBZU8:
case PPC::LFDU:
case PPC::LFSU:
case PPC::LHAU:
case PPC::LHAU8:
case PPC::LHZU:
case PPC::LHZU8:
case PPC::LWZU:
case PPC::LWZU8: {
switch (OpNum) {
case 0:
return 21;
case 3:
return 16;
case 2:
return 0;
}
break;
}
case PPC::LDU: {
switch (OpNum) {
case 0:
return 21;
case 3:
return 16;
case 2:
return 2;
}
break;
}
case PPC::MFCTR:
case PPC::MFCTR8:
case PPC::MFFS:
case PPC::MFFSCE:
case PPC::MFFSL:
case PPC::MFFS_rec:
case PPC::MFLR:
case PPC::MFLR8:
case PPC::MFMSR:
case PPC::MFTB8:
case PPC::MFUDSCR:
case PPC::MFVRSAVE:
case PPC::MFVRSAVEv:
case PPC::MTCTR:
case PPC::MTCTR8:
case PPC::MTCTR8loop:
case PPC::MTCTRloop:
case PPC::MTLR:
case PPC::MTLR8:
case PPC::MTUDSCR:
case PPC::MTVRSAVE: {
switch (OpNum) {
case 0:
return 21;
}
break;
}
case PPC::SETB:
case PPC::SETB8: {
switch (OpNum) {
case 0:
return 21;
case 1:
return 18;
}
break;
}
case PPC::ADDPCIS:
case PPC::MTVSRBMI: {
switch (OpNum) {
case 0:
return 21;
case 1:
return 0;
}
break;
}
case PPC::DARN: {
switch (OpNum) {
case 0:
return 21;
case 1:
return 16;
}
break;
}
case PPC::ISEL:
case PPC::ISEL8: {
switch (OpNum) {
case 0:
return 21;
case 1:
return 16;
case 2:
return 11;
case 3:
return 6;
}
break;
}
case PPC::ADDEX:
case PPC::ADDEX8: {
switch (OpNum) {
case 0:
return 21;
case 1:
return 16;
case 2:
return 11;
case 3:
return 9;
}
break;
}
case PPC::SUBFUS:
case PPC::SUBFUS_rec: {
switch (OpNum) {
case 0:
return 21;
case 1:
return 16;
case 2:
return 11;
case 3:
return 10;
}
break;
}
case PPC::MADDHD:
case PPC::MADDHDU:
case PPC::MADDLD:
case PPC::MADDLD8:
case PPC::VADDECUQ:
case PPC::VADDEUQM:
case PPC::VEXTDDVLX:
case PPC::VEXTDDVRX:
case PPC::VEXTDUBVLX:
case PPC::VEXTDUBVRX:
case PPC::VEXTDUHVLX:
case PPC::VEXTDUHVRX:
case PPC::VEXTDUWVLX:
case PPC::VEXTDUWVRX:
case PPC::VMHADDSHS:
case PPC::VMHRADDSHS:
case PPC::VMLADDUHM:
case PPC::VMSUMCUD:
case PPC::VMSUMMBM:
case PPC::VMSUMSHM:
case PPC::VMSUMSHS:
case PPC::VMSUMUBM:
case PPC::VMSUMUDM:
case PPC::VMSUMUHM:
case PPC::VMSUMUHS:
case PPC::VPERM:
case PPC::VPERMR:
case PPC::VSEL:
case PPC::VSUBECUQ:
case PPC::VSUBEUQM: {
switch (OpNum) {
case 0:
return 21;
case 1:
return 16;
case 2:
return 11;
case 3:
return 6;
}
break;
}
case PPC::VSLDOI: {
switch (OpNum) {
case 0:
return 21;
case 1:
return 16;
case 2:
return 11;
case 3:
return 6;
}
break;
}
case PPC::ADD4:
case PPC::ADD4O:
case PPC::ADD4O_rec:
case PPC::ADD4TLS:
case PPC::ADD4_rec:
case PPC::ADD8:
case PPC::ADD8O:
case PPC::ADD8O_rec:
case PPC::ADD8TLS:
case PPC::ADD8TLS_:
case PPC::ADD8_rec:
case PPC::ADDC:
case PPC::ADDC8:
case PPC::ADDC8O:
case PPC::ADDC8O_rec:
case PPC::ADDC8_rec:
case PPC::ADDCO:
case PPC::ADDCO_rec:
case PPC::ADDC_rec:
case PPC::ADDE:
case PPC::ADDE8:
case PPC::ADDE8O:
case PPC::ADDE8O_rec:
case PPC::ADDE8_rec:
case PPC::ADDEO:
case PPC::ADDEO_rec:
case PPC::ADDE_rec:
case PPC::ADDG6S:
case PPC::ADDG6S8:
case PPC::BRINC:
case PPC::DIVD:
case PPC::DIVDE:
case PPC::DIVDEO:
case PPC::DIVDEO_rec:
case PPC::DIVDEU:
case PPC::DIVDEUO:
case PPC::DIVDEUO_rec:
case PPC::DIVDEU_rec:
case PPC::DIVDE_rec:
case PPC::DIVDO:
case PPC::DIVDO_rec:
case PPC::DIVDU:
case PPC::DIVDUO:
case PPC::DIVDUO_rec:
case PPC::DIVDU_rec:
case PPC::DIVD_rec:
case PPC::DIVW:
case PPC::DIVWE:
case PPC::DIVWEO:
case PPC::DIVWEO_rec:
case PPC::DIVWEU:
case PPC::DIVWEUO:
case PPC::DIVWEUO_rec:
case PPC::DIVWEU_rec:
case PPC::DIVWE_rec:
case PPC::DIVWO:
case PPC::DIVWO_rec:
case PPC::DIVWU:
case PPC::DIVWUO:
case PPC::DIVWUO_rec:
case PPC::DIVWU_rec:
case PPC::DIVW_rec:
case PPC::EFDADD:
case PPC::EFDDIV:
case PPC::EFDMUL:
case PPC::EFDSUB:
case PPC::EFSADD:
case PPC::EFSDIV:
case PPC::EFSMUL:
case PPC::EFSSUB:
case PPC::EVADDIW:
case PPC::EVADDW:
case PPC::EVAND:
case PPC::EVANDC:
case PPC::EVDIVWS:
case PPC::EVDIVWU:
case PPC::EVEQV:
case PPC::EVFSADD:
case PPC::EVFSDIV:
case PPC::EVFSMUL:
case PPC::EVFSSUB:
case PPC::EVLDDX:
case PPC::EVLDHX:
case PPC::EVLDWX:
case PPC::EVLHHESPLATX:
case PPC::EVLHHOSSPLATX:
case PPC::EVLHHOUSPLATX:
case PPC::EVLWHEX:
case PPC::EVLWHOSX:
case PPC::EVLWHOUX:
case PPC::EVLWHSPLATX:
case PPC::EVLWWSPLATX:
case PPC::EVMERGEHI:
case PPC::EVMERGEHILO:
case PPC::EVMERGELO:
case PPC::EVMERGELOHI:
case PPC::EVMHEGSMFAA:
case PPC::EVMHEGSMFAN:
case PPC::EVMHEGSMIAA:
case PPC::EVMHEGSMIAN:
case PPC::EVMHEGUMIAA:
case PPC::EVMHEGUMIAN:
case PPC::EVMHESMF:
case PPC::EVMHESMFA:
case PPC::EVMHESMFAAW:
case PPC::EVMHESMFANW:
case PPC::EVMHESMI:
case PPC::EVMHESMIA:
case PPC::EVMHESMIAAW:
case PPC::EVMHESMIANW:
case PPC::EVMHESSF:
case PPC::EVMHESSFA:
case PPC::EVMHESSFAAW:
case PPC::EVMHESSFANW:
case PPC::EVMHESSIAAW:
case PPC::EVMHESSIANW:
case PPC::EVMHEUMI:
case PPC::EVMHEUMIA:
case PPC::EVMHEUMIAAW:
case PPC::EVMHEUMIANW:
case PPC::EVMHEUSIAAW:
case PPC::EVMHEUSIANW:
case PPC::EVMHOGSMFAA:
case PPC::EVMHOGSMFAN:
case PPC::EVMHOGSMIAA:
case PPC::EVMHOGSMIAN:
case PPC::EVMHOGUMIAA:
case PPC::EVMHOGUMIAN:
case PPC::EVMHOSMF:
case PPC::EVMHOSMFA:
case PPC::EVMHOSMFAAW:
case PPC::EVMHOSMFANW:
case PPC::EVMHOSMI:
case PPC::EVMHOSMIA:
case PPC::EVMHOSMIAAW:
case PPC::EVMHOSMIANW:
case PPC::EVMHOSSF:
case PPC::EVMHOSSFA:
case PPC::EVMHOSSFAAW:
case PPC::EVMHOSSFANW:
case PPC::EVMHOSSIAAW:
case PPC::EVMHOSSIANW:
case PPC::EVMHOUMI:
case PPC::EVMHOUMIA:
case PPC::EVMHOUMIAAW:
case PPC::EVMHOUMIANW:
case PPC::EVMHOUSIAAW:
case PPC::EVMHOUSIANW:
case PPC::EVMWHSMF:
case PPC::EVMWHSMFA:
case PPC::EVMWHSMI:
case PPC::EVMWHSMIA:
case PPC::EVMWHSSF:
case PPC::EVMWHSSFA:
case PPC::EVMWHUMI:
case PPC::EVMWHUMIA:
case PPC::EVMWLSMIAAW:
case PPC::EVMWLSMIANW:
case PPC::EVMWLSSIAAW:
case PPC::EVMWLSSIANW:
case PPC::EVMWLUMI:
case PPC::EVMWLUMIA:
case PPC::EVMWLUMIAAW:
case PPC::EVMWLUMIANW:
case PPC::EVMWLUSIAAW:
case PPC::EVMWLUSIANW:
case PPC::EVMWSMF:
case PPC::EVMWSMFA:
case PPC::EVMWSMFAA:
case PPC::EVMWSMFAN:
case PPC::EVMWSMI:
case PPC::EVMWSMIA:
case PPC::EVMWSMIAA:
case PPC::EVMWSMIAN:
case PPC::EVMWSSF:
case PPC::EVMWSSFA:
case PPC::EVMWSSFAA:
case PPC::EVMWSSFAN:
case PPC::EVMWUMI:
case PPC::EVMWUMIA:
case PPC::EVMWUMIAA:
case PPC::EVMWUMIAN:
case PPC::EVNAND:
case PPC::EVNOR:
case PPC::EVOR:
case PPC::EVORC:
case PPC::EVRLW:
case PPC::EVRLWI:
case PPC::EVSLW:
case PPC::EVSLWI:
case PPC::EVSRWIS:
case PPC::EVSRWIU:
case PPC::EVSRWS:
case PPC::EVSRWU:
case PPC::EVSTDDX:
case PPC::EVSTDHX:
case PPC::EVSTDWX:
case PPC::EVSTWHEX:
case PPC::EVSTWHOX:
case PPC::EVSTWWEX:
case PPC::EVSTWWOX:
case PPC::EVSUBFW:
case PPC::EVSUBIFW:
case PPC::EVXOR:
case PPC::MULHD:
case PPC::MULHDU:
case PPC::MULHDU_rec:
case PPC::MULHD_rec:
case PPC::MULHW:
case PPC::MULHWU:
case PPC::MULHWU_rec:
case PPC::MULHW_rec:
case PPC::MULLD:
case PPC::MULLDO:
case PPC::MULLDO_rec:
case PPC::MULLD_rec:
case PPC::MULLW:
case PPC::MULLWO:
case PPC::MULLWO_rec:
case PPC::MULLW_rec:
case PPC::SUBF:
case PPC::SUBF8:
case PPC::SUBF8O:
case PPC::SUBF8O_rec:
case PPC::SUBF8_rec:
case PPC::SUBFC:
case PPC::SUBFC8:
case PPC::SUBFC8O:
case PPC::SUBFC8O_rec:
case PPC::SUBFC8_rec:
case PPC::SUBFCO:
case PPC::SUBFCO_rec:
case PPC::SUBFC_rec:
case PPC::SUBFE:
case PPC::SUBFE8:
case PPC::SUBFE8O:
case PPC::SUBFE8O_rec:
case PPC::SUBFE8_rec:
case PPC::SUBFEO:
case PPC::SUBFEO_rec:
case PPC::SUBFE_rec:
case PPC::SUBFO:
case PPC::SUBFO_rec:
case PPC::SUBF_rec: {
switch (OpNum) {
case 0:
return 21;
case 1:
return 16;
case 2:
return 11;
}
break;
}
case PPC::VMADDFP:
case PPC::VNMSUBFP: {
switch (OpNum) {
case 0:
return 21;
case 1:
return 16;
case 2:
return 6;
case 3:
return 11;
}
break;
}
case PPC::PADDI:
case PPC::PADDI8:
case PPC::PADDI8pc:
case PPC::PADDIpc: {
switch (OpNum) {
case 0:
return 21;
case 1:
return 16;
case 2:
return 0;
}
break;
}
case PPC::VPERMXOR: {
switch (OpNum) {
case 0:
return 21;
case 1:
return 16;
case 3:
return 6;
case 2:
return 11;
}
break;
}
case PPC::ADDME:
case PPC::ADDME8:
case PPC::ADDME8O:
case PPC::ADDME8O_rec:
case PPC::ADDME8_rec:
case PPC::ADDMEO:
case PPC::ADDMEO_rec:
case PPC::ADDME_rec:
case PPC::ADDZE:
case PPC::ADDZE8:
case PPC::ADDZE8O:
case PPC::ADDZE8O_rec:
case PPC::ADDZE8_rec:
case PPC::ADDZEO:
case PPC::ADDZEO_rec:
case PPC::ADDZE_rec:
case PPC::EFDABS:
case PPC::EFDNABS:
case PPC::EFDNEG:
case PPC::EFSABS:
case PPC::EFSNABS:
case PPC::EFSNEG:
case PPC::EVABS:
case PPC::EVADDSMIAAW:
case PPC::EVADDSSIAAW:
case PPC::EVADDUMIAAW:
case PPC::EVADDUSIAAW:
case PPC::EVCNTLSW:
case PPC::EVCNTLZW:
case PPC::EVEXTSB:
case PPC::EVEXTSH:
case PPC::EVFSABS:
case PPC::EVFSNABS:
case PPC::EVFSNEG:
case PPC::EVMRA:
case PPC::EVNEG:
case PPC::EVRNDW:
case PPC::EVSPLATFI:
case PPC::EVSPLATI:
case PPC::EVSUBFSMIAAW:
case PPC::EVSUBFSSIAAW:
case PPC::EVSUBFUMIAAW:
case PPC::EVSUBFUSIAAW:
case PPC::NEG:
case PPC::NEG8:
case PPC::NEG8O:
case PPC::NEG8O_rec:
case PPC::NEG8_rec:
case PPC::NEGO:
case PPC::NEGO_rec:
case PPC::NEG_rec:
case PPC::SUBFME:
case PPC::SUBFME8:
case PPC::SUBFME8O:
case PPC::SUBFME8O_rec:
case PPC::SUBFME8_rec:
case PPC::SUBFMEO:
case PPC::SUBFMEO_rec:
case PPC::SUBFME_rec:
case PPC::SUBFZE:
case PPC::SUBFZE8:
case PPC::SUBFZE8O:
case PPC::SUBFZE8O_rec:
case PPC::SUBFZE8_rec:
case PPC::SUBFZEO:
case PPC::SUBFZEO_rec:
case PPC::SUBFZE_rec: {
switch (OpNum) {
case 0:
return 21;
case 1:
return 16;
}
break;
}
case PPC::EFDCFS:
case PPC::EFDCFSF:
case PPC::EFDCFSI:
case PPC::EFDCFSID:
case PPC::EFDCFUF:
case PPC::EFDCFUI:
case PPC::EFDCFUID:
case PPC::EFDCTSF:
case PPC::EFDCTSI:
case PPC::EFDCTSIDZ:
case PPC::EFDCTSIZ:
case PPC::EFDCTUF:
case PPC::EFDCTUI:
case PPC::EFDCTUIDZ:
case PPC::EFDCTUIZ:
case PPC::EFSCFD:
case PPC::EFSCFSF:
case PPC::EFSCFSI:
case PPC::EFSCFUF:
case PPC::EFSCFUI:
case PPC::EFSCTSF:
case PPC::EFSCTSI:
case PPC::EFSCTSIZ:
case PPC::EFSCTUF:
case PPC::EFSCTUI:
case PPC::EFSCTUIZ:
case PPC::EVFSCFSF:
case PPC::EVFSCFSI:
case PPC::EVFSCFUF:
case PPC::EVFSCFUI:
case PPC::EVFSCTSF:
case PPC::EVFSCTSI:
case PPC::EVFSCTSIZ:
case PPC::EVFSCTUF:
case PPC::EVFSCTUI:
case PPC::EVFSCTUIZ:
case PPC::SLBMFEV: {
switch (OpNum) {
case 0:
return 21;
case 1:
return 11;
}
break;
}
case PPC::PLA8pc:
case PPC::PLApc:
case PPC::PLI:
case PPC::PLI8: {
switch (OpNum) {
case 0:
return 21;
case 1:
return 0;
}
break;
}
case PPC::XSXEXPDP:
case PPC::XSXSIGDP: {
switch (OpNum) {
case 0:
return 21;
case 1:
return 1;
}
break;
}
case PPC::MFBHRBE: {
switch (OpNum) {
case 0:
return 21;
case 1:
return 11;
}
break;
}
case PPC::EVLDD:
case PPC::EVLDH:
case PPC::EVLDW:
case PPC::EVLHHESPLAT:
case PPC::EVLHHOSSPLAT:
case PPC::EVLHHOUSPLAT:
case PPC::EVLWHE:
case PPC::EVLWHOS:
case PPC::EVLWHOU:
case PPC::EVLWHSPLAT:
case PPC::EVLWWSPLAT:
case PPC::EVSTDD:
case PPC::EVSTDH:
case PPC::EVSTDW:
case PPC::EVSTWHE:
case PPC::EVSTWHO:
case PPC::EVSTWWE:
case PPC::EVSTWWO: {
switch (OpNum) {
case 0:
return 21;
case 2:
return 16;
case 1:
return 11;
}
break;
}
case PPC::PLA:
case PPC::PLA8: {
switch (OpNum) {
case 0:
return 21;
case 2:
return 0;
}
break;
}
case PPC::MFCR:
case PPC::MFCR8: {
switch (OpNum) {
case 0:
return 21;
}
break;
}
case PPC::LQ: {
switch (OpNum) {
case 0:
return 21;
case 2:
return 16;
case 1:
return 4;
}
break;
}
case PPC::RFEBB: {
switch (OpNum) {
case 0:
return 11;
}
break;
}
case PPC::DST:
case PPC::DST64:
case PPC::DSTST:
case PPC::DSTST64:
case PPC::DSTSTT:
case PPC::DSTSTT64:
case PPC::DSTT:
case PPC::DSTT64: {
switch (OpNum) {
case 0:
return 21;
case 1:
return 16;
case 2:
return 11;
}
break;
}
case PPC::DSS: {
switch (OpNum) {
case 0:
return 21;
}
break;
}
case PPC::DCBF:
case PPC::DCBT:
case PPC::DCBTST: {
switch (OpNum) {
case 0:
return 21;
case 1:
return 16;
case 2:
return 11;
}
break;
}
case PPC::MTVSCR: {
switch (OpNum) {
case 0:
return 11;
}
break;
}
case PPC::V_SET0:
case PPC::V_SET0B:
case PPC::V_SET0H: {
switch (OpNum) {
case 0:
return 11;
}
break;
}
case PPC::VSPLTISB:
case PPC::VSPLTISH:
case PPC::VSPLTISW: {
switch (OpNum) {
case 0:
return 21;
case 1:
return 16;
}
break;
}
case PPC::VSHASIGMAD:
case PPC::VSHASIGMAW: {
switch (OpNum) {
case 0:
return 21;
case 1:
return 16;
case 2:
return 15;
case 3:
return 11;
}
break;
}
case PPC::BCDADD_rec:
case PPC::BCDSR_rec:
case PPC::BCDSUB_rec:
case PPC::BCDS_rec:
case PPC::BCDTRUNC_rec: {
switch (OpNum) {
case 0:
return 21;
case 1:
return 16;
case 2:
return 11;
case 3:
return 9;
}
break;
}
case PPC::BCDCPSGN_rec:
case PPC::BCDUS_rec:
case PPC::BCDUTRUNC_rec:
case PPC::VABSDUB:
case PPC::VABSDUH:
case PPC::VABSDUW:
case PPC::VADDCUQ:
case PPC::VADDCUW:
case PPC::VADDFP:
case PPC::VADDSBS:
case PPC::VADDSHS:
case PPC::VADDSWS:
case PPC::VADDUBM:
case PPC::VADDUBS:
case PPC::VADDUDM:
case PPC::VADDUHM:
case PPC::VADDUHS:
case PPC::VADDUQM:
case PPC::VADDUWM:
case PPC::VADDUWS:
case PPC::VAND:
case PPC::VANDC:
case PPC::VAVGSB:
case PPC::VAVGSH:
case PPC::VAVGSW:
case PPC::VAVGUB:
case PPC::VAVGUH:
case PPC::VAVGUW:
case PPC::VBPERMD:
case PPC::VBPERMQ:
case PPC::VCFSX:
case PPC::VCFUGED:
case PPC::VCFUX:
case PPC::VCIPHER:
case PPC::VCIPHERLAST:
case PPC::VCLRLB:
case PPC::VCLRRB:
case PPC::VCLZDM:
case PPC::VCMPBFP:
case PPC::VCMPBFP_rec:
case PPC::VCMPEQFP:
case PPC::VCMPEQFP_rec:
case PPC::VCMPEQUB:
case PPC::VCMPEQUB_rec:
case PPC::VCMPEQUD:
case PPC::VCMPEQUD_rec:
case PPC::VCMPEQUH:
case PPC::VCMPEQUH_rec:
case PPC::VCMPEQUQ:
case PPC::VCMPEQUQ_rec:
case PPC::VCMPEQUW:
case PPC::VCMPEQUW_rec:
case PPC::VCMPGEFP:
case PPC::VCMPGEFP_rec:
case PPC::VCMPGTFP:
case PPC::VCMPGTFP_rec:
case PPC::VCMPGTSB:
case PPC::VCMPGTSB_rec:
case PPC::VCMPGTSD:
case PPC::VCMPGTSD_rec:
case PPC::VCMPGTSH:
case PPC::VCMPGTSH_rec:
case PPC::VCMPGTSQ:
case PPC::VCMPGTSQ_rec:
case PPC::VCMPGTSW:
case PPC::VCMPGTSW_rec:
case PPC::VCMPGTUB:
case PPC::VCMPGTUB_rec:
case PPC::VCMPGTUD:
case PPC::VCMPGTUD_rec:
case PPC::VCMPGTUH:
case PPC::VCMPGTUH_rec:
case PPC::VCMPGTUQ:
case PPC::VCMPGTUQ_rec:
case PPC::VCMPGTUW:
case PPC::VCMPGTUW_rec:
case PPC::VCMPNEB:
case PPC::VCMPNEB_rec:
case PPC::VCMPNEH:
case PPC::VCMPNEH_rec:
case PPC::VCMPNEW:
case PPC::VCMPNEW_rec:
case PPC::VCMPNEZB:
case PPC::VCMPNEZB_rec:
case PPC::VCMPNEZH:
case PPC::VCMPNEZH_rec:
case PPC::VCMPNEZW:
case PPC::VCMPNEZW_rec:
case PPC::VCTSXS:
case PPC::VCTUXS:
case PPC::VCTZDM:
case PPC::VDIVESD:
case PPC::VDIVESQ:
case PPC::VDIVESW:
case PPC::VDIVEUD:
case PPC::VDIVEUQ:
case PPC::VDIVEUW:
case PPC::VDIVSD:
case PPC::VDIVSQ:
case PPC::VDIVSW:
case PPC::VDIVUD:
case PPC::VDIVUQ:
case PPC::VDIVUW:
case PPC::VEQV:
case PPC::VEXTRACTD:
case PPC::VEXTRACTUB:
case PPC::VEXTRACTUH:
case PPC::VEXTRACTUW:
case PPC::VEXTUBLX:
case PPC::VEXTUBRX:
case PPC::VEXTUHLX:
case PPC::VEXTUHRX:
case PPC::VEXTUWLX:
case PPC::VEXTUWRX:
case PPC::VINSERTD:
case PPC::VINSERTW:
case PPC::VMAXFP:
case PPC::VMAXSB:
case PPC::VMAXSD:
case PPC::VMAXSH:
case PPC::VMAXSW:
case PPC::VMAXUB:
case PPC::VMAXUD:
case PPC::VMAXUH:
case PPC::VMAXUW:
case PPC::VMINFP:
case PPC::VMINSB:
case PPC::VMINSD:
case PPC::VMINSH:
case PPC::VMINSW:
case PPC::VMINUB:
case PPC::VMINUD:
case PPC::VMINUH:
case PPC::VMINUW:
case PPC::VMODSD:
case PPC::VMODSQ:
case PPC::VMODSW:
case PPC::VMODUD:
case PPC::VMODUQ:
case PPC::VMODUW:
case PPC::VMRGEW:
case PPC::VMRGHB:
case PPC::VMRGHH:
case PPC::VMRGHW:
case PPC::VMRGLB:
case PPC::VMRGLH:
case PPC::VMRGLW:
case PPC::VMRGOW:
case PPC::VMUL10ECUQ:
case PPC::VMUL10EUQ:
case PPC::VMULESB:
case PPC::VMULESD:
case PPC::VMULESH:
case PPC::VMULESW:
case PPC::VMULEUB:
case PPC::VMULEUD:
case PPC::VMULEUH:
case PPC::VMULEUW:
case PPC::VMULHSD:
case PPC::VMULHSW:
case PPC::VMULHUD:
case PPC::VMULHUW:
case PPC::VMULLD:
case PPC::VMULOSB:
case PPC::VMULOSD:
case PPC::VMULOSH:
case PPC::VMULOSW:
case PPC::VMULOUB:
case PPC::VMULOUD:
case PPC::VMULOUH:
case PPC::VMULOUW:
case PPC::VMULUWM:
case PPC::VNAND:
case PPC::VNCIPHER:
case PPC::VNCIPHERLAST:
case PPC::VNOR:
case PPC::VOR:
case PPC::VORC:
case PPC::VPDEPD:
case PPC::VPEXTD:
case PPC::VPKPX:
case PPC::VPKSDSS:
case PPC::VPKSDUS:
case PPC::VPKSHSS:
case PPC::VPKSHUS:
case PPC::VPKSWSS:
case PPC::VPKSWUS:
case PPC::VPKUDUM:
case PPC::VPKUDUS:
case PPC::VPKUHUM:
case PPC::VPKUHUS:
case PPC::VPKUWUM:
case PPC::VPKUWUS:
case PPC::VPMSUMB:
case PPC::VPMSUMD:
case PPC::VPMSUMH:
case PPC::VPMSUMW:
case PPC::VRLB:
case PPC::VRLD:
case PPC::VRLDMI:
case PPC::VRLDNM:
case PPC::VRLH:
case PPC::VRLQ:
case PPC::VRLQMI:
case PPC::VRLQNM:
case PPC::VRLW:
case PPC::VRLWMI:
case PPC::VRLWNM:
case PPC::VSL:
case PPC::VSLB:
case PPC::VSLD:
case PPC::VSLH:
case PPC::VSLO:
case PPC::VSLQ:
case PPC::VSLV:
case PPC::VSLW:
case PPC::VSPLTB:
case PPC::VSPLTBs:
case PPC::VSPLTH:
case PPC::VSPLTHs:
case PPC::VSPLTW:
case PPC::VSR:
case PPC::VSRAB:
case PPC::VSRAD:
case PPC::VSRAH:
case PPC::VSRAQ:
case PPC::VSRAW:
case PPC::VSRB:
case PPC::VSRD:
case PPC::VSRH:
case PPC::VSRO:
case PPC::VSRQ:
case PPC::VSRV:
case PPC::VSRW:
case PPC::VSUBCUQ:
case PPC::VSUBCUW:
case PPC::VSUBFP:
case PPC::VSUBSBS:
case PPC::VSUBSHS:
case PPC::VSUBSWS:
case PPC::VSUBUBM:
case PPC::VSUBUBS:
case PPC::VSUBUDM:
case PPC::VSUBUHM:
case PPC::VSUBUHS:
case PPC::VSUBUQM:
case PPC::VSUBUWM:
case PPC::VSUBUWS:
case PPC::VSUM2SWS:
case PPC::VSUM4SBS:
case PPC::VSUM4SHS:
case PPC::VSUM4UBS:
case PPC::VSUMSWS:
case PPC::VXOR: {
switch (OpNum) {
case 0:
return 21;
case 1:
return 16;
case 2:
return 11;
}
break;
}
case PPC::VMUL10CUQ:
case PPC::VMUL10UQ:
case PPC::VSBOX: {
switch (OpNum) {
case 0:
return 21;
case 1:
return 16;
}
break;
}
case PPC::BCDCFN_rec:
case PPC::BCDCFSQ_rec:
case PPC::BCDCFZ_rec:
case PPC::BCDCTZ_rec:
case PPC::BCDSETSGN_rec: {
switch (OpNum) {
case 0:
return 21;
case 1:
return 11;
case 2:
return 9;
}
break;
}
case PPC::BCDCTN_rec:
case PPC::BCDCTSQ_rec:
case PPC::MTVSRBM:
case PPC::MTVSRDM:
case PPC::MTVSRHM:
case PPC::MTVSRQM:
case PPC::MTVSRWM:
case PPC::VCFSX_0:
case PPC::VCFUX_0:
case PPC::VCLZB:
case PPC::VCLZD:
case PPC::VCLZH:
case PPC::VCLZLSBB:
case PPC::VCLZW:
case PPC::VCTSXS_0:
case PPC::VCTUXS_0:
case PPC::VCTZB:
case PPC::VCTZD:
case PPC::VCTZH:
case PPC::VCTZLSBB:
case PPC::VCTZW:
case PPC::VEXPANDBM:
case PPC::VEXPANDDM:
case PPC::VEXPANDHM:
case PPC::VEXPANDQM:
case PPC::VEXPANDWM:
case PPC::VEXPTEFP:
case PPC::VEXTRACTBM:
case PPC::VEXTRACTDM:
case PPC::VEXTRACTHM:
case PPC::VEXTRACTQM:
case PPC::VEXTRACTWM:
case PPC::VEXTSB2D:
case PPC::VEXTSB2Ds:
case PPC::VEXTSB2W:
case PPC::VEXTSB2Ws:
case PPC::VEXTSD2Q:
case PPC::VEXTSH2D:
case PPC::VEXTSH2Ds:
case PPC::VEXTSH2W:
case PPC::VEXTSH2Ws:
case PPC::VEXTSW2D:
case PPC::VEXTSW2Ds:
case PPC::VGBBD:
case PPC::VLOGEFP:
case PPC::VNEGD:
case PPC::VNEGW:
case PPC::VPOPCNTB:
case PPC::VPOPCNTD:
case PPC::VPOPCNTH:
case PPC::VPOPCNTW:
case PPC::VPRTYBD:
case PPC::VPRTYBQ:
case PPC::VPRTYBW:
case PPC::VREFP:
case PPC::VRFIM:
case PPC::VRFIN:
case PPC::VRFIP:
case PPC::VRFIZ:
case PPC::VRSQRTEFP:
case PPC::VUPKHPX:
case PPC::VUPKHSB:
case PPC::VUPKHSH:
case PPC::VUPKHSW:
case PPC::VUPKLPX:
case PPC::VUPKLSB:
case PPC::VUPKLSH:
case PPC::VUPKLSW: {
switch (OpNum) {
case 0:
return 21;
case 1:
return 11;
}
break;
}
case PPC::VINSBLX:
case PPC::VINSBRX:
case PPC::VINSBVLX:
case PPC::VINSBVRX:
case PPC::VINSD:
case PPC::VINSDLX:
case PPC::VINSDRX:
case PPC::VINSERTB:
case PPC::VINSERTH:
case PPC::VINSHLX:
case PPC::VINSHRX:
case PPC::VINSHVLX:
case PPC::VINSHVRX:
case PPC::VINSW:
case PPC::VINSWLX:
case PPC::VINSWRX:
case PPC::VINSWVLX:
case PPC::VINSWVRX: {
switch (OpNum) {
case 0:
return 21;
case 2:
return 16;
case 3:
return 11;
}
break;
}
case PPC::MFVSCR:
case PPC::V_SETALLONES:
case PPC::V_SETALLONESB:
case PPC::V_SETALLONESH: {
switch (OpNum) {
case 0:
return 21;
}
break;
}
case PPC::XSRQPI:
case PPC::XSRQPIX:
case PPC::XSRQPXP: {
switch (OpNum) {
case 0:
return 21;
case 1:
return 16;
case 2:
return 11;
case 3:
return 9;
}
break;
}
case PPC::VSLDBI:
case PPC::VSRDBI: {
switch (OpNum) {
case 0:
return 21;
case 1:
return 16;
case 2:
return 11;
case 3:
return 6;
}
break;
}
case PPC::VSTRIBL:
case PPC::VSTRIBL_rec:
case PPC::VSTRIBR:
case PPC::VSTRIBR_rec:
case PPC::VSTRIHL:
case PPC::VSTRIHL_rec:
case PPC::VSTRIHR:
case PPC::VSTRIHR_rec: {
switch (OpNum) {
case 0:
return 21;
case 1:
return 11;
}
break;
}
case PPC::PLXVonlypc:
case PPC::PSTXVonlypc: {
switch (OpNum) {
case 0:
return 21;
case 1:
return 0;
}
break;
}
case PPC::PLXV:
case PPC::PLXVnopc:
case PPC::PLXVpc:
case PPC::PSTXV:
case PPC::PSTXVnopc:
case PPC::PSTXVpc: {
switch (OpNum) {
case 0:
return 21;
case 2:
return 16;
case 1:
return 0;
}
break;
}
case PPC::XVTSTDCDP:
case PPC::XVTSTDCSP: {
switch (OpNum) {
case 0:
return 0;
case 1:
return 2;
case 2:
return 1;
}
break;
}
case PPC::XXSPLTIB: {
switch (OpNum) {
case 0:
return 0;
case 1:
return 11;
}
break;
}
case PPC::LXSDX:
case PPC::LXSIBZX:
case PPC::LXSIHZX:
case PPC::LXSIWAX:
case PPC::LXSIWZX:
case PPC::LXSSPX:
case PPC::LXVB16X:
case PPC::LXVD2X:
case PPC::LXVDSX:
case PPC::LXVH8X:
case PPC::LXVL:
case PPC::LXVLL:
case PPC::LXVRBX:
case PPC::LXVRDX:
case PPC::LXVRHX:
case PPC::LXVRL:
case PPC::LXVRLL:
case PPC::LXVRWX:
case PPC::LXVW4X:
case PPC::LXVWSX:
case PPC::LXVX:
case PPC::MTVSRDD:
case PPC::STXSDX:
case PPC::STXSIBX:
case PPC::STXSIBXv:
case PPC::STXSIHX:
case PPC::STXSIHXv:
case PPC::STXSIWX:
case PPC::STXSSPX:
case PPC::STXVB16X:
case PPC::STXVD2X:
case PPC::STXVH8X:
case PPC::STXVL:
case PPC::STXVLL:
case PPC::STXVRBX:
case PPC::STXVRDX:
case PPC::STXVRHX:
case PPC::STXVRL:
case PPC::STXVRLL:
case PPC::STXVRWX:
case PPC::STXVW4X:
case PPC::STXVX:
case PPC::XSIEXPDP: {
switch (OpNum) {
case 0:
return 0;
case 1:
return 16;
case 2:
return 11;
}
break;
}
case PPC::MTVRD:
case PPC::MTVRWA:
case PPC::MTVRWZ:
case PPC::MTVSRD:
case PPC::MTVSRWA:
case PPC::MTVSRWS:
case PPC::MTVSRWZ: {
switch (OpNum) {
case 0:
return 0;
case 1:
return 16;
}
break;
}
case PPC::LXVKQ: {
switch (OpNum) {
case 0:
return 0;
case 1:
return 11;
}
break;
}
case PPC::XXGENPCVBM:
case PPC::XXGENPCVDM:
case PPC::XXGENPCVHM:
case PPC::XXGENPCVWM: {
switch (OpNum) {
case 0:
return 0;
case 1:
return 11;
case 2:
return 16;
}
break;
}
case PPC::XXPERMDIs:
case PPC::XXSLDWIs: {
switch (OpNum) {
case 0:
return 0;
case 1:
return 1;
case 2:
return 8;
}
break;
}
case PPC::XXPERMDI:
case PPC::XXSLDWI: {
switch (OpNum) {
case 0:
return 0;
case 1:
return 2;
case 2:
return 1;
case 3:
return 8;
}
break;
}
case PPC::XXEVAL:
case PPC::XXPERMX: {
switch (OpNum) {
case 0:
return 0;
case 1:
return 2;
case 2:
return 1;
case 3:
return 3;
case 4:
return 32;
}
break;
}
case PPC::XXBLENDVB:
case PPC::XXBLENDVD:
case PPC::XXBLENDVH:
case PPC::XXBLENDVW:
case PPC::XXSEL: {
switch (OpNum) {
case 0:
return 0;
case 1:
return 2;
case 2:
return 1;
case 3:
return 3;
}
break;
}
case PPC::XSADDDP:
case PPC::XSADDSP:
case PPC::XSCMPEQDP:
case PPC::XSCMPGEDP:
case PPC::XSCMPGTDP:
case PPC::XSCPSGNDP:
case PPC::XSDIVDP:
case PPC::XSDIVSP:
case PPC::XSMAXCDP:
case PPC::XSMAXDP:
case PPC::XSMAXJDP:
case PPC::XSMINCDP:
case PPC::XSMINDP:
case PPC::XSMINJDP:
case PPC::XSMULDP:
case PPC::XSMULSP:
case PPC::XSSUBDP:
case PPC::XSSUBSP:
case PPC::XVADDDP:
case PPC::XVADDSP:
case PPC::XVCMPEQDP:
case PPC::XVCMPEQDP_rec:
case PPC::XVCMPEQSP:
case PPC::XVCMPEQSP_rec:
case PPC::XVCMPGEDP:
case PPC::XVCMPGEDP_rec:
case PPC::XVCMPGESP:
case PPC::XVCMPGESP_rec:
case PPC::XVCMPGTDP:
case PPC::XVCMPGTDP_rec:
case PPC::XVCMPGTSP:
case PPC::XVCMPGTSP_rec:
case PPC::XVCPSGNDP:
case PPC::XVCPSGNSP:
case PPC::XVDIVDP:
case PPC::XVDIVSP:
case PPC::XVIEXPDP:
case PPC::XVIEXPSP:
case PPC::XVMAXDP:
case PPC::XVMAXSP:
case PPC::XVMINDP:
case PPC::XVMINSP:
case PPC::XVMULDP:
case PPC::XVMULSP:
case PPC::XVSUBDP:
case PPC::XVSUBSP:
case PPC::XXLAND:
case PPC::XXLANDC:
case PPC::XXLEQV:
case PPC::XXLNAND:
case PPC::XXLNOR:
case PPC::XXLOR:
case PPC::XXLORC:
case PPC::XXLORf:
case PPC::XXLXOR:
case PPC::XXMRGHW:
case PPC::XXMRGLW: {
switch (OpNum) {
case 0:
return 0;
case 1:
return 2;
case 2:
return 1;
}
break;
}
case PPC::XXPERM:
case PPC::XXPERMR: {
switch (OpNum) {
case 0:
return 0;
case 1:
return 2;
case 3:
return 1;
}
break;
}
case PPC::XXSPLTW:
case PPC::XXSPLTWs: {
switch (OpNum) {
case 0:
return 0;
case 1:
return 1;
case 2:
return 16;
}
break;
}
case PPC::XXEXTRACTUW: {
switch (OpNum) {
case 0:
return 0;
case 1:
return 1;
case 2:
return 16;
}
break;
}
case PPC::XSABSDP:
case PPC::XSCVDPHP:
case PPC::XSCVDPSP:
case PPC::XSCVDPSPN:
case PPC::XSCVDPSXDS:
case PPC::XSCVDPSXDSs:
case PPC::XSCVDPSXWS:
case PPC::XSCVDPSXWSs:
case PPC::XSCVDPUXDS:
case PPC::XSCVDPUXDSs:
case PPC::XSCVDPUXWS:
case PPC::XSCVDPUXWSs:
case PPC::XSCVHPDP:
case PPC::XSCVSPDP:
case PPC::XSCVSPDPN:
case PPC::XSCVSXDDP:
case PPC::XSCVSXDSP:
case PPC::XSCVUXDDP:
case PPC::XSCVUXDSP:
case PPC::XSNABSDP:
case PPC::XSNABSDPs:
case PPC::XSNEGDP:
case PPC::XSRDPI:
case PPC::XSRDPIC:
case PPC::XSRDPIM:
case PPC::XSRDPIP:
case PPC::XSRDPIZ:
case PPC::XSREDP:
case PPC::XSRESP:
case PPC::XSRSP:
case PPC::XSRSQRTEDP:
case PPC::XSRSQRTESP:
case PPC::XSSQRTDP:
case PPC::XSSQRTSP:
case PPC::XVABSDP:
case PPC::XVABSSP:
case PPC::XVCVBF16SPN:
case PPC::XVCVDPSP:
case PPC::XVCVDPSXDS:
case PPC::XVCVDPSXWS:
case PPC::XVCVDPUXDS:
case PPC::XVCVDPUXWS:
case PPC::XVCVHPSP:
case PPC::XVCVSPBF16:
case PPC::XVCVSPDP:
case PPC::XVCVSPHP:
case PPC::XVCVSPSXDS:
case PPC::XVCVSPSXWS:
case PPC::XVCVSPUXDS:
case PPC::XVCVSPUXWS:
case PPC::XVCVSXDDP:
case PPC::XVCVSXDSP:
case PPC::XVCVSXWDP:
case PPC::XVCVSXWSP:
case PPC::XVCVUXDDP:
case PPC::XVCVUXDSP:
case PPC::XVCVUXWDP:
case PPC::XVCVUXWSP:
case PPC::XVNABSDP:
case PPC::XVNABSSP:
case PPC::XVNEGDP:
case PPC::XVNEGSP:
case PPC::XVRDPI:
case PPC::XVRDPIC:
case PPC::XVRDPIM:
case PPC::XVRDPIP:
case PPC::XVRDPIZ:
case PPC::XVREDP:
case PPC::XVRESP:
case PPC::XVRSPI:
case PPC::XVRSPIC:
case PPC::XVRSPIM:
case PPC::XVRSPIP:
case PPC::XVRSPIZ:
case PPC::XVRSQRTEDP:
case PPC::XVRSQRTESP:
case PPC::XVSQRTDP:
case PPC::XVSQRTSP:
case PPC::XVXEXPDP:
case PPC::XVXEXPSP:
case PPC::XVXSIGDP:
case PPC::XVXSIGSP:
case PPC::XXBRD:
case PPC::XXBRH:
case PPC::XXBRQ:
case PPC::XXBRW: {
switch (OpNum) {
case 0:
return 0;
case 1:
return 1;
}
break;
}
case PPC::XSMADDADP:
case PPC::XSMADDASP:
case PPC::XSMADDMDP:
case PPC::XSMADDMSP:
case PPC::XSMSUBADP:
case PPC::XSMSUBASP:
case PPC::XSMSUBMDP:
case PPC::XSMSUBMSP:
case PPC::XSNMADDADP:
case PPC::XSNMADDASP:
case PPC::XSNMADDMDP:
case PPC::XSNMADDMSP:
case PPC::XSNMSUBADP:
case PPC::XSNMSUBASP:
case PPC::XSNMSUBMDP:
case PPC::XSNMSUBMSP:
case PPC::XVMADDADP:
case PPC::XVMADDASP:
case PPC::XVMADDMDP:
case PPC::XVMADDMSP:
case PPC::XVMSUBADP:
case PPC::XVMSUBASP:
case PPC::XVMSUBMDP:
case PPC::XVMSUBMSP:
case PPC::XVNMADDADP:
case PPC::XVNMADDASP:
case PPC::XVNMADDMDP:
case PPC::XVNMADDMSP:
case PPC::XVNMSUBADP:
case PPC::XVNMSUBASP:
case PPC::XVNMSUBMDP:
case PPC::XVNMSUBMSP: {
switch (OpNum) {
case 0:
return 0;
case 2:
return 2;
case 3:
return 1;
}
break;
}
case PPC::XXINSERTW: {
switch (OpNum) {
case 0:
return 0;
case 2:
return 1;
case 3:
return 16;
}
break;
}
case PPC::XXLEQVOnes:
case PPC::XXLXORdpz:
case PPC::XXLXORspz:
case PPC::XXLXORz: {
switch (OpNum) {
case 0:
return 0;
}
break;
}
case PPC::XXSPLTIDP:
case PPC::XXSPLTIW: {
switch (OpNum) {
case 0:
return 16;
case 1:
return 0;
}
break;
}
case PPC::XXSPLTI32DX: {
switch (OpNum) {
case 0:
return 16;
case 2:
return 17;
case 3:
return 0;
}
break;
}
case PPC::LXV:
case PPC::STXV: {
switch (OpNum) {
case 0:
return 3;
case 2:
return 16;
case 1:
return 4;
}
break;
}
case PPC::PLXVPonlypc:
case PPC::PSTXVPonlypc: {
switch (OpNum) {
case 0:
return 21;
case 1:
return 0;
}
break;
}
case PPC::LXVPRL:
case PPC::LXVPRLL:
case PPC::LXVPX:
case PPC::STXVPRL:
case PPC::STXVPRLL:
case PPC::STXVPX: {
switch (OpNum) {
case 0:
return 21;
case 1:
return 16;
case 2:
return 11;
}
break;
}
case PPC::PLXVP:
case PPC::PLXVPnopc:
case PPC::PLXVPpc:
case PPC::PSTXVP:
case PPC::PSTXVPnopc:
case PPC::PSTXVPpc: {
switch (OpNum) {
case 0:
return 21;
case 2:
return 16;
case 1:
return 0;
}
break;
}
case PPC::LXVP:
case PPC::STXVP: {
switch (OpNum) {
case 0:
return 21;
case 2:
return 16;
case 1:
return 4;
}
break;
}
case PPC::EFDCMPEQ:
case PPC::EFDCMPGT:
case PPC::EFDCMPLT:
case PPC::EFDTSTEQ:
case PPC::EFDTSTGT:
case PPC::EFDTSTLT:
case PPC::EFSCMPEQ:
case PPC::EFSCMPGT:
case PPC::EFSCMPLT:
case PPC::EFSTSTEQ:
case PPC::EFSTSTGT:
case PPC::EFSTSTLT:
case PPC::EVCMPEQ:
case PPC::EVCMPGTS:
case PPC::EVCMPGTU:
case PPC::EVCMPLTS:
case PPC::EVCMPLTU:
case PPC::EVFSCMPEQ:
case PPC::EVFSCMPGT:
case PPC::EVFSCMPLT:
case PPC::EVFSTSTEQ:
case PPC::EVFSTSTGT:
case PPC::EVFSTSTLT: {
switch (OpNum) {
case 0:
return 23;
case 1:
return 16;
case 2:
return 11;
}
break;
}
case PPC::DMXXEXTFDMR256: {
switch (OpNum) {
case 1:
return 23;
case 0:
return 1;
case 2:
return 11;
}
break;
}
case PPC::XXMFACC:
case PPC::XXMFACCW: {
switch (OpNum) {
case 1:
return 23;
}
break;
}
case PPC::BCTRL_LWZinto_toc:
case PPC::BCTRL_LWZinto_toc_RM: {
switch (OpNum) {
case 1:
return 16;
case 0:
return 0;
}
break;
}
case PPC::BCTRL8_LDinto_toc:
case PPC::BCTRL8_LDinto_toc_RM: {
switch (OpNum) {
case 1:
return 16;
case 0:
return 2;
}
break;
}
case PPC::TLBILX: {
switch (OpNum) {
case 1:
return 16;
case 2:
return 11;
case 0:
return 21;
}
break;
}
case PPC::MTOCRF:
case PPC::MTOCRF8: {
switch (OpNum) {
case 1:
return 21;
case 0:
return 12;
}
break;
}
case PPC::MTPMR:
case PPC::MTSPR:
case PPC::MTSPR8: {
switch (OpNum) {
case 1:
return 21;
case 0:
return 11;
}
break;
}
case PPC::STBUX:
case PPC::STBUX8:
case PPC::STDUX:
case PPC::STFDUX:
case PPC::STFSUX:
case PPC::STHUX:
case PPC::STHUX8:
case PPC::STWUX:
case PPC::STWUX8: {
switch (OpNum) {
case 1:
return 21;
case 2:
return 16;
case 3:
return 11;
}
break;
}
case PPC::STBU:
case PPC::STBU8:
case PPC::STFDU:
case PPC::STFSU:
case PPC::STHU:
case PPC::STHU8:
case PPC::STWU:
case PPC::STWU8: {
switch (OpNum) {
case 1:
return 21;
case 3:
return 16;
case 2:
return 0;
}
break;
}
case PPC::STDU: {
switch (OpNum) {
case 1:
return 21;
case 3:
return 16;
case 2:
return 2;
}
break;
}
case PPC::MTVRSAVEv: {
switch (OpNum) {
case 1:
return 21;
}
break;
}
case PPC::DENBCD:
case PPC::DENBCDQ:
case PPC::DENBCDQ_rec:
case PPC::DENBCD_rec: {
switch (OpNum) {
case 1:
return 20;
case 0:
return 21;
case 2:
return 11;
}
break;
}
case PPC::DDEDPD:
case PPC::DDEDPDQ:
case PPC::DDEDPDQ_rec:
case PPC::DDEDPD_rec: {
switch (OpNum) {
case 1:
return 19;
case 0:
return 21;
case 2:
return 11;
}
break;
}
case PPC::MFVRD:
case PPC::MFVRWZ:
case PPC::MFVSRD:
case PPC::MFVSRLD:
case PPC::MFVSRWZ: {
switch (OpNum) {
case 1:
return 0;
case 0:
return 16;
}
break;
}
case PPC::DMXXEXTFDMR512:
case PPC::DMXXEXTFDMR512_HI: {
switch (OpNum) {
case 2:
return 23;
case 0:
return 2;
case 1:
return 1;
}
break;
}
case PPC::CP_PASTE8_rec:
case PPC::CP_PASTE_rec: {
switch (OpNum) {
case 2:
return 21;
case 0:
return 16;
case 1:
return 11;
}
break;
}
case PPC::MTFSF:
case PPC::MTFSF_rec: {
switch (OpNum) {
case 2:
return 25;
case 0:
return 17;
case 3:
return 16;
case 1:
return 11;
}
break;
}
case PPC::HASHCHK:
case PPC::HASHCHK8:
case PPC::HASHCHKP:
case PPC::HASHCHKP8:
case PPC::HASHST:
case PPC::HASHST8:
case PPC::HASHSTP:
case PPC::HASHSTP8: {
switch (OpNum) {
case 2:
return 16;
case 1:
return 0;
case 0:
return 11;
}
break;
}
case PPC::DCBTEP:
case PPC::DCBTSTEP: {
switch (OpNum) {
case 2:
return 21;
case 0:
return 16;
case 1:
return 11;
}
break;
}
case PPC::EVSEL: {
switch (OpNum) {
case 3:
return 0;
case 1:
return 16;
case 2:
return 11;
case 0:
return 21;
}
break;
}
}
std::string msg;
raw_string_ostream Msg(msg);
Msg << "Not supported instr[opcode]: " << MI << "[" << OpNum << "]";
report_fatal_error(Msg.str().c_str());
}
#endif