1*9a0e4156SSadaf Ebrahimi/*===- TableGen'erated file -------------------------------------*- C++ -*-===*\ 2*9a0e4156SSadaf Ebrahimi|* *| 3*9a0e4156SSadaf Ebrahimi|* * TMS320C64x Disassembler *| 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 "../../MCInst.h" 10*9a0e4156SSadaf Ebrahimi#include "../../LEB128.h" 11*9a0e4156SSadaf Ebrahimi 12*9a0e4156SSadaf Ebrahimi// Helper function for extracting fields from encoded instructions. 13*9a0e4156SSadaf Ebrahimi#define FieldFromInstruction(fname, InsnType) \ 14*9a0e4156SSadaf Ebrahimistatic InsnType fname(InsnType insn, unsigned startBit, \ 15*9a0e4156SSadaf Ebrahimi unsigned numBits) { \ 16*9a0e4156SSadaf Ebrahimi InsnType fieldMask; \ 17*9a0e4156SSadaf Ebrahimi if (numBits == sizeof(InsnType)*8) \ 18*9a0e4156SSadaf Ebrahimi fieldMask = (InsnType)(-1LL); \ 19*9a0e4156SSadaf Ebrahimi else \ 20*9a0e4156SSadaf Ebrahimi fieldMask = (((InsnType)1 << numBits) - 1) << startBit; \ 21*9a0e4156SSadaf Ebrahimi return (insn & fieldMask) >> startBit; \ 22*9a0e4156SSadaf Ebrahimi} 23*9a0e4156SSadaf Ebrahimi 24*9a0e4156SSadaf Ebrahimistatic uint8_t DecoderTable32[] = { 25*9a0e4156SSadaf Ebrahimi/* 0 */ MCD_OPC_ExtractField, 2, 5, // Inst{6-2} ... 26*9a0e4156SSadaf Ebrahimi/* 3 */ MCD_OPC_FilterValue, 0, 199, 0, // Skip to: 206 27*9a0e4156SSadaf Ebrahimi/* 7 */ MCD_OPC_ExtractField, 7, 5, // Inst{11-7} ... 28*9a0e4156SSadaf Ebrahimi/* 10 */ MCD_OPC_FilterValue, 0, 16, 0, // Skip to: 30 29*9a0e4156SSadaf Ebrahimi/* 14 */ MCD_OPC_CheckField, 17, 11, 0, 153, 8, // Skip to: 2221 30*9a0e4156SSadaf Ebrahimi/* 20 */ MCD_OPC_CheckField, 12, 1, 0, 147, 8, // Skip to: 2221 31*9a0e4156SSadaf Ebrahimi/* 26 */ MCD_OPC_Decode, 162, 1, 0, // Opcode: NOP_n 32*9a0e4156SSadaf Ebrahimi/* 30 */ MCD_OPC_FilterValue, 1, 4, 0, // Skip to: 38 33*9a0e4156SSadaf Ebrahimi/* 34 */ MCD_OPC_Decode, 140, 1, 1, // Opcode: MPYH_m4_rrr 34*9a0e4156SSadaf Ebrahimi/* 38 */ MCD_OPC_FilterValue, 2, 4, 0, // Skip to: 46 35*9a0e4156SSadaf Ebrahimi/* 42 */ MCD_OPC_Decode, 219, 1, 1, // Opcode: SMPYH_m4_rrr 36*9a0e4156SSadaf Ebrahimi/* 46 */ MCD_OPC_FilterValue, 3, 4, 0, // Skip to: 54 37*9a0e4156SSadaf Ebrahimi/* 50 */ MCD_OPC_Decode, 136, 1, 1, // Opcode: MPYHSU_m4_rrr 38*9a0e4156SSadaf Ebrahimi/* 54 */ MCD_OPC_FilterValue, 5, 4, 0, // Skip to: 62 39*9a0e4156SSadaf Ebrahimi/* 58 */ MCD_OPC_Decode, 138, 1, 1, // Opcode: MPYHUS_m4_rrr 40*9a0e4156SSadaf Ebrahimi/* 62 */ MCD_OPC_FilterValue, 7, 4, 0, // Skip to: 70 41*9a0e4156SSadaf Ebrahimi/* 66 */ MCD_OPC_Decode, 139, 1, 1, // Opcode: MPYHU_m4_rrr 42*9a0e4156SSadaf Ebrahimi/* 70 */ MCD_OPC_FilterValue, 9, 4, 0, // Skip to: 78 43*9a0e4156SSadaf Ebrahimi/* 74 */ MCD_OPC_Decode, 134, 1, 1, // Opcode: MPYHL_m4_rrr 44*9a0e4156SSadaf Ebrahimi/* 78 */ MCD_OPC_FilterValue, 10, 4, 0, // Skip to: 86 45*9a0e4156SSadaf Ebrahimi/* 82 */ MCD_OPC_Decode, 218, 1, 1, // Opcode: SMPYHL_m4_rrr 46*9a0e4156SSadaf Ebrahimi/* 86 */ MCD_OPC_FilterValue, 11, 4, 0, // Skip to: 94 47*9a0e4156SSadaf Ebrahimi/* 90 */ MCD_OPC_Decode, 135, 1, 1, // Opcode: MPYHSLU_m4_rrr 48*9a0e4156SSadaf Ebrahimi/* 94 */ MCD_OPC_FilterValue, 13, 4, 0, // Skip to: 102 49*9a0e4156SSadaf Ebrahimi/* 98 */ MCD_OPC_Decode, 137, 1, 1, // Opcode: MPYHULS_m4_rrr 50*9a0e4156SSadaf Ebrahimi/* 102 */ MCD_OPC_FilterValue, 15, 4, 0, // Skip to: 110 51*9a0e4156SSadaf Ebrahimi/* 106 */ MCD_OPC_Decode, 133, 1, 1, // Opcode: MPYHLU_m4_rrr 52*9a0e4156SSadaf Ebrahimi/* 110 */ MCD_OPC_FilterValue, 17, 4, 0, // Skip to: 118 53*9a0e4156SSadaf Ebrahimi/* 114 */ MCD_OPC_Decode, 142, 1, 1, // Opcode: MPYLH_m4_rrr 54*9a0e4156SSadaf Ebrahimi/* 118 */ MCD_OPC_FilterValue, 18, 4, 0, // Skip to: 126 55*9a0e4156SSadaf Ebrahimi/* 122 */ MCD_OPC_Decode, 220, 1, 1, // Opcode: SMPYLH_m4_rrr 56*9a0e4156SSadaf Ebrahimi/* 126 */ MCD_OPC_FilterValue, 19, 4, 0, // Skip to: 134 57*9a0e4156SSadaf Ebrahimi/* 130 */ MCD_OPC_Decode, 145, 1, 1, // Opcode: MPYLSHU_m4_rrr 58*9a0e4156SSadaf Ebrahimi/* 134 */ MCD_OPC_FilterValue, 21, 4, 0, // Skip to: 142 59*9a0e4156SSadaf Ebrahimi/* 138 */ MCD_OPC_Decode, 146, 1, 1, // Opcode: MPYLUHS_m4_rrr 60*9a0e4156SSadaf Ebrahimi/* 142 */ MCD_OPC_FilterValue, 23, 4, 0, // Skip to: 150 61*9a0e4156SSadaf Ebrahimi/* 146 */ MCD_OPC_Decode, 141, 1, 1, // Opcode: MPYLHU_m4_rrr 62*9a0e4156SSadaf Ebrahimi/* 150 */ MCD_OPC_FilterValue, 24, 4, 0, // Skip to: 158 63*9a0e4156SSadaf Ebrahimi/* 154 */ MCD_OPC_Decode, 153, 1, 2, // Opcode: MPY_m4_irr 64*9a0e4156SSadaf Ebrahimi/* 158 */ MCD_OPC_FilterValue, 25, 4, 0, // Skip to: 166 65*9a0e4156SSadaf Ebrahimi/* 162 */ MCD_OPC_Decode, 154, 1, 1, // Opcode: MPY_m4_rrr 66*9a0e4156SSadaf Ebrahimi/* 166 */ MCD_OPC_FilterValue, 26, 4, 0, // Skip to: 174 67*9a0e4156SSadaf Ebrahimi/* 170 */ MCD_OPC_Decode, 221, 1, 1, // Opcode: SMPY_m4_rrr 68*9a0e4156SSadaf Ebrahimi/* 174 */ MCD_OPC_FilterValue, 27, 4, 0, // Skip to: 182 69*9a0e4156SSadaf Ebrahimi/* 178 */ MCD_OPC_Decode, 149, 1, 1, // Opcode: MPYSU_m4_rrr 70*9a0e4156SSadaf Ebrahimi/* 182 */ MCD_OPC_FilterValue, 29, 4, 0, // Skip to: 190 71*9a0e4156SSadaf Ebrahimi/* 186 */ MCD_OPC_Decode, 151, 1, 1, // Opcode: MPYUS_m4_rrr 72*9a0e4156SSadaf Ebrahimi/* 190 */ MCD_OPC_FilterValue, 30, 4, 0, // Skip to: 198 73*9a0e4156SSadaf Ebrahimi/* 194 */ MCD_OPC_Decode, 148, 1, 2, // Opcode: MPYSU_m4_irr 74*9a0e4156SSadaf Ebrahimi/* 198 */ MCD_OPC_FilterValue, 31, 227, 7, // Skip to: 2221 75*9a0e4156SSadaf Ebrahimi/* 202 */ MCD_OPC_Decode, 152, 1, 1, // Opcode: MPYU_m4_rrr 76*9a0e4156SSadaf Ebrahimi/* 206 */ MCD_OPC_FilterValue, 1, 9, 0, // Skip to: 219 77*9a0e4156SSadaf Ebrahimi/* 210 */ MCD_OPC_CheckField, 8, 1, 0, 213, 7, // Skip to: 2221 78*9a0e4156SSadaf Ebrahimi/* 216 */ MCD_OPC_Decode, 116, 3, // Opcode: LDHU_d5_mr 79*9a0e4156SSadaf Ebrahimi/* 219 */ MCD_OPC_FilterValue, 2, 18, 0, // Skip to: 241 80*9a0e4156SSadaf Ebrahimi/* 223 */ MCD_OPC_ExtractField, 7, 1, // Inst{7} ... 81*9a0e4156SSadaf Ebrahimi/* 226 */ MCD_OPC_FilterValue, 0, 3, 0, // Skip to: 233 82*9a0e4156SSadaf Ebrahimi/* 230 */ MCD_OPC_Decode, 102, 4, // Opcode: EXTU_s15_riir 83*9a0e4156SSadaf Ebrahimi/* 233 */ MCD_OPC_FilterValue, 1, 192, 7, // Skip to: 2221 84*9a0e4156SSadaf Ebrahimi/* 237 */ MCD_OPC_Decode, 192, 1, 4, // Opcode: SET_s15_riir 85*9a0e4156SSadaf Ebrahimi/* 241 */ MCD_OPC_FilterValue, 3, 3, 0, // Skip to: 248 86*9a0e4156SSadaf Ebrahimi/* 245 */ MCD_OPC_Decode, 117, 5, // Opcode: LDHU_d6_mr 87*9a0e4156SSadaf Ebrahimi/* 248 */ MCD_OPC_FilterValue, 4, 3, 0, // Skip to: 255 88*9a0e4156SSadaf Ebrahimi/* 252 */ MCD_OPC_Decode, 68, 6, // Opcode: B_s5_i 89*9a0e4156SSadaf Ebrahimi/* 255 */ MCD_OPC_FilterValue, 5, 9, 0, // Skip to: 268 90*9a0e4156SSadaf Ebrahimi/* 259 */ MCD_OPC_CheckField, 8, 1, 0, 164, 7, // Skip to: 2221 91*9a0e4156SSadaf Ebrahimi/* 265 */ MCD_OPC_Decode, 111, 3, // Opcode: LDBU_d5_mr 92*9a0e4156SSadaf Ebrahimi/* 268 */ MCD_OPC_FilterValue, 6, 157, 0, // Skip to: 429 93*9a0e4156SSadaf Ebrahimi/* 272 */ MCD_OPC_ExtractField, 7, 5, // Inst{11-7} ... 94*9a0e4156SSadaf Ebrahimi/* 275 */ MCD_OPC_FilterValue, 0, 4, 0, // Skip to: 283 95*9a0e4156SSadaf Ebrahimi/* 279 */ MCD_OPC_Decode, 171, 1, 1, // Opcode: PACK2_l1_rrr_x2 96*9a0e4156SSadaf Ebrahimi/* 283 */ MCD_OPC_FilterValue, 1, 4, 0, // Skip to: 291 97*9a0e4156SSadaf Ebrahimi/* 287 */ MCD_OPC_Decode, 242, 1, 1, // Opcode: SUB2_l1_rrr_x2 98*9a0e4156SSadaf Ebrahimi/* 291 */ MCD_OPC_FilterValue, 7, 4, 0, // Skip to: 299 99*9a0e4156SSadaf Ebrahimi/* 295 */ MCD_OPC_Decode, 176, 1, 1, // Opcode: PACKHL2_l1_rrr_x2 100*9a0e4156SSadaf Ebrahimi/* 299 */ MCD_OPC_FilterValue, 8, 3, 0, // Skip to: 306 101*9a0e4156SSadaf Ebrahimi/* 303 */ MCD_OPC_Decode, 45, 7, // Opcode: ADD_l1_ipp 102*9a0e4156SSadaf Ebrahimi/* 306 */ MCD_OPC_FilterValue, 9, 4, 0, // Skip to: 314 103*9a0e4156SSadaf Ebrahimi/* 310 */ MCD_OPC_Decode, 130, 2, 7, // Opcode: SUB_l1_ipp 104*9a0e4156SSadaf Ebrahimi/* 314 */ MCD_OPC_FilterValue, 11, 4, 0, // Skip to: 322 105*9a0e4156SSadaf Ebrahimi/* 318 */ MCD_OPC_Decode, 228, 1, 7, // Opcode: SSUB_l1_ipp 106*9a0e4156SSadaf Ebrahimi/* 322 */ MCD_OPC_FilterValue, 12, 4, 0, // Skip to: 330 107*9a0e4156SSadaf Ebrahimi/* 326 */ MCD_OPC_Decode, 186, 1, 7, // Opcode: SADD_l1_ipp 108*9a0e4156SSadaf Ebrahimi/* 330 */ MCD_OPC_FilterValue, 14, 9, 0, // Skip to: 343 109*9a0e4156SSadaf Ebrahimi/* 334 */ MCD_OPC_CheckField, 13, 5, 0, 89, 7, // Skip to: 2221 110*9a0e4156SSadaf Ebrahimi/* 340 */ MCD_OPC_Decode, 23, 8, // Opcode: ABS_l1_pp 111*9a0e4156SSadaf Ebrahimi/* 343 */ MCD_OPC_FilterValue, 16, 10, 0, // Skip to: 357 112*9a0e4156SSadaf Ebrahimi/* 347 */ MCD_OPC_CheckField, 13, 5, 0, 76, 7, // Skip to: 2221 113*9a0e4156SSadaf Ebrahimi/* 353 */ MCD_OPC_Decode, 191, 1, 9, // Opcode: SAT_l1_pr 114*9a0e4156SSadaf Ebrahimi/* 357 */ MCD_OPC_FilterValue, 17, 3, 0, // Skip to: 364 115*9a0e4156SSadaf Ebrahimi/* 361 */ MCD_OPC_Decode, 82, 10, // Opcode: CMPGT_l1_ipr 116*9a0e4156SSadaf Ebrahimi/* 364 */ MCD_OPC_FilterValue, 18, 4, 0, // Skip to: 372 117*9a0e4156SSadaf Ebrahimi/* 368 */ MCD_OPC_Decode, 129, 1, 1, // Opcode: MINU4_l1_rrr_x2 118*9a0e4156SSadaf Ebrahimi/* 372 */ MCD_OPC_FilterValue, 19, 3, 0, // Skip to: 379 119*9a0e4156SSadaf Ebrahimi/* 376 */ MCD_OPC_Decode, 106, 11, // Opcode: GMPGTU_l1_ipr 120*9a0e4156SSadaf Ebrahimi/* 379 */ MCD_OPC_FilterValue, 20, 3, 0, // Skip to: 386 121*9a0e4156SSadaf Ebrahimi/* 383 */ MCD_OPC_Decode, 76, 10, // Opcode: CMPEQ_l1_ipr 122*9a0e4156SSadaf Ebrahimi/* 386 */ MCD_OPC_FilterValue, 21, 3, 0, // Skip to: 393 123*9a0e4156SSadaf Ebrahimi/* 390 */ MCD_OPC_Decode, 90, 10, // Opcode: CMPLT_l1_ipr 124*9a0e4156SSadaf Ebrahimi/* 393 */ MCD_OPC_FilterValue, 23, 3, 0, // Skip to: 400 125*9a0e4156SSadaf Ebrahimi/* 397 */ MCD_OPC_Decode, 86, 11, // Opcode: CMPLTU_l1_ipr 126*9a0e4156SSadaf Ebrahimi/* 400 */ MCD_OPC_FilterValue, 24, 10, 0, // Skip to: 414 127*9a0e4156SSadaf Ebrahimi/* 404 */ MCD_OPC_CheckField, 13, 5, 0, 19, 7, // Skip to: 2221 128*9a0e4156SSadaf Ebrahimi/* 410 */ MCD_OPC_Decode, 163, 1, 12, // Opcode: NORM_l1_pr 129*9a0e4156SSadaf Ebrahimi/* 414 */ MCD_OPC_FilterValue, 26, 4, 0, // Skip to: 422 130*9a0e4156SSadaf Ebrahimi/* 418 */ MCD_OPC_Decode, 178, 1, 1, // Opcode: PACKL4_l1_rrr_x2 131*9a0e4156SSadaf Ebrahimi/* 422 */ MCD_OPC_FilterValue, 31, 3, 7, // Skip to: 2221 132*9a0e4156SSadaf Ebrahimi/* 426 */ MCD_OPC_Decode, 53, 1, // Opcode: ANDN_l1_rrr_x2 133*9a0e4156SSadaf Ebrahimi/* 429 */ MCD_OPC_FilterValue, 7, 3, 0, // Skip to: 436 134*9a0e4156SSadaf Ebrahimi/* 433 */ MCD_OPC_Decode, 112, 5, // Opcode: LDBU_d6_mr 135*9a0e4156SSadaf Ebrahimi/* 436 */ MCD_OPC_FilterValue, 8, 222, 0, // Skip to: 662 136*9a0e4156SSadaf Ebrahimi/* 440 */ MCD_OPC_ExtractField, 7, 5, // Inst{11-7} ... 137*9a0e4156SSadaf Ebrahimi/* 443 */ MCD_OPC_FilterValue, 0, 17, 0, // Skip to: 464 138*9a0e4156SSadaf Ebrahimi/* 447 */ MCD_OPC_ExtractField, 12, 1, // Inst{12} ... 139*9a0e4156SSadaf Ebrahimi/* 450 */ MCD_OPC_FilterValue, 0, 3, 0, // Skip to: 457 140*9a0e4156SSadaf Ebrahimi/* 454 */ MCD_OPC_Decode, 67, 13, // Opcode: BPOS_s8_ir 141*9a0e4156SSadaf Ebrahimi/* 457 */ MCD_OPC_FilterValue, 1, 224, 6, // Skip to: 2221 142*9a0e4156SSadaf Ebrahimi/* 461 */ MCD_OPC_Decode, 63, 13, // Opcode: BDEC_s8_ir 143*9a0e4156SSadaf Ebrahimi/* 464 */ MCD_OPC_FilterValue, 2, 9, 0, // Skip to: 477 144*9a0e4156SSadaf Ebrahimi/* 468 */ MCD_OPC_CheckField, 12, 1, 0, 211, 6, // Skip to: 2221 145*9a0e4156SSadaf Ebrahimi/* 474 */ MCD_OPC_Decode, 66, 14, // Opcode: BNOP_s9_ii 146*9a0e4156SSadaf Ebrahimi/* 477 */ MCD_OPC_FilterValue, 3, 3, 0, // Skip to: 484 147*9a0e4156SSadaf Ebrahimi/* 481 */ MCD_OPC_Decode, 50, 2, // Opcode: ADD_s1_irr 148*9a0e4156SSadaf Ebrahimi/* 484 */ MCD_OPC_FilterValue, 4, 4, 0, // Skip to: 492 149*9a0e4156SSadaf Ebrahimi/* 488 */ MCD_OPC_Decode, 177, 1, 1, // Opcode: PACKHL2_s1_rrr 150*9a0e4156SSadaf Ebrahimi/* 492 */ MCD_OPC_FilterValue, 5, 4, 0, // Skip to: 500 151*9a0e4156SSadaf Ebrahimi/* 496 */ MCD_OPC_Decode, 148, 2, 2, // Opcode: XOR_s1_irr 152*9a0e4156SSadaf Ebrahimi/* 500 */ MCD_OPC_FilterValue, 7, 10, 0, // Skip to: 514 153*9a0e4156SSadaf Ebrahimi/* 504 */ MCD_OPC_CheckField, 13, 5, 0, 175, 6, // Skip to: 2221 154*9a0e4156SSadaf Ebrahimi/* 510 */ MCD_OPC_Decode, 156, 1, 15, // Opcode: MVC_s1_rr2 155*9a0e4156SSadaf Ebrahimi/* 514 */ MCD_OPC_FilterValue, 8, 4, 0, // Skip to: 522 156*9a0e4156SSadaf Ebrahimi/* 518 */ MCD_OPC_Decode, 180, 1, 1, // Opcode: PACKLH2_s1_rrr 157*9a0e4156SSadaf Ebrahimi/* 522 */ MCD_OPC_FilterValue, 9, 4, 0, // Skip to: 530 158*9a0e4156SSadaf Ebrahimi/* 526 */ MCD_OPC_Decode, 199, 1, 16, // Opcode: SHL_s1_rip 159*9a0e4156SSadaf Ebrahimi/* 530 */ MCD_OPC_FilterValue, 10, 3, 0, // Skip to: 537 160*9a0e4156SSadaf Ebrahimi/* 534 */ MCD_OPC_Decode, 80, 1, // Opcode: CMPGT2_s1_rrr 161*9a0e4156SSadaf Ebrahimi/* 537 */ MCD_OPC_FilterValue, 11, 4, 0, // Skip to: 545 162*9a0e4156SSadaf Ebrahimi/* 541 */ MCD_OPC_Decode, 136, 2, 2, // Opcode: SUB_s1_irr 163*9a0e4156SSadaf Ebrahimi/* 545 */ MCD_OPC_FilterValue, 12, 4, 0, // Skip to: 553 164*9a0e4156SSadaf Ebrahimi/* 549 */ MCD_OPC_Decode, 203, 1, 17, // Opcode: SHR2_s1_rir 165*9a0e4156SSadaf Ebrahimi/* 553 */ MCD_OPC_FilterValue, 13, 4, 0, // Skip to: 561 166*9a0e4156SSadaf Ebrahimi/* 557 */ MCD_OPC_Decode, 169, 1, 2, // Opcode: OR_s1_irr 167*9a0e4156SSadaf Ebrahimi/* 561 */ MCD_OPC_FilterValue, 14, 3, 0, // Skip to: 568 168*9a0e4156SSadaf Ebrahimi/* 565 */ MCD_OPC_Decode, 75, 1, // Opcode: CMPEQ4_s1_rrr 169*9a0e4156SSadaf Ebrahimi/* 568 */ MCD_OPC_FilterValue, 15, 3, 0, // Skip to: 575 170*9a0e4156SSadaf Ebrahimi/* 572 */ MCD_OPC_Decode, 59, 2, // Opcode: AND_s1_irr 171*9a0e4156SSadaf Ebrahimi/* 575 */ MCD_OPC_FilterValue, 16, 4, 0, // Skip to: 583 172*9a0e4156SSadaf Ebrahimi/* 579 */ MCD_OPC_Decode, 190, 1, 1, // Opcode: SADD_s1_rrr 173*9a0e4156SSadaf Ebrahimi/* 583 */ MCD_OPC_FilterValue, 17, 4, 0, // Skip to: 591 174*9a0e4156SSadaf Ebrahimi/* 587 */ MCD_OPC_Decode, 224, 1, 17, // Opcode: SSHL_s1_rir 175*9a0e4156SSadaf Ebrahimi/* 591 */ MCD_OPC_FilterValue, 18, 4, 0, // Skip to: 599 176*9a0e4156SSadaf Ebrahimi/* 595 */ MCD_OPC_Decode, 209, 1, 18, // Opcode: SHRU_s1_pip 177*9a0e4156SSadaf Ebrahimi/* 599 */ MCD_OPC_FilterValue, 19, 4, 0, // Skip to: 607 178*9a0e4156SSadaf Ebrahimi/* 603 */ MCD_OPC_Decode, 211, 1, 17, // Opcode: SHRU_s1_rir 179*9a0e4156SSadaf Ebrahimi/* 607 */ MCD_OPC_FilterValue, 24, 4, 0, // Skip to: 615 180*9a0e4156SSadaf Ebrahimi/* 611 */ MCD_OPC_Decode, 197, 1, 19, // Opcode: SHL_s1_pip 181*9a0e4156SSadaf Ebrahimi/* 615 */ MCD_OPC_FilterValue, 25, 4, 0, // Skip to: 623 182*9a0e4156SSadaf Ebrahimi/* 619 */ MCD_OPC_Decode, 200, 1, 20, // Opcode: SHL_s1_rir 183*9a0e4156SSadaf Ebrahimi/* 623 */ MCD_OPC_FilterValue, 26, 4, 0, // Skip to: 631 184*9a0e4156SSadaf Ebrahimi/* 627 */ MCD_OPC_Decode, 213, 1, 18, // Opcode: SHR_s1_pip 185*9a0e4156SSadaf Ebrahimi/* 631 */ MCD_OPC_FilterValue, 27, 4, 0, // Skip to: 639 186*9a0e4156SSadaf Ebrahimi/* 635 */ MCD_OPC_Decode, 215, 1, 17, // Opcode: SHR_s1_rir 187*9a0e4156SSadaf Ebrahimi/* 639 */ MCD_OPC_FilterValue, 30, 42, 6, // Skip to: 2221 188*9a0e4156SSadaf Ebrahimi/* 643 */ MCD_OPC_ExtractField, 13, 5, // Inst{17-13} ... 189*9a0e4156SSadaf Ebrahimi/* 646 */ MCD_OPC_FilterValue, 2, 4, 0, // Skip to: 654 190*9a0e4156SSadaf Ebrahimi/* 650 */ MCD_OPC_Decode, 143, 2, 21, // Opcode: UNPKLU4_s14_rr 191*9a0e4156SSadaf Ebrahimi/* 654 */ MCD_OPC_FilterValue, 3, 27, 6, // Skip to: 2221 192*9a0e4156SSadaf Ebrahimi/* 658 */ MCD_OPC_Decode, 141, 2, 21, // Opcode: UNPKHU4_s14_rr 193*9a0e4156SSadaf Ebrahimi/* 662 */ MCD_OPC_FilterValue, 9, 17, 0, // Skip to: 683 194*9a0e4156SSadaf Ebrahimi/* 666 */ MCD_OPC_ExtractField, 8, 1, // Inst{8} ... 195*9a0e4156SSadaf Ebrahimi/* 669 */ MCD_OPC_FilterValue, 0, 3, 0, // Skip to: 676 196*9a0e4156SSadaf Ebrahimi/* 673 */ MCD_OPC_Decode, 113, 3, // Opcode: LDB_d5_mr 197*9a0e4156SSadaf Ebrahimi/* 676 */ MCD_OPC_FilterValue, 1, 5, 6, // Skip to: 2221 198*9a0e4156SSadaf Ebrahimi/* 680 */ MCD_OPC_Decode, 120, 22, // Opcode: LDNDW_d8_mp 199*9a0e4156SSadaf Ebrahimi/* 683 */ MCD_OPC_FilterValue, 10, 4, 0, // Skip to: 691 200*9a0e4156SSadaf Ebrahimi/* 687 */ MCD_OPC_Decode, 159, 1, 23, // Opcode: MVKL_s12_ir 201*9a0e4156SSadaf Ebrahimi/* 691 */ MCD_OPC_FilterValue, 11, 3, 0, // Skip to: 698 202*9a0e4156SSadaf Ebrahimi/* 695 */ MCD_OPC_Decode, 114, 5, // Opcode: LDB_d6_mr 203*9a0e4156SSadaf Ebrahimi/* 698 */ MCD_OPC_FilterValue, 12, 194, 0, // Skip to: 896 204*9a0e4156SSadaf Ebrahimi/* 702 */ MCD_OPC_ExtractField, 7, 5, // Inst{11-7} ... 205*9a0e4156SSadaf Ebrahimi/* 705 */ MCD_OPC_FilterValue, 0, 4, 0, // Skip to: 713 206*9a0e4156SSadaf Ebrahimi/* 709 */ MCD_OPC_Decode, 130, 1, 24, // Opcode: MPY2_m1_rrp 207*9a0e4156SSadaf Ebrahimi/* 713 */ MCD_OPC_FilterValue, 1, 3, 0, // Skip to: 720 208*9a0e4156SSadaf Ebrahimi/* 717 */ MCD_OPC_Decode, 100, 1, // Opcode: DOTPSU4_m1_rrr 209*9a0e4156SSadaf Ebrahimi/* 720 */ MCD_OPC_FilterValue, 2, 4, 0, // Skip to: 728 210*9a0e4156SSadaf Ebrahimi/* 724 */ MCD_OPC_Decode, 150, 1, 24, // Opcode: MPYU4_m1_rrp 211*9a0e4156SSadaf Ebrahimi/* 728 */ MCD_OPC_FilterValue, 3, 3, 0, // Skip to: 735 212*9a0e4156SSadaf Ebrahimi/* 732 */ MCD_OPC_Decode, 101, 1, // Opcode: DOTPU4_m1_rrr 213*9a0e4156SSadaf Ebrahimi/* 735 */ MCD_OPC_FilterValue, 6, 3, 0, // Skip to: 742 214*9a0e4156SSadaf Ebrahimi/* 739 */ MCD_OPC_Decode, 96, 1, // Opcode: DOTP2_m1_rrr 215*9a0e4156SSadaf Ebrahimi/* 742 */ MCD_OPC_FilterValue, 7, 4, 0, // Skip to: 750 216*9a0e4156SSadaf Ebrahimi/* 746 */ MCD_OPC_Decode, 143, 1, 1, // Opcode: MPYLIR_m1_rrr 217*9a0e4156SSadaf Ebrahimi/* 750 */ MCD_OPC_FilterValue, 8, 4, 0, // Skip to: 758 218*9a0e4156SSadaf Ebrahimi/* 754 */ MCD_OPC_Decode, 131, 1, 1, // Opcode: MPYHIR_m1_rrr 219*9a0e4156SSadaf Ebrahimi/* 758 */ MCD_OPC_FilterValue, 9, 3, 0, // Skip to: 765 220*9a0e4156SSadaf Ebrahimi/* 762 */ MCD_OPC_Decode, 62, 1, // Opcode: AVGU4_m1_rrr 221*9a0e4156SSadaf Ebrahimi/* 765 */ MCD_OPC_FilterValue, 10, 4, 0, // Skip to: 773 222*9a0e4156SSadaf Ebrahimi/* 769 */ MCD_OPC_Decode, 132, 1, 24, // Opcode: MPYHI_m1_rrp 223*9a0e4156SSadaf Ebrahimi/* 773 */ MCD_OPC_FilterValue, 13, 4, 0, // Skip to: 781 224*9a0e4156SSadaf Ebrahimi/* 777 */ MCD_OPC_Decode, 227, 1, 1, // Opcode: SSHVR_m1_rrr 225*9a0e4156SSadaf Ebrahimi/* 781 */ MCD_OPC_FilterValue, 14, 4, 0, // Skip to: 789 226*9a0e4156SSadaf Ebrahimi/* 785 */ MCD_OPC_Decode, 226, 1, 1, // Opcode: SSHVL_m1_rrr 227*9a0e4156SSadaf Ebrahimi/* 789 */ MCD_OPC_FilterValue, 15, 4, 0, // Skip to: 797 228*9a0e4156SSadaf Ebrahimi/* 793 */ MCD_OPC_Decode, 181, 1, 17, // Opcode: ROTL_m1_rir 229*9a0e4156SSadaf Ebrahimi/* 797 */ MCD_OPC_FilterValue, 16, 3, 0, // Skip to: 804 230*9a0e4156SSadaf Ebrahimi/* 801 */ MCD_OPC_Decode, 52, 1, // Opcode: ANDN_d2_rrr 231*9a0e4156SSadaf Ebrahimi/* 804 */ MCD_OPC_FilterValue, 17, 4, 0, // Skip to: 812 232*9a0e4156SSadaf Ebrahimi/* 808 */ MCD_OPC_Decode, 166, 1, 1, // Opcode: OR_d2_rrr 233*9a0e4156SSadaf Ebrahimi/* 812 */ MCD_OPC_FilterValue, 18, 3, 0, // Skip to: 819 234*9a0e4156SSadaf Ebrahimi/* 816 */ MCD_OPC_Decode, 25, 1, // Opcode: ADD2_d2_rrr 235*9a0e4156SSadaf Ebrahimi/* 819 */ MCD_OPC_FilterValue, 19, 3, 0, // Skip to: 826 236*9a0e4156SSadaf Ebrahimi/* 823 */ MCD_OPC_Decode, 56, 1, // Opcode: AND_d2_rrr 237*9a0e4156SSadaf Ebrahimi/* 826 */ MCD_OPC_FilterValue, 21, 3, 0, // Skip to: 833 238*9a0e4156SSadaf Ebrahimi/* 830 */ MCD_OPC_Decode, 44, 1, // Opcode: ADD_d2_rrr 239*9a0e4156SSadaf Ebrahimi/* 833 */ MCD_OPC_FilterValue, 22, 4, 0, // Skip to: 841 240*9a0e4156SSadaf Ebrahimi/* 837 */ MCD_OPC_Decode, 129, 2, 1, // Opcode: SUB_d2_rrr 241*9a0e4156SSadaf Ebrahimi/* 841 */ MCD_OPC_FilterValue, 23, 4, 0, // Skip to: 849 242*9a0e4156SSadaf Ebrahimi/* 845 */ MCD_OPC_Decode, 145, 2, 1, // Opcode: XOR_d2_rrr 243*9a0e4156SSadaf Ebrahimi/* 849 */ MCD_OPC_FilterValue, 24, 4, 0, // Skip to: 857 244*9a0e4156SSadaf Ebrahimi/* 853 */ MCD_OPC_Decode, 183, 1, 1, // Opcode: SADD2_s4_rrr 245*9a0e4156SSadaf Ebrahimi/* 857 */ MCD_OPC_FilterValue, 25, 4, 0, // Skip to: 865 246*9a0e4156SSadaf Ebrahimi/* 861 */ MCD_OPC_Decode, 222, 1, 1, // Opcode: SPACK2_s4_rrr 247*9a0e4156SSadaf Ebrahimi/* 865 */ MCD_OPC_FilterValue, 26, 4, 0, // Skip to: 873 248*9a0e4156SSadaf Ebrahimi/* 869 */ MCD_OPC_Decode, 223, 1, 1, // Opcode: SPACKU4_s4_rrr 249*9a0e4156SSadaf Ebrahimi/* 873 */ MCD_OPC_FilterValue, 27, 3, 0, // Skip to: 880 250*9a0e4156SSadaf Ebrahimi/* 877 */ MCD_OPC_Decode, 54, 1, // Opcode: ANDN_s4_rrr 251*9a0e4156SSadaf Ebrahimi/* 880 */ MCD_OPC_FilterValue, 28, 4, 0, // Skip to: 888 252*9a0e4156SSadaf Ebrahimi/* 884 */ MCD_OPC_Decode, 208, 1, 1, // Opcode: SHRU2_s4_rrr 253*9a0e4156SSadaf Ebrahimi/* 888 */ MCD_OPC_FilterValue, 29, 49, 5, // Skip to: 2221 254*9a0e4156SSadaf Ebrahimi/* 892 */ MCD_OPC_Decode, 206, 1, 1, // Opcode: SHRMB_s4_rrr 255*9a0e4156SSadaf Ebrahimi/* 896 */ MCD_OPC_FilterValue, 13, 18, 0, // Skip to: 918 256*9a0e4156SSadaf Ebrahimi/* 900 */ MCD_OPC_ExtractField, 8, 1, // Inst{8} ... 257*9a0e4156SSadaf Ebrahimi/* 903 */ MCD_OPC_FilterValue, 0, 4, 0, // Skip to: 911 258*9a0e4156SSadaf Ebrahimi/* 907 */ MCD_OPC_Decode, 232, 1, 3, // Opcode: STB_d5_rm 259*9a0e4156SSadaf Ebrahimi/* 911 */ MCD_OPC_FilterValue, 1, 26, 5, // Skip to: 2221 260*9a0e4156SSadaf Ebrahimi/* 915 */ MCD_OPC_Decode, 121, 3, // Opcode: LDNW_d5_mr 261*9a0e4156SSadaf Ebrahimi/* 918 */ MCD_OPC_FilterValue, 14, 98, 0, // Skip to: 1020 262*9a0e4156SSadaf Ebrahimi/* 922 */ MCD_OPC_ExtractField, 7, 5, // Inst{11-7} ... 263*9a0e4156SSadaf Ebrahimi/* 925 */ MCD_OPC_FilterValue, 1, 3, 0, // Skip to: 932 264*9a0e4156SSadaf Ebrahimi/* 929 */ MCD_OPC_Decode, 26, 1, // Opcode: ADD2_l1_rrr_x2 265*9a0e4156SSadaf Ebrahimi/* 932 */ MCD_OPC_FilterValue, 8, 3, 0, // Skip to: 939 266*9a0e4156SSadaf Ebrahimi/* 936 */ MCD_OPC_Decode, 47, 25, // Opcode: ADD_l1_rpp 267*9a0e4156SSadaf Ebrahimi/* 939 */ MCD_OPC_FilterValue, 10, 3, 0, // Skip to: 946 268*9a0e4156SSadaf Ebrahimi/* 943 */ MCD_OPC_Decode, 39, 25, // Opcode: ADDU_l1_rpp 269*9a0e4156SSadaf Ebrahimi/* 946 */ MCD_OPC_FilterValue, 12, 4, 0, // Skip to: 954 270*9a0e4156SSadaf Ebrahimi/* 950 */ MCD_OPC_Decode, 188, 1, 25, // Opcode: SADD_l1_rpp 271*9a0e4156SSadaf Ebrahimi/* 954 */ MCD_OPC_FilterValue, 16, 4, 0, // Skip to: 962 272*9a0e4156SSadaf Ebrahimi/* 958 */ MCD_OPC_Decode, 128, 1, 1, // Opcode: MIN2_l1_rrr_x2 273*9a0e4156SSadaf Ebrahimi/* 962 */ MCD_OPC_FilterValue, 17, 3, 0, // Skip to: 969 274*9a0e4156SSadaf Ebrahimi/* 966 */ MCD_OPC_Decode, 84, 26, // Opcode: CMPGT_l1_rpr 275*9a0e4156SSadaf Ebrahimi/* 969 */ MCD_OPC_FilterValue, 19, 3, 0, // Skip to: 976 276*9a0e4156SSadaf Ebrahimi/* 973 */ MCD_OPC_Decode, 108, 26, // Opcode: GMPGTU_l1_rpr 277*9a0e4156SSadaf Ebrahimi/* 976 */ MCD_OPC_FilterValue, 20, 3, 0, // Skip to: 983 278*9a0e4156SSadaf Ebrahimi/* 980 */ MCD_OPC_Decode, 78, 26, // Opcode: CMPEQ_l1_rpr 279*9a0e4156SSadaf Ebrahimi/* 983 */ MCD_OPC_FilterValue, 21, 3, 0, // Skip to: 990 280*9a0e4156SSadaf Ebrahimi/* 987 */ MCD_OPC_Decode, 92, 26, // Opcode: CMPLT_l1_rpr 281*9a0e4156SSadaf Ebrahimi/* 990 */ MCD_OPC_FilterValue, 23, 3, 0, // Skip to: 997 282*9a0e4156SSadaf Ebrahimi/* 994 */ MCD_OPC_Decode, 88, 26, // Opcode: CMPLTU_l1_rpr 283*9a0e4156SSadaf Ebrahimi/* 997 */ MCD_OPC_FilterValue, 24, 4, 0, // Skip to: 1005 284*9a0e4156SSadaf Ebrahimi/* 1001 */ MCD_OPC_Decode, 195, 1, 1, // Opcode: SHLMB_l1_rrr_x2 285*9a0e4156SSadaf Ebrahimi/* 1005 */ MCD_OPC_FilterValue, 25, 3, 0, // Skip to: 1012 286*9a0e4156SSadaf Ebrahimi/* 1009 */ MCD_OPC_Decode, 28, 1, // Opcode: ADD4_l1_rrr_x2 287*9a0e4156SSadaf Ebrahimi/* 1012 */ MCD_OPC_FilterValue, 26, 181, 4, // Skip to: 2221 288*9a0e4156SSadaf Ebrahimi/* 1016 */ MCD_OPC_Decode, 175, 1, 1, // Opcode: PACKH4_l1_rrr_x2 289*9a0e4156SSadaf Ebrahimi/* 1020 */ MCD_OPC_FilterValue, 15, 4, 0, // Skip to: 1028 290*9a0e4156SSadaf Ebrahimi/* 1024 */ MCD_OPC_Decode, 233, 1, 5, // Opcode: STB_d6_rm 291*9a0e4156SSadaf Ebrahimi/* 1028 */ MCD_OPC_FilterValue, 16, 151, 0, // Skip to: 1183 292*9a0e4156SSadaf Ebrahimi/* 1032 */ MCD_OPC_ExtractField, 7, 6, // Inst{12-7} ... 293*9a0e4156SSadaf Ebrahimi/* 1035 */ MCD_OPC_FilterValue, 0, 10, 0, // Skip to: 1049 294*9a0e4156SSadaf Ebrahimi/* 1039 */ MCD_OPC_CheckField, 18, 5, 0, 152, 4, // Skip to: 2221 295*9a0e4156SSadaf Ebrahimi/* 1045 */ MCD_OPC_Decode, 160, 1, 27, // Opcode: MVK_d1_rr 296*9a0e4156SSadaf Ebrahimi/* 1049 */ MCD_OPC_FilterValue, 16, 3, 0, // Skip to: 1056 297*9a0e4156SSadaf Ebrahimi/* 1053 */ MCD_OPC_Decode, 42, 28, // Opcode: ADD_d1_rrr 298*9a0e4156SSadaf Ebrahimi/* 1056 */ MCD_OPC_FilterValue, 17, 4, 0, // Skip to: 1064 299*9a0e4156SSadaf Ebrahimi/* 1060 */ MCD_OPC_Decode, 128, 2, 28, // Opcode: SUB_d1_rrr 300*9a0e4156SSadaf Ebrahimi/* 1064 */ MCD_OPC_FilterValue, 18, 3, 0, // Skip to: 1071 301*9a0e4156SSadaf Ebrahimi/* 1068 */ MCD_OPC_Decode, 41, 29, // Opcode: ADD_d1_rir 302*9a0e4156SSadaf Ebrahimi/* 1071 */ MCD_OPC_FilterValue, 19, 4, 0, // Skip to: 1079 303*9a0e4156SSadaf Ebrahimi/* 1075 */ MCD_OPC_Decode, 255, 1, 29, // Opcode: SUB_d1_rir 304*9a0e4156SSadaf Ebrahimi/* 1079 */ MCD_OPC_FilterValue, 48, 3, 0, // Skip to: 1086 305*9a0e4156SSadaf Ebrahimi/* 1083 */ MCD_OPC_Decode, 30, 28, // Opcode: ADDAB_d1_rrr 306*9a0e4156SSadaf Ebrahimi/* 1086 */ MCD_OPC_FilterValue, 49, 4, 0, // Skip to: 1094 307*9a0e4156SSadaf Ebrahimi/* 1090 */ MCD_OPC_Decode, 247, 1, 28, // Opcode: SUBAB_d1_rrr 308*9a0e4156SSadaf Ebrahimi/* 1094 */ MCD_OPC_FilterValue, 50, 3, 0, // Skip to: 1101 309*9a0e4156SSadaf Ebrahimi/* 1098 */ MCD_OPC_Decode, 29, 29, // Opcode: ADDAB_d1_rir 310*9a0e4156SSadaf Ebrahimi/* 1101 */ MCD_OPC_FilterValue, 51, 4, 0, // Skip to: 1109 311*9a0e4156SSadaf Ebrahimi/* 1105 */ MCD_OPC_Decode, 246, 1, 29, // Opcode: SUBAB_d1_rir 312*9a0e4156SSadaf Ebrahimi/* 1109 */ MCD_OPC_FilterValue, 52, 3, 0, // Skip to: 1116 313*9a0e4156SSadaf Ebrahimi/* 1113 */ MCD_OPC_Decode, 34, 28, // Opcode: ADDAH_d1_rrr 314*9a0e4156SSadaf Ebrahimi/* 1116 */ MCD_OPC_FilterValue, 53, 4, 0, // Skip to: 1124 315*9a0e4156SSadaf Ebrahimi/* 1120 */ MCD_OPC_Decode, 249, 1, 28, // Opcode: SUBAH_d1_rrr 316*9a0e4156SSadaf Ebrahimi/* 1124 */ MCD_OPC_FilterValue, 54, 3, 0, // Skip to: 1131 317*9a0e4156SSadaf Ebrahimi/* 1128 */ MCD_OPC_Decode, 33, 29, // Opcode: ADDAH_d1_rir 318*9a0e4156SSadaf Ebrahimi/* 1131 */ MCD_OPC_FilterValue, 55, 4, 0, // Skip to: 1139 319*9a0e4156SSadaf Ebrahimi/* 1135 */ MCD_OPC_Decode, 248, 1, 29, // Opcode: SUBAH_d1_rir 320*9a0e4156SSadaf Ebrahimi/* 1139 */ MCD_OPC_FilterValue, 56, 3, 0, // Skip to: 1146 321*9a0e4156SSadaf Ebrahimi/* 1143 */ MCD_OPC_Decode, 36, 28, // Opcode: ADDAW_d1_rrr 322*9a0e4156SSadaf Ebrahimi/* 1146 */ MCD_OPC_FilterValue, 57, 4, 0, // Skip to: 1154 323*9a0e4156SSadaf Ebrahimi/* 1150 */ MCD_OPC_Decode, 251, 1, 28, // Opcode: SUBAW_d1_rrr 324*9a0e4156SSadaf Ebrahimi/* 1154 */ MCD_OPC_FilterValue, 58, 3, 0, // Skip to: 1161 325*9a0e4156SSadaf Ebrahimi/* 1158 */ MCD_OPC_Decode, 35, 29, // Opcode: ADDAW_d1_rir 326*9a0e4156SSadaf Ebrahimi/* 1161 */ MCD_OPC_FilterValue, 59, 4, 0, // Skip to: 1169 327*9a0e4156SSadaf Ebrahimi/* 1165 */ MCD_OPC_Decode, 250, 1, 29, // Opcode: SUBAW_d1_rir 328*9a0e4156SSadaf Ebrahimi/* 1169 */ MCD_OPC_FilterValue, 60, 3, 0, // Skip to: 1176 329*9a0e4156SSadaf Ebrahimi/* 1173 */ MCD_OPC_Decode, 32, 28, // Opcode: ADDAD_d1_rrr 330*9a0e4156SSadaf Ebrahimi/* 1176 */ MCD_OPC_FilterValue, 61, 17, 4, // Skip to: 2221 331*9a0e4156SSadaf Ebrahimi/* 1180 */ MCD_OPC_Decode, 31, 29, // Opcode: ADDAD_d1_rir 332*9a0e4156SSadaf Ebrahimi/* 1183 */ MCD_OPC_FilterValue, 17, 18, 0, // Skip to: 1205 333*9a0e4156SSadaf Ebrahimi/* 1187 */ MCD_OPC_ExtractField, 8, 1, // Inst{8} ... 334*9a0e4156SSadaf Ebrahimi/* 1190 */ MCD_OPC_FilterValue, 0, 3, 0, // Skip to: 1197 335*9a0e4156SSadaf Ebrahimi/* 1194 */ MCD_OPC_Decode, 118, 3, // Opcode: LDH_d5_mr 336*9a0e4156SSadaf Ebrahimi/* 1197 */ MCD_OPC_FilterValue, 1, 252, 3, // Skip to: 2221 337*9a0e4156SSadaf Ebrahimi/* 1201 */ MCD_OPC_Decode, 234, 1, 30, // Opcode: STDW_d7_pm 338*9a0e4156SSadaf Ebrahimi/* 1205 */ MCD_OPC_FilterValue, 18, 17, 0, // Skip to: 1226 339*9a0e4156SSadaf Ebrahimi/* 1209 */ MCD_OPC_ExtractField, 7, 1, // Inst{7} ... 340*9a0e4156SSadaf Ebrahimi/* 1212 */ MCD_OPC_FilterValue, 0, 3, 0, // Skip to: 1219 341*9a0e4156SSadaf Ebrahimi/* 1216 */ MCD_OPC_Decode, 104, 4, // Opcode: EXT_s15_riir 342*9a0e4156SSadaf Ebrahimi/* 1219 */ MCD_OPC_FilterValue, 1, 230, 3, // Skip to: 2221 343*9a0e4156SSadaf Ebrahimi/* 1223 */ MCD_OPC_Decode, 72, 4, // Opcode: CLR_s15_riir 344*9a0e4156SSadaf Ebrahimi/* 1226 */ MCD_OPC_FilterValue, 19, 3, 0, // Skip to: 1233 345*9a0e4156SSadaf Ebrahimi/* 1230 */ MCD_OPC_Decode, 119, 5, // Opcode: LDH_d6_mr 346*9a0e4156SSadaf Ebrahimi/* 1233 */ MCD_OPC_FilterValue, 20, 3, 0, // Skip to: 1240 347*9a0e4156SSadaf Ebrahimi/* 1237 */ MCD_OPC_Decode, 38, 23, // Opcode: ADDK_s2_ir 348*9a0e4156SSadaf Ebrahimi/* 1240 */ MCD_OPC_FilterValue, 21, 19, 0, // Skip to: 1263 349*9a0e4156SSadaf Ebrahimi/* 1244 */ MCD_OPC_ExtractField, 8, 1, // Inst{8} ... 350*9a0e4156SSadaf Ebrahimi/* 1247 */ MCD_OPC_FilterValue, 0, 4, 0, // Skip to: 1255 351*9a0e4156SSadaf Ebrahimi/* 1251 */ MCD_OPC_Decode, 235, 1, 3, // Opcode: STH_d5_rm 352*9a0e4156SSadaf Ebrahimi/* 1255 */ MCD_OPC_FilterValue, 1, 194, 3, // Skip to: 2221 353*9a0e4156SSadaf Ebrahimi/* 1259 */ MCD_OPC_Decode, 238, 1, 3, // Opcode: STNW_d5_rm 354*9a0e4156SSadaf Ebrahimi/* 1263 */ MCD_OPC_FilterValue, 22, 191, 0, // Skip to: 1458 355*9a0e4156SSadaf Ebrahimi/* 1267 */ MCD_OPC_ExtractField, 7, 5, // Inst{11-7} ... 356*9a0e4156SSadaf Ebrahimi/* 1270 */ MCD_OPC_FilterValue, 0, 3, 0, // Skip to: 1277 357*9a0e4156SSadaf Ebrahimi/* 1274 */ MCD_OPC_Decode, 46, 2, // Opcode: ADD_l1_irr 358*9a0e4156SSadaf Ebrahimi/* 1277 */ MCD_OPC_FilterValue, 1, 4, 0, // Skip to: 1285 359*9a0e4156SSadaf Ebrahimi/* 1281 */ MCD_OPC_Decode, 131, 2, 2, // Opcode: SUB_l1_irr 360*9a0e4156SSadaf Ebrahimi/* 1285 */ MCD_OPC_FilterValue, 3, 4, 0, // Skip to: 1293 361*9a0e4156SSadaf Ebrahimi/* 1289 */ MCD_OPC_Decode, 229, 1, 2, // Opcode: SSUB_l1_irr 362*9a0e4156SSadaf Ebrahimi/* 1293 */ MCD_OPC_FilterValue, 4, 4, 0, // Skip to: 1301 363*9a0e4156SSadaf Ebrahimi/* 1297 */ MCD_OPC_Decode, 187, 1, 2, // Opcode: SADD_l1_irr 364*9a0e4156SSadaf Ebrahimi/* 1301 */ MCD_OPC_FilterValue, 6, 49, 0, // Skip to: 1354 365*9a0e4156SSadaf Ebrahimi/* 1305 */ MCD_OPC_ExtractField, 13, 5, // Inst{17-13} ... 366*9a0e4156SSadaf Ebrahimi/* 1308 */ MCD_OPC_FilterValue, 0, 3, 0, // Skip to: 1315 367*9a0e4156SSadaf Ebrahimi/* 1312 */ MCD_OPC_Decode, 24, 21, // Opcode: ABS_l1_rr 368*9a0e4156SSadaf Ebrahimi/* 1315 */ MCD_OPC_FilterValue, 1, 4, 0, // Skip to: 1323 369*9a0e4156SSadaf Ebrahimi/* 1319 */ MCD_OPC_Decode, 139, 2, 21, // Opcode: SWAP4_l2_rr 370*9a0e4156SSadaf Ebrahimi/* 1323 */ MCD_OPC_FilterValue, 2, 4, 0, // Skip to: 1331 371*9a0e4156SSadaf Ebrahimi/* 1327 */ MCD_OPC_Decode, 142, 2, 21, // Opcode: UNPKLU4_l2_rr 372*9a0e4156SSadaf Ebrahimi/* 1331 */ MCD_OPC_FilterValue, 3, 4, 0, // Skip to: 1339 373*9a0e4156SSadaf Ebrahimi/* 1335 */ MCD_OPC_Decode, 140, 2, 21, // Opcode: UNPKHU4_l2_rr 374*9a0e4156SSadaf Ebrahimi/* 1339 */ MCD_OPC_FilterValue, 4, 3, 0, // Skip to: 1346 375*9a0e4156SSadaf Ebrahimi/* 1343 */ MCD_OPC_Decode, 22, 21, // Opcode: ABS2_l2_rr 376*9a0e4156SSadaf Ebrahimi/* 1346 */ MCD_OPC_FilterValue, 5, 103, 3, // Skip to: 2221 377*9a0e4156SSadaf Ebrahimi/* 1350 */ MCD_OPC_Decode, 161, 1, 31, // Opcode: MVK_l2_ir 378*9a0e4156SSadaf Ebrahimi/* 1354 */ MCD_OPC_FilterValue, 7, 4, 0, // Skip to: 1362 379*9a0e4156SSadaf Ebrahimi/* 1358 */ MCD_OPC_Decode, 173, 1, 1, // Opcode: PACKH2_l1_rrr_x2 380*9a0e4156SSadaf Ebrahimi/* 1362 */ MCD_OPC_FilterValue, 16, 3, 0, // Skip to: 1369 381*9a0e4156SSadaf Ebrahimi/* 1366 */ MCD_OPC_Decode, 126, 1, // Opcode: MAX2_l1_rrr_x2 382*9a0e4156SSadaf Ebrahimi/* 1369 */ MCD_OPC_FilterValue, 17, 3, 0, // Skip to: 1376 383*9a0e4156SSadaf Ebrahimi/* 1373 */ MCD_OPC_Decode, 83, 2, // Opcode: CMPGT_l1_irr 384*9a0e4156SSadaf Ebrahimi/* 1376 */ MCD_OPC_FilterValue, 19, 3, 0, // Skip to: 1383 385*9a0e4156SSadaf Ebrahimi/* 1380 */ MCD_OPC_Decode, 107, 17, // Opcode: GMPGTU_l1_irr 386*9a0e4156SSadaf Ebrahimi/* 1383 */ MCD_OPC_FilterValue, 20, 3, 0, // Skip to: 1390 387*9a0e4156SSadaf Ebrahimi/* 1387 */ MCD_OPC_Decode, 77, 2, // Opcode: CMPEQ_l1_irr 388*9a0e4156SSadaf Ebrahimi/* 1390 */ MCD_OPC_FilterValue, 21, 3, 0, // Skip to: 1397 389*9a0e4156SSadaf Ebrahimi/* 1394 */ MCD_OPC_Decode, 91, 2, // Opcode: CMPLT_l1_irr 390*9a0e4156SSadaf Ebrahimi/* 1397 */ MCD_OPC_FilterValue, 22, 4, 0, // Skip to: 1405 391*9a0e4156SSadaf Ebrahimi/* 1401 */ MCD_OPC_Decode, 245, 1, 1, // Opcode: SUBABS4_l1_rrr_x2 392*9a0e4156SSadaf Ebrahimi/* 1405 */ MCD_OPC_FilterValue, 23, 3, 0, // Skip to: 1412 393*9a0e4156SSadaf Ebrahimi/* 1409 */ MCD_OPC_Decode, 87, 17, // Opcode: CMPLTU_l1_irr 394*9a0e4156SSadaf Ebrahimi/* 1412 */ MCD_OPC_FilterValue, 24, 4, 0, // Skip to: 1420 395*9a0e4156SSadaf Ebrahimi/* 1416 */ MCD_OPC_Decode, 205, 1, 1, // Opcode: SHRMB_l1_rrr_x2 396*9a0e4156SSadaf Ebrahimi/* 1420 */ MCD_OPC_FilterValue, 25, 4, 0, // Skip to: 1428 397*9a0e4156SSadaf Ebrahimi/* 1424 */ MCD_OPC_Decode, 244, 1, 1, // Opcode: SUB4_l1_rrr_x2 398*9a0e4156SSadaf Ebrahimi/* 1428 */ MCD_OPC_FilterValue, 26, 3, 0, // Skip to: 1435 399*9a0e4156SSadaf Ebrahimi/* 1432 */ MCD_OPC_Decode, 124, 2, // Opcode: LMBD_l1_irr 400*9a0e4156SSadaf Ebrahimi/* 1435 */ MCD_OPC_FilterValue, 27, 4, 0, // Skip to: 1443 401*9a0e4156SSadaf Ebrahimi/* 1439 */ MCD_OPC_Decode, 146, 2, 2, // Opcode: XOR_l1_irr 402*9a0e4156SSadaf Ebrahimi/* 1443 */ MCD_OPC_FilterValue, 30, 3, 0, // Skip to: 1450 403*9a0e4156SSadaf Ebrahimi/* 1447 */ MCD_OPC_Decode, 57, 2, // Opcode: AND_l1_irr 404*9a0e4156SSadaf Ebrahimi/* 1450 */ MCD_OPC_FilterValue, 31, 255, 2, // Skip to: 2221 405*9a0e4156SSadaf Ebrahimi/* 1454 */ MCD_OPC_Decode, 167, 1, 2, // Opcode: OR_l1_irr 406*9a0e4156SSadaf Ebrahimi/* 1458 */ MCD_OPC_FilterValue, 23, 4, 0, // Skip to: 1466 407*9a0e4156SSadaf Ebrahimi/* 1462 */ MCD_OPC_Decode, 236, 1, 5, // Opcode: STH_d6_rm 408*9a0e4156SSadaf Ebrahimi/* 1466 */ MCD_OPC_FilterValue, 24, 6, 1, // Skip to: 1732 409*9a0e4156SSadaf Ebrahimi/* 1470 */ MCD_OPC_ExtractField, 7, 5, // Inst{11-7} ... 410*9a0e4156SSadaf Ebrahimi/* 1473 */ MCD_OPC_FilterValue, 0, 3, 0, // Skip to: 1480 411*9a0e4156SSadaf Ebrahimi/* 1477 */ MCD_OPC_Decode, 27, 1, // Opcode: ADD2_s1_rrr 412*9a0e4156SSadaf Ebrahimi/* 1480 */ MCD_OPC_FilterValue, 1, 19, 0, // Skip to: 1503 413*9a0e4156SSadaf Ebrahimi/* 1484 */ MCD_OPC_ExtractField, 12, 16, // Inst{27-12} ... 414*9a0e4156SSadaf Ebrahimi/* 1487 */ MCD_OPC_FilterValue, 128, 3, 3, 0, // Skip to: 1495 415*9a0e4156SSadaf Ebrahimi/* 1492 */ MCD_OPC_Decode, 70, 32, // Opcode: B_s7_irp 416*9a0e4156SSadaf Ebrahimi/* 1495 */ MCD_OPC_FilterValue, 192, 3, 209, 2, // Skip to: 2221 417*9a0e4156SSadaf Ebrahimi/* 1500 */ MCD_OPC_Decode, 71, 32, // Opcode: B_s7_nrp 418*9a0e4156SSadaf Ebrahimi/* 1503 */ MCD_OPC_FilterValue, 2, 9, 0, // Skip to: 1516 419*9a0e4156SSadaf Ebrahimi/* 1507 */ MCD_OPC_CheckField, 12, 1, 0, 196, 2, // Skip to: 2221 420*9a0e4156SSadaf Ebrahimi/* 1513 */ MCD_OPC_Decode, 37, 33, // Opcode: ADDKPC_s3_iir 421*9a0e4156SSadaf Ebrahimi/* 1516 */ MCD_OPC_FilterValue, 3, 3, 0, // Skip to: 1523 422*9a0e4156SSadaf Ebrahimi/* 1520 */ MCD_OPC_Decode, 51, 1, // Opcode: ADD_s1_rrr 423*9a0e4156SSadaf Ebrahimi/* 1523 */ MCD_OPC_FilterValue, 4, 4, 0, // Skip to: 1531 424*9a0e4156SSadaf Ebrahimi/* 1527 */ MCD_OPC_Decode, 174, 1, 1, // Opcode: PACKH2_s1_rrr 425*9a0e4156SSadaf Ebrahimi/* 1531 */ MCD_OPC_FilterValue, 5, 4, 0, // Skip to: 1539 426*9a0e4156SSadaf Ebrahimi/* 1535 */ MCD_OPC_Decode, 149, 2, 1, // Opcode: XOR_s1_rrr 427*9a0e4156SSadaf Ebrahimi/* 1539 */ MCD_OPC_FilterValue, 6, 29, 0, // Skip to: 1572 428*9a0e4156SSadaf Ebrahimi/* 1543 */ MCD_OPC_ExtractField, 23, 5, // Inst{27-23} ... 429*9a0e4156SSadaf Ebrahimi/* 1546 */ MCD_OPC_FilterValue, 0, 9, 0, // Skip to: 1559 430*9a0e4156SSadaf Ebrahimi/* 1550 */ MCD_OPC_CheckField, 13, 5, 0, 153, 2, // Skip to: 2221 431*9a0e4156SSadaf Ebrahimi/* 1556 */ MCD_OPC_Decode, 69, 34, // Opcode: B_s6_r 432*9a0e4156SSadaf Ebrahimi/* 1559 */ MCD_OPC_FilterValue, 1, 146, 2, // Skip to: 2221 433*9a0e4156SSadaf Ebrahimi/* 1563 */ MCD_OPC_CheckField, 16, 2, 0, 140, 2, // Skip to: 2221 434*9a0e4156SSadaf Ebrahimi/* 1569 */ MCD_OPC_Decode, 65, 35, // Opcode: BNOP_s10_ri 435*9a0e4156SSadaf Ebrahimi/* 1572 */ MCD_OPC_FilterValue, 7, 10, 0, // Skip to: 1586 436*9a0e4156SSadaf Ebrahimi/* 1576 */ MCD_OPC_CheckField, 13, 5, 0, 127, 2, // Skip to: 2221 437*9a0e4156SSadaf Ebrahimi/* 1582 */ MCD_OPC_Decode, 155, 1, 36, // Opcode: MVC_s1_rr 438*9a0e4156SSadaf Ebrahimi/* 1586 */ MCD_OPC_FilterValue, 8, 4, 0, // Skip to: 1594 439*9a0e4156SSadaf Ebrahimi/* 1590 */ MCD_OPC_Decode, 243, 1, 1, // Opcode: SUB2_s1_rrr 440*9a0e4156SSadaf Ebrahimi/* 1594 */ MCD_OPC_FilterValue, 9, 4, 0, // Skip to: 1602 441*9a0e4156SSadaf Ebrahimi/* 1598 */ MCD_OPC_Decode, 201, 1, 37, // Opcode: SHL_s1_rrp 442*9a0e4156SSadaf Ebrahimi/* 1602 */ MCD_OPC_FilterValue, 10, 3, 0, // Skip to: 1609 443*9a0e4156SSadaf Ebrahimi/* 1606 */ MCD_OPC_Decode, 81, 1, // Opcode: CMPGTU4_s1_rrr 444*9a0e4156SSadaf Ebrahimi/* 1609 */ MCD_OPC_FilterValue, 11, 4, 0, // Skip to: 1617 445*9a0e4156SSadaf Ebrahimi/* 1613 */ MCD_OPC_Decode, 137, 2, 1, // Opcode: SUB_s1_rrr 446*9a0e4156SSadaf Ebrahimi/* 1617 */ MCD_OPC_FilterValue, 12, 4, 0, // Skip to: 1625 447*9a0e4156SSadaf Ebrahimi/* 1621 */ MCD_OPC_Decode, 207, 1, 17, // Opcode: SHRU2_s1_rir 448*9a0e4156SSadaf Ebrahimi/* 1625 */ MCD_OPC_FilterValue, 13, 4, 0, // Skip to: 1633 449*9a0e4156SSadaf Ebrahimi/* 1629 */ MCD_OPC_Decode, 170, 1, 1, // Opcode: OR_s1_rrr 450*9a0e4156SSadaf Ebrahimi/* 1633 */ MCD_OPC_FilterValue, 14, 3, 0, // Skip to: 1640 451*9a0e4156SSadaf Ebrahimi/* 1637 */ MCD_OPC_Decode, 74, 1, // Opcode: CMPEQ2_s1_rrr 452*9a0e4156SSadaf Ebrahimi/* 1640 */ MCD_OPC_FilterValue, 15, 3, 0, // Skip to: 1647 453*9a0e4156SSadaf Ebrahimi/* 1644 */ MCD_OPC_Decode, 60, 1, // Opcode: AND_s1_rrr 454*9a0e4156SSadaf Ebrahimi/* 1647 */ MCD_OPC_FilterValue, 17, 4, 0, // Skip to: 1655 455*9a0e4156SSadaf Ebrahimi/* 1651 */ MCD_OPC_Decode, 225, 1, 1, // Opcode: SSHL_s1_rrr 456*9a0e4156SSadaf Ebrahimi/* 1655 */ MCD_OPC_FilterValue, 18, 4, 0, // Skip to: 1663 457*9a0e4156SSadaf Ebrahimi/* 1659 */ MCD_OPC_Decode, 210, 1, 38, // Opcode: SHRU_s1_prp 458*9a0e4156SSadaf Ebrahimi/* 1663 */ MCD_OPC_FilterValue, 19, 4, 0, // Skip to: 1671 459*9a0e4156SSadaf Ebrahimi/* 1667 */ MCD_OPC_Decode, 212, 1, 1, // Opcode: SHRU_s1_rrr 460*9a0e4156SSadaf Ebrahimi/* 1671 */ MCD_OPC_FilterValue, 21, 3, 0, // Skip to: 1678 461*9a0e4156SSadaf Ebrahimi/* 1675 */ MCD_OPC_Decode, 103, 1, // Opcode: EXTU_s1_rrr 462*9a0e4156SSadaf Ebrahimi/* 1678 */ MCD_OPC_FilterValue, 23, 3, 0, // Skip to: 1685 463*9a0e4156SSadaf Ebrahimi/* 1682 */ MCD_OPC_Decode, 105, 1, // Opcode: EXT_s1_rrr 464*9a0e4156SSadaf Ebrahimi/* 1685 */ MCD_OPC_FilterValue, 24, 4, 0, // Skip to: 1693 465*9a0e4156SSadaf Ebrahimi/* 1689 */ MCD_OPC_Decode, 198, 1, 25, // Opcode: SHL_s1_prp 466*9a0e4156SSadaf Ebrahimi/* 1693 */ MCD_OPC_FilterValue, 25, 4, 0, // Skip to: 1701 467*9a0e4156SSadaf Ebrahimi/* 1697 */ MCD_OPC_Decode, 202, 1, 39, // Opcode: SHL_s1_rrr 468*9a0e4156SSadaf Ebrahimi/* 1701 */ MCD_OPC_FilterValue, 26, 4, 0, // Skip to: 1709 469*9a0e4156SSadaf Ebrahimi/* 1705 */ MCD_OPC_Decode, 214, 1, 38, // Opcode: SHR_s1_prp 470*9a0e4156SSadaf Ebrahimi/* 1709 */ MCD_OPC_FilterValue, 27, 4, 0, // Skip to: 1717 471*9a0e4156SSadaf Ebrahimi/* 1713 */ MCD_OPC_Decode, 216, 1, 1, // Opcode: SHR_s1_rrr 472*9a0e4156SSadaf Ebrahimi/* 1717 */ MCD_OPC_FilterValue, 29, 4, 0, // Skip to: 1725 473*9a0e4156SSadaf Ebrahimi/* 1721 */ MCD_OPC_Decode, 193, 1, 1, // Opcode: SET_s1_rrr 474*9a0e4156SSadaf Ebrahimi/* 1725 */ MCD_OPC_FilterValue, 31, 236, 1, // Skip to: 2221 475*9a0e4156SSadaf Ebrahimi/* 1729 */ MCD_OPC_Decode, 73, 1, // Opcode: CLR_s1_rrr 476*9a0e4156SSadaf Ebrahimi/* 1732 */ MCD_OPC_FilterValue, 25, 17, 0, // Skip to: 1753 477*9a0e4156SSadaf Ebrahimi/* 1736 */ MCD_OPC_ExtractField, 8, 1, // Inst{8} ... 478*9a0e4156SSadaf Ebrahimi/* 1739 */ MCD_OPC_FilterValue, 0, 3, 0, // Skip to: 1746 479*9a0e4156SSadaf Ebrahimi/* 1743 */ MCD_OPC_Decode, 122, 3, // Opcode: LDW_d5_mr 480*9a0e4156SSadaf Ebrahimi/* 1746 */ MCD_OPC_FilterValue, 1, 215, 1, // Skip to: 2221 481*9a0e4156SSadaf Ebrahimi/* 1750 */ MCD_OPC_Decode, 115, 30, // Opcode: LDDW_d7_mp 482*9a0e4156SSadaf Ebrahimi/* 1753 */ MCD_OPC_FilterValue, 26, 4, 0, // Skip to: 1761 483*9a0e4156SSadaf Ebrahimi/* 1757 */ MCD_OPC_Decode, 158, 1, 23, // Opcode: MVKLH_s12_ir 484*9a0e4156SSadaf Ebrahimi/* 1761 */ MCD_OPC_FilterValue, 27, 3, 0, // Skip to: 1768 485*9a0e4156SSadaf Ebrahimi/* 1765 */ MCD_OPC_Decode, 123, 5, // Opcode: LDW_d6_mr 486*9a0e4156SSadaf Ebrahimi/* 1768 */ MCD_OPC_FilterValue, 28, 216, 0, // Skip to: 1988 487*9a0e4156SSadaf Ebrahimi/* 1772 */ MCD_OPC_ExtractField, 7, 5, // Inst{11-7} ... 488*9a0e4156SSadaf Ebrahimi/* 1775 */ MCD_OPC_FilterValue, 0, 4, 0, // Skip to: 1783 489*9a0e4156SSadaf Ebrahimi/* 1779 */ MCD_OPC_Decode, 217, 1, 24, // Opcode: SMPY2_m1_rrp 490*9a0e4156SSadaf Ebrahimi/* 1783 */ MCD_OPC_FilterValue, 1, 49, 0, // Skip to: 1836 491*9a0e4156SSadaf Ebrahimi/* 1787 */ MCD_OPC_ExtractField, 13, 5, // Inst{17-13} ... 492*9a0e4156SSadaf Ebrahimi/* 1790 */ MCD_OPC_FilterValue, 24, 4, 0, // Skip to: 1798 493*9a0e4156SSadaf Ebrahimi/* 1794 */ MCD_OPC_Decode, 151, 2, 21, // Opcode: XPND4_m2_rr 494*9a0e4156SSadaf Ebrahimi/* 1798 */ MCD_OPC_FilterValue, 25, 4, 0, // Skip to: 1806 495*9a0e4156SSadaf Ebrahimi/* 1802 */ MCD_OPC_Decode, 150, 2, 21, // Opcode: XPND2_m2_rr 496*9a0e4156SSadaf Ebrahimi/* 1806 */ MCD_OPC_FilterValue, 26, 4, 0, // Skip to: 1814 497*9a0e4156SSadaf Ebrahimi/* 1810 */ MCD_OPC_Decode, 157, 1, 21, // Opcode: MVD_m2_rr 498*9a0e4156SSadaf Ebrahimi/* 1814 */ MCD_OPC_FilterValue, 28, 4, 0, // Skip to: 1822 499*9a0e4156SSadaf Ebrahimi/* 1818 */ MCD_OPC_Decode, 194, 1, 21, // Opcode: SHFL_m2_rr 500*9a0e4156SSadaf Ebrahimi/* 1822 */ MCD_OPC_FilterValue, 29, 3, 0, // Skip to: 1829 501*9a0e4156SSadaf Ebrahimi/* 1826 */ MCD_OPC_Decode, 94, 21, // Opcode: DEAL_m2_rr 502*9a0e4156SSadaf Ebrahimi/* 1829 */ MCD_OPC_FilterValue, 30, 132, 1, // Skip to: 2221 503*9a0e4156SSadaf Ebrahimi/* 1833 */ MCD_OPC_Decode, 64, 21, // Opcode: BITC4_m2_rr 504*9a0e4156SSadaf Ebrahimi/* 1836 */ MCD_OPC_FilterValue, 2, 4, 0, // Skip to: 1844 505*9a0e4156SSadaf Ebrahimi/* 1840 */ MCD_OPC_Decode, 147, 1, 24, // Opcode: MPYSU4_m1_rrp 506*9a0e4156SSadaf Ebrahimi/* 1844 */ MCD_OPC_FilterValue, 3, 3, 0, // Skip to: 1851 507*9a0e4156SSadaf Ebrahimi/* 1848 */ MCD_OPC_Decode, 98, 1, // Opcode: DOTPNRSU2_m1_rrr 508*9a0e4156SSadaf Ebrahimi/* 1851 */ MCD_OPC_FilterValue, 4, 3, 0, // Skip to: 1858 509*9a0e4156SSadaf Ebrahimi/* 1855 */ MCD_OPC_Decode, 97, 1, // Opcode: DOTPN2_m1_rrr 510*9a0e4156SSadaf Ebrahimi/* 1858 */ MCD_OPC_FilterValue, 5, 3, 0, // Skip to: 1865 511*9a0e4156SSadaf Ebrahimi/* 1862 */ MCD_OPC_Decode, 95, 24, // Opcode: DOTP2_m1_rrp 512*9a0e4156SSadaf Ebrahimi/* 1865 */ MCD_OPC_FilterValue, 6, 3, 0, // Skip to: 1872 513*9a0e4156SSadaf Ebrahimi/* 1869 */ MCD_OPC_Decode, 99, 1, // Opcode: DOTPRSU2_m1_rrr 514*9a0e4156SSadaf Ebrahimi/* 1872 */ MCD_OPC_FilterValue, 8, 3, 0, // Skip to: 1879 515*9a0e4156SSadaf Ebrahimi/* 1876 */ MCD_OPC_Decode, 110, 1, // Opcode: GMPY4_m1_rrr 516*9a0e4156SSadaf Ebrahimi/* 1879 */ MCD_OPC_FilterValue, 9, 3, 0, // Skip to: 1886 517*9a0e4156SSadaf Ebrahimi/* 1883 */ MCD_OPC_Decode, 61, 1, // Opcode: AVG2_m1_rrr 518*9a0e4156SSadaf Ebrahimi/* 1886 */ MCD_OPC_FilterValue, 10, 4, 0, // Skip to: 1894 519*9a0e4156SSadaf Ebrahimi/* 1890 */ MCD_OPC_Decode, 144, 1, 24, // Opcode: MPYLI_m1_rrp 520*9a0e4156SSadaf Ebrahimi/* 1894 */ MCD_OPC_FilterValue, 14, 4, 0, // Skip to: 1902 521*9a0e4156SSadaf Ebrahimi/* 1898 */ MCD_OPC_Decode, 182, 1, 1, // Opcode: ROTL_m1_rrr 522*9a0e4156SSadaf Ebrahimi/* 1902 */ MCD_OPC_FilterValue, 17, 4, 0, // Skip to: 1910 523*9a0e4156SSadaf Ebrahimi/* 1906 */ MCD_OPC_Decode, 165, 1, 2, // Opcode: OR_d2_rir 524*9a0e4156SSadaf Ebrahimi/* 1910 */ MCD_OPC_FilterValue, 18, 4, 0, // Skip to: 1918 525*9a0e4156SSadaf Ebrahimi/* 1914 */ MCD_OPC_Decode, 241, 1, 1, // Opcode: SUB2_d2_rrr 526*9a0e4156SSadaf Ebrahimi/* 1918 */ MCD_OPC_FilterValue, 19, 3, 0, // Skip to: 1925 527*9a0e4156SSadaf Ebrahimi/* 1922 */ MCD_OPC_Decode, 55, 2, // Opcode: AND_d2_rir 528*9a0e4156SSadaf Ebrahimi/* 1925 */ MCD_OPC_FilterValue, 21, 3, 0, // Skip to: 1932 529*9a0e4156SSadaf Ebrahimi/* 1929 */ MCD_OPC_Decode, 43, 2, // Opcode: ADD_d2_rir 530*9a0e4156SSadaf Ebrahimi/* 1932 */ MCD_OPC_FilterValue, 23, 4, 0, // Skip to: 1940 531*9a0e4156SSadaf Ebrahimi/* 1936 */ MCD_OPC_Decode, 144, 2, 2, // Opcode: XOR_d2_rir 532*9a0e4156SSadaf Ebrahimi/* 1940 */ MCD_OPC_FilterValue, 24, 4, 0, // Skip to: 1948 533*9a0e4156SSadaf Ebrahimi/* 1944 */ MCD_OPC_Decode, 185, 1, 1, // Opcode: SADDUS2_s4_rrr 534*9a0e4156SSadaf Ebrahimi/* 1948 */ MCD_OPC_FilterValue, 25, 4, 0, // Skip to: 1956 535*9a0e4156SSadaf Ebrahimi/* 1952 */ MCD_OPC_Decode, 184, 1, 1, // Opcode: SADDU4_s4_rrr 536*9a0e4156SSadaf Ebrahimi/* 1956 */ MCD_OPC_FilterValue, 26, 4, 0, // Skip to: 1964 537*9a0e4156SSadaf Ebrahimi/* 1960 */ MCD_OPC_Decode, 138, 2, 1, // Opcode: SUB_s4_rrr 538*9a0e4156SSadaf Ebrahimi/* 1964 */ MCD_OPC_FilterValue, 27, 4, 0, // Skip to: 1972 539*9a0e4156SSadaf Ebrahimi/* 1968 */ MCD_OPC_Decode, 204, 1, 1, // Opcode: SHR2_s4_rrr 540*9a0e4156SSadaf Ebrahimi/* 1972 */ MCD_OPC_FilterValue, 28, 4, 0, // Skip to: 1980 541*9a0e4156SSadaf Ebrahimi/* 1976 */ MCD_OPC_Decode, 196, 1, 1, // Opcode: SHLMB_s4_rrr 542*9a0e4156SSadaf Ebrahimi/* 1980 */ MCD_OPC_FilterValue, 31, 237, 0, // Skip to: 2221 543*9a0e4156SSadaf Ebrahimi/* 1984 */ MCD_OPC_Decode, 172, 1, 1, // Opcode: PACK2_s4_rrr 544*9a0e4156SSadaf Ebrahimi/* 1988 */ MCD_OPC_FilterValue, 29, 19, 0, // Skip to: 2011 545*9a0e4156SSadaf Ebrahimi/* 1992 */ MCD_OPC_ExtractField, 8, 1, // Inst{8} ... 546*9a0e4156SSadaf Ebrahimi/* 1995 */ MCD_OPC_FilterValue, 0, 4, 0, // Skip to: 2003 547*9a0e4156SSadaf Ebrahimi/* 1999 */ MCD_OPC_Decode, 239, 1, 3, // Opcode: STW_d5_rm 548*9a0e4156SSadaf Ebrahimi/* 2003 */ MCD_OPC_FilterValue, 1, 214, 0, // Skip to: 2221 549*9a0e4156SSadaf Ebrahimi/* 2007 */ MCD_OPC_Decode, 237, 1, 22, // Opcode: STNDW_d8_pm 550*9a0e4156SSadaf Ebrahimi/* 2011 */ MCD_OPC_FilterValue, 30, 198, 0, // Skip to: 2213 551*9a0e4156SSadaf Ebrahimi/* 2015 */ MCD_OPC_ExtractField, 7, 5, // Inst{11-7} ... 552*9a0e4156SSadaf Ebrahimi/* 2018 */ MCD_OPC_FilterValue, 0, 3, 0, // Skip to: 2025 553*9a0e4156SSadaf Ebrahimi/* 2022 */ MCD_OPC_Decode, 49, 1, // Opcode: ADD_l1_rrr_x2 554*9a0e4156SSadaf Ebrahimi/* 2025 */ MCD_OPC_FilterValue, 1, 4, 0, // Skip to: 2033 555*9a0e4156SSadaf Ebrahimi/* 2029 */ MCD_OPC_Decode, 135, 2, 1, // Opcode: SUB_l1_rrr_x2 556*9a0e4156SSadaf Ebrahimi/* 2033 */ MCD_OPC_FilterValue, 3, 4, 0, // Skip to: 2041 557*9a0e4156SSadaf Ebrahimi/* 2037 */ MCD_OPC_Decode, 231, 1, 1, // Opcode: SSUB_l1_rrr_x2 558*9a0e4156SSadaf Ebrahimi/* 2041 */ MCD_OPC_FilterValue, 4, 4, 0, // Skip to: 2049 559*9a0e4156SSadaf Ebrahimi/* 2045 */ MCD_OPC_Decode, 189, 1, 1, // Opcode: SADD_l1_rrr_x2 560*9a0e4156SSadaf Ebrahimi/* 2049 */ MCD_OPC_FilterValue, 5, 4, 0, // Skip to: 2057 561*9a0e4156SSadaf Ebrahimi/* 2053 */ MCD_OPC_Decode, 134, 2, 39, // Opcode: SUB_l1_rrr_x1 562*9a0e4156SSadaf Ebrahimi/* 2057 */ MCD_OPC_FilterValue, 6, 4, 0, // Skip to: 2065 563*9a0e4156SSadaf Ebrahimi/* 2061 */ MCD_OPC_Decode, 179, 1, 1, // Opcode: PACKLH2_l1_rrr_x2 564*9a0e4156SSadaf Ebrahimi/* 2065 */ MCD_OPC_FilterValue, 7, 4, 0, // Skip to: 2073 565*9a0e4156SSadaf Ebrahimi/* 2069 */ MCD_OPC_Decode, 230, 1, 39, // Opcode: SSUB_l1_rrr_x1 566*9a0e4156SSadaf Ebrahimi/* 2073 */ MCD_OPC_FilterValue, 8, 3, 0, // Skip to: 2080 567*9a0e4156SSadaf Ebrahimi/* 2077 */ MCD_OPC_Decode, 48, 24, // Opcode: ADD_l1_rrp_x2 568*9a0e4156SSadaf Ebrahimi/* 2080 */ MCD_OPC_FilterValue, 9, 4, 0, // Skip to: 2088 569*9a0e4156SSadaf Ebrahimi/* 2084 */ MCD_OPC_Decode, 133, 2, 24, // Opcode: SUB_l1_rrp_x2 570*9a0e4156SSadaf Ebrahimi/* 2088 */ MCD_OPC_FilterValue, 10, 3, 0, // Skip to: 2095 571*9a0e4156SSadaf Ebrahimi/* 2092 */ MCD_OPC_Decode, 40, 24, // Opcode: ADDU_l1_rrp_x2 572*9a0e4156SSadaf Ebrahimi/* 2095 */ MCD_OPC_FilterValue, 11, 4, 0, // Skip to: 2103 573*9a0e4156SSadaf Ebrahimi/* 2099 */ MCD_OPC_Decode, 254, 1, 24, // Opcode: SUBU_l1_rrp_x2 574*9a0e4156SSadaf Ebrahimi/* 2103 */ MCD_OPC_FilterValue, 13, 4, 0, // Skip to: 2111 575*9a0e4156SSadaf Ebrahimi/* 2107 */ MCD_OPC_Decode, 132, 2, 37, // Opcode: SUB_l1_rrp_x1 576*9a0e4156SSadaf Ebrahimi/* 2111 */ MCD_OPC_FilterValue, 15, 4, 0, // Skip to: 2119 577*9a0e4156SSadaf Ebrahimi/* 2115 */ MCD_OPC_Decode, 253, 1, 37, // Opcode: SUBU_l1_rrp_x1 578*9a0e4156SSadaf Ebrahimi/* 2119 */ MCD_OPC_FilterValue, 16, 3, 0, // Skip to: 2126 579*9a0e4156SSadaf Ebrahimi/* 2123 */ MCD_OPC_Decode, 127, 1, // Opcode: MAXU4_l1_rrr_x2 580*9a0e4156SSadaf Ebrahimi/* 2126 */ MCD_OPC_FilterValue, 17, 3, 0, // Skip to: 2133 581*9a0e4156SSadaf Ebrahimi/* 2130 */ MCD_OPC_Decode, 85, 1, // Opcode: CMPGT_l1_rrr_x2 582*9a0e4156SSadaf Ebrahimi/* 2133 */ MCD_OPC_FilterValue, 18, 4, 0, // Skip to: 2141 583*9a0e4156SSadaf Ebrahimi/* 2137 */ MCD_OPC_Decode, 252, 1, 1, // Opcode: SUBC_l1_rrr_x2 584*9a0e4156SSadaf Ebrahimi/* 2141 */ MCD_OPC_FilterValue, 19, 3, 0, // Skip to: 2148 585*9a0e4156SSadaf Ebrahimi/* 2145 */ MCD_OPC_Decode, 109, 1, // Opcode: GMPGTU_l1_rrr_x2 586*9a0e4156SSadaf Ebrahimi/* 2148 */ MCD_OPC_FilterValue, 20, 3, 0, // Skip to: 2155 587*9a0e4156SSadaf Ebrahimi/* 2152 */ MCD_OPC_Decode, 79, 1, // Opcode: CMPEQ_l1_rrr_x2 588*9a0e4156SSadaf Ebrahimi/* 2155 */ MCD_OPC_FilterValue, 21, 3, 0, // Skip to: 2162 589*9a0e4156SSadaf Ebrahimi/* 2159 */ MCD_OPC_Decode, 93, 1, // Opcode: CMPLT_l1_rrr_x2 590*9a0e4156SSadaf Ebrahimi/* 2162 */ MCD_OPC_FilterValue, 23, 3, 0, // Skip to: 2169 591*9a0e4156SSadaf Ebrahimi/* 2166 */ MCD_OPC_Decode, 89, 1, // Opcode: CMPLTU_l1_rrr_x2 592*9a0e4156SSadaf Ebrahimi/* 2169 */ MCD_OPC_FilterValue, 24, 10, 0, // Skip to: 2183 593*9a0e4156SSadaf Ebrahimi/* 2173 */ MCD_OPC_CheckField, 13, 5, 0, 42, 0, // Skip to: 2221 594*9a0e4156SSadaf Ebrahimi/* 2179 */ MCD_OPC_Decode, 164, 1, 21, // Opcode: NORM_l1_rr 595*9a0e4156SSadaf Ebrahimi/* 2183 */ MCD_OPC_FilterValue, 26, 3, 0, // Skip to: 2190 596*9a0e4156SSadaf Ebrahimi/* 2187 */ MCD_OPC_Decode, 125, 1, // Opcode: LMBD_l1_rrr_x2 597*9a0e4156SSadaf Ebrahimi/* 2190 */ MCD_OPC_FilterValue, 27, 4, 0, // Skip to: 2198 598*9a0e4156SSadaf Ebrahimi/* 2194 */ MCD_OPC_Decode, 147, 2, 1, // Opcode: XOR_l1_rrr_x2 599*9a0e4156SSadaf Ebrahimi/* 2198 */ MCD_OPC_FilterValue, 30, 3, 0, // Skip to: 2205 600*9a0e4156SSadaf Ebrahimi/* 2202 */ MCD_OPC_Decode, 58, 1, // Opcode: AND_l1_rrr_x2 601*9a0e4156SSadaf Ebrahimi/* 2205 */ MCD_OPC_FilterValue, 31, 12, 0, // Skip to: 2221 602*9a0e4156SSadaf Ebrahimi/* 2209 */ MCD_OPC_Decode, 168, 1, 1, // Opcode: OR_l1_rrr_x2 603*9a0e4156SSadaf Ebrahimi/* 2213 */ MCD_OPC_FilterValue, 31, 4, 0, // Skip to: 2221 604*9a0e4156SSadaf Ebrahimi/* 2217 */ MCD_OPC_Decode, 240, 1, 5, // Opcode: STW_d6_rm 605*9a0e4156SSadaf Ebrahimi/* 2221 */ MCD_OPC_Fail, 606*9a0e4156SSadaf Ebrahimi 0 607*9a0e4156SSadaf Ebrahimi}; 608*9a0e4156SSadaf Ebrahimi 609*9a0e4156SSadaf Ebrahimistatic bool checkDecoderPredicate(unsigned Idx, uint64_t Bits) { 610*9a0e4156SSadaf Ebrahimi return true; 611*9a0e4156SSadaf Ebrahimi} 612*9a0e4156SSadaf Ebrahimi 613*9a0e4156SSadaf Ebrahimi#define DecodeToMCInst(fname,fieldname, InsnType) \ 614*9a0e4156SSadaf Ebrahimistatic DecodeStatus fname(DecodeStatus S, unsigned Idx, InsnType insn, MCInst *MI, \ 615*9a0e4156SSadaf Ebrahimi uint64_t Address, void *Decoder) { \ 616*9a0e4156SSadaf Ebrahimi InsnType tmp; \ 617*9a0e4156SSadaf Ebrahimi switch (Idx) { \ 618*9a0e4156SSadaf Ebrahimi default: \ 619*9a0e4156SSadaf Ebrahimi case 0: \ 620*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 13, 4); \ 621*9a0e4156SSadaf Ebrahimi if (DecodeNop(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 622*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 29, 3); \ 623*9a0e4156SSadaf Ebrahimi if (DecodeCondRegister(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 624*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 28, 1); \ 625*9a0e4156SSadaf Ebrahimi if (DecodeCondRegisterZero(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 626*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 1, 1); \ 627*9a0e4156SSadaf Ebrahimi if (DecodeSide(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 628*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 0, 1); \ 629*9a0e4156SSadaf Ebrahimi if (DecodeParallel(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 630*9a0e4156SSadaf Ebrahimi return S; \ 631*9a0e4156SSadaf Ebrahimi case 1: \ 632*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 23, 5); \ 633*9a0e4156SSadaf Ebrahimi if (DecodeGPRegsRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 634*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 18, 5); \ 635*9a0e4156SSadaf Ebrahimi if (DecodeGPRegsRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 636*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 13, 5); \ 637*9a0e4156SSadaf Ebrahimi if (DecodeGPRegsRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 638*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 12, 1); \ 639*9a0e4156SSadaf Ebrahimi if (DecodeCrosspathX2(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 640*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 29, 3); \ 641*9a0e4156SSadaf Ebrahimi if (DecodeCondRegister(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 642*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 28, 1); \ 643*9a0e4156SSadaf Ebrahimi if (DecodeCondRegisterZero(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 644*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 1, 1); \ 645*9a0e4156SSadaf Ebrahimi if (DecodeSide(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 646*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 0, 1); \ 647*9a0e4156SSadaf Ebrahimi if (DecodeParallel(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 648*9a0e4156SSadaf Ebrahimi return S; \ 649*9a0e4156SSadaf Ebrahimi case 2: \ 650*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 23, 5); \ 651*9a0e4156SSadaf Ebrahimi if (DecodeGPRegsRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 652*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 18, 5); \ 653*9a0e4156SSadaf Ebrahimi if (DecodeGPRegsRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 654*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 13, 5); \ 655*9a0e4156SSadaf Ebrahimi if (DecodeScst5(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 656*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 12, 1); \ 657*9a0e4156SSadaf Ebrahimi if (DecodeCrosspathX2(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 658*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 29, 3); \ 659*9a0e4156SSadaf Ebrahimi if (DecodeCondRegister(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 660*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 28, 1); \ 661*9a0e4156SSadaf Ebrahimi if (DecodeCondRegisterZero(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 662*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 1, 1); \ 663*9a0e4156SSadaf Ebrahimi if (DecodeSide(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 664*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 0, 1); \ 665*9a0e4156SSadaf Ebrahimi if (DecodeParallel(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 666*9a0e4156SSadaf Ebrahimi return S; \ 667*9a0e4156SSadaf Ebrahimi case 3: \ 668*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 23, 5); \ 669*9a0e4156SSadaf Ebrahimi if (DecodeGPRegsRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 670*9a0e4156SSadaf Ebrahimi tmp = 0; \ 671*9a0e4156SSadaf Ebrahimi tmp |= fieldname(insn, 7, 1) << 0; \ 672*9a0e4156SSadaf Ebrahimi tmp |= fieldname(insn, 9, 14) << 1; \ 673*9a0e4156SSadaf Ebrahimi if (DecodeMemOperand(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 674*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 29, 3); \ 675*9a0e4156SSadaf Ebrahimi if (DecodeCondRegister(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 676*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 28, 1); \ 677*9a0e4156SSadaf Ebrahimi if (DecodeCondRegisterZero(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 678*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 1, 1); \ 679*9a0e4156SSadaf Ebrahimi if (DecodeSide(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 680*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 0, 1); \ 681*9a0e4156SSadaf Ebrahimi if (DecodeParallel(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 682*9a0e4156SSadaf Ebrahimi return S; \ 683*9a0e4156SSadaf Ebrahimi case 4: \ 684*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 23, 5); \ 685*9a0e4156SSadaf Ebrahimi if (DecodeGPRegsRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 686*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 18, 5); \ 687*9a0e4156SSadaf Ebrahimi if (DecodeGPRegsRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 688*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 13, 5); \ 689*9a0e4156SSadaf Ebrahimi MCOperand_CreateImm0(MI, tmp); \ 690*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 8, 5); \ 691*9a0e4156SSadaf Ebrahimi MCOperand_CreateImm0(MI, tmp); \ 692*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 29, 3); \ 693*9a0e4156SSadaf Ebrahimi if (DecodeCondRegister(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 694*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 28, 1); \ 695*9a0e4156SSadaf Ebrahimi if (DecodeCondRegisterZero(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 696*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 1, 1); \ 697*9a0e4156SSadaf Ebrahimi if (DecodeSide(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 698*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 0, 1); \ 699*9a0e4156SSadaf Ebrahimi if (DecodeParallel(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 700*9a0e4156SSadaf Ebrahimi return S; \ 701*9a0e4156SSadaf Ebrahimi case 5: \ 702*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 23, 5); \ 703*9a0e4156SSadaf Ebrahimi if (DecodeGPRegsRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 704*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 7, 16); \ 705*9a0e4156SSadaf Ebrahimi if (DecodeMemOperand2(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 706*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 29, 3); \ 707*9a0e4156SSadaf Ebrahimi if (DecodeCondRegister(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 708*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 28, 1); \ 709*9a0e4156SSadaf Ebrahimi if (DecodeCondRegisterZero(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 710*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 1, 1); \ 711*9a0e4156SSadaf Ebrahimi if (DecodeSide(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 712*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 0, 1); \ 713*9a0e4156SSadaf Ebrahimi if (DecodeParallel(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 714*9a0e4156SSadaf Ebrahimi return S; \ 715*9a0e4156SSadaf Ebrahimi case 6: \ 716*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 7, 21); \ 717*9a0e4156SSadaf Ebrahimi if (DecodePCRelScst21(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 718*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 29, 3); \ 719*9a0e4156SSadaf Ebrahimi if (DecodeCondRegister(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 720*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 28, 1); \ 721*9a0e4156SSadaf Ebrahimi if (DecodeCondRegisterZero(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 722*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 1, 1); \ 723*9a0e4156SSadaf Ebrahimi if (DecodeSide(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 724*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 0, 1); \ 725*9a0e4156SSadaf Ebrahimi if (DecodeParallel(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 726*9a0e4156SSadaf Ebrahimi return S; \ 727*9a0e4156SSadaf Ebrahimi case 7: \ 728*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 23, 5); \ 729*9a0e4156SSadaf Ebrahimi if (DecodeRegPair5(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 730*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 18, 5); \ 731*9a0e4156SSadaf Ebrahimi if (DecodeRegPair5(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 732*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 13, 5); \ 733*9a0e4156SSadaf Ebrahimi if (DecodeScst5(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 734*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 12, 1); \ 735*9a0e4156SSadaf Ebrahimi if (DecodeCrosspathX3(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 736*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 29, 3); \ 737*9a0e4156SSadaf Ebrahimi if (DecodeCondRegister(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 738*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 28, 1); \ 739*9a0e4156SSadaf Ebrahimi if (DecodeCondRegisterZero(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 740*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 1, 1); \ 741*9a0e4156SSadaf Ebrahimi if (DecodeSide(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 742*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 0, 1); \ 743*9a0e4156SSadaf Ebrahimi if (DecodeParallel(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 744*9a0e4156SSadaf Ebrahimi return S; \ 745*9a0e4156SSadaf Ebrahimi case 8: \ 746*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 23, 5); \ 747*9a0e4156SSadaf Ebrahimi if (DecodeRegPair5(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 748*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 18, 5); \ 749*9a0e4156SSadaf Ebrahimi if (DecodeRegPair5(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 750*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 12, 1); \ 751*9a0e4156SSadaf Ebrahimi if (DecodeCrosspathX2(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 752*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 29, 3); \ 753*9a0e4156SSadaf Ebrahimi if (DecodeCondRegister(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 754*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 28, 1); \ 755*9a0e4156SSadaf Ebrahimi if (DecodeCondRegisterZero(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 756*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 1, 1); \ 757*9a0e4156SSadaf Ebrahimi if (DecodeSide(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 758*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 0, 1); \ 759*9a0e4156SSadaf Ebrahimi if (DecodeParallel(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 760*9a0e4156SSadaf Ebrahimi return S; \ 761*9a0e4156SSadaf Ebrahimi case 9: \ 762*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 23, 5); \ 763*9a0e4156SSadaf Ebrahimi if (DecodeGPRegsRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 764*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 18, 5); \ 765*9a0e4156SSadaf Ebrahimi if (DecodeRegPair5(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 766*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 12, 1); \ 767*9a0e4156SSadaf Ebrahimi if (DecodeCrosspathX3(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 768*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 29, 3); \ 769*9a0e4156SSadaf Ebrahimi if (DecodeCondRegister(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 770*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 28, 1); \ 771*9a0e4156SSadaf Ebrahimi if (DecodeCondRegisterZero(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 772*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 1, 1); \ 773*9a0e4156SSadaf Ebrahimi if (DecodeSide(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 774*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 0, 1); \ 775*9a0e4156SSadaf Ebrahimi if (DecodeParallel(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 776*9a0e4156SSadaf Ebrahimi return S; \ 777*9a0e4156SSadaf Ebrahimi case 10: \ 778*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 23, 5); \ 779*9a0e4156SSadaf Ebrahimi if (DecodeGPRegsRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 780*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 18, 5); \ 781*9a0e4156SSadaf Ebrahimi if (DecodeRegPair5(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 782*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 13, 5); \ 783*9a0e4156SSadaf Ebrahimi if (DecodeScst5(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 784*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 12, 1); \ 785*9a0e4156SSadaf Ebrahimi if (DecodeCrosspathX3(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 786*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 29, 3); \ 787*9a0e4156SSadaf Ebrahimi if (DecodeCondRegister(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 788*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 28, 1); \ 789*9a0e4156SSadaf Ebrahimi if (DecodeCondRegisterZero(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 790*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 1, 1); \ 791*9a0e4156SSadaf Ebrahimi if (DecodeSide(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 792*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 0, 1); \ 793*9a0e4156SSadaf Ebrahimi if (DecodeParallel(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 794*9a0e4156SSadaf Ebrahimi return S; \ 795*9a0e4156SSadaf Ebrahimi case 11: \ 796*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 23, 5); \ 797*9a0e4156SSadaf Ebrahimi if (DecodeGPRegsRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 798*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 18, 5); \ 799*9a0e4156SSadaf Ebrahimi if (DecodeRegPair5(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 800*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 13, 5); \ 801*9a0e4156SSadaf Ebrahimi MCOperand_CreateImm0(MI, tmp); \ 802*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 12, 1); \ 803*9a0e4156SSadaf Ebrahimi if (DecodeCrosspathX3(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 804*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 29, 3); \ 805*9a0e4156SSadaf Ebrahimi if (DecodeCondRegister(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 806*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 28, 1); \ 807*9a0e4156SSadaf Ebrahimi if (DecodeCondRegisterZero(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 808*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 1, 1); \ 809*9a0e4156SSadaf Ebrahimi if (DecodeSide(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 810*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 0, 1); \ 811*9a0e4156SSadaf Ebrahimi if (DecodeParallel(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 812*9a0e4156SSadaf Ebrahimi return S; \ 813*9a0e4156SSadaf Ebrahimi case 12: \ 814*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 23, 5); \ 815*9a0e4156SSadaf Ebrahimi if (DecodeGPRegsRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 816*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 18, 5); \ 817*9a0e4156SSadaf Ebrahimi if (DecodeRegPair5(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 818*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 12, 1); \ 819*9a0e4156SSadaf Ebrahimi if (DecodeCrosspathX2(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 820*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 29, 3); \ 821*9a0e4156SSadaf Ebrahimi if (DecodeCondRegister(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 822*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 28, 1); \ 823*9a0e4156SSadaf Ebrahimi if (DecodeCondRegisterZero(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 824*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 1, 1); \ 825*9a0e4156SSadaf Ebrahimi if (DecodeSide(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 826*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 0, 1); \ 827*9a0e4156SSadaf Ebrahimi if (DecodeParallel(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 828*9a0e4156SSadaf Ebrahimi return S; \ 829*9a0e4156SSadaf Ebrahimi case 13: \ 830*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 23, 5); \ 831*9a0e4156SSadaf Ebrahimi if (DecodeGPRegsRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 832*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 13, 10); \ 833*9a0e4156SSadaf Ebrahimi if (DecodePCRelScst10(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 834*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 29, 3); \ 835*9a0e4156SSadaf Ebrahimi if (DecodeCondRegister(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 836*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 28, 1); \ 837*9a0e4156SSadaf Ebrahimi if (DecodeCondRegisterZero(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 838*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 1, 1); \ 839*9a0e4156SSadaf Ebrahimi if (DecodeSide(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 840*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 0, 1); \ 841*9a0e4156SSadaf Ebrahimi if (DecodeParallel(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 842*9a0e4156SSadaf Ebrahimi return S; \ 843*9a0e4156SSadaf Ebrahimi case 14: \ 844*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 16, 12); \ 845*9a0e4156SSadaf Ebrahimi if (DecodePCRelScst12(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 846*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 13, 3); \ 847*9a0e4156SSadaf Ebrahimi MCOperand_CreateImm0(MI, tmp); \ 848*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 29, 3); \ 849*9a0e4156SSadaf Ebrahimi if (DecodeCondRegister(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 850*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 28, 1); \ 851*9a0e4156SSadaf Ebrahimi if (DecodeCondRegisterZero(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 852*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 1, 1); \ 853*9a0e4156SSadaf Ebrahimi if (DecodeSide(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 854*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 0, 1); \ 855*9a0e4156SSadaf Ebrahimi if (DecodeParallel(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 856*9a0e4156SSadaf Ebrahimi return S; \ 857*9a0e4156SSadaf Ebrahimi case 15: \ 858*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 23, 5); \ 859*9a0e4156SSadaf Ebrahimi if (DecodeControlRegsRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 860*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 18, 5); \ 861*9a0e4156SSadaf Ebrahimi if (DecodeGPRegsRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 862*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 12, 1); \ 863*9a0e4156SSadaf Ebrahimi if (DecodeCrosspathX2(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 864*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 29, 3); \ 865*9a0e4156SSadaf Ebrahimi if (DecodeCondRegister(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 866*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 28, 1); \ 867*9a0e4156SSadaf Ebrahimi if (DecodeCondRegisterZero(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 868*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 1, 1); \ 869*9a0e4156SSadaf Ebrahimi if (DecodeSide(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 870*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 0, 1); \ 871*9a0e4156SSadaf Ebrahimi if (DecodeParallel(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 872*9a0e4156SSadaf Ebrahimi return S; \ 873*9a0e4156SSadaf Ebrahimi case 16: \ 874*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 23, 5); \ 875*9a0e4156SSadaf Ebrahimi if (DecodeRegPair5(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 876*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 18, 5); \ 877*9a0e4156SSadaf Ebrahimi if (DecodeGPRegsRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 878*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 13, 5); \ 879*9a0e4156SSadaf Ebrahimi MCOperand_CreateImm0(MI, tmp); \ 880*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 12, 1); \ 881*9a0e4156SSadaf Ebrahimi if (DecodeCrosspathX3(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 882*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 29, 3); \ 883*9a0e4156SSadaf Ebrahimi if (DecodeCondRegister(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 884*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 28, 1); \ 885*9a0e4156SSadaf Ebrahimi if (DecodeCondRegisterZero(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 886*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 1, 1); \ 887*9a0e4156SSadaf Ebrahimi if (DecodeSide(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 888*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 0, 1); \ 889*9a0e4156SSadaf Ebrahimi if (DecodeParallel(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 890*9a0e4156SSadaf Ebrahimi return S; \ 891*9a0e4156SSadaf Ebrahimi case 17: \ 892*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 23, 5); \ 893*9a0e4156SSadaf Ebrahimi if (DecodeGPRegsRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 894*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 18, 5); \ 895*9a0e4156SSadaf Ebrahimi if (DecodeGPRegsRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 896*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 13, 5); \ 897*9a0e4156SSadaf Ebrahimi MCOperand_CreateImm0(MI, tmp); \ 898*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 12, 1); \ 899*9a0e4156SSadaf Ebrahimi if (DecodeCrosspathX2(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 900*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 29, 3); \ 901*9a0e4156SSadaf Ebrahimi if (DecodeCondRegister(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 902*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 28, 1); \ 903*9a0e4156SSadaf Ebrahimi if (DecodeCondRegisterZero(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 904*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 1, 1); \ 905*9a0e4156SSadaf Ebrahimi if (DecodeSide(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 906*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 0, 1); \ 907*9a0e4156SSadaf Ebrahimi if (DecodeParallel(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 908*9a0e4156SSadaf Ebrahimi return S; \ 909*9a0e4156SSadaf Ebrahimi case 18: \ 910*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 23, 5); \ 911*9a0e4156SSadaf Ebrahimi if (DecodeRegPair5(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 912*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 18, 5); \ 913*9a0e4156SSadaf Ebrahimi if (DecodeRegPair5(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 914*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 13, 5); \ 915*9a0e4156SSadaf Ebrahimi MCOperand_CreateImm0(MI, tmp); \ 916*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 12, 1); \ 917*9a0e4156SSadaf Ebrahimi if (DecodeCrosspathX2(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 918*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 29, 3); \ 919*9a0e4156SSadaf Ebrahimi if (DecodeCondRegister(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 920*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 28, 1); \ 921*9a0e4156SSadaf Ebrahimi if (DecodeCondRegisterZero(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 922*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 1, 1); \ 923*9a0e4156SSadaf Ebrahimi if (DecodeSide(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 924*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 0, 1); \ 925*9a0e4156SSadaf Ebrahimi if (DecodeParallel(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 926*9a0e4156SSadaf Ebrahimi return S; \ 927*9a0e4156SSadaf Ebrahimi case 19: \ 928*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 23, 5); \ 929*9a0e4156SSadaf Ebrahimi if (DecodeRegPair5(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 930*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 18, 5); \ 931*9a0e4156SSadaf Ebrahimi if (DecodeRegPair5(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 932*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 13, 5); \ 933*9a0e4156SSadaf Ebrahimi MCOperand_CreateImm0(MI, tmp); \ 934*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 12, 1); \ 935*9a0e4156SSadaf Ebrahimi if (DecodeCrosspathX3(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 936*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 29, 3); \ 937*9a0e4156SSadaf Ebrahimi if (DecodeCondRegister(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 938*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 28, 1); \ 939*9a0e4156SSadaf Ebrahimi if (DecodeCondRegisterZero(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 940*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 1, 1); \ 941*9a0e4156SSadaf Ebrahimi if (DecodeSide(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 942*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 0, 1); \ 943*9a0e4156SSadaf Ebrahimi if (DecodeParallel(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 944*9a0e4156SSadaf Ebrahimi return S; \ 945*9a0e4156SSadaf Ebrahimi case 20: \ 946*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 23, 5); \ 947*9a0e4156SSadaf Ebrahimi if (DecodeGPRegsRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 948*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 18, 5); \ 949*9a0e4156SSadaf Ebrahimi if (DecodeGPRegsRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 950*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 13, 5); \ 951*9a0e4156SSadaf Ebrahimi MCOperand_CreateImm0(MI, tmp); \ 952*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 12, 1); \ 953*9a0e4156SSadaf Ebrahimi if (DecodeCrosspathX3(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 954*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 29, 3); \ 955*9a0e4156SSadaf Ebrahimi if (DecodeCondRegister(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 956*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 28, 1); \ 957*9a0e4156SSadaf Ebrahimi if (DecodeCondRegisterZero(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 958*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 1, 1); \ 959*9a0e4156SSadaf Ebrahimi if (DecodeSide(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 960*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 0, 1); \ 961*9a0e4156SSadaf Ebrahimi if (DecodeParallel(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 962*9a0e4156SSadaf Ebrahimi return S; \ 963*9a0e4156SSadaf Ebrahimi case 21: \ 964*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 23, 5); \ 965*9a0e4156SSadaf Ebrahimi if (DecodeGPRegsRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 966*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 18, 5); \ 967*9a0e4156SSadaf Ebrahimi if (DecodeGPRegsRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 968*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 12, 1); \ 969*9a0e4156SSadaf Ebrahimi if (DecodeCrosspathX2(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 970*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 29, 3); \ 971*9a0e4156SSadaf Ebrahimi if (DecodeCondRegister(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 972*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 28, 1); \ 973*9a0e4156SSadaf Ebrahimi if (DecodeCondRegisterZero(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 974*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 1, 1); \ 975*9a0e4156SSadaf Ebrahimi if (DecodeSide(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 976*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 0, 1); \ 977*9a0e4156SSadaf Ebrahimi if (DecodeParallel(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 978*9a0e4156SSadaf Ebrahimi return S; \ 979*9a0e4156SSadaf Ebrahimi case 22: \ 980*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 24, 4); \ 981*9a0e4156SSadaf Ebrahimi if (DecodeRegPair4(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 982*9a0e4156SSadaf Ebrahimi tmp = 0; \ 983*9a0e4156SSadaf Ebrahimi tmp |= fieldname(insn, 7, 1) << 0; \ 984*9a0e4156SSadaf Ebrahimi tmp |= fieldname(insn, 9, 15) << 1; \ 985*9a0e4156SSadaf Ebrahimi if (DecodeMemOperandSc(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 986*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 29, 3); \ 987*9a0e4156SSadaf Ebrahimi if (DecodeCondRegister(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 988*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 28, 1); \ 989*9a0e4156SSadaf Ebrahimi if (DecodeCondRegisterZero(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 990*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 1, 1); \ 991*9a0e4156SSadaf Ebrahimi if (DecodeSide(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 992*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 0, 1); \ 993*9a0e4156SSadaf Ebrahimi if (DecodeParallel(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 994*9a0e4156SSadaf Ebrahimi return S; \ 995*9a0e4156SSadaf Ebrahimi case 23: \ 996*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 23, 5); \ 997*9a0e4156SSadaf Ebrahimi if (DecodeGPRegsRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 998*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 7, 16); \ 999*9a0e4156SSadaf Ebrahimi if (DecodeScst16(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 1000*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 29, 3); \ 1001*9a0e4156SSadaf Ebrahimi if (DecodeCondRegister(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 1002*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 28, 1); \ 1003*9a0e4156SSadaf Ebrahimi if (DecodeCondRegisterZero(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 1004*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 1, 1); \ 1005*9a0e4156SSadaf Ebrahimi if (DecodeSide(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 1006*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 0, 1); \ 1007*9a0e4156SSadaf Ebrahimi if (DecodeParallel(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 1008*9a0e4156SSadaf Ebrahimi return S; \ 1009*9a0e4156SSadaf Ebrahimi case 24: \ 1010*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 23, 5); \ 1011*9a0e4156SSadaf Ebrahimi if (DecodeRegPair5(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 1012*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 18, 5); \ 1013*9a0e4156SSadaf Ebrahimi if (DecodeGPRegsRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 1014*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 13, 5); \ 1015*9a0e4156SSadaf Ebrahimi if (DecodeGPRegsRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 1016*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 12, 1); \ 1017*9a0e4156SSadaf Ebrahimi if (DecodeCrosspathX2(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 1018*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 29, 3); \ 1019*9a0e4156SSadaf Ebrahimi if (DecodeCondRegister(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 1020*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 28, 1); \ 1021*9a0e4156SSadaf Ebrahimi if (DecodeCondRegisterZero(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 1022*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 1, 1); \ 1023*9a0e4156SSadaf Ebrahimi if (DecodeSide(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 1024*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 0, 1); \ 1025*9a0e4156SSadaf Ebrahimi if (DecodeParallel(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 1026*9a0e4156SSadaf Ebrahimi return S; \ 1027*9a0e4156SSadaf Ebrahimi case 25: \ 1028*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 23, 5); \ 1029*9a0e4156SSadaf Ebrahimi if (DecodeRegPair5(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 1030*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 18, 5); \ 1031*9a0e4156SSadaf Ebrahimi if (DecodeRegPair5(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 1032*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 13, 5); \ 1033*9a0e4156SSadaf Ebrahimi if (DecodeGPRegsRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 1034*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 12, 1); \ 1035*9a0e4156SSadaf Ebrahimi if (DecodeCrosspathX3(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 1036*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 29, 3); \ 1037*9a0e4156SSadaf Ebrahimi if (DecodeCondRegister(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 1038*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 28, 1); \ 1039*9a0e4156SSadaf Ebrahimi if (DecodeCondRegisterZero(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 1040*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 1, 1); \ 1041*9a0e4156SSadaf Ebrahimi if (DecodeSide(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 1042*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 0, 1); \ 1043*9a0e4156SSadaf Ebrahimi if (DecodeParallel(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 1044*9a0e4156SSadaf Ebrahimi return S; \ 1045*9a0e4156SSadaf Ebrahimi case 26: \ 1046*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 23, 5); \ 1047*9a0e4156SSadaf Ebrahimi if (DecodeGPRegsRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 1048*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 18, 5); \ 1049*9a0e4156SSadaf Ebrahimi if (DecodeRegPair5(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 1050*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 13, 5); \ 1051*9a0e4156SSadaf Ebrahimi if (DecodeGPRegsRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 1052*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 12, 1); \ 1053*9a0e4156SSadaf Ebrahimi if (DecodeCrosspathX3(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 1054*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 29, 3); \ 1055*9a0e4156SSadaf Ebrahimi if (DecodeCondRegister(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 1056*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 28, 1); \ 1057*9a0e4156SSadaf Ebrahimi if (DecodeCondRegisterZero(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 1058*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 1, 1); \ 1059*9a0e4156SSadaf Ebrahimi if (DecodeSide(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 1060*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 0, 1); \ 1061*9a0e4156SSadaf Ebrahimi if (DecodeParallel(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 1062*9a0e4156SSadaf Ebrahimi return S; \ 1063*9a0e4156SSadaf Ebrahimi case 27: \ 1064*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 23, 5); \ 1065*9a0e4156SSadaf Ebrahimi if (DecodeGPRegsRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 1066*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 13, 5); \ 1067*9a0e4156SSadaf Ebrahimi if (DecodeScst5(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 1068*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 29, 3); \ 1069*9a0e4156SSadaf Ebrahimi if (DecodeCondRegister(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 1070*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 28, 1); \ 1071*9a0e4156SSadaf Ebrahimi if (DecodeCondRegisterZero(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 1072*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 1, 1); \ 1073*9a0e4156SSadaf Ebrahimi if (DecodeSide(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 1074*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 0, 1); \ 1075*9a0e4156SSadaf Ebrahimi if (DecodeParallel(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 1076*9a0e4156SSadaf Ebrahimi return S; \ 1077*9a0e4156SSadaf Ebrahimi case 28: \ 1078*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 23, 5); \ 1079*9a0e4156SSadaf Ebrahimi if (DecodeGPRegsRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 1080*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 18, 5); \ 1081*9a0e4156SSadaf Ebrahimi if (DecodeGPRegsRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 1082*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 13, 5); \ 1083*9a0e4156SSadaf Ebrahimi if (DecodeGPRegsRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 1084*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 29, 3); \ 1085*9a0e4156SSadaf Ebrahimi if (DecodeCondRegister(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 1086*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 28, 1); \ 1087*9a0e4156SSadaf Ebrahimi if (DecodeCondRegisterZero(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 1088*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 1, 1); \ 1089*9a0e4156SSadaf Ebrahimi if (DecodeSide(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 1090*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 0, 1); \ 1091*9a0e4156SSadaf Ebrahimi if (DecodeParallel(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 1092*9a0e4156SSadaf Ebrahimi return S; \ 1093*9a0e4156SSadaf Ebrahimi case 29: \ 1094*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 23, 5); \ 1095*9a0e4156SSadaf Ebrahimi if (DecodeGPRegsRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 1096*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 18, 5); \ 1097*9a0e4156SSadaf Ebrahimi if (DecodeGPRegsRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 1098*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 13, 5); \ 1099*9a0e4156SSadaf Ebrahimi MCOperand_CreateImm0(MI, tmp); \ 1100*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 29, 3); \ 1101*9a0e4156SSadaf Ebrahimi if (DecodeCondRegister(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 1102*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 28, 1); \ 1103*9a0e4156SSadaf Ebrahimi if (DecodeCondRegisterZero(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 1104*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 1, 1); \ 1105*9a0e4156SSadaf Ebrahimi if (DecodeSide(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 1106*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 0, 1); \ 1107*9a0e4156SSadaf Ebrahimi if (DecodeParallel(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 1108*9a0e4156SSadaf Ebrahimi return S; \ 1109*9a0e4156SSadaf Ebrahimi case 30: \ 1110*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 23, 5); \ 1111*9a0e4156SSadaf Ebrahimi if (DecodeRegPair5(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 1112*9a0e4156SSadaf Ebrahimi tmp = 0; \ 1113*9a0e4156SSadaf Ebrahimi tmp |= fieldname(insn, 7, 1) << 0; \ 1114*9a0e4156SSadaf Ebrahimi tmp |= fieldname(insn, 9, 14) << 1; \ 1115*9a0e4156SSadaf Ebrahimi if (DecodeMemOperand(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 1116*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 29, 3); \ 1117*9a0e4156SSadaf Ebrahimi if (DecodeCondRegister(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 1118*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 28, 1); \ 1119*9a0e4156SSadaf Ebrahimi if (DecodeCondRegisterZero(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 1120*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 1, 1); \ 1121*9a0e4156SSadaf Ebrahimi if (DecodeSide(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 1122*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 0, 1); \ 1123*9a0e4156SSadaf Ebrahimi if (DecodeParallel(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 1124*9a0e4156SSadaf Ebrahimi return S; \ 1125*9a0e4156SSadaf Ebrahimi case 31: \ 1126*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 23, 5); \ 1127*9a0e4156SSadaf Ebrahimi if (DecodeGPRegsRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 1128*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 18, 5); \ 1129*9a0e4156SSadaf Ebrahimi if (DecodeScst5(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 1130*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 12, 1); \ 1131*9a0e4156SSadaf Ebrahimi if (DecodeCrosspathX2(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 1132*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 29, 3); \ 1133*9a0e4156SSadaf Ebrahimi if (DecodeCondRegister(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 1134*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 28, 1); \ 1135*9a0e4156SSadaf Ebrahimi if (DecodeCondRegisterZero(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 1136*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 1, 1); \ 1137*9a0e4156SSadaf Ebrahimi if (DecodeSide(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 1138*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 0, 1); \ 1139*9a0e4156SSadaf Ebrahimi if (DecodeParallel(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 1140*9a0e4156SSadaf Ebrahimi return S; \ 1141*9a0e4156SSadaf Ebrahimi case 32: \ 1142*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 29, 3); \ 1143*9a0e4156SSadaf Ebrahimi if (DecodeCondRegister(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 1144*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 28, 1); \ 1145*9a0e4156SSadaf Ebrahimi if (DecodeCondRegisterZero(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 1146*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 1, 1); \ 1147*9a0e4156SSadaf Ebrahimi if (DecodeSide(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 1148*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 0, 1); \ 1149*9a0e4156SSadaf Ebrahimi if (DecodeParallel(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 1150*9a0e4156SSadaf Ebrahimi return S; \ 1151*9a0e4156SSadaf Ebrahimi case 33: \ 1152*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 23, 5); \ 1153*9a0e4156SSadaf Ebrahimi if (DecodeGPRegsRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 1154*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 16, 7); \ 1155*9a0e4156SSadaf Ebrahimi if (DecodePCRelScst7(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 1156*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 13, 3); \ 1157*9a0e4156SSadaf Ebrahimi MCOperand_CreateImm0(MI, tmp); \ 1158*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 29, 3); \ 1159*9a0e4156SSadaf Ebrahimi if (DecodeCondRegister(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 1160*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 28, 1); \ 1161*9a0e4156SSadaf Ebrahimi if (DecodeCondRegisterZero(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 1162*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 1, 1); \ 1163*9a0e4156SSadaf Ebrahimi if (DecodeSide(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 1164*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 0, 1); \ 1165*9a0e4156SSadaf Ebrahimi if (DecodeParallel(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 1166*9a0e4156SSadaf Ebrahimi return S; \ 1167*9a0e4156SSadaf Ebrahimi case 34: \ 1168*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 18, 5); \ 1169*9a0e4156SSadaf Ebrahimi if (DecodeGPRegsRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 1170*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 12, 1); \ 1171*9a0e4156SSadaf Ebrahimi if (DecodeCrosspathX1(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 1172*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 29, 3); \ 1173*9a0e4156SSadaf Ebrahimi if (DecodeCondRegister(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 1174*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 28, 1); \ 1175*9a0e4156SSadaf Ebrahimi if (DecodeCondRegisterZero(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 1176*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 1, 1); \ 1177*9a0e4156SSadaf Ebrahimi if (DecodeSide(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 1178*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 0, 1); \ 1179*9a0e4156SSadaf Ebrahimi if (DecodeParallel(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 1180*9a0e4156SSadaf Ebrahimi return S; \ 1181*9a0e4156SSadaf Ebrahimi case 35: \ 1182*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 18, 5); \ 1183*9a0e4156SSadaf Ebrahimi if (DecodeGPRegsRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 1184*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 13, 3); \ 1185*9a0e4156SSadaf Ebrahimi MCOperand_CreateImm0(MI, tmp); \ 1186*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 12, 1); \ 1187*9a0e4156SSadaf Ebrahimi if (DecodeCrosspathX1(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 1188*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 29, 3); \ 1189*9a0e4156SSadaf Ebrahimi if (DecodeCondRegister(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 1190*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 28, 1); \ 1191*9a0e4156SSadaf Ebrahimi if (DecodeCondRegisterZero(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 1192*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 1, 1); \ 1193*9a0e4156SSadaf Ebrahimi if (DecodeSide(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 1194*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 0, 1); \ 1195*9a0e4156SSadaf Ebrahimi if (DecodeParallel(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 1196*9a0e4156SSadaf Ebrahimi return S; \ 1197*9a0e4156SSadaf Ebrahimi case 36: \ 1198*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 23, 5); \ 1199*9a0e4156SSadaf Ebrahimi if (DecodeGPRegsRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 1200*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 18, 5); \ 1201*9a0e4156SSadaf Ebrahimi if (DecodeControlRegsRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 1202*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 12, 1); \ 1203*9a0e4156SSadaf Ebrahimi if (DecodeCrosspathX2(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 1204*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 29, 3); \ 1205*9a0e4156SSadaf Ebrahimi if (DecodeCondRegister(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 1206*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 28, 1); \ 1207*9a0e4156SSadaf Ebrahimi if (DecodeCondRegisterZero(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 1208*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 1, 1); \ 1209*9a0e4156SSadaf Ebrahimi if (DecodeSide(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 1210*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 0, 1); \ 1211*9a0e4156SSadaf Ebrahimi if (DecodeParallel(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 1212*9a0e4156SSadaf Ebrahimi return S; \ 1213*9a0e4156SSadaf Ebrahimi case 37: \ 1214*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 23, 5); \ 1215*9a0e4156SSadaf Ebrahimi if (DecodeRegPair5(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 1216*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 18, 5); \ 1217*9a0e4156SSadaf Ebrahimi if (DecodeGPRegsRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 1218*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 13, 5); \ 1219*9a0e4156SSadaf Ebrahimi if (DecodeGPRegsRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 1220*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 12, 1); \ 1221*9a0e4156SSadaf Ebrahimi if (DecodeCrosspathX3(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 1222*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 29, 3); \ 1223*9a0e4156SSadaf Ebrahimi if (DecodeCondRegister(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 1224*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 28, 1); \ 1225*9a0e4156SSadaf Ebrahimi if (DecodeCondRegisterZero(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 1226*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 1, 1); \ 1227*9a0e4156SSadaf Ebrahimi if (DecodeSide(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 1228*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 0, 1); \ 1229*9a0e4156SSadaf Ebrahimi if (DecodeParallel(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 1230*9a0e4156SSadaf Ebrahimi return S; \ 1231*9a0e4156SSadaf Ebrahimi case 38: \ 1232*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 23, 5); \ 1233*9a0e4156SSadaf Ebrahimi if (DecodeRegPair5(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 1234*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 18, 5); \ 1235*9a0e4156SSadaf Ebrahimi if (DecodeRegPair5(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 1236*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 13, 5); \ 1237*9a0e4156SSadaf Ebrahimi if (DecodeGPRegsRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 1238*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 12, 1); \ 1239*9a0e4156SSadaf Ebrahimi if (DecodeCrosspathX2(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 1240*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 29, 3); \ 1241*9a0e4156SSadaf Ebrahimi if (DecodeCondRegister(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 1242*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 28, 1); \ 1243*9a0e4156SSadaf Ebrahimi if (DecodeCondRegisterZero(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 1244*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 1, 1); \ 1245*9a0e4156SSadaf Ebrahimi if (DecodeSide(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 1246*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 0, 1); \ 1247*9a0e4156SSadaf Ebrahimi if (DecodeParallel(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 1248*9a0e4156SSadaf Ebrahimi return S; \ 1249*9a0e4156SSadaf Ebrahimi case 39: \ 1250*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 23, 5); \ 1251*9a0e4156SSadaf Ebrahimi if (DecodeGPRegsRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 1252*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 18, 5); \ 1253*9a0e4156SSadaf Ebrahimi if (DecodeGPRegsRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 1254*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 13, 5); \ 1255*9a0e4156SSadaf Ebrahimi if (DecodeGPRegsRegisterClass(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 1256*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 12, 1); \ 1257*9a0e4156SSadaf Ebrahimi if (DecodeCrosspathX3(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 1258*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 29, 3); \ 1259*9a0e4156SSadaf Ebrahimi if (DecodeCondRegister(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 1260*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 28, 1); \ 1261*9a0e4156SSadaf Ebrahimi if (DecodeCondRegisterZero(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 1262*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 1, 1); \ 1263*9a0e4156SSadaf Ebrahimi if (DecodeSide(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 1264*9a0e4156SSadaf Ebrahimi tmp = fieldname(insn, 0, 1); \ 1265*9a0e4156SSadaf Ebrahimi if (DecodeParallel(MI, tmp, Address, Decoder) == MCDisassembler_Fail) return MCDisassembler_Fail; \ 1266*9a0e4156SSadaf Ebrahimi return S; \ 1267*9a0e4156SSadaf Ebrahimi } \ 1268*9a0e4156SSadaf Ebrahimi} 1269*9a0e4156SSadaf Ebrahimi 1270*9a0e4156SSadaf Ebrahimi#define DecodeInstruction(fname, fieldname, decoder, InsnType) \ 1271*9a0e4156SSadaf Ebrahimistatic DecodeStatus fname(uint8_t DecodeTable[], MCInst *MI, \ 1272*9a0e4156SSadaf Ebrahimi InsnType insn, uint64_t Address, \ 1273*9a0e4156SSadaf Ebrahimi MCRegisterInfo *MRI, \ 1274*9a0e4156SSadaf Ebrahimi int feature) { \ 1275*9a0e4156SSadaf Ebrahimi uint64_t Bits = getFeatureBits(feature); \ 1276*9a0e4156SSadaf Ebrahimi uint8_t *Ptr = DecodeTable; \ 1277*9a0e4156SSadaf Ebrahimi uint32_t CurFieldValue = 0, ExpectedValue; \ 1278*9a0e4156SSadaf Ebrahimi DecodeStatus S = MCDisassembler_Success; \ 1279*9a0e4156SSadaf Ebrahimi unsigned Start, Len, NumToSkip, PIdx, Opc, DecodeIdx; \ 1280*9a0e4156SSadaf Ebrahimi InsnType Val, FieldValue, PositiveMask, NegativeMask; \ 1281*9a0e4156SSadaf Ebrahimi bool Pred, Fail; \ 1282*9a0e4156SSadaf Ebrahimi for (;;) { \ 1283*9a0e4156SSadaf Ebrahimi switch (*Ptr) { \ 1284*9a0e4156SSadaf Ebrahimi default: \ 1285*9a0e4156SSadaf Ebrahimi return MCDisassembler_Fail; \ 1286*9a0e4156SSadaf Ebrahimi case MCD_OPC_ExtractField: { \ 1287*9a0e4156SSadaf Ebrahimi Start = *++Ptr; \ 1288*9a0e4156SSadaf Ebrahimi Len = *++Ptr; \ 1289*9a0e4156SSadaf Ebrahimi ++Ptr; \ 1290*9a0e4156SSadaf Ebrahimi CurFieldValue = (uint32_t) fieldname(insn, Start, Len); \ 1291*9a0e4156SSadaf Ebrahimi break; \ 1292*9a0e4156SSadaf Ebrahimi } \ 1293*9a0e4156SSadaf Ebrahimi case MCD_OPC_FilterValue: { \ 1294*9a0e4156SSadaf Ebrahimi Val = (InsnType) decodeULEB128(++Ptr, &Len); \ 1295*9a0e4156SSadaf Ebrahimi Ptr += Len; \ 1296*9a0e4156SSadaf Ebrahimi NumToSkip = *Ptr++; \ 1297*9a0e4156SSadaf Ebrahimi NumToSkip |= (*Ptr++) << 8; \ 1298*9a0e4156SSadaf Ebrahimi if (Val != CurFieldValue) \ 1299*9a0e4156SSadaf Ebrahimi Ptr += NumToSkip; \ 1300*9a0e4156SSadaf Ebrahimi break; \ 1301*9a0e4156SSadaf Ebrahimi } \ 1302*9a0e4156SSadaf Ebrahimi case MCD_OPC_CheckField: { \ 1303*9a0e4156SSadaf Ebrahimi Start = *++Ptr; \ 1304*9a0e4156SSadaf Ebrahimi Len = *++Ptr; \ 1305*9a0e4156SSadaf Ebrahimi FieldValue = fieldname(insn, Start, Len); \ 1306*9a0e4156SSadaf Ebrahimi ExpectedValue = (uint32_t) decodeULEB128(++Ptr, &Len); \ 1307*9a0e4156SSadaf Ebrahimi Ptr += Len; \ 1308*9a0e4156SSadaf Ebrahimi NumToSkip = *Ptr++; \ 1309*9a0e4156SSadaf Ebrahimi NumToSkip |= (*Ptr++) << 8; \ 1310*9a0e4156SSadaf Ebrahimi if (ExpectedValue != FieldValue) \ 1311*9a0e4156SSadaf Ebrahimi Ptr += NumToSkip; \ 1312*9a0e4156SSadaf Ebrahimi break; \ 1313*9a0e4156SSadaf Ebrahimi } \ 1314*9a0e4156SSadaf Ebrahimi case MCD_OPC_CheckPredicate: { \ 1315*9a0e4156SSadaf Ebrahimi PIdx = (uint32_t) decodeULEB128(++Ptr, &Len); \ 1316*9a0e4156SSadaf Ebrahimi Ptr += Len; \ 1317*9a0e4156SSadaf Ebrahimi NumToSkip = *Ptr++; \ 1318*9a0e4156SSadaf Ebrahimi NumToSkip |= (*Ptr++) << 8; \ 1319*9a0e4156SSadaf Ebrahimi Pred = checkDecoderPredicate(PIdx, Bits); \ 1320*9a0e4156SSadaf Ebrahimi if (!Pred) \ 1321*9a0e4156SSadaf Ebrahimi Ptr += NumToSkip; \ 1322*9a0e4156SSadaf Ebrahimi (void)Pred; \ 1323*9a0e4156SSadaf Ebrahimi break; \ 1324*9a0e4156SSadaf Ebrahimi } \ 1325*9a0e4156SSadaf Ebrahimi case MCD_OPC_Decode: { \ 1326*9a0e4156SSadaf Ebrahimi Opc = (unsigned) decodeULEB128(++Ptr, &Len); \ 1327*9a0e4156SSadaf Ebrahimi Ptr += Len; \ 1328*9a0e4156SSadaf Ebrahimi DecodeIdx = (unsigned) decodeULEB128(Ptr, &Len); \ 1329*9a0e4156SSadaf Ebrahimi Ptr += Len; \ 1330*9a0e4156SSadaf Ebrahimi MCInst_setOpcode(MI, Opc); \ 1331*9a0e4156SSadaf Ebrahimi return decoder(S, DecodeIdx, insn, MI, Address, MRI); \ 1332*9a0e4156SSadaf Ebrahimi } \ 1333*9a0e4156SSadaf Ebrahimi case MCD_OPC_SoftFail: { \ 1334*9a0e4156SSadaf Ebrahimi PositiveMask = (InsnType) decodeULEB128(++Ptr, &Len); \ 1335*9a0e4156SSadaf Ebrahimi Ptr += Len; \ 1336*9a0e4156SSadaf Ebrahimi NegativeMask = (InsnType) decodeULEB128(Ptr, &Len); \ 1337*9a0e4156SSadaf Ebrahimi Ptr += Len; \ 1338*9a0e4156SSadaf Ebrahimi Fail = (insn & PositiveMask) || (~insn & NegativeMask); \ 1339*9a0e4156SSadaf Ebrahimi if (Fail) \ 1340*9a0e4156SSadaf Ebrahimi S = MCDisassembler_SoftFail; \ 1341*9a0e4156SSadaf Ebrahimi break; \ 1342*9a0e4156SSadaf Ebrahimi } \ 1343*9a0e4156SSadaf Ebrahimi case MCD_OPC_Fail: { \ 1344*9a0e4156SSadaf Ebrahimi return MCDisassembler_Fail; \ 1345*9a0e4156SSadaf Ebrahimi } \ 1346*9a0e4156SSadaf Ebrahimi } \ 1347*9a0e4156SSadaf Ebrahimi } \ 1348*9a0e4156SSadaf Ebrahimi} 1349*9a0e4156SSadaf Ebrahimi 1350*9a0e4156SSadaf EbrahimiFieldFromInstruction(fieldFromInstruction_4, uint32_t) 1351*9a0e4156SSadaf EbrahimiDecodeToMCInst(decodeToMCInst_4, fieldFromInstruction_4, uint32_t) 1352*9a0e4156SSadaf EbrahimiDecodeInstruction(decodeInstruction_4, fieldFromInstruction_4, decodeToMCInst_4, uint32_t) 1353