uint64_t ARMMCCodeEmitter::getBinaryCodeForInstr(const MCInst &MI,
SmallVectorImpl<MCFixup> &Fixups,
const MCSubtargetInfo &STI) const { … }
#ifdef GET_OPERAND_BIT_OFFSET
#undef GET_OPERAND_BIT_OFFSET
uint32_t ARMMCCodeEmitter::getOperandBitOffset(const MCInst &MI,
unsigned OpNum,
const MCSubtargetInfo &STI) const {
switch (MI.getOpcode()) {
case ARM::CLREX:
case ARM::MVE_LCTP:
case ARM::MVE_VPNOT:
case ARM::SB:
case ARM::TRAP:
case ARM::TRAPNaCl:
case ARM::TSB:
case ARM::VBSPd:
case ARM::VBSPq:
case ARM::VLD1LNq8Pseudo:
case ARM::VLD1LNq8Pseudo_UPD:
case ARM::VLD1LNq16Pseudo:
case ARM::VLD1LNq16Pseudo_UPD:
case ARM::VLD1LNq32Pseudo:
case ARM::VLD1LNq32Pseudo_UPD:
case ARM::VLD1d8QPseudo:
case ARM::VLD1d8QPseudoWB_fixed:
case ARM::VLD1d8QPseudoWB_register:
case ARM::VLD1d8TPseudo:
case ARM::VLD1d8TPseudoWB_fixed:
case ARM::VLD1d8TPseudoWB_register:
case ARM::VLD1d16QPseudo:
case ARM::VLD1d16QPseudoWB_fixed:
case ARM::VLD1d16QPseudoWB_register:
case ARM::VLD1d16TPseudo:
case ARM::VLD1d16TPseudoWB_fixed:
case ARM::VLD1d16TPseudoWB_register:
case ARM::VLD1d32QPseudo:
case ARM::VLD1d32QPseudoWB_fixed:
case ARM::VLD1d32QPseudoWB_register:
case ARM::VLD1d32TPseudo:
case ARM::VLD1d32TPseudoWB_fixed:
case ARM::VLD1d32TPseudoWB_register:
case ARM::VLD1d64QPseudo:
case ARM::VLD1d64QPseudoWB_fixed:
case ARM::VLD1d64QPseudoWB_register:
case ARM::VLD1d64TPseudo:
case ARM::VLD1d64TPseudoWB_fixed:
case ARM::VLD1d64TPseudoWB_register:
case ARM::VLD1q8HighQPseudo:
case ARM::VLD1q8HighQPseudo_UPD:
case ARM::VLD1q8HighTPseudo:
case ARM::VLD1q8HighTPseudo_UPD:
case ARM::VLD1q8LowQPseudo_UPD:
case ARM::VLD1q8LowTPseudo_UPD:
case ARM::VLD1q16HighQPseudo:
case ARM::VLD1q16HighQPseudo_UPD:
case ARM::VLD1q16HighTPseudo:
case ARM::VLD1q16HighTPseudo_UPD:
case ARM::VLD1q16LowQPseudo_UPD:
case ARM::VLD1q16LowTPseudo_UPD:
case ARM::VLD1q32HighQPseudo:
case ARM::VLD1q32HighQPseudo_UPD:
case ARM::VLD1q32HighTPseudo:
case ARM::VLD1q32HighTPseudo_UPD:
case ARM::VLD1q32LowQPseudo_UPD:
case ARM::VLD1q32LowTPseudo_UPD:
case ARM::VLD1q64HighQPseudo:
case ARM::VLD1q64HighQPseudo_UPD:
case ARM::VLD1q64HighTPseudo:
case ARM::VLD1q64HighTPseudo_UPD:
case ARM::VLD1q64LowQPseudo_UPD:
case ARM::VLD1q64LowTPseudo_UPD:
case ARM::VLD2DUPq8EvenPseudo:
case ARM::VLD2DUPq8OddPseudo:
case ARM::VLD2DUPq8OddPseudoWB_fixed:
case ARM::VLD2DUPq8OddPseudoWB_register:
case ARM::VLD2DUPq16EvenPseudo:
case ARM::VLD2DUPq16OddPseudo:
case ARM::VLD2DUPq16OddPseudoWB_fixed:
case ARM::VLD2DUPq16OddPseudoWB_register:
case ARM::VLD2DUPq32EvenPseudo:
case ARM::VLD2DUPq32OddPseudo:
case ARM::VLD2DUPq32OddPseudoWB_fixed:
case ARM::VLD2DUPq32OddPseudoWB_register:
case ARM::VLD2LNd8Pseudo:
case ARM::VLD2LNd8Pseudo_UPD:
case ARM::VLD2LNd16Pseudo:
case ARM::VLD2LNd16Pseudo_UPD:
case ARM::VLD2LNd32Pseudo:
case ARM::VLD2LNd32Pseudo_UPD:
case ARM::VLD2LNq16Pseudo:
case ARM::VLD2LNq16Pseudo_UPD:
case ARM::VLD2LNq32Pseudo:
case ARM::VLD2LNq32Pseudo_UPD:
case ARM::VLD2q8Pseudo:
case ARM::VLD2q8PseudoWB_fixed:
case ARM::VLD2q8PseudoWB_register:
case ARM::VLD2q16Pseudo:
case ARM::VLD2q16PseudoWB_fixed:
case ARM::VLD2q16PseudoWB_register:
case ARM::VLD2q32Pseudo:
case ARM::VLD2q32PseudoWB_fixed:
case ARM::VLD2q32PseudoWB_register:
case ARM::VLD3DUPd8Pseudo:
case ARM::VLD3DUPd8Pseudo_UPD:
case ARM::VLD3DUPd16Pseudo:
case ARM::VLD3DUPd16Pseudo_UPD:
case ARM::VLD3DUPd32Pseudo:
case ARM::VLD3DUPd32Pseudo_UPD:
case ARM::VLD3DUPq8EvenPseudo:
case ARM::VLD3DUPq8OddPseudo:
case ARM::VLD3DUPq8OddPseudo_UPD:
case ARM::VLD3DUPq16EvenPseudo:
case ARM::VLD3DUPq16OddPseudo:
case ARM::VLD3DUPq16OddPseudo_UPD:
case ARM::VLD3DUPq32EvenPseudo:
case ARM::VLD3DUPq32OddPseudo:
case ARM::VLD3DUPq32OddPseudo_UPD:
case ARM::VLD3LNd8Pseudo:
case ARM::VLD3LNd8Pseudo_UPD:
case ARM::VLD3LNd16Pseudo:
case ARM::VLD3LNd16Pseudo_UPD:
case ARM::VLD3LNd32Pseudo:
case ARM::VLD3LNd32Pseudo_UPD:
case ARM::VLD3LNq16Pseudo:
case ARM::VLD3LNq16Pseudo_UPD:
case ARM::VLD3LNq32Pseudo:
case ARM::VLD3LNq32Pseudo_UPD:
case ARM::VLD3d8Pseudo:
case ARM::VLD3d8Pseudo_UPD:
case ARM::VLD3d16Pseudo:
case ARM::VLD3d16Pseudo_UPD:
case ARM::VLD3d32Pseudo:
case ARM::VLD3d32Pseudo_UPD:
case ARM::VLD3q8Pseudo_UPD:
case ARM::VLD3q8oddPseudo:
case ARM::VLD3q8oddPseudo_UPD:
case ARM::VLD3q16Pseudo_UPD:
case ARM::VLD3q16oddPseudo:
case ARM::VLD3q16oddPseudo_UPD:
case ARM::VLD3q32Pseudo_UPD:
case ARM::VLD3q32oddPseudo:
case ARM::VLD3q32oddPseudo_UPD:
case ARM::VLD4DUPd8Pseudo:
case ARM::VLD4DUPd8Pseudo_UPD:
case ARM::VLD4DUPd16Pseudo:
case ARM::VLD4DUPd16Pseudo_UPD:
case ARM::VLD4DUPd32Pseudo:
case ARM::VLD4DUPd32Pseudo_UPD:
case ARM::VLD4DUPq8EvenPseudo:
case ARM::VLD4DUPq8OddPseudo:
case ARM::VLD4DUPq8OddPseudo_UPD:
case ARM::VLD4DUPq16EvenPseudo:
case ARM::VLD4DUPq16OddPseudo:
case ARM::VLD4DUPq16OddPseudo_UPD:
case ARM::VLD4DUPq32EvenPseudo:
case ARM::VLD4DUPq32OddPseudo:
case ARM::VLD4DUPq32OddPseudo_UPD:
case ARM::VLD4LNd8Pseudo:
case ARM::VLD4LNd8Pseudo_UPD:
case ARM::VLD4LNd16Pseudo:
case ARM::VLD4LNd16Pseudo_UPD:
case ARM::VLD4LNd32Pseudo:
case ARM::VLD4LNd32Pseudo_UPD:
case ARM::VLD4LNq16Pseudo:
case ARM::VLD4LNq16Pseudo_UPD:
case ARM::VLD4LNq32Pseudo:
case ARM::VLD4LNq32Pseudo_UPD:
case ARM::VLD4d8Pseudo:
case ARM::VLD4d8Pseudo_UPD:
case ARM::VLD4d16Pseudo:
case ARM::VLD4d16Pseudo_UPD:
case ARM::VLD4d32Pseudo:
case ARM::VLD4d32Pseudo_UPD:
case ARM::VLD4q8Pseudo_UPD:
case ARM::VLD4q8oddPseudo:
case ARM::VLD4q8oddPseudo_UPD:
case ARM::VLD4q16Pseudo_UPD:
case ARM::VLD4q16oddPseudo:
case ARM::VLD4q16oddPseudo_UPD:
case ARM::VLD4q32Pseudo_UPD:
case ARM::VLD4q32oddPseudo:
case ARM::VLD4q32oddPseudo_UPD:
case ARM::VLDMQIA:
case ARM::VST1LNq8Pseudo:
case ARM::VST1LNq8Pseudo_UPD:
case ARM::VST1LNq16Pseudo:
case ARM::VST1LNq16Pseudo_UPD:
case ARM::VST1LNq32Pseudo:
case ARM::VST1LNq32Pseudo_UPD:
case ARM::VST1d8QPseudo:
case ARM::VST1d8QPseudoWB_fixed:
case ARM::VST1d8QPseudoWB_register:
case ARM::VST1d8TPseudo:
case ARM::VST1d8TPseudoWB_fixed:
case ARM::VST1d8TPseudoWB_register:
case ARM::VST1d16QPseudo:
case ARM::VST1d16QPseudoWB_fixed:
case ARM::VST1d16QPseudoWB_register:
case ARM::VST1d16TPseudo:
case ARM::VST1d16TPseudoWB_fixed:
case ARM::VST1d16TPseudoWB_register:
case ARM::VST1d32QPseudo:
case ARM::VST1d32QPseudoWB_fixed:
case ARM::VST1d32QPseudoWB_register:
case ARM::VST1d32TPseudo:
case ARM::VST1d32TPseudoWB_fixed:
case ARM::VST1d32TPseudoWB_register:
case ARM::VST1d64QPseudo:
case ARM::VST1d64QPseudoWB_fixed:
case ARM::VST1d64QPseudoWB_register:
case ARM::VST1d64TPseudo:
case ARM::VST1d64TPseudoWB_fixed:
case ARM::VST1d64TPseudoWB_register:
case ARM::VST1q8HighQPseudo:
case ARM::VST1q8HighQPseudo_UPD:
case ARM::VST1q8HighTPseudo:
case ARM::VST1q8HighTPseudo_UPD:
case ARM::VST1q8LowQPseudo_UPD:
case ARM::VST1q8LowTPseudo_UPD:
case ARM::VST1q16HighQPseudo:
case ARM::VST1q16HighQPseudo_UPD:
case ARM::VST1q16HighTPseudo:
case ARM::VST1q16HighTPseudo_UPD:
case ARM::VST1q16LowQPseudo_UPD:
case ARM::VST1q16LowTPseudo_UPD:
case ARM::VST1q32HighQPseudo:
case ARM::VST1q32HighQPseudo_UPD:
case ARM::VST1q32HighTPseudo:
case ARM::VST1q32HighTPseudo_UPD:
case ARM::VST1q32LowQPseudo_UPD:
case ARM::VST1q32LowTPseudo_UPD:
case ARM::VST1q64HighQPseudo:
case ARM::VST1q64HighQPseudo_UPD:
case ARM::VST1q64HighTPseudo:
case ARM::VST1q64HighTPseudo_UPD:
case ARM::VST1q64LowQPseudo_UPD:
case ARM::VST1q64LowTPseudo_UPD:
case ARM::VST2LNd8Pseudo:
case ARM::VST2LNd8Pseudo_UPD:
case ARM::VST2LNd16Pseudo:
case ARM::VST2LNd16Pseudo_UPD:
case ARM::VST2LNd32Pseudo:
case ARM::VST2LNd32Pseudo_UPD:
case ARM::VST2LNq16Pseudo:
case ARM::VST2LNq16Pseudo_UPD:
case ARM::VST2LNq32Pseudo:
case ARM::VST2LNq32Pseudo_UPD:
case ARM::VST2q8Pseudo:
case ARM::VST2q8PseudoWB_fixed:
case ARM::VST2q8PseudoWB_register:
case ARM::VST2q16Pseudo:
case ARM::VST2q16PseudoWB_fixed:
case ARM::VST2q16PseudoWB_register:
case ARM::VST2q32Pseudo:
case ARM::VST2q32PseudoWB_fixed:
case ARM::VST2q32PseudoWB_register:
case ARM::VST3LNd8Pseudo:
case ARM::VST3LNd8Pseudo_UPD:
case ARM::VST3LNd16Pseudo:
case ARM::VST3LNd16Pseudo_UPD:
case ARM::VST3LNd32Pseudo:
case ARM::VST3LNd32Pseudo_UPD:
case ARM::VST3LNq16Pseudo:
case ARM::VST3LNq16Pseudo_UPD:
case ARM::VST3LNq32Pseudo:
case ARM::VST3LNq32Pseudo_UPD:
case ARM::VST3d8Pseudo:
case ARM::VST3d8Pseudo_UPD:
case ARM::VST3d16Pseudo:
case ARM::VST3d16Pseudo_UPD:
case ARM::VST3d32Pseudo:
case ARM::VST3d32Pseudo_UPD:
case ARM::VST3q8Pseudo_UPD:
case ARM::VST3q8oddPseudo:
case ARM::VST3q8oddPseudo_UPD:
case ARM::VST3q16Pseudo_UPD:
case ARM::VST3q16oddPseudo:
case ARM::VST3q16oddPseudo_UPD:
case ARM::VST3q32Pseudo_UPD:
case ARM::VST3q32oddPseudo:
case ARM::VST3q32oddPseudo_UPD:
case ARM::VST4LNd8Pseudo:
case ARM::VST4LNd8Pseudo_UPD:
case ARM::VST4LNd16Pseudo:
case ARM::VST4LNd16Pseudo_UPD:
case ARM::VST4LNd32Pseudo:
case ARM::VST4LNd32Pseudo_UPD:
case ARM::VST4LNq16Pseudo:
case ARM::VST4LNq16Pseudo_UPD:
case ARM::VST4LNq32Pseudo:
case ARM::VST4LNq32Pseudo_UPD:
case ARM::VST4d8Pseudo:
case ARM::VST4d8Pseudo_UPD:
case ARM::VST4d16Pseudo:
case ARM::VST4d16Pseudo_UPD:
case ARM::VST4d32Pseudo:
case ARM::VST4d32Pseudo_UPD:
case ARM::VST4q8Pseudo_UPD:
case ARM::VST4q8oddPseudo:
case ARM::VST4q8oddPseudo_UPD:
case ARM::VST4q16Pseudo_UPD:
case ARM::VST4q16oddPseudo:
case ARM::VST4q16oddPseudo_UPD:
case ARM::VST4q32Pseudo_UPD:
case ARM::VST4q32oddPseudo:
case ARM::VST4q32oddPseudo_UPD:
case ARM::VSTMQIA:
case ARM::VTBL3Pseudo:
case ARM::VTBL4Pseudo:
case ARM::VTBX3Pseudo:
case ARM::VTBX4Pseudo:
case ARM::t2AUT:
case ARM::t2BTI:
case ARM::t2CLREX:
case ARM::t2DCPS1:
case ARM::t2DCPS2:
case ARM::t2DCPS3:
case ARM::t2Int_eh_sjlj_setjmp:
case ARM::t2Int_eh_sjlj_setjmp_nofp:
case ARM::t2PAC:
case ARM::t2PACBTI:
case ARM::t2SB:
case ARM::t2SG:
case ARM::t2TSB:
case ARM::tInt_WIN_eh_sjlj_longjmp:
case ARM::tInt_eh_sjlj_longjmp:
case ARM::tInt_eh_sjlj_setjmp:
case ARM::tTRAP:
case ARM::t__brkdiv0: {
break;
}
case ARM::VRINTAD:
case ARM::VRINTMD:
case ARM::VRINTND:
case ARM::VRINTPD: {
switch (OpNum) {
case 0:
return 12;
case 1:
return 0;
}
break;
}
case ARM::VFP_VMAXNMD:
case ARM::VFP_VMINNMD:
case ARM::VSELEQD:
case ARM::VSELGED:
case ARM::VSELGTD:
case ARM::VSELVSD: {
switch (OpNum) {
case 0:
return 12;
case 1:
return 7;
case 2:
return 0;
}
break;
}
case ARM::MVE_VPST: {
switch (OpNum) {
case 0:
return 13;
}
break;
}
case ARM::MVE_VQRSHL_by_vecs8:
case ARM::MVE_VQRSHL_by_vecs16:
case ARM::MVE_VQRSHL_by_vecs32:
case ARM::MVE_VQRSHL_by_vecu8:
case ARM::MVE_VQRSHL_by_vecu16:
case ARM::MVE_VQRSHL_by_vecu32:
case ARM::MVE_VQSHL_by_vecs8:
case ARM::MVE_VQSHL_by_vecs16:
case ARM::MVE_VQSHL_by_vecs32:
case ARM::MVE_VQSHL_by_vecu8:
case ARM::MVE_VQSHL_by_vecu16:
case ARM::MVE_VQSHL_by_vecu32:
case ARM::MVE_VRSHL_by_vecs8:
case ARM::MVE_VRSHL_by_vecs16:
case ARM::MVE_VRSHL_by_vecs32:
case ARM::MVE_VRSHL_by_vecu8:
case ARM::MVE_VRSHL_by_vecu16:
case ARM::MVE_VRSHL_by_vecu32:
case ARM::MVE_VSHL_by_vecs8:
case ARM::MVE_VSHL_by_vecs16:
case ARM::MVE_VSHL_by_vecs32:
case ARM::MVE_VSHL_by_vecu8:
case ARM::MVE_VSHL_by_vecu16:
case ARM::MVE_VSHL_by_vecu32: {
switch (OpNum) {
case 0:
return 13;
case 1:
return 1;
case 2:
return 7;
}
break;
}
case ARM::MVE_VQSHLU_imms8:
case ARM::MVE_VQSHLU_imms16:
case ARM::MVE_VQSHLU_imms32:
case ARM::MVE_VQSHLimms8:
case ARM::MVE_VQSHLimms16:
case ARM::MVE_VQSHLimms32:
case ARM::MVE_VQSHLimmu8:
case ARM::MVE_VQSHLimmu16:
case ARM::MVE_VQSHLimmu32:
case ARM::MVE_VRSHR_imms8:
case ARM::MVE_VRSHR_imms16:
case ARM::MVE_VRSHR_imms32:
case ARM::MVE_VRSHR_immu8:
case ARM::MVE_VRSHR_immu16:
case ARM::MVE_VRSHR_immu32:
case ARM::MVE_VSHLL_imms8bh:
case ARM::MVE_VSHLL_imms8th:
case ARM::MVE_VSHLL_imms16bh:
case ARM::MVE_VSHLL_imms16th:
case ARM::MVE_VSHLL_immu8bh:
case ARM::MVE_VSHLL_immu8th:
case ARM::MVE_VSHLL_immu16bh:
case ARM::MVE_VSHLL_immu16th:
case ARM::MVE_VSHL_immi8:
case ARM::MVE_VSHL_immi16:
case ARM::MVE_VSHL_immi32:
case ARM::MVE_VSHR_imms8:
case ARM::MVE_VSHR_imms16:
case ARM::MVE_VSHR_imms32:
case ARM::MVE_VSHR_immu8:
case ARM::MVE_VSHR_immu16:
case ARM::MVE_VSHR_immu32: {
switch (OpNum) {
case 0:
return 13;
case 1:
return 1;
case 2:
return 16;
}
break;
}
case ARM::MVE_VABSs8:
case ARM::MVE_VABSs16:
case ARM::MVE_VABSs32:
case ARM::MVE_VCLSs8:
case ARM::MVE_VCLSs16:
case ARM::MVE_VCLSs32:
case ARM::MVE_VCLZs8:
case ARM::MVE_VCLZs16:
case ARM::MVE_VCLZs32:
case ARM::MVE_VCVTf32f16bh:
case ARM::MVE_VCVTf32f16th:
case ARM::MVE_VMOVLs8bh:
case ARM::MVE_VMOVLs8th:
case ARM::MVE_VMOVLs16bh:
case ARM::MVE_VMOVLs16th:
case ARM::MVE_VMOVLu8bh:
case ARM::MVE_VMOVLu8th:
case ARM::MVE_VMOVLu16bh:
case ARM::MVE_VMOVLu16th:
case ARM::MVE_VMVN:
case ARM::MVE_VNEGs8:
case ARM::MVE_VNEGs16:
case ARM::MVE_VNEGs32:
case ARM::MVE_VQABSs8:
case ARM::MVE_VQABSs16:
case ARM::MVE_VQABSs32:
case ARM::MVE_VQNEGs8:
case ARM::MVE_VQNEGs16:
case ARM::MVE_VQNEGs32:
case ARM::MVE_VREV16_8:
case ARM::MVE_VREV32_8:
case ARM::MVE_VREV32_16:
case ARM::MVE_VREV64_8:
case ARM::MVE_VREV64_16:
case ARM::MVE_VREV64_32:
case ARM::MVE_VSHLL_lws8bh:
case ARM::MVE_VSHLL_lws8th:
case ARM::MVE_VSHLL_lws16bh:
case ARM::MVE_VSHLL_lws16th:
case ARM::MVE_VSHLL_lwu8bh:
case ARM::MVE_VSHLL_lwu8th:
case ARM::MVE_VSHLL_lwu16bh:
case ARM::MVE_VSHLL_lwu16th: {
switch (OpNum) {
case 0:
return 13;
case 1:
return 1;
}
break;
}
case ARM::MVE_VABDs8:
case ARM::MVE_VABDs16:
case ARM::MVE_VABDs32:
case ARM::MVE_VABDu8:
case ARM::MVE_VABDu16:
case ARM::MVE_VABDu32:
case ARM::MVE_VADDi8:
case ARM::MVE_VADDi16:
case ARM::MVE_VADDi32:
case ARM::MVE_VHADDs8:
case ARM::MVE_VHADDs16:
case ARM::MVE_VHADDs32:
case ARM::MVE_VHADDu8:
case ARM::MVE_VHADDu16:
case ARM::MVE_VHADDu32:
case ARM::MVE_VHSUBs8:
case ARM::MVE_VHSUBs16:
case ARM::MVE_VHSUBs32:
case ARM::MVE_VHSUBu8:
case ARM::MVE_VHSUBu16:
case ARM::MVE_VHSUBu32:
case ARM::MVE_VMAXNMf16:
case ARM::MVE_VMAXNMf32:
case ARM::MVE_VMAXs8:
case ARM::MVE_VMAXs16:
case ARM::MVE_VMAXs32:
case ARM::MVE_VMAXu8:
case ARM::MVE_VMAXu16:
case ARM::MVE_VMAXu32:
case ARM::MVE_VMINNMf16:
case ARM::MVE_VMINNMf32:
case ARM::MVE_VMINs8:
case ARM::MVE_VMINs16:
case ARM::MVE_VMINs32:
case ARM::MVE_VMINu8:
case ARM::MVE_VMINu16:
case ARM::MVE_VMINu32:
case ARM::MVE_VMULi8:
case ARM::MVE_VMULi16:
case ARM::MVE_VMULi32:
case ARM::MVE_VQADDs8:
case ARM::MVE_VQADDs16:
case ARM::MVE_VQADDs32:
case ARM::MVE_VQADDu8:
case ARM::MVE_VQADDu16:
case ARM::MVE_VQADDu32:
case ARM::MVE_VQDMULHi8:
case ARM::MVE_VQDMULHi16:
case ARM::MVE_VQDMULHi32:
case ARM::MVE_VQRDMULHi8:
case ARM::MVE_VQRDMULHi16:
case ARM::MVE_VQRDMULHi32:
case ARM::MVE_VQSUBs8:
case ARM::MVE_VQSUBs16:
case ARM::MVE_VQSUBs32:
case ARM::MVE_VQSUBu8:
case ARM::MVE_VQSUBu16:
case ARM::MVE_VQSUBu32:
case ARM::MVE_VRHADDs8:
case ARM::MVE_VRHADDs16:
case ARM::MVE_VRHADDs32:
case ARM::MVE_VRHADDu8:
case ARM::MVE_VRHADDu16:
case ARM::MVE_VRHADDu32:
case ARM::MVE_VSUBi8:
case ARM::MVE_VSUBi16:
case ARM::MVE_VSUBi32: {
switch (OpNum) {
case 0:
return 13;
case 1:
return 7;
case 2:
return 1;
}
break;
}
case ARM::MVE_VADD_qr_f16:
case ARM::MVE_VADD_qr_f32:
case ARM::MVE_VADD_qr_i8:
case ARM::MVE_VADD_qr_i16:
case ARM::MVE_VADD_qr_i32:
case ARM::MVE_VBRSR8:
case ARM::MVE_VBRSR16:
case ARM::MVE_VBRSR32:
case ARM::MVE_VHADD_qr_s8:
case ARM::MVE_VHADD_qr_s16:
case ARM::MVE_VHADD_qr_s32:
case ARM::MVE_VHADD_qr_u8:
case ARM::MVE_VHADD_qr_u16:
case ARM::MVE_VHADD_qr_u32:
case ARM::MVE_VHSUB_qr_s8:
case ARM::MVE_VHSUB_qr_s16:
case ARM::MVE_VHSUB_qr_s32:
case ARM::MVE_VHSUB_qr_u8:
case ARM::MVE_VHSUB_qr_u16:
case ARM::MVE_VHSUB_qr_u32:
case ARM::MVE_VMUL_qr_f16:
case ARM::MVE_VMUL_qr_f32:
case ARM::MVE_VMUL_qr_i8:
case ARM::MVE_VMUL_qr_i16:
case ARM::MVE_VMUL_qr_i32:
case ARM::MVE_VQADD_qr_s8:
case ARM::MVE_VQADD_qr_s16:
case ARM::MVE_VQADD_qr_s32:
case ARM::MVE_VQADD_qr_u8:
case ARM::MVE_VQADD_qr_u16:
case ARM::MVE_VQADD_qr_u32:
case ARM::MVE_VQDMULH_qr_s8:
case ARM::MVE_VQDMULH_qr_s16:
case ARM::MVE_VQDMULH_qr_s32:
case ARM::MVE_VQDMULL_qr_s16bh:
case ARM::MVE_VQDMULL_qr_s16th:
case ARM::MVE_VQDMULL_qr_s32bh:
case ARM::MVE_VQDMULL_qr_s32th:
case ARM::MVE_VQRDMULH_qr_s8:
case ARM::MVE_VQRDMULH_qr_s16:
case ARM::MVE_VQRDMULH_qr_s32:
case ARM::MVE_VQSUB_qr_s8:
case ARM::MVE_VQSUB_qr_s16:
case ARM::MVE_VQSUB_qr_s32:
case ARM::MVE_VQSUB_qr_u8:
case ARM::MVE_VQSUB_qr_u16:
case ARM::MVE_VQSUB_qr_u32:
case ARM::MVE_VSUB_qr_f16:
case ARM::MVE_VSUB_qr_f32:
case ARM::MVE_VSUB_qr_i8:
case ARM::MVE_VSUB_qr_i16:
case ARM::MVE_VSUB_qr_i32: {
switch (OpNum) {
case 0:
return 13;
case 1:
return 7;
case 2:
return 0;
}
break;
}
case ARM::MVE_VDDUPu8:
case ARM::MVE_VDDUPu16:
case ARM::MVE_VDDUPu32:
case ARM::MVE_VIDUPu8:
case ARM::MVE_VIDUPu16:
case ARM::MVE_VIDUPu32: {
switch (OpNum) {
case 0:
return 13;
case 1:
return 17;
case 3:
return 0;
}
break;
}
case ARM::MVE_VLDRBS16:
case ARM::MVE_VLDRBS32:
case ARM::MVE_VLDRBU8:
case ARM::MVE_VLDRBU16:
case ARM::MVE_VLDRBU32:
case ARM::MVE_VLDRDU64_qi:
case ARM::MVE_VLDRHS32:
case ARM::MVE_VLDRHU16:
case ARM::MVE_VLDRHU32:
case ARM::MVE_VLDRWU32:
case ARM::MVE_VLDRWU32_qi:
case ARM::MVE_VSTRB16:
case ARM::MVE_VSTRB32:
case ARM::MVE_VSTRBU8:
case ARM::MVE_VSTRD64_qi:
case ARM::MVE_VSTRH32:
case ARM::MVE_VSTRHU16:
case ARM::MVE_VSTRW32_qi:
case ARM::MVE_VSTRWU32: {
switch (OpNum) {
case 0:
return 13;
case 1:
return 0;
}
break;
}
case ARM::MVE_VLDRBS16_rq:
case ARM::MVE_VLDRBS32_rq:
case ARM::MVE_VLDRBU8_rq:
case ARM::MVE_VLDRBU16_rq:
case ARM::MVE_VLDRBU32_rq:
case ARM::MVE_VLDRDU64_rq:
case ARM::MVE_VLDRDU64_rq_u:
case ARM::MVE_VLDRHS32_rq:
case ARM::MVE_VLDRHS32_rq_u:
case ARM::MVE_VLDRHU16_rq:
case ARM::MVE_VLDRHU16_rq_u:
case ARM::MVE_VLDRHU32_rq:
case ARM::MVE_VLDRHU32_rq_u:
case ARM::MVE_VLDRWU32_rq:
case ARM::MVE_VLDRWU32_rq_u:
case ARM::MVE_VSTRB8_rq:
case ARM::MVE_VSTRB16_rq:
case ARM::MVE_VSTRB32_rq:
case ARM::MVE_VSTRD64_rq:
case ARM::MVE_VSTRD64_rq_u:
case ARM::MVE_VSTRH16_rq:
case ARM::MVE_VSTRH16_rq_u:
case ARM::MVE_VSTRH32_rq:
case ARM::MVE_VSTRH32_rq_u:
case ARM::MVE_VSTRW32_rq:
case ARM::MVE_VSTRW32_rq_u: {
switch (OpNum) {
case 0:
return 13;
case 1:
return 1;
}
break;
}
case ARM::MVE_VCMULf16:
case ARM::MVE_VCMULf32: {
switch (OpNum) {
case 0:
return 13;
case 2:
return 1;
case 1:
return 7;
case 3:
return 0;
}
break;
}
case ARM::MVE_VCADDi8:
case ARM::MVE_VCADDi16:
case ARM::MVE_VCADDi32:
case ARM::MVE_VHCADDs8:
case ARM::MVE_VHCADDs16:
case ARM::MVE_VHCADDs32: {
switch (OpNum) {
case 0:
return 13;
case 2:
return 1;
case 1:
return 7;
case 3:
return 12;
}
break;
}
case ARM::MVE_VAND:
case ARM::MVE_VBIC:
case ARM::MVE_VEOR:
case ARM::MVE_VMULHs8:
case ARM::MVE_VMULHs16:
case ARM::MVE_VMULHs32:
case ARM::MVE_VMULHu8:
case ARM::MVE_VMULHu16:
case ARM::MVE_VMULHu32:
case ARM::MVE_VMULLBp8:
case ARM::MVE_VMULLBp16:
case ARM::MVE_VMULLBs8:
case ARM::MVE_VMULLBs16:
case ARM::MVE_VMULLBs32:
case ARM::MVE_VMULLBu8:
case ARM::MVE_VMULLBu16:
case ARM::MVE_VMULLBu32:
case ARM::MVE_VMULLTp8:
case ARM::MVE_VMULLTp16:
case ARM::MVE_VMULLTs8:
case ARM::MVE_VMULLTs16:
case ARM::MVE_VMULLTs32:
case ARM::MVE_VMULLTu8:
case ARM::MVE_VMULLTu16:
case ARM::MVE_VMULLTu32:
case ARM::MVE_VORN:
case ARM::MVE_VORR:
case ARM::MVE_VQDMULLs16bh:
case ARM::MVE_VQDMULLs16th:
case ARM::MVE_VQDMULLs32bh:
case ARM::MVE_VQDMULLs32th:
case ARM::MVE_VRMULHs8:
case ARM::MVE_VRMULHs16:
case ARM::MVE_VRMULHs32:
case ARM::MVE_VRMULHu8:
case ARM::MVE_VRMULHu16:
case ARM::MVE_VRMULHu32: {
switch (OpNum) {
case 0:
return 13;
case 2:
return 1;
case 1:
return 7;
}
break;
}
case ARM::MVE_VQRSHRNbhs16:
case ARM::MVE_VQRSHRNbhs32:
case ARM::MVE_VQRSHRNbhu16:
case ARM::MVE_VQRSHRNbhu32:
case ARM::MVE_VQRSHRNths16:
case ARM::MVE_VQRSHRNths32:
case ARM::MVE_VQRSHRNthu16:
case ARM::MVE_VQRSHRNthu32:
case ARM::MVE_VQRSHRUNs16bh:
case ARM::MVE_VQRSHRUNs16th:
case ARM::MVE_VQRSHRUNs32bh:
case ARM::MVE_VQRSHRUNs32th:
case ARM::MVE_VQSHRNbhs16:
case ARM::MVE_VQSHRNbhs32:
case ARM::MVE_VQSHRNbhu16:
case ARM::MVE_VQSHRNbhu32:
case ARM::MVE_VQSHRNths16:
case ARM::MVE_VQSHRNths32:
case ARM::MVE_VQSHRNthu16:
case ARM::MVE_VQSHRNthu32:
case ARM::MVE_VQSHRUNs16bh:
case ARM::MVE_VQSHRUNs16th:
case ARM::MVE_VQSHRUNs32bh:
case ARM::MVE_VQSHRUNs32th:
case ARM::MVE_VRSHRNi16bh:
case ARM::MVE_VRSHRNi16th:
case ARM::MVE_VRSHRNi32bh:
case ARM::MVE_VRSHRNi32th:
case ARM::MVE_VSHRNi16bh:
case ARM::MVE_VSHRNi16th:
case ARM::MVE_VSHRNi32bh:
case ARM::MVE_VSHRNi32th:
case ARM::MVE_VSLIimm8:
case ARM::MVE_VSLIimm16:
case ARM::MVE_VSLIimm32:
case ARM::MVE_VSRIimm8:
case ARM::MVE_VSRIimm16:
case ARM::MVE_VSRIimm32: {
switch (OpNum) {
case 0:
return 13;
case 2:
return 1;
case 3:
return 16;
}
break;
}
case ARM::MVE_VCVTf16f32bh:
case ARM::MVE_VCVTf16f32th:
case ARM::MVE_VMAXAs8:
case ARM::MVE_VMAXAs16:
case ARM::MVE_VMAXAs32:
case ARM::MVE_VMAXNMAf16:
case ARM::MVE_VMAXNMAf32:
case ARM::MVE_VMINAs8:
case ARM::MVE_VMINAs16:
case ARM::MVE_VMINAs32:
case ARM::MVE_VMINNMAf16:
case ARM::MVE_VMINNMAf32:
case ARM::MVE_VMOVNi16bh:
case ARM::MVE_VMOVNi16th:
case ARM::MVE_VMOVNi32bh:
case ARM::MVE_VMOVNi32th:
case ARM::MVE_VQMOVNs16bh:
case ARM::MVE_VQMOVNs16th:
case ARM::MVE_VQMOVNs32bh:
case ARM::MVE_VQMOVNs32th:
case ARM::MVE_VQMOVNu16bh:
case ARM::MVE_VQMOVNu16th:
case ARM::MVE_VQMOVNu32bh:
case ARM::MVE_VQMOVNu32th:
case ARM::MVE_VQMOVUNs16bh:
case ARM::MVE_VQMOVUNs16th:
case ARM::MVE_VQMOVUNs32bh:
case ARM::MVE_VQMOVUNs32th: {
switch (OpNum) {
case 0:
return 13;
case 2:
return 1;
}
break;
}
case ARM::MVE_VFMA_qr_Sf16:
case ARM::MVE_VFMA_qr_Sf32:
case ARM::MVE_VFMA_qr_f16:
case ARM::MVE_VFMA_qr_f32:
case ARM::MVE_VMLAS_qr_i8:
case ARM::MVE_VMLAS_qr_i16:
case ARM::MVE_VMLAS_qr_i32:
case ARM::MVE_VMLA_qr_i8:
case ARM::MVE_VMLA_qr_i16:
case ARM::MVE_VMLA_qr_i32:
case ARM::MVE_VQDMLAH_qrs8:
case ARM::MVE_VQDMLAH_qrs16:
case ARM::MVE_VQDMLAH_qrs32:
case ARM::MVE_VQDMLASH_qrs8:
case ARM::MVE_VQDMLASH_qrs16:
case ARM::MVE_VQDMLASH_qrs32:
case ARM::MVE_VQRDMLAH_qrs8:
case ARM::MVE_VQRDMLAH_qrs16:
case ARM::MVE_VQRDMLAH_qrs32:
case ARM::MVE_VQRDMLASH_qrs8:
case ARM::MVE_VQRDMLASH_qrs16:
case ARM::MVE_VQRDMLASH_qrs32: {
switch (OpNum) {
case 0:
return 13;
case 2:
return 7;
case 3:
return 0;
}
break;
}
case ARM::MVE_VQRSHL_qrs8:
case ARM::MVE_VQRSHL_qrs16:
case ARM::MVE_VQRSHL_qrs32:
case ARM::MVE_VQRSHL_qru8:
case ARM::MVE_VQRSHL_qru16:
case ARM::MVE_VQRSHL_qru32:
case ARM::MVE_VQSHL_qrs8:
case ARM::MVE_VQSHL_qrs16:
case ARM::MVE_VQSHL_qrs32:
case ARM::MVE_VQSHL_qru8:
case ARM::MVE_VQSHL_qru16:
case ARM::MVE_VQSHL_qru32:
case ARM::MVE_VRSHL_qrs8:
case ARM::MVE_VRSHL_qrs16:
case ARM::MVE_VRSHL_qrs32:
case ARM::MVE_VRSHL_qru8:
case ARM::MVE_VRSHL_qru16:
case ARM::MVE_VRSHL_qru32:
case ARM::MVE_VSHL_qrs8:
case ARM::MVE_VSHL_qrs16:
case ARM::MVE_VSHL_qrs32:
case ARM::MVE_VSHL_qru8:
case ARM::MVE_VSHL_qru16:
case ARM::MVE_VSHL_qru32: {
switch (OpNum) {
case 0:
return 13;
case 2:
return 0;
}
break;
}
case ARM::MVE_VADC:
case ARM::MVE_VADCI:
case ARM::MVE_VQDMLADHXs8:
case ARM::MVE_VQDMLADHXs16:
case ARM::MVE_VQDMLADHXs32:
case ARM::MVE_VQDMLADHs8:
case ARM::MVE_VQDMLADHs16:
case ARM::MVE_VQDMLADHs32:
case ARM::MVE_VQDMLSDHXs8:
case ARM::MVE_VQDMLSDHXs16:
case ARM::MVE_VQDMLSDHXs32:
case ARM::MVE_VQDMLSDHs8:
case ARM::MVE_VQDMLSDHs16:
case ARM::MVE_VQDMLSDHs32:
case ARM::MVE_VQRDMLADHXs8:
case ARM::MVE_VQRDMLADHXs16:
case ARM::MVE_VQRDMLADHXs32:
case ARM::MVE_VQRDMLADHs8:
case ARM::MVE_VQRDMLADHs16:
case ARM::MVE_VQRDMLADHs32:
case ARM::MVE_VQRDMLSDHXs8:
case ARM::MVE_VQRDMLSDHXs16:
case ARM::MVE_VQRDMLSDHXs32:
case ARM::MVE_VQRDMLSDHs8:
case ARM::MVE_VQRDMLSDHs16:
case ARM::MVE_VQRDMLSDHs32:
case ARM::MVE_VSBC:
case ARM::MVE_VSBCI: {
switch (OpNum) {
case 0:
return 13;
case 3:
return 1;
case 2:
return 7;
}
break;
}
case ARM::MVE_VDWDUPu8:
case ARM::MVE_VDWDUPu16:
case ARM::MVE_VDWDUPu32:
case ARM::MVE_VIWDUPu8:
case ARM::MVE_VIWDUPu16:
case ARM::MVE_VIWDUPu32: {
switch (OpNum) {
case 0:
return 13;
case 3:
return 1;
case 1:
return 17;
case 4:
return 0;
}
break;
}
case ARM::MVE_VDUP8:
case ARM::MVE_VDUP16:
case ARM::MVE_VDUP32: {
switch (OpNum) {
case 0:
return 7;
case 1:
return 12;
}
break;
}
case ARM::MVE_VMOV_to_lane_32: {
switch (OpNum) {
case 0:
return 7;
case 2:
return 12;
case 3:
return 16;
}
break;
}
case ARM::MVE_VMOV_to_lane_8: {
switch (OpNum) {
case 0:
return 7;
case 2:
return 12;
case 3:
return 5;
}
break;
}
case ARM::MVE_VMOV_to_lane_16: {
switch (OpNum) {
case 0:
return 7;
case 2:
return 12;
case 3:
return 6;
}
break;
}
case ARM::tMOVSr:
case ARM::tMOVr: {
switch (OpNum) {
case 0:
return 0;
case 1:
return 3;
}
break;
}
case ARM::t2STLEX: {
switch (OpNum) {
case 0:
return 0;
case 1:
return 12;
case 2:
return 16;
}
break;
}
case ARM::tADDi3:
case ARM::tSUBi3: {
switch (OpNum) {
case 0:
return 0;
case 2:
return 3;
case 3:
return 6;
}
break;
}
case ARM::tASRri:
case ARM::tLSLri:
case ARM::tLSRri: {
switch (OpNum) {
case 0:
return 0;
case 2:
return 3;
case 3:
return 6;
}
break;
}
case ARM::tMUL:
case ARM::tMVN:
case ARM::tRSB: {
switch (OpNum) {
case 0:
return 0;
case 2:
return 3;
}
break;
}
case ARM::t2STLEXB:
case ARM::t2STLEXH:
case ARM::t2STREXB:
case ARM::t2STREXH: {
switch (OpNum) {
case 0:
return 0;
case 2:
return 16;
case 1:
return 12;
}
break;
}
case ARM::t2STLEXD:
case ARM::t2STREXD: {
switch (OpNum) {
case 0:
return 0;
case 3:
return 16;
case 1:
return 12;
case 2:
return 8;
}
break;
}
case ARM::CRC32B:
case ARM::CRC32CB:
case ARM::CRC32CH:
case ARM::CRC32CW:
case ARM::CRC32H:
case ARM::CRC32W: {
switch (OpNum) {
case 0:
return 12;
case 1:
return 16;
case 2:
return 0;
}
break;
}
case ARM::t2SXTB:
case ARM::t2SXTB16:
case ARM::t2SXTH:
case ARM::t2UXTB:
case ARM::t2UXTB16:
case ARM::t2UXTH: {
switch (OpNum) {
case 0:
return 8;
case 1:
return 0;
case 2:
return 4;
}
break;
}
case ARM::t2CLZ:
case ARM::t2MOVsra_glue:
case ARM::t2MOVsrl_glue:
case ARM::t2RBIT:
case ARM::t2REV:
case ARM::t2REV16:
case ARM::t2REVSH: {
switch (OpNum) {
case 0:
return 8;
case 1:
return 0;
}
break;
}
case ARM::t2MLA:
case ARM::t2MLS:
case ARM::t2SMLABB:
case ARM::t2SMLABT:
case ARM::t2SMLAD:
case ARM::t2SMLADX:
case ARM::t2SMLATB:
case ARM::t2SMLATT:
case ARM::t2SMLAWB:
case ARM::t2SMLAWT:
case ARM::t2SMLSD:
case ARM::t2SMLSDX:
case ARM::t2SMMLA:
case ARM::t2SMMLAR:
case ARM::t2SMMLS:
case ARM::t2SMMLSR:
case ARM::t2USADA8: {
switch (OpNum) {
case 0:
return 8;
case 1:
return 16;
case 2:
return 0;
case 3:
return 12;
}
break;
}
case ARM::t2SXTAB:
case ARM::t2SXTAB16:
case ARM::t2SXTAH:
case ARM::t2UXTAB:
case ARM::t2UXTAB16:
case ARM::t2UXTAH: {
switch (OpNum) {
case 0:
return 8;
case 1:
return 16;
case 2:
return 0;
case 3:
return 4;
}
break;
}
case ARM::t2PKHBT:
case ARM::t2PKHTB: {
switch (OpNum) {
case 0:
return 8;
case 1:
return 16;
case 2:
return 0;
case 3:
return 6;
}
break;
}
case ARM::t2CRC32B:
case ARM::t2CRC32CB:
case ARM::t2CRC32CH:
case ARM::t2CRC32CW:
case ARM::t2CRC32H:
case ARM::t2CRC32W:
case ARM::t2MUL:
case ARM::t2QADD8:
case ARM::t2QADD16:
case ARM::t2QASX:
case ARM::t2QSAX:
case ARM::t2QSUB8:
case ARM::t2QSUB16:
case ARM::t2SADD8:
case ARM::t2SADD16:
case ARM::t2SASX:
case ARM::t2SDIV:
case ARM::t2SEL:
case ARM::t2SHADD8:
case ARM::t2SHADD16:
case ARM::t2SHASX:
case ARM::t2SHSAX:
case ARM::t2SHSUB8:
case ARM::t2SHSUB16:
case ARM::t2SMMUL:
case ARM::t2SMMULR:
case ARM::t2SMUAD:
case ARM::t2SMUADX:
case ARM::t2SMULBB:
case ARM::t2SMULBT:
case ARM::t2SMULTB:
case ARM::t2SMULTT:
case ARM::t2SMULWB:
case ARM::t2SMULWT:
case ARM::t2SMUSD:
case ARM::t2SMUSDX:
case ARM::t2SSAX:
case ARM::t2SSUB8:
case ARM::t2SSUB16:
case ARM::t2UADD8:
case ARM::t2UADD16:
case ARM::t2UASX:
case ARM::t2UDIV:
case ARM::t2UHADD8:
case ARM::t2UHADD16:
case ARM::t2UHASX:
case ARM::t2UHSAX:
case ARM::t2UHSUB8:
case ARM::t2UHSUB16:
case ARM::t2UQADD8:
case ARM::t2UQADD16:
case ARM::t2UQASX:
case ARM::t2UQSAX:
case ARM::t2UQSUB8:
case ARM::t2UQSUB16:
case ARM::t2USAD8:
case ARM::t2USAX:
case ARM::t2USUB8:
case ARM::t2USUB16: {
switch (OpNum) {
case 0:
return 8;
case 1:
return 16;
case 2:
return 0;
}
break;
}
case ARM::t2ADDri12:
case ARM::t2SUBri12: {
switch (OpNum) {
case 0:
return 8;
case 1:
return 16;
case 2:
return 0;
}
break;
}
case ARM::t2STREX: {
switch (OpNum) {
case 0:
return 8;
case 1:
return 12;
case 2:
return 0;
}
break;
}
case ARM::t2MRS_M: {
switch (OpNum) {
case 0:
return 8;
case 1:
return 0;
}
break;
}
case ARM::t2ADR:
case ARM::tADR: {
switch (OpNum) {
case 0:
return 8;
case 1:
return 0;
}
break;
}
case ARM::t2MOVi16: {
switch (OpNum) {
case 0:
return 8;
case 1:
return 0;
}
break;
}
case ARM::t2CSEL:
case ARM::t2CSINC:
case ARM::t2CSINV:
case ARM::t2CSNEG: {
switch (OpNum) {
case 0:
return 8;
case 2:
return 0;
case 1:
return 16;
case 3:
return 4;
}
break;
}
case ARM::t2QADD:
case ARM::t2QDADD:
case ARM::t2QDSUB:
case ARM::t2QSUB: {
switch (OpNum) {
case 0:
return 8;
case 2:
return 16;
case 1:
return 0;
}
break;
}
case ARM::t2SSAT:
case ARM::t2USAT: {
switch (OpNum) {
case 0:
return 8;
case 2:
return 16;
case 1:
return 0;
case 3:
return 6;
}
break;
}
case ARM::t2SSAT16:
case ARM::t2USAT16: {
switch (OpNum) {
case 0:
return 8;
case 2:
return 16;
case 1:
return 0;
}
break;
}
case ARM::t2BFI: {
switch (OpNum) {
case 0:
return 8;
case 2:
return 16;
case 3:
return 0;
}
break;
}
case ARM::t2BFC:
case ARM::t2MOVTi16: {
switch (OpNum) {
case 0:
return 8;
case 2:
return 0;
}
break;
}
case ARM::tMOVi8: {
switch (OpNum) {
case 0:
return 8;
case 2:
return 0;
}
break;
}
case ARM::t2PACG: {
switch (OpNum) {
case 0:
return 8;
case 3:
return 16;
case 4:
return 0;
}
break;
}
case ARM::t2SBFX:
case ARM::t2UBFX: {
switch (OpNum) {
case 0:
return 8;
case 3:
return 0;
case 2:
return 6;
case 1:
return 16;
}
break;
}
case ARM::t2MRS_AR:
case ARM::t2MRSsys_AR: {
switch (OpNum) {
case 0:
return 8;
}
break;
}
case ARM::t2SMLAL:
case ARM::t2SMLALBB:
case ARM::t2SMLALBT:
case ARM::t2SMLALTB:
case ARM::t2SMLALTT:
case ARM::t2SMULL:
case ARM::t2UMAAL:
case ARM::t2UMLAL:
case ARM::t2UMULL: {
switch (OpNum) {
case 0:
return 12;
case 1:
return 8;
case 2:
return 16;
case 3:
return 0;
}
break;
}
case ARM::MVE_VMLADAVs8:
case ARM::MVE_VMLADAVs16:
case ARM::MVE_VMLADAVs32:
case ARM::MVE_VMLADAVu8:
case ARM::MVE_VMLADAVu16:
case ARM::MVE_VMLADAVu32:
case ARM::MVE_VMLADAVxs8:
case ARM::MVE_VMLADAVxs16:
case ARM::MVE_VMLADAVxs32:
case ARM::MVE_VMLSDAVs8:
case ARM::MVE_VMLSDAVs16:
case ARM::MVE_VMLSDAVs32:
case ARM::MVE_VMLSDAVxs8:
case ARM::MVE_VMLSDAVxs16:
case ARM::MVE_VMLSDAVxs32: {
switch (OpNum) {
case 0:
return 13;
case 2:
return 1;
case 1:
return 17;
}
break;
}
case ARM::MVE_VMLADAVas8:
case ARM::MVE_VMLADAVas16:
case ARM::MVE_VMLADAVas32:
case ARM::MVE_VMLADAVau8:
case ARM::MVE_VMLADAVau16:
case ARM::MVE_VMLADAVau32:
case ARM::MVE_VMLADAVaxs8:
case ARM::MVE_VMLADAVaxs16:
case ARM::MVE_VMLADAVaxs32:
case ARM::MVE_VMLSDAVas8:
case ARM::MVE_VMLSDAVas16:
case ARM::MVE_VMLSDAVas32:
case ARM::MVE_VMLSDAVaxs8:
case ARM::MVE_VMLSDAVaxs16:
case ARM::MVE_VMLSDAVaxs32: {
switch (OpNum) {
case 0:
return 13;
case 3:
return 1;
case 2:
return 17;
}
break;
}
case ARM::MVE_SQRSHR:
case ARM::MVE_UQRSHL: {
switch (OpNum) {
case 0:
return 16;
case 2:
return 12;
}
break;
}
case ARM::MVE_SQSHL:
case ARM::MVE_SRSHR:
case ARM::MVE_UQSHL:
case ARM::MVE_URSHR: {
switch (OpNum) {
case 0:
return 16;
case 2:
return 6;
}
break;
}
case ARM::MVE_SQRSHRL:
case ARM::MVE_UQRSHLL: {
switch (OpNum) {
case 0:
return 17;
case 1:
return 9;
case 4:
return 12;
case 5:
return 7;
}
break;
}
case ARM::MVE_ASRLr:
case ARM::MVE_LSLLr: {
switch (OpNum) {
case 0:
return 17;
case 1:
return 9;
case 4:
return 12;
}
break;
}
case ARM::MVE_ASRLi:
case ARM::MVE_LSLLi:
case ARM::MVE_LSRL:
case ARM::MVE_SQSHLL:
case ARM::MVE_SRSHRL:
case ARM::MVE_UQSHLL:
case ARM::MVE_URSHRL: {
switch (OpNum) {
case 0:
return 17;
case 1:
return 9;
case 4:
return 6;
}
break;
}
case ARM::MVE_VMLALDAVs16:
case ARM::MVE_VMLALDAVs32:
case ARM::MVE_VMLALDAVu16:
case ARM::MVE_VMLALDAVu32:
case ARM::MVE_VMLALDAVxs16:
case ARM::MVE_VMLALDAVxs32:
case ARM::MVE_VMLSLDAVs16:
case ARM::MVE_VMLSLDAVs32:
case ARM::MVE_VMLSLDAVxs16:
case ARM::MVE_VMLSLDAVxs32:
case ARM::MVE_VRMLALDAVHs32:
case ARM::MVE_VRMLALDAVHu32:
case ARM::MVE_VRMLALDAVHxs32:
case ARM::MVE_VRMLSLDAVHs32:
case ARM::MVE_VRMLSLDAVHxs32: {
switch (OpNum) {
case 0:
return 13;
case 1:
return 20;
case 3:
return 1;
case 2:
return 17;
}
break;
}
case ARM::MVE_VMLALDAVas16:
case ARM::MVE_VMLALDAVas32:
case ARM::MVE_VMLALDAVau16:
case ARM::MVE_VMLALDAVau32:
case ARM::MVE_VMLALDAVaxs16:
case ARM::MVE_VMLALDAVaxs32:
case ARM::MVE_VMLSLDAVas16:
case ARM::MVE_VMLSLDAVas32:
case ARM::MVE_VMLSLDAVaxs16:
case ARM::MVE_VMLSLDAVaxs32:
case ARM::MVE_VRMLALDAVHas32:
case ARM::MVE_VRMLALDAVHau32:
case ARM::MVE_VRMLALDAVHaxs32:
case ARM::MVE_VRMLSLDAVHas32:
case ARM::MVE_VRMLSLDAVHaxs32: {
switch (OpNum) {
case 0:
return 13;
case 1:
return 20;
case 5:
return 1;
case 4:
return 17;
}
break;
}
case ARM::tADDhirr: {
switch (OpNum) {
case 0:
return 0;
case 2:
return 3;
}
break;
}
case ARM::tADC:
case ARM::tAND:
case ARM::tASRrr:
case ARM::tBIC:
case ARM::tEOR:
case ARM::tLSLrr:
case ARM::tLSRrr:
case ARM::tORR:
case ARM::tROR:
case ARM::tSBC: {
switch (OpNum) {
case 0:
return 0;
case 3:
return 3;
}
break;
}
case ARM::tADDrSP: {
switch (OpNum) {
case 0:
return 0;
}
break;
}
case ARM::tADDi8:
case ARM::tSUBi8: {
switch (OpNum) {
case 0:
return 8;
case 3:
return 0;
}
break;
}
case ARM::tBX:
case ARM::tBXNS: {
switch (OpNum) {
case 0:
return 3;
}
break;
}
case ARM::t2CMNzrr:
case ARM::t2CMPrr:
case ARM::t2TBB:
case ARM::t2TBH:
case ARM::t2TEQrr:
case ARM::t2TSTrr: {
switch (OpNum) {
case 0:
return 16;
case 1:
return 0;
}
break;
}
case ARM::t2CMNzrs:
case ARM::t2CMPrs:
case ARM::t2TEQrs:
case ARM::t2TSTrs: {
switch (OpNum) {
case 0:
return 16;
case 1:
return 0;
}
break;
}
case ARM::t2CMNri:
case ARM::t2CMPri:
case ARM::t2TEQri:
case ARM::t2TSTri: {
switch (OpNum) {
case 0:
return 16;
case 1:
return 0;
}
break;
}
case ARM::t2LDMDB:
case ARM::t2LDMIA:
case ARM::t2STMDB:
case ARM::t2STMIA: {
switch (OpNum) {
case 0:
return 16;
case 3:
return 0;
}
break;
}
case ARM::RFEDA:
case ARM::RFEDA_UPD:
case ARM::RFEDB:
case ARM::RFEDB_UPD:
case ARM::RFEIA:
case ARM::RFEIA_UPD:
case ARM::RFEIB:
case ARM::RFEIB_UPD:
case ARM::VLLDM:
case ARM::VLLDM_T2:
case ARM::VLSTM:
case ARM::VLSTM_T2:
case ARM::t2RFEDB:
case ARM::t2RFEDBW:
case ARM::t2RFEIA:
case ARM::t2RFEIAW: {
switch (OpNum) {
case 0:
return 16;
}
break;
}
case ARM::tCMPi8: {
switch (OpNum) {
case 0:
return 8;
case 1:
return 0;
}
break;
}
case ARM::tLDMIA: {
switch (OpNum) {
case 0:
return 8;
case 3:
return 0;
}
break;
}
case ARM::MVE_VMOV_rr_q: {
switch (OpNum) {
case 0:
return 0;
case 1:
return 16;
case 2:
return 13;
case 4:
return 4;
}
break;
}
case ARM::tLDRBi:
case ARM::tLDRBr:
case ARM::tLDRHi:
case ARM::tLDRHr:
case ARM::tLDRSB:
case ARM::tLDRSH:
case ARM::tLDRi:
case ARM::tLDRr:
case ARM::tSTRBi:
case ARM::tSTRBr:
case ARM::tSTRHi:
case ARM::tSTRHr:
case ARM::tSTRi:
case ARM::tSTRr: {
switch (OpNum) {
case 0:
return 0;
case 1:
return 3;
}
break;
}
case ARM::MRRC2:
case ARM::t2MRRC:
case ARM::t2MRRC2: {
switch (OpNum) {
case 0:
return 12;
case 1:
return 16;
case 2:
return 8;
case 3:
return 4;
case 4:
return 0;
}
break;
}
case ARM::t2LDRDi8:
case ARM::t2STRDi8: {
switch (OpNum) {
case 0:
return 12;
case 1:
return 8;
case 2:
return 0;
}
break;
}
case ARM::t2LDRD_PRE: {
switch (OpNum) {
case 0:
return 12;
case 1:
return 8;
case 3:
return 0;
}
break;
}
case ARM::t2LDRD_POST: {
switch (OpNum) {
case 0:
return 12;
case 1:
return 8;
case 3:
return 16;
case 4:
return 0;
}
break;
}
case ARM::t2LDRBT:
case ARM::t2LDRBi8:
case ARM::t2LDRBi12:
case ARM::t2LDRBpci:
case ARM::t2LDRBs:
case ARM::t2LDREX:
case ARM::t2LDRHT:
case ARM::t2LDRHi8:
case ARM::t2LDRHi12:
case ARM::t2LDRHpci:
case ARM::t2LDRHs:
case ARM::t2LDRSBT:
case ARM::t2LDRSBi8:
case ARM::t2LDRSBi12:
case ARM::t2LDRSBpci:
case ARM::t2LDRSBs:
case ARM::t2LDRSHT:
case ARM::t2LDRSHi8:
case ARM::t2LDRSHi12:
case ARM::t2LDRSHpci:
case ARM::t2LDRSHs:
case ARM::t2LDRT:
case ARM::t2LDRi8:
case ARM::t2LDRi12:
case ARM::t2LDRpci:
case ARM::t2LDRs:
case ARM::t2STRBT:
case ARM::t2STRBi8:
case ARM::t2STRBi12:
case ARM::t2STRBs:
case ARM::t2STRHT:
case ARM::t2STRHi8:
case ARM::t2STRHi12:
case ARM::t2STRHs:
case ARM::t2STRT:
case ARM::t2STRi8:
case ARM::t2STRi12:
case ARM::t2STRs: {
switch (OpNum) {
case 0:
return 12;
case 1:
return 0;
}
break;
}
case ARM::t2LDA:
case ARM::t2LDAB:
case ARM::t2LDAEX:
case ARM::t2LDAH:
case ARM::t2STL:
case ARM::t2STLB:
case ARM::t2STLH: {
switch (OpNum) {
case 0:
return 12;
case 1:
return 16;
}
break;
}
case ARM::MRC2:
case ARM::t2MRC:
case ARM::t2MRC2: {
switch (OpNum) {
case 0:
return 12;
case 1:
return 8;
case 2:
return 21;
case 5:
return 5;
case 4:
return 0;
case 3:
return 16;
}
break;
}
case ARM::t2LDRB_POST:
case ARM::t2LDRH_POST:
case ARM::t2LDRSB_POST:
case ARM::t2LDRSH_POST:
case ARM::t2LDR_POST: {
switch (OpNum) {
case 0:
return 12;
case 2:
return 16;
case 3:
return 0;
}
break;
}
case ARM::t2LDRB_PRE:
case ARM::t2LDRH_PRE:
case ARM::t2LDRSB_PRE:
case ARM::t2LDRSH_PRE:
case ARM::t2LDR_PRE: {
switch (OpNum) {
case 0:
return 12;
case 2:
return 0;
}
break;
}
case ARM::tLDRpci:
case ARM::tLDRspi:
case ARM::tSTRspi: {
switch (OpNum) {
case 0:
return 8;
case 1:
return 0;
}
break;
}
case ARM::t2MSR_M: {
switch (OpNum) {
case 0:
return 0;
case 1:
return 16;
}
break;
}
case ARM::VCVTASD:
case ARM::VCVTAUD:
case ARM::VCVTMSD:
case ARM::VCVTMUD:
case ARM::VCVTNSD:
case ARM::VCVTNUD:
case ARM::VCVTPSD:
case ARM::VCVTPUD: {
switch (OpNum) {
case 0:
return 12;
case 1:
return 0;
}
break;
}
case ARM::VCVTASH:
case ARM::VCVTASS:
case ARM::VCVTAUH:
case ARM::VCVTAUS:
case ARM::VCVTMSH:
case ARM::VCVTMSS:
case ARM::VCVTMUH:
case ARM::VCVTMUS:
case ARM::VCVTNSH:
case ARM::VCVTNSS:
case ARM::VCVTNUH:
case ARM::VCVTNUS:
case ARM::VCVTPSH:
case ARM::VCVTPSS:
case ARM::VCVTPUH:
case ARM::VCVTPUS:
case ARM::VMOVH:
case ARM::VRINTAH:
case ARM::VRINTAS:
case ARM::VRINTMH:
case ARM::VRINTMS:
case ARM::VRINTNH:
case ARM::VRINTNS:
case ARM::VRINTPH:
case ARM::VRINTPS: {
switch (OpNum) {
case 0:
return 12;
case 1:
return 0;
}
break;
}
case ARM::VFP_VMAXNMH:
case ARM::VFP_VMAXNMS:
case ARM::VFP_VMINNMH:
case ARM::VFP_VMINNMS:
case ARM::VSELEQH:
case ARM::VSELEQS:
case ARM::VSELGEH:
case ARM::VSELGES:
case ARM::VSELGTH:
case ARM::VSELGTS:
case ARM::VSELVSH:
case ARM::VSELVSS: {
switch (OpNum) {
case 0:
return 12;
case 1:
return 7;
case 2:
return 0;
}
break;
}
case ARM::VINSH: {
switch (OpNum) {
case 0:
return 12;
case 2:
return 0;
}
break;
}
case ARM::VDUP8d:
case ARM::VDUP8q:
case ARM::VDUP16d:
case ARM::VDUP16q:
case ARM::VDUP32d:
case ARM::VDUP32q: {
switch (OpNum) {
case 0:
return 7;
case 1:
return 12;
case 2:
return 28;
}
break;
}
case ARM::VSETLNi32: {
switch (OpNum) {
case 0:
return 7;
case 2:
return 12;
case 4:
return 28;
case 3:
return 21;
}
break;
}
case ARM::VSETLNi8: {
switch (OpNum) {
case 0:
return 7;
case 2:
return 12;
case 4:
return 28;
case 3:
return 5;
}
break;
}
case ARM::VSETLNi16: {
switch (OpNum) {
case 0:
return 7;
case 2:
return 12;
case 4:
return 28;
case 3:
return 6;
}
break;
}
case ARM::MVE_VST20_8:
case ARM::MVE_VST20_16:
case ARM::MVE_VST20_32:
case ARM::MVE_VST21_8:
case ARM::MVE_VST21_16:
case ARM::MVE_VST21_32:
case ARM::MVE_VST40_8:
case ARM::MVE_VST40_16:
case ARM::MVE_VST40_32:
case ARM::MVE_VST41_8:
case ARM::MVE_VST41_16:
case ARM::MVE_VST41_32:
case ARM::MVE_VST42_8:
case ARM::MVE_VST42_16:
case ARM::MVE_VST42_32:
case ARM::MVE_VST43_8:
case ARM::MVE_VST43_16:
case ARM::MVE_VST43_32: {
switch (OpNum) {
case 0:
return 13;
case 1:
return 16;
}
break;
}
case ARM::MVE_VLD20_8:
case ARM::MVE_VLD20_16:
case ARM::MVE_VLD20_32:
case ARM::MVE_VLD21_8:
case ARM::MVE_VLD21_16:
case ARM::MVE_VLD21_32:
case ARM::MVE_VLD40_8:
case ARM::MVE_VLD40_16:
case ARM::MVE_VLD40_32:
case ARM::MVE_VLD41_8:
case ARM::MVE_VLD41_16:
case ARM::MVE_VLD41_32:
case ARM::MVE_VLD42_8:
case ARM::MVE_VLD42_16:
case ARM::MVE_VLD42_32:
case ARM::MVE_VLD43_8:
case ARM::MVE_VLD43_16:
case ARM::MVE_VLD43_32: {
switch (OpNum) {
case 0:
return 13;
case 2:
return 16;
}
break;
}
case ARM::MVE_VLD20_8_wb:
case ARM::MVE_VLD20_16_wb:
case ARM::MVE_VLD20_32_wb:
case ARM::MVE_VLD21_8_wb:
case ARM::MVE_VLD21_16_wb:
case ARM::MVE_VLD21_32_wb:
case ARM::MVE_VLD40_8_wb:
case ARM::MVE_VLD40_16_wb:
case ARM::MVE_VLD40_32_wb:
case ARM::MVE_VLD41_8_wb:
case ARM::MVE_VLD41_16_wb:
case ARM::MVE_VLD41_32_wb:
case ARM::MVE_VLD42_8_wb:
case ARM::MVE_VLD42_16_wb:
case ARM::MVE_VLD42_32_wb:
case ARM::MVE_VLD43_8_wb:
case ARM::MVE_VLD43_16_wb:
case ARM::MVE_VLD43_32_wb: {
switch (OpNum) {
case 0:
return 13;
case 3:
return 16;
}
break;
}
case ARM::VLD1LNd8: {
switch (OpNum) {
case 0:
return 12;
case 1:
return 16;
case 4:
return 5;
}
break;
}
case ARM::VLD1LNd16: {
switch (OpNum) {
case 0:
return 12;
case 1:
return 4;
case 4:
return 6;
}
break;
}
case ARM::VLD1LNd32: {
switch (OpNum) {
case 0:
return 12;
case 1:
return 4;
case 4:
return 7;
}
break;
}
case ARM::VLD1DUPd8:
case ARM::VLD1DUPd16:
case ARM::VLD1DUPd32:
case ARM::VLD1DUPq8:
case ARM::VLD1DUPq16:
case ARM::VLD1DUPq32:
case ARM::VLD1d8:
case ARM::VLD1d8Q:
case ARM::VLD1d8T:
case ARM::VLD1d16:
case ARM::VLD1d16Q:
case ARM::VLD1d16T:
case ARM::VLD1d32:
case ARM::VLD1d32Q:
case ARM::VLD1d32T:
case ARM::VLD1d64:
case ARM::VLD1d64Q:
case ARM::VLD1d64T:
case ARM::VLD1q8:
case ARM::VLD1q16:
case ARM::VLD1q32:
case ARM::VLD1q64:
case ARM::VLD2DUPd8:
case ARM::VLD2DUPd8x2:
case ARM::VLD2DUPd16:
case ARM::VLD2DUPd16x2:
case ARM::VLD2DUPd32:
case ARM::VLD2DUPd32x2:
case ARM::VLD2b8:
case ARM::VLD2b16:
case ARM::VLD2b32:
case ARM::VLD2d8:
case ARM::VLD2d16:
case ARM::VLD2d32:
case ARM::VLD2q8:
case ARM::VLD2q16:
case ARM::VLD2q32: {
switch (OpNum) {
case 0:
return 12;
case 1:
return 4;
}
break;
}
case ARM::VBICiv2i32:
case ARM::VBICiv4i16:
case ARM::VBICiv4i32:
case ARM::VBICiv8i16:
case ARM::VMOVv1i64:
case ARM::VMOVv2f32:
case ARM::VMOVv2i32:
case ARM::VMOVv2i64:
case ARM::VMOVv4f32:
case ARM::VMOVv4i16:
case ARM::VMOVv4i32:
case ARM::VMOVv8i8:
case ARM::VMOVv8i16:
case ARM::VMOVv16i8:
case ARM::VMVNv2i32:
case ARM::VMVNv4i16:
case ARM::VMVNv4i32:
case ARM::VMVNv8i16:
case ARM::VORRiv2i32:
case ARM::VORRiv4i16:
case ARM::VORRiv4i32:
case ARM::VORRiv8i16: {
switch (OpNum) {
case 0:
return 12;
case 1:
return 0;
}
break;
}
case ARM::VCVTf2xsd:
case ARM::VCVTf2xsq:
case ARM::VCVTf2xud:
case ARM::VCVTf2xuq:
case ARM::VCVTh2xsd:
case ARM::VCVTh2xsq:
case ARM::VCVTh2xud:
case ARM::VCVTh2xuq:
case ARM::VCVTxs2fd:
case ARM::VCVTxs2fq:
case ARM::VCVTxs2hd:
case ARM::VCVTxs2hq:
case ARM::VCVTxu2fd:
case ARM::VCVTxu2fq:
case ARM::VCVTxu2hd:
case ARM::VCVTxu2hq:
case ARM::VQRSHRNsv2i32:
case ARM::VQRSHRNsv4i16:
case ARM::VQRSHRNsv8i8:
case ARM::VQRSHRNuv2i32:
case ARM::VQRSHRNuv4i16:
case ARM::VQRSHRNuv8i8:
case ARM::VQRSHRUNv2i32:
case ARM::VQRSHRUNv4i16:
case ARM::VQRSHRUNv8i8:
case ARM::VQSHLsiv1i64:
case ARM::VQSHLsiv2i32:
case ARM::VQSHLsiv2i64:
case ARM::VQSHLsiv4i16:
case ARM::VQSHLsiv4i32:
case ARM::VQSHLsiv8i8:
case ARM::VQSHLsiv8i16:
case ARM::VQSHLsiv16i8:
case ARM::VQSHLsuv1i64:
case ARM::VQSHLsuv2i32:
case ARM::VQSHLsuv2i64:
case ARM::VQSHLsuv4i16:
case ARM::VQSHLsuv4i32:
case ARM::VQSHLsuv8i8:
case ARM::VQSHLsuv8i16:
case ARM::VQSHLsuv16i8:
case ARM::VQSHLuiv1i64:
case ARM::VQSHLuiv2i32:
case ARM::VQSHLuiv2i64:
case ARM::VQSHLuiv4i16:
case ARM::VQSHLuiv4i32:
case ARM::VQSHLuiv8i8:
case ARM::VQSHLuiv8i16:
case ARM::VQSHLuiv16i8:
case ARM::VQSHRNsv2i32:
case ARM::VQSHRNsv4i16:
case ARM::VQSHRNsv8i8:
case ARM::VQSHRNuv2i32:
case ARM::VQSHRNuv4i16:
case ARM::VQSHRNuv8i8:
case ARM::VQSHRUNv2i32:
case ARM::VQSHRUNv4i16:
case ARM::VQSHRUNv8i8:
case ARM::VRSHRNv2i32:
case ARM::VRSHRNv4i16:
case ARM::VRSHRNv8i8:
case ARM::VRSHRsv1i64:
case ARM::VRSHRsv2i32:
case ARM::VRSHRsv2i64:
case ARM::VRSHRsv4i16:
case ARM::VRSHRsv4i32:
case ARM::VRSHRsv8i8:
case ARM::VRSHRsv8i16:
case ARM::VRSHRsv16i8:
case ARM::VRSHRuv1i64:
case ARM::VRSHRuv2i32:
case ARM::VRSHRuv2i64:
case ARM::VRSHRuv4i16:
case ARM::VRSHRuv4i32:
case ARM::VRSHRuv8i8:
case ARM::VRSHRuv8i16:
case ARM::VRSHRuv16i8:
case ARM::VSHLLsv2i64:
case ARM::VSHLLsv4i32:
case ARM::VSHLLsv8i16:
case ARM::VSHLLuv2i64:
case ARM::VSHLLuv4i32:
case ARM::VSHLLuv8i16:
case ARM::VSHLiv1i64:
case ARM::VSHLiv2i32:
case ARM::VSHLiv2i64:
case ARM::VSHLiv4i16:
case ARM::VSHLiv4i32:
case ARM::VSHLiv8i8:
case ARM::VSHLiv8i16:
case ARM::VSHLiv16i8:
case ARM::VSHRNv2i32:
case ARM::VSHRNv4i16:
case ARM::VSHRNv8i8:
case ARM::VSHRsv1i64:
case ARM::VSHRsv2i32:
case ARM::VSHRsv2i64:
case ARM::VSHRsv4i16:
case ARM::VSHRsv4i32:
case ARM::VSHRsv8i8:
case ARM::VSHRsv8i16:
case ARM::VSHRsv16i8:
case ARM::VSHRuv1i64:
case ARM::VSHRuv2i32:
case ARM::VSHRuv2i64:
case ARM::VSHRuv4i16:
case ARM::VSHRuv4i32:
case ARM::VSHRuv8i8:
case ARM::VSHRuv8i16:
case ARM::VSHRuv16i8: {
switch (OpNum) {
case 0:
return 12;
case 1:
return 0;
case 2:
return 16;
}
break;
}
case ARM::VDUPLN8d:
case ARM::VDUPLN8q: {
switch (OpNum) {
case 0:
return 12;
case 1:
return 0;
case 2:
return 17;
}
break;
}
case ARM::VDUPLN16d:
case ARM::VDUPLN16q: {
switch (OpNum) {
case 0:
return 12;
case 1:
return 0;
case 2:
return 18;
}
break;
}
case ARM::VDUPLN32d:
case ARM::VDUPLN32q: {
switch (OpNum) {
case 0:
return 12;
case 1:
return 0;
case 2:
return 19;
}
break;
}
case ARM::AESIMC:
case ARM::AESMC:
case ARM::BF16_VCVT:
case ARM::SHA1H:
case ARM::VABSfd:
case ARM::VABSfq:
case ARM::VABShd:
case ARM::VABShq:
case ARM::VABSv2i32:
case ARM::VABSv4i16:
case ARM::VABSv4i32:
case ARM::VABSv8i8:
case ARM::VABSv8i16:
case ARM::VABSv16i8:
case ARM::VCEQzv2f32:
case ARM::VCEQzv2i32:
case ARM::VCEQzv4f16:
case ARM::VCEQzv4f32:
case ARM::VCEQzv4i16:
case ARM::VCEQzv4i32:
case ARM::VCEQzv8f16:
case ARM::VCEQzv8i8:
case ARM::VCEQzv8i16:
case ARM::VCEQzv16i8:
case ARM::VCGEzv2f32:
case ARM::VCGEzv2i32:
case ARM::VCGEzv4f16:
case ARM::VCGEzv4f32:
case ARM::VCGEzv4i16:
case ARM::VCGEzv4i32:
case ARM::VCGEzv8f16:
case ARM::VCGEzv8i8:
case ARM::VCGEzv8i16:
case ARM::VCGEzv16i8:
case ARM::VCGTzv2f32:
case ARM::VCGTzv2i32:
case ARM::VCGTzv4f16:
case ARM::VCGTzv4f32:
case ARM::VCGTzv4i16:
case ARM::VCGTzv4i32:
case ARM::VCGTzv8f16:
case ARM::VCGTzv8i8:
case ARM::VCGTzv8i16:
case ARM::VCGTzv16i8:
case ARM::VCLEzv2f32:
case ARM::VCLEzv2i32:
case ARM::VCLEzv4f16:
case ARM::VCLEzv4f32:
case ARM::VCLEzv4i16:
case ARM::VCLEzv4i32:
case ARM::VCLEzv8f16:
case ARM::VCLEzv8i8:
case ARM::VCLEzv8i16:
case ARM::VCLEzv16i8:
case ARM::VCLSv2i32:
case ARM::VCLSv4i16:
case ARM::VCLSv4i32:
case ARM::VCLSv8i8:
case ARM::VCLSv8i16:
case ARM::VCLSv16i8:
case ARM::VCLTzv2f32:
case ARM::VCLTzv2i32:
case ARM::VCLTzv4f16:
case ARM::VCLTzv4f32:
case ARM::VCLTzv4i16:
case ARM::VCLTzv4i32:
case ARM::VCLTzv8f16:
case ARM::VCLTzv8i8:
case ARM::VCLTzv8i16:
case ARM::VCLTzv16i8:
case ARM::VCLZv2i32:
case ARM::VCLZv4i16:
case ARM::VCLZv4i32:
case ARM::VCLZv8i8:
case ARM::VCLZv8i16:
case ARM::VCLZv16i8:
case ARM::VCNTd:
case ARM::VCNTq:
case ARM::VCVTANSDf:
case ARM::VCVTANSDh:
case ARM::VCVTANSQf:
case ARM::VCVTANSQh:
case ARM::VCVTANUDf:
case ARM::VCVTANUDh:
case ARM::VCVTANUQf:
case ARM::VCVTANUQh:
case ARM::VCVTMNSDf:
case ARM::VCVTMNSDh:
case ARM::VCVTMNSQf:
case ARM::VCVTMNSQh:
case ARM::VCVTMNUDf:
case ARM::VCVTMNUDh:
case ARM::VCVTMNUQf:
case ARM::VCVTMNUQh:
case ARM::VCVTNNSDf:
case ARM::VCVTNNSDh:
case ARM::VCVTNNSQf:
case ARM::VCVTNNSQh:
case ARM::VCVTNNUDf:
case ARM::VCVTNNUDh:
case ARM::VCVTNNUQf:
case ARM::VCVTNNUQh:
case ARM::VCVTPNSDf:
case ARM::VCVTPNSDh:
case ARM::VCVTPNSQf:
case ARM::VCVTPNSQh:
case ARM::VCVTPNUDf:
case ARM::VCVTPNUDh:
case ARM::VCVTPNUQf:
case ARM::VCVTPNUQh:
case ARM::VCVTf2h:
case ARM::VCVTf2sd:
case ARM::VCVTf2sq:
case ARM::VCVTf2ud:
case ARM::VCVTf2uq:
case ARM::VCVTh2f:
case ARM::VCVTh2sd:
case ARM::VCVTh2sq:
case ARM::VCVTh2ud:
case ARM::VCVTh2uq:
case ARM::VCVTs2fd:
case ARM::VCVTs2fq:
case ARM::VCVTs2hd:
case ARM::VCVTs2hq:
case ARM::VCVTu2fd:
case ARM::VCVTu2fq:
case ARM::VCVTu2hd:
case ARM::VCVTu2hq:
case ARM::VMOVLsv2i64:
case ARM::VMOVLsv4i32:
case ARM::VMOVLsv8i16:
case ARM::VMOVLuv2i64:
case ARM::VMOVLuv4i32:
case ARM::VMOVLuv8i16:
case ARM::VMOVNv2i32:
case ARM::VMOVNv4i16:
case ARM::VMOVNv8i8:
case ARM::VMVNd:
case ARM::VMVNq:
case ARM::VNEGf32q:
case ARM::VNEGfd:
case ARM::VNEGhd:
case ARM::VNEGhq:
case ARM::VNEGs8d:
case ARM::VNEGs8q:
case ARM::VNEGs16d:
case ARM::VNEGs16q:
case ARM::VNEGs32d:
case ARM::VNEGs32q:
case ARM::VPADDLsv2i32:
case ARM::VPADDLsv4i16:
case ARM::VPADDLsv4i32:
case ARM::VPADDLsv8i8:
case ARM::VPADDLsv8i16:
case ARM::VPADDLsv16i8:
case ARM::VPADDLuv2i32:
case ARM::VPADDLuv4i16:
case ARM::VPADDLuv4i32:
case ARM::VPADDLuv8i8:
case ARM::VPADDLuv8i16:
case ARM::VPADDLuv16i8:
case ARM::VQABSv2i32:
case ARM::VQABSv4i16:
case ARM::VQABSv4i32:
case ARM::VQABSv8i8:
case ARM::VQABSv8i16:
case ARM::VQABSv16i8:
case ARM::VQMOVNsuv2i32:
case ARM::VQMOVNsuv4i16:
case ARM::VQMOVNsuv8i8:
case ARM::VQMOVNsv2i32:
case ARM::VQMOVNsv4i16:
case ARM::VQMOVNsv8i8:
case ARM::VQMOVNuv2i32:
case ARM::VQMOVNuv4i16:
case ARM::VQMOVNuv8i8:
case ARM::VQNEGv2i32:
case ARM::VQNEGv4i16:
case ARM::VQNEGv4i32:
case ARM::VQNEGv8i8:
case ARM::VQNEGv8i16:
case ARM::VQNEGv16i8:
case ARM::VRECPEd:
case ARM::VRECPEfd:
case ARM::VRECPEfq:
case ARM::VRECPEhd:
case ARM::VRECPEhq:
case ARM::VRECPEq:
case ARM::VREV16d8:
case ARM::VREV16q8:
case ARM::VREV32d8:
case ARM::VREV32d16:
case ARM::VREV32q8:
case ARM::VREV32q16:
case ARM::VREV64d8:
case ARM::VREV64d16:
case ARM::VREV64d32:
case ARM::VREV64q8:
case ARM::VREV64q16:
case ARM::VREV64q32:
case ARM::VRINTANDf:
case ARM::VRINTANDh:
case ARM::VRINTANQf:
case ARM::VRINTANQh:
case ARM::VRINTMNDf:
case ARM::VRINTMNDh:
case ARM::VRINTMNQf:
case ARM::VRINTMNQh:
case ARM::VRINTNNDf:
case ARM::VRINTNNDh:
case ARM::VRINTNNQf:
case ARM::VRINTNNQh:
case ARM::VRINTPNDf:
case ARM::VRINTPNDh:
case ARM::VRINTPNQf:
case ARM::VRINTPNQh:
case ARM::VRINTXNDf:
case ARM::VRINTXNDh:
case ARM::VRINTXNQf:
case ARM::VRINTXNQh:
case ARM::VRINTZNDf:
case ARM::VRINTZNDh:
case ARM::VRINTZNQf:
case ARM::VRINTZNQh:
case ARM::VRSQRTEd:
case ARM::VRSQRTEfd:
case ARM::VRSQRTEfq:
case ARM::VRSQRTEhd:
case ARM::VRSQRTEhq:
case ARM::VRSQRTEq:
case ARM::VSHLLi8:
case ARM::VSHLLi16:
case ARM::VSHLLi32:
case ARM::VSWPd:
case ARM::VSWPq:
case ARM::VTRNd8:
case ARM::VTRNd16:
case ARM::VTRNd32:
case ARM::VTRNq8:
case ARM::VTRNq16:
case ARM::VTRNq32:
case ARM::VUZPd8:
case ARM::VUZPd16:
case ARM::VUZPq8:
case ARM::VUZPq16:
case ARM::VUZPq32:
case ARM::VZIPd8:
case ARM::VZIPd16:
case ARM::VZIPq8:
case ARM::VZIPq16:
case ARM::VZIPq32: {
switch (OpNum) {
case 0:
return 12;
case 1:
return 0;
}
break;
}
case ARM::VFMALDI:
case ARM::VFMALQI:
case ARM::VFMSLDI:
case ARM::VFMSLQI: {
switch (OpNum) {
case 0:
return 12;
case 1:
return 7;
case 2:
return 0;
case 3:
return 3;
}
break;
}
case ARM::VEXTd32:
case ARM::VEXTq32: {
switch (OpNum) {
case 0:
return 12;
case 1:
return 7;
case 2:
return 0;
case 3:
return 10;
}
break;
}
case ARM::VEXTq64: {
switch (OpNum) {
case 0:
return 12;
case 1:
return 7;
case 2:
return 0;
case 3:
return 11;
}
break;
}
case ARM::VEXTd8:
case ARM::VEXTq8: {
switch (OpNum) {
case 0:
return 12;
case 1:
return 7;
case 2:
return 0;
case 3:
return 8;
}
break;
}
case ARM::VEXTd16:
case ARM::VEXTq16: {
switch (OpNum) {
case 0:
return 12;
case 1:
return 7;
case 2:
return 0;
case 3:
return 9;
}
break;
}
case ARM::VMULLslsv4i16:
case ARM::VMULLsluv4i16:
case ARM::VMULslhd:
case ARM::VMULslhq:
case ARM::VMULslv4i16:
case ARM::VMULslv8i16:
case ARM::VQDMULHslv4i16:
case ARM::VQDMULHslv8i16:
case ARM::VQDMULLslv4i16:
case ARM::VQRDMULHslv4i16:
case ARM::VQRDMULHslv8i16: {
switch (OpNum) {
case 0:
return 12;
case 1:
return 7;
case 2:
return 0;
case 3:
return 3;
}
break;
}
case ARM::VMULLslsv2i32:
case ARM::VMULLsluv2i32:
case ARM::VMULslfd:
case ARM::VMULslfq:
case ARM::VMULslv2i32:
case ARM::VMULslv4i32:
case ARM::VQDMULHslv2i32:
case ARM::VQDMULHslv4i32:
case ARM::VQDMULLslv2i32:
case ARM::VQRDMULHslv2i32:
case ARM::VQRDMULHslv4i32: {
switch (OpNum) {
case 0:
return 12;
case 1:
return 7;
case 2:
return 0;
case 3:
return 5;
}
break;
}
case ARM::VCADDv2f32:
case ARM::VCADDv4f16:
case ARM::VCADDv4f32:
case ARM::VCADDv8f16: {
switch (OpNum) {
case 0:
return 12;
case 1:
return 7;
case 2:
return 0;
case 3:
return 24;
}
break;
}
case ARM::NEON_VMAXNMNDf:
case ARM::NEON_VMAXNMNDh:
case ARM::NEON_VMAXNMNQf:
case ARM::NEON_VMAXNMNQh:
case ARM::NEON_VMINNMNDf:
case ARM::NEON_VMINNMNDh:
case ARM::NEON_VMINNMNQf:
case ARM::NEON_VMINNMNQh:
case ARM::VABDLsv2i64:
case ARM::VABDLsv4i32:
case ARM::VABDLsv8i16:
case ARM::VABDLuv2i64:
case ARM::VABDLuv4i32:
case ARM::VABDLuv8i16:
case ARM::VABDfd:
case ARM::VABDfq:
case ARM::VABDhd:
case ARM::VABDhq:
case ARM::VABDsv2i32:
case ARM::VABDsv4i16:
case ARM::VABDsv4i32:
case ARM::VABDsv8i8:
case ARM::VABDsv8i16:
case ARM::VABDsv16i8:
case ARM::VABDuv2i32:
case ARM::VABDuv4i16:
case ARM::VABDuv4i32:
case ARM::VABDuv8i8:
case ARM::VABDuv8i16:
case ARM::VABDuv16i8:
case ARM::VACGEfd:
case ARM::VACGEfq:
case ARM::VACGEhd:
case ARM::VACGEhq:
case ARM::VACGTfd:
case ARM::VACGTfq:
case ARM::VACGThd:
case ARM::VACGThq:
case ARM::VADDHNv2i32:
case ARM::VADDHNv4i16:
case ARM::VADDHNv8i8:
case ARM::VADDLsv2i64:
case ARM::VADDLsv4i32:
case ARM::VADDLsv8i16:
case ARM::VADDLuv2i64:
case ARM::VADDLuv4i32:
case ARM::VADDLuv8i16:
case ARM::VADDWsv2i64:
case ARM::VADDWsv4i32:
case ARM::VADDWsv8i16:
case ARM::VADDWuv2i64:
case ARM::VADDWuv4i32:
case ARM::VADDWuv8i16:
case ARM::VADDfd:
case ARM::VADDfq:
case ARM::VADDhd:
case ARM::VADDhq:
case ARM::VADDv1i64:
case ARM::VADDv2i32:
case ARM::VADDv2i64:
case ARM::VADDv4i16:
case ARM::VADDv4i32:
case ARM::VADDv8i8:
case ARM::VADDv8i16:
case ARM::VADDv16i8:
case ARM::VANDd:
case ARM::VANDq:
case ARM::VBICd:
case ARM::VBICq:
case ARM::VCEQfd:
case ARM::VCEQfq:
case ARM::VCEQhd:
case ARM::VCEQhq:
case ARM::VCEQv2i32:
case ARM::VCEQv4i16:
case ARM::VCEQv4i32:
case ARM::VCEQv8i8:
case ARM::VCEQv8i16:
case ARM::VCEQv16i8:
case ARM::VCGEfd:
case ARM::VCGEfq:
case ARM::VCGEhd:
case ARM::VCGEhq:
case ARM::VCGEsv2i32:
case ARM::VCGEsv4i16:
case ARM::VCGEsv4i32:
case ARM::VCGEsv8i8:
case ARM::VCGEsv8i16:
case ARM::VCGEsv16i8:
case ARM::VCGEuv2i32:
case ARM::VCGEuv4i16:
case ARM::VCGEuv4i32:
case ARM::VCGEuv8i8:
case ARM::VCGEuv8i16:
case ARM::VCGEuv16i8:
case ARM::VCGTfd:
case ARM::VCGTfq:
case ARM::VCGThd:
case ARM::VCGThq:
case ARM::VCGTsv2i32:
case ARM::VCGTsv4i16:
case ARM::VCGTsv4i32:
case ARM::VCGTsv8i8:
case ARM::VCGTsv8i16:
case ARM::VCGTsv16i8:
case ARM::VCGTuv2i32:
case ARM::VCGTuv4i16:
case ARM::VCGTuv4i32:
case ARM::VCGTuv8i8:
case ARM::VCGTuv8i16:
case ARM::VCGTuv16i8:
case ARM::VEORd:
case ARM::VEORq:
case ARM::VFMALD:
case ARM::VFMALQ:
case ARM::VFMSLD:
case ARM::VFMSLQ:
case ARM::VHADDsv2i32:
case ARM::VHADDsv4i16:
case ARM::VHADDsv4i32:
case ARM::VHADDsv8i8:
case ARM::VHADDsv8i16:
case ARM::VHADDsv16i8:
case ARM::VHADDuv2i32:
case ARM::VHADDuv4i16:
case ARM::VHADDuv4i32:
case ARM::VHADDuv8i8:
case ARM::VHADDuv8i16:
case ARM::VHADDuv16i8:
case ARM::VHSUBsv2i32:
case ARM::VHSUBsv4i16:
case ARM::VHSUBsv4i32:
case ARM::VHSUBsv8i8:
case ARM::VHSUBsv8i16:
case ARM::VHSUBsv16i8:
case ARM::VHSUBuv2i32:
case ARM::VHSUBuv4i16:
case ARM::VHSUBuv4i32:
case ARM::VHSUBuv8i8:
case ARM::VHSUBuv8i16:
case ARM::VHSUBuv16i8:
case ARM::VMAXfd:
case ARM::VMAXfq:
case ARM::VMAXhd:
case ARM::VMAXhq:
case ARM::VMAXsv2i32:
case ARM::VMAXsv4i16:
case ARM::VMAXsv4i32:
case ARM::VMAXsv8i8:
case ARM::VMAXsv8i16:
case ARM::VMAXsv16i8:
case ARM::VMAXuv2i32:
case ARM::VMAXuv4i16:
case ARM::VMAXuv4i32:
case ARM::VMAXuv8i8:
case ARM::VMAXuv8i16:
case ARM::VMAXuv16i8:
case ARM::VMINfd:
case ARM::VMINfq:
case ARM::VMINhd:
case ARM::VMINhq:
case ARM::VMINsv2i32:
case ARM::VMINsv4i16:
case ARM::VMINsv4i32:
case ARM::VMINsv8i8:
case ARM::VMINsv8i16:
case ARM::VMINsv16i8:
case ARM::VMINuv2i32:
case ARM::VMINuv4i16:
case ARM::VMINuv4i32:
case ARM::VMINuv8i8:
case ARM::VMINuv8i16:
case ARM::VMINuv16i8:
case ARM::VMULLp8:
case ARM::VMULLp64:
case ARM::VMULLsv2i64:
case ARM::VMULLsv4i32:
case ARM::VMULLsv8i16:
case ARM::VMULLuv2i64:
case ARM::VMULLuv4i32:
case ARM::VMULLuv8i16:
case ARM::VMULfd:
case ARM::VMULfq:
case ARM::VMULhd:
case ARM::VMULhq:
case ARM::VMULpd:
case ARM::VMULpq:
case ARM::VMULv2i32:
case ARM::VMULv4i16:
case ARM::VMULv4i32:
case ARM::VMULv8i8:
case ARM::VMULv8i16:
case ARM::VMULv16i8:
case ARM::VORNd:
case ARM::VORNq:
case ARM::VORRd:
case ARM::VORRq:
case ARM::VPADDf:
case ARM::VPADDh:
case ARM::VPADDi8:
case ARM::VPADDi16:
case ARM::VPADDi32:
case ARM::VPMAXf:
case ARM::VPMAXh:
case ARM::VPMAXs8:
case ARM::VPMAXs16:
case ARM::VPMAXs32:
case ARM::VPMAXu8:
case ARM::VPMAXu16:
case ARM::VPMAXu32:
case ARM::VPMINf:
case ARM::VPMINh:
case ARM::VPMINs8:
case ARM::VPMINs16:
case ARM::VPMINs32:
case ARM::VPMINu8:
case ARM::VPMINu16:
case ARM::VPMINu32:
case ARM::VQADDsv1i64:
case ARM::VQADDsv2i32:
case ARM::VQADDsv2i64:
case ARM::VQADDsv4i16:
case ARM::VQADDsv4i32:
case ARM::VQADDsv8i8:
case ARM::VQADDsv8i16:
case ARM::VQADDsv16i8:
case ARM::VQADDuv1i64:
case ARM::VQADDuv2i32:
case ARM::VQADDuv2i64:
case ARM::VQADDuv4i16:
case ARM::VQADDuv4i32:
case ARM::VQADDuv8i8:
case ARM::VQADDuv8i16:
case ARM::VQADDuv16i8:
case ARM::VQDMULHv2i32:
case ARM::VQDMULHv4i16:
case ARM::VQDMULHv4i32:
case ARM::VQDMULHv8i16:
case ARM::VQDMULLv2i64:
case ARM::VQDMULLv4i32:
case ARM::VQRDMULHv2i32:
case ARM::VQRDMULHv4i16:
case ARM::VQRDMULHv4i32:
case ARM::VQRDMULHv8i16:
case ARM::VQSUBsv1i64:
case ARM::VQSUBsv2i32:
case ARM::VQSUBsv2i64:
case ARM::VQSUBsv4i16:
case ARM::VQSUBsv4i32:
case ARM::VQSUBsv8i8:
case ARM::VQSUBsv8i16:
case ARM::VQSUBsv16i8:
case ARM::VQSUBuv1i64:
case ARM::VQSUBuv2i32:
case ARM::VQSUBuv2i64:
case ARM::VQSUBuv4i16:
case ARM::VQSUBuv4i32:
case ARM::VQSUBuv8i8:
case ARM::VQSUBuv8i16:
case ARM::VQSUBuv16i8:
case ARM::VRADDHNv2i32:
case ARM::VRADDHNv4i16:
case ARM::VRADDHNv8i8:
case ARM::VRECPSfd:
case ARM::VRECPSfq:
case ARM::VRECPShd:
case ARM::VRECPShq:
case ARM::VRHADDsv2i32:
case ARM::VRHADDsv4i16:
case ARM::VRHADDsv4i32:
case ARM::VRHADDsv8i8:
case ARM::VRHADDsv8i16:
case ARM::VRHADDsv16i8:
case ARM::VRHADDuv2i32:
case ARM::VRHADDuv4i16:
case ARM::VRHADDuv4i32:
case ARM::VRHADDuv8i8:
case ARM::VRHADDuv8i16:
case ARM::VRHADDuv16i8:
case ARM::VRSQRTSfd:
case ARM::VRSQRTSfq:
case ARM::VRSQRTShd:
case ARM::VRSQRTShq:
case ARM::VRSUBHNv2i32:
case ARM::VRSUBHNv4i16:
case ARM::VRSUBHNv8i8:
case ARM::VSUBHNv2i32:
case ARM::VSUBHNv4i16:
case ARM::VSUBHNv8i8:
case ARM::VSUBLsv2i64:
case ARM::VSUBLsv4i32:
case ARM::VSUBLsv8i16:
case ARM::VSUBLuv2i64:
case ARM::VSUBLuv4i32:
case ARM::VSUBLuv8i16:
case ARM::VSUBWsv2i64:
case ARM::VSUBWsv4i32:
case ARM::VSUBWsv8i16:
case ARM::VSUBWuv2i64:
case ARM::VSUBWuv4i32:
case ARM::VSUBWuv8i16:
case ARM::VSUBfd:
case ARM::VSUBfq:
case ARM::VSUBhd:
case ARM::VSUBhq:
case ARM::VSUBv1i64:
case ARM::VSUBv2i32:
case ARM::VSUBv2i64:
case ARM::VSUBv4i16:
case ARM::VSUBv4i32:
case ARM::VSUBv8i8:
case ARM::VSUBv8i16:
case ARM::VSUBv16i8:
case ARM::VTBL1:
case ARM::VTBL2:
case ARM::VTBL3:
case ARM::VTBL4:
case ARM::VTSTv2i32:
case ARM::VTSTv4i16:
case ARM::VTSTv4i32:
case ARM::VTSTv8i8:
case ARM::VTSTv8i16:
case ARM::VTSTv16i8: {
switch (OpNum) {
case 0:
return 12;
case 1:
return 7;
case 2:
return 0;
}
break;
}
case ARM::VLD1LNd8_UPD: {
switch (OpNum) {
case 0:
return 12;
case 2:
return 16;
case 4:
return 0;
case 6:
return 5;
}
break;
}
case ARM::VLD1LNd16_UPD: {
switch (OpNum) {
case 0:
return 12;
case 2:
return 4;
case 4:
return 0;
case 6:
return 6;
}
break;
}
case ARM::VLD1LNd32_UPD: {
switch (OpNum) {
case 0:
return 12;
case 2:
return 4;
case 4:
return 0;
case 6:
return 7;
}
break;
}
case ARM::VLD1DUPd8wb_register:
case ARM::VLD1DUPd16wb_register:
case ARM::VLD1DUPd32wb_register:
case ARM::VLD1DUPq8wb_register:
case ARM::VLD1DUPq16wb_register:
case ARM::VLD1DUPq32wb_register:
case ARM::VLD1d8Qwb_register:
case ARM::VLD1d8Twb_register:
case ARM::VLD1d8wb_register:
case ARM::VLD1d16Qwb_register:
case ARM::VLD1d16Twb_register:
case ARM::VLD1d16wb_register:
case ARM::VLD1d32Qwb_register:
case ARM::VLD1d32Twb_register:
case ARM::VLD1d32wb_register:
case ARM::VLD1d64Qwb_register:
case ARM::VLD1d64Twb_register:
case ARM::VLD1d64wb_register:
case ARM::VLD1q8wb_register:
case ARM::VLD1q16wb_register:
case ARM::VLD1q32wb_register:
case ARM::VLD1q64wb_register:
case ARM::VLD2DUPd8wb_register:
case ARM::VLD2DUPd8x2wb_register:
case ARM::VLD2DUPd16wb_register:
case ARM::VLD2DUPd16x2wb_register:
case ARM::VLD2DUPd32wb_register:
case ARM::VLD2DUPd32x2wb_register:
case ARM::VLD2b8wb_register:
case ARM::VLD2b16wb_register:
case ARM::VLD2b32wb_register:
case ARM::VLD2d8wb_register:
case ARM::VLD2d16wb_register:
case ARM::VLD2d32wb_register:
case ARM::VLD2q8wb_register:
case ARM::VLD2q16wb_register:
case ARM::VLD2q32wb_register: {
switch (OpNum) {
case 0:
return 12;
case 2:
return 4;
case 4:
return 0;
}
break;
}
case ARM::VLD2LNd8: {
switch (OpNum) {
case 0:
return 12;
case 2:
return 4;
case 6:
return 5;
}
break;
}
case ARM::VLD2LNd16:
case ARM::VLD2LNq16: {
switch (OpNum) {
case 0:
return 12;
case 2:
return 4;
case 6:
return 6;
}
break;
}
case ARM::VLD2LNd32:
case ARM::VLD2LNq32: {
switch (OpNum) {
case 0:
return 12;
case 2:
return 4;
case 6:
return 7;
}
break;
}
case ARM::VLD1DUPd8wb_fixed:
case ARM::VLD1DUPd16wb_fixed:
case ARM::VLD1DUPd32wb_fixed:
case ARM::VLD1DUPq8wb_fixed:
case ARM::VLD1DUPq16wb_fixed:
case ARM::VLD1DUPq32wb_fixed:
case ARM::VLD1d8Qwb_fixed:
case ARM::VLD1d8Twb_fixed:
case ARM::VLD1d8wb_fixed:
case ARM::VLD1d16Qwb_fixed:
case ARM::VLD1d16Twb_fixed:
case ARM::VLD1d16wb_fixed:
case ARM::VLD1d32Qwb_fixed:
case ARM::VLD1d32Twb_fixed:
case ARM::VLD1d32wb_fixed:
case ARM::VLD1d64Qwb_fixed:
case ARM::VLD1d64Twb_fixed:
case ARM::VLD1d64wb_fixed:
case ARM::VLD1q8wb_fixed:
case ARM::VLD1q16wb_fixed:
case ARM::VLD1q32wb_fixed:
case ARM::VLD1q64wb_fixed:
case ARM::VLD2DUPd8wb_fixed:
case ARM::VLD2DUPd8x2wb_fixed:
case ARM::VLD2DUPd16wb_fixed:
case ARM::VLD2DUPd16x2wb_fixed:
case ARM::VLD2DUPd32wb_fixed:
case ARM::VLD2DUPd32x2wb_fixed:
case ARM::VLD2b8wb_fixed:
case ARM::VLD2b16wb_fixed:
case ARM::VLD2b32wb_fixed:
case ARM::VLD2d8wb_fixed:
case ARM::VLD2d16wb_fixed:
case ARM::VLD2d32wb_fixed:
case ARM::VLD2q8wb_fixed:
case ARM::VLD2q16wb_fixed:
case ARM::VLD2q32wb_fixed: {
switch (OpNum) {
case 0:
return 12;
case 2:
return 4;
}
break;
}
case ARM::VRSRAsv1i64:
case ARM::VRSRAsv2i32:
case ARM::VRSRAsv2i64:
case ARM::VRSRAsv4i16:
case ARM::VRSRAsv4i32:
case ARM::VRSRAsv8i8:
case ARM::VRSRAsv8i16:
case ARM::VRSRAsv16i8:
case ARM::VRSRAuv1i64:
case ARM::VRSRAuv2i32:
case ARM::VRSRAuv2i64:
case ARM::VRSRAuv4i16:
case ARM::VRSRAuv4i32:
case ARM::VRSRAuv8i8:
case ARM::VRSRAuv8i16:
case ARM::VRSRAuv16i8:
case ARM::VSLIv1i64:
case ARM::VSLIv2i32:
case ARM::VSLIv2i64:
case ARM::VSLIv4i16:
case ARM::VSLIv4i32:
case ARM::VSLIv8i8:
case ARM::VSLIv8i16:
case ARM::VSLIv16i8:
case ARM::VSRAsv1i64:
case ARM::VSRAsv2i32:
case ARM::VSRAsv2i64:
case ARM::VSRAsv4i16:
case ARM::VSRAsv4i32:
case ARM::VSRAsv8i8:
case ARM::VSRAsv8i16:
case ARM::VSRAsv16i8:
case ARM::VSRAuv1i64:
case ARM::VSRAuv2i32:
case ARM::VSRAuv2i64:
case ARM::VSRAuv4i16:
case ARM::VSRAuv4i32:
case ARM::VSRAuv8i8:
case ARM::VSRAuv8i16:
case ARM::VSRAuv16i8:
case ARM::VSRIv1i64:
case ARM::VSRIv2i32:
case ARM::VSRIv2i64:
case ARM::VSRIv4i16:
case ARM::VSRIv4i32:
case ARM::VSRIv8i8:
case ARM::VSRIv8i16:
case ARM::VSRIv16i8: {
switch (OpNum) {
case 0:
return 12;
case 2:
return 0;
case 3:
return 16;
}
break;
}
case ARM::AESD:
case ARM::AESE:
case ARM::SHA1SU1:
case ARM::SHA256SU0:
case ARM::VPADALsv2i32:
case ARM::VPADALsv4i16:
case ARM::VPADALsv4i32:
case ARM::VPADALsv8i8:
case ARM::VPADALsv8i16:
case ARM::VPADALsv16i8:
case ARM::VPADALuv2i32:
case ARM::VPADALuv4i16:
case ARM::VPADALuv4i32:
case ARM::VPADALuv8i8:
case ARM::VPADALuv8i16:
case ARM::VPADALuv16i8: {
switch (OpNum) {
case 0:
return 12;
case 2:
return 0;
}
break;
}
case ARM::VQRSHLsv1i64:
case ARM::VQRSHLsv2i32:
case ARM::VQRSHLsv2i64:
case ARM::VQRSHLsv4i16:
case ARM::VQRSHLsv4i32:
case ARM::VQRSHLsv8i8:
case ARM::VQRSHLsv8i16:
case ARM::VQRSHLsv16i8:
case ARM::VQRSHLuv1i64:
case ARM::VQRSHLuv2i32:
case ARM::VQRSHLuv2i64:
case ARM::VQRSHLuv4i16:
case ARM::VQRSHLuv4i32:
case ARM::VQRSHLuv8i8:
case ARM::VQRSHLuv8i16:
case ARM::VQRSHLuv16i8:
case ARM::VQSHLsv1i64:
case ARM::VQSHLsv2i32:
case ARM::VQSHLsv2i64:
case ARM::VQSHLsv4i16:
case ARM::VQSHLsv4i32:
case ARM::VQSHLsv8i8:
case ARM::VQSHLsv8i16:
case ARM::VQSHLsv16i8:
case ARM::VQSHLuv1i64:
case ARM::VQSHLuv2i32:
case ARM::VQSHLuv2i64:
case ARM::VQSHLuv4i16:
case ARM::VQSHLuv4i32:
case ARM::VQSHLuv8i8:
case ARM::VQSHLuv8i16:
case ARM::VQSHLuv16i8:
case ARM::VRSHLsv1i64:
case ARM::VRSHLsv2i32:
case ARM::VRSHLsv2i64:
case ARM::VRSHLsv4i16:
case ARM::VRSHLsv4i32:
case ARM::VRSHLsv8i8:
case ARM::VRSHLsv8i16:
case ARM::VRSHLsv16i8:
case ARM::VRSHLuv1i64:
case ARM::VRSHLuv2i32:
case ARM::VRSHLuv2i64:
case ARM::VRSHLuv4i16:
case ARM::VRSHLuv4i32:
case ARM::VRSHLuv8i8:
case ARM::VRSHLuv8i16:
case ARM::VRSHLuv16i8:
case ARM::VSHLsv1i64:
case ARM::VSHLsv2i32:
case ARM::VSHLsv2i64:
case ARM::VSHLsv4i16:
case ARM::VSHLsv4i32:
case ARM::VSHLsv8i8:
case ARM::VSHLsv8i16:
case ARM::VSHLsv16i8:
case ARM::VSHLuv1i64:
case ARM::VSHLuv2i32:
case ARM::VSHLuv2i64:
case ARM::VSHLuv4i16:
case ARM::VSHLuv4i32:
case ARM::VSHLuv8i8:
case ARM::VSHLuv8i16:
case ARM::VSHLuv16i8: {
switch (OpNum) {
case 0:
return 12;
case 2:
return 7;
case 1:
return 0;
}
break;
}
case ARM::VMLALslsv4i16:
case ARM::VMLALsluv4i16:
case ARM::VMLAslhd:
case ARM::VMLAslhq:
case ARM::VMLAslv4i16:
case ARM::VMLAslv8i16:
case ARM::VMLSLslsv4i16:
case ARM::VMLSLsluv4i16:
case ARM::VMLSslhd:
case ARM::VMLSslhq:
case ARM::VMLSslv4i16:
case ARM::VMLSslv8i16:
case ARM::VQDMLALslv4i16:
case ARM::VQDMLSLslv4i16:
case ARM::VQRDMLAHslv4i16:
case ARM::VQRDMLAHslv8i16:
case ARM::VQRDMLSHslv4i16:
case ARM::VQRDMLSHslv8i16: {
switch (OpNum) {
case 0:
return 12;
case 2:
return 7;
case 3:
return 0;
case 4:
return 3;
}
break;
}
case ARM::VMLALslsv2i32:
case ARM::VMLALsluv2i32:
case ARM::VMLAslfd:
case ARM::VMLAslfq:
case ARM::VMLAslv2i32:
case ARM::VMLAslv4i32:
case ARM::VMLSLslsv2i32:
case ARM::VMLSLsluv2i32:
case ARM::VMLSslfd:
case ARM::VMLSslfq:
case ARM::VMLSslv2i32:
case ARM::VMLSslv4i32:
case ARM::VQDMLALslv2i32:
case ARM::VQDMLSLslv2i32:
case ARM::VQRDMLAHslv2i32:
case ARM::VQRDMLAHslv4i32:
case ARM::VQRDMLSHslv2i32:
case ARM::VQRDMLSHslv4i32: {
switch (OpNum) {
case 0:
return 12;
case 2:
return 7;
case 3:
return 0;
case 4:
return 5;
}
break;
}
case ARM::VCMLAv2f32:
case ARM::VCMLAv4f16:
case ARM::VCMLAv4f32:
case ARM::VCMLAv8f16: {
switch (OpNum) {
case 0:
return 12;
case 2:
return 7;
case 3:
return 0;
case 4:
return 23;
}
break;
}
case ARM::VCMLAv4f16_indexed:
case ARM::VCMLAv8f16_indexed: {
switch (OpNum) {
case 0:
return 12;
case 2:
return 7;
case 3:
return 0;
case 5:
return 20;
case 4:
return 5;
}
break;
}
case ARM::VCMLAv2f32_indexed:
case ARM::VCMLAv4f32_indexed: {
switch (OpNum) {
case 0:
return 12;
case 2:
return 7;
case 3:
return 0;
case 5:
return 20;
}
break;
}
case ARM::SHA1C:
case ARM::SHA1M:
case ARM::SHA1P:
case ARM::SHA1SU0:
case ARM::SHA256H:
case ARM::SHA256H2:
case ARM::SHA256SU1:
case ARM::VABALsv2i64:
case ARM::VABALsv4i32:
case ARM::VABALsv8i16:
case ARM::VABALuv2i64:
case ARM::VABALuv4i32:
case ARM::VABALuv8i16:
case ARM::VABAsv2i32:
case ARM::VABAsv4i16:
case ARM::VABAsv4i32:
case ARM::VABAsv8i8:
case ARM::VABAsv8i16:
case ARM::VABAsv16i8:
case ARM::VABAuv2i32:
case ARM::VABAuv4i16:
case ARM::VABAuv4i32:
case ARM::VABAuv8i8:
case ARM::VABAuv8i16:
case ARM::VABAuv16i8:
case ARM::VBIFd:
case ARM::VBIFq:
case ARM::VBITd:
case ARM::VBITq:
case ARM::VBSLd:
case ARM::VBSLq:
case ARM::VFMAfd:
case ARM::VFMAfq:
case ARM::VFMAhd:
case ARM::VFMAhq:
case ARM::VFMSfd:
case ARM::VFMSfq:
case ARM::VFMShd:
case ARM::VFMShq:
case ARM::VMLALsv2i64:
case ARM::VMLALsv4i32:
case ARM::VMLALsv8i16:
case ARM::VMLALuv2i64:
case ARM::VMLALuv4i32:
case ARM::VMLALuv8i16:
case ARM::VMLAfd:
case ARM::VMLAfq:
case ARM::VMLAhd:
case ARM::VMLAhq:
case ARM::VMLAv2i32:
case ARM::VMLAv4i16:
case ARM::VMLAv4i32:
case ARM::VMLAv8i8:
case ARM::VMLAv8i16:
case ARM::VMLAv16i8:
case ARM::VMLSLsv2i64:
case ARM::VMLSLsv4i32:
case ARM::VMLSLsv8i16:
case ARM::VMLSLuv2i64:
case ARM::VMLSLuv4i32:
case ARM::VMLSLuv8i16:
case ARM::VMLSfd:
case ARM::VMLSfq:
case ARM::VMLShd:
case ARM::VMLShq:
case ARM::VMLSv2i32:
case ARM::VMLSv4i16:
case ARM::VMLSv4i32:
case ARM::VMLSv8i8:
case ARM::VMLSv8i16:
case ARM::VMLSv16i8:
case ARM::VQDMLALv2i64:
case ARM::VQDMLALv4i32:
case ARM::VQDMLSLv2i64:
case ARM::VQDMLSLv4i32:
case ARM::VQRDMLAHv2i32:
case ARM::VQRDMLAHv4i16:
case ARM::VQRDMLAHv4i32:
case ARM::VQRDMLAHv8i16:
case ARM::VQRDMLSHv2i32:
case ARM::VQRDMLSHv4i16:
case ARM::VQRDMLSHv4i32:
case ARM::VQRDMLSHv8i16:
case ARM::VTBX1:
case ARM::VTBX2:
case ARM::VTBX3:
case ARM::VTBX4: {
switch (OpNum) {
case 0:
return 12;
case 2:
return 7;
case 3:
return 0;
}
break;
}
case ARM::VLD3LNd8: {
switch (OpNum) {
case 0:
return 12;
case 3:
return 16;
case 8:
return 5;
}
break;
}
case ARM::VLD3LNd16:
case ARM::VLD3LNq16: {
switch (OpNum) {
case 0:
return 12;
case 3:
return 16;
case 8:
return 6;
}
break;
}
case ARM::VLD3LNd32:
case ARM::VLD3LNq32: {
switch (OpNum) {
case 0:
return 12;
case 3:
return 16;
case 8:
return 7;
}
break;
}
case ARM::VLD3DUPd8:
case ARM::VLD3DUPd16:
case ARM::VLD3DUPd32:
case ARM::VLD3DUPq8:
case ARM::VLD3DUPq16:
case ARM::VLD3DUPq32: {
switch (OpNum) {
case 0:
return 12;
case 3:
return 16;
}
break;
}
case ARM::VLD2LNd8_UPD: {
switch (OpNum) {
case 0:
return 12;
case 3:
return 4;
case 5:
return 0;
case 8:
return 5;
}
break;
}
case ARM::VLD2LNd16_UPD:
case ARM::VLD2LNq16_UPD: {
switch (OpNum) {
case 0:
return 12;
case 3:
return 4;
case 5:
return 0;
case 8:
return 6;
}
break;
}
case ARM::VLD2LNd32_UPD:
case ARM::VLD2LNq32_UPD: {
switch (OpNum) {
case 0:
return 12;
case 3:
return 4;
case 5:
return 0;
case 8:
return 7;
}
break;
}
case ARM::VLD3d8:
case ARM::VLD3d16:
case ARM::VLD3d32:
case ARM::VLD3q8:
case ARM::VLD3q16:
case ARM::VLD3q32: {
switch (OpNum) {
case 0:
return 12;
case 3:
return 4;
}
break;
}
case ARM::VLD3LNd8_UPD: {
switch (OpNum) {
case 0:
return 12;
case 4:
return 16;
case 6:
return 0;
case 10:
return 5;
}
break;
}
case ARM::VLD3LNd16_UPD:
case ARM::VLD3LNq16_UPD: {
switch (OpNum) {
case 0:
return 12;
case 4:
return 16;
case 6:
return 0;
case 10:
return 6;
}
break;
}
case ARM::VLD3LNd32_UPD:
case ARM::VLD3LNq32_UPD: {
switch (OpNum) {
case 0:
return 12;
case 4:
return 16;
case 6:
return 0;
case 10:
return 7;
}
break;
}
case ARM::VLD3DUPd8_UPD:
case ARM::VLD3DUPd16_UPD:
case ARM::VLD3DUPd32_UPD:
case ARM::VLD3DUPq8_UPD:
case ARM::VLD3DUPq16_UPD:
case ARM::VLD3DUPq32_UPD: {
switch (OpNum) {
case 0:
return 12;
case 4:
return 16;
case 6:
return 0;
}
break;
}
case ARM::VLD4LNd8: {
switch (OpNum) {
case 0:
return 12;
case 4:
return 4;
case 10:
return 5;
}
break;
}
case ARM::VLD4LNd16:
case ARM::VLD4LNq16: {
switch (OpNum) {
case 0:
return 12;
case 4:
return 4;
case 10:
return 6;
}
break;
}
case ARM::VLD4LNd32:
case ARM::VLD4LNq32: {
switch (OpNum) {
case 0:
return 12;
case 4:
return 4;
case 10:
return 7;
}
break;
}
case ARM::VLD3d8_UPD:
case ARM::VLD3d16_UPD:
case ARM::VLD3d32_UPD:
case ARM::VLD3q8_UPD:
case ARM::VLD3q16_UPD:
case ARM::VLD3q32_UPD: {
switch (OpNum) {
case 0:
return 12;
case 4:
return 4;
case 6:
return 0;
}
break;
}
case ARM::VLD4DUPd8:
case ARM::VLD4DUPd16:
case ARM::VLD4DUPd32:
case ARM::VLD4DUPq8:
case ARM::VLD4DUPq16:
case ARM::VLD4DUPq32:
case ARM::VLD4d8:
case ARM::VLD4d16:
case ARM::VLD4d32:
case ARM::VLD4q8:
case ARM::VLD4q16:
case ARM::VLD4q32: {
switch (OpNum) {
case 0:
return 12;
case 4:
return 4;
}
break;
}
case ARM::VLD4LNd8_UPD: {
switch (OpNum) {
case 0:
return 12;
case 5:
return 4;
case 7:
return 0;
case 12:
return 5;
}
break;
}
case ARM::VLD4LNd16_UPD:
case ARM::VLD4LNq16_UPD: {
switch (OpNum) {
case 0:
return 12;
case 5:
return 4;
case 7:
return 0;
case 12:
return 6;
}
break;
}
case ARM::VLD4LNd32_UPD:
case ARM::VLD4LNq32_UPD: {
switch (OpNum) {
case 0:
return 12;
case 5:
return 4;
case 7:
return 0;
case 12:
return 7;
}
break;
}
case ARM::VLD4DUPd8_UPD:
case ARM::VLD4DUPd16_UPD:
case ARM::VLD4DUPd32_UPD:
case ARM::VLD4DUPq8_UPD:
case ARM::VLD4DUPq16_UPD:
case ARM::VLD4DUPq32_UPD:
case ARM::VLD4d8_UPD:
case ARM::VLD4d16_UPD:
case ARM::VLD4d32_UPD:
case ARM::VLD4q8_UPD:
case ARM::VLD4q16_UPD:
case ARM::VLD4q32_UPD: {
switch (OpNum) {
case 0:
return 12;
case 5:
return 4;
case 7:
return 0;
}
break;
}
case ARM::PLDWi12:
case ARM::PLDi12:
case ARM::PLIi12:
case ARM::t2PLDWi8:
case ARM::t2PLDWi12:
case ARM::t2PLDWs:
case ARM::t2PLDi8:
case ARM::t2PLDi12:
case ARM::t2PLDpci:
case ARM::t2PLDs:
case ARM::t2PLIi8:
case ARM::t2PLIi12:
case ARM::t2PLIpci:
case ARM::t2PLIs: {
switch (OpNum) {
case 0:
return 0;
}
break;
}
case ARM::t2BFLr:
case ARM::t2BFr: {
switch (OpNum) {
case 0:
return 23;
case 1:
return 16;
}
break;
}
case ARM::t2BFLi:
case ARM::t2BFi: {
switch (OpNum) {
case 0:
return 23;
case 1:
return 1;
}
break;
}
case ARM::t2MSRbanked: {
switch (OpNum) {
case 0:
return 4;
case 1:
return 16;
}
break;
}
case ARM::t2IT: {
switch (OpNum) {
case 0:
return 4;
case 1:
return 0;
}
break;
}
case ARM::BX:
case ARM::tPICADD: {
switch (OpNum) {
case 0:
return 0;
}
break;
}
case ARM::tADDrSPi: {
switch (OpNum) {
case 0:
return 8;
case 2:
return 0;
}
break;
}
case ARM::tSETEND: {
switch (OpNum) {
case 0:
return 3;
}
break;
}
case ARM::SETEND: {
switch (OpNum) {
case 0:
return 9;
}
break;
}
case ARM::BL:
case ARM::BLX: {
switch (OpNum) {
case 0:
return 0;
}
break;
}
case ARM::t2BXJ: {
switch (OpNum) {
case 0:
return 16;
}
break;
}
case ARM::HVC:
case ARM::t2HINT:
case ARM::t2SUBS_PC_LR:
case ARM::tSVC: {
switch (OpNum) {
case 0:
return 0;
}
break;
}
case ARM::t2SETPAN: {
switch (OpNum) {
case 0:
return 3;
}
break;
}
case ARM::tHINT: {
switch (OpNum) {
case 0:
return 4;
}
break;
}
case ARM::SETPAN: {
switch (OpNum) {
case 0:
return 9;
}
break;
}
case ARM::UDF:
case ARM::t2HVC:
case ARM::t2UDF: {
switch (OpNum) {
case 0:
return 0;
}
break;
}
case ARM::tUDF: {
switch (OpNum) {
case 0:
return 0;
}
break;
}
case ARM::CPS3p: {
switch (OpNum) {
case 0:
return 18;
case 1:
return 6;
case 2:
return 0;
}
break;
}
case ARM::CPS2p: {
switch (OpNum) {
case 0:
return 18;
case 1:
return 6;
}
break;
}
case ARM::tCPS: {
switch (OpNum) {
case 0:
return 4;
case 1:
return 0;
}
break;
}
case ARM::t2CPS3p: {
switch (OpNum) {
case 0:
return 9;
case 1:
return 5;
case 2:
return 0;
}
break;
}
case ARM::t2CPS2p: {
switch (OpNum) {
case 0:
return 9;
case 1:
return 5;
}
break;
}
case ARM::t2LE: {
switch (OpNum) {
case 0:
return 1;
}
break;
}
case ARM::t2MSR_AR: {
switch (OpNum) {
case 0:
return 8;
case 1:
return 16;
}
break;
}
case ARM::CPS1p:
case ARM::SRSDA:
case ARM::SRSDA_UPD:
case ARM::SRSDB:
case ARM::SRSDB_UPD:
case ARM::SRSIA:
case ARM::SRSIA_UPD:
case ARM::SRSIB:
case ARM::SRSIB_UPD:
case ARM::t2CPS1p:
case ARM::t2SRSDB:
case ARM::t2SRSDB_UPD:
case ARM::t2SRSIA:
case ARM::t2SRSIA_UPD: {
switch (OpNum) {
case 0:
return 0;
}
break;
}
case ARM::DMB:
case ARM::DSB:
case ARM::ISB:
case ARM::t2DBG:
case ARM::t2DMB:
case ARM::t2DSB:
case ARM::t2ISB: {
switch (OpNum) {
case 0:
return 0;
}
break;
}
case ARM::t2SMC: {
switch (OpNum) {
case 0:
return 16;
}
break;
}
case ARM::BX_RET:
case ARM::ERET:
case ARM::FMSTAT:
case ARM::MOVPCLR: {
switch (OpNum) {
case 0:
return 28;
}
break;
}
case ARM::PLDWrs:
case ARM::PLDrs:
case ARM::PLIrs: {
switch (OpNum) {
case 0:
return 0;
}
break;
}
case ARM::BLXi:
case ARM::t2B:
case ARM::tB: {
switch (OpNum) {
case 0:
return 0;
}
break;
}
case ARM::BKPT:
case ARM::HLT:
case ARM::tBKPT:
case ARM::tHLT: {
switch (OpNum) {
case 0:
return 0;
}
break;
}
case ARM::MVE_VLDRBS16_pre:
case ARM::MVE_VLDRBS32_pre:
case ARM::MVE_VLDRBU8_pre:
case ARM::MVE_VLDRBU16_pre:
case ARM::MVE_VLDRBU32_pre:
case ARM::MVE_VLDRDU64_qi_pre:
case ARM::MVE_VLDRHS32_pre:
case ARM::MVE_VLDRHU16_pre:
case ARM::MVE_VLDRHU32_pre:
case ARM::MVE_VLDRWU32_pre:
case ARM::MVE_VLDRWU32_qi_pre:
case ARM::MVE_VSTRB16_pre:
case ARM::MVE_VSTRB32_pre:
case ARM::MVE_VSTRBU8_pre:
case ARM::MVE_VSTRD64_qi_pre:
case ARM::MVE_VSTRH32_pre:
case ARM::MVE_VSTRHU16_pre:
case ARM::MVE_VSTRW32_qi_pre:
case ARM::MVE_VSTRWU32_pre: {
switch (OpNum) {
case 1:
return 13;
case 2:
return 0;
}
break;
}
case ARM::MVE_VLDRBS16_post:
case ARM::MVE_VLDRBS32_post:
case ARM::MVE_VLDRBU8_post:
case ARM::MVE_VLDRBU16_post:
case ARM::MVE_VLDRBU32_post:
case ARM::MVE_VLDRHS32_post:
case ARM::MVE_VLDRHU16_post:
case ARM::MVE_VLDRHU32_post:
case ARM::MVE_VLDRWU32_post:
case ARM::MVE_VSTRB16_post:
case ARM::MVE_VSTRB32_post:
case ARM::MVE_VSTRBU8_post:
case ARM::MVE_VSTRH32_post:
case ARM::MVE_VSTRHU16_post:
case ARM::MVE_VSTRWU32_post: {
switch (OpNum) {
case 1:
return 13;
case 3:
return 0;
case 2:
return 16;
}
break;
}
case ARM::MVE_VMOV_from_lane_32: {
switch (OpNum) {
case 1:
return 7;
case 0:
return 12;
case 2:
return 16;
}
break;
}
case ARM::MVE_VMOV_from_lane_s8:
case ARM::MVE_VMOV_from_lane_u8: {
switch (OpNum) {
case 1:
return 7;
case 0:
return 12;
case 2:
return 5;
}
break;
}
case ARM::MVE_VMOV_from_lane_s16:
case ARM::MVE_VMOV_from_lane_u16: {
switch (OpNum) {
case 1:
return 7;
case 0:
return 12;
case 2:
return 6;
}
break;
}
case ARM::MVE_VCVTf16s16_fix:
case ARM::MVE_VCVTf16u16_fix:
case ARM::MVE_VCVTf32s32_fix:
case ARM::MVE_VCVTf32u32_fix:
case ARM::MVE_VCVTs16f16_fix:
case ARM::MVE_VCVTs32f32_fix:
case ARM::MVE_VCVTu16f16_fix:
case ARM::MVE_VCVTu32f32_fix: {
switch (OpNum) {
case 1:
return 1;
case 0:
return 13;
case 2:
return 16;
}
break;
}
case ARM::MVE_VABSf16:
case ARM::MVE_VABSf32:
case ARM::MVE_VCVTf16s16n:
case ARM::MVE_VCVTf16u16n:
case ARM::MVE_VCVTf32s32n:
case ARM::MVE_VCVTf32u32n:
case ARM::MVE_VCVTs16f16a:
case ARM::MVE_VCVTs16f16m:
case ARM::MVE_VCVTs16f16n:
case ARM::MVE_VCVTs16f16p:
case ARM::MVE_VCVTs16f16z:
case ARM::MVE_VCVTs32f32a:
case ARM::MVE_VCVTs32f32m:
case ARM::MVE_VCVTs32f32n:
case ARM::MVE_VCVTs32f32p:
case ARM::MVE_VCVTs32f32z:
case ARM::MVE_VCVTu16f16a:
case ARM::MVE_VCVTu16f16m:
case ARM::MVE_VCVTu16f16n:
case ARM::MVE_VCVTu16f16p:
case ARM::MVE_VCVTu16f16z:
case ARM::MVE_VCVTu32f32a:
case ARM::MVE_VCVTu32f32m:
case ARM::MVE_VCVTu32f32n:
case ARM::MVE_VCVTu32f32p:
case ARM::MVE_VCVTu32f32z:
case ARM::MVE_VNEGf16:
case ARM::MVE_VNEGf32:
case ARM::MVE_VRINTf16A:
case ARM::MVE_VRINTf16M:
case ARM::MVE_VRINTf16N:
case ARM::MVE_VRINTf16P:
case ARM::MVE_VRINTf16X:
case ARM::MVE_VRINTf16Z:
case ARM::MVE_VRINTf32A:
case ARM::MVE_VRINTf32M:
case ARM::MVE_VRINTf32N:
case ARM::MVE_VRINTf32P:
case ARM::MVE_VRINTf32X:
case ARM::MVE_VRINTf32Z: {
switch (OpNum) {
case 1:
return 1;
case 0:
return 13;
}
break;
}
case ARM::MVE_VADDVs8no_acc:
case ARM::MVE_VADDVs16no_acc:
case ARM::MVE_VADDVs32no_acc:
case ARM::MVE_VADDVu8no_acc:
case ARM::MVE_VADDVu16no_acc:
case ARM::MVE_VADDVu32no_acc: {
switch (OpNum) {
case 1:
return 1;
case 0:
return 13;
}
break;
}
case ARM::MVE_VPSEL: {
switch (OpNum) {
case 1:
return 7;
case 0:
return 13;
case 2:
return 1;
}
break;
}
case ARM::t2SMLALD:
case ARM::t2SMLALDX:
case ARM::t2SMLSLD:
case ARM::t2SMLSLDX: {
switch (OpNum) {
case 1:
return 8;
case 2:
return 16;
case 3:
return 0;
case 0:
return 12;
}
break;
}
case ARM::tREV:
case ARM::tREV16:
case ARM::tREVSH:
case ARM::tSXTB:
case ARM::tSXTH:
case ARM::tUXTB:
case ARM::tUXTH: {
switch (OpNum) {
case 1:
return 3;
case 0:
return 0;
}
break;
}
case ARM::tCMNz:
case ARM::tCMPhir:
case ARM::tCMPr:
case ARM::tTST: {
switch (OpNum) {
case 1:
return 3;
case 0:
return 0;
}
break;
}
case ARM::t2TT:
case ARM::t2TTA:
case ARM::t2TTAT:
case ARM::t2TTT: {
switch (OpNum) {
case 1:
return 16;
case 0:
return 8;
}
break;
}
case ARM::MVE_WLSTP_8:
case ARM::MVE_WLSTP_16:
case ARM::MVE_WLSTP_32:
case ARM::MVE_WLSTP_64:
case ARM::t2WLS: {
switch (OpNum) {
case 1:
return 16;
case 2:
return 1;
}
break;
}
case ARM::t2LDMDB_UPD:
case ARM::t2LDMIA_UPD:
case ARM::t2STMDB_UPD:
case ARM::t2STMIA_UPD: {
switch (OpNum) {
case 1:
return 16;
case 4:
return 0;
}
break;
}
case ARM::MVE_DLSTP_8:
case ARM::MVE_DLSTP_16:
case ARM::MVE_DLSTP_32:
case ARM::MVE_DLSTP_64:
case ARM::MVE_VCTP8:
case ARM::MVE_VCTP16:
case ARM::MVE_VCTP32:
case ARM::MVE_VCTP64:
case ARM::t2DLS: {
switch (OpNum) {
case 1:
return 16;
}
break;
}
case ARM::tSTMIA_UPD: {
switch (OpNum) {
case 1:
return 8;
case 4:
return 0;
}
break;
}
case ARM::t2STRB_POST:
case ARM::t2STRH_POST:
case ARM::t2STR_POST: {
switch (OpNum) {
case 1:
return 12;
case 2:
return 16;
case 3:
return 0;
}
break;
}
case ARM::t2STRD_PRE: {
switch (OpNum) {
case 1:
return 12;
case 2:
return 8;
case 3:
return 0;
}
break;
}
case ARM::t2STRD_POST: {
switch (OpNum) {
case 1:
return 12;
case 2:
return 8;
case 3:
return 16;
case 4:
return 0;
}
break;
}
case ARM::t2STRB_PRE:
case ARM::t2STRH_PRE:
case ARM::t2STR_PRE: {
switch (OpNum) {
case 1:
return 12;
case 2:
return 0;
}
break;
}
case ARM::VGETLNi32: {
switch (OpNum) {
case 1:
return 7;
case 0:
return 12;
case 3:
return 28;
case 2:
return 21;
}
break;
}
case ARM::VGETLNs8:
case ARM::VGETLNu8: {
switch (OpNum) {
case 1:
return 7;
case 0:
return 12;
case 3:
return 28;
case 2:
return 5;
}
break;
}
case ARM::VGETLNs16:
case ARM::VGETLNu16: {
switch (OpNum) {
case 1:
return 7;
case 0:
return 12;
case 3:
return 28;
case 2:
return 6;
}
break;
}
case ARM::MVE_VST20_8_wb:
case ARM::MVE_VST20_16_wb:
case ARM::MVE_VST20_32_wb:
case ARM::MVE_VST21_8_wb:
case ARM::MVE_VST21_16_wb:
case ARM::MVE_VST21_32_wb:
case ARM::MVE_VST40_8_wb:
case ARM::MVE_VST40_16_wb:
case ARM::MVE_VST40_32_wb:
case ARM::MVE_VST41_8_wb:
case ARM::MVE_VST41_16_wb:
case ARM::MVE_VST41_32_wb:
case ARM::MVE_VST42_8_wb:
case ARM::MVE_VST42_16_wb:
case ARM::MVE_VST42_32_wb:
case ARM::MVE_VST43_8_wb:
case ARM::MVE_VST43_16_wb:
case ARM::MVE_VST43_32_wb: {
switch (OpNum) {
case 1:
return 13;
case 2:
return 16;
}
break;
}
case ARM::VBF16MALBQI:
case ARM::VBF16MALTQI: {
switch (OpNum) {
case 1:
return 12;
case 2:
return 7;
case 3:
return 0;
case 4:
return 3;
}
break;
}
case ARM::BF16VDOTI_VDOTD:
case ARM::BF16VDOTI_VDOTQ:
case ARM::VSDOTDI:
case ARM::VSDOTQI:
case ARM::VSUDOTDI:
case ARM::VSUDOTQI:
case ARM::VUDOTDI:
case ARM::VUDOTQI:
case ARM::VUSDOTDI:
case ARM::VUSDOTQI: {
switch (OpNum) {
case 1:
return 12;
case 2:
return 7;
case 3:
return 0;
case 4:
return 5;
}
break;
}
case ARM::BF16VDOTS_VDOTD:
case ARM::BF16VDOTS_VDOTQ:
case ARM::VBF16MALBQ:
case ARM::VBF16MALTQ:
case ARM::VMMLA:
case ARM::VSDOTD:
case ARM::VSDOTQ:
case ARM::VSMMLA:
case ARM::VUDOTD:
case ARM::VUDOTQ:
case ARM::VUMMLA:
case ARM::VUSDOTD:
case ARM::VUSDOTQ:
case ARM::VUSMMLA: {
switch (OpNum) {
case 1:
return 12;
case 2:
return 7;
case 3:
return 0;
}
break;
}
case ARM::t2LDAEXB:
case ARM::t2LDAEXH:
case ARM::t2LDREXB:
case ARM::t2LDREXH: {
switch (OpNum) {
case 1:
return 16;
case 0:
return 12;
}
break;
}
case ARM::t2MRSbanked: {
switch (OpNum) {
case 1:
return 4;
case 0:
return 8;
}
break;
}
case ARM::CDE_VCX1_vec: {
switch (OpNum) {
case 1:
return 8;
case 2:
return 0;
case 0:
return 13;
}
break;
}
case ARM::CDE_CX1:
case ARM::CDE_CX1D: {
switch (OpNum) {
case 1:
return 8;
case 2:
return 0;
case 0:
return 12;
}
break;
}
case ARM::CDE_VCX1_fpdp:
case ARM::CDE_VCX1_fpsp: {
switch (OpNum) {
case 1:
return 8;
case 2:
return 0;
case 0:
return 12;
}
break;
}
case ARM::CDE_VCX1A_vec: {
switch (OpNum) {
case 1:
return 8;
case 3:
return 0;
case 0:
return 13;
}
break;
}
case ARM::CDE_CX2:
case ARM::CDE_CX2D: {
switch (OpNum) {
case 1:
return 8;
case 3:
return 0;
case 0:
return 12;
case 2:
return 16;
}
break;
}
case ARM::CDE_CX1A:
case ARM::CDE_CX1DA: {
switch (OpNum) {
case 1:
return 8;
case 3:
return 0;
case 0:
return 12;
}
break;
}
case ARM::CDE_VCX1A_fpdp:
case ARM::CDE_VCX1A_fpsp: {
switch (OpNum) {
case 1:
return 8;
case 3:
return 0;
case 0:
return 12;
}
break;
}
case ARM::CDE_VCX2_vec: {
switch (OpNum) {
case 1:
return 8;
case 3:
return 4;
case 0:
return 13;
case 2:
return 1;
}
break;
}
case ARM::CDE_VCX2_fpdp:
case ARM::CDE_VCX2_fpsp: {
switch (OpNum) {
case 1:
return 8;
case 3:
return 4;
case 0:
return 12;
case 2:
return 0;
}
break;
}
case ARM::CDE_CX2A:
case ARM::CDE_CX2DA: {
switch (OpNum) {
case 1:
return 8;
case 4:
return 0;
case 0:
return 12;
case 3:
return 16;
}
break;
}
case ARM::CDE_VCX3_vec: {
switch (OpNum) {
case 1:
return 8;
case 4:
return 4;
case 0:
return 13;
case 3:
return 1;
case 2:
return 17;
}
break;
}
case ARM::CDE_VCX2A_vec: {
switch (OpNum) {
case 1:
return 8;
case 4:
return 4;
case 0:
return 13;
case 3:
return 1;
}
break;
}
case ARM::CDE_CX3:
case ARM::CDE_CX3D: {
switch (OpNum) {
case 1:
return 8;
case 4:
return 4;
case 0:
return 0;
case 2:
return 16;
case 3:
return 12;
}
break;
}
case ARM::CDE_VCX3_fpdp:
case ARM::CDE_VCX3_fpsp: {
switch (OpNum) {
case 1:
return 8;
case 4:
return 4;
case 0:
return 12;
case 3:
return 0;
case 2:
return 7;
}
break;
}
case ARM::CDE_VCX2A_fpdp:
case ARM::CDE_VCX2A_fpsp: {
switch (OpNum) {
case 1:
return 8;
case 4:
return 4;
case 0:
return 12;
case 3:
return 0;
}
break;
}
case ARM::CDE_VCX3A_vec: {
switch (OpNum) {
case 1:
return 8;
case 5:
return 4;
case 0:
return 13;
case 4:
return 1;
case 3:
return 17;
}
break;
}
case ARM::CDE_CX3A:
case ARM::CDE_CX3DA: {
switch (OpNum) {
case 1:
return 8;
case 5:
return 4;
case 0:
return 0;
case 3:
return 16;
case 4:
return 12;
}
break;
}
case ARM::CDE_VCX3A_fpdp:
case ARM::CDE_VCX3A_fpsp: {
switch (OpNum) {
case 1:
return 8;
case 5:
return 4;
case 0:
return 12;
case 4:
return 0;
case 3:
return 7;
}
break;
}
case ARM::MVE_VMOVimmf32:
case ARM::MVE_VMOVimmi8:
case ARM::MVE_VMOVimmi16:
case ARM::MVE_VMOVimmi32:
case ARM::MVE_VMOVimmi64:
case ARM::MVE_VMVNimmi16:
case ARM::MVE_VMVNimmi32: {
switch (OpNum) {
case 1:
return 0;
case 0:
return 13;
}
break;
}
case ARM::CDP2:
case ARM::t2CDP:
case ARM::t2CDP2: {
switch (OpNum) {
case 1:
return 20;
case 3:
return 16;
case 2:
return 12;
case 0:
return 8;
case 5:
return 5;
case 4:
return 0;
}
break;
}
case ARM::t2Bcc: {
switch (OpNum) {
case 1:
return 22;
case 0:
return 0;
}
break;
}
case ARM::VCMPEZD:
case ARM::VCMPZD: {
switch (OpNum) {
case 1:
return 28;
case 0:
return 12;
}
break;
}
case ARM::MRS:
case ARM::MRSsys: {
switch (OpNum) {
case 1:
return 28;
case 0:
return 12;
}
break;
}
case ARM::VLDMSIA:
case ARM::VSTMSIA: {
switch (OpNum) {
case 1:
return 28;
case 0:
return 16;
case 3:
return 0;
}
break;
}
case ARM::FLDMXIA:
case ARM::FSTMXIA:
case ARM::VLDMDIA:
case ARM::VSTMDIA: {
switch (OpNum) {
case 1:
return 28;
case 0:
return 16;
case 3:
return 1;
}
break;
}
case ARM::VMRS:
case ARM::VMRS_FPCXTNS:
case ARM::VMRS_FPCXTS:
case ARM::VMRS_FPEXC:
case ARM::VMRS_FPINST:
case ARM::VMRS_FPINST2:
case ARM::VMRS_FPSID:
case ARM::VMRS_MVFR0:
case ARM::VMRS_MVFR1:
case ARM::VMRS_MVFR2:
case ARM::VMRS_VPR:
case ARM::VMSR:
case ARM::VMSR_FPCXTNS:
case ARM::VMSR_FPCXTS:
case ARM::VMSR_FPEXC:
case ARM::VMSR_FPINST:
case ARM::VMSR_FPINST2:
case ARM::VMSR_FPSID:
case ARM::VMSR_VPR: {
switch (OpNum) {
case 1:
return 28;
case 0:
return 12;
}
break;
}
case ARM::VCMPEZH:
case ARM::VCMPEZS:
case ARM::VCMPZH:
case ARM::VCMPZS: {
switch (OpNum) {
case 1:
return 28;
case 0:
return 12;
}
break;
}
case ARM::BX_pred: {
switch (OpNum) {
case 1:
return 28;
case 0:
return 0;
}
break;
}
case ARM::BLX_pred:
case ARM::BL_pred:
case ARM::BXJ: {
switch (OpNum) {
case 1:
return 28;
case 0:
return 0;
}
break;
}
case ARM::HINT: {
switch (OpNum) {
case 1:
return 28;
case 0:
return 0;
}
break;
}
case ARM::DBG:
case ARM::SMC: {
switch (OpNum) {
case 1:
return 28;
case 0:
return 0;
}
break;
}
case ARM::SVC: {
switch (OpNum) {
case 1:
return 28;
case 0:
return 0;
}
break;
}
case ARM::Bcc: {
switch (OpNum) {
case 1:
return 28;
case 0:
return 0;
}
break;
}
case ARM::LDMDA:
case ARM::LDMDB:
case ARM::LDMIA:
case ARM::LDMIB:
case ARM::STMDA:
case ARM::STMDB:
case ARM::STMIA:
case ARM::STMIB:
case ARM::sysLDMDA:
case ARM::sysLDMDB:
case ARM::sysLDMIA:
case ARM::sysLDMIB:
case ARM::sysSTMDA:
case ARM::sysSTMDB:
case ARM::sysSTMIA:
case ARM::sysSTMIB: {
switch (OpNum) {
case 1:
return 28;
case 3:
return 0;
case 0:
return 16;
}
break;
}
case ARM::tBcc: {
switch (OpNum) {
case 1:
return 8;
case 0:
return 0;
}
break;
}
case ARM::tCBNZ:
case ARM::tCBZ: {
switch (OpNum) {
case 1:
return 3;
case 0:
return 0;
}
break;
}
case ARM::MVE_VCADDf16:
case ARM::MVE_VCADDf32: {
switch (OpNum) {
case 2:
return 1;
case 0:
return 13;
case 1:
return 7;
case 3:
return 24;
}
break;
}
case ARM::MVE_VABDf16:
case ARM::MVE_VABDf32:
case ARM::MVE_VADDf16:
case ARM::MVE_VADDf32:
case ARM::MVE_VMULf16:
case ARM::MVE_VMULf32:
case ARM::MVE_VSUBf16:
case ARM::MVE_VSUBf32: {
switch (OpNum) {
case 2:
return 1;
case 0:
return 13;
case 1:
return 7;
}
break;
}
case ARM::MVE_VADDVs8acc:
case ARM::MVE_VADDVs16acc:
case ARM::MVE_VADDVs32acc:
case ARM::MVE_VADDVu8acc:
case ARM::MVE_VADDVu16acc:
case ARM::MVE_VADDVu32acc: {
switch (OpNum) {
case 2:
return 1;
case 0:
return 13;
}
break;
}
case ARM::MVE_VMAXAVs8:
case ARM::MVE_VMAXAVs16:
case ARM::MVE_VMAXAVs32:
case ARM::MVE_VMAXNMAVf16:
case ARM::MVE_VMAXNMAVf32:
case ARM::MVE_VMAXNMVf16:
case ARM::MVE_VMAXNMVf32:
case ARM::MVE_VMAXVs8:
case ARM::MVE_VMAXVs16:
case ARM::MVE_VMAXVs32:
case ARM::MVE_VMAXVu8:
case ARM::MVE_VMAXVu16:
case ARM::MVE_VMAXVu32:
case ARM::MVE_VMINAVs8:
case ARM::MVE_VMINAVs16:
case ARM::MVE_VMINAVs32:
case ARM::MVE_VMINNMAVf16:
case ARM::MVE_VMINNMAVf32:
case ARM::MVE_VMINNMVf16:
case ARM::MVE_VMINNMVf32:
case ARM::MVE_VMINVs8:
case ARM::MVE_VMINVs16:
case ARM::MVE_VMINVs32:
case ARM::MVE_VMINVu8:
case ARM::MVE_VMINVu16:
case ARM::MVE_VMINVu32: {
switch (OpNum) {
case 2:
return 1;
case 0:
return 12;
}
break;
}
case ARM::MVE_VADDLVs32no_acc:
case ARM::MVE_VADDLVu32no_acc: {
switch (OpNum) {
case 2:
return 1;
case 0:
return 13;
case 1:
return 20;
}
break;
}
case ARM::t2AUTG:
case ARM::t2BXAUT: {
switch (OpNum) {
case 2:
return 12;
case 3:
return 16;
case 4:
return 0;
}
break;
}
case ARM::tADDspr: {
switch (OpNum) {
case 2:
return 3;
}
break;
}
case ARM::MVE_VMOV_q_rr: {
switch (OpNum) {
case 2:
return 0;
case 3:
return 16;
case 0:
return 13;
case 5:
return 4;
}
break;
}
case ARM::MCR2:
case ARM::t2MCR:
case ARM::t2MCR2: {
switch (OpNum) {
case 2:
return 12;
case 0:
return 8;
case 1:
return 21;
case 5:
return 5;
case 4:
return 0;
case 3:
return 16;
}
break;
}
case ARM::MCRR2:
case ARM::t2MCRR:
case ARM::t2MCRR2: {
switch (OpNum) {
case 2:
return 12;
case 3:
return 16;
case 0:
return 8;
case 1:
return 4;
case 4:
return 0;
}
break;
}
case ARM::VST1LNd8: {
switch (OpNum) {
case 2:
return 12;
case 0:
return 16;
case 3:
return 5;
}
break;
}
case ARM::VST3LNd8: {
switch (OpNum) {
case 2:
return 12;
case 0:
return 16;
case 5:
return 5;
}
break;
}
case ARM::VST3LNd16:
case ARM::VST3LNq16: {
switch (OpNum) {
case 2:
return 12;
case 0:
return 16;
case 5:
return 6;
}
break;
}
case ARM::VST3LNd32:
case ARM::VST3LNq32: {
switch (OpNum) {
case 2:
return 12;
case 0:
return 16;
case 5:
return 7;
}
break;
}
case ARM::VST1LNd16: {
switch (OpNum) {
case 2:
return 12;
case 0:
return 4;
case 3:
return 6;
}
break;
}
case ARM::VST1LNd32: {
switch (OpNum) {
case 2:
return 12;
case 0:
return 4;
case 3:
return 7;
}
break;
}
case ARM::VST2LNd8: {
switch (OpNum) {
case 2:
return 12;
case 0:
return 4;
case 4:
return 5;
}
break;
}
case ARM::VST2LNd16:
case ARM::VST2LNq16: {
switch (OpNum) {
case 2:
return 12;
case 0:
return 4;
case 4:
return 6;
}
break;
}
case ARM::VST2LNd32:
case ARM::VST2LNq32: {
switch (OpNum) {
case 2:
return 12;
case 0:
return 4;
case 4:
return 7;
}
break;
}
case ARM::VST4LNd8: {
switch (OpNum) {
case 2:
return 12;
case 0:
return 4;
case 6:
return 5;
}
break;
}
case ARM::VST4LNd16:
case ARM::VST4LNq16: {
switch (OpNum) {
case 2:
return 12;
case 0:
return 4;
case 6:
return 6;
}
break;
}
case ARM::VST4LNd32:
case ARM::VST4LNq32: {
switch (OpNum) {
case 2:
return 12;
case 0:
return 4;
case 6:
return 7;
}
break;
}
case ARM::VST1d8:
case ARM::VST1d8Q:
case ARM::VST1d8T:
case ARM::VST1d16:
case ARM::VST1d16Q:
case ARM::VST1d16T:
case ARM::VST1d32:
case ARM::VST1d32Q:
case ARM::VST1d32T:
case ARM::VST1d64:
case ARM::VST1d64Q:
case ARM::VST1d64T:
case ARM::VST1q8:
case ARM::VST1q16:
case ARM::VST1q32:
case ARM::VST1q64:
case ARM::VST2b8:
case ARM::VST2b16:
case ARM::VST2b32:
case ARM::VST2d8:
case ARM::VST2d16:
case ARM::VST2d32:
case ARM::VST2q8:
case ARM::VST2q16:
case ARM::VST2q32:
case ARM::VST3d8:
case ARM::VST3d16:
case ARM::VST3d32:
case ARM::VST3q8:
case ARM::VST3q16:
case ARM::VST3q32:
case ARM::VST4d8:
case ARM::VST4d16:
case ARM::VST4d32:
case ARM::VST4q8:
case ARM::VST4q16:
case ARM::VST4q32: {
switch (OpNum) {
case 2:
return 12;
case 0:
return 4;
}
break;
}
case ARM::LDC2L_OFFSET:
case ARM::LDC2L_PRE:
case ARM::LDC2_OFFSET:
case ARM::LDC2_PRE:
case ARM::STC2L_OFFSET:
case ARM::STC2L_PRE:
case ARM::STC2_OFFSET:
case ARM::STC2_PRE:
case ARM::t2LDC2L_OFFSET:
case ARM::t2LDC2L_PRE:
case ARM::t2LDC2_OFFSET:
case ARM::t2LDC2_PRE:
case ARM::t2LDCL_OFFSET:
case ARM::t2LDCL_PRE:
case ARM::t2LDC_OFFSET:
case ARM::t2LDC_PRE:
case ARM::t2STC2L_OFFSET:
case ARM::t2STC2L_PRE:
case ARM::t2STC2_OFFSET:
case ARM::t2STC2_PRE:
case ARM::t2STCL_OFFSET:
case ARM::t2STCL_PRE:
case ARM::t2STC_OFFSET:
case ARM::t2STC_PRE: {
switch (OpNum) {
case 2:
return 0;
case 0:
return 8;
case 1:
return 12;
}
break;
}
case ARM::t2LDAEXD:
case ARM::t2LDREXD: {
switch (OpNum) {
case 2:
return 16;
case 0:
return 12;
case 1:
return 8;
}
break;
}
case ARM::tBL: {
switch (OpNum) {
case 2:
return 0;
}
break;
}
case ARM::tBLXi: {
switch (OpNum) {
case 2:
return 1;
}
break;
}
case ARM::tBLXNSr:
case ARM::tBLXr: {
switch (OpNum) {
case 2:
return 3;
}
break;
}
case ARM::MVE_VBICimmi16:
case ARM::MVE_VBICimmi32:
case ARM::MVE_VORRimmi16:
case ARM::MVE_VORRimmi32: {
switch (OpNum) {
case 2:
return 0;
case 0:
return 13;
}
break;
}
case ARM::t2ADDspImm12:
case ARM::t2SUBspImm12:
case ARM::tADDspi:
case ARM::tSUBspi: {
switch (OpNum) {
case 2:
return 0;
}
break;
}
case ARM::MVE_LETP:
case ARM::t2LEUpdate: {
switch (OpNum) {
case 2:
return 1;
}
break;
}
case ARM::VABSD:
case ARM::VCMPD:
case ARM::VCMPED:
case ARM::VMOVD:
case ARM::VNEGD:
case ARM::VRINTRD:
case ARM::VRINTXD:
case ARM::VRINTZD:
case ARM::VSQRTD: {
switch (OpNum) {
case 2:
return 28;
case 0:
return 12;
case 1:
return 0;
}
break;
}
case ARM::VCVTBHD:
case ARM::VCVTTHD:
case ARM::VSITOD:
case ARM::VUITOD: {
switch (OpNum) {
case 2:
return 28;
case 0:
return 12;
case 1:
return 0;
}
break;
}
case ARM::FCONSTD: {
switch (OpNum) {
case 2:
return 28;
case 0:
return 12;
case 1:
return 0;
}
break;
}
case ARM::CLZ:
case ARM::RBIT:
case ARM::REV:
case ARM::REV16:
case ARM::REVSH: {
switch (OpNum) {
case 2:
return 28;
case 0:
return 12;
case 1:
return 0;
}
break;
}
case ARM::MOVi16: {
switch (OpNum) {
case 2:
return 28;
case 0:
return 12;
case 1:
return 0;
}
break;
}
case ARM::ADR: {
switch (OpNum) {
case 2:
return 28;
case 0:
return 12;
case 1:
return 0;
}
break;
}
case ARM::CMNzrr:
case ARM::CMPrr:
case ARM::TEQrr:
case ARM::TSTrr: {
switch (OpNum) {
case 2:
return 28;
case 0:
return 16;
case 1:
return 0;
}
break;
}
case ARM::CMNri:
case ARM::CMPri:
case ARM::TEQri:
case ARM::TSTri: {
switch (OpNum) {
case 2:
return 28;
case 0:
return 16;
case 1:
return 0;
}
break;
}
case ARM::STL:
case ARM::STLB:
case ARM::STLH: {
switch (OpNum) {
case 2:
return 28;
case 0:
return 0;
case 1:
return 16;
}
break;
}
case ARM::VMOVRH:
case ARM::VMOVRS: {
switch (OpNum) {
case 2:
return 28;
case 0:
return 12;
case 1:
return 7;
}
break;
}
case ARM::LDA:
case ARM::LDAB:
case ARM::LDAEX:
case ARM::LDAEXB:
case ARM::LDAEXD:
case ARM::LDAEXH:
case ARM::LDAH:
case ARM::LDREX:
case ARM::LDREXB:
case ARM::LDREXD:
case ARM::LDREXH: {
switch (OpNum) {
case 2:
return 28;
case 0:
return 12;
case 1:
return 16;
}
break;
}
case ARM::VMRS_FPSCR_NZCVQC:
case ARM::VMRS_P0: {
switch (OpNum) {
case 2:
return 28;
case 0:
return 12;
}
break;
}
case ARM::VCVTSD:
case ARM::VJCVT:
case ARM::VTOSIRD:
case ARM::VTOSIZD:
case ARM::VTOUIRD:
case ARM::VTOUIZD: {
switch (OpNum) {
case 2:
return 28;
case 0:
return 12;
case 1:
return 0;
}
break;
}
case ARM::VABSH:
case ARM::VABSS:
case ARM::VCMPEH:
case ARM::VCMPES:
case ARM::VCMPH:
case ARM::VCMPS:
case ARM::VCVTBHS:
case ARM::VCVTTHS:
case ARM::VMOVS:
case ARM::VNEGH:
case ARM::VNEGS:
case ARM::VRINTRH:
case ARM::VRINTRS:
case ARM::VRINTXH:
case ARM::VRINTXS:
case ARM::VRINTZH:
case ARM::VRINTZS:
case ARM::VSITOH:
case ARM::VSITOS:
case ARM::VSQRTH:
case ARM::VSQRTS:
case ARM::VTOSIRH:
case ARM::VTOSIRS:
case ARM::VTOSIZH:
case ARM::VTOSIZS:
case ARM::VTOUIRH:
case ARM::VTOUIRS:
case ARM::VTOUIZH:
case ARM::VTOUIZS:
case ARM::VUITOH:
case ARM::VUITOS: {
switch (OpNum) {
case 2:
return 28;
case 0:
return 12;
case 1:
return 0;
}
break;
}
case ARM::FCONSTH:
case ARM::FCONSTS: {
switch (OpNum) {
case 2:
return 28;
case 0:
return 12;
case 1:
return 0;
}
break;
}
case ARM::VMOVHR:
case ARM::VMOVSR: {
switch (OpNum) {
case 2:
return 28;
case 0:
return 7;
case 1:
return 12;
}
break;
}
case ARM::VLDR_FPCXTNS_off:
case ARM::VLDR_FPCXTS_off:
case ARM::VLDR_FPSCR_NZCVQC_off:
case ARM::VLDR_FPSCR_off:
case ARM::VLDR_VPR_off:
case ARM::VSTR_FPCXTNS_off:
case ARM::VSTR_FPCXTS_off:
case ARM::VSTR_FPSCR_NZCVQC_off:
case ARM::VSTR_FPSCR_off:
case ARM::VSTR_VPR_off: {
switch (OpNum) {
case 2:
return 28;
case 0:
return 0;
}
break;
}
case ARM::MSRbanked: {
switch (OpNum) {
case 2:
return 28;
case 0:
return 8;
case 1:
return 0;
}
break;
}
case ARM::MSR: {
switch (OpNum) {
case 2:
return 28;
case 0:
return 16;
case 1:
return 0;
}
break;
}
case ARM::MSRi: {
switch (OpNum) {
case 2:
return 28;
case 0:
return 16;
case 1:
return 0;
}
break;
}
case ARM::VLDMSDB_UPD:
case ARM::VLDMSIA_UPD:
case ARM::VSTMSDB_UPD:
case ARM::VSTMSIA_UPD: {
switch (OpNum) {
case 2:
return 28;
case 1:
return 16;
case 4:
return 0;
}
break;
}
case ARM::FLDMXDB_UPD:
case ARM::FLDMXIA_UPD:
case ARM::FSTMXDB_UPD:
case ARM::FSTMXIA_UPD:
case ARM::VLDMDDB_UPD:
case ARM::VLDMDIA_UPD:
case ARM::VSTMDDB_UPD:
case ARM::VSTMDIA_UPD: {
switch (OpNum) {
case 2:
return 28;
case 1:
return 16;
case 4:
return 1;
}
break;
}
case ARM::VMSR_FPSCR_NZCVQC:
case ARM::VMSR_P0: {
switch (OpNum) {
case 2:
return 28;
case 1:
return 12;
}
break;
}
case ARM::VCVTDS: {
switch (OpNum) {
case 2:
return 28;
case 1:
return 0;
case 0:
return 12;
}
break;
}
case ARM::MRSbanked: {
switch (OpNum) {
case 2:
return 28;
case 1:
return 8;
case 0:
return 12;
}
break;
}
case ARM::LDMDA_UPD:
case ARM::LDMDB_UPD:
case ARM::LDMIA_UPD:
case ARM::LDMIB_UPD:
case ARM::STMDA_UPD:
case ARM::STMDB_UPD:
case ARM::STMIA_UPD:
case ARM::STMIB_UPD:
case ARM::sysLDMDA_UPD:
case ARM::sysLDMDB_UPD:
case ARM::sysLDMIA_UPD:
case ARM::sysLDMIB_UPD:
case ARM::sysSTMDA_UPD:
case ARM::sysSTMDB_UPD:
case ARM::sysSTMIA_UPD:
case ARM::sysSTMIB_UPD: {
switch (OpNum) {
case 2:
return 28;
case 4:
return 0;
case 1:
return 16;
}
break;
}
case ARM::MOVr:
case ARM::MOVr_TC:
case ARM::MVNr: {
switch (OpNum) {
case 2:
return 28;
case 4:
return 20;
case 0:
return 12;
case 1:
return 0;
}
break;
}
case ARM::MOVi:
case ARM::MVNi: {
switch (OpNum) {
case 2:
return 28;
case 4:
return 20;
case 0:
return 12;
case 1:
return 0;
}
break;
}
case ARM::VSCCLRMS:
case ARM::t2CLRM:
case ARM::tPOP:
case ARM::tPUSH: {
switch (OpNum) {
case 2:
return 0;
}
break;
}
case ARM::VSCCLRMD: {
switch (OpNum) {
case 2:
return 1;
}
break;
}
case ARM::MVE_VCMLAf16:
case ARM::MVE_VCMLAf32: {
switch (OpNum) {
case 3:
return 1;
case 0:
return 13;
case 2:
return 7;
case 4:
return 23;
}
break;
}
case ARM::MVE_VFMAf16:
case ARM::MVE_VFMAf32:
case ARM::MVE_VFMSf16:
case ARM::MVE_VFMSf32: {
switch (OpNum) {
case 3:
return 1;
case 0:
return 13;
case 2:
return 7;
}
break;
}
case ARM::MVE_VABAVs8:
case ARM::MVE_VABAVs16:
case ARM::MVE_VABAVs32:
case ARM::MVE_VABAVu8:
case ARM::MVE_VABAVu16:
case ARM::MVE_VABAVu32: {
switch (OpNum) {
case 3:
return 1;
case 2:
return 7;
case 0:
return 12;
}
break;
}
case ARM::tADDrr:
case ARM::tSUBrr: {
switch (OpNum) {
case 3:
return 6;
case 2:
return 3;
case 0:
return 0;
}
break;
}
case ARM::VST1d8Qwb_fixed:
case ARM::VST1d8Twb_fixed:
case ARM::VST1d8wb_fixed:
case ARM::VST1d16Qwb_fixed:
case ARM::VST1d16Twb_fixed:
case ARM::VST1d16wb_fixed:
case ARM::VST1d32Qwb_fixed:
case ARM::VST1d32Twb_fixed:
case ARM::VST1d32wb_fixed:
case ARM::VST1d64Qwb_fixed:
case ARM::VST1d64Twb_fixed:
case ARM::VST1d64wb_fixed:
case ARM::VST1q8wb_fixed:
case ARM::VST1q16wb_fixed:
case ARM::VST1q32wb_fixed:
case ARM::VST1q64wb_fixed:
case ARM::VST2b8wb_fixed:
case ARM::VST2b16wb_fixed:
case ARM::VST2b32wb_fixed:
case ARM::VST2d8wb_fixed:
case ARM::VST2d16wb_fixed:
case ARM::VST2d32wb_fixed:
case ARM::VST2q8wb_fixed:
case ARM::VST2q16wb_fixed:
case ARM::VST2q32wb_fixed: {
switch (OpNum) {
case 3:
return 12;
case 1:
return 4;
}
break;
}
case ARM::t2BFic: {
switch (OpNum) {
case 3:
return 18;
case 1:
return 1;
case 2:
return 17;
case 0:
return 23;
}
break;
}
case ARM::MVE_VPTv4f32:
case ARM::MVE_VPTv4s32:
case ARM::MVE_VPTv8f16:
case ARM::MVE_VPTv8s16:
case ARM::MVE_VPTv16s8: {
switch (OpNum) {
case 3:
return 0;
case 0:
return 13;
case 1:
return 17;
case 2:
return 1;
}
break;
}
case ARM::MVE_VCMPf16:
case ARM::MVE_VCMPf32:
case ARM::MVE_VCMPs8:
case ARM::MVE_VCMPs16:
case ARM::MVE_VCMPs32: {
switch (OpNum) {
case 3:
return 0;
case 1:
return 17;
case 2:
return 1;
}
break;
}
case ARM::MVE_VPTv4f32r:
case ARM::MVE_VPTv4s32r:
case ARM::MVE_VPTv8f16r:
case ARM::MVE_VPTv8s16r:
case ARM::MVE_VPTv16s8r: {
switch (OpNum) {
case 3:
return 5;
case 0:
return 13;
case 1:
return 17;
case 2:
return 0;
}
break;
}
case ARM::MVE_VCMPf16r:
case ARM::MVE_VCMPf32r:
case ARM::MVE_VCMPs8r:
case ARM::MVE_VCMPs16r:
case ARM::MVE_VCMPs32r: {
switch (OpNum) {
case 3:
return 5;
case 1:
return 17;
case 2:
return 0;
}
break;
}
case ARM::MVE_VPTv4i32:
case ARM::MVE_VPTv4u32:
case ARM::MVE_VPTv8i16:
case ARM::MVE_VPTv8u16:
case ARM::MVE_VPTv16i8:
case ARM::MVE_VPTv16u8: {
switch (OpNum) {
case 3:
return 7;
case 0:
return 13;
case 1:
return 17;
case 2:
return 1;
}
break;
}
case ARM::MVE_VPTv4i32r:
case ARM::MVE_VPTv4u32r:
case ARM::MVE_VPTv8i16r:
case ARM::MVE_VPTv8u16r:
case ARM::MVE_VPTv16i8r:
case ARM::MVE_VPTv16u8r: {
switch (OpNum) {
case 3:
return 7;
case 0:
return 13;
case 1:
return 17;
case 2:
return 0;
}
break;
}
case ARM::MVE_VCMPi8:
case ARM::MVE_VCMPi16:
case ARM::MVE_VCMPi32:
case ARM::MVE_VCMPu8:
case ARM::MVE_VCMPu16:
case ARM::MVE_VCMPu32: {
switch (OpNum) {
case 3:
return 7;
case 1:
return 17;
case 2:
return 1;
}
break;
}
case ARM::MVE_VCMPi8r:
case ARM::MVE_VCMPi16r:
case ARM::MVE_VCMPi32r:
case ARM::MVE_VCMPu8r:
case ARM::MVE_VCMPu16r:
case ARM::MVE_VCMPu32r: {
switch (OpNum) {
case 3:
return 7;
case 1:
return 17;
case 2:
return 0;
}
break;
}
case ARM::LDC2L_POST:
case ARM::LDC2_POST:
case ARM::STC2L_POST:
case ARM::STC2_POST:
case ARM::t2LDC2L_POST:
case ARM::t2LDC2_POST:
case ARM::t2LDCL_POST:
case ARM::t2LDC_POST:
case ARM::t2STC2L_POST:
case ARM::t2STC2_POST:
case ARM::t2STCL_POST:
case ARM::t2STC_POST: {
switch (OpNum) {
case 3:
return 0;
case 2:
return 16;
case 0:
return 8;
case 1:
return 12;
}
break;
}
case ARM::LDC2L_OPTION:
case ARM::LDC2_OPTION:
case ARM::STC2L_OPTION:
case ARM::STC2_OPTION:
case ARM::t2LDC2L_OPTION:
case ARM::t2LDC2_OPTION:
case ARM::t2LDCL_OPTION:
case ARM::t2LDC_OPTION:
case ARM::t2STC2L_OPTION:
case ARM::t2STC2_OPTION:
case ARM::t2STCL_OPTION:
case ARM::t2STC_OPTION: {
switch (OpNum) {
case 3:
return 0;
case 2:
return 16;
case 0:
return 8;
case 1:
return 12;
}
break;
}
case ARM::VADDD:
case ARM::VDIVD:
case ARM::VMULD:
case ARM::VNMULD:
case ARM::VSUBD: {
switch (OpNum) {
case 3:
return 28;
case 0:
return 12;
case 1:
return 7;
case 2:
return 0;
}
break;
}
case ARM::VLDRD:
case ARM::VSTRD: {
switch (OpNum) {
case 3:
return 28;
case 0:
return 12;
case 1:
return 0;
}
break;
}
case ARM::VMOVDRR: {
switch (OpNum) {
case 3:
return 28;
case 0:
return 0;
case 1:
return 12;
case 2:
return 16;
}
break;
}
case ARM::SXTB:
case ARM::SXTB16:
case ARM::SXTH:
case ARM::UXTB:
case ARM::UXTB16:
case ARM::UXTH: {
switch (OpNum) {
case 3:
return 28;
case 0:
return 12;
case 1:
return 0;
case 2:
return 10;
}
break;
}
case ARM::SEL: {
switch (OpNum) {
case 3:
return 28;
case 0:
return 12;
case 1:
return 16;
case 2:
return 0;
}
break;
}
case ARM::SSAT16:
case ARM::USAT16: {
switch (OpNum) {
case 3:
return 28;
case 0:
return 12;
case 1:
return 16;
case 2:
return 0;
}
break;
}
case ARM::MOVTi16: {
switch (OpNum) {
case 3:
return 28;
case 0:
return 12;
case 2:
return 0;
}
break;
}
case ARM::BFC: {
switch (OpNum) {
case 3:
return 28;
case 0:
return 12;
case 2:
return 7;
}
break;
}
case ARM::SDIV:
case ARM::SMMUL:
case ARM::SMMULR:
case ARM::UDIV:
case ARM::USAD8: {
switch (OpNum) {
case 3:
return 28;
case 0:
return 16;
case 1:
return 0;
case 2:
return 8;
}
break;
}
case ARM::CMNzrsi:
case ARM::CMPrsi:
case ARM::TEQrsi:
case ARM::TSTrsi: {
switch (OpNum) {
case 3:
return 28;
case 0:
return 16;
case 1:
return 0;
}
break;
}
case ARM::SWP:
case ARM::SWPB: {
switch (OpNum) {
case 3:
return 28;
case 0:
return 12;
case 1:
return 0;
case 2:
return 16;
}
break;
}
case ARM::LDRBi12:
case ARM::LDRcp:
case ARM::LDRi12:
case ARM::STRBi12:
case ARM::STRi12: {
switch (OpNum) {
case 3:
return 28;
case 0:
return 12;
case 1:
return 0;
}
break;
}
case ARM::VADDH:
case ARM::VADDS:
case ARM::VDIVH:
case ARM::VDIVS:
case ARM::VMULH:
case ARM::VMULS:
case ARM::VNMULH:
case ARM::VNMULS:
case ARM::VSUBH:
case ARM::VSUBS: {
switch (OpNum) {
case 3:
return 28;
case 0:
return 12;
case 1:
return 7;
case 2:
return 0;
}
break;
}
case ARM::VLDRH:
case ARM::VLDRS:
case ARM::VSTRH:
case ARM::VSTRS: {
switch (OpNum) {
case 3:
return 28;
case 0:
return 12;
case 1:
return 0;
}
break;
}
case ARM::BF16_VCVTB:
case ARM::BF16_VCVTT:
case ARM::VCVTBSH:
case ARM::VCVTTSH: {
switch (OpNum) {
case 3:
return 28;
case 0:
return 12;
case 2:
return 0;
}
break;
}
case ARM::SMUAD:
case ARM::SMUADX:
case ARM::SMULBB:
case ARM::SMULBT:
case ARM::SMULTB:
case ARM::SMULTT:
case ARM::SMULWB:
case ARM::SMULWT:
case ARM::SMUSD:
case ARM::SMUSDX: {
switch (OpNum) {
case 3:
return 28;
case 1:
return 0;
case 2:
return 8;
case 0:
return 16;
}
break;
}
case ARM::QADD8:
case ARM::QADD16:
case ARM::QASX:
case ARM::QSAX:
case ARM::QSUB8:
case ARM::QSUB16:
case ARM::SADD8:
case ARM::SADD16:
case ARM::SASX:
case ARM::SHADD8:
case ARM::SHADD16:
case ARM::SHASX:
case ARM::SHSAX:
case ARM::SHSUB8:
case ARM::SHSUB16:
case ARM::SSAX:
case ARM::SSUB8:
case ARM::SSUB16:
case ARM::UADD8:
case ARM::UADD16:
case ARM::UASX:
case ARM::UHADD8:
case ARM::UHADD16:
case ARM::UHASX:
case ARM::UHSAX:
case ARM::UHSUB8:
case ARM::UHSUB16:
case ARM::UQADD8:
case ARM::UQADD16:
case ARM::UQASX:
case ARM::UQSAX:
case ARM::UQSUB8:
case ARM::UQSUB16:
case ARM::USAX:
case ARM::USUB8:
case ARM::USUB16: {
switch (OpNum) {
case 3:
return 28;
case 1:
return 16;
case 0:
return 12;
case 2:
return 0;
}
break;
}
case ARM::STLEX:
case ARM::STLEXB:
case ARM::STLEXD:
case ARM::STLEXH:
case ARM::STREX:
case ARM::STREXB:
case ARM::STREXD:
case ARM::STREXH: {
switch (OpNum) {
case 3:
return 28;
case 1:
return 0;
case 2:
return 16;
case 0:
return 12;
}
break;
}
case ARM::VLDR_FPCXTNS_pre:
case ARM::VLDR_FPCXTS_pre:
case ARM::VLDR_FPSCR_NZCVQC_pre:
case ARM::VLDR_FPSCR_pre:
case ARM::VLDR_P0_off:
case ARM::VLDR_VPR_pre:
case ARM::VSTR_FPCXTNS_pre:
case ARM::VSTR_FPCXTS_pre:
case ARM::VSTR_FPSCR_NZCVQC_pre:
case ARM::VSTR_FPSCR_pre:
case ARM::VSTR_P0_off:
case ARM::VSTR_VPR_pre: {
switch (OpNum) {
case 3:
return 28;
case 1:
return 0;
}
break;
}
case ARM::VMOVRRD: {
switch (OpNum) {
case 3:
return 28;
case 2:
return 0;
case 0:
return 12;
case 1:
return 16;
}
break;
}
case ARM::VCVTBDH:
case ARM::VCVTTDH: {
switch (OpNum) {
case 3:
return 28;
case 2:
return 0;
case 0:
return 12;
}
break;
}
case ARM::QADD:
case ARM::QDADD:
case ARM::QDSUB:
case ARM::QSUB: {
switch (OpNum) {
case 3:
return 28;
case 2:
return 16;
case 0:
return 12;
case 1:
return 0;
}
break;
}
case ARM::VLDR_FPCXTNS_post:
case ARM::VLDR_FPCXTS_post:
case ARM::VLDR_FPSCR_NZCVQC_post:
case ARM::VLDR_FPSCR_post:
case ARM::VLDR_VPR_post:
case ARM::VSTR_FPCXTNS_post:
case ARM::VSTR_FPCXTS_post:
case ARM::VSTR_FPSCR_NZCVQC_post:
case ARM::VSTR_FPSCR_post:
case ARM::VSTR_VPR_post: {
switch (OpNum) {
case 3:
return 28;
case 2:
return 0;
case 1:
return 16;
}
break;
}
case ARM::VSHTOD:
case ARM::VSHTOH:
case ARM::VSHTOS:
case ARM::VSLTOD:
case ARM::VSLTOH:
case ARM::VSLTOS:
case ARM::VTOSHD:
case ARM::VTOSHH:
case ARM::VTOSHS:
case ARM::VTOSLD:
case ARM::VTOSLH:
case ARM::VTOSLS:
case ARM::VTOUHD:
case ARM::VTOUHH:
case ARM::VTOUHS:
case ARM::VTOULD:
case ARM::VTOULH:
case ARM::VTOULS:
case ARM::VUHTOD:
case ARM::VUHTOH:
case ARM::VUHTOS:
case ARM::VULTOD:
case ARM::VULTOH:
case ARM::VULTOS: {
switch (OpNum) {
case 3:
return 28;
case 2:
return 0;
case 0:
return 12;
}
break;
}
case ARM::ADCrr:
case ARM::ADDrr:
case ARM::ANDrr:
case ARM::BICrr:
case ARM::EORrr:
case ARM::ORRrr:
case ARM::RSBrr:
case ARM::RSCrr:
case ARM::SBCrr:
case ARM::SUBrr: {
switch (OpNum) {
case 3:
return 28;
case 5:
return 20;
case 0:
return 12;
case 1:
return 16;
case 2:
return 0;
}
break;
}
case ARM::ADCri:
case ARM::ADDri:
case ARM::ANDri:
case ARM::BICri:
case ARM::EORri:
case ARM::ORRri:
case ARM::RSBri:
case ARM::RSCri:
case ARM::SBCri:
case ARM::SUBri: {
switch (OpNum) {
case 3:
return 28;
case 5:
return 20;
case 0:
return 12;
case 1:
return 16;
case 2:
return 0;
}
break;
}
case ARM::MVNsi: {
switch (OpNum) {
case 3:
return 28;
case 5:
return 20;
case 0:
return 12;
case 1:
return 0;
}
break;
}
case ARM::MOVsi: {
switch (OpNum) {
case 3:
return 28;
case 5:
return 20;
case 0:
return 12;
case 1:
return 0;
}
break;
}
case ARM::MUL: {
switch (OpNum) {
case 3:
return 28;
case 5:
return 20;
case 0:
return 16;
case 2:
return 8;
case 1:
return 0;
}
break;
}
case ARM::MVE_VADDLVs32acc:
case ARM::MVE_VADDLVu32acc: {
switch (OpNum) {
case 4:
return 1;
case 0:
return 13;
case 1:
return 20;
}
break;
}
case ARM::VST1LNd8_UPD: {
switch (OpNum) {
case 4:
return 12;
case 1:
return 16;
case 3:
return 0;
case 5:
return 5;
}
break;
}
case ARM::VST3LNd8_UPD: {
switch (OpNum) {
case 4:
return 12;
case 1:
return 16;
case 3:
return 0;
case 7:
return 5;
}
break;
}
case ARM::VST3LNd16_UPD:
case ARM::VST3LNq16_UPD: {
switch (OpNum) {
case 4:
return 12;
case 1:
return 16;
case 3:
return 0;
case 7:
return 6;
}
break;
}
case ARM::VST3LNd32_UPD:
case ARM::VST3LNq32_UPD: {
switch (OpNum) {
case 4:
return 12;
case 1:
return 16;
case 3:
return 0;
case 7:
return 7;
}
break;
}
case ARM::VST1LNd16_UPD: {
switch (OpNum) {
case 4:
return 12;
case 1:
return 4;
case 3:
return 0;
case 5:
return 6;
}
break;
}
case ARM::VST1LNd32_UPD: {
switch (OpNum) {
case 4:
return 12;
case 1:
return 4;
case 3:
return 0;
case 5:
return 7;
}
break;
}
case ARM::VST2LNd8_UPD: {
switch (OpNum) {
case 4:
return 12;
case 1:
return 4;
case 3:
return 0;
case 6:
return 5;
}
break;
}
case ARM::VST2LNd16_UPD:
case ARM::VST2LNq16_UPD: {
switch (OpNum) {
case 4:
return 12;
case 1:
return 4;
case 3:
return 0;
case 6:
return 6;
}
break;
}
case ARM::VST2LNd32_UPD:
case ARM::VST2LNq32_UPD: {
switch (OpNum) {
case 4:
return 12;
case 1:
return 4;
case 3:
return 0;
case 6:
return 7;
}
break;
}
case ARM::VST4LNd8_UPD: {
switch (OpNum) {
case 4:
return 12;
case 1:
return 4;
case 3:
return 0;
case 8:
return 5;
}
break;
}
case ARM::VST4LNd16_UPD:
case ARM::VST4LNq16_UPD: {
switch (OpNum) {
case 4:
return 12;
case 1:
return 4;
case 3:
return 0;
case 8:
return 6;
}
break;
}
case ARM::VST4LNd32_UPD:
case ARM::VST4LNq32_UPD: {
switch (OpNum) {
case 4:
return 12;
case 1:
return 4;
case 3:
return 0;
case 8:
return 7;
}
break;
}
case ARM::VST1d8Qwb_register:
case ARM::VST1d8Twb_register:
case ARM::VST1d8wb_register:
case ARM::VST1d16Qwb_register:
case ARM::VST1d16Twb_register:
case ARM::VST1d16wb_register:
case ARM::VST1d32Qwb_register:
case ARM::VST1d32Twb_register:
case ARM::VST1d32wb_register:
case ARM::VST1d64Qwb_register:
case ARM::VST1d64Twb_register:
case ARM::VST1d64wb_register:
case ARM::VST1q8wb_register:
case ARM::VST1q16wb_register:
case ARM::VST1q32wb_register:
case ARM::VST1q64wb_register:
case ARM::VST2b8wb_register:
case ARM::VST2b16wb_register:
case ARM::VST2b32wb_register:
case ARM::VST2d8wb_register:
case ARM::VST2d16wb_register:
case ARM::VST2d32wb_register:
case ARM::VST2q8wb_register:
case ARM::VST2q16wb_register:
case ARM::VST2q32wb_register:
case ARM::VST3d8_UPD:
case ARM::VST3d16_UPD:
case ARM::VST3d32_UPD:
case ARM::VST3q8_UPD:
case ARM::VST3q16_UPD:
case ARM::VST3q32_UPD:
case ARM::VST4d8_UPD:
case ARM::VST4d16_UPD:
case ARM::VST4d32_UPD:
case ARM::VST4q8_UPD:
case ARM::VST4q16_UPD:
case ARM::VST4q32_UPD: {
switch (OpNum) {
case 4:
return 12;
case 1:
return 4;
case 3:
return 0;
}
break;
}
case ARM::MVE_VSHLC: {
switch (OpNum) {
case 4:
return 16;
case 1:
return 13;
case 0:
return 0;
}
break;
}
case ARM::VFMAD:
case ARM::VFMSD:
case ARM::VFNMAD:
case ARM::VFNMSD:
case ARM::VMLAD:
case ARM::VMLSD:
case ARM::VNMLAD:
case ARM::VNMLSD: {
switch (OpNum) {
case 4:
return 28;
case 0:
return 12;
case 2:
return 7;
case 3:
return 0;
}
break;
}
case ARM::SBFX:
case ARM::UBFX: {
switch (OpNum) {
case 4:
return 28;
case 0:
return 12;
case 1:
return 0;
case 2:
return 7;
case 3:
return 16;
}
break;
}
case ARM::PKHBT:
case ARM::PKHTB: {
switch (OpNum) {
case 4:
return 28;
case 0:
return 12;
case 1:
return 16;
case 2:
return 0;
case 3:
return 7;
}
break;
}
case ARM::SSAT:
case ARM::USAT: {
switch (OpNum) {
case 4:
return 28;
case 0:
return 12;
case 1:
return 16;
case 2:
return 0;
case 3:
return 6;
}
break;
}
case ARM::SXTAB:
case ARM::SXTAB16:
case ARM::SXTAH:
case ARM::UXTAB:
case ARM::UXTAB16:
case ARM::UXTAH: {
switch (OpNum) {
case 4:
return 28;
case 0:
return 12;
case 2:
return 0;
case 1:
return 16;
case 3:
return 10;
}
break;
}
case ARM::BFI: {
switch (OpNum) {
case 4:
return 28;
case 0:
return 12;
case 2:
return 0;
case 3:
return 7;
}
break;
}
case ARM::SMMLA:
case ARM::SMMLAR:
case ARM::SMMLS:
case ARM::SMMLSR:
case ARM::USADA8: {
switch (OpNum) {
case 4:
return 28;
case 0:
return 16;
case 1:
return 0;
case 2:
return 8;
case 3:
return 12;
}
break;
}
case ARM::MLS: {
switch (OpNum) {
case 4:
return 28;
case 0:
return 16;
case 2:
return 8;
case 1:
return 0;
case 3:
return 12;
}
break;
}
case ARM::CMNzrsr:
case ARM::CMPrsr:
case ARM::TEQrsr:
case ARM::TSTrsr: {
switch (OpNum) {
case 4:
return 28;
case 0:
return 16;
case 1:
return 0;
}
break;
}
case ARM::LDRBrs:
case ARM::LDRrs:
case ARM::STRBrs:
case ARM::STRrs: {
switch (OpNum) {
case 4:
return 28;
case 0:
return 12;
case 1:
return 0;
}
break;
}
case ARM::LDRB_PRE_IMM:
case ARM::LDR_PRE_IMM: {
switch (OpNum) {
case 4:
return 28;
case 0:
return 12;
case 2:
return 0;
}
break;
}
case ARM::VFMAH:
case ARM::VFMAS:
case ARM::VFMSH:
case ARM::VFMSS:
case ARM::VFNMAH:
case ARM::VFNMAS:
case ARM::VFNMSH:
case ARM::VFNMSS:
case ARM::VMLAH:
case ARM::VMLAS:
case ARM::VMLSH:
case ARM::VMLSS:
case ARM::VNMLAH:
case ARM::VNMLAS:
case ARM::VNMLSH:
case ARM::VNMLSS: {
switch (OpNum) {
case 4:
return 28;
case 0:
return 12;
case 2:
return 7;
case 3:
return 0;
}
break;
}
case ARM::VMOVSRR: {
switch (OpNum) {
case 4:
return 28;
case 0:
return 0;
case 2:
return 12;
case 3:
return 16;
}
break;
}
case ARM::SMLABB:
case ARM::SMLABT:
case ARM::SMLATB:
case ARM::SMLATT:
case ARM::SMLAWB:
case ARM::SMLAWT: {
switch (OpNum) {
case 4:
return 28;
case 1:
return 0;
case 2:
return 8;
case 0:
return 16;
case 3:
return 12;
}
break;
}
case ARM::SMLAD:
case ARM::SMLADX:
case ARM::SMLSD:
case ARM::SMLSDX: {
switch (OpNum) {
case 4:
return 28;
case 1:
return 0;
case 2:
return 8;
case 3:
return 12;
case 0:
return 16;
}
break;
}
case ARM::STRB_PRE_IMM:
case ARM::STR_PRE_IMM: {
switch (OpNum) {
case 4:
return 28;
case 1:
return 12;
case 2:
return 0;
}
break;
}
case ARM::LDRH:
case ARM::LDRSB:
case ARM::LDRSH:
case ARM::STRH: {
switch (OpNum) {
case 4:
return 28;
case 1:
return 0;
case 0:
return 12;
}
break;
}
case ARM::LDCL_OFFSET:
case ARM::LDCL_PRE:
case ARM::LDC_OFFSET:
case ARM::LDC_PRE:
case ARM::STCL_OFFSET:
case ARM::STCL_PRE:
case ARM::STC_OFFSET:
case ARM::STC_PRE: {
switch (OpNum) {
case 4:
return 28;
case 2:
return 0;
case 0:
return 8;
case 1:
return 12;
}
break;
}
case ARM::VLDR_P0_pre:
case ARM::VSTR_P0_pre: {
switch (OpNum) {
case 4:
return 28;
case 2:
return 0;
}
break;
}
case ARM::LDRHTi:
case ARM::LDRSBTi:
case ARM::LDRSHTi: {
switch (OpNum) {
case 4:
return 28;
case 2:
return 16;
case 0:
return 12;
case 3:
return 0;
}
break;
}
case ARM::STRHTi: {
switch (OpNum) {
case 4:
return 28;
case 2:
return 16;
case 1:
return 12;
case 3:
return 0;
}
break;
}
case ARM::VMOVRRS: {
switch (OpNum) {
case 4:
return 28;
case 2:
return 0;
case 0:
return 12;
case 1:
return 16;
}
break;
}
case ARM::VLDR_P0_post:
case ARM::VSTR_P0_post: {
switch (OpNum) {
case 4:
return 28;
case 3:
return 0;
case 2:
return 16;
}
break;
}
case ARM::LDCL_POST:
case ARM::LDC_POST:
case ARM::STCL_POST:
case ARM::STC_POST: {
switch (OpNum) {
case 4:
return 28;
case 3:
return 0;
case 2:
return 16;
case 0:
return 8;
case 1:
return 12;
}
break;
}
case ARM::LDCL_OPTION:
case ARM::LDC_OPTION:
case ARM::STCL_OPTION:
case ARM::STC_OPTION: {
switch (OpNum) {
case 4:
return 28;
case 3:
return 0;
case 2:
return 16;
case 0:
return 8;
case 1:
return 12;
}
break;
}
case ARM::ADCrsi:
case ARM::ADDrsi:
case ARM::ANDrsi:
case ARM::BICrsi:
case ARM::EORrsi:
case ARM::ORRrsi:
case ARM::RSBrsi:
case ARM::RSCrsi:
case ARM::SBCrsi:
case ARM::SUBrsi: {
switch (OpNum) {
case 4:
return 28;
case 6:
return 20;
case 0:
return 12;
case 1:
return 16;
case 2:
return 0;
}
break;
}
case ARM::MVNsr: {
switch (OpNum) {
case 4:
return 28;
case 6:
return 20;
case 0:
return 12;
case 1:
return 0;
}
break;
}
case ARM::MOVsr: {
switch (OpNum) {
case 4:
return 28;
case 6:
return 20;
case 0:
return 12;
case 1:
return 0;
}
break;
}
case ARM::MLA: {
switch (OpNum) {
case 4:
return 28;
case 6:
return 20;
case 0:
return 16;
case 2:
return 8;
case 1:
return 0;
case 3:
return 12;
}
break;
}
case ARM::SMULL:
case ARM::UMULL: {
switch (OpNum) {
case 4:
return 28;
case 6:
return 20;
case 0:
return 12;
case 1:
return 16;
case 3:
return 8;
case 2:
return 0;
}
break;
}
case ARM::t2MOVr:
case ARM::t2MVNr:
case ARM::t2RRX: {
switch (OpNum) {
case 4:
return 20;
case 0:
return 8;
case 1:
return 0;
}
break;
}
case ARM::t2MOVi:
case ARM::t2MVNi: {
switch (OpNum) {
case 4:
return 20;
case 0:
return 8;
case 1:
return 0;
}
break;
}
case ARM::MRRC: {
switch (OpNum) {
case 5:
return 28;
case 0:
return 12;
case 1:
return 16;
case 2:
return 8;
case 3:
return 4;
case 4:
return 0;
}
break;
}
case ARM::LDRB_PRE_REG:
case ARM::LDRH_PRE:
case ARM::LDRSB_PRE:
case ARM::LDRSH_PRE:
case ARM::LDR_PRE_REG: {
switch (OpNum) {
case 5:
return 28;
case 0:
return 12;
case 2:
return 0;
}
break;
}
case ARM::LDRBT_POST_IMM:
case ARM::LDRBT_POST_REG:
case ARM::LDRB_POST_IMM:
case ARM::LDRB_POST_REG:
case ARM::LDRH_POST:
case ARM::LDRSB_POST:
case ARM::LDRSH_POST:
case ARM::LDRT_POST_IMM:
case ARM::LDRT_POST_REG:
case ARM::LDR_POST_IMM:
case ARM::LDR_POST_REG: {
switch (OpNum) {
case 5:
return 28;
case 0:
return 12;
case 3:
return 0;
case 2:
return 16;
}
break;
}
case ARM::STRB_PRE_REG:
case ARM::STRH_PRE:
case ARM::STR_PRE_REG: {
switch (OpNum) {
case 5:
return 28;
case 1:
return 12;
case 2:
return 0;
}
break;
}
case ARM::STRBT_POST_IMM:
case ARM::STRBT_POST_REG:
case ARM::STRB_POST_IMM:
case ARM::STRB_POST_REG:
case ARM::STRH_POST:
case ARM::STRT_POST_IMM:
case ARM::STRT_POST_REG:
case ARM::STR_POST_IMM:
case ARM::STR_POST_REG: {
switch (OpNum) {
case 5:
return 28;
case 1:
return 12;
case 3:
return 0;
case 2:
return 16;
}
break;
}
case ARM::MCRR: {
switch (OpNum) {
case 5:
return 28;
case 2:
return 12;
case 3:
return 16;
case 0:
return 8;
case 1:
return 4;
case 4:
return 0;
}
break;
}
case ARM::LDRD:
case ARM::STRD: {
switch (OpNum) {
case 5:
return 28;
case 2:
return 0;
case 0:
return 12;
}
break;
}
case ARM::LDRHTr:
case ARM::LDRSBTr:
case ARM::LDRSHTr: {
switch (OpNum) {
case 5:
return 28;
case 2:
return 16;
case 0:
return 12;
case 3:
return 0;
}
break;
}
case ARM::STRHTr: {
switch (OpNum) {
case 5:
return 28;
case 2:
return 16;
case 1:
return 12;
case 3:
return 0;
}
break;
}
case ARM::ADCrsr:
case ARM::ADDrsr:
case ARM::ANDrsr:
case ARM::BICrsr:
case ARM::EORrsr:
case ARM::ORRrsr:
case ARM::RSBrsr:
case ARM::RSCrsr:
case ARM::SBCrsr:
case ARM::SUBrsr: {
switch (OpNum) {
case 5:
return 28;
case 7:
return 20;
case 0:
return 12;
case 1:
return 16;
case 2:
return 0;
}
break;
}
case ARM::t2ASRri:
case ARM::t2LSLri:
case ARM::t2LSRri:
case ARM::t2RORri: {
switch (OpNum) {
case 5:
return 20;
case 0:
return 8;
case 1:
return 0;
case 2:
return 6;
}
break;
}
case ARM::t2ADCrr:
case ARM::t2ADDrr:
case ARM::t2ANDrr:
case ARM::t2ASRrr:
case ARM::t2BICrr:
case ARM::t2EORrr:
case ARM::t2LSLrr:
case ARM::t2LSRrr:
case ARM::t2ORNrr:
case ARM::t2ORRrr:
case ARM::t2RORrr:
case ARM::t2RSBrr:
case ARM::t2SBCrr:
case ARM::t2SUBrr: {
switch (OpNum) {
case 5:
return 20;
case 0:
return 8;
case 1:
return 16;
case 2:
return 0;
}
break;
}
case ARM::t2ADCri:
case ARM::t2ADDri:
case ARM::t2ANDri:
case ARM::t2BICri:
case ARM::t2EORri:
case ARM::t2ORNri:
case ARM::t2ORRri:
case ARM::t2RSBri:
case ARM::t2SBCri:
case ARM::t2SUBri: {
switch (OpNum) {
case 5:
return 20;
case 0:
return 8;
case 1:
return 16;
case 2:
return 0;
}
break;
}
case ARM::t2MVNs: {
switch (OpNum) {
case 5:
return 20;
case 0:
return 8;
case 1:
return 0;
}
break;
}
case ARM::t2ADDspImm:
case ARM::t2SUBspImm: {
switch (OpNum) {
case 5:
return 20;
case 2:
return 0;
}
break;
}
case ARM::UMAAL: {
switch (OpNum) {
case 6:
return 28;
case 0:
return 12;
case 1:
return 16;
case 3:
return 8;
case 2:
return 0;
}
break;
}
case ARM::MRC: {
switch (OpNum) {
case 6:
return 28;
case 0:
return 12;
case 1:
return 8;
case 2:
return 21;
case 5:
return 5;
case 4:
return 0;
case 3:
return 16;
}
break;
}
case ARM::LDRD_PRE: {
switch (OpNum) {
case 6:
return 28;
case 0:
return 12;
case 3:
return 0;
}
break;
}
case ARM::LDRD_POST: {
switch (OpNum) {
case 6:
return 28;
case 0:
return 12;
case 4:
return 0;
case 3:
return 16;
}
break;
}
case ARM::STRD_PRE: {
switch (OpNum) {
case 6:
return 28;
case 1:
return 12;
case 3:
return 0;
}
break;
}
case ARM::STRD_POST: {
switch (OpNum) {
case 6:
return 28;
case 1:
return 12;
case 4:
return 0;
case 3:
return 16;
}
break;
}
case ARM::CDP: {
switch (OpNum) {
case 6:
return 28;
case 1:
return 20;
case 3:
return 16;
case 2:
return 12;
case 0:
return 8;
case 5:
return 5;
case 4:
return 0;
}
break;
}
case ARM::SMLALBB:
case ARM::SMLALBT:
case ARM::SMLALD:
case ARM::SMLALDX:
case ARM::SMLALTB:
case ARM::SMLALTT:
case ARM::SMLSLD:
case ARM::SMLSLDX: {
switch (OpNum) {
case 6:
return 28;
case 2:
return 0;
case 3:
return 8;
case 0:
return 12;
case 1:
return 16;
}
break;
}
case ARM::MCR: {
switch (OpNum) {
case 6:
return 28;
case 2:
return 12;
case 0:
return 8;
case 1:
return 21;
case 5:
return 5;
case 4:
return 0;
case 3:
return 16;
}
break;
}
case ARM::SMLAL:
case ARM::UMLAL: {
switch (OpNum) {
case 6:
return 28;
case 8:
return 20;
case 0:
return 12;
case 1:
return 16;
case 3:
return 8;
case 2:
return 0;
}
break;
}
case ARM::t2ADCrs:
case ARM::t2ADDrs:
case ARM::t2ANDrs:
case ARM::t2BICrs:
case ARM::t2EORrs:
case ARM::t2ORNrs:
case ARM::t2ORRrs:
case ARM::t2RSBrs:
case ARM::t2SBCrs:
case ARM::t2SUBrs: {
switch (OpNum) {
case 6:
return 20;
case 0:
return 8;
case 1:
return 16;
case 2:
return 0;
}
break;
}
}
std::string msg;
raw_string_ostream Msg(msg);
Msg << "Not supported instr[opcode]: " << MI << "[" << OpNum << "]";
report_fatal_error(Msg.str().c_str());
}
#endif