1*9a0e4156SSadaf Ebrahimi/*===- TableGen'erated file -------------------------------------*- C++ -*-===*\ 2*9a0e4156SSadaf Ebrahimi|* *| 3*9a0e4156SSadaf Ebrahimi|*Assembly Writer Source Fragment *| 4*9a0e4156SSadaf Ebrahimi|* *| 5*9a0e4156SSadaf Ebrahimi|* Automatically generated file, do not edit! *| 6*9a0e4156SSadaf Ebrahimi|* *| 7*9a0e4156SSadaf Ebrahimi\*===----------------------------------------------------------------------===*/ 8*9a0e4156SSadaf Ebrahimi 9*9a0e4156SSadaf Ebrahimi#include <stdio.h> 10*9a0e4156SSadaf Ebrahimi 11*9a0e4156SSadaf Ebrahimi/// printInstruction - This method is automatically generated by tablegen 12*9a0e4156SSadaf Ebrahimi/// from the instruction set description. 13*9a0e4156SSadaf Ebrahimistatic void printInstruction(MCInst *MI, SStream *O, MCRegisterInfo *MRI) { 14*9a0e4156SSadaf Ebrahimi static const uint32_t OpInfo[] = { 15*9a0e4156SSadaf Ebrahimi 0U, // PHI 16*9a0e4156SSadaf Ebrahimi 0U, // INLINEASM 17*9a0e4156SSadaf Ebrahimi 0U, // CFI_INSTRUCTION 18*9a0e4156SSadaf Ebrahimi 0U, // EH_LABEL 19*9a0e4156SSadaf Ebrahimi 0U, // GC_LABEL 20*9a0e4156SSadaf Ebrahimi 0U, // KILL 21*9a0e4156SSadaf Ebrahimi 0U, // EXTRACT_SUBREG 22*9a0e4156SSadaf Ebrahimi 0U, // INSERT_SUBREG 23*9a0e4156SSadaf Ebrahimi 0U, // IMPLICIT_DEF 24*9a0e4156SSadaf Ebrahimi 0U, // SUBREG_TO_REG 25*9a0e4156SSadaf Ebrahimi 0U, // COPY_TO_REGCLASS 26*9a0e4156SSadaf Ebrahimi 882U, // DBG_VALUE 27*9a0e4156SSadaf Ebrahimi 0U, // REG_SEQUENCE 28*9a0e4156SSadaf Ebrahimi 0U, // COPY 29*9a0e4156SSadaf Ebrahimi 875U, // BUNDLE 30*9a0e4156SSadaf Ebrahimi 904U, // LIFETIME_START 31*9a0e4156SSadaf Ebrahimi 862U, // LIFETIME_END 32*9a0e4156SSadaf Ebrahimi 0U, // STACKMAP 33*9a0e4156SSadaf Ebrahimi 0U, // PATCHPOINT 34*9a0e4156SSadaf Ebrahimi 0U, // LOAD_STACK_GUARD 35*9a0e4156SSadaf Ebrahimi 0U, // STATEPOINT 36*9a0e4156SSadaf Ebrahimi 0U, // FRAME_ALLOC 37*9a0e4156SSadaf Ebrahimi 1126U, // ABS2_l2_rr 38*9a0e4156SSadaf Ebrahimi 10847U, // ABS_l1_pp 39*9a0e4156SSadaf Ebrahimi 1631U, // ABS_l1_rr 40*9a0e4156SSadaf Ebrahimi 85006U, // ADD2_d2_rrr 41*9a0e4156SSadaf Ebrahimi 85006U, // ADD2_l1_rrr_x2 42*9a0e4156SSadaf Ebrahimi 85006U, // ADD2_s1_rrr 43*9a0e4156SSadaf Ebrahimi 85171U, // ADD4_l1_rrr_x2 44*9a0e4156SSadaf Ebrahimi 91479U, // ADDAB_d1_rir 45*9a0e4156SSadaf Ebrahimi 91479U, // ADDAB_d1_rrr 46*9a0e4156SSadaf Ebrahimi 91541U, // ADDAD_d1_rir 47*9a0e4156SSadaf Ebrahimi 91541U, // ADDAD_d1_rrr 48*9a0e4156SSadaf Ebrahimi 91577U, // ADDAH_d1_rir 49*9a0e4156SSadaf Ebrahimi 91577U, // ADDAH_d1_rrr 50*9a0e4156SSadaf Ebrahimi 91937U, // ADDAW_d1_rir 51*9a0e4156SSadaf Ebrahimi 91937U, // ADDAW_d1_rrr 52*9a0e4156SSadaf Ebrahimi 132488U, // ADDKPC_s3_iir 53*9a0e4156SSadaf Ebrahimi 1518U, // ADDK_s2_ir 54*9a0e4156SSadaf Ebrahimi 233140U, // ADDU_l1_rpp 55*9a0e4156SSadaf Ebrahimi 216756U, // ADDU_l1_rrp_x2 56*9a0e4156SSadaf Ebrahimi 91555U, // ADD_d1_rir 57*9a0e4156SSadaf Ebrahimi 91555U, // ADD_d1_rrr 58*9a0e4156SSadaf Ebrahimi 91555U, // ADD_d2_rir 59*9a0e4156SSadaf Ebrahimi 85411U, // ADD_d2_rrr 60*9a0e4156SSadaf Ebrahimi 232867U, // ADD_l1_ipp 61*9a0e4156SSadaf Ebrahimi 85411U, // ADD_l1_irr 62*9a0e4156SSadaf Ebrahimi 232867U, // ADD_l1_rpp 63*9a0e4156SSadaf Ebrahimi 216483U, // ADD_l1_rrp_x2 64*9a0e4156SSadaf Ebrahimi 85411U, // ADD_l1_rrr_x2 65*9a0e4156SSadaf Ebrahimi 85411U, // ADD_s1_irr 66*9a0e4156SSadaf Ebrahimi 85411U, // ADD_s1_rrr 67*9a0e4156SSadaf Ebrahimi 85542U, // ANDN_d2_rrr 68*9a0e4156SSadaf Ebrahimi 85542U, // ANDN_l1_rrr_x2 69*9a0e4156SSadaf Ebrahimi 85542U, // ANDN_s4_rrr 70*9a0e4156SSadaf Ebrahimi 85416U, // AND_d2_rir 71*9a0e4156SSadaf Ebrahimi 85416U, // AND_d2_rrr 72*9a0e4156SSadaf Ebrahimi 85416U, // AND_l1_irr 73*9a0e4156SSadaf Ebrahimi 85416U, // AND_l1_rrr_x2 74*9a0e4156SSadaf Ebrahimi 85416U, // AND_s1_irr 75*9a0e4156SSadaf Ebrahimi 85416U, // AND_s1_rrr 76*9a0e4156SSadaf Ebrahimi 85019U, // AVG2_m1_rrr 77*9a0e4156SSadaf Ebrahimi 85232U, // AVGU4_m1_rrr 78*9a0e4156SSadaf Ebrahimi 1410U, // BDEC_s8_ir 79*9a0e4156SSadaf Ebrahimi 1196U, // BITC4_m2_rr 80*9a0e4156SSadaf Ebrahimi 307756U, // BNOP_s10_ri 81*9a0e4156SSadaf Ebrahimi 307756U, // BNOP_s9_ii 82*9a0e4156SSadaf Ebrahimi 1654U, // BPOS_s8_ir 83*9a0e4156SSadaf Ebrahimi 53588U, // B_s5_i 84*9a0e4156SSadaf Ebrahimi 53588U, // B_s6_r 85*9a0e4156SSadaf Ebrahimi 892U, // B_s7_irp 86*9a0e4156SSadaf Ebrahimi 898U, // B_s7_nrp 87*9a0e4156SSadaf Ebrahimi 353870U, // CLR_s15_riir 88*9a0e4156SSadaf Ebrahimi 91726U, // CLR_s1_rrr 89*9a0e4156SSadaf Ebrahimi 85080U, // CMPEQ2_s1_rrr 90*9a0e4156SSadaf Ebrahimi 85207U, // CMPEQ4_s1_rrr 91*9a0e4156SSadaf Ebrahimi 101938U, // CMPEQ_l1_ipr 92*9a0e4156SSadaf Ebrahimi 85554U, // CMPEQ_l1_irr 93*9a0e4156SSadaf Ebrahimi 101938U, // CMPEQ_l1_rpr 94*9a0e4156SSadaf Ebrahimi 85554U, // CMPEQ_l1_rrr_x2 95*9a0e4156SSadaf Ebrahimi 85109U, // CMPGT2_s1_rrr 96*9a0e4156SSadaf Ebrahimi 85298U, // CMPGTU4_s1_rrr 97*9a0e4156SSadaf Ebrahimi 102037U, // CMPGT_l1_ipr 98*9a0e4156SSadaf Ebrahimi 85653U, // CMPGT_l1_irr 99*9a0e4156SSadaf Ebrahimi 102037U, // CMPGT_l1_rpr 100*9a0e4156SSadaf Ebrahimi 85653U, // CMPGT_l1_rrr_x2 101*9a0e4156SSadaf Ebrahimi 102150U, // CMPLTU_l1_ipr 102*9a0e4156SSadaf Ebrahimi 85766U, // CMPLTU_l1_irr 103*9a0e4156SSadaf Ebrahimi 102150U, // CMPLTU_l1_rpr 104*9a0e4156SSadaf Ebrahimi 85766U, // CMPLTU_l1_rrr_x2 105*9a0e4156SSadaf Ebrahimi 102044U, // CMPLT_l1_ipr 106*9a0e4156SSadaf Ebrahimi 85660U, // CMPLT_l1_irr 107*9a0e4156SSadaf Ebrahimi 102044U, // CMPLT_l1_rpr 108*9a0e4156SSadaf Ebrahimi 85660U, // CMPLT_l1_rrr_x2 109*9a0e4156SSadaf Ebrahimi 1529U, // DEAL_m2_rr 110*9a0e4156SSadaf Ebrahimi 216145U, // DOTP2_m1_rrp 111*9a0e4156SSadaf Ebrahimi 85073U, // DOTP2_m1_rrr 112*9a0e4156SSadaf Ebrahimi 85065U, // DOTPN2_m1_rrr 113*9a0e4156SSadaf Ebrahimi 85124U, // DOTPNRSU2_m1_rrr 114*9a0e4156SSadaf Ebrahimi 85135U, // DOTPRSU2_m1_rrr 115*9a0e4156SSadaf Ebrahimi 85281U, // DOTPSU4_m1_rrr 116*9a0e4156SSadaf Ebrahimi 85273U, // DOTPU4_m1_rrr 117*9a0e4156SSadaf Ebrahimi 354062U, // EXTU_s15_riir 118*9a0e4156SSadaf Ebrahimi 91918U, // EXTU_s1_rrr 119*9a0e4156SSadaf Ebrahimi 353955U, // EXT_s15_riir 120*9a0e4156SSadaf Ebrahimi 91811U, // EXT_s1_rrr 121*9a0e4156SSadaf Ebrahimi 102142U, // GMPGTU_l1_ipr 122*9a0e4156SSadaf Ebrahimi 85758U, // GMPGTU_l1_irr 123*9a0e4156SSadaf Ebrahimi 102142U, // GMPGTU_l1_rpr 124*9a0e4156SSadaf Ebrahimi 85758U, // GMPGTU_l1_rrr_x2 125*9a0e4156SSadaf Ebrahimi 85321U, // GMPY4_m1_rrr 126*9a0e4156SSadaf Ebrahimi 5800U, // LDBU_d5_mr 127*9a0e4156SSadaf Ebrahimi 6824U, // LDBU_d6_mr 128*9a0e4156SSadaf Ebrahimi 5470U, // LDB_d5_mr 129*9a0e4156SSadaf Ebrahimi 6494U, // LDB_d6_mr 130*9a0e4156SSadaf Ebrahimi 14120U, // LDDW_d7_mp 131*9a0e4156SSadaf Ebrahimi 5818U, // LDHU_d5_mr 132*9a0e4156SSadaf Ebrahimi 6842U, // LDHU_d6_mr 133*9a0e4156SSadaf Ebrahimi 5568U, // LDH_d5_mr 134*9a0e4156SSadaf Ebrahimi 6592U, // LDH_d6_mr 135*9a0e4156SSadaf Ebrahimi 14131U, // LDNDW_d8_mp 136*9a0e4156SSadaf Ebrahimi 5959U, // LDNW_d5_mr 137*9a0e4156SSadaf Ebrahimi 5934U, // LDW_d5_mr 138*9a0e4156SSadaf Ebrahimi 6958U, // LDW_d6_mr 139*9a0e4156SSadaf Ebrahimi 85404U, // LMBD_l1_irr 140*9a0e4156SSadaf Ebrahimi 85404U, // LMBD_l1_rrr_x2 141*9a0e4156SSadaf Ebrahimi 85145U, // MAX2_l1_rrr_x2 142*9a0e4156SSadaf Ebrahimi 85307U, // MAXU4_l1_rrr_x2 143*9a0e4156SSadaf Ebrahimi 85059U, // MIN2_l1_rrr_x2 144*9a0e4156SSadaf Ebrahimi 85266U, // MINU4_l1_rrr_x2 145*9a0e4156SSadaf Ebrahimi 216224U, // MPY2_m1_rrp 146*9a0e4156SSadaf Ebrahimi 85566U, // MPYHIR_m1_rrr 147*9a0e4156SSadaf Ebrahimi 216544U, // MPYHI_m1_rrp 148*9a0e4156SSadaf Ebrahimi 85720U, // MPYHLU_m4_rrr 149*9a0e4156SSadaf Ebrahimi 85516U, // MPYHL_m4_rrr 150*9a0e4156SSadaf Ebrahimi 85728U, // MPYHSLU_m4_rrr 151*9a0e4156SSadaf Ebrahimi 85743U, // MPYHSU_m4_rrr 152*9a0e4156SSadaf Ebrahimi 85613U, // MPYHULS_m4_rrr 153*9a0e4156SSadaf Ebrahimi 85628U, // MPYHUS_m4_rrr 154*9a0e4156SSadaf Ebrahimi 85713U, // MPYHU_m4_rrr 155*9a0e4156SSadaf Ebrahimi 85466U, // MPYH_m4_rrr 156*9a0e4156SSadaf Ebrahimi 85696U, // MPYLHU_m4_rrr 157*9a0e4156SSadaf Ebrahimi 85453U, // MPYLH_m4_rrr 158*9a0e4156SSadaf Ebrahimi 85574U, // MPYLIR_m1_rrr 159*9a0e4156SSadaf Ebrahimi 216551U, // MPYLI_m1_rrp 160*9a0e4156SSadaf Ebrahimi 85704U, // MPYLSHU_m4_rrr 161*9a0e4156SSadaf Ebrahimi 85604U, // MPYLUHS_m4_rrr 162*9a0e4156SSadaf Ebrahimi 216362U, // MPYSU4_m1_rrp 163*9a0e4156SSadaf Ebrahimi 85751U, // MPYSU_m4_irr 164*9a0e4156SSadaf Ebrahimi 85751U, // MPYSU_m4_rrr 165*9a0e4156SSadaf Ebrahimi 216386U, // MPYU4_m1_rrp 166*9a0e4156SSadaf Ebrahimi 85636U, // MPYUS_m4_rrr 167*9a0e4156SSadaf Ebrahimi 85780U, // MPYU_m4_rrr 168*9a0e4156SSadaf Ebrahimi 85849U, // MPY_m4_irr 169*9a0e4156SSadaf Ebrahimi 85849U, // MPY_m4_rrr 170*9a0e4156SSadaf Ebrahimi 1424U, // MVC_s1_rr 171*9a0e4156SSadaf Ebrahimi 1424U, // MVC_s1_rr2 172*9a0e4156SSadaf Ebrahimi 1453U, // MVD_m2_rr 173*9a0e4156SSadaf Ebrahimi 1477U, // MVKLH_s12_ir 174*9a0e4156SSadaf Ebrahimi 1524U, // MVKL_s12_ir 175*9a0e4156SSadaf Ebrahimi 1524U, // MVK_d1_rr 176*9a0e4156SSadaf Ebrahimi 1524U, // MVK_l2_ir 177*9a0e4156SSadaf Ebrahimi 53249U, // NOP_n 178*9a0e4156SSadaf Ebrahimi 2592U, // NORM_l1_pr 179*9a0e4156SSadaf Ebrahimi 1568U, // NORM_l1_rr 180*9a0e4156SSadaf Ebrahimi 85588U, // OR_d2_rir 181*9a0e4156SSadaf Ebrahimi 85588U, // OR_d2_rrr 182*9a0e4156SSadaf Ebrahimi 85588U, // OR_l1_irr 183*9a0e4156SSadaf Ebrahimi 85588U, // OR_l1_rrr_x2 184*9a0e4156SSadaf Ebrahimi 85588U, // OR_s1_irr 185*9a0e4156SSadaf Ebrahimi 85588U, // OR_s1_rrr 186*9a0e4156SSadaf Ebrahimi 85043U, // PACK2_l1_rrr_x2 187*9a0e4156SSadaf Ebrahimi 85043U, // PACK2_s4_rrr 188*9a0e4156SSadaf Ebrahimi 85025U, // PACKH2_l1_rrr_x2 189*9a0e4156SSadaf Ebrahimi 85025U, // PACKH2_s1_rrr 190*9a0e4156SSadaf Ebrahimi 85184U, // PACKH4_l1_rrr_x2 191*9a0e4156SSadaf Ebrahimi 85050U, // PACKHL2_l1_rrr_x2 192*9a0e4156SSadaf Ebrahimi 85050U, // PACKHL2_s1_rrr 193*9a0e4156SSadaf Ebrahimi 85192U, // PACKL4_l1_rrr_x2 194*9a0e4156SSadaf Ebrahimi 85033U, // PACKLH2_l1_rrr_x2 195*9a0e4156SSadaf Ebrahimi 85033U, // PACKLH2_s1_rrr 196*9a0e4156SSadaf Ebrahimi 91667U, // ROTL_m1_rir 197*9a0e4156SSadaf Ebrahimi 91667U, // ROTL_m1_rrr 198*9a0e4156SSadaf Ebrahimi 85005U, // SADD2_s4_rrr 199*9a0e4156SSadaf Ebrahimi 85224U, // SADDU4_s4_rrr 200*9a0e4156SSadaf Ebrahimi 85100U, // SADDUS2_s4_rrr 201*9a0e4156SSadaf Ebrahimi 232866U, // SADD_l1_ipp 202*9a0e4156SSadaf Ebrahimi 85410U, // SADD_l1_irr 203*9a0e4156SSadaf Ebrahimi 232866U, // SADD_l1_rpp 204*9a0e4156SSadaf Ebrahimi 85410U, // SADD_l1_rrr_x2 205*9a0e4156SSadaf Ebrahimi 85410U, // SADD_s1_rrr 206*9a0e4156SSadaf Ebrahimi 2699U, // SAT_l1_pr 207*9a0e4156SSadaf Ebrahimi 353936U, // SET_s15_riir 208*9a0e4156SSadaf Ebrahimi 91792U, // SET_s1_rrr 209*9a0e4156SSadaf Ebrahimi 1535U, // SHFL_m2_rr 210*9a0e4156SSadaf Ebrahimi 85347U, // SHLMB_l1_rrr_x2 211*9a0e4156SSadaf Ebrahimi 85347U, // SHLMB_s4_rrr 212*9a0e4156SSadaf Ebrahimi 223750U, // SHL_s1_pip 213*9a0e4156SSadaf Ebrahimi 223750U, // SHL_s1_prp 214*9a0e4156SSadaf Ebrahimi 222726U, // SHL_s1_rip 215*9a0e4156SSadaf Ebrahimi 91654U, // SHL_s1_rir 216*9a0e4156SSadaf Ebrahimi 222726U, // SHL_s1_rrp 217*9a0e4156SSadaf Ebrahimi 91654U, // SHL_s1_rrr 218*9a0e4156SSadaf Ebrahimi 91232U, // SHR2_s1_rir 219*9a0e4156SSadaf Ebrahimi 91232U, // SHR2_s4_rrr 220*9a0e4156SSadaf Ebrahimi 85354U, // SHRMB_l1_rrr_x2 221*9a0e4156SSadaf Ebrahimi 85354U, // SHRMB_s4_rrr 222*9a0e4156SSadaf Ebrahimi 91261U, // SHRU2_s1_rir 223*9a0e4156SSadaf Ebrahimi 91261U, // SHRU2_s4_rrr 224*9a0e4156SSadaf Ebrahimi 223977U, // SHRU_s1_pip 225*9a0e4156SSadaf Ebrahimi 223977U, // SHRU_s1_prp 226*9a0e4156SSadaf Ebrahimi 91881U, // SHRU_s1_rir 227*9a0e4156SSadaf Ebrahimi 91881U, // SHRU_s1_rrr 228*9a0e4156SSadaf Ebrahimi 223801U, // SHR_s1_pip 229*9a0e4156SSadaf Ebrahimi 223801U, // SHR_s1_prp 230*9a0e4156SSadaf Ebrahimi 91705U, // SHR_s1_rir 231*9a0e4156SSadaf Ebrahimi 91705U, // SHR_s1_rrr 232*9a0e4156SSadaf Ebrahimi 216223U, // SMPY2_m1_rrp 233*9a0e4156SSadaf Ebrahimi 85515U, // SMPYHL_m4_rrr 234*9a0e4156SSadaf Ebrahimi 85465U, // SMPYH_m4_rrr 235*9a0e4156SSadaf Ebrahimi 85452U, // SMPYLH_m4_rrr 236*9a0e4156SSadaf Ebrahimi 85848U, // SMPY_m4_rrr 237*9a0e4156SSadaf Ebrahimi 85042U, // SPACK2_s4_rrr 238*9a0e4156SSadaf Ebrahimi 85248U, // SPACKU4_s4_rrr 239*9a0e4156SSadaf Ebrahimi 91653U, // SSHL_s1_rir 240*9a0e4156SSadaf Ebrahimi 91653U, // SSHL_s1_rrr 241*9a0e4156SSadaf Ebrahimi 85529U, // SSHVL_m1_rrr 242*9a0e4156SSadaf Ebrahimi 85592U, // SSHVR_m1_rrr 243*9a0e4156SSadaf Ebrahimi 232822U, // SSUB_l1_ipp 244*9a0e4156SSadaf Ebrahimi 85366U, // SSUB_l1_irr 245*9a0e4156SSadaf Ebrahimi 85366U, // SSUB_l1_rrr_x1 246*9a0e4156SSadaf Ebrahimi 85366U, // SSUB_l1_rrr_x2 247*9a0e4156SSadaf Ebrahimi 438641U, // STB_d5_rm 248*9a0e4156SSadaf Ebrahimi 504177U, // STB_d6_rm 249*9a0e4156SSadaf Ebrahimi 8001U, // STDW_d7_pm 250*9a0e4156SSadaf Ebrahimi 438740U, // STH_d5_rm 251*9a0e4156SSadaf Ebrahimi 504276U, // STH_d6_rm 252*9a0e4156SSadaf Ebrahimi 7994U, // STNDW_d8_pm 253*9a0e4156SSadaf Ebrahimi 439117U, // STNW_d5_rm 254*9a0e4156SSadaf Ebrahimi 439123U, // STW_d5_rm 255*9a0e4156SSadaf Ebrahimi 504659U, // STW_d6_rm 256*9a0e4156SSadaf Ebrahimi 84999U, // SUB2_d2_rrr 257*9a0e4156SSadaf Ebrahimi 84999U, // SUB2_l1_rrr_x2 258*9a0e4156SSadaf Ebrahimi 84999U, // SUB2_s1_rrr 259*9a0e4156SSadaf Ebrahimi 85158U, // SUB4_l1_rrr_x2 260*9a0e4156SSadaf Ebrahimi 85215U, // SUBABS4_l1_rrr_x2 261*9a0e4156SSadaf Ebrahimi 91472U, // SUBAB_d1_rir 262*9a0e4156SSadaf Ebrahimi 91472U, // SUBAB_d1_rrr 263*9a0e4156SSadaf Ebrahimi 91472U, // SUBAH_d1_rir 264*9a0e4156SSadaf Ebrahimi 91570U, // SUBAH_d1_rrr 265*9a0e4156SSadaf Ebrahimi 91472U, // SUBAW_d1_rir 266*9a0e4156SSadaf Ebrahimi 91930U, // SUBAW_d1_rrr 267*9a0e4156SSadaf Ebrahimi 85372U, // SUBC_l1_rrr_x2 268*9a0e4156SSadaf Ebrahimi 216750U, // SUBU_l1_rrp_x1 269*9a0e4156SSadaf Ebrahimi 216750U, // SUBU_l1_rrp_x2 270*9a0e4156SSadaf Ebrahimi 91511U, // SUB_d1_rir 271*9a0e4156SSadaf Ebrahimi 91511U, // SUB_d1_rrr 272*9a0e4156SSadaf Ebrahimi 85367U, // SUB_d2_rrr 273*9a0e4156SSadaf Ebrahimi 232823U, // SUB_l1_ipp 274*9a0e4156SSadaf Ebrahimi 85367U, // SUB_l1_irr 275*9a0e4156SSadaf Ebrahimi 216439U, // SUB_l1_rrp_x1 276*9a0e4156SSadaf Ebrahimi 216439U, // SUB_l1_rrp_x2 277*9a0e4156SSadaf Ebrahimi 85367U, // SUB_l1_rrr_x1 278*9a0e4156SSadaf Ebrahimi 85367U, // SUB_l1_rrr_x2 279*9a0e4156SSadaf Ebrahimi 85367U, // SUB_s1_irr 280*9a0e4156SSadaf Ebrahimi 85367U, // SUB_s1_rrr 281*9a0e4156SSadaf Ebrahimi 91511U, // SUB_s4_rrr 282*9a0e4156SSadaf Ebrahimi 1232U, // SWAP4_l2_rr 283*9a0e4156SSadaf Ebrahimi 1271U, // UNPKHU4_l2_rr 284*9a0e4156SSadaf Ebrahimi 1271U, // UNPKHU4_s14_rr 285*9a0e4156SSadaf Ebrahimi 1289U, // UNPKLU4_l2_rr 286*9a0e4156SSadaf Ebrahimi 1289U, // UNPKLU4_s14_rr 287*9a0e4156SSadaf Ebrahimi 85587U, // XOR_d2_rir 288*9a0e4156SSadaf Ebrahimi 85587U, // XOR_d2_rrr 289*9a0e4156SSadaf Ebrahimi 85587U, // XOR_l1_irr 290*9a0e4156SSadaf Ebrahimi 85587U, // XOR_l1_rrr_x2 291*9a0e4156SSadaf Ebrahimi 85587U, // XOR_s1_irr 292*9a0e4156SSadaf Ebrahimi 85587U, // XOR_s1_rrr 293*9a0e4156SSadaf Ebrahimi 1044U, // XPND2_m2_rr 294*9a0e4156SSadaf Ebrahimi 1209U, // XPND4_m2_rr 295*9a0e4156SSadaf Ebrahimi 0U 296*9a0e4156SSadaf Ebrahimi }; 297*9a0e4156SSadaf Ebrahimi 298*9a0e4156SSadaf Ebrahimi static char AsmStrs[] = { 299*9a0e4156SSadaf Ebrahimi /* 0 */ 'n', 'o', 'p', 9, 9, 0, 300*9a0e4156SSadaf Ebrahimi /* 6 */ 's', 'u', 'b', '2', 9, 0, 301*9a0e4156SSadaf Ebrahimi /* 12 */ 's', 'a', 'd', 'd', '2', 9, 0, 302*9a0e4156SSadaf Ebrahimi /* 19 */ 'x', 'p', 'n', 'd', '2', 9, 0, 303*9a0e4156SSadaf Ebrahimi /* 26 */ 'a', 'v', 'g', '2', 9, 0, 304*9a0e4156SSadaf Ebrahimi /* 32 */ 'p', 'a', 'c', 'k', 'h', '2', 9, 0, 305*9a0e4156SSadaf Ebrahimi /* 40 */ 'p', 'a', 'c', 'k', 'l', 'h', '2', 9, 0, 306*9a0e4156SSadaf Ebrahimi /* 49 */ 's', 'p', 'a', 'c', 'k', '2', 9, 0, 307*9a0e4156SSadaf Ebrahimi /* 57 */ 'p', 'a', 'c', 'k', 'h', 'l', '2', 9, 0, 308*9a0e4156SSadaf Ebrahimi /* 66 */ 'm', 'i', 'n', '2', 9, 0, 309*9a0e4156SSadaf Ebrahimi /* 72 */ 'd', 'o', 't', 'p', 'n', '2', 9, 0, 310*9a0e4156SSadaf Ebrahimi /* 80 */ 'd', 'o', 't', 'p', '2', 9, 0, 311*9a0e4156SSadaf Ebrahimi /* 87 */ 'c', 'm', 'p', 'e', 'q', '2', 9, 0, 312*9a0e4156SSadaf Ebrahimi /* 95 */ 's', 'h', 'r', '2', 9, 0, 313*9a0e4156SSadaf Ebrahimi /* 101 */ 'a', 'b', 's', '2', 9, 0, 314*9a0e4156SSadaf Ebrahimi /* 107 */ 's', 'a', 'd', 'd', 'u', 's', '2', 9, 0, 315*9a0e4156SSadaf Ebrahimi /* 116 */ 'c', 'm', 'p', 'g', 't', '2', 9, 0, 316*9a0e4156SSadaf Ebrahimi /* 124 */ 's', 'h', 'r', 'u', '2', 9, 0, 317*9a0e4156SSadaf Ebrahimi /* 131 */ 'd', 'o', 't', 'p', 'n', 'r', 's', 'u', '2', 9, 0, 318*9a0e4156SSadaf Ebrahimi /* 142 */ 'd', 'o', 't', 'p', 'r', 's', 'u', '2', 9, 0, 319*9a0e4156SSadaf Ebrahimi /* 152 */ 'm', 'a', 'x', '2', 9, 0, 320*9a0e4156SSadaf Ebrahimi /* 158 */ 's', 'm', 'p', 'y', '2', 9, 0, 321*9a0e4156SSadaf Ebrahimi /* 165 */ 's', 'u', 'b', '4', 9, 0, 322*9a0e4156SSadaf Ebrahimi /* 171 */ 'b', 'i', 't', 'c', '4', 9, 0, 323*9a0e4156SSadaf Ebrahimi /* 178 */ 'a', 'd', 'd', '4', 9, 0, 324*9a0e4156SSadaf Ebrahimi /* 184 */ 'x', 'p', 'n', 'd', '4', 9, 0, 325*9a0e4156SSadaf Ebrahimi /* 191 */ 'p', 'a', 'c', 'k', 'h', '4', 9, 0, 326*9a0e4156SSadaf Ebrahimi /* 199 */ 'p', 'a', 'c', 'k', 'l', '4', 9, 0, 327*9a0e4156SSadaf Ebrahimi /* 207 */ 's', 'w', 'a', 'p', '4', 9, 0, 328*9a0e4156SSadaf Ebrahimi /* 214 */ 'c', 'm', 'p', 'e', 'q', '4', 9, 0, 329*9a0e4156SSadaf Ebrahimi /* 222 */ 's', 'u', 'b', 'a', 'b', 's', '4', 9, 0, 330*9a0e4156SSadaf Ebrahimi /* 231 */ 's', 'a', 'd', 'd', 'u', '4', 9, 0, 331*9a0e4156SSadaf Ebrahimi /* 239 */ 'a', 'v', 'g', 'u', '4', 9, 0, 332*9a0e4156SSadaf Ebrahimi /* 246 */ 'u', 'n', 'p', 'k', 'h', 'u', '4', 9, 0, 333*9a0e4156SSadaf Ebrahimi /* 255 */ 's', 'p', 'a', 'c', 'k', 'u', '4', 9, 0, 334*9a0e4156SSadaf Ebrahimi /* 264 */ 'u', 'n', 'p', 'k', 'l', 'u', '4', 9, 0, 335*9a0e4156SSadaf Ebrahimi /* 273 */ 'm', 'i', 'n', 'u', '4', 9, 0, 336*9a0e4156SSadaf Ebrahimi /* 280 */ 'd', 'o', 't', 'p', 'u', '4', 9, 0, 337*9a0e4156SSadaf Ebrahimi /* 288 */ 'd', 'o', 't', 'p', 's', 'u', '4', 9, 0, 338*9a0e4156SSadaf Ebrahimi /* 297 */ 'm', 'p', 'y', 's', 'u', '4', 9, 0, 339*9a0e4156SSadaf Ebrahimi /* 305 */ 'c', 'm', 'p', 'g', 't', 'u', '4', 9, 0, 340*9a0e4156SSadaf Ebrahimi /* 314 */ 'm', 'a', 'x', 'u', '4', 9, 0, 341*9a0e4156SSadaf Ebrahimi /* 321 */ 'm', 'p', 'y', 'u', '4', 9, 0, 342*9a0e4156SSadaf Ebrahimi /* 328 */ 'g', 'm', 'p', 'y', '4', 9, 0, 343*9a0e4156SSadaf Ebrahimi /* 335 */ 's', 'u', 'b', 'a', 'b', 9, 0, 344*9a0e4156SSadaf Ebrahimi /* 342 */ 'a', 'd', 'd', 'a', 'b', 9, 0, 345*9a0e4156SSadaf Ebrahimi /* 349 */ 'l', 'd', 'b', 9, 0, 346*9a0e4156SSadaf Ebrahimi /* 354 */ 's', 'h', 'l', 'm', 'b', 9, 0, 347*9a0e4156SSadaf Ebrahimi /* 361 */ 's', 'h', 'r', 'm', 'b', 9, 0, 348*9a0e4156SSadaf Ebrahimi /* 368 */ 's', 't', 'b', 9, 0, 349*9a0e4156SSadaf Ebrahimi /* 373 */ 's', 's', 'u', 'b', 9, 0, 350*9a0e4156SSadaf Ebrahimi /* 379 */ 's', 'u', 'b', 'c', 9, 0, 351*9a0e4156SSadaf Ebrahimi /* 385 */ 'b', 'd', 'e', 'c', 9, 0, 352*9a0e4156SSadaf Ebrahimi /* 391 */ 'a', 'd', 'd', 'k', 'p', 'c', 9, 0, 353*9a0e4156SSadaf Ebrahimi /* 399 */ 'm', 'v', 'c', 9, 0, 354*9a0e4156SSadaf Ebrahimi /* 404 */ 'a', 'd', 'd', 'a', 'd', 9, 0, 355*9a0e4156SSadaf Ebrahimi /* 411 */ 'l', 'm', 'b', 'd', 9, 0, 356*9a0e4156SSadaf Ebrahimi /* 417 */ 's', 'a', 'd', 'd', 9, 0, 357*9a0e4156SSadaf Ebrahimi /* 423 */ 'a', 'n', 'd', 9, 0, 358*9a0e4156SSadaf Ebrahimi /* 428 */ 'm', 'v', 'd', 9, 0, 359*9a0e4156SSadaf Ebrahimi /* 433 */ 's', 'u', 'b', 'a', 'h', 9, 0, 360*9a0e4156SSadaf Ebrahimi /* 440 */ 'a', 'd', 'd', 'a', 'h', 9, 0, 361*9a0e4156SSadaf Ebrahimi /* 447 */ 'l', 'd', 'h', 9, 0, 362*9a0e4156SSadaf Ebrahimi /* 452 */ 'm', 'v', 'k', 'l', 'h', 9, 0, 363*9a0e4156SSadaf Ebrahimi /* 459 */ 's', 'm', 'p', 'y', 'l', 'h', 9, 0, 364*9a0e4156SSadaf Ebrahimi /* 467 */ 's', 't', 'h', 9, 0, 365*9a0e4156SSadaf Ebrahimi /* 472 */ 's', 'm', 'p', 'y', 'h', 9, 0, 366*9a0e4156SSadaf Ebrahimi /* 479 */ 'm', 'p', 'y', 'h', 'i', 9, 0, 367*9a0e4156SSadaf Ebrahimi /* 486 */ 'm', 'p', 'y', 'l', 'i', 9, 0, 368*9a0e4156SSadaf Ebrahimi /* 493 */ 'a', 'd', 'd', 'k', 9, 0, 369*9a0e4156SSadaf Ebrahimi /* 499 */ 'm', 'v', 'k', 9, 0, 370*9a0e4156SSadaf Ebrahimi /* 504 */ 'd', 'e', 'a', 'l', 9, 0, 371*9a0e4156SSadaf Ebrahimi /* 510 */ 's', 'h', 'f', 'l', 9, 0, 372*9a0e4156SSadaf Ebrahimi /* 516 */ 's', 's', 'h', 'l', 9, 0, 373*9a0e4156SSadaf Ebrahimi /* 522 */ 's', 'm', 'p', 'y', 'h', 'l', 9, 0, 374*9a0e4156SSadaf Ebrahimi /* 530 */ 'r', 'o', 't', 'l', 9, 0, 375*9a0e4156SSadaf Ebrahimi /* 536 */ 's', 's', 'h', 'v', 'l', 9, 0, 376*9a0e4156SSadaf Ebrahimi /* 543 */ 'n', 'o', 'r', 'm', 9, 0, 377*9a0e4156SSadaf Ebrahimi /* 549 */ 'a', 'n', 'd', 'n', 9, 0, 378*9a0e4156SSadaf Ebrahimi /* 555 */ 'b', 'n', 'o', 'p', 9, 0, 379*9a0e4156SSadaf Ebrahimi /* 561 */ 'c', 'm', 'p', 'e', 'q', 9, 0, 380*9a0e4156SSadaf Ebrahimi /* 568 */ 's', 'h', 'r', 9, 0, 381*9a0e4156SSadaf Ebrahimi /* 573 */ 'm', 'p', 'y', 'h', 'i', 'r', 9, 0, 382*9a0e4156SSadaf Ebrahimi /* 581 */ 'm', 'p', 'y', 'l', 'i', 'r', 9, 0, 383*9a0e4156SSadaf Ebrahimi /* 589 */ 'c', 'l', 'r', 9, 0, 384*9a0e4156SSadaf Ebrahimi /* 594 */ 'x', 'o', 'r', 9, 0, 385*9a0e4156SSadaf Ebrahimi /* 599 */ 's', 's', 'h', 'v', 'r', 9, 0, 386*9a0e4156SSadaf Ebrahimi /* 606 */ 'a', 'b', 's', 9, 0, 387*9a0e4156SSadaf Ebrahimi /* 611 */ 'm', 'p', 'y', 'l', 'u', 'h', 's', 9, 0, 388*9a0e4156SSadaf Ebrahimi /* 620 */ 'm', 'p', 'y', 'h', 'u', 'l', 's', 9, 0, 389*9a0e4156SSadaf Ebrahimi /* 629 */ 'b', 'p', 'o', 's', 9, 0, 390*9a0e4156SSadaf Ebrahimi /* 635 */ 'm', 'p', 'y', 'h', 'u', 's', 9, 0, 391*9a0e4156SSadaf Ebrahimi /* 643 */ 'm', 'p', 'y', 'u', 's', 9, 0, 392*9a0e4156SSadaf Ebrahimi /* 650 */ 's', 'a', 't', 9, 0, 393*9a0e4156SSadaf Ebrahimi /* 655 */ 's', 'e', 't', 9, 0, 394*9a0e4156SSadaf Ebrahimi /* 660 */ 'c', 'm', 'p', 'g', 't', 9, 0, 395*9a0e4156SSadaf Ebrahimi /* 667 */ 'c', 'm', 'p', 'l', 't', 9, 0, 396*9a0e4156SSadaf Ebrahimi /* 674 */ 'e', 'x', 't', 9, 0, 397*9a0e4156SSadaf Ebrahimi /* 679 */ 'l', 'd', 'b', 'u', 9, 0, 398*9a0e4156SSadaf Ebrahimi /* 685 */ 's', 'u', 'b', 'u', 9, 0, 399*9a0e4156SSadaf Ebrahimi /* 691 */ 'a', 'd', 'd', 'u', 9, 0, 400*9a0e4156SSadaf Ebrahimi /* 697 */ 'l', 'd', 'h', 'u', 9, 0, 401*9a0e4156SSadaf Ebrahimi /* 703 */ 'm', 'p', 'y', 'l', 'h', 'u', 9, 0, 402*9a0e4156SSadaf Ebrahimi /* 711 */ 'm', 'p', 'y', 'l', 's', 'h', 'u', 9, 0, 403*9a0e4156SSadaf Ebrahimi /* 720 */ 'm', 'p', 'y', 'h', 'u', 9, 0, 404*9a0e4156SSadaf Ebrahimi /* 727 */ 'm', 'p', 'y', 'h', 'l', 'u', 9, 0, 405*9a0e4156SSadaf Ebrahimi /* 735 */ 'm', 'p', 'y', 'h', 's', 'l', 'u', 9, 0, 406*9a0e4156SSadaf Ebrahimi /* 744 */ 's', 'h', 'r', 'u', 9, 0, 407*9a0e4156SSadaf Ebrahimi /* 750 */ 'm', 'p', 'y', 'h', 's', 'u', 9, 0, 408*9a0e4156SSadaf Ebrahimi /* 758 */ 'm', 'p', 'y', 's', 'u', 9, 0, 409*9a0e4156SSadaf Ebrahimi /* 765 */ 'c', 'm', 'p', 'g', 't', 'u', 9, 0, 410*9a0e4156SSadaf Ebrahimi /* 773 */ 'c', 'm', 'p', 'l', 't', 'u', 9, 0, 411*9a0e4156SSadaf Ebrahimi /* 781 */ 'e', 'x', 't', 'u', 9, 0, 412*9a0e4156SSadaf Ebrahimi /* 787 */ 'm', 'p', 'y', 'u', 9, 0, 413*9a0e4156SSadaf Ebrahimi /* 793 */ 's', 'u', 'b', 'a', 'w', 9, 0, 414*9a0e4156SSadaf Ebrahimi /* 800 */ 'a', 'd', 'd', 'a', 'w', 9, 0, 415*9a0e4156SSadaf Ebrahimi /* 807 */ 'l', 'd', 'd', 'w', 9, 0, 416*9a0e4156SSadaf Ebrahimi /* 813 */ 'l', 'd', 'w', 9, 0, 417*9a0e4156SSadaf Ebrahimi /* 818 */ 'l', 'd', 'n', 'd', 'w', 9, 0, 418*9a0e4156SSadaf Ebrahimi /* 825 */ 's', 't', 'n', 'd', 'w', 9, 0, 419*9a0e4156SSadaf Ebrahimi /* 832 */ 's', 't', 'd', 'w', 9, 0, 420*9a0e4156SSadaf Ebrahimi /* 838 */ 'l', 'd', 'n', 'w', 9, 0, 421*9a0e4156SSadaf Ebrahimi /* 844 */ 's', 't', 'n', 'w', 9, 0, 422*9a0e4156SSadaf Ebrahimi /* 850 */ 's', 't', 'w', 9, 0, 423*9a0e4156SSadaf Ebrahimi /* 855 */ 's', 'm', 'p', 'y', 9, 0, 424*9a0e4156SSadaf Ebrahimi /* 861 */ 'l', 'i', 'f', 'e', 't', 'i', 'm', 'e', '_', 'e', 'n', 'd', 0, 425*9a0e4156SSadaf Ebrahimi /* 874 */ 'b', 'u', 'n', 'd', 'l', 'e', 0, 426*9a0e4156SSadaf Ebrahimi /* 881 */ 'd', 'b', 'g', '_', 'v', 'a', 'l', 'u', 'e', 0, 427*9a0e4156SSadaf Ebrahimi /* 891 */ 'b', 9, 'i', 'r', 'p', 0, 428*9a0e4156SSadaf Ebrahimi /* 897 */ 'b', 9, 'n', 'r', 'p', 0, 429*9a0e4156SSadaf Ebrahimi /* 903 */ 'l', 'i', 'f', 'e', 't', 'i', 'm', 'e', '_', 's', 't', 'a', 'r', 't', 0, 430*9a0e4156SSadaf Ebrahimi }; 431*9a0e4156SSadaf Ebrahimi 432*9a0e4156SSadaf Ebrahimi // Emit the opcode for the instruction. 433*9a0e4156SSadaf Ebrahimi uint32_t Bits = OpInfo[MCInst_getOpcode(MI)]; 434*9a0e4156SSadaf Ebrahimi // assert(Bits != 0 && "Cannot print this instruction."); 435*9a0e4156SSadaf Ebrahimi#ifndef CAPSTONE_DIET 436*9a0e4156SSadaf Ebrahimi SStream_concat0(O, AsmStrs+(Bits & 1023)-1); 437*9a0e4156SSadaf Ebrahimi#endif 438*9a0e4156SSadaf Ebrahimi 439*9a0e4156SSadaf Ebrahimi 440*9a0e4156SSadaf Ebrahimi // Fragment 0 encoded into 3 bits for 8 unique commands. 441*9a0e4156SSadaf Ebrahimi switch ((Bits >> 10) & 7) { 442*9a0e4156SSadaf Ebrahimi default: 443*9a0e4156SSadaf Ebrahimi case 0: 444*9a0e4156SSadaf Ebrahimi // DBG_VALUE, BUNDLE, LIFETIME_START, LIFETIME_END, B_s7_irp, B_s7_nrp 445*9a0e4156SSadaf Ebrahimi return; 446*9a0e4156SSadaf Ebrahimi break; 447*9a0e4156SSadaf Ebrahimi case 1: 448*9a0e4156SSadaf Ebrahimi // ABS2_l2_rr, ABS_l1_rr, ADDAB_d1_rir, ADDAB_d1_rrr, ADDAD_d1_rir, ADDAD... 449*9a0e4156SSadaf Ebrahimi printOperand(MI, 1, O); 450*9a0e4156SSadaf Ebrahimi SStream_concat0(O, ", "); 451*9a0e4156SSadaf Ebrahimi break; 452*9a0e4156SSadaf Ebrahimi case 2: 453*9a0e4156SSadaf Ebrahimi // ABS_l1_pp, NORM_l1_pr, SAT_l1_pr, SHL_s1_pip, SHL_s1_prp, SHRU_s1_pip,... 454*9a0e4156SSadaf Ebrahimi printRegPair(MI, 1, O); 455*9a0e4156SSadaf Ebrahimi SStream_concat0(O, ", "); 456*9a0e4156SSadaf Ebrahimi break; 457*9a0e4156SSadaf Ebrahimi case 3: 458*9a0e4156SSadaf Ebrahimi // ADD2_d2_rrr, ADD2_l1_rrr_x2, ADD2_s1_rrr, ADD4_l1_rrr_x2, ADDU_l1_rpp,... 459*9a0e4156SSadaf Ebrahimi printOperand(MI, 2, O); 460*9a0e4156SSadaf Ebrahimi SStream_concat0(O, ", "); 461*9a0e4156SSadaf Ebrahimi break; 462*9a0e4156SSadaf Ebrahimi case 4: 463*9a0e4156SSadaf Ebrahimi // BNOP_s10_ri, BNOP_s9_ii, B_s5_i, B_s6_r, NOP_n, STB_d5_rm, STB_d6_rm, ... 464*9a0e4156SSadaf Ebrahimi printOperand(MI, 0, O); 465*9a0e4156SSadaf Ebrahimi break; 466*9a0e4156SSadaf Ebrahimi case 5: 467*9a0e4156SSadaf Ebrahimi // LDBU_d5_mr, LDB_d5_mr, LDDW_d7_mp, LDHU_d5_mr, LDH_d5_mr, LDNDW_d8_mp,... 468*9a0e4156SSadaf Ebrahimi printMemOperand(MI, 1, O); 469*9a0e4156SSadaf Ebrahimi SStream_concat0(O, ", "); 470*9a0e4156SSadaf Ebrahimi break; 471*9a0e4156SSadaf Ebrahimi case 6: 472*9a0e4156SSadaf Ebrahimi // LDBU_d6_mr, LDB_d6_mr, LDHU_d6_mr, LDH_d6_mr, LDW_d6_mr 473*9a0e4156SSadaf Ebrahimi printMemOperand2(MI, 1, O); 474*9a0e4156SSadaf Ebrahimi SStream_concat0(O, ", "); 475*9a0e4156SSadaf Ebrahimi printOperand(MI, 0, O); 476*9a0e4156SSadaf Ebrahimi return; 477*9a0e4156SSadaf Ebrahimi break; 478*9a0e4156SSadaf Ebrahimi case 7: 479*9a0e4156SSadaf Ebrahimi // STDW_d7_pm, STNDW_d8_pm 480*9a0e4156SSadaf Ebrahimi printRegPair(MI, 0, O); 481*9a0e4156SSadaf Ebrahimi SStream_concat0(O, ", "); 482*9a0e4156SSadaf Ebrahimi printMemOperand(MI, 1, O); 483*9a0e4156SSadaf Ebrahimi return; 484*9a0e4156SSadaf Ebrahimi break; 485*9a0e4156SSadaf Ebrahimi } 486*9a0e4156SSadaf Ebrahimi 487*9a0e4156SSadaf Ebrahimi 488*9a0e4156SSadaf Ebrahimi // Fragment 1 encoded into 3 bits for 7 unique commands. 489*9a0e4156SSadaf Ebrahimi switch ((Bits >> 13) & 7) { 490*9a0e4156SSadaf Ebrahimi default: 491*9a0e4156SSadaf Ebrahimi case 0: 492*9a0e4156SSadaf Ebrahimi // ABS2_l2_rr, ABS_l1_rr, ADDKPC_s3_iir, ADDK_s2_ir, BDEC_s8_ir, BITC4_m2... 493*9a0e4156SSadaf Ebrahimi printOperand(MI, 0, O); 494*9a0e4156SSadaf Ebrahimi break; 495*9a0e4156SSadaf Ebrahimi case 1: 496*9a0e4156SSadaf Ebrahimi // ABS_l1_pp, LDDW_d7_mp, LDNDW_d8_mp 497*9a0e4156SSadaf Ebrahimi printRegPair(MI, 0, O); 498*9a0e4156SSadaf Ebrahimi return; 499*9a0e4156SSadaf Ebrahimi break; 500*9a0e4156SSadaf Ebrahimi case 2: 501*9a0e4156SSadaf Ebrahimi // ADD2_d2_rrr, ADD2_l1_rrr_x2, ADD2_s1_rrr, ADD4_l1_rrr_x2, ADDU_l1_rrp_... 502*9a0e4156SSadaf Ebrahimi printOperand(MI, 1, O); 503*9a0e4156SSadaf Ebrahimi SStream_concat0(O, ", "); 504*9a0e4156SSadaf Ebrahimi break; 505*9a0e4156SSadaf Ebrahimi case 3: 506*9a0e4156SSadaf Ebrahimi // ADDAB_d1_rir, ADDAB_d1_rrr, ADDAD_d1_rir, ADDAD_d1_rrr, ADDAH_d1_rir, ... 507*9a0e4156SSadaf Ebrahimi printOperand(MI, 2, O); 508*9a0e4156SSadaf Ebrahimi SStream_concat0(O, ", "); 509*9a0e4156SSadaf Ebrahimi break; 510*9a0e4156SSadaf Ebrahimi case 4: 511*9a0e4156SSadaf Ebrahimi // ADDU_l1_rpp, ADD_l1_ipp, ADD_l1_rpp, CMPEQ_l1_ipr, CMPEQ_l1_rpr, CMPGT... 512*9a0e4156SSadaf Ebrahimi printRegPair(MI, 1, O); 513*9a0e4156SSadaf Ebrahimi SStream_concat0(O, ", "); 514*9a0e4156SSadaf Ebrahimi break; 515*9a0e4156SSadaf Ebrahimi case 5: 516*9a0e4156SSadaf Ebrahimi // BNOP_s10_ri, BNOP_s9_ii, STB_d5_rm, STB_d6_rm, STH_d5_rm, STH_d6_rm, S... 517*9a0e4156SSadaf Ebrahimi SStream_concat0(O, ", "); 518*9a0e4156SSadaf Ebrahimi break; 519*9a0e4156SSadaf Ebrahimi case 6: 520*9a0e4156SSadaf Ebrahimi // B_s5_i, B_s6_r, NOP_n 521*9a0e4156SSadaf Ebrahimi return; 522*9a0e4156SSadaf Ebrahimi break; 523*9a0e4156SSadaf Ebrahimi } 524*9a0e4156SSadaf Ebrahimi 525*9a0e4156SSadaf Ebrahimi 526*9a0e4156SSadaf Ebrahimi // Fragment 2 encoded into 3 bits for 8 unique commands. 527*9a0e4156SSadaf Ebrahimi switch ((Bits >> 16) & 7) { 528*9a0e4156SSadaf Ebrahimi default: 529*9a0e4156SSadaf Ebrahimi case 0: 530*9a0e4156SSadaf Ebrahimi // ABS2_l2_rr, ABS_l1_rr, ADDK_s2_ir, BDEC_s8_ir, BITC4_m2_rr, BPOS_s8_ir... 531*9a0e4156SSadaf Ebrahimi return; 532*9a0e4156SSadaf Ebrahimi break; 533*9a0e4156SSadaf Ebrahimi case 1: 534*9a0e4156SSadaf Ebrahimi // ADD2_d2_rrr, ADD2_l1_rrr_x2, ADD2_s1_rrr, ADD4_l1_rrr_x2, ADDAB_d1_rir... 535*9a0e4156SSadaf Ebrahimi printOperand(MI, 0, O); 536*9a0e4156SSadaf Ebrahimi return; 537*9a0e4156SSadaf Ebrahimi break; 538*9a0e4156SSadaf Ebrahimi case 2: 539*9a0e4156SSadaf Ebrahimi // ADDKPC_s3_iir 540*9a0e4156SSadaf Ebrahimi SStream_concat0(O, ", "); 541*9a0e4156SSadaf Ebrahimi printOperand(MI, 2, O); 542*9a0e4156SSadaf Ebrahimi return; 543*9a0e4156SSadaf Ebrahimi break; 544*9a0e4156SSadaf Ebrahimi case 3: 545*9a0e4156SSadaf Ebrahimi // ADDU_l1_rpp, ADDU_l1_rrp_x2, ADD_l1_ipp, ADD_l1_rpp, ADD_l1_rrp_x2, DO... 546*9a0e4156SSadaf Ebrahimi printRegPair(MI, 0, O); 547*9a0e4156SSadaf Ebrahimi return; 548*9a0e4156SSadaf Ebrahimi break; 549*9a0e4156SSadaf Ebrahimi case 4: 550*9a0e4156SSadaf Ebrahimi // BNOP_s10_ri, BNOP_s9_ii 551*9a0e4156SSadaf Ebrahimi printOperand(MI, 1, O); 552*9a0e4156SSadaf Ebrahimi return; 553*9a0e4156SSadaf Ebrahimi break; 554*9a0e4156SSadaf Ebrahimi case 5: 555*9a0e4156SSadaf Ebrahimi // CLR_s15_riir, EXTU_s15_riir, EXT_s15_riir, SET_s15_riir 556*9a0e4156SSadaf Ebrahimi printOperand(MI, 3, O); 557*9a0e4156SSadaf Ebrahimi SStream_concat0(O, ", "); 558*9a0e4156SSadaf Ebrahimi printOperand(MI, 0, O); 559*9a0e4156SSadaf Ebrahimi return; 560*9a0e4156SSadaf Ebrahimi break; 561*9a0e4156SSadaf Ebrahimi case 6: 562*9a0e4156SSadaf Ebrahimi // STB_d5_rm, STH_d5_rm, STNW_d5_rm, STW_d5_rm 563*9a0e4156SSadaf Ebrahimi printMemOperand(MI, 1, O); 564*9a0e4156SSadaf Ebrahimi return; 565*9a0e4156SSadaf Ebrahimi break; 566*9a0e4156SSadaf Ebrahimi case 7: 567*9a0e4156SSadaf Ebrahimi // STB_d6_rm, STH_d6_rm, STW_d6_rm 568*9a0e4156SSadaf Ebrahimi printMemOperand2(MI, 1, O); 569*9a0e4156SSadaf Ebrahimi return; 570*9a0e4156SSadaf Ebrahimi break; 571*9a0e4156SSadaf Ebrahimi } 572*9a0e4156SSadaf Ebrahimi 573*9a0e4156SSadaf Ebrahimi} 574*9a0e4156SSadaf Ebrahimi 575*9a0e4156SSadaf Ebrahimi 576*9a0e4156SSadaf Ebrahimi/// getRegisterName - This method is automatically generated by tblgen 577*9a0e4156SSadaf Ebrahimi/// from the register set description. This returns the assembler name 578*9a0e4156SSadaf Ebrahimi/// for the specified register. 579*9a0e4156SSadaf Ebrahimistatic char *getRegisterName(unsigned RegNo) { 580*9a0e4156SSadaf Ebrahimi#ifndef CAPSTONE_DIET 581*9a0e4156SSadaf Ebrahimi static char AsmStrs[] = { 582*9a0e4156SSadaf Ebrahimi /* 0 */ 'a', '1', '0', 0, 583*9a0e4156SSadaf Ebrahimi /* 4 */ 'b', '1', '0', 0, 584*9a0e4156SSadaf Ebrahimi /* 8 */ 'a', '2', '0', 0, 585*9a0e4156SSadaf Ebrahimi /* 12 */ 'b', '2', '0', 0, 586*9a0e4156SSadaf Ebrahimi /* 16 */ 'a', '3', '0', 0, 587*9a0e4156SSadaf Ebrahimi /* 20 */ 'b', '3', '0', 0, 588*9a0e4156SSadaf Ebrahimi /* 24 */ 'a', '0', 0, 589*9a0e4156SSadaf Ebrahimi /* 27 */ 'b', '0', 0, 590*9a0e4156SSadaf Ebrahimi /* 30 */ 'a', '1', '1', 0, 591*9a0e4156SSadaf Ebrahimi /* 34 */ 'b', '1', '1', 0, 592*9a0e4156SSadaf Ebrahimi /* 38 */ 'a', '2', '1', 0, 593*9a0e4156SSadaf Ebrahimi /* 42 */ 'b', '2', '1', 0, 594*9a0e4156SSadaf Ebrahimi /* 46 */ 'a', '3', '1', 0, 595*9a0e4156SSadaf Ebrahimi /* 50 */ 'b', '3', '1', 0, 596*9a0e4156SSadaf Ebrahimi /* 54 */ 'a', '1', 0, 597*9a0e4156SSadaf Ebrahimi /* 57 */ 'b', '1', 0, 598*9a0e4156SSadaf Ebrahimi /* 60 */ 'p', 'c', 'e', '1', 0, 599*9a0e4156SSadaf Ebrahimi /* 65 */ 'a', '1', '2', 0, 600*9a0e4156SSadaf Ebrahimi /* 69 */ 'b', '1', '2', 0, 601*9a0e4156SSadaf Ebrahimi /* 73 */ 'a', '2', '2', 0, 602*9a0e4156SSadaf Ebrahimi /* 77 */ 'b', '2', '2', 0, 603*9a0e4156SSadaf Ebrahimi /* 81 */ 'a', '2', 0, 604*9a0e4156SSadaf Ebrahimi /* 84 */ 'b', '2', 0, 605*9a0e4156SSadaf Ebrahimi /* 87 */ 'a', '1', '3', 0, 606*9a0e4156SSadaf Ebrahimi /* 91 */ 'b', '1', '3', 0, 607*9a0e4156SSadaf Ebrahimi /* 95 */ 'a', '2', '3', 0, 608*9a0e4156SSadaf Ebrahimi /* 99 */ 'b', '2', '3', 0, 609*9a0e4156SSadaf Ebrahimi /* 103 */ 'a', '3', 0, 610*9a0e4156SSadaf Ebrahimi /* 106 */ 'b', '3', 0, 611*9a0e4156SSadaf Ebrahimi /* 109 */ 'a', '1', '4', 0, 612*9a0e4156SSadaf Ebrahimi /* 113 */ 'b', '1', '4', 0, 613*9a0e4156SSadaf Ebrahimi /* 117 */ 'a', '2', '4', 0, 614*9a0e4156SSadaf Ebrahimi /* 121 */ 'b', '2', '4', 0, 615*9a0e4156SSadaf Ebrahimi /* 125 */ 'a', '4', 0, 616*9a0e4156SSadaf Ebrahimi /* 128 */ 'b', '4', 0, 617*9a0e4156SSadaf Ebrahimi /* 131 */ 'a', '1', '5', 0, 618*9a0e4156SSadaf Ebrahimi /* 135 */ 'b', '1', '5', 0, 619*9a0e4156SSadaf Ebrahimi /* 139 */ 'a', '2', '5', 0, 620*9a0e4156SSadaf Ebrahimi /* 143 */ 'b', '2', '5', 0, 621*9a0e4156SSadaf Ebrahimi /* 147 */ 'a', '5', 0, 622*9a0e4156SSadaf Ebrahimi /* 150 */ 'b', '5', 0, 623*9a0e4156SSadaf Ebrahimi /* 153 */ 'a', '1', '6', 0, 624*9a0e4156SSadaf Ebrahimi /* 157 */ 'b', '1', '6', 0, 625*9a0e4156SSadaf Ebrahimi /* 161 */ 'a', '2', '6', 0, 626*9a0e4156SSadaf Ebrahimi /* 165 */ 'b', '2', '6', 0, 627*9a0e4156SSadaf Ebrahimi /* 169 */ 'a', '6', 0, 628*9a0e4156SSadaf Ebrahimi /* 172 */ 'b', '6', 0, 629*9a0e4156SSadaf Ebrahimi /* 175 */ 'a', '1', '7', 0, 630*9a0e4156SSadaf Ebrahimi /* 179 */ 'b', '1', '7', 0, 631*9a0e4156SSadaf Ebrahimi /* 183 */ 'a', '2', '7', 0, 632*9a0e4156SSadaf Ebrahimi /* 187 */ 'b', '2', '7', 0, 633*9a0e4156SSadaf Ebrahimi /* 191 */ 'a', '7', 0, 634*9a0e4156SSadaf Ebrahimi /* 194 */ 'b', '7', 0, 635*9a0e4156SSadaf Ebrahimi /* 197 */ 'a', '1', '8', 0, 636*9a0e4156SSadaf Ebrahimi /* 201 */ 'b', '1', '8', 0, 637*9a0e4156SSadaf Ebrahimi /* 205 */ 'a', '2', '8', 0, 638*9a0e4156SSadaf Ebrahimi /* 209 */ 'b', '2', '8', 0, 639*9a0e4156SSadaf Ebrahimi /* 213 */ 'a', '8', 0, 640*9a0e4156SSadaf Ebrahimi /* 216 */ 'b', '8', 0, 641*9a0e4156SSadaf Ebrahimi /* 219 */ 'a', '1', '9', 0, 642*9a0e4156SSadaf Ebrahimi /* 223 */ 'b', '1', '9', 0, 643*9a0e4156SSadaf Ebrahimi /* 227 */ 'a', '2', '9', 0, 644*9a0e4156SSadaf Ebrahimi /* 231 */ 'b', '2', '9', 0, 645*9a0e4156SSadaf Ebrahimi /* 235 */ 'a', '9', 0, 646*9a0e4156SSadaf Ebrahimi /* 238 */ 'b', '9', 0, 647*9a0e4156SSadaf Ebrahimi /* 241 */ 'g', 'p', 'l', 'y', 'a', 0, 648*9a0e4156SSadaf Ebrahimi /* 247 */ 'g', 'p', 'l', 'y', 'b', 0, 649*9a0e4156SSadaf Ebrahimi /* 253 */ 'r', 'i', 'l', 'c', 0, 650*9a0e4156SSadaf Ebrahimi /* 258 */ 't', 's', 'c', 'h', 0, 651*9a0e4156SSadaf Ebrahimi /* 263 */ 't', 's', 'c', 'l', 0, 652*9a0e4156SSadaf Ebrahimi /* 268 */ 'd', 'n', 'u', 'm', 0, 653*9a0e4156SSadaf Ebrahimi /* 273 */ 'r', 'e', 'p', 0, 654*9a0e4156SSadaf Ebrahimi /* 277 */ 'i', 'r', 'p', 0, 655*9a0e4156SSadaf Ebrahimi /* 281 */ 'n', 'r', 'p', 0, 656*9a0e4156SSadaf Ebrahimi /* 285 */ 'i', 's', 't', 'p', 0, 657*9a0e4156SSadaf Ebrahimi /* 290 */ 'e', 'c', 'r', 0, 658*9a0e4156SSadaf Ebrahimi /* 294 */ 'i', 'c', 'r', 0, 659*9a0e4156SSadaf Ebrahimi /* 298 */ 'd', 'i', 'e', 'r', 0, 660*9a0e4156SSadaf Ebrahimi /* 303 */ 'g', 'f', 'p', 'g', 'f', 'r', 0, 661*9a0e4156SSadaf Ebrahimi /* 310 */ 'a', 'm', 'r', 0, 662*9a0e4156SSadaf Ebrahimi /* 314 */ 'i', 'e', 'r', 'r', 0, 663*9a0e4156SSadaf Ebrahimi /* 319 */ 'c', 's', 'r', 0, 664*9a0e4156SSadaf Ebrahimi /* 323 */ 'i', 's', 'r', 0, 665*9a0e4156SSadaf Ebrahimi /* 327 */ 's', 's', 'r', 0, 666*9a0e4156SSadaf Ebrahimi /* 331 */ 'i', 't', 's', 'r', 0, 667*9a0e4156SSadaf Ebrahimi /* 336 */ 'n', 't', 's', 'r', 0, 668*9a0e4156SSadaf Ebrahimi }; 669*9a0e4156SSadaf Ebrahimi 670*9a0e4156SSadaf Ebrahimi static const uint16_t RegAsmOffset[] = { 671*9a0e4156SSadaf Ebrahimi 310, 319, 298, 268, 290, 303, 241, 247, 294, 299, 314, 254, 277, 323, 672*9a0e4156SSadaf Ebrahimi 285, 331, 281, 336, 273, 253, 327, 258, 263, 332, 24, 54, 81, 103, 673*9a0e4156SSadaf Ebrahimi 125, 147, 169, 191, 213, 235, 0, 30, 65, 87, 109, 131, 153, 175, 674*9a0e4156SSadaf Ebrahimi 197, 219, 8, 38, 73, 95, 117, 139, 161, 183, 205, 227, 16, 46, 675*9a0e4156SSadaf Ebrahimi 27, 57, 84, 106, 128, 150, 172, 194, 216, 238, 4, 34, 69, 91, 676*9a0e4156SSadaf Ebrahimi 113, 135, 157, 179, 201, 223, 12, 42, 77, 99, 121, 143, 165, 187, 677*9a0e4156SSadaf Ebrahimi 209, 231, 20, 50, 60, 678*9a0e4156SSadaf Ebrahimi }; 679*9a0e4156SSadaf Ebrahimi 680*9a0e4156SSadaf Ebrahimi return AsmStrs+RegAsmOffset[RegNo-1]; 681*9a0e4156SSadaf Ebrahimi#else 682*9a0e4156SSadaf Ebrahimi return NULL; 683*9a0e4156SSadaf Ebrahimi#endif 684*9a0e4156SSadaf Ebrahimi} 685