LCOV - code coverage report
Current view: top level - build-llvm/lib/Target/ARM - ARMGenAsmMatcher.inc (source / functions) Hit Total Coverage
Test: llvm-toolchain.info Lines: 1388 2524 55.0 %
Date: 2018-05-20 00:06:23 Functions: 13 14 92.9 %
Legend: Lines: hit not hit

          Line data    Source code
       1             : /*===- TableGen'erated file -------------------------------------*- C++ -*-===*\
       2             : |*                                                                            *|
       3             : |* Assembly Matcher Source Fragment                                           *|
       4             : |*                                                                            *|
       5             : |* Automatically generated file, do not edit!                                 *|
       6             : |*                                                                            *|
       7             : \*===----------------------------------------------------------------------===*/
       8             : 
       9             : 
      10             : #ifdef GET_ASSEMBLER_HEADER
      11             : #undef GET_ASSEMBLER_HEADER
      12             :   // This should be included into the middle of the declaration of
      13             :   // your subclasses implementation of MCTargetAsmParser.
      14             :   uint64_t ComputeAvailableFeatures(const FeatureBitset& FB) const;
      15             :   void convertToMCInst(unsigned Kind, MCInst &Inst, unsigned Opcode,
      16             :                        const OperandVector &Operands);
      17             :   void convertToMapAndConstraints(unsigned Kind,
      18             :                            const OperandVector &Operands) override;
      19             :   unsigned MatchInstructionImpl(const OperandVector &Operands,
      20             :                                 MCInst &Inst,
      21             :                                 SmallVectorImpl<NearMissInfo> *NearMisses,
      22             :                                 bool matchingInlineAsm,
      23             :                                 unsigned VariantID = 0);
      24             :   OperandMatchResultTy MatchOperandParserImpl(
      25             :     OperandVector &Operands,
      26             :     StringRef Mnemonic,
      27             :     bool ParseForAllFeatures = false);
      28             :   OperandMatchResultTy tryCustomParseOperand(
      29             :     OperandVector &Operands,
      30             :     unsigned MCK);
      31             : 
      32             : #endif // GET_ASSEMBLER_HEADER_INFO
      33             : 
      34             : 
      35             : #ifdef GET_OPERAND_DIAGNOSTIC_TYPES
      36             : #undef GET_OPERAND_DIAGNOSTIC_TYPES
      37             : 
      38             :   Match_AlignedMemory16,
      39             :   Match_AlignedMemory32,
      40             :   Match_AlignedMemory64,
      41             :   Match_AlignedMemory64or128,
      42             :   Match_AlignedMemory64or128or256,
      43             :   Match_AlignedMemoryNone,
      44             :   Match_ComplexRotationEven,
      45             :   Match_ComplexRotationOdd,
      46             :   Match_DPR,
      47             :   Match_DPR_8,
      48             :   Match_DPR_RegList,
      49             :   Match_DPR_VFP2,
      50             :   Match_DupAlignedMemory16,
      51             :   Match_DupAlignedMemory32,
      52             :   Match_DupAlignedMemory64,
      53             :   Match_DupAlignedMemory64or128,
      54             :   Match_DupAlignedMemoryNone,
      55             :   Match_GPR,
      56             :   Match_GPRnopc,
      57             :   Match_GPRsp,
      58             :   Match_GPRwithAPSR,
      59             :   Match_Imm0_1,
      60             :   Match_Imm0_15,
      61             :   Match_Imm0_239,
      62             :   Match_Imm0_255,
      63             :   Match_Imm0_3,
      64             :   Match_Imm0_31,
      65             :   Match_Imm0_32,
      66             :   Match_Imm0_4095,
      67             :   Match_Imm0_63,
      68             :   Match_Imm0_65535,
      69             :   Match_Imm0_65535Expr,
      70             :   Match_Imm0_7,
      71             :   Match_Imm16,
      72             :   Match_Imm1_15,
      73             :   Match_Imm1_31,
      74             :   Match_Imm1_7,
      75             :   Match_Imm24bit,
      76             :   Match_Imm256_65535Expr,
      77             :   Match_Imm32,
      78             :   Match_Imm8,
      79             :   Match_Imm8_255,
      80             :   Match_ImmRange1_16,
      81             :   Match_ImmRange1_32,
      82             :   Match_ImmThumbSR,
      83             :   Match_PKHLSLImm,
      84             :   Match_QPR,
      85             :   Match_QPR_8,
      86             :   Match_QPR_VFP2,
      87             :   Match_SPR,
      88             :   Match_SPRRegList,
      89             :   Match_SPR_8,
      90             :   Match_SetEndImm,
      91             :   Match_ShrImm16,
      92             :   Match_ShrImm32,
      93             :   Match_ShrImm64,
      94             :   Match_ShrImm8,
      95             :   Match_hGPR,
      96             :   Match_rGPR,
      97             :   Match_tGPR,
      98             :   END_OPERAND_DIAGNOSTIC_TYPES
      99             : #endif // GET_OPERAND_DIAGNOSTIC_TYPES
     100             : 
     101             : 
     102             : #ifdef GET_REGISTER_MATCHER
     103             : #undef GET_REGISTER_MATCHER
     104             : 
     105             : // Flags for subtarget features that participate in instruction matching.
     106             : enum SubtargetFeatureFlag : uint64_t {
     107             :   Feature_HasV4T = (1ULL << 18),
     108             :   Feature_HasV5T = (1ULL << 19),
     109             :   Feature_HasV5TE = (1ULL << 20),
     110             :   Feature_HasV6 = (1ULL << 21),
     111             :   Feature_HasV6M = (1ULL << 23),
     112             :   Feature_HasV8MBaseline = (1ULL << 28),
     113             :   Feature_HasV8MMainline = (1ULL << 29),
     114             :   Feature_HasV6T2 = (1ULL << 24),
     115             :   Feature_HasV6K = (1ULL << 22),
     116             :   Feature_HasV7 = (1ULL << 25),
     117             :   Feature_HasV8 = (1ULL << 27),
     118             :   Feature_PreV8 = (1ULL << 42),
     119             :   Feature_HasV8_1a = (1ULL << 30),
     120             :   Feature_HasV8_2a = (1ULL << 31),
     121             :   Feature_HasV8_3a = (1ULL << 32),
     122             :   Feature_HasVFP2 = (1ULL << 33),
     123             :   Feature_HasVFP3 = (1ULL << 34),
     124             :   Feature_HasVFP4 = (1ULL << 35),
     125             :   Feature_HasDPVFP = (1ULL << 6),
     126             :   Feature_HasFPARMv8 = (1ULL << 12),
     127             :   Feature_HasNEON = (1ULL << 15),
     128             :   Feature_HasCrypto = (1ULL << 3),
     129             :   Feature_HasDotProd = (1ULL << 10),
     130             :   Feature_HasCRC = (1ULL << 2),
     131             :   Feature_HasRAS = (1ULL << 16),
     132             :   Feature_HasFP16 = (1ULL << 11),
     133             :   Feature_HasFullFP16 = (1ULL << 13),
     134             :   Feature_HasDivideInThumb = (1ULL << 9),
     135             :   Feature_HasDivideInARM = (1ULL << 8),
     136             :   Feature_HasDSP = (1ULL << 7),
     137             :   Feature_HasDB = (1ULL << 4),
     138             :   Feature_HasDFB = (1ULL << 5),
     139             :   Feature_HasV7Clrex = (1ULL << 26),
     140             :   Feature_HasAcquireRelease = (1ULL << 1),
     141             :   Feature_HasMP = (1ULL << 14),
     142             :   Feature_HasVirtualization = (1ULL << 36),
     143             :   Feature_HasTrustZone = (1ULL << 17),
     144             :   Feature_Has8MSecExt = (1ULL << 0),
     145             :   Feature_IsThumb = (1ULL << 40),
     146             :   Feature_IsThumb2 = (1ULL << 41),
     147             :   Feature_IsMClass = (1ULL << 38),
     148             :   Feature_IsNotMClass = (1ULL << 39),
     149             :   Feature_IsARM = (1ULL << 37),
     150             :   Feature_UseNaClTrap = (1ULL << 43),
     151             :   Feature_UseNegativeImmediates = (1ULL << 44),
     152             :   Feature_None = 0
     153             : };
     154             : 
     155       51203 : static unsigned MatchRegisterName(StringRef Name) {
     156       51203 :   switch (Name.size()) {
     157             :   default: break;
     158       44886 :   case 2:        // 43 strings to match.
     159       44886 :     switch (Name[0]) {
     160             :     default: break;
     161       10529 :     case 'd':    // 10 strings to match.
     162       10529 :       switch (Name[1]) {
     163             :       default: break;
     164             :       case '0':  // 1 string to match.
     165             :         return 14;       // "d0"
     166             :       case '1':  // 1 string to match.
     167             :         return 15;       // "d1"
     168             :       case '2':  // 1 string to match.
     169             :         return 16;       // "d2"
     170             :       case '3':  // 1 string to match.
     171             :         return 17;       // "d3"
     172             :       case '4':  // 1 string to match.
     173             :         return 18;       // "d4"
     174             :       case '5':  // 1 string to match.
     175             :         return 19;       // "d5"
     176             :       case '6':  // 1 string to match.
     177             :         return 20;       // "d6"
     178             :       case '7':  // 1 string to match.
     179             :         return 21;       // "d7"
     180             :       case '8':  // 1 string to match.
     181             :         return 22;       // "d8"
     182             :       case '9':  // 1 string to match.
     183             :         return 23;       // "d9"
     184             :       }
     185             :       break;
     186         886 :     case 'l':    // 1 string to match.
     187         886 :       if (Name[1] != 'r')
     188             :         break;
     189             :       return 10;         // "lr"
     190         641 :     case 'p':    // 1 string to match.
     191         641 :       if (Name[1] != 'c')
     192             :         break;
     193             :       return 11;         // "pc"
     194        3907 :     case 'q':    // 10 strings to match.
     195        3907 :       switch (Name[1]) {
     196             :       default: break;
     197             :       case '0':  // 1 string to match.
     198             :         return 50;       // "q0"
     199             :       case '1':  // 1 string to match.
     200             :         return 51;       // "q1"
     201             :       case '2':  // 1 string to match.
     202             :         return 52;       // "q2"
     203             :       case '3':  // 1 string to match.
     204             :         return 53;       // "q3"
     205             :       case '4':  // 1 string to match.
     206             :         return 54;       // "q4"
     207             :       case '5':  // 1 string to match.
     208             :         return 55;       // "q5"
     209             :       case '6':  // 1 string to match.
     210             :         return 56;       // "q6"
     211             :       case '7':  // 1 string to match.
     212             :         return 57;       // "q7"
     213             :       case '8':  // 1 string to match.
     214             :         return 58;       // "q8"
     215             :       case '9':  // 1 string to match.
     216             :         return 59;       // "q9"
     217             :       }
     218             :       break;
     219       25812 :     case 'r':    // 10 strings to match.
     220       25812 :       switch (Name[1]) {
     221             :       default: break;
     222             :       case '0':  // 1 string to match.
     223             :         return 66;       // "r0"
     224             :       case '1':  // 1 string to match.
     225             :         return 67;       // "r1"
     226             :       case '2':  // 1 string to match.
     227             :         return 68;       // "r2"
     228             :       case '3':  // 1 string to match.
     229             :         return 69;       // "r3"
     230             :       case '4':  // 1 string to match.
     231             :         return 70;       // "r4"
     232             :       case '5':  // 1 string to match.
     233             :         return 71;       // "r5"
     234             :       case '6':  // 1 string to match.
     235             :         return 72;       // "r6"
     236             :       case '7':  // 1 string to match.
     237             :         return 73;       // "r7"
     238             :       case '8':  // 1 string to match.
     239             :         return 74;       // "r8"
     240             :       case '9':  // 1 string to match.
     241             :         return 75;       // "r9"
     242             :       }
     243             :       break;
     244        2983 :     case 's':    // 11 strings to match.
     245        2983 :       switch (Name[1]) {
     246             :       default: break;
     247             :       case '0':  // 1 string to match.
     248             :         return 79;       // "s0"
     249             :       case '1':  // 1 string to match.
     250             :         return 80;       // "s1"
     251             :       case '2':  // 1 string to match.
     252             :         return 81;       // "s2"
     253             :       case '3':  // 1 string to match.
     254             :         return 82;       // "s3"
     255             :       case '4':  // 1 string to match.
     256             :         return 83;       // "s4"
     257             :       case '5':  // 1 string to match.
     258             :         return 84;       // "s5"
     259             :       case '6':  // 1 string to match.
     260             :         return 85;       // "s6"
     261             :       case '7':  // 1 string to match.
     262             :         return 86;       // "s7"
     263             :       case '8':  // 1 string to match.
     264             :         return 87;       // "s8"
     265             :       case '9':  // 1 string to match.
     266             :         return 88;       // "s9"
     267             :       case 'p':  // 1 string to match.
     268             :         return 12;       // "sp"
     269             :       }
     270             :       break;
     271             :     }
     272             :     break;
     273        5914 :   case 3:        // 53 strings to match.
     274        5914 :     switch (Name[0]) {
     275             :     default: break;
     276        3521 :     case 'd':    // 22 strings to match.
     277        3521 :       switch (Name[1]) {
     278             :       default: break;
     279        3139 :       case '1':  // 10 strings to match.
     280        3139 :         switch (Name[2]) {
     281             :         default: break;
     282             :         case '0':        // 1 string to match.
     283             :           return 24;     // "d10"
     284             :         case '1':        // 1 string to match.
     285             :           return 25;     // "d11"
     286             :         case '2':        // 1 string to match.
     287             :           return 26;     // "d12"
     288             :         case '3':        // 1 string to match.
     289             :           return 27;     // "d13"
     290             :         case '4':        // 1 string to match.
     291             :           return 28;     // "d14"
     292             :         case '5':        // 1 string to match.
     293             :           return 29;     // "d15"
     294             :         case '6':        // 1 string to match.
     295             :           return 30;     // "d16"
     296             :         case '7':        // 1 string to match.
     297             :           return 31;     // "d17"
     298             :         case '8':        // 1 string to match.
     299             :           return 32;     // "d18"
     300             :         case '9':        // 1 string to match.
     301             :           return 33;     // "d19"
     302             :         }
     303             :         break;
     304         347 :       case '2':  // 10 strings to match.
     305         347 :         switch (Name[2]) {
     306             :         default: break;
     307             :         case '0':        // 1 string to match.
     308             :           return 34;     // "d20"
     309             :         case '1':        // 1 string to match.
     310             :           return 35;     // "d21"
     311             :         case '2':        // 1 string to match.
     312             :           return 36;     // "d22"
     313             :         case '3':        // 1 string to match.
     314             :           return 37;     // "d23"
     315             :         case '4':        // 1 string to match.
     316             :           return 38;     // "d24"
     317             :         case '5':        // 1 string to match.
     318             :           return 39;     // "d25"
     319             :         case '6':        // 1 string to match.
     320             :           return 40;     // "d26"
     321             :         case '7':        // 1 string to match.
     322             :           return 41;     // "d27"
     323             :         case '8':        // 1 string to match.
     324             :           return 42;     // "d28"
     325             :         case '9':        // 1 string to match.
     326             :           return 43;     // "d29"
     327             :         }
     328             :         break;
     329          35 :       case '3':  // 2 strings to match.
     330          35 :         switch (Name[2]) {
     331             :         default: break;
     332             :         case '0':        // 1 string to match.
     333             :           return 44;     // "d30"
     334          18 :         case '1':        // 1 string to match.
     335          18 :           return 45;     // "d31"
     336             :         }
     337             :         break;
     338             :       }
     339             :       break;
     340         151 :     case 'q':    // 6 strings to match.
     341         151 :       if (Name[1] != '1')
     342             :         break;
     343         151 :       switch (Name[2]) {
     344             :       default: break;
     345             :       case '0':  // 1 string to match.
     346             :         return 60;       // "q10"
     347             :       case '1':  // 1 string to match.
     348             :         return 61;       // "q11"
     349             :       case '2':  // 1 string to match.
     350             :         return 62;       // "q12"
     351             :       case '3':  // 1 string to match.
     352             :         return 63;       // "q13"
     353             :       case '4':  // 1 string to match.
     354             :         return 64;       // "q14"
     355             :       case '5':  // 1 string to match.
     356             :         return 65;       // "q15"
     357             :       }
     358             :       break;
     359        1335 :     case 'r':    // 3 strings to match.
     360        1335 :       if (Name[1] != '1')
     361             :         break;
     362        1121 :       switch (Name[2]) {
     363             :       default: break;
     364             :       case '0':  // 1 string to match.
     365             :         return 76;       // "r10"
     366             :       case '1':  // 1 string to match.
     367             :         return 77;       // "r11"
     368             :       case '2':  // 1 string to match.
     369             :         return 78;       // "r12"
     370             :       }
     371             :       break;
     372         203 :     case 's':    // 22 strings to match.
     373         203 :       switch (Name[1]) {
     374             :       default: break;
     375         140 :       case '1':  // 10 strings to match.
     376         140 :         switch (Name[2]) {
     377             :         default: break;
     378             :         case '0':        // 1 string to match.
     379             :           return 89;     // "s10"
     380             :         case '1':        // 1 string to match.
     381             :           return 90;     // "s11"
     382             :         case '2':        // 1 string to match.
     383             :           return 91;     // "s12"
     384             :         case '3':        // 1 string to match.
     385             :           return 92;     // "s13"
     386             :         case '4':        // 1 string to match.
     387             :           return 93;     // "s14"
     388             :         case '5':        // 1 string to match.
     389             :           return 94;     // "s15"
     390             :         case '6':        // 1 string to match.
     391             :           return 95;     // "s16"
     392             :         case '7':        // 1 string to match.
     393             :           return 96;     // "s17"
     394             :         case '8':        // 1 string to match.
     395             :           return 97;     // "s18"
     396             :         case '9':        // 1 string to match.
     397             :           return 98;     // "s19"
     398             :         }
     399             :         break;
     400          57 :       case '2':  // 10 strings to match.
     401          57 :         switch (Name[2]) {
     402             :         default: break;
     403             :         case '0':        // 1 string to match.
     404             :           return 99;     // "s20"
     405             :         case '1':        // 1 string to match.
     406             :           return 100;    // "s21"
     407             :         case '2':        // 1 string to match.
     408             :           return 101;    // "s22"
     409             :         case '3':        // 1 string to match.
     410             :           return 102;    // "s23"
     411             :         case '4':        // 1 string to match.
     412             :           return 103;    // "s24"
     413             :         case '5':        // 1 string to match.
     414             :           return 104;    // "s25"
     415             :         case '6':        // 1 string to match.
     416             :           return 105;    // "s26"
     417             :         case '7':        // 1 string to match.
     418             :           return 106;    // "s27"
     419             :         case '8':        // 1 string to match.
     420             :           return 107;    // "s28"
     421             :         case '9':        // 1 string to match.
     422             :           return 108;    // "s29"
     423             :         }
     424             :         break;
     425           6 :       case '3':  // 2 strings to match.
     426           6 :         switch (Name[2]) {
     427             :         default: break;
     428             :         case '0':        // 1 string to match.
     429             :           return 109;    // "s30"
     430           0 :         case '1':        // 1 string to match.
     431           0 :           return 110;    // "s31"
     432             :         }
     433             :         break;
     434             :       }
     435             :       break;
     436             :     }
     437             :     break;
     438          70 :   case 4:        // 3 strings to match.
     439          70 :     switch (Name[0]) {
     440             :     default: break;
     441             :     case 'a':    // 1 string to match.
     442           4 :       if (memcmp(Name.data()+1, "psr", 3) != 0)
     443             :         break;
     444             :       return 1;  // "apsr"
     445             :     case 'c':    // 1 string to match.
     446           9 :       if (memcmp(Name.data()+1, "psr", 3) != 0)
     447             :         break;
     448             :       return 3;  // "cpsr"
     449             :     case 's':    // 1 string to match.
     450          15 :       if (memcmp(Name.data()+1, "psr", 3) != 0)
     451             :         break;
     452             :       return 13;         // "spsr"
     453             :     }
     454             :     break;
     455         168 :   case 5:        // 6 strings to match.
     456         168 :     switch (Name[0]) {
     457             :     default: break;
     458         111 :     case 'f':    // 3 strings to match.
     459         111 :       if (Name[1] != 'p')
     460             :         break;
     461         111 :       switch (Name[2]) {
     462             :       default: break;
     463             :       case 'e':  // 1 string to match.
     464           9 :         if (memcmp(Name.data()+3, "xc", 2) != 0)
     465             :           break;
     466             :         return 4;        // "fpexc"
     467         102 :       case 's':  // 2 strings to match.
     468         102 :         switch (Name[3]) {
     469             :         default: break;
     470          77 :         case 'c':        // 1 string to match.
     471          77 :           if (Name[4] != 'r')
     472             :             break;
     473             :           return 6;      // "fpscr"
     474          25 :         case 'i':        // 1 string to match.
     475          25 :           if (Name[4] != 'd')
     476             :             break;
     477             :           return 8;      // "fpsid"
     478             :         }
     479             :         break;
     480             :       }
     481             :       break;
     482             :     case 'm':    // 3 strings to match.
     483          32 :       if (memcmp(Name.data()+1, "vfr", 3) != 0)
     484             :         break;
     485          32 :       switch (Name[4]) {
     486             :       default: break;
     487             :       case '0':  // 1 string to match.
     488             :         return 47;       // "mvfr0"
     489             :       case '1':  // 1 string to match.
     490             :         return 48;       // "mvfr1"
     491             :       case '2':  // 1 string to match.
     492             :         return 49;       // "mvfr2"
     493             :       }
     494             :       break;
     495             :     }
     496             :     break;
     497             :   case 6:        // 1 string to match.
     498          43 :     if (memcmp(Name.data()+0, "fpinst", 6) != 0)
     499             :       break;
     500             :     return 5;    // "fpinst"
     501          11 :   case 7:        // 2 strings to match.
     502          11 :     switch (Name[0]) {
     503             :     default: break;
     504             :     case 'f':    // 1 string to match.
     505           2 :       if (memcmp(Name.data()+1, "pinst2", 6) != 0)
     506             :         break;
     507             :       return 46;         // "fpinst2"
     508             :     case 'i':    // 1 string to match.
     509           2 :       if (memcmp(Name.data()+1, "tstate", 6) != 0)
     510             :         break;
     511             :       return 9;  // "itstate"
     512             :     }
     513             :     break;
     514             :   case 9:        // 1 string to match.
     515          36 :     if (memcmp(Name.data()+0, "apsr_nzcv", 9) != 0)
     516             :       break;
     517             :     return 2;    // "apsr_nzcv"
     518             :   case 10:       // 1 string to match.
     519           8 :     if (memcmp(Name.data()+0, "fpscr_nzcv", 10) != 0)
     520             :       break;
     521             :     return 7;    // "fpscr_nzcv"
     522             :   }
     523             :   return 0;
     524             : }
     525             : 
     526             : #endif // GET_REGISTER_MATCHER
     527             : 
     528             : 
     529             : #ifdef GET_SUBTARGET_FEATURE_NAME
     530             : #undef GET_SUBTARGET_FEATURE_NAME
     531             : 
     532             : // User-level names for subtarget features that participate in
     533             : // instruction matching.
     534        2165 : static const char *getSubtargetFeatureName(uint64_t Val) {
     535        2165 :   switch(Val) {
     536             :   case Feature_HasV4T: return "armv4t";
     537           1 :   case Feature_HasV5T: return "armv5t";
     538           0 :   case Feature_HasV5TE: return "armv5te";
     539           0 :   case Feature_HasV6: return "armv6";
     540          12 :   case Feature_HasV6M: return "armv6m or armv6t2";
     541          12 :   case Feature_HasV8MBaseline: return "armv8m.base";
     542           2 :   case Feature_HasV8MMainline: return "armv8m.main";
     543           4 :   case Feature_HasV6T2: return "armv6t2";
     544           5 :   case Feature_HasV6K: return "armv6k";
     545           6 :   case Feature_HasV7: return "armv7";
     546         113 :   case Feature_HasV8: return "armv8";
     547           2 :   case Feature_PreV8: return "armv7 or earlier";
     548          36 :   case Feature_HasV8_1a: return "armv8.1a";
     549           0 :   case Feature_HasV8_2a: return "armv8.2a";
     550          42 :   case Feature_HasV8_3a: return "armv8.3a";
     551          12 :   case Feature_HasVFP2: return "VFP2";
     552           0 :   case Feature_HasVFP3: return "VFP3";
     553           0 :   case Feature_HasVFP4: return "VFP4";
     554          52 :   case Feature_HasDPVFP: return "double precision VFP";
     555         669 :   case Feature_HasFPARMv8: return "FPARMv8";
     556         287 :   case Feature_HasNEON: return "NEON";
     557         105 :   case Feature_HasCrypto: return "crypto";
     558          64 :   case Feature_HasDotProd: return "dotprod";
     559          42 :   case Feature_HasCRC: return "crc";
     560           0 :   case Feature_HasRAS: return "ras";
     561           4 :   case Feature_HasFP16: return "half-float conversions";
     562         384 :   case Feature_HasFullFP16: return "full half-float";
     563          11 :   case Feature_HasDivideInThumb: return "divide in THUMB";
     564          11 :   case Feature_HasDivideInARM: return "divide in ARM";
     565          12 :   case Feature_HasDSP: return "dsp";
     566           5 :   case Feature_HasDB: return "data-barriers";
     567           2 :   case Feature_HasDFB: return "full-data-barrier";
     568           2 :   case Feature_HasV7Clrex: return "v7 clrex";
     569          28 :   case Feature_HasAcquireRelease: return "acquire/release";
     570          13 :   case Feature_HasMP: return "mp-extensions";
     571           0 :   case Feature_HasVirtualization: return "virtualization-extensions";
     572          11 :   case Feature_HasTrustZone: return "TrustZone";
     573           0 :   case Feature_Has8MSecExt: return "ARMv8-M Security Extensions";
     574           5 :   case Feature_IsThumb: return "thumb";
     575          69 :   case Feature_IsThumb2: return "thumb2";
     576           0 :   case Feature_IsMClass: return "armv*m";
     577          22 :   case Feature_IsNotMClass: return "!armv*m";
     578          80 :   case Feature_IsARM: return "arm-mode";
     579           0 :   case Feature_UseNaClTrap: return "NaCl";
     580          40 :   case Feature_UseNegativeImmediates: return "NegativeImmediates";
     581           0 :   default: return "(unknown)";
     582             :   }
     583             : }
     584             : 
     585             : #endif // GET_SUBTARGET_FEATURE_NAME
     586             : 
     587             : 
     588             : #ifdef GET_MATCHER_IMPLEMENTATION
     589             : #undef GET_MATCHER_IMPLEMENTATION
     590             : 
     591       50176 : static void applyMnemonicAliases(StringRef &Mnemonic, uint64_t Features, unsigned VariantID) {
     592             :   switch (VariantID) {
     593             :     case 0:
     594             :     break;
     595             :   }
     596       50176 :   switch (Mnemonic.size()) {
     597             :   default: break;
     598       12978 :   case 3:        // 4 strings to match.
     599       25956 :     switch (Mnemonic[0]) {
     600             :     default: break;
     601             :     case 'r':    // 1 string to match.
     602         624 :       if (memcmp(Mnemonic.data()+1, "fe", 2) != 0)
     603             :         break;
     604           4 :       Mnemonic = "rfeia";      // "rfe"
     605             :       return;
     606        1708 :     case 's':    // 3 strings to match.
     607        1708 :       switch (Mnemonic[1]) {
     608             :       default: break;
     609          39 :       case 'm':  // 1 string to match.
     610          39 :         if (Mnemonic[2] != 'i')
     611             :           break;
     612           3 :         Mnemonic = "smc";      // "smi"
     613             :         return;
     614          16 :       case 'r':  // 1 string to match.
     615          16 :         if (Mnemonic[2] != 's')
     616             :           break;
     617          16 :         Mnemonic = "srsia";    // "srs"
     618             :         return;
     619          18 :       case 'w':  // 1 string to match.
     620          18 :         if (Mnemonic[2] != 'i')
     621             :           break;
     622           2 :         Mnemonic = "svc";      // "swi"
     623             :         return;
     624             :       }
     625             :       break;
     626             :     }
     627             :     break;
     628       10572 :   case 4:        // 10 strings to match.
     629       21144 :     switch (Mnemonic[0]) {
     630             :     default: break;
     631           9 :     case 'f':    // 8 strings to match.
     632           9 :       switch (Mnemonic[1]) {
     633             :       default: break;
     634           0 :       case 'l':  // 2 strings to match.
     635           0 :         if (Mnemonic[2] != 'd')
     636             :           break;
     637           0 :         switch (Mnemonic[3]) {
     638             :         default: break;
     639           0 :         case 'd':        // 1 string to match.
     640           0 :           if ((Features & Feature_HasVFP2) == Feature_HasVFP2)       // "fldd"
     641           0 :             Mnemonic = "vldr";
     642             :           return;
     643           0 :         case 's':        // 1 string to match.
     644           0 :           if ((Features & Feature_HasVFP2) == Feature_HasVFP2)       // "flds"
     645           0 :             Mnemonic = "vldr";
     646             :           return;
     647             :         }
     648             :         break;
     649           0 :       case 'm':  // 4 strings to match.
     650           0 :         switch (Mnemonic[2]) {
     651             :         default: break;
     652           0 :         case 'r':        // 2 strings to match.
     653           0 :           switch (Mnemonic[3]) {
     654             :           default: break;
     655           0 :           case 's':      // 1 string to match.
     656           0 :             if ((Features & Feature_HasVFP2) == Feature_HasVFP2)     // "fmrs"
     657           0 :               Mnemonic = "vmov";
     658             :             return;
     659           0 :           case 'x':      // 1 string to match.
     660           0 :             if ((Features & Feature_HasVFP2) == Feature_HasVFP2)     // "fmrx"
     661           0 :               Mnemonic = "vmrs";
     662             :             return;
     663             :           }
     664             :           break;
     665           0 :         case 's':        // 1 string to match.
     666           0 :           if (Mnemonic[3] != 'r')
     667             :             break;
     668           0 :           if ((Features & Feature_HasVFP2) == Feature_HasVFP2)       // "fmsr"
     669           0 :             Mnemonic = "vmov";
     670             :           return;
     671           0 :         case 'x':        // 1 string to match.
     672           0 :           if (Mnemonic[3] != 'r')
     673             :             break;
     674           0 :           if ((Features & Feature_HasVFP2) == Feature_HasVFP2)       // "fmxr"
     675           0 :             Mnemonic = "vmsr";
     676             :           return;
     677             :         }
     678             :         break;
     679           0 :       case 's':  // 2 strings to match.
     680           0 :         if (Mnemonic[2] != 't')
     681             :           break;
     682           0 :         switch (Mnemonic[3]) {
     683             :         default: break;
     684           0 :         case 'd':        // 1 string to match.
     685           0 :           if ((Features & Feature_HasVFP2) == Feature_HasVFP2)       // "fstd"
     686           0 :             Mnemonic = "vstr";
     687             :           return;
     688           0 :         case 's':        // 1 string to match.
     689           0 :           if ((Features & Feature_HasVFP2) == Feature_HasVFP2)       // "fsts"
     690           0 :             Mnemonic = "vstr";
     691             :           return;
     692             :         }
     693             :         break;
     694             :       }
     695             :       break;
     696        5330 :     case 'v':    // 2 strings to match.
     697        5330 :       switch (Mnemonic[1]) {
     698             :       default: break;
     699             :       case 'l':  // 1 string to match.
     700        1751 :         if (memcmp(Mnemonic.data()+2, "dm", 2) != 0)
     701             :           break;
     702           9 :         Mnemonic = "vldmia";   // "vldm"
     703             :         return;
     704             :       case 's':  // 1 string to match.
     705        1490 :         if (memcmp(Mnemonic.data()+2, "tm", 2) != 0)
     706             :           break;
     707           9 :         Mnemonic = "vstmia";   // "vstm"
     708             :         return;
     709             :       }
     710             :       break;
     711             :     }
     712             :     break;
     713        5807 :   case 5:        // 51 strings to match.
     714       11614 :     switch (Mnemonic[0]) {
     715             :     default: break;
     716           0 :     case 'f':    // 18 strings to match.
     717           0 :       switch (Mnemonic[1]) {
     718             :       default: break;
     719             :       case 'a':  // 2 strings to match.
     720           0 :         if (memcmp(Mnemonic.data()+2, "dd", 2) != 0)
     721             :           break;
     722           0 :         switch (Mnemonic[4]) {
     723             :         default: break;
     724           0 :         case 'd':        // 1 string to match.
     725           0 :           if ((Features & Feature_HasVFP2) == Feature_HasVFP2)       // "faddd"
     726           0 :             Mnemonic = "vadd.f64";
     727             :           return;
     728           0 :         case 's':        // 1 string to match.
     729           0 :           if ((Features & Feature_HasVFP2) == Feature_HasVFP2)       // "fadds"
     730           0 :             Mnemonic = "vadd.f32";
     731             :           return;
     732             :         }
     733             :         break;
     734           0 :       case 'c':  // 4 strings to match.
     735           0 :         switch (Mnemonic[2]) {
     736             :         default: break;
     737           0 :         case 'm':        // 2 strings to match.
     738           0 :           if (Mnemonic[3] != 'p')
     739             :             break;
     740           0 :           switch (Mnemonic[4]) {
     741             :           default: break;
     742           0 :           case 'd':      // 1 string to match.
     743           0 :             if ((Features & Feature_HasVFP2) == Feature_HasVFP2)     // "fcmpd"
     744           0 :               Mnemonic = "vcmp.f64";
     745             :             return;
     746           0 :           case 's':      // 1 string to match.
     747           0 :             if ((Features & Feature_HasVFP2) == Feature_HasVFP2)     // "fcmps"
     748           0 :               Mnemonic = "vcmp.f32";
     749             :             return;
     750             :           }
     751             :           break;
     752           0 :         case 'p':        // 2 strings to match.
     753           0 :           if (Mnemonic[3] != 'y')
     754             :             break;
     755           0 :           switch (Mnemonic[4]) {
     756             :           default: break;
     757           0 :           case 'd':      // 1 string to match.
     758           0 :             if ((Features & Feature_HasVFP2) == Feature_HasVFP2)     // "fcpyd"
     759           0 :               Mnemonic = "vmov.f64";
     760             :             return;
     761           0 :           case 's':      // 1 string to match.
     762           0 :             if ((Features & Feature_HasVFP2) == Feature_HasVFP2)     // "fcpys"
     763           0 :               Mnemonic = "vmov.f32";
     764             :             return;
     765             :           }
     766             :           break;
     767             :         }
     768             :         break;
     769             :       case 'd':  // 2 strings to match.
     770           0 :         if (memcmp(Mnemonic.data()+2, "iv", 2) != 0)
     771             :           break;
     772           0 :         switch (Mnemonic[4]) {
     773             :         default: break;
     774           0 :         case 'd':        // 1 string to match.
     775           0 :           if ((Features & Feature_HasVFP2) == Feature_HasVFP2)       // "fdivd"
     776           0 :             Mnemonic = "vdiv.f64";
     777             :           return;
     778           0 :         case 's':        // 1 string to match.
     779           0 :           if ((Features & Feature_HasVFP2) == Feature_HasVFP2)       // "fdivs"
     780           0 :             Mnemonic = "vdiv.f32";
     781             :           return;
     782             :         }
     783             :         break;
     784           0 :       case 'm':  // 8 strings to match.
     785           0 :         switch (Mnemonic[2]) {
     786             :         default: break;
     787           0 :         case 'a':        // 2 strings to match.
     788           0 :           if (Mnemonic[3] != 'c')
     789             :             break;
     790           0 :           switch (Mnemonic[4]) {
     791             :           default: break;
     792           0 :           case 'd':      // 1 string to match.
     793           0 :             if ((Features & Feature_HasVFP2) == Feature_HasVFP2)     // "fmacd"
     794           0 :               Mnemonic = "vmla.f64";
     795             :             return;
     796           0 :           case 's':      // 1 string to match.
     797           0 :             if ((Features & Feature_HasVFP2) == Feature_HasVFP2)     // "fmacs"
     798           0 :               Mnemonic = "vmla.f32";
     799             :             return;
     800             :           }
     801             :           break;
     802             :         case 'd':        // 1 string to match.
     803           0 :           if (memcmp(Mnemonic.data()+3, "rr", 2) != 0)
     804             :             break;
     805           0 :           if ((Features & Feature_HasVFP2) == Feature_HasVFP2)       // "fmdrr"
     806           0 :             Mnemonic = "vmov";
     807             :           return;
     808           0 :         case 'r':        // 3 strings to match.
     809           0 :           switch (Mnemonic[3]) {
     810             :           default: break;
     811           0 :           case 'd':      // 2 strings to match.
     812           0 :             switch (Mnemonic[4]) {
     813             :             default: break;
     814           0 :             case 'd':    // 1 string to match.
     815           0 :               if ((Features & Feature_HasVFP2) == Feature_HasVFP2)   // "fmrdd"
     816           0 :                 Mnemonic = "vmov";
     817             :               return;
     818           0 :             case 's':    // 1 string to match.
     819           0 :               if ((Features & Feature_HasVFP2) == Feature_HasVFP2)   // "fmrds"
     820           0 :                 Mnemonic = "vmov";
     821             :               return;
     822             :             }
     823             :             break;
     824           0 :           case 'r':      // 1 string to match.
     825           0 :             if (Mnemonic[4] != 'd')
     826             :               break;
     827           0 :             if ((Features & Feature_HasVFP2) == Feature_HasVFP2)     // "fmrrd"
     828           0 :               Mnemonic = "vmov";
     829             :             return;
     830             :           }
     831             :           break;
     832           0 :         case 'u':        // 2 strings to match.
     833           0 :           if (Mnemonic[3] != 'l')
     834             :             break;
     835           0 :           switch (Mnemonic[4]) {
     836             :           default: break;
     837           0 :           case 'd':      // 1 string to match.
     838           0 :             if ((Features & Feature_HasVFP2) == Feature_HasVFP2)     // "fmuld"
     839           0 :               Mnemonic = "vmul.f64";
     840             :             return;
     841           0 :           case 's':      // 1 string to match.
     842           0 :             if ((Features & Feature_HasVFP2) == Feature_HasVFP2)     // "fmuls"
     843           0 :               Mnemonic = "vmul.f32";
     844             :             return;
     845             :           }
     846             :           break;
     847             :         }
     848             :         break;
     849             :       case 'n':  // 2 strings to match.
     850           0 :         if (memcmp(Mnemonic.data()+2, "eg", 2) != 0)
     851             :           break;
     852           0 :         switch (Mnemonic[4]) {
     853             :         default: break;
     854           0 :         case 'd':        // 1 string to match.
     855           0 :           if ((Features & Feature_HasVFP2) == Feature_HasVFP2)       // "fnegd"
     856           0 :             Mnemonic = "vneg.f64";
     857             :           return;
     858           0 :         case 's':        // 1 string to match.
     859           0 :           if ((Features & Feature_HasVFP2) == Feature_HasVFP2)       // "fnegs"
     860           0 :             Mnemonic = "vneg.f32";
     861             :           return;
     862             :         }
     863             :         break;
     864             :       }
     865             :       break;
     866             :     case 'l':    // 3 strings to match.
     867         963 :       if (memcmp(Mnemonic.data()+1, "dm", 2) != 0)
     868             :         break;
     869         211 :       switch (Mnemonic[3]) {
     870             :       default: break;
     871          15 :       case 'e':  // 1 string to match.
     872          15 :         if (Mnemonic[4] != 'a')
     873             :           break;
     874           2 :         Mnemonic = "ldmdb";    // "ldmea"
     875             :         return;
     876          13 :       case 'f':  // 1 string to match.
     877          13 :         if (Mnemonic[4] != 'd')
     878             :           break;
     879          13 :         Mnemonic = "ldm";      // "ldmfd"
     880             :         return;
     881          52 :       case 'i':  // 1 string to match.
     882          52 :         if (Mnemonic[4] != 'a')
     883             :           break;
     884          28 :         Mnemonic = "ldm";      // "ldmia"
     885             :         return;
     886             :       }
     887             :       break;
     888             :     case 'r':    // 4 strings to match.
     889         207 :       if (memcmp(Mnemonic.data()+1, "fe", 2) != 0)
     890             :         break;
     891          78 :       switch (Mnemonic[3]) {
     892             :       default: break;
     893           8 :       case 'e':  // 2 strings to match.
     894           8 :         switch (Mnemonic[4]) {
     895             :         default: break;
     896             :         case 'a':        // 1 string to match.
     897           4 :           Mnemonic = "rfedb";  // "rfeea"
     898             :           return;
     899             :         case 'd':        // 1 string to match.
     900           4 :           Mnemonic = "rfeib";  // "rfeed"
     901             :           return;
     902             :         }
     903             :         break;
     904           8 :       case 'f':  // 2 strings to match.
     905           8 :         switch (Mnemonic[4]) {
     906             :         default: break;
     907             :         case 'a':        // 1 string to match.
     908           4 :           Mnemonic = "rfeda";  // "rfefa"
     909             :           return;
     910             :         case 'd':        // 1 string to match.
     911           4 :           Mnemonic = "rfeia";  // "rfefd"
     912             :           return;
     913             :         }
     914             :         break;
     915             :       }
     916             :       break;
     917        1212 :     case 's':    // 7 strings to match.
     918        1212 :       switch (Mnemonic[1]) {
     919             :       default: break;
     920         210 :       case 'r':  // 4 strings to match.
     921         210 :         if (Mnemonic[2] != 's')
     922             :           break;
     923         210 :         switch (Mnemonic[3]) {
     924             :         default: break;
     925          24 :         case 'e':        // 2 strings to match.
     926          24 :           switch (Mnemonic[4]) {
     927             :           default: break;
     928             :           case 'a':      // 1 string to match.
     929          16 :             Mnemonic = "srsia";        // "srsea"
     930             :             return;
     931             :           case 'd':      // 1 string to match.
     932           8 :             Mnemonic = "srsda";        // "srsed"
     933             :             return;
     934             :           }
     935             :           break;
     936          24 :         case 'f':        // 2 strings to match.
     937          24 :           switch (Mnemonic[4]) {
     938             :           default: break;
     939             :           case 'a':      // 1 string to match.
     940           8 :             Mnemonic = "srsib";        // "srsfa"
     941             :             return;
     942             :           case 'd':      // 1 string to match.
     943          16 :             Mnemonic = "srsdb";        // "srsfd"
     944             :             return;
     945             :           }
     946             :           break;
     947             :         }
     948             :         break;
     949         520 :       case 't':  // 3 strings to match.
     950         520 :         if (Mnemonic[2] != 'm')
     951             :           break;
     952         202 :         switch (Mnemonic[3]) {
     953             :         default: break;
     954           4 :         case 'e':        // 1 string to match.
     955           4 :           if (Mnemonic[4] != 'a')
     956             :             break;
     957           4 :           Mnemonic = "stm";    // "stmea"
     958             :           return;
     959           4 :         case 'f':        // 1 string to match.
     960           4 :           if (Mnemonic[4] != 'd')
     961             :             break;
     962           4 :           Mnemonic = "stmdb";  // "stmfd"
     963             :           return;
     964          50 :         case 'i':        // 1 string to match.
     965          50 :           if (Mnemonic[4] != 'a')
     966             :             break;
     967          18 :           Mnemonic = "stm";    // "stmia"
     968             :           return;
     969             :         }
     970             :         break;
     971             :       }
     972             :       break;
     973        1734 :     case 'v':    // 19 strings to match.
     974        1734 :       switch (Mnemonic[1]) {
     975             :       default: break;
     976         118 :       case 'a':  // 3 strings to match.
     977         118 :         switch (Mnemonic[2]) {
     978             :         default: break;
     979             :         case 'b':        // 1 string to match.
     980          24 :           if (memcmp(Mnemonic.data()+3, "sq", 2) != 0)
     981             :             break;
     982           0 :           if ((Features & Feature_HasNEON) == Feature_HasNEON)       // "vabsq"
     983           0 :             Mnemonic = "vabs";
     984             :           return;
     985             :         case 'd':        // 1 string to match.
     986          30 :           if (memcmp(Mnemonic.data()+3, "dq", 2) != 0)
     987             :             break;
     988           0 :           if ((Features & Feature_HasNEON) == Feature_HasNEON)       // "vaddq"
     989           0 :             Mnemonic = "vadd";
     990             :           return;
     991             :         case 'n':        // 1 string to match.
     992           0 :           if (memcmp(Mnemonic.data()+3, "dq", 2) != 0)
     993             :             break;
     994           0 :           if ((Features & Feature_HasNEON) == Feature_HasNEON)       // "vandq"
     995           0 :             Mnemonic = "vand";
     996             :           return;
     997             :         }
     998             :         break;
     999             :       case 'b':  // 1 string to match.
    1000           0 :         if (memcmp(Mnemonic.data()+2, "icq", 3) != 0)
    1001             :           break;
    1002           0 :         if ((Features & Feature_HasNEON) == Feature_HasNEON)         // "vbicq"
    1003           0 :           Mnemonic = "vbic";
    1004             :         return;
    1005         814 :       case 'c':  // 3 strings to match.
    1006         814 :         switch (Mnemonic[2]) {
    1007             :         default: break;
    1008             :         case 'e':        // 1 string to match.
    1009           0 :           if (memcmp(Mnemonic.data()+3, "qq", 2) != 0)
    1010             :             break;
    1011           0 :           if ((Features & Feature_HasNEON) == Feature_HasNEON)       // "vceqq"
    1012           0 :             Mnemonic = "vceq";
    1013             :           return;
    1014             :         case 'l':        // 1 string to match.
    1015           0 :           if (memcmp(Mnemonic.data()+3, "eq", 2) != 0)
    1016             :             break;
    1017           0 :           if ((Features & Feature_HasNEON) == Feature_HasNEON)       // "vcleq"
    1018           0 :             Mnemonic = "vcle";
    1019             :           return;
    1020             :         case 'v':        // 1 string to match.
    1021         536 :           if (memcmp(Mnemonic.data()+3, "tq", 2) != 0)
    1022             :             break;
    1023           0 :           if ((Features & Feature_HasNEON) == Feature_HasNEON)       // "vcvtq"
    1024           0 :             Mnemonic = "vcvt";
    1025             :           return;
    1026             :         }
    1027             :         break;
    1028             :       case 'e':  // 1 string to match.
    1029           0 :         if (memcmp(Mnemonic.data()+2, "orq", 3) != 0)
    1030             :           break;
    1031           0 :         if ((Features & Feature_HasNEON) == Feature_HasNEON)         // "veorq"
    1032           0 :           Mnemonic = "veor";
    1033             :         return;
    1034          75 :       case 'm':  // 5 strings to match.
    1035          75 :         switch (Mnemonic[2]) {
    1036             :         default: break;
    1037             :         case 'a':        // 1 string to match.
    1038           0 :           if (memcmp(Mnemonic.data()+3, "xq", 2) != 0)
    1039             :             break;
    1040           0 :           if ((Features & Feature_HasNEON) == Feature_HasNEON)       // "vmaxq"
    1041           0 :             Mnemonic = "vmax";
    1042             :           return;
    1043             :         case 'i':        // 1 string to match.
    1044           0 :           if (memcmp(Mnemonic.data()+3, "nq", 2) != 0)
    1045             :             break;
    1046           0 :           if ((Features & Feature_HasNEON) == Feature_HasNEON)       // "vminq"
    1047           0 :             Mnemonic = "vmin";
    1048             :           return;
    1049             :         case 'o':        // 1 string to match.
    1050          22 :           if (memcmp(Mnemonic.data()+3, "vq", 2) != 0)
    1051             :             break;
    1052           0 :           if ((Features & Feature_HasNEON) == Feature_HasNEON)       // "vmovq"
    1053           0 :             Mnemonic = "vmov";
    1054             :           return;
    1055             :         case 'u':        // 1 string to match.
    1056          27 :           if (memcmp(Mnemonic.data()+3, "lq", 2) != 0)
    1057             :             break;
    1058           0 :           if ((Features & Feature_HasNEON) == Feature_HasNEON)       // "vmulq"
    1059           0 :             Mnemonic = "vmul";
    1060             :           return;
    1061             :         case 'v':        // 1 string to match.
    1062           0 :           if (memcmp(Mnemonic.data()+3, "nq", 2) != 0)
    1063             :             break;
    1064           0 :           if ((Features & Feature_HasNEON) == Feature_HasNEON)       // "vmvnq"
    1065           0 :             Mnemonic = "vmvn";
    1066             :           return;
    1067             :         }
    1068             :         break;
    1069             :       case 'o':  // 1 string to match.
    1070           0 :         if (memcmp(Mnemonic.data()+2, "rrq", 3) != 0)
    1071             :           break;
    1072           0 :         if ((Features & Feature_HasNEON) == Feature_HasNEON)         // "vorrq"
    1073           0 :           Mnemonic = "vorr";
    1074             :         return;
    1075         115 :       case 's':  // 4 strings to match.
    1076         115 :         switch (Mnemonic[2]) {
    1077             :         default: break;
    1078          24 :         case 'h':        // 2 strings to match.
    1079          24 :           switch (Mnemonic[3]) {
    1080             :           default: break;
    1081          18 :           case 'l':      // 1 string to match.
    1082          18 :             if (Mnemonic[4] != 'q')
    1083             :               break;
    1084           0 :             if ((Features & Feature_HasNEON) == Feature_HasNEON)     // "vshlq"
    1085           0 :               Mnemonic = "vshl";
    1086             :             return;
    1087           6 :           case 'r':      // 1 string to match.
    1088           6 :             if (Mnemonic[4] != 'q')
    1089             :               break;
    1090           0 :             if ((Features & Feature_HasNEON) == Feature_HasNEON)     // "vshrq"
    1091           0 :               Mnemonic = "vshr";
    1092             :             return;
    1093             :           }
    1094             :           break;
    1095             :         case 'u':        // 1 string to match.
    1096          18 :           if (memcmp(Mnemonic.data()+3, "bq", 2) != 0)
    1097             :             break;
    1098           0 :           if ((Features & Feature_HasNEON) == Feature_HasNEON)       // "vsubq"
    1099           0 :             Mnemonic = "vsub";
    1100             :           return;
    1101             :         case 'w':        // 1 string to match.
    1102           0 :           if (memcmp(Mnemonic.data()+3, "pq", 2) != 0)
    1103             :             break;
    1104           0 :           if ((Features & Feature_HasNEON) == Feature_HasNEON)       // "vswpq"
    1105           0 :             Mnemonic = "vswp";
    1106             :           return;
    1107             :         }
    1108             :         break;
    1109             :       case 'z':  // 1 string to match.
    1110           0 :         if (memcmp(Mnemonic.data()+2, "ipq", 3) != 0)
    1111             :           break;
    1112           0 :         if ((Features & Feature_HasNEON) == Feature_HasNEON)         // "vzipq"
    1113           0 :           Mnemonic = "vzip";
    1114             :         return;
    1115             :       }
    1116             :       break;
    1117             :     }
    1118             :     break;
    1119        4177 :   case 6:        // 10 strings to match.
    1120        8354 :     if (Mnemonic[0] != 'f')
    1121             :       break;
    1122          18 :     switch (Mnemonic[1]) {
    1123             :     default: break;
    1124           2 :     case 's':    // 4 strings to match.
    1125           2 :       switch (Mnemonic[2]) {
    1126             :       default: break;
    1127             :       case 'i':  // 2 strings to match.
    1128           0 :         if (memcmp(Mnemonic.data()+3, "to", 2) != 0)
    1129             :           break;
    1130           0 :         switch (Mnemonic[5]) {
    1131             :         default: break;
    1132           0 :         case 'd':        // 1 string to match.
    1133           0 :           if ((Features & Feature_HasVFP2) == Feature_HasVFP2)       // "fsitod"
    1134           0 :             Mnemonic = "vcvt.f64.s32";
    1135             :           return;
    1136           0 :         case 's':        // 1 string to match.
    1137           0 :           if ((Features & Feature_HasVFP2) == Feature_HasVFP2)       // "fsitos"
    1138           0 :             Mnemonic = "vcvt.f32.s32";
    1139             :           return;
    1140             :         }
    1141             :         break;
    1142             :       case 'q':  // 2 strings to match.
    1143           2 :         if (memcmp(Mnemonic.data()+3, "rt", 2) != 0)
    1144             :           break;
    1145           2 :         switch (Mnemonic[5]) {
    1146             :         default: break;
    1147           1 :         case 'd':        // 1 string to match.
    1148           1 :           if ((Features & Feature_HasVFP2) == Feature_HasVFP2)       // "fsqrtd"
    1149           1 :             Mnemonic = "vsqrt";
    1150             :           return;
    1151           1 :         case 's':        // 1 string to match.
    1152           1 :           if ((Features & Feature_HasVFP2) == Feature_HasVFP2)       // "fsqrts"
    1153           1 :             Mnemonic = "vsqrt";
    1154             :           return;
    1155             :         }
    1156             :         break;
    1157             :       }
    1158             :       break;
    1159           0 :     case 't':    // 4 strings to match.
    1160           0 :       if (Mnemonic[2] != 'o')
    1161             :         break;
    1162           0 :       switch (Mnemonic[3]) {
    1163             :       default: break;
    1164           0 :       case 's':  // 2 strings to match.
    1165           0 :         if (Mnemonic[4] != 'i')
    1166             :           break;
    1167           0 :         switch (Mnemonic[5]) {
    1168             :         default: break;
    1169           0 :         case 'd':        // 1 string to match.
    1170           0 :           if ((Features & Feature_HasVFP2) == Feature_HasVFP2)       // "ftosid"
    1171           0 :             Mnemonic = "vcvtr.s32.f64";
    1172             :           return;
    1173           0 :         case 's':        // 1 string to match.
    1174           0 :           if ((Features & Feature_HasVFP2) == Feature_HasVFP2)       // "ftosis"
    1175           0 :             Mnemonic = "vcvtr.s32.f32";
    1176             :           return;
    1177             :         }
    1178             :         break;
    1179           0 :       case 'u':  // 2 strings to match.
    1180           0 :         if (Mnemonic[4] != 'i')
    1181             :           break;
    1182           0 :         switch (Mnemonic[5]) {
    1183             :         default: break;
    1184           0 :         case 'd':        // 1 string to match.
    1185           0 :           if ((Features & Feature_HasVFP2) == Feature_HasVFP2)       // "ftouid"
    1186           0 :             Mnemonic = "vcvtr.u32.f64";
    1187             :           return;
    1188           0 :         case 's':        // 1 string to match.
    1189           0 :           if ((Features & Feature_HasVFP2) == Feature_HasVFP2)       // "ftouis"
    1190           0 :             Mnemonic = "vcvtr.u32.f32";
    1191             :           return;
    1192             :         }
    1193             :         break;
    1194             :       }
    1195             :       break;
    1196             :     case 'u':    // 2 strings to match.
    1197           0 :       if (memcmp(Mnemonic.data()+2, "ito", 3) != 0)
    1198             :         break;
    1199           0 :       switch (Mnemonic[5]) {
    1200             :       default: break;
    1201           0 :       case 'd':  // 1 string to match.
    1202           0 :         if ((Features & Feature_HasVFP2) == Feature_HasVFP2)         // "fuitod"
    1203           0 :           Mnemonic = "vcvt.f64.u32";
    1204             :         return;
    1205           0 :       case 's':  // 1 string to match.
    1206           0 :         if ((Features & Feature_HasVFP2) == Feature_HasVFP2)         // "fuitos"
    1207           0 :           Mnemonic = "vcvt.f32.u32";
    1208             :         return;
    1209             :       }
    1210             :       break;
    1211             :     }
    1212             :     break;
    1213        3462 :   case 7:        // 8 strings to match.
    1214        6924 :     if (Mnemonic[0] != 'f')
    1215             :       break;
    1216          46 :     switch (Mnemonic[1]) {
    1217             :     default: break;
    1218             :     case 'l':    // 2 strings to match.
    1219          12 :       if (memcmp(Mnemonic.data()+2, "dm", 2) != 0)
    1220             :         break;
    1221          12 :       switch (Mnemonic[4]) {
    1222             :       default: break;
    1223             :       case 'e':  // 1 string to match.
    1224           2 :         if (memcmp(Mnemonic.data()+5, "ax", 2) != 0)
    1225             :           break;
    1226           2 :         if ((Features & Feature_HasVFP2) == Feature_HasVFP2)         // "fldmeax"
    1227           2 :           Mnemonic = "fldmdbx";
    1228             :         return;
    1229             :       case 'f':  // 1 string to match.
    1230           2 :         if (memcmp(Mnemonic.data()+5, "dx", 2) != 0)
    1231             :           break;
    1232           2 :         if ((Features & Feature_HasVFP2) == Feature_HasVFP2)         // "fldmfdx"
    1233           2 :           Mnemonic = "fldmiax";
    1234             :         return;
    1235             :       }
    1236             :       break;
    1237             :     case 's':    // 2 strings to match.
    1238          20 :       if (memcmp(Mnemonic.data()+2, "tm", 2) != 0)
    1239             :         break;
    1240          20 :       switch (Mnemonic[4]) {
    1241             :       default: break;
    1242             :       case 'e':  // 1 string to match.
    1243           2 :         if (memcmp(Mnemonic.data()+5, "ax", 2) != 0)
    1244             :           break;
    1245           2 :         if ((Features & Feature_HasVFP2) == Feature_HasVFP2)         // "fstmeax"
    1246           2 :           Mnemonic = "fstmiax";
    1247             :         return;
    1248             :       case 'f':  // 1 string to match.
    1249           2 :         if (memcmp(Mnemonic.data()+5, "dx", 2) != 0)
    1250             :           break;
    1251           2 :         if ((Features & Feature_HasVFP2) == Feature_HasVFP2)         // "fstmfdx"
    1252           2 :           Mnemonic = "fstmdbx";
    1253             :         return;
    1254             :       }
    1255             :       break;
    1256           0 :     case 't':    // 4 strings to match.
    1257           0 :       if (Mnemonic[2] != 'o')
    1258             :         break;
    1259           0 :       switch (Mnemonic[3]) {
    1260             :       default: break;
    1261             :       case 's':  // 2 strings to match.
    1262           0 :         if (memcmp(Mnemonic.data()+4, "iz", 2) != 0)
    1263             :           break;
    1264           0 :         switch (Mnemonic[6]) {
    1265             :         default: break;
    1266           0 :         case 'd':        // 1 string to match.
    1267           0 :           if ((Features & Feature_HasVFP2) == Feature_HasVFP2)       // "ftosizd"
    1268           0 :             Mnemonic = "vcvt.s32.f64";
    1269             :           return;
    1270           0 :         case 's':        // 1 string to match.
    1271           0 :           if ((Features & Feature_HasVFP2) == Feature_HasVFP2)       // "ftosizs"
    1272           0 :             Mnemonic = "vcvt.s32.f32";
    1273             :           return;
    1274             :         }
    1275             :         break;
    1276             :       case 'u':  // 2 strings to match.
    1277           0 :         if (memcmp(Mnemonic.data()+4, "iz", 2) != 0)
    1278             :           break;
    1279           0 :         switch (Mnemonic[6]) {
    1280             :         default: break;
    1281           0 :         case 'd':        // 1 string to match.
    1282           0 :           if ((Features & Feature_HasVFP2) == Feature_HasVFP2)       // "ftouizd"
    1283           0 :             Mnemonic = "vcvt.u32.f64";
    1284             :           return;
    1285           0 :         case 's':        // 1 string to match.
    1286           0 :           if ((Features & Feature_HasVFP2) == Feature_HasVFP2)       // "ftouizs"
    1287           0 :             Mnemonic = "vcvt.u32.f32";
    1288             :           return;
    1289             :         }
    1290             :         break;
    1291             :       }
    1292             :       break;
    1293             :     }
    1294             :     break;
    1295        2332 :   case 8:        // 5 strings to match.
    1296        4664 :     switch (Mnemonic[0]) {
    1297             :     default: break;
    1298             :     case 'q':    // 1 string to match.
    1299           8 :       if (memcmp(Mnemonic.data()+1, "subaddx", 7) != 0)
    1300             :         break;
    1301           0 :       Mnemonic = "qsax";       // "qsubaddx"
    1302             :       return;
    1303         308 :     case 's':    // 2 strings to match.
    1304         308 :       switch (Mnemonic[1]) {
    1305             :       default: break;
    1306             :       case 'a':  // 1 string to match.
    1307          10 :         if (memcmp(Mnemonic.data()+2, "ddsubx", 6) != 0)
    1308             :           break;
    1309           4 :         Mnemonic = "sasx";     // "saddsubx"
    1310             :         return;
    1311             :       case 's':  // 1 string to match.
    1312           8 :         if (memcmp(Mnemonic.data()+2, "ubaddx", 6) != 0)
    1313             :           break;
    1314           4 :         Mnemonic = "ssax";     // "ssubaddx"
    1315             :         return;
    1316             :       }
    1317             :       break;
    1318          49 :     case 'u':    // 2 strings to match.
    1319          49 :       switch (Mnemonic[1]) {
    1320             :       default: break;
    1321             :       case 'a':  // 1 string to match.
    1322           8 :         if (memcmp(Mnemonic.data()+2, "ddsubx", 6) != 0)
    1323             :           break;
    1324           4 :         Mnemonic = "uasx";     // "uaddsubx"
    1325             :         return;
    1326             :       case 's':  // 1 string to match.
    1327          12 :         if (memcmp(Mnemonic.data()+2, "ubaddx", 6) != 0)
    1328             :           break;
    1329           4 :         Mnemonic = "usax";     // "usubaddx"
    1330             :         return;
    1331             :       }
    1332             :       break;
    1333             :     }
    1334             :     break;
    1335        1081 :   case 9:        // 8 strings to match.
    1336        2162 :     switch (Mnemonic[0]) {
    1337             :     default: break;
    1338          70 :     case 's':    // 2 strings to match.
    1339          70 :       if (Mnemonic[1] != 'h')
    1340             :         break;
    1341          38 :       switch (Mnemonic[2]) {
    1342             :       default: break;
    1343             :       case 'a':  // 1 string to match.
    1344          30 :         if (memcmp(Mnemonic.data()+3, "ddsubx", 6) != 0)
    1345             :           break;
    1346           4 :         Mnemonic = "shasx";    // "shaddsubx"
    1347             :         return;
    1348             :       case 's':  // 1 string to match.
    1349           8 :         if (memcmp(Mnemonic.data()+3, "ubaddx", 6) != 0)
    1350             :           break;
    1351           4 :         Mnemonic = "shsax";    // "shsubaddx"
    1352             :         return;
    1353             :       }
    1354             :       break;
    1355          40 :     case 'u':    // 4 strings to match.
    1356          40 :       switch (Mnemonic[1]) {
    1357             :       default: break;
    1358          16 :       case 'h':  // 2 strings to match.
    1359          16 :         switch (Mnemonic[2]) {
    1360             :         default: break;
    1361             :         case 'a':        // 1 string to match.
    1362           8 :           if (memcmp(Mnemonic.data()+3, "ddsubx", 6) != 0)
    1363             :             break;
    1364           4 :           Mnemonic = "uhasx";  // "uhaddsubx"
    1365             :           return;
    1366             :         case 's':        // 1 string to match.
    1367           8 :           if (memcmp(Mnemonic.data()+3, "ubaddx", 6) != 0)
    1368             :             break;
    1369           4 :           Mnemonic = "uhsax";  // "uhsubaddx"
    1370             :           return;
    1371             :         }
    1372             :         break;
    1373          16 :       case 'q':  // 2 strings to match.
    1374          16 :         switch (Mnemonic[2]) {
    1375             :         default: break;
    1376             :         case 'a':        // 1 string to match.
    1377           8 :           if (memcmp(Mnemonic.data()+3, "ddsubx", 6) != 0)
    1378             :             break;
    1379           4 :           Mnemonic = "uqasx";  // "uqaddsubx"
    1380             :           return;
    1381             :         case 's':        // 1 string to match.
    1382           8 :           if (memcmp(Mnemonic.data()+3, "ubaddx", 6) != 0)
    1383             :             break;
    1384           4 :           Mnemonic = "uqsax";  // "uqsubaddx"
    1385             :           return;
    1386             :         }
    1387             :         break;
    1388             :       }
    1389             :       break;
    1390             :     case 'v':    // 2 strings to match.
    1391         884 :       if (memcmp(Mnemonic.data()+1, "movq.f", 6) != 0)
    1392             :         break;
    1393           0 :       switch (Mnemonic[7]) {
    1394             :       default: break;
    1395           0 :       case '3':  // 1 string to match.
    1396           0 :         if (Mnemonic[8] != '2')
    1397             :           break;
    1398           0 :         if ((Features & Feature_HasNEON) == Feature_HasNEON)         // "vmovq.f32"
    1399           0 :           Mnemonic = "vmov.f32";
    1400             :         return;
    1401           0 :       case '6':  // 1 string to match.
    1402           0 :         if (Mnemonic[8] != '4')
    1403             :           break;
    1404           0 :         if ((Features & Feature_HasNEON) == Feature_HasNEON)         // "vmovq.f64"
    1405           0 :           Mnemonic = "vmov.f64";
    1406             :         return;
    1407             :       }
    1408             :       break;
    1409             :     }
    1410             :     break;
    1411             :   case 11:       // 2 strings to match.
    1412         153 :     if (memcmp(Mnemonic.data()+0, "vrecpeq.", 8) != 0)
    1413             :       break;
    1414           0 :     switch (Mnemonic[8]) {
    1415             :     default: break;
    1416             :     case 'f':    // 1 string to match.
    1417           0 :       if (memcmp(Mnemonic.data()+9, "32", 2) != 0)
    1418             :         break;
    1419           0 :       if ((Features & Feature_HasNEON) == Feature_HasNEON)   // "vrecpeq.f32"
    1420           0 :         Mnemonic = "vrecpe.f32";
    1421             :       return;
    1422             :     case 'u':    // 1 string to match.
    1423           0 :       if (memcmp(Mnemonic.data()+9, "32", 2) != 0)
    1424             :         break;
    1425           0 :       if ((Features & Feature_HasNEON) == Feature_HasNEON)   // "vrecpeq.u32"
    1426           0 :         Mnemonic = "vrecpe.u32";
    1427             :       return;
    1428             :     }
    1429             :     break;
    1430             :   }
    1431             : }
    1432             : 
    1433             : enum {
    1434             :   Tie0_1_1,
    1435             :   Tie0_2_2,
    1436             :   Tie0_3_3,
    1437             :   Tie0_4_4,
    1438             :   Tie0_4_5,
    1439             :   Tie1_1_1,
    1440             :   Tie1_3_3,
    1441             :   Tie1_4_4,
    1442             :   Tie2_4_4,
    1443             : };
    1444             : 
    1445             : const char TiedAsmOperandTable[][3] = {
    1446             :   /* Tie0_1_1 */ { 0, 1, 1 },
    1447             :   /* Tie0_2_2 */ { 0, 2, 2 },
    1448             :   /* Tie0_3_3 */ { 0, 3, 3 },
    1449             :   /* Tie0_4_4 */ { 0, 4, 4 },
    1450             :   /* Tie0_4_5 */ { 0, 4, 5 },
    1451             :   /* Tie1_1_1 */ { 1, 1, 1 },
    1452             :   /* Tie1_3_3 */ { 1, 3, 3 },
    1453             :   /* Tie1_4_4 */ { 1, 4, 4 },
    1454             :   /* Tie2_4_4 */ { 2, 4, 4 },
    1455             : };
    1456             : 
    1457             : namespace {
    1458             : enum OperatorConversionKind {
    1459             :   CVT_Done,
    1460             :   CVT_Reg,
    1461             :   CVT_Tied,
    1462             :   CVT_95_Reg,
    1463             :   CVT_95_addCCOutOperands,
    1464             :   CVT_95_addCondCodeOperands,
    1465             :   CVT_95_addRegShiftedRegOperands,
    1466             :   CVT_95_addModImmOperands,
    1467             :   CVT_95_addModImmNotOperands,
    1468             :   CVT_95_addRegShiftedImmOperands,
    1469             :   CVT_95_addImmOperands,
    1470             :   CVT_95_addT2SOImmNotOperands,
    1471             :   CVT_95_addImm0_95_508s4Operands,
    1472             :   CVT_regSP,
    1473             :   CVT_95_addImm0_95_508s4NegOperands,
    1474             :   CVT_95_addImm0_95_4095NegOperands,
    1475             :   CVT_95_addThumbModImmNeg8_95_255Operands,
    1476             :   CVT_95_addT2SOImmNegOperands,
    1477             :   CVT_95_addModImmNegOperands,
    1478             :   CVT_95_addImm0_95_1020s4Operands,
    1479             :   CVT_95_addThumbModImmNeg1_95_7Operands,
    1480             :   CVT_95_addUnsignedOffset_95_b8s2Operands,
    1481             :   CVT_95_addAdrLabelOperands,
    1482             :   CVT_95_addARMBranchTargetOperands,
    1483             :   CVT_cvtThumbBranches,
    1484             :   CVT_95_addBitfieldOperands,
    1485             :   CVT_imm_95_0,
    1486             :   CVT_95_addThumbBranchTargetOperands,
    1487             :   CVT_95_addCoprocNumOperands,
    1488             :   CVT_95_addCoprocRegOperands,
    1489             :   CVT_95_addProcIFlagsOperands,
    1490             :   CVT_imm_95_20,
    1491             :   CVT_imm_95_12,
    1492             :   CVT_imm_95_15,
    1493             :   CVT_95_addMemBarrierOptOperands,
    1494             :   CVT_imm_95_16,
    1495             :   CVT_95_addFPImmOperands,
    1496             :   CVT_95_addDPRRegListOperands,
    1497             :   CVT_imm_95_1,
    1498             :   CVT_95_addInstSyncBarrierOptOperands,
    1499             :   CVT_95_addITCondCodeOperands,
    1500             :   CVT_95_addITMaskOperands,
    1501             :   CVT_95_addMemNoOffsetOperands,
    1502             :   CVT_95_addAddrMode5Operands,
    1503             :   CVT_95_addCoprocOptionOperands,
    1504             :   CVT_95_addPostIdxImm8s4Operands,
    1505             :   CVT_95_addRegListOperands,
    1506             :   CVT_95_addThumbMemPCOperands,
    1507             :   CVT_95_addConstPoolAsmImmOperands,
    1508             :   CVT_95_addMemThumbRIs4Operands,
    1509             :   CVT_95_addMemThumbRROperands,
    1510             :   CVT_95_addMemThumbSPIOperands,
    1511             :   CVT_95_addMemImm12OffsetOperands,
    1512             :   CVT_95_addMemNegImm8OffsetOperands,
    1513             :   CVT_95_addMemRegOffsetOperands,
    1514             :   CVT_95_addMemUImm12OffsetOperands,
    1515             :   CVT_95_addT2MemRegOffsetOperands,
    1516             :   CVT_95_addMemPCRelImm12Operands,
    1517             :   CVT_95_addMemImm8OffsetOperands,
    1518             :   CVT_95_addAM2OffsetImmOperands,
    1519             :   CVT_95_addPostIdxRegShiftedOperands,
    1520             :   CVT_95_addMemThumbRIs1Operands,
    1521             :   CVT_95_addMemPosImm8OffsetOperands,
    1522             :   CVT_95_addMemImm8s4OffsetOperands,
    1523             :   CVT_95_addAddrMode3Operands,
    1524             :   CVT_95_addAM3OffsetOperands,
    1525             :   CVT_95_addMemImm0_95_1020s4OffsetOperands,
    1526             :   CVT_95_addMemThumbRIs2Operands,
    1527             :   CVT_95_addPostIdxRegOperands,
    1528             :   CVT_95_addPostIdxImm8Operands,
    1529             :   CVT_reg0,
    1530             :   CVT_regCPSR,
    1531             :   CVT_imm_95_14,
    1532             :   CVT_95_addBankedRegOperands,
    1533             :   CVT_95_addMSRMaskOperands,
    1534             :   CVT_cvtThumbMultiply,
    1535             :   CVT_regR8,
    1536             :   CVT_regR0,
    1537             :   CVT_95_addPKHASRImmOperands,
    1538             :   CVT_95_addImm1_95_32Operands,
    1539             :   CVT_imm_95_4,
    1540             :   CVT_imm_95_5,
    1541             :   CVT_95_addShifterImmOperands,
    1542             :   CVT_95_addImm1_95_16Operands,
    1543             :   CVT_95_addRotImmOperands,
    1544             :   CVT_95_addMemTBBOperands,
    1545             :   CVT_95_addMemTBHOperands,
    1546             :   CVT_95_addNEONi16splatNotOperands,
    1547             :   CVT_95_addNEONi32splatNotOperands,
    1548             :   CVT_95_addNEONi16splatOperands,
    1549             :   CVT_95_addNEONi32splatOperands,
    1550             :   CVT_95_addComplexRotationOddOperands,
    1551             :   CVT_95_addComplexRotationEvenOperands,
    1552             :   CVT_95_addVectorIndex64Operands,
    1553             :   CVT_95_addVectorIndex32Operands,
    1554             :   CVT_95_addFBits16Operands,
    1555             :   CVT_95_addFBits32Operands,
    1556             :   CVT_95_addVectorIndex16Operands,
    1557             :   CVT_95_addVectorIndex8Operands,
    1558             :   CVT_95_addVecListOperands,
    1559             :   CVT_95_addDupAlignedMemory16Operands,
    1560             :   CVT_95_addAlignedMemory64or128Operands,
    1561             :   CVT_95_addAlignedMemory64or128or256Operands,
    1562             :   CVT_95_addAlignedMemory64Operands,
    1563             :   CVT_95_addVecListIndexedOperands,
    1564             :   CVT_95_addAlignedMemory16Operands,
    1565             :   CVT_95_addDupAlignedMemory32Operands,
    1566             :   CVT_95_addAlignedMemory32Operands,
    1567             :   CVT_95_addDupAlignedMemoryNoneOperands,
    1568             :   CVT_95_addAlignedMemoryNoneOperands,
    1569             :   CVT_95_addAlignedMemoryOperands,
    1570             :   CVT_95_addDupAlignedMemory64Operands,
    1571             :   CVT_95_addDupAlignedMemory64or128Operands,
    1572             :   CVT_95_addSPRRegListOperands,
    1573             :   CVT_95_addAddrMode5FP16Operands,
    1574             :   CVT_95_addNEONi32vmovOperands,
    1575             :   CVT_95_addNEONvmovi8ReplicateOperands,
    1576             :   CVT_95_addNEONvmovi16ReplicateOperands,
    1577             :   CVT_95_addNEONi32vmovNegOperands,
    1578             :   CVT_95_addNEONvmovi32ReplicateOperands,
    1579             :   CVT_95_addNEONi64splatOperands,
    1580             :   CVT_95_addNEONi8splatOperands,
    1581             :   CVT_95_addNEONinvi8ReplicateOperands,
    1582             :   CVT_imm_95_2,
    1583             :   CVT_imm_95_3,
    1584             :   CVT_NUM_CONVERTERS
    1585             : };
    1586             : 
    1587             : enum InstructionConversionKind {
    1588             :   Convert_NoOperands,
    1589             :   Convert__Reg1_2__CCOut1_0__Tie0_1_1__Reg1_3__CondCode2_1,
    1590             :   Convert__Reg1_2__Reg1_2__RegShiftedReg3_3__CondCode2_1__CCOut1_0,
    1591             :   Convert__Reg1_2__Reg1_2__Reg1_3__CondCode2_1__CCOut1_0,
    1592             :   Convert__Reg1_2__Reg1_2__ModImm1_3__CondCode2_1__CCOut1_0,
    1593             :   Convert__Reg1_2__Reg1_2__ModImmNot1_3__CondCode2_1__CCOut1_0,
    1594             :   Convert__Reg1_2__Reg1_2__RegShiftedImm2_3__CondCode2_1__CCOut1_0,
    1595             :   Convert__Reg1_2__Reg1_3__Reg1_4__CondCode2_1__CCOut1_0,
    1596             :   Convert__Reg1_2__Reg1_3__RegShiftedImm2_4__CondCode2_1__CCOut1_0,
    1597             :   Convert__Reg1_2__Reg1_3__T2SOImm1_4__CondCode2_1__CCOut1_0,
    1598             :   Convert__Reg1_2__Reg1_3__T2SOImmNot1_4__CondCode2_1__CCOut1_0,
    1599             :   Convert__Reg1_2__Reg1_3__RegShiftedReg3_4__CondCode2_1__CCOut1_0,
    1600             :   Convert__Reg1_2__Reg1_3__ModImm1_4__CondCode2_1__CCOut1_0,
    1601             :   Convert__Reg1_2__Reg1_3__ModImmNot1_4__CondCode2_1__CCOut1_0,
    1602             :   Convert__Reg1_3__Reg1_4__Reg1_5__CondCode2_1__CCOut1_0,
    1603             :   Convert__Reg1_3__Reg1_4__RegShiftedImm2_5__CondCode2_1__CCOut1_0,
    1604             :   Convert__Reg1_1__Tie0_1_1__Reg1_2__CondCode2_0,
    1605             :   Convert__Reg1_1__Tie0_1_1__Imm0_508s41_2__CondCode2_0,
    1606             :   Convert__regSP__Tie0_1_1__Imm0_508s4Neg1_2__CondCode2_0,
    1607             :   Convert__Reg1_1__Reg1_1__Imm0_40951_2__CondCode2_0,
    1608             :   Convert__Reg1_1__Reg1_1__Imm0_4095Neg1_2__CondCode2_0,
    1609             :   Convert__Reg1_2__CCOut1_0__Reg1_2__Reg1_3__CondCode2_1,
    1610             :   Convert__Reg1_2__CCOut1_0__Tie0_1_1__Imm0_2551_3__CondCode2_1,
    1611             :   Convert__Reg1_2__CCOut1_0__Tie0_3_3__ThumbModImmNeg8_2551_3__CondCode2_1,
    1612             :   Convert__Reg1_2__Reg1_2__T2SOImm1_3__CondCode2_1__CCOut1_0,
    1613             :   Convert__Reg1_2__Reg1_2__T2SOImmNeg1_3__CondCode2_1__CCOut1_0,
    1614             :   Convert__Reg1_2__Reg1_2__ModImmNeg1_3__CondCode2_1__CCOut1_0,
    1615             :   Convert__regSP__Tie0_1_1__Imm0_508s41_3__CondCode2_0,
    1616             :   Convert__regSP__Tie0_1_1__Imm0_508s4Neg1_3__CondCode2_0,
    1617             :   Convert__Reg1_1__Reg1_2__Imm0_1020s41_3__CondCode2_0,
    1618             :   Convert__Reg1_1__Imm0_40951_3__CondCode2_0,
    1619             :   Convert__Reg1_1__Reg1_2__Imm0_40951_3__CondCode2_0,
    1620             :   Convert__Reg1_1__Reg1_2__Imm0_4095Neg1_3__CondCode2_0,
    1621             :   Convert__Reg1_1__Reg1_2__Reg1_3__CondCode2_0,
    1622             :   Convert__Reg1_3__Reg1_3__T2SOImmNeg1_4__CondCode2_1__CCOut1_0,
    1623             :   Convert__Reg1_2__CCOut1_0__Reg1_3__Reg1_4__CondCode2_1,
    1624             :   Convert__Reg1_2__CCOut1_0__Reg1_3__Imm0_71_4__CondCode2_1,
    1625             :   Convert__Reg1_2__CCOut1_0__Reg1_3__ThumbModImmNeg1_71_4__CondCode2_1,
    1626             :   Convert__Reg1_2__Reg1_3__T2SOImmNeg1_4__CondCode2_1__CCOut1_0,
    1627             :   Convert__Reg1_2__Reg1_3__ModImmNeg1_4__CondCode2_1__CCOut1_0,
    1628             :   Convert__Reg1_3__Reg1_4__T2SOImm1_5__CondCode2_1__CCOut1_0,
    1629             :   Convert__Reg1_3__Reg1_4__T2SOImmNeg1_5__CondCode2_1__CCOut1_0,
    1630             :   Convert__Reg1_1__Reg1_2__T2SOImmNeg1_3__CondCode2_0,
    1631             :   Convert__Reg1_1__UnsignedOffset_b8s21_2__CondCode2_0,
    1632             :   Convert__Reg1_1__Imm1_2__CondCode2_0,
    1633             :   Convert__Reg1_1__AdrLabel1_2__CondCode2_0,
    1634             :   Convert__Reg1_2__Imm1_3__CondCode2_0,
    1635             :   Convert__Reg1_1__Tie0_1_1__Reg1_2,
    1636             :   Convert__Reg1_1__Reg1_2,
    1637             :   Convert__Reg1_2__Reg1_2__T2SOImmNot1_3__CondCode2_1__CCOut1_0,
    1638             :   Convert__Reg1_3__Reg1_3__Reg1_4__CondCode2_1__CCOut1_0,
    1639             :   Convert__Reg1_3__Reg1_3__RegShiftedImm2_4__CondCode2_1__CCOut1_0,
    1640             :   Convert__Reg1_3__Reg1_3__T2SOImm1_4__CondCode2_1__CCOut1_0,
    1641             :   Convert__Reg1_2__CCOut1_0__Reg1_2__ImmThumbSR1_3__CondCode2_1,
    1642             :   Convert__Reg1_2__Reg1_2__ImmThumbSR1_3__CondCode2_1__CCOut1_0,
    1643             :   Convert__Reg1_2__Reg1_2__Imm0_321_3__CondCode2_1__CCOut1_0,
    1644             :   Convert__Reg1_3__Reg1_3__ImmThumbSR1_4__CondCode2_1__CCOut1_0,
    1645             :   Convert__Reg1_2__CCOut1_0__Reg1_3__ImmThumbSR1_4__CondCode2_1,
    1646             :   Convert__Reg1_2__Reg1_3__ImmThumbSR1_4__CondCode2_1__CCOut1_0,
    1647             :   Convert__Reg1_2__Reg1_3__Imm0_321_4__CondCode2_1__CCOut1_0,
    1648             :   Convert__Reg1_3__Reg1_4__ImmThumbSR1_5__CondCode2_1__CCOut1_0,
    1649             :   Convert__ARMBranchTarget1_1__CondCode2_0,
    1650             :   ConvertCustom_cvtThumbBranches,
    1651             :   Convert__Reg1_1__Tie0_1_1__Bitfield1_2__CondCode2_0,
    1652             :   Convert__Reg1_1__Tie0_1_1__Reg1_2__Bitfield1_3__CondCode2_0,
    1653             :   Convert__imm_95_0,
    1654             :   Convert__Imm0_2551_0,
    1655             :   Convert__Imm0_655351_0,
    1656             :   Convert__ARMBranchTarget1_0,
    1657             :   Convert__CondCode2_0__ThumbBranchTarget1_1,
    1658             :   Convert__Reg1_0,
    1659             :   Convert__ThumbBranchTarget1_0,
    1660             :   Convert__Reg1_1__CondCode2_0,
    1661             :   Convert__CondCode2_0__Reg1_1,
    1662             :   Convert__CondCode2_0__ARMBranchTarget1_1,
    1663             :   Convert__CondCode2_0,
    1664             :   Convert__Reg1_0__ThumbBranchTarget1_1,
    1665             :   Convert__CoprocNum1_1__Imm0_151_2__CoprocReg1_3__CoprocReg1_4__CoprocReg1_5__Imm0_71_6__CondCode2_0,
    1666             :   Convert__CoprocNum1_0__Imm0_151_1__CoprocReg1_2__CoprocReg1_3__CoprocReg1_4__Imm0_71_5,
    1667             :   Convert__Reg1_1__Reg1_2__CondCode2_0,
    1668             :   Convert__Reg1_1__ModImmNeg1_2__CondCode2_0,
    1669             :   Convert__Reg1_1__T2SOImmNeg1_2__CondCode2_0,
    1670             :   Convert__Reg1_1__RegShiftedImm2_2__CondCode2_0,
    1671             :   Convert__Reg1_1__RegShiftedReg3_2__CondCode2_0,
    1672             :   Convert__Reg1_1__T2SOImm1_2__CondCode2_0,
    1673             :   Convert__Reg1_1__ModImm1_2__CondCode2_0,
    1674             :   Convert__Reg1_2__Reg1_3__CondCode2_0,
    1675             :   Convert__Reg1_2__RegShiftedImm2_3__CondCode2_0,
    1676             :   Convert__Reg1_2__T2SOImm1_3__CondCode2_0,
    1677             :   Convert__Reg1_1__Imm0_2551_2__CondCode2_0,
    1678             :   Convert__Imm0_311_0,
    1679             :   Convert__Imm0_311_1,
    1680             :   Convert__Imm1_0__ProcIFlags1_1,
    1681             :   Convert__Imm1_0__ProcIFlags1_2,
    1682             :   Convert__Imm1_0__ProcIFlags1_1__Imm0_311_2,
    1683             :   Convert__Imm1_0__ProcIFlags1_1__Imm1_2,
    1684             :   Convert__Imm1_0__ProcIFlags1_2__Imm1_3,
    1685             :   Convert__Reg1_0__Reg1_1__Reg1_2,
    1686             :   Convert__imm_95_20__CondCode2_0,
    1687             :   Convert__Imm0_151_1__CondCode2_0,
    1688             :   Convert__imm_95_12,
    1689             :   Convert__imm_95_12__CondCode2_0,
    1690             :   Convert__imm_95_15,
    1691             :   Convert__imm_95_15__CondCode2_0,
    1692             :   Convert__MemBarrierOpt1_0,
    1693             :   Convert__MemBarrierOpt1_1__CondCode2_0,
    1694             :   Convert__imm_95_0__CondCode2_0,
    1695             :   Convert__imm_95_16__CondCode2_0,
    1696             :   Convert__Reg1_1__FPImm1_2__CondCode2_0,
    1697             :   Convert__Reg1_1__Tie0_2_2__CondCode2_0__DPRRegList1_3,
    1698             :   Convert__Reg1_1__CondCode2_0__DPRRegList1_2,
    1699             :   Convert__Reg1_1__Tie0_2_2__Reg1_2__imm_95_1__CondCode2_0,
    1700             :   Convert__Reg1_1__Tie0_2_2__Reg1_2__imm_95_0__CondCode2_0,
    1701             :   Convert__Imm0_2391_1__CondCode2_0,
    1702             :   Convert__Imm0_2391_2__CondCode2_0,
    1703             :   Convert__Imm0_631_0,
    1704             :   Convert__Imm0_655351_1,
    1705             :   Convert__InstSyncBarrierOpt1_0,
    1706             :   Convert__InstSyncBarrierOpt1_1__CondCode2_0,
    1707             :   Convert__ITCondCode1_1__ITMask1_0,
    1708             :   Convert__Reg1_1__MemNoOffset1_2__CondCode2_0,
    1709             :   Convert__Reg1_1__Reg1_2__MemNoOffset1_3__CondCode2_0,
    1710             :   Convert__CoprocNum1_1__CoprocReg1_2__AddrMode52_3__CondCode2_0,
    1711             :   Convert__CoprocNum1_1__CoprocReg1_2__MemNoOffset1_3__CoprocOption1_4__CondCode2_0,
    1712             :   Convert__CoprocNum1_1__CoprocReg1_2__MemNoOffset1_3__PostIdxImm8s41_4__CondCode2_0,
    1713             :   Convert__CoprocNum1_0__CoprocReg1_1__AddrMode52_2,
    1714             :   Convert__CoprocNum1_0__CoprocReg1_1__MemNoOffset1_2__CoprocOption1_3,
    1715             :   Convert__CoprocNum1_0__CoprocReg1_1__MemNoOffset1_2__PostIdxImm8s41_3,
    1716             :   Convert__Reg1_1__CondCode2_0__RegList1_2,
    1717             :   Convert__Reg1_2__CondCode2_0__RegList1_3,
    1718             :   Convert__Reg1_1__CondCode2_0__RegList1_3,
    1719             :   Convert__Reg1_1__Tie0_2_2__CondCode2_0__RegList1_3,
    1720             :   Convert__Reg1_2__Tie0_3_3__CondCode2_0__RegList1_4,
    1721             :   Convert__Reg1_1__ThumbMemPC1_2__CondCode2_0,
    1722             :   Convert__Reg1_1__ConstPoolAsmImm1_2__CondCode2_0,
    1723             :   Convert__Reg1_1__MemThumbRIs42_2__CondCode2_0,
    1724             :   Convert__Reg1_1__MemThumbRR2_2__CondCode2_0,
    1725             :   Convert__Reg1_1__MemThumbSPI2_2__CondCode2_0,
    1726             :   Convert__Reg1_1__MemImm12Offset2_2__CondCode2_0,
    1727             :   Convert__Reg1_1__MemNegImm8Offset2_2__CondCode2_0,
    1728             :   Convert__Reg1_1__MemRegOffset3_2__CondCode2_0,
    1729             :   Convert__Reg1_1__MemUImm12Offset2_2__CondCode2_0,
    1730             :   Convert__Reg1_1__T2MemRegOffset3_2__CondCode2_0,
    1731             :   Convert__Reg1_1__MemPCRelImm121_2__CondCode2_0,
    1732             :   Convert__Reg1_2__ConstPoolAsmImm1_3__CondCode2_0,
    1733             :   Convert__Reg1_2__MemUImm12Offset2_3__CondCode2_0,
    1734             :   Convert__Reg1_2__T2MemRegOffset3_3__CondCode2_0,
    1735             :   Convert__Reg1_2__MemPCRelImm121_3__CondCode2_0,
    1736             :   Convert__Reg1_1__imm_95_0__MemImm12Offset2_2__CondCode2_0,
    1737             :   Convert__Reg1_1__imm_95_0__MemImm8Offset2_2__CondCode2_0,
    1738             :   Convert__Reg1_1__MemNoOffset1_2__Tie1_3_3__AM2OffsetImm2_3__CondCode2_0,
    1739             :   Convert__Reg1_1__MemNoOffset1_2__Tie1_3_3__Imm1_3__CondCode2_0,
    1740             :   Convert__Reg1_1__MemNoOffset1_2__Tie1_3_3__PostIdxRegShifted2_3__CondCode2_0,
    1741             :   Convert__Reg1_1__imm_95_0__MemRegOffset3_2__CondCode2_0,
    1742             :   Convert__Reg1_1__MemThumbRIs12_2__CondCode2_0,
    1743             :   Convert__Reg1_1__MemPosImm8Offset2_2__CondCode2_0,
    1744             :   Convert__Reg1_1__Reg1_2__MemImm8s4Offset2_3__CondCode2_0,
    1745             :   Convert__Reg1_1__Reg1_2__AddrMode33_3__CondCode2_0,
    1746             :   Convert__Reg1_1__Reg1_2__imm_95_0__MemImm8s4Offset2_3__CondCode2_0,
    1747             :   Convert__Reg1_1__Reg1_2__MemNoOffset1_3__Tie2_4_4__Imm1_4__CondCode2_0,
    1748             :   Convert__Reg1_1__Reg1_2__imm_95_0__AddrMode33_3__CondCode2_0,
    1749             :   Convert__Reg1_1__Reg1_2__MemNoOffset1_3__Tie2_4_4__AM3Offset2_4__CondCode2_0,
    1750             :   Convert__Reg1_1__MemImm0_1020s4Offset2_2__CondCode2_0,
    1751             :   Convert__Reg1_1__MemThumbRIs22_2__CondCode2_0,
    1752             :   Convert__Reg1_1__AddrMode33_2__CondCode2_0,
    1753             :   Convert__Reg1_1__imm_95_0__AddrMode33_2__CondCode2_0,
    1754             :   Convert__Reg1_1__MemNoOffset1_2__Tie1_3_3__AM3Offset2_3__CondCode2_0,
    1755             :   Convert__Reg1_1__MemNoOffset1_2__Tie1_3_3__PostIdxReg2_3__CondCode2_0,
    1756             :   Convert__Reg1_1__MemNoOffset1_2__Tie1_3_3__PostIdxImm81_3__CondCode2_0,
    1757             :   Convert__Reg1_2__CCOut1_0__Reg1_2__Imm0_311_3__CondCode2_1,
    1758             :   Convert__Reg1_2__Reg1_2__Imm1_311_3__CondCode2_1__CCOut1_0,
    1759             :   Convert__Reg1_2__Reg1_2__Imm0_311_3__CondCode2_1__CCOut1_0,
    1760             :   Convert__Reg1_3__Reg1_3__Imm1_311_4__CondCode2_1__CCOut1_0,
    1761             :   Convert__Reg1_2__CCOut1_0__Reg1_3__Imm0_311_4__CondCode2_1,
    1762             :   Convert__Reg1_2__Reg1_3__Imm1_311_4__CondCode2_1__CCOut1_0,
    1763             :   Convert__Reg1_2__Reg1_3__CondCode2_1__CCOut1_0,
    1764             :   Convert__Reg1_2__Reg1_3__Imm0_311_4__CondCode2_1__CCOut1_0,
    1765             :   Convert__Reg1_3__Reg1_4__Imm1_311_5__CondCode2_1__CCOut1_0,
    1766             :   Convert__Reg1_3__Reg1_4__CondCode2_1__CCOut1_0,
    1767             :   Convert__CoprocNum1_1__Imm0_71_2__Reg1_3__CoprocReg1_4__CoprocReg1_5__imm_95_0__CondCode2_0,
    1768             :   Convert__CoprocNum1_1__Imm0_71_2__Reg1_3__CoprocReg1_4__CoprocReg1_5__Imm0_71_6__CondCode2_0,
    1769             :   Convert__CoprocNum1_0__Imm0_71_1__Reg1_2__CoprocReg1_3__CoprocReg1_4__imm_95_0,
    1770             :   Convert__CoprocNum1_0__Imm0_71_1__Reg1_2__CoprocReg1_3__CoprocReg1_4__Imm0_71_5,
    1771             :   Convert__CoprocNum1_1__Imm0_151_2__Reg1_3__Reg1_4__CoprocReg1_5__CondCode2_0,
    1772             :   Convert__CoprocNum1_0__Imm0_151_1__Reg1_2__Reg1_3__CoprocReg1_4,
    1773             :   Convert__Reg1_1__Reg1_2__Reg1_3__Reg1_4__CondCode2_0,
    1774             :   Convert__Reg1_2__Reg1_3__Reg1_4__Reg1_5__CondCode2_1__CCOut1_0,
    1775             :   Convert__Reg1_1__Imm256_65535Expr1_2__CondCode2_0,
    1776             :   Convert__Reg1_1__T2SOImm1_2__CondCode2_0__reg0,
    1777             :   Convert__Reg1_1__T2SOImmNot1_2__CondCode2_0__reg0,
    1778             :   Convert__Reg1_1__Imm0_65535Expr1_2__CondCode2_0,
    1779             :   Convert__Reg1_2__CCOut1_0__Imm0_2551_3__CondCode2_1,
    1780             :   Convert__Reg1_2__ModImmNot1_3__CondCode2_1__CCOut1_0,
    1781             :   Convert__Reg1_2__RegShiftedReg3_3__CondCode2_1__CCOut1_0,
    1782             :   Convert__Reg1_2__ModImm1_3__CondCode2_1__CCOut1_0,
    1783             :   Convert__Reg1_2__RegShiftedImm2_3__CondCode2_1__CCOut1_0,
    1784             :   Convert__Reg1_2__RegShiftedReg3_3__CondCode2_0,
    1785             :   Convert__Reg1_2__T2SOImm1_3__CondCode2_0__reg0,
    1786             :   Convert__Reg1_2__Reg1_3__CondCode2_0__reg0,
    1787             :   Convert__Reg1_3__T2SOImm1_4__CondCode2_1__CCOut1_0,
    1788             :   Convert__Reg1_0__Reg1_1,
    1789             :   Convert__Reg1_0__regCPSR__Imm0_2551_1__imm_95_14__imm_95_0,
    1790             :   Convert__Reg1_1__T2SOImm1_2__CondCode2_0__regCPSR,
    1791             :   Convert__Reg1_1__Reg1_2__CondCode2_0__regCPSR,
    1792             :   Convert__Reg1_2__T2SOImm1_3__CondCode2_0__regCPSR,
    1793             :   Convert__Reg1_2__Reg1_3__CondCode2_0__regCPSR,
    1794             :   Convert__Reg1_1__Tie0_1_1__Imm0_65535Expr1_2__CondCode2_0,
    1795             :   Convert__Reg1_3__CoprocNum1_1__Imm0_71_2__CoprocReg1_4__CoprocReg1_5__imm_95_0__CondCode2_0,
    1796             :   Convert__Reg1_3__CoprocNum1_1__Imm0_71_2__CoprocReg1_4__CoprocReg1_5__Imm0_71_6__CondCode2_0,
    1797             :   Convert__Reg1_2__CoprocNum1_0__Imm0_71_1__CoprocReg1_3__CoprocReg1_4__imm_95_0,
    1798             :   Convert__Reg1_2__CoprocNum1_0__Imm0_71_1__CoprocReg1_3__CoprocReg1_4__Imm0_71_5,
    1799             :   Convert__Reg1_3__Reg1_4__CoprocNum1_1__Imm0_151_2__CoprocReg1_5__CondCode2_0,
    1800             :   Convert__Reg1_2__Reg1_3__CoprocNum1_0__Imm0_151_1__CoprocReg1_4,
    1801             :   Convert__Reg1_1__BankedReg1_2__CondCode2_0,
    1802             :   Convert__Reg1_1__MSRMask1_2__CondCode2_0,
    1803             :   Convert__BankedReg1_1__Reg1_2__CondCode2_0,
    1804             :   Convert__MSRMask1_1__Reg1_2__CondCode2_0,
    1805             :   Convert__MSRMask1_1__ModImm1_2__CondCode2_0,
    1806             :   Convert__Reg1_1__Reg1_2__Reg1_1__CondCode2_0,
    1807             :   ConvertCustom_cvtThumbMultiply,
    1808             :   Convert__Reg1_2__CCOut1_0__Reg1_3__CondCode2_1,
    1809             :   Convert__Reg1_2__T2SOImm1_3__CondCode2_1__CCOut1_0,
    1810             :   Convert__Reg1_2__T2SOImmNot1_3__CondCode2_1__CCOut1_0,
    1811             :   Convert__Reg1_3__RegShiftedImm2_4__CondCode2_1__CCOut1_0,
    1812             :   Convert__Reg1_2__Reg1_3__imm_95_0__CondCode2_1__CCOut1_0,
    1813             :   Convert__regR8__regR8__imm_95_14__imm_95_0,
    1814             :   Convert__regR0__regR0__CondCode2_0__reg0,
    1815             :   Convert__Reg1_1__Reg1_2__Reg1_3__imm_95_0__CondCode2_0,
    1816             :   Convert__Reg1_1__Reg1_2__Reg1_3__PKHLSLImm1_4__CondCode2_0,
    1817             :   Convert__Reg1_1__Reg1_3__Reg1_2__imm_95_0__CondCode2_0,
    1818             :   Convert__Reg1_1__Reg1_2__Reg1_3__PKHASRImm1_4__CondCode2_0,
    1819             :   Convert__MemImm12Offset2_0,
    1820             :   Convert__MemRegOffset3_0,
    1821             :   Convert__Imm1_1__CondCode2_0,
    1822             :   Convert__MemNegImm8Offset2_1__CondCode2_0,
    1823             :   Convert__MemUImm12Offset2_1__CondCode2_0,
    1824             :   Convert__T2MemRegOffset3_1__CondCode2_0,
    1825             :   Convert__MemPCRelImm121_1__CondCode2_0,
    1826             :   Convert__CondCode2_0__RegList1_1,
    1827             :   Convert__regSP__Tie0_1_1__CondCode2_0__RegList1_1,
    1828             :   Convert__regSP__Tie0_1_1__CondCode2_0__RegList1_2,
    1829             :   Convert__Reg1_3__Reg1_3__Imm0_311_4__CondCode2_1__CCOut1_0,
    1830             :   Convert__Reg1_3__Reg1_4__Imm0_311_5__CondCode2_1__CCOut1_0,
    1831             :   Convert__Reg1_1__Reg1_2__Imm0_311_3__Imm1_321_4__CondCode2_0,
    1832             :   Convert__SetEndImm1_0,
    1833             :   Convert__Imm0_11_0,
    1834             :   Convert__imm_95_4__CondCode2_0,
    1835             :   Convert__imm_95_5__CondCode2_0,
    1836             :   Convert__Reg1_1__Tie0_1_1__Reg1_2__Reg1_3,
    1837             :   Convert__Reg1_1__Reg1_2__Reg1_3__Reg1_4__Tie0_1_1__Tie1_1_1__CondCode2_0,
    1838             :   Convert__Reg1_2__Reg1_3__Reg1_4__Reg1_5__Tie0_1_1__Tie1_1_1__CondCode2_1__CCOut1_0,
    1839             :   Convert__Reg1_2__Reg1_3__Reg1_4__Reg1_5__Tie0_3_3__Tie1_4_4__CondCode2_1__CCOut1_0,
    1840             :   Convert__Imm0_311_2,
    1841             :   Convert__Imm0_311_1__CondCode2_0,
    1842             :   Convert__Imm0_311_2__CondCode2_0,
    1843             :   Convert__Imm0_311_3__CondCode2_0,
    1844             :   Convert__Reg1_1__Imm1_321_2__Reg1_3__imm_95_0__CondCode2_0,
    1845             :   Convert__Reg1_1__Imm1_321_2__Reg1_3__ShifterImm1_4__CondCode2_0,
    1846             :   Convert__Reg1_1__Imm1_161_2__Reg1_3__CondCode2_0,
    1847             :   Convert__Reg1_1__Reg1_2__Reg1_3__MemNoOffset1_4__CondCode2_0,
    1848             :   Convert__imm_95_0__Reg1_1__MemImm8Offset2_2__CondCode2_0,
    1849             :   Convert__MemNoOffset1_2__Reg1_1__Tie0_3_3__Imm1_3__CondCode2_0,
    1850             :   Convert__imm_95_0__Reg1_1__MemImm12Offset2_2__CondCode2_0,
    1851             :   Convert__MemNoOffset1_2__Reg1_1__Tie0_3_3__AM2OffsetImm2_3__CondCode2_0,
    1852             :   Convert__MemNoOffset1_2__Reg1_1__Tie0_3_3__PostIdxRegShifted2_3__CondCode2_0,
    1853             :   Convert__imm_95_0__Reg1_1__MemRegOffset3_2__CondCode2_0,
    1854             :   Convert__Reg1_1__MemImm8Offset2_2__CondCode2_0,
    1855             :   Convert__imm_95_0__Reg1_1__Reg1_2__MemImm8s4Offset2_3__CondCode2_0,
    1856             :   Convert__MemNoOffset1_3__Reg1_1__Reg1_2__Tie0_4_4__Imm1_4__CondCode2_0,
    1857             :   Convert__imm_95_0__Reg1_1__Reg1_2__AddrMode33_3__CondCode2_0,
    1858             :   Convert__MemNoOffset1_3__Reg1_1__Reg1_2__Tie0_4_4__AM3Offset2_4__CondCode2_0,
    1859             :   Convert__Reg1_1__Reg1_2__MemImm0_1020s4Offset2_3__CondCode2_0,
    1860             :   Convert__imm_95_0__Reg1_1__AddrMode33_2__CondCode2_0,
    1861             :   Convert__MemNoOffset1_2__Reg1_1__Tie0_3_3__AM3Offset2_3__CondCode2_0,
    1862             :   Convert__MemNoOffset1_2__Reg1_1__Tie0_3_3__PostIdxImm81_3__CondCode2_0,
    1863             :   Convert__MemNoOffset1_2__Reg1_1__Tie0_3_3__PostIdxReg2_3__CondCode2_0,
    1864             :   Convert__Imm0_2551_3__CondCode2_0,
    1865             :   Convert__Imm0_2551_1__CondCode2_0,
    1866             :   Convert__Imm24bit1_1__CondCode2_0,
    1867             :   Convert__Reg1_1__Reg1_2__Reg1_3__RotImm1_4__CondCode2_0,
    1868             :   Convert__Reg1_1__Reg1_2__imm_95_0__CondCode2_0,
    1869             :   Convert__Reg1_2__Reg1_3__imm_95_0__CondCode2_0,
    1870             :   Convert__Reg1_1__Reg1_2__RotImm1_3__CondCode2_0,
    1871             :   Convert__Reg1_2__Reg1_3__RotImm1_4__CondCode2_0,
    1872             :   Convert__MemTBB2_1__CondCode2_0,
    1873             :   Convert__MemTBH2_1__CondCode2_0,
    1874             :   Convert__Reg1_1__Imm0_311_2__Reg1_3__imm_95_0__CondCode2_0,
    1875             :   Convert__Reg1_1__Imm0_311_2__Reg1_3__ShifterImm1_4__CondCode2_0,
    1876             :   Convert__Reg1_1__Imm0_151_2__Reg1_3__CondCode2_0,
    1877             :   Convert__Reg1_2__Tie0_1_1__Reg1_3__Reg1_4__CondCode2_0,
    1878             :   Convert__Reg1_2__Reg1_2__Reg1_3__CondCode2_0,
    1879             :   Convert__Reg1_2__Reg1_3__Reg1_4__CondCode2_0,
    1880             :   Convert__Reg1_2__Reg1_3__Reg1_2__CondCode2_0,
    1881             :   Convert__Reg1_2__Reg1_4__Reg1_3__CondCode2_0,
    1882             :   Convert__Reg1_1__Reg1_1__Reg1_2__CondCode2_0,
    1883             :   Convert__Reg1_2__NEONi16splatNot1_3__Tie0_3_3__CondCode2_0,
    1884             :   Convert__Reg1_2__NEONi32splatNot1_3__Tie0_3_3__CondCode2_0,
    1885             :   Convert__Reg1_2__NEONi16splat1_3__Tie0_1_1__CondCode2_0,
    1886             :   Convert__Reg1_2__NEONi32splat1_3__Tie0_1_1__CondCode2_0,
    1887             :   Convert__Reg1_1__Tie0_1_1__Reg1_2__Reg1_3__CondCode2_0,
    1888             :   Convert__Reg1_2__Tie0_3_3__Reg1_3__Reg1_4__CondCode2_0,
    1889             :   Convert__Reg1_1__Reg1_2__Reg1_3__ComplexRotationOdd1_4,
    1890             :   Convert__Reg1_2__Reg1_2__CondCode2_0,
    1891             :   Convert__Reg1_1__Tie0_1_1__Reg1_2__Reg1_3__ComplexRotationEven1_4,
    1892             :   Convert__Reg1_1__Tie0_1_1__Reg1_2__Reg1_3__VectorIndex641_4__ComplexRotationEven1_5,
    1893             :   Convert__Reg1_1__Tie0_1_1__Reg1_2__Reg1_3__VectorIndex321_4__ComplexRotationEven1_5,
    1894             :   Convert__Reg1_2__CondCode2_0,
    1895             :   Convert__Reg1_3__Reg1_4__CondCode2_0,
    1896             :   Convert__Reg1_3__Tie0_4_5__FBits161_5__CondCode2_0,
    1897             :   Convert__Reg1_3__Reg1_4__Imm1_5__CondCode2_0,
    1898             :   Convert__Reg1_3__Tie0_4_5__FBits321_5__CondCode2_0,
    1899             :   Convert__Reg1_2__Reg1_3,
    1900             :   Convert__Reg1_2__Reg1_3__VectorIndex161_4__CondCode2_0,
    1901             :   Convert__Reg1_2__Reg1_3__VectorIndex321_4__CondCode2_0,
    1902             :   Convert__Reg1_2__Reg1_3__VectorIndex81_4__CondCode2_0,
    1903             :   Convert__Reg1_2__Reg1_2__Reg1_3__Imm0_151_4__CondCode2_0,
    1904             :   Convert__Reg1_2__Reg1_2__Reg1_3__Imm0_31_4__CondCode2_0,
    1905             :   Convert__Reg1_2__Reg1_2__Reg1_3__Imm0_11_4__CondCode2_0,
    1906             :   Convert__Reg1_2__Reg1_2__Reg1_3__Imm0_71_4__CondCode2_0,
    1907             :   Convert__Reg1_2__Reg1_3__Reg1_4__Imm0_151_5__CondCode2_0,
    1908             :   Convert__Reg1_2__Reg1_3__Reg1_4__Imm0_31_5__CondCode2_0,
    1909             :   Convert__Reg1_2__Reg1_3__Reg1_4__Imm0_11_5__CondCode2_0,
    1910             :   Convert__Reg1_2__Reg1_3__Reg1_4__Imm0_71_5__CondCode2_0,
    1911             :   Convert__VecListDPairAllLanes1_2__DupAlignedMemory162_3__CondCode2_0,
    1912             :   Convert__VecListDPair1_2__AlignedMemory64or1282_3__CondCode2_0,
    1913             :   Convert__VecListFourD1_2__AlignedMemory64or128or2562_3__CondCode2_0,
    1914             :   Convert__VecListOneDAllLanes1_2__DupAlignedMemory162_3__CondCode2_0,
    1915             :   Convert__VecListOneD1_2__AlignedMemory642_3__CondCode2_0,
    1916             :   Convert__VecListOneDHWordIndexed2_2__AlignedMemory162_3__CondCode2_0,
    1917             :   Convert__VecListThreeD1_2__AlignedMemory642_3__CondCode2_0,
    1918             :   Convert__VecListDPairAllLanes1_2__DupAlignedMemory322_3__CondCode2_0,
    1919             :   Convert__VecListOneDAllLanes1_2__DupAlignedMemory322_3__CondCode2_0,
    1920             :   Convert__VecListOneDWordIndexed2_2__AlignedMemory322_3__CondCode2_0,
    1921             :   Convert__VecListDPairAllLanes1_2__DupAlignedMemoryNone2_3__CondCode2_0,
    1922             :   Convert__VecListOneDAllLanes1_2__DupAlignedMemoryNone2_3__CondCode2_0,
    1923             :   Convert__VecListOneDByteIndexed2_2__AlignedMemoryNone2_3__CondCode2_0,
    1924             :   Convert__VecListDPairAllLanes1_2__imm_95_0__DupAlignedMemory162_3__CondCode2_0,
    1925             :   Convert__VecListDPairAllLanes1_2__imm_95_0__DupAlignedMemory162_3__Reg1_4__CondCode2_0,
    1926             :   Convert__VecListDPair1_2__imm_95_0__AlignedMemory64or1282_3__CondCode2_0,
    1927             :   Convert__VecListDPair1_2__imm_95_0__AlignedMemory64or1282_3__Reg1_4__CondCode2_0,
    1928             :   Convert__VecListFourD1_2__imm_95_0__AlignedMemory64or128or2562_3__CondCode2_0,
    1929             :   Convert__VecListFourD1_2__imm_95_0__AlignedMemory64or128or2562_3__Reg1_4__CondCode2_0,
    1930             :   Convert__VecListOneDAllLanes1_2__imm_95_0__DupAlignedMemory162_3__CondCode2_0,
    1931             :   Convert__VecListOneDAllLanes1_2__imm_95_0__DupAlignedMemory162_3__Reg1_4__CondCode2_0,
    1932             :   Convert__VecListOneD1_2__imm_95_0__AlignedMemory642_3__CondCode2_0,
    1933             :   Convert__VecListOneD1_2__imm_95_0__AlignedMemory642_3__Reg1_4__CondCode2_0,
    1934             :   Convert__VecListOneDHWordIndexed2_2__AlignedMemory162_3__Reg1_4__CondCode2_0,
    1935             :   Convert__VecListThreeD1_2__imm_95_0__AlignedMemory642_3__CondCode2_0,
    1936             :   Convert__VecListThreeD1_2__imm_95_0__AlignedMemory642_3__Reg1_4__CondCode2_0,
    1937             :   Convert__VecListDPairAllLanes1_2__imm_95_0__DupAlignedMemory322_3__CondCode2_0,
    1938             :   Convert__VecListDPairAllLanes1_2__imm_95_0__DupAlignedMemory322_3__Reg1_4__CondCode2_0,
    1939             :   Convert__VecListOneDAllLanes1_2__imm_95_0__DupAlignedMemory322_3__CondCode2_0,
    1940             :   Convert__VecListOneDAllLanes1_2__imm_95_0__DupAlignedMemory322_3__Reg1_4__CondCode2_0,
    1941             :   Convert__VecListOneDWordIndexed2_2__AlignedMemory322_3__Reg1_4__CondCode2_0,
    1942             :   Convert__VecListDPairAllLanes1_2__imm_95_0__DupAlignedMemoryNone2_3__CondCode2_0,
    1943             :   Convert__VecListDPairAllLanes1_2__imm_95_0__DupAlignedMemoryNone2_3__Reg1_4__CondCode2_0,
    1944             :   Convert__VecListOneDAllLanes1_2__imm_95_0__DupAlignedMemoryNone2_3__CondCode2_0,
    1945             :   Convert__VecListOneDAllLanes1_2__imm_95_0__DupAlignedMemoryNone2_3__Reg1_4__CondCode2_0,
    1946             :   Convert__VecListOneDByteIndexed2_2__AlignedMemoryNone2_3__Reg1_4__CondCode2_0,
    1947             :   Convert__Reg1_3__AlignedMemory2_8__Tie0_1_1__Imm1_5__CondCode2_0,
    1948             :   Convert__Reg1_3__imm_95_0__AlignedMemory2_8__Imm1_9__Tie0_1_1__Imm1_5__CondCode2_0,
    1949             :   Convert__Reg1_3__Reg1_8__Imm1_9__Tie0_1_1__Imm1_5__CondCode2_0,
    1950             :   Convert__VecListDPairSpacedAllLanes1_2__DupAlignedMemory322_3__CondCode2_0,
    1951             :   Convert__VecListDPairSpaced1_2__AlignedMemory64or1282_3__CondCode2_0,
    1952             :   Convert__VecListTwoDHWordIndexed2_2__AlignedMemory322_3__CondCode2_0,
    1953             :   Convert__VecListTwoQHWordIndexed2_2__AlignedMemory322_3__CondCode2_0,
    1954             :   Convert__VecListDPairAllLanes1_2__DupAlignedMemory642_3__CondCode2_0,
    1955             :   Convert__VecListDPairSpacedAllLanes1_2__DupAlignedMemory642_3__CondCode2_0,
    1956             :   Convert__VecListTwoDWordIndexed2_2__AlignedMemory642_3__CondCode2_0,
    1957             :   Convert__VecListTwoQWordIndexed2_2__AlignedMemory642_3__CondCode2_0,
    1958             :   Convert__VecListDPairSpacedAllLanes1_2__DupAlignedMemory162_3__CondCode2_0,
    1959             :   Convert__VecListTwoDByteIndexed2_2__AlignedMemory162_3__CondCode2_0,
    1960             :   Convert__VecListDPairSpacedAllLanes1_2__imm_95_0__DupAlignedMemory322_3__CondCode2_0,
    1961             :   Convert__VecListDPairSpacedAllLanes1_2__imm_95_0__DupAlignedMemory322_3__Reg1_4__CondCode2_0,
    1962             :   Convert__VecListDPairSpaced1_2__imm_95_0__AlignedMemory64or1282_3__CondCode2_0,
    1963             :   Convert__VecListDPairSpaced1_2__imm_95_0__AlignedMemory64or1282_3__Reg1_4__CondCode2_0,
    1964             :   Convert__VecListTwoDHWordIndexed2_2__AlignedMemory322_3__Reg1_4__CondCode2_0,
    1965             :   Convert__VecListTwoQHWordIndexed2_2__AlignedMemory322_3__Reg1_4__CondCode2_0,
    1966             :   Convert__VecListDPairAllLanes1_2__imm_95_0__DupAlignedMemory642_3__CondCode2_0,
    1967             :   Convert__VecListDPairAllLanes1_2__imm_95_0__DupAlignedMemory642_3__Reg1_4__CondCode2_0,
    1968             :   Convert__VecListDPairSpacedAllLanes1_2__imm_95_0__DupAlignedMemory642_3__CondCode2_0,
    1969             :   Convert__VecListDPairSpacedAllLanes1_2__imm_95_0__DupAlignedMemory642_3__Reg1_4__CondCode2_0,
    1970             :   Convert__VecListTwoDWordIndexed2_2__AlignedMemory642_3__Reg1_4__CondCode2_0,
    1971             :   Convert__VecListTwoQWordIndexed2_2__AlignedMemory642_3__Reg1_4__CondCode2_0,
    1972             :   Convert__VecListDPairSpacedAllLanes1_2__imm_95_0__DupAlignedMemory162_3__CondCode2_0,
    1973             :   Convert__VecListDPairSpacedAllLanes1_2__imm_95_0__DupAlignedMemory162_3__Reg1_4__CondCode2_0,
    1974             :   Convert__VecListTwoDByteIndexed2_2__AlignedMemory162_3__Reg1_4__CondCode2_0,
    1975             :   Convert__VecListThreeDAllLanes1_2__DupAlignedMemoryNone2_3__CondCode2_0,
    1976             :   Convert__VecListThreeDHWordIndexed2_2__AlignedMemoryNone2_3__CondCode2_0,
    1977             :   Convert__VecListThreeQAllLanes1_2__DupAlignedMemoryNone2_3__CondCode2_0,
    1978             :   Convert__VecListThreeQ1_2__AlignedMemory642_3__CondCode2_0,
    1979             :   Convert__VecListThreeQHWordIndexed2_2__AlignedMemoryNone2_3__CondCode2_0,
    1980             :   Convert__VecListThreeDWordIndexed2_2__AlignedMemoryNone2_3__CondCode2_0,
    1981             :   Convert__VecListThreeQWordIndexed2_2__AlignedMemoryNone2_3__CondCode2_0,
    1982             :   Convert__VecListThreeDByteIndexed2_2__AlignedMemoryNone2_3__CondCode2_0,
    1983             :   Convert__VecListThreeDAllLanes1_2__DupAlignedMemoryNone2_3__Reg1_4__CondCode2_0,
    1984             :   Convert__VecListThreeD1_2__AlignedMemory642_3__Reg1_4__CondCode2_0,
    1985             :   Convert__VecListThreeDHWordIndexed2_2__AlignedMemoryNone2_3__Reg1_4__CondCode2_0,
    1986             :   Convert__VecListThreeQAllLanes1_2__DupAlignedMemoryNone2_3__Reg1_4__CondCode2_0,
    1987             :   Convert__VecListThreeQ1_2__AlignedMemory642_3__Reg1_4__CondCode2_0,
    1988             :   Convert__VecListThreeQHWordIndexed2_2__AlignedMemoryNone2_3__Reg1_4__CondCode2_0,
    1989             :   Convert__VecListThreeDWordIndexed2_2__AlignedMemoryNone2_3__Reg1_4__CondCode2_0,
    1990             :   Convert__VecListThreeQWordIndexed2_2__AlignedMemoryNone2_3__Reg1_4__CondCode2_0,
    1991             :   Convert__VecListThreeDByteIndexed2_2__AlignedMemoryNone2_3__Reg1_4__CondCode2_0,
    1992             :   Convert__Reg1_3__Reg1_4__Reg1_5__AlignedMemory2_7__CondCode2_0,
    1993             :   Convert__Reg1_3__Reg1_4__Reg1_5__imm_95_0__AlignedMemory2_7__Imm1_8__CondCode2_0,
    1994             :   Convert__Reg1_3__Reg1_6__Reg1_9__AlignedMemory2_13__CondCode2_0,
    1995             :   Convert__Reg1_3__Reg1_6__Reg1_9__imm_95_0__DupAlignedMemory642_13__Imm1_14__CondCode2_0,
    1996             :   Convert__VecListFourDAllLanes1_2__DupAlignedMemory642_3__CondCode2_0,
    1997             :   Convert__VecListFourDHWordIndexed2_2__AlignedMemory642_3__CondCode2_0,
    1998             :   Convert__VecListFourQAllLanes1_2__DupAlignedMemory642_3__CondCode2_0,
    1999             :   Convert__VecListFourQ1_2__AlignedMemory64or128or2562_3__CondCode2_0,
    2000             :   Convert__VecListFourQHWordIndexed2_2__AlignedMemory642_3__CondCode2_0,
    2001             :   Convert__VecListFourDAllLanes1_2__DupAlignedMemory64or1282_3__CondCode2_0,
    2002             :   Convert__VecListFourDWordIndexed2_2__AlignedMemory64or1282_3__CondCode2_0,
    2003             :   Convert__VecListFourQAllLanes1_2__DupAlignedMemory64or1282_3__CondCode2_0,
    2004             :   Convert__VecListFourQWordIndexed2_2__AlignedMemory64or1282_3__CondCode2_0,
    2005             :   Convert__VecListFourDAllLanes1_2__DupAlignedMemory322_3__CondCode2_0,
    2006             :   Convert__VecListFourDByteIndexed2_2__AlignedMemory322_3__CondCode2_0,
    2007             :   Convert__VecListFourQAllLanes1_2__DupAlignedMemory322_3__CondCode2_0,
    2008             :   Convert__VecListFourDAllLanes1_2__DupAlignedMemory642_3__Reg1_4__CondCode2_0,
    2009             :   Convert__VecListFourD1_2__AlignedMemory64or128or2562_3__Reg1_4__CondCode2_0,
    2010             :   Convert__VecListFourDHWordIndexed2_2__AlignedMemory642_3__Reg1_4__CondCode2_0,
    2011             :   Convert__VecListFourQAllLanes1_2__DupAlignedMemory642_3__Reg1_4__CondCode2_0,
    2012             :   Convert__VecListFourQ1_2__AlignedMemory64or128or2562_3__Reg1_4__CondCode2_0,
    2013             :   Convert__VecListFourQHWordIndexed2_2__AlignedMemory642_3__Reg1_4__CondCode2_0,
    2014             :   Convert__VecListFourDAllLanes1_2__DupAlignedMemory64or1282_3__Reg1_4__CondCode2_0,
    2015             :   Convert__VecListFourDWordIndexed2_2__AlignedMemory64or1282_3__Reg1_4__CondCode2_0,
    2016             :   Convert__VecListFourQAllLanes1_2__DupAlignedMemory64or1282_3__Reg1_4__CondCode2_0,
    2017             :   Convert__VecListFourQWordIndexed2_2__AlignedMemory64or1282_3__Reg1_4__CondCode2_0,
    2018             :   Convert__VecListFourDAllLanes1_2__DupAlignedMemory322_3__Reg1_4__CondCode2_0,
    2019             :   Convert__VecListFourDByteIndexed2_2__AlignedMemory322_3__Reg1_4__CondCode2_0,
    2020             :   Convert__VecListFourQAllLanes1_2__DupAlignedMemory322_3__Reg1_4__CondCode2_0,
    2021             :   Convert__Reg1_3__Reg1_4__Reg1_5__Reg1_6__AlignedMemory2_8__CondCode2_0,
    2022             :   Convert__Reg1_3__Reg1_4__Reg1_5__Reg1_6__imm_95_0__AlignedMemory2_8__Imm1_9__CondCode2_0,
    2023             :   Convert__Reg1_3__Reg1_6__Reg1_9__Reg1_12__AlignedMemory2_16__CondCode2_0,
    2024             :   Convert__Reg1_3__Reg1_6__Reg1_9__Reg1_12__imm_95_0__AlignedMemory2_16__Imm1_17__CondCode2_0,
    2025             :   Convert__Reg1_1__Tie0_2_2__CondCode2_0__SPRRegList1_3,
    2026             :   Convert__Reg1_1__CondCode2_0__SPRRegList1_2,
    2027             :   Convert__Reg1_1__AddrMode52_2__CondCode2_0,
    2028             :   Convert__Reg1_2__AddrMode5FP162_3__CondCode2_0,
    2029             :   Convert__Reg1_2__AddrMode52_3__CondCode2_0,
    2030             :   Convert__Reg1_1__Reg1_2__Reg1_3,
    2031             :   Convert__Reg1_2__Tie0_1_1__Reg1_3__Reg1_4__VectorIndex321_5__CondCode2_0,
    2032             :   Convert__Reg1_2__Tie0_1_1__Reg1_3__Reg1_4__VectorIndex161_5__CondCode2_0,
    2033             :   Convert__Reg1_1__Reg1_2__Reg1_2__CondCode2_0,
    2034             :   Convert__Reg1_2__FPImm1_3__CondCode2_0,
    2035             :   Convert__Reg1_2__NEONi32vmov1_3__CondCode2_0,
    2036             :   Convert__Reg1_2__NEONi16vmovi8Replicate1_3__CondCode2_0,
    2037             :   Convert__Reg1_2__NEONi16splat1_3__CondCode2_0,
    2038             :   Convert__Reg1_2__NEONi32vmovi8Replicate1_3__CondCode2_0,
    2039             :   Convert__Reg1_2__NEONi32vmovi16Replicate1_3__CondCode2_0,
    2040             :   Convert__Reg1_2__NEONi32vmovNeg1_3__CondCode2_0,
    2041             :   Convert__Reg1_2__NEONi64vmovi8Replicate1_3__CondCode2_0,
    2042             :   Convert__Reg1_2__NEONi64vmovi16Replicate1_3__CondCode2_0,
    2043             :   Convert__Reg1_2__NEONi64vmovi32Replicate1_3__CondCode2_0,
    2044             :   Convert__Reg1_2__NEONi64splat1_3__CondCode2_0,
    2045             :   Convert__Reg1_2__NEONi8splat1_3__CondCode2_0,
    2046             :   Convert__Reg1_2__Reg1_3__Reg1_3__CondCode2_0,
    2047             :   Convert__Reg1_2__Tie0_1_1__Reg1_4__VectorIndex161_3__CondCode2_0,
    2048             :   Convert__Reg1_2__Tie0_1_1__Reg1_4__VectorIndex321_3__CondCode2_0,
    2049             :   Convert__Reg1_2__Tie0_1_1__Reg1_4__VectorIndex81_3__CondCode2_0,
    2050             :   Convert__Reg1_2__Reg1_2__Reg1_3__VectorIndex321_4__CondCode2_0,
    2051             :   Convert__Reg1_2__Reg1_2__Reg1_3__VectorIndex161_4__CondCode2_0,
    2052             :   Convert__Reg1_2__Reg1_3__Reg1_4__VectorIndex321_5__CondCode2_0,
    2053             :   Convert__Reg1_2__Reg1_3__Reg1_4__VectorIndex161_5__CondCode2_0,
    2054             :   Convert__Reg1_2__NEONi16invi8Replicate1_3__CondCode2_0,
    2055             :   Convert__Reg1_2__NEONi32invi8Replicate1_3__CondCode2_0,
    2056             :   Convert__Reg1_2__NEONi64invi8Replicate1_3__CondCode2_0,
    2057             :   Convert__Reg1_2__Tie0_1_1__Reg1_3__CondCode2_0,
    2058             :   Convert__regSP__Tie0_1_1__CondCode2_0__DPRRegList1_1,
    2059             :   Convert__regSP__Tie0_1_1__CondCode2_0__SPRRegList1_1,
    2060             :   Convert__regSP__Tie0_1_1__CondCode2_0__DPRRegList1_2,
    2061             :   Convert__regSP__Tie0_1_1__CondCode2_0__SPRRegList1_2,
    2062             :   Convert__Reg1_2__Reg1_3__ShrImm81_4__CondCode2_0,
    2063             :   Convert__Reg1_2__Reg1_3__ShrImm161_4__CondCode2_0,
    2064             :   Convert__Reg1_2__Reg1_3__ShrImm321_4__CondCode2_0,
    2065             :   Convert__Reg1_2__Reg1_2__Imm1_3__CondCode2_0,
    2066             :   Convert__Reg1_2__Reg1_3__Imm1_4__CondCode2_0,
    2067             :   Convert__Reg1_2__Reg1_2__ShrImm161_3__CondCode2_0,
    2068             :   Convert__Reg1_2__Reg1_2__ShrImm321_3__CondCode2_0,
    2069             :   Convert__Reg1_2__Reg1_2__ShrImm641_3__CondCode2_0,
    2070             :   Convert__Reg1_2__Reg1_2__ShrImm81_3__CondCode2_0,
    2071             :   Convert__Reg1_2__Reg1_3__ShrImm641_4__CondCode2_0,
    2072             :   Convert__Reg1_2__Tie0_1_1__Reg1_2__ShrImm161_3__CondCode2_0,
    2073             :   Convert__Reg1_2__Tie0_1_1__Reg1_2__ShrImm321_3__CondCode2_0,
    2074             :   Convert__Reg1_2__Tie0_1_1__Reg1_2__ShrImm641_3__CondCode2_0,
    2075             :   Convert__Reg1_2__Tie0_1_1__Reg1_2__ShrImm81_3__CondCode2_0,
    2076             :   Convert__Reg1_2__Tie0_1_1__Reg1_3__ShrImm161_4__CondCode2_0,
    2077             :   Convert__Reg1_2__Tie0_1_1__Reg1_3__ShrImm321_4__CondCode2_0,
    2078             :   Convert__Reg1_2__Tie0_1_1__Reg1_3__ShrImm641_4__CondCode2_0,
    2079             :   Convert__Reg1_2__Tie0_1_1__Reg1_3__ShrImm81_4__CondCode2_0,
    2080             :   Convert__Reg1_1__Tie0_2_2__Reg1_2__Reg1_3,
    2081             :   Convert__Reg1_1__Tie0_2_2__Reg1_2__Reg1_3__VectorIndex321_4,
    2082             :   Convert__Reg1_2__Reg1_3__Imm1_151_4__CondCode2_0,
    2083             :   Convert__Reg1_2__Reg1_3__Imm1_311_4__CondCode2_0,
    2084             :   Convert__Reg1_2__Reg1_3__Imm1_71_4__CondCode2_0,
    2085             :   Convert__Reg1_2__Reg1_3__Imm161_4__CondCode2_0,
    2086             :   Convert__Reg1_2__Reg1_3__Imm321_4__CondCode2_0,
    2087             :   Convert__Reg1_2__Reg1_3__Imm81_4__CondCode2_0,
    2088             :   Convert__Reg1_2__Tie0_1_1__Reg1_2__Imm1_3__CondCode2_0,
    2089             :   Convert__Reg1_2__Tie0_1_1__Reg1_3__Imm1_4__CondCode2_0,
    2090             :   Convert__AlignedMemory64or1282_3__VecListDPair1_2__CondCode2_0,
    2091             :   Convert__AlignedMemory64or128or2562_3__VecListFourD1_2__CondCode2_0,
    2092             :   Convert__AlignedMemory642_3__VecListOneD1_2__CondCode2_0,
    2093             :   Convert__AlignedMemory642_3__VecListThreeD1_2__CondCode2_0,
    2094             :   Convert__imm_95_0__AlignedMemory64or1282_3__VecListDPair1_2__CondCode2_0,
    2095             :   Convert__imm_95_0__AlignedMemory64or1282_3__Reg1_4__VecListDPair1_2__CondCode2_0,
    2096             :   Convert__imm_95_0__AlignedMemory64or128or2562_3__VecListFourD1_2__CondCode2_0,
    2097             :   Convert__imm_95_0__AlignedMemory64or128or2562_3__Reg1_4__VecListFourD1_2__CondCode2_0,
    2098             :   Convert__imm_95_0__AlignedMemory642_3__VecListOneD1_2__CondCode2_0,
    2099             :   Convert__imm_95_0__AlignedMemory642_3__Reg1_4__VecListOneD1_2__CondCode2_0,
    2100             :   Convert__imm_95_0__AlignedMemory642_3__VecListThreeD1_2__CondCode2_0,
    2101             :   Convert__imm_95_0__AlignedMemory642_3__Reg1_4__VecListThreeD1_2__CondCode2_0,
    2102             :   Convert__AlignedMemory2_8__Reg1_3__Imm1_5__CondCode2_0,
    2103             :   Convert__imm_95_0__AlignedMemory2_8__Imm1_9__Reg1_3__Imm1_5__CondCode2_0,
    2104             :   Convert__Reg1_8__Imm1_9__Reg1_3__Imm1_5__CondCode2_0,
    2105             :   Convert__imm_95_0__Reg1_8__Imm1_9__Imm1_10__Reg1_3__Imm1_5__CondCode2_0,
    2106             :   Convert__AlignedMemory64or1282_3__VecListDPairSpaced1_2__CondCode2_0,
    2107             :   Convert__imm_95_0__AlignedMemory64or1282_3__VecListDPairSpaced1_2__CondCode2_0,
    2108             :   Convert__imm_95_0__AlignedMemory64or1282_3__Reg1_4__VecListDPairSpaced1_2__CondCode2_0,
    2109             :   Convert__AlignedMemory2_7__Reg1_3__Reg1_4__Reg1_5__CondCode2_0,
    2110             :   Convert__imm_95_0__AlignedMemory2_7__Imm1_8__Reg1_3__Reg1_4__Reg1_5__CondCode2_0,
    2111             :   Convert__AlignedMemory2_8__Reg1_3__Reg1_4__Reg1_5__Reg1_6__CondCode2_0,
    2112             :   Convert__imm_95_0__AlignedMemory2_8__Imm1_9__Reg1_3__Reg1_4__Reg1_5__Reg1_6__CondCode2_0,
    2113             :   Convert__Reg1_1__Reg1_2__Tie0_1_1__Tie1_1_1__CondCode2_0,
    2114             :   Convert__Reg1_2__Reg1_3__Tie0_3_3__Tie1_4_4__CondCode2_0,
    2115             :   Convert__Reg1_2__VecListDPair1_3__Reg1_4__CondCode2_0,
    2116             :   Convert__Reg1_2__VecListFourD1_3__Reg1_4__CondCode2_0,
    2117             :   Convert__Reg1_2__VecListOneD1_3__Reg1_4__CondCode2_0,
    2118             :   Convert__Reg1_2__VecListThreeD1_3__Reg1_4__CondCode2_0,
    2119             :   Convert__Reg1_2__Tie0_1_1__VecListDPair1_3__Reg1_4__CondCode2_0,
    2120             :   Convert__Reg1_2__Tie0_1_1__VecListFourD1_3__Reg1_4__CondCode2_0,
    2121             :   Convert__Reg1_2__Tie0_1_1__VecListOneD1_3__Reg1_4__CondCode2_0,
    2122             :   Convert__Reg1_2__Tie0_1_1__VecListThreeD1_3__Reg1_4__CondCode2_0,
    2123             :   Convert__Reg1_2__Reg1_3__Tie0_1_1__Tie1_1_1__CondCode2_0,
    2124             :   Convert__imm_95_2__CondCode2_0,
    2125             :   Convert__imm_95_3__CondCode2_0,
    2126             :   Convert__imm_95_1__CondCode2_0,
    2127             :   CVT_NUM_SIGNATURES
    2128             : };
    2129             : 
    2130             : } // end anonymous namespace
    2131             : 
    2132             : static const uint8_t ConversionTable[CVT_NUM_SIGNATURES][17] = {
    2133             :   // Convert_NoOperands
    2134             :   { CVT_Done },
    2135             :   // Convert__Reg1_2__CCOut1_0__Tie0_1_1__Reg1_3__CondCode2_1
    2136             :   { CVT_95_Reg, 3, CVT_95_addCCOutOperands, 1, CVT_Tied, Tie0_1_1, CVT_95_Reg, 4, CVT_95_addCondCodeOperands, 2, CVT_Done },
    2137             :   // Convert__Reg1_2__Reg1_2__RegShiftedReg3_3__CondCode2_1__CCOut1_0
    2138             :   { CVT_95_Reg, 3, CVT_95_Reg, 3, CVT_95_addRegShiftedRegOperands, 4, CVT_95_addCondCodeOperands, 2, CVT_95_addCCOutOperands, 1, CVT_Done },
    2139             :   // Convert__Reg1_2__Reg1_2__Reg1_3__CondCode2_1__CCOut1_0
    2140             :   { CVT_95_Reg, 3, CVT_95_Reg, 3, CVT_95_Reg, 4, CVT_95_addCondCodeOperands, 2, CVT_95_addCCOutOperands, 1, CVT_Done },
    2141             :   // Convert__Reg1_2__Reg1_2__ModImm1_3__CondCode2_1__CCOut1_0
    2142             :   { CVT_95_Reg, 3, CVT_95_Reg, 3, CVT_95_addModImmOperands, 4, CVT_95_addCondCodeOperands, 2, CVT_95_addCCOutOperands, 1, CVT_Done },
    2143             :   // Convert__Reg1_2__Reg1_2__ModImmNot1_3__CondCode2_1__CCOut1_0
    2144             :   { CVT_95_Reg, 3, CVT_95_Reg, 3, CVT_95_addModImmNotOperands, 4, CVT_95_addCondCodeOperands, 2, CVT_95_addCCOutOperands, 1, CVT_Done },
    2145             :   // Convert__Reg1_2__Reg1_2__RegShiftedImm2_3__CondCode2_1__CCOut1_0
    2146             :   { CVT_95_Reg, 3, CVT_95_Reg, 3, CVT_95_addRegShiftedImmOperands, 4, CVT_95_addCondCodeOperands, 2, CVT_95_addCCOutOperands, 1, CVT_Done },
    2147             :   // Convert__Reg1_2__Reg1_3__Reg1_4__CondCode2_1__CCOut1_0
    2148             :   { CVT_95_Reg, 3, CVT_95_Reg, 4, CVT_95_Reg, 5, CVT_95_addCondCodeOperands, 2, CVT_95_addCCOutOperands, 1, CVT_Done },
    2149             :   // Convert__Reg1_2__Reg1_3__RegShiftedImm2_4__CondCode2_1__CCOut1_0
    2150             :   { CVT_95_Reg, 3, CVT_95_Reg, 4, CVT_95_addRegShiftedImmOperands, 5, CVT_95_addCondCodeOperands, 2, CVT_95_addCCOutOperands, 1, CVT_Done },
    2151             :   // Convert__Reg1_2__Reg1_3__T2SOImm1_4__CondCode2_1__CCOut1_0
    2152             :   { CVT_95_Reg, 3, CVT_95_Reg, 4, CVT_95_addImmOperands, 5, CVT_95_addCondCodeOperands, 2, CVT_95_addCCOutOperands, 1, CVT_Done },
    2153             :   // Convert__Reg1_2__Reg1_3__T2SOImmNot1_4__CondCode2_1__CCOut1_0
    2154             :   { CVT_95_Reg, 3, CVT_95_Reg, 4, CVT_95_addT2SOImmNotOperands, 5, CVT_95_addCondCodeOperands, 2, CVT_95_addCCOutOperands, 1, CVT_Done },
    2155             :   // Convert__Reg1_2__Reg1_3__RegShiftedReg3_4__CondCode2_1__CCOut1_0
    2156             :   { CVT_95_Reg, 3, CVT_95_Reg, 4, CVT_95_addRegShiftedRegOperands, 5, CVT_95_addCondCodeOperands, 2, CVT_95_addCCOutOperands, 1, CVT_Done },
    2157             :   // Convert__Reg1_2__Reg1_3__ModImm1_4__CondCode2_1__CCOut1_0
    2158             :   { CVT_95_Reg, 3, CVT_95_Reg, 4, CVT_95_addModImmOperands, 5, CVT_95_addCondCodeOperands, 2, CVT_95_addCCOutOperands, 1, CVT_Done },
    2159             :   // Convert__Reg1_2__Reg1_3__ModImmNot1_4__CondCode2_1__CCOut1_0
    2160             :   { CVT_95_Reg, 3, CVT_95_Reg, 4, CVT_95_addModImmNotOperands, 5, CVT_95_addCondCodeOperands, 2, CVT_95_addCCOutOperands, 1, CVT_Done },
    2161             :   // Convert__Reg1_3__Reg1_4__Reg1_5__CondCode2_1__CCOut1_0
    2162             :   { CVT_95_Reg, 4, CVT_95_Reg, 5, CVT_95_Reg, 6, CVT_95_addCondCodeOperands, 2, CVT_95_addCCOutOperands, 1, CVT_Done },
    2163             :   // Convert__Reg1_3__Reg1_4__RegShiftedImm2_5__CondCode2_1__CCOut1_0
    2164             :   { CVT_95_Reg, 4, CVT_95_Reg, 5, CVT_95_addRegShiftedImmOperands, 6, CVT_95_addCondCodeOperands, 2, CVT_95_addCCOutOperands, 1, CVT_Done },
    2165             :   // Convert__Reg1_1__Tie0_1_1__Reg1_2__CondCode2_0
    2166             :   { CVT_95_Reg, 2, CVT_Tied, Tie0_1_1, CVT_95_Reg, 3, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2167             :   // Convert__Reg1_1__Tie0_1_1__Imm0_508s41_2__CondCode2_0
    2168             :   { CVT_95_Reg, 2, CVT_Tied, Tie0_1_1, CVT_95_addImm0_95_508s4Operands, 3, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2169             :   // Convert__regSP__Tie0_1_1__Imm0_508s4Neg1_2__CondCode2_0
    2170             :   { CVT_regSP, 0, CVT_Tied, Tie0_1_1, CVT_95_addImm0_95_508s4NegOperands, 3, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2171             :   // Convert__Reg1_1__Reg1_1__Imm0_40951_2__CondCode2_0
    2172             :   { CVT_95_Reg, 2, CVT_95_Reg, 2, CVT_95_addImmOperands, 3, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2173             :   // Convert__Reg1_1__Reg1_1__Imm0_4095Neg1_2__CondCode2_0
    2174             :   { CVT_95_Reg, 2, CVT_95_Reg, 2, CVT_95_addImm0_95_4095NegOperands, 3, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2175             :   // Convert__Reg1_2__CCOut1_0__Reg1_2__Reg1_3__CondCode2_1
    2176             :   { CVT_95_Reg, 3, CVT_95_addCCOutOperands, 1, CVT_95_Reg, 3, CVT_95_Reg, 4, CVT_95_addCondCodeOperands, 2, CVT_Done },
    2177             :   // Convert__Reg1_2__CCOut1_0__Tie0_1_1__Imm0_2551_3__CondCode2_1
    2178             :   { CVT_95_Reg, 3, CVT_95_addCCOutOperands, 1, CVT_Tied, Tie0_1_1, CVT_95_addImmOperands, 4, CVT_95_addCondCodeOperands, 2, CVT_Done },
    2179             :   // Convert__Reg1_2__CCOut1_0__Tie0_3_3__ThumbModImmNeg8_2551_3__CondCode2_1
    2180             :   { CVT_95_Reg, 3, CVT_95_addCCOutOperands, 1, CVT_Tied, Tie0_3_3, CVT_95_addThumbModImmNeg8_95_255Operands, 4, CVT_95_addCondCodeOperands, 2, CVT_Done },
    2181             :   // Convert__Reg1_2__Reg1_2__T2SOImm1_3__CondCode2_1__CCOut1_0
    2182             :   { CVT_95_Reg, 3, CVT_95_Reg, 3, CVT_95_addImmOperands, 4, CVT_95_addCondCodeOperands, 2, CVT_95_addCCOutOperands, 1, CVT_Done },
    2183             :   // Convert__Reg1_2__Reg1_2__T2SOImmNeg1_3__CondCode2_1__CCOut1_0
    2184             :   { CVT_95_Reg, 3, CVT_95_Reg, 3, CVT_95_addT2SOImmNegOperands, 4, CVT_95_addCondCodeOperands, 2, CVT_95_addCCOutOperands, 1, CVT_Done },
    2185             :   // Convert__Reg1_2__Reg1_2__ModImmNeg1_3__CondCode2_1__CCOut1_0
    2186             :   { CVT_95_Reg, 3, CVT_95_Reg, 3, CVT_95_addModImmNegOperands, 4, CVT_95_addCondCodeOperands, 2, CVT_95_addCCOutOperands, 1, CVT_Done },
    2187             :   // Convert__regSP__Tie0_1_1__Imm0_508s41_3__CondCode2_0
    2188             :   { CVT_regSP, 0, CVT_Tied, Tie0_1_1, CVT_95_addImm0_95_508s4Operands, 4, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2189             :   // Convert__regSP__Tie0_1_1__Imm0_508s4Neg1_3__CondCode2_0
    2190             :   { CVT_regSP, 0, CVT_Tied, Tie0_1_1, CVT_95_addImm0_95_508s4NegOperands, 4, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2191             :   // Convert__Reg1_1__Reg1_2__Imm0_1020s41_3__CondCode2_0
    2192             :   { CVT_95_Reg, 2, CVT_95_Reg, 3, CVT_95_addImm0_95_1020s4Operands, 4, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2193             :   // Convert__Reg1_1__Imm0_40951_3__CondCode2_0
    2194             :   { CVT_95_Reg, 2, CVT_95_addImmOperands, 4, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2195             :   // Convert__Reg1_1__Reg1_2__Imm0_40951_3__CondCode2_0
    2196             :   { CVT_95_Reg, 2, CVT_95_Reg, 3, CVT_95_addImmOperands, 4, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2197             :   // Convert__Reg1_1__Reg1_2__Imm0_4095Neg1_3__CondCode2_0
    2198             :   { CVT_95_Reg, 2, CVT_95_Reg, 3, CVT_95_addImm0_95_4095NegOperands, 4, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2199             :   // Convert__Reg1_1__Reg1_2__Reg1_3__CondCode2_0
    2200             :   { CVT_95_Reg, 2, CVT_95_Reg, 3, CVT_95_Reg, 4, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2201             :   // Convert__Reg1_3__Reg1_3__T2SOImmNeg1_4__CondCode2_1__CCOut1_0
    2202             :   { CVT_95_Reg, 4, CVT_95_Reg, 4, CVT_95_addT2SOImmNegOperands, 5, CVT_95_addCondCodeOperands, 2, CVT_95_addCCOutOperands, 1, CVT_Done },
    2203             :   // Convert__Reg1_2__CCOut1_0__Reg1_3__Reg1_4__CondCode2_1
    2204             :   { CVT_95_Reg, 3, CVT_95_addCCOutOperands, 1, CVT_95_Reg, 4, CVT_95_Reg, 5, CVT_95_addCondCodeOperands, 2, CVT_Done },
    2205             :   // Convert__Reg1_2__CCOut1_0__Reg1_3__Imm0_71_4__CondCode2_1
    2206             :   { CVT_95_Reg, 3, CVT_95_addCCOutOperands, 1, CVT_95_Reg, 4, CVT_95_addImmOperands, 5, CVT_95_addCondCodeOperands, 2, CVT_Done },
    2207             :   // Convert__Reg1_2__CCOut1_0__Reg1_3__ThumbModImmNeg1_71_4__CondCode2_1
    2208             :   { CVT_95_Reg, 3, CVT_95_addCCOutOperands, 1, CVT_95_Reg, 4, CVT_95_addThumbModImmNeg1_95_7Operands, 5, CVT_95_addCondCodeOperands, 2, CVT_Done },
    2209             :   // Convert__Reg1_2__Reg1_3__T2SOImmNeg1_4__CondCode2_1__CCOut1_0
    2210             :   { CVT_95_Reg, 3, CVT_95_Reg, 4, CVT_95_addT2SOImmNegOperands, 5, CVT_95_addCondCodeOperands, 2, CVT_95_addCCOutOperands, 1, CVT_Done },
    2211             :   // Convert__Reg1_2__Reg1_3__ModImmNeg1_4__CondCode2_1__CCOut1_0
    2212             :   { CVT_95_Reg, 3, CVT_95_Reg, 4, CVT_95_addModImmNegOperands, 5, CVT_95_addCondCodeOperands, 2, CVT_95_addCCOutOperands, 1, CVT_Done },
    2213             :   // Convert__Reg1_3__Reg1_4__T2SOImm1_5__CondCode2_1__CCOut1_0
    2214             :   { CVT_95_Reg, 4, CVT_95_Reg, 5, CVT_95_addImmOperands, 6, CVT_95_addCondCodeOperands, 2, CVT_95_addCCOutOperands, 1, CVT_Done },
    2215             :   // Convert__Reg1_3__Reg1_4__T2SOImmNeg1_5__CondCode2_1__CCOut1_0
    2216             :   { CVT_95_Reg, 4, CVT_95_Reg, 5, CVT_95_addT2SOImmNegOperands, 6, CVT_95_addCondCodeOperands, 2, CVT_95_addCCOutOperands, 1, CVT_Done },
    2217             :   // Convert__Reg1_1__Reg1_2__T2SOImmNeg1_3__CondCode2_0
    2218             :   { CVT_95_Reg, 2, CVT_95_Reg, 3, CVT_95_addT2SOImmNegOperands, 4, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2219             :   // Convert__Reg1_1__UnsignedOffset_b8s21_2__CondCode2_0
    2220             :   { CVT_95_Reg, 2, CVT_95_addUnsignedOffset_95_b8s2Operands, 3, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2221             :   // Convert__Reg1_1__Imm1_2__CondCode2_0
    2222             :   { CVT_95_Reg, 2, CVT_95_addImmOperands, 3, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2223             :   // Convert__Reg1_1__AdrLabel1_2__CondCode2_0
    2224             :   { CVT_95_Reg, 2, CVT_95_addAdrLabelOperands, 3, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2225             :   // Convert__Reg1_2__Imm1_3__CondCode2_0
    2226             :   { CVT_95_Reg, 3, CVT_95_addImmOperands, 4, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2227             :   // Convert__Reg1_1__Tie0_1_1__Reg1_2
    2228             :   { CVT_95_Reg, 2, CVT_Tied, Tie0_1_1, CVT_95_Reg, 3, CVT_Done },
    2229             :   // Convert__Reg1_1__Reg1_2
    2230             :   { CVT_95_Reg, 2, CVT_95_Reg, 3, CVT_Done },
    2231             :   // Convert__Reg1_2__Reg1_2__T2SOImmNot1_3__CondCode2_1__CCOut1_0
    2232             :   { CVT_95_Reg, 3, CVT_95_Reg, 3, CVT_95_addT2SOImmNotOperands, 4, CVT_95_addCondCodeOperands, 2, CVT_95_addCCOutOperands, 1, CVT_Done },
    2233             :   // Convert__Reg1_3__Reg1_3__Reg1_4__CondCode2_1__CCOut1_0
    2234             :   { CVT_95_Reg, 4, CVT_95_Reg, 4, CVT_95_Reg, 5, CVT_95_addCondCodeOperands, 2, CVT_95_addCCOutOperands, 1, CVT_Done },
    2235             :   // Convert__Reg1_3__Reg1_3__RegShiftedImm2_4__CondCode2_1__CCOut1_0
    2236             :   { CVT_95_Reg, 4, CVT_95_Reg, 4, CVT_95_addRegShiftedImmOperands, 5, CVT_95_addCondCodeOperands, 2, CVT_95_addCCOutOperands, 1, CVT_Done },
    2237             :   // Convert__Reg1_3__Reg1_3__T2SOImm1_4__CondCode2_1__CCOut1_0
    2238             :   { CVT_95_Reg, 4, CVT_95_Reg, 4, CVT_95_addImmOperands, 5, CVT_95_addCondCodeOperands, 2, CVT_95_addCCOutOperands, 1, CVT_Done },
    2239             :   // Convert__Reg1_2__CCOut1_0__Reg1_2__ImmThumbSR1_3__CondCode2_1
    2240             :   { CVT_95_Reg, 3, CVT_95_addCCOutOperands, 1, CVT_95_Reg, 3, CVT_95_addImmOperands, 4, CVT_95_addCondCodeOperands, 2, CVT_Done },
    2241             :   // Convert__Reg1_2__Reg1_2__ImmThumbSR1_3__CondCode2_1__CCOut1_0
    2242             :   { CVT_95_Reg, 3, CVT_95_Reg, 3, CVT_95_addImmOperands, 4, CVT_95_addCondCodeOperands, 2, CVT_95_addCCOutOperands, 1, CVT_Done },
    2243             :   // Convert__Reg1_2__Reg1_2__Imm0_321_3__CondCode2_1__CCOut1_0
    2244             :   { CVT_95_Reg, 3, CVT_95_Reg, 3, CVT_95_addImmOperands, 4, CVT_95_addCondCodeOperands, 2, CVT_95_addCCOutOperands, 1, CVT_Done },
    2245             :   // Convert__Reg1_3__Reg1_3__ImmThumbSR1_4__CondCode2_1__CCOut1_0
    2246             :   { CVT_95_Reg, 4, CVT_95_Reg, 4, CVT_95_addImmOperands, 5, CVT_95_addCondCodeOperands, 2, CVT_95_addCCOutOperands, 1, CVT_Done },
    2247             :   // Convert__Reg1_2__CCOut1_0__Reg1_3__ImmThumbSR1_4__CondCode2_1
    2248             :   { CVT_95_Reg, 3, CVT_95_addCCOutOperands, 1, CVT_95_Reg, 4, CVT_95_addImmOperands, 5, CVT_95_addCondCodeOperands, 2, CVT_Done },
    2249             :   // Convert__Reg1_2__Reg1_3__ImmThumbSR1_4__CondCode2_1__CCOut1_0
    2250             :   { CVT_95_Reg, 3, CVT_95_Reg, 4, CVT_95_addImmOperands, 5, CVT_95_addCondCodeOperands, 2, CVT_95_addCCOutOperands, 1, CVT_Done },
    2251             :   // Convert__Reg1_2__Reg1_3__Imm0_321_4__CondCode2_1__CCOut1_0
    2252             :   { CVT_95_Reg, 3, CVT_95_Reg, 4, CVT_95_addImmOperands, 5, CVT_95_addCondCodeOperands, 2, CVT_95_addCCOutOperands, 1, CVT_Done },
    2253             :   // Convert__Reg1_3__Reg1_4__ImmThumbSR1_5__CondCode2_1__CCOut1_0
    2254             :   { CVT_95_Reg, 4, CVT_95_Reg, 5, CVT_95_addImmOperands, 6, CVT_95_addCondCodeOperands, 2, CVT_95_addCCOutOperands, 1, CVT_Done },
    2255             :   // Convert__ARMBranchTarget1_1__CondCode2_0
    2256             :   { CVT_95_addARMBranchTargetOperands, 2, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2257             :   // ConvertCustom_cvtThumbBranches
    2258             :   { CVT_cvtThumbBranches, 0, CVT_Done },
    2259             :   // Convert__Reg1_1__Tie0_1_1__Bitfield1_2__CondCode2_0
    2260             :   { CVT_95_Reg, 2, CVT_Tied, Tie0_1_1, CVT_95_addBitfieldOperands, 3, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2261             :   // Convert__Reg1_1__Tie0_1_1__Reg1_2__Bitfield1_3__CondCode2_0
    2262             :   { CVT_95_Reg, 2, CVT_Tied, Tie0_1_1, CVT_95_Reg, 3, CVT_95_addBitfieldOperands, 4, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2263             :   // Convert__imm_95_0
    2264             :   { CVT_imm_95_0, 0, CVT_Done },
    2265             :   // Convert__Imm0_2551_0
    2266             :   { CVT_95_addImmOperands, 1, CVT_Done },
    2267             :   // Convert__Imm0_655351_0
    2268             :   { CVT_95_addImmOperands, 1, CVT_Done },
    2269             :   // Convert__ARMBranchTarget1_0
    2270             :   { CVT_95_addARMBranchTargetOperands, 1, CVT_Done },
    2271             :   // Convert__CondCode2_0__ThumbBranchTarget1_1
    2272             :   { CVT_95_addCondCodeOperands, 1, CVT_95_addThumbBranchTargetOperands, 2, CVT_Done },
    2273             :   // Convert__Reg1_0
    2274             :   { CVT_95_Reg, 1, CVT_Done },
    2275             :   // Convert__ThumbBranchTarget1_0
    2276             :   { CVT_95_addThumbBranchTargetOperands, 1, CVT_Done },
    2277             :   // Convert__Reg1_1__CondCode2_0
    2278             :   { CVT_95_Reg, 2, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2279             :   // Convert__CondCode2_0__Reg1_1
    2280             :   { CVT_95_addCondCodeOperands, 1, CVT_95_Reg, 2, CVT_Done },
    2281             :   // Convert__CondCode2_0__ARMBranchTarget1_1
    2282             :   { CVT_95_addCondCodeOperands, 1, CVT_95_addARMBranchTargetOperands, 2, CVT_Done },
    2283             :   // Convert__CondCode2_0
    2284             :   { CVT_95_addCondCodeOperands, 1, CVT_Done },
    2285             :   // Convert__Reg1_0__ThumbBranchTarget1_1
    2286             :   { CVT_95_Reg, 1, CVT_95_addThumbBranchTargetOperands, 2, CVT_Done },
    2287             :   // Convert__CoprocNum1_1__Imm0_151_2__CoprocReg1_3__CoprocReg1_4__CoprocReg1_5__Imm0_71_6__CondCode2_0
    2288             :   { CVT_95_addCoprocNumOperands, 2, CVT_95_addImmOperands, 3, CVT_95_addCoprocRegOperands, 4, CVT_95_addCoprocRegOperands, 5, CVT_95_addCoprocRegOperands, 6, CVT_95_addImmOperands, 7, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2289             :   // Convert__CoprocNum1_0__Imm0_151_1__CoprocReg1_2__CoprocReg1_3__CoprocReg1_4__Imm0_71_5
    2290             :   { CVT_95_addCoprocNumOperands, 1, CVT_95_addImmOperands, 2, CVT_95_addCoprocRegOperands, 3, CVT_95_addCoprocRegOperands, 4, CVT_95_addCoprocRegOperands, 5, CVT_95_addImmOperands, 6, CVT_Done },
    2291             :   // Convert__Reg1_1__Reg1_2__CondCode2_0
    2292             :   { CVT_95_Reg, 2, CVT_95_Reg, 3, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2293             :   // Convert__Reg1_1__ModImmNeg1_2__CondCode2_0
    2294             :   { CVT_95_Reg, 2, CVT_95_addModImmNegOperands, 3, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2295             :   // Convert__Reg1_1__T2SOImmNeg1_2__CondCode2_0
    2296             :   { CVT_95_Reg, 2, CVT_95_addT2SOImmNegOperands, 3, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2297             :   // Convert__Reg1_1__RegShiftedImm2_2__CondCode2_0
    2298             :   { CVT_95_Reg, 2, CVT_95_addRegShiftedImmOperands, 3, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2299             :   // Convert__Reg1_1__RegShiftedReg3_2__CondCode2_0
    2300             :   { CVT_95_Reg, 2, CVT_95_addRegShiftedRegOperands, 3, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2301             :   // Convert__Reg1_1__T2SOImm1_2__CondCode2_0
    2302             :   { CVT_95_Reg, 2, CVT_95_addImmOperands, 3, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2303             :   // Convert__Reg1_1__ModImm1_2__CondCode2_0
    2304             :   { CVT_95_Reg, 2, CVT_95_addModImmOperands, 3, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2305             :   // Convert__Reg1_2__Reg1_3__CondCode2_0
    2306             :   { CVT_95_Reg, 3, CVT_95_Reg, 4, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2307             :   // Convert__Reg1_2__RegShiftedImm2_3__CondCode2_0
    2308             :   { CVT_95_Reg, 3, CVT_95_addRegShiftedImmOperands, 4, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2309             :   // Convert__Reg1_2__T2SOImm1_3__CondCode2_0
    2310             :   { CVT_95_Reg, 3, CVT_95_addImmOperands, 4, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2311             :   // Convert__Reg1_1__Imm0_2551_2__CondCode2_0
    2312             :   { CVT_95_Reg, 2, CVT_95_addImmOperands, 3, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2313             :   // Convert__Imm0_311_0
    2314             :   { CVT_95_addImmOperands, 1, CVT_Done },
    2315             :   // Convert__Imm0_311_1
    2316             :   { CVT_95_addImmOperands, 2, CVT_Done },
    2317             :   // Convert__Imm1_0__ProcIFlags1_1
    2318             :   { CVT_95_addImmOperands, 1, CVT_95_addProcIFlagsOperands, 2, CVT_Done },
    2319             :   // Convert__Imm1_0__ProcIFlags1_2
    2320             :   { CVT_95_addImmOperands, 1, CVT_95_addProcIFlagsOperands, 3, CVT_Done },
    2321             :   // Convert__Imm1_0__ProcIFlags1_1__Imm0_311_2
    2322             :   { CVT_95_addImmOperands, 1, CVT_95_addProcIFlagsOperands, 2, CVT_95_addImmOperands, 3, CVT_Done },
    2323             :   // Convert__Imm1_0__ProcIFlags1_1__Imm1_2
    2324             :   { CVT_95_addImmOperands, 1, CVT_95_addProcIFlagsOperands, 2, CVT_95_addImmOperands, 3, CVT_Done },
    2325             :   // Convert__Imm1_0__ProcIFlags1_2__Imm1_3
    2326             :   { CVT_95_addImmOperands, 1, CVT_95_addProcIFlagsOperands, 3, CVT_95_addImmOperands, 4, CVT_Done },
    2327             :   // Convert__Reg1_0__Reg1_1__Reg1_2
    2328             :   { CVT_95_Reg, 1, CVT_95_Reg, 2, CVT_95_Reg, 3, CVT_Done },
    2329             :   // Convert__imm_95_20__CondCode2_0
    2330             :   { CVT_imm_95_20, 0, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2331             :   // Convert__Imm0_151_1__CondCode2_0
    2332             :   { CVT_95_addImmOperands, 2, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2333             :   // Convert__imm_95_12
    2334             :   { CVT_imm_95_12, 0, CVT_Done },
    2335             :   // Convert__imm_95_12__CondCode2_0
    2336             :   { CVT_imm_95_12, 0, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2337             :   // Convert__imm_95_15
    2338             :   { CVT_imm_95_15, 0, CVT_Done },
    2339             :   // Convert__imm_95_15__CondCode2_0
    2340             :   { CVT_imm_95_15, 0, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2341             :   // Convert__MemBarrierOpt1_0
    2342             :   { CVT_95_addMemBarrierOptOperands, 1, CVT_Done },
    2343             :   // Convert__MemBarrierOpt1_1__CondCode2_0
    2344             :   { CVT_95_addMemBarrierOptOperands, 2, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2345             :   // Convert__imm_95_0__CondCode2_0
    2346             :   { CVT_imm_95_0, 0, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2347             :   // Convert__imm_95_16__CondCode2_0
    2348             :   { CVT_imm_95_16, 0, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2349             :   // Convert__Reg1_1__FPImm1_2__CondCode2_0
    2350             :   { CVT_95_Reg, 2, CVT_95_addFPImmOperands, 3, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2351             :   // Convert__Reg1_1__Tie0_2_2__CondCode2_0__DPRRegList1_3
    2352             :   { CVT_95_Reg, 2, CVT_Tied, Tie0_2_2, CVT_95_addCondCodeOperands, 1, CVT_95_addDPRRegListOperands, 4, CVT_Done },
    2353             :   // Convert__Reg1_1__CondCode2_0__DPRRegList1_2
    2354             :   { CVT_95_Reg, 2, CVT_95_addCondCodeOperands, 1, CVT_95_addDPRRegListOperands, 3, CVT_Done },
    2355             :   // Convert__Reg1_1__Tie0_2_2__Reg1_2__imm_95_1__CondCode2_0
    2356             :   { CVT_95_Reg, 2, CVT_Tied, Tie0_2_2, CVT_95_Reg, 3, CVT_imm_95_1, 0, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2357             :   // Convert__Reg1_1__Tie0_2_2__Reg1_2__imm_95_0__CondCode2_0
    2358             :   { CVT_95_Reg, 2, CVT_Tied, Tie0_2_2, CVT_95_Reg, 3, CVT_imm_95_0, 0, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2359             :   // Convert__Imm0_2391_1__CondCode2_0
    2360             :   { CVT_95_addImmOperands, 2, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2361             :   // Convert__Imm0_2391_2__CondCode2_0
    2362             :   { CVT_95_addImmOperands, 3, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2363             :   // Convert__Imm0_631_0
    2364             :   { CVT_95_addImmOperands, 1, CVT_Done },
    2365             :   // Convert__Imm0_655351_1
    2366             :   { CVT_95_addImmOperands, 2, CVT_Done },
    2367             :   // Convert__InstSyncBarrierOpt1_0
    2368             :   { CVT_95_addInstSyncBarrierOptOperands, 1, CVT_Done },
    2369             :   // Convert__InstSyncBarrierOpt1_1__CondCode2_0
    2370             :   { CVT_95_addInstSyncBarrierOptOperands, 2, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2371             :   // Convert__ITCondCode1_1__ITMask1_0
    2372             :   { CVT_95_addITCondCodeOperands, 2, CVT_95_addITMaskOperands, 1, CVT_Done },
    2373             :   // Convert__Reg1_1__MemNoOffset1_2__CondCode2_0
    2374             :   { CVT_95_Reg, 2, CVT_95_addMemNoOffsetOperands, 3, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2375             :   // Convert__Reg1_1__Reg1_2__MemNoOffset1_3__CondCode2_0
    2376             :   { CVT_95_Reg, 2, CVT_95_Reg, 3, CVT_95_addMemNoOffsetOperands, 4, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2377             :   // Convert__CoprocNum1_1__CoprocReg1_2__AddrMode52_3__CondCode2_0
    2378             :   { CVT_95_addCoprocNumOperands, 2, CVT_95_addCoprocRegOperands, 3, CVT_95_addAddrMode5Operands, 4, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2379             :   // Convert__CoprocNum1_1__CoprocReg1_2__MemNoOffset1_3__CoprocOption1_4__CondCode2_0
    2380             :   { CVT_95_addCoprocNumOperands, 2, CVT_95_addCoprocRegOperands, 3, CVT_95_addMemNoOffsetOperands, 4, CVT_95_addCoprocOptionOperands, 5, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2381             :   // Convert__CoprocNum1_1__CoprocReg1_2__MemNoOffset1_3__PostIdxImm8s41_4__CondCode2_0
    2382             :   { CVT_95_addCoprocNumOperands, 2, CVT_95_addCoprocRegOperands, 3, CVT_95_addMemNoOffsetOperands, 4, CVT_95_addPostIdxImm8s4Operands, 5, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2383             :   // Convert__CoprocNum1_0__CoprocReg1_1__AddrMode52_2
    2384             :   { CVT_95_addCoprocNumOperands, 1, CVT_95_addCoprocRegOperands, 2, CVT_95_addAddrMode5Operands, 3, CVT_Done },
    2385             :   // Convert__CoprocNum1_0__CoprocReg1_1__MemNoOffset1_2__CoprocOption1_3
    2386             :   { CVT_95_addCoprocNumOperands, 1, CVT_95_addCoprocRegOperands, 2, CVT_95_addMemNoOffsetOperands, 3, CVT_95_addCoprocOptionOperands, 4, CVT_Done },
    2387             :   // Convert__CoprocNum1_0__CoprocReg1_1__MemNoOffset1_2__PostIdxImm8s41_3
    2388             :   { CVT_95_addCoprocNumOperands, 1, CVT_95_addCoprocRegOperands, 2, CVT_95_addMemNoOffsetOperands, 3, CVT_95_addPostIdxImm8s4Operands, 4, CVT_Done },
    2389             :   // Convert__Reg1_1__CondCode2_0__RegList1_2
    2390             :   { CVT_95_Reg, 2, CVT_95_addCondCodeOperands, 1, CVT_95_addRegListOperands, 3, CVT_Done },
    2391             :   // Convert__Reg1_2__CondCode2_0__RegList1_3
    2392             :   { CVT_95_Reg, 3, CVT_95_addCondCodeOperands, 1, CVT_95_addRegListOperands, 4, CVT_Done },
    2393             :   // Convert__Reg1_1__CondCode2_0__RegList1_3
    2394             :   { CVT_95_Reg, 2, CVT_95_addCondCodeOperands, 1, CVT_95_addRegListOperands, 4, CVT_Done },
    2395             :   // Convert__Reg1_1__Tie0_2_2__CondCode2_0__RegList1_3
    2396             :   { CVT_95_Reg, 2, CVT_Tied, Tie0_2_2, CVT_95_addCondCodeOperands, 1, CVT_95_addRegListOperands, 4, CVT_Done },
    2397             :   // Convert__Reg1_2__Tie0_3_3__CondCode2_0__RegList1_4
    2398             :   { CVT_95_Reg, 3, CVT_Tied, Tie0_3_3, CVT_95_addCondCodeOperands, 1, CVT_95_addRegListOperands, 5, CVT_Done },
    2399             :   // Convert__Reg1_1__ThumbMemPC1_2__CondCode2_0
    2400             :   { CVT_95_Reg, 2, CVT_95_addThumbMemPCOperands, 3, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2401             :   // Convert__Reg1_1__ConstPoolAsmImm1_2__CondCode2_0
    2402             :   { CVT_95_Reg, 2, CVT_95_addConstPoolAsmImmOperands, 3, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2403             :   // Convert__Reg1_1__MemThumbRIs42_2__CondCode2_0
    2404             :   { CVT_95_Reg, 2, CVT_95_addMemThumbRIs4Operands, 3, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2405             :   // Convert__Reg1_1__MemThumbRR2_2__CondCode2_0
    2406             :   { CVT_95_Reg, 2, CVT_95_addMemThumbRROperands, 3, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2407             :   // Convert__Reg1_1__MemThumbSPI2_2__CondCode2_0
    2408             :   { CVT_95_Reg, 2, CVT_95_addMemThumbSPIOperands, 3, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2409             :   // Convert__Reg1_1__MemImm12Offset2_2__CondCode2_0
    2410             :   { CVT_95_Reg, 2, CVT_95_addMemImm12OffsetOperands, 3, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2411             :   // Convert__Reg1_1__MemNegImm8Offset2_2__CondCode2_0
    2412             :   { CVT_95_Reg, 2, CVT_95_addMemNegImm8OffsetOperands, 3, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2413             :   // Convert__Reg1_1__MemRegOffset3_2__CondCode2_0
    2414             :   { CVT_95_Reg, 2, CVT_95_addMemRegOffsetOperands, 3, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2415             :   // Convert__Reg1_1__MemUImm12Offset2_2__CondCode2_0
    2416             :   { CVT_95_Reg, 2, CVT_95_addMemUImm12OffsetOperands, 3, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2417             :   // Convert__Reg1_1__T2MemRegOffset3_2__CondCode2_0
    2418             :   { CVT_95_Reg, 2, CVT_95_addT2MemRegOffsetOperands, 3, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2419             :   // Convert__Reg1_1__MemPCRelImm121_2__CondCode2_0
    2420             :   { CVT_95_Reg, 2, CVT_95_addMemPCRelImm12Operands, 3, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2421             :   // Convert__Reg1_2__ConstPoolAsmImm1_3__CondCode2_0
    2422             :   { CVT_95_Reg, 3, CVT_95_addConstPoolAsmImmOperands, 4, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2423             :   // Convert__Reg1_2__MemUImm12Offset2_3__CondCode2_0
    2424             :   { CVT_95_Reg, 3, CVT_95_addMemUImm12OffsetOperands, 4, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2425             :   // Convert__Reg1_2__T2MemRegOffset3_3__CondCode2_0
    2426             :   { CVT_95_Reg, 3, CVT_95_addT2MemRegOffsetOperands, 4, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2427             :   // Convert__Reg1_2__MemPCRelImm121_3__CondCode2_0
    2428             :   { CVT_95_Reg, 3, CVT_95_addMemPCRelImm12Operands, 4, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2429             :   // Convert__Reg1_1__imm_95_0__MemImm12Offset2_2__CondCode2_0
    2430             :   { CVT_95_Reg, 2, CVT_imm_95_0, 0, CVT_95_addMemImm12OffsetOperands, 3, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2431             :   // Convert__Reg1_1__imm_95_0__MemImm8Offset2_2__CondCode2_0
    2432             :   { CVT_95_Reg, 2, CVT_imm_95_0, 0, CVT_95_addMemImm8OffsetOperands, 3, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2433             :   // Convert__Reg1_1__MemNoOffset1_2__Tie1_3_3__AM2OffsetImm2_3__CondCode2_0
    2434             :   { CVT_95_Reg, 2, CVT_95_addMemNoOffsetOperands, 3, CVT_Tied, Tie1_3_3, CVT_95_addAM2OffsetImmOperands, 4, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2435             :   // Convert__Reg1_1__MemNoOffset1_2__Tie1_3_3__Imm1_3__CondCode2_0
    2436             :   { CVT_95_Reg, 2, CVT_95_addMemNoOffsetOperands, 3, CVT_Tied, Tie1_3_3, CVT_95_addImmOperands, 4, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2437             :   // Convert__Reg1_1__MemNoOffset1_2__Tie1_3_3__PostIdxRegShifted2_3__CondCode2_0
    2438             :   { CVT_95_Reg, 2, CVT_95_addMemNoOffsetOperands, 3, CVT_Tied, Tie1_3_3, CVT_95_addPostIdxRegShiftedOperands, 4, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2439             :   // Convert__Reg1_1__imm_95_0__MemRegOffset3_2__CondCode2_0
    2440             :   { CVT_95_Reg, 2, CVT_imm_95_0, 0, CVT_95_addMemRegOffsetOperands, 3, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2441             :   // Convert__Reg1_1__MemThumbRIs12_2__CondCode2_0
    2442             :   { CVT_95_Reg, 2, CVT_95_addMemThumbRIs1Operands, 3, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2443             :   // Convert__Reg1_1__MemPosImm8Offset2_2__CondCode2_0
    2444             :   { CVT_95_Reg, 2, CVT_95_addMemPosImm8OffsetOperands, 3, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2445             :   // Convert__Reg1_1__Reg1_2__MemImm8s4Offset2_3__CondCode2_0
    2446             :   { CVT_95_Reg, 2, CVT_95_Reg, 3, CVT_95_addMemImm8s4OffsetOperands, 4, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2447             :   // Convert__Reg1_1__Reg1_2__AddrMode33_3__CondCode2_0
    2448             :   { CVT_95_Reg, 2, CVT_95_Reg, 3, CVT_95_addAddrMode3Operands, 4, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2449             :   // Convert__Reg1_1__Reg1_2__imm_95_0__MemImm8s4Offset2_3__CondCode2_0
    2450             :   { CVT_95_Reg, 2, CVT_95_Reg, 3, CVT_imm_95_0, 0, CVT_95_addMemImm8s4OffsetOperands, 4, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2451             :   // Convert__Reg1_1__Reg1_2__MemNoOffset1_3__Tie2_4_4__Imm1_4__CondCode2_0
    2452             :   { CVT_95_Reg, 2, CVT_95_Reg, 3, CVT_95_addMemNoOffsetOperands, 4, CVT_Tied, Tie2_4_4, CVT_95_addImmOperands, 5, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2453             :   // Convert__Reg1_1__Reg1_2__imm_95_0__AddrMode33_3__CondCode2_0
    2454             :   { CVT_95_Reg, 2, CVT_95_Reg, 3, CVT_imm_95_0, 0, CVT_95_addAddrMode3Operands, 4, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2455             :   // Convert__Reg1_1__Reg1_2__MemNoOffset1_3__Tie2_4_4__AM3Offset2_4__CondCode2_0
    2456             :   { CVT_95_Reg, 2, CVT_95_Reg, 3, CVT_95_addMemNoOffsetOperands, 4, CVT_Tied, Tie2_4_4, CVT_95_addAM3OffsetOperands, 5, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2457             :   // Convert__Reg1_1__MemImm0_1020s4Offset2_2__CondCode2_0
    2458             :   { CVT_95_Reg, 2, CVT_95_addMemImm0_95_1020s4OffsetOperands, 3, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2459             :   // Convert__Reg1_1__MemThumbRIs22_2__CondCode2_0
    2460             :   { CVT_95_Reg, 2, CVT_95_addMemThumbRIs2Operands, 3, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2461             :   // Convert__Reg1_1__AddrMode33_2__CondCode2_0
    2462             :   { CVT_95_Reg, 2, CVT_95_addAddrMode3Operands, 3, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2463             :   // Convert__Reg1_1__imm_95_0__AddrMode33_2__CondCode2_0
    2464             :   { CVT_95_Reg, 2, CVT_imm_95_0, 0, CVT_95_addAddrMode3Operands, 3, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2465             :   // Convert__Reg1_1__MemNoOffset1_2__Tie1_3_3__AM3Offset2_3__CondCode2_0
    2466             :   { CVT_95_Reg, 2, CVT_95_addMemNoOffsetOperands, 3, CVT_Tied, Tie1_3_3, CVT_95_addAM3OffsetOperands, 4, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2467             :   // Convert__Reg1_1__MemNoOffset1_2__Tie1_3_3__PostIdxReg2_3__CondCode2_0
    2468             :   { CVT_95_Reg, 2, CVT_95_addMemNoOffsetOperands, 3, CVT_Tied, Tie1_3_3, CVT_95_addPostIdxRegOperands, 4, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2469             :   // Convert__Reg1_1__MemNoOffset1_2__Tie1_3_3__PostIdxImm81_3__CondCode2_0
    2470             :   { CVT_95_Reg, 2, CVT_95_addMemNoOffsetOperands, 3, CVT_Tied, Tie1_3_3, CVT_95_addPostIdxImm8Operands, 4, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2471             :   // Convert__Reg1_2__CCOut1_0__Reg1_2__Imm0_311_3__CondCode2_1
    2472             :   { CVT_95_Reg, 3, CVT_95_addCCOutOperands, 1, CVT_95_Reg, 3, CVT_95_addImmOperands, 4, CVT_95_addCondCodeOperands, 2, CVT_Done },
    2473             :   // Convert__Reg1_2__Reg1_2__Imm1_311_3__CondCode2_1__CCOut1_0
    2474             :   { CVT_95_Reg, 3, CVT_95_Reg, 3, CVT_95_addImmOperands, 4, CVT_95_addCondCodeOperands, 2, CVT_95_addCCOutOperands, 1, CVT_Done },
    2475             :   // Convert__Reg1_2__Reg1_2__Imm0_311_3__CondCode2_1__CCOut1_0
    2476             :   { CVT_95_Reg, 3, CVT_95_Reg, 3, CVT_95_addImmOperands, 4, CVT_95_addCondCodeOperands, 2, CVT_95_addCCOutOperands, 1, CVT_Done },
    2477             :   // Convert__Reg1_3__Reg1_3__Imm1_311_4__CondCode2_1__CCOut1_0
    2478             :   { CVT_95_Reg, 4, CVT_95_Reg, 4, CVT_95_addImmOperands, 5, CVT_95_addCondCodeOperands, 2, CVT_95_addCCOutOperands, 1, CVT_Done },
    2479             :   // Convert__Reg1_2__CCOut1_0__Reg1_3__Imm0_311_4__CondCode2_1
    2480             :   { CVT_95_Reg, 3, CVT_95_addCCOutOperands, 1, CVT_95_Reg, 4, CVT_95_addImmOperands, 5, CVT_95_addCondCodeOperands, 2, CVT_Done },
    2481             :   // Convert__Reg1_2__Reg1_3__Imm1_311_4__CondCode2_1__CCOut1_0
    2482             :   { CVT_95_Reg, 3, CVT_95_Reg, 4, CVT_95_addImmOperands, 5, CVT_95_addCondCodeOperands, 2, CVT_95_addCCOutOperands, 1, CVT_Done },
    2483             :   // Convert__Reg1_2__Reg1_3__CondCode2_1__CCOut1_0
    2484             :   { CVT_95_Reg, 3, CVT_95_Reg, 4, CVT_95_addCondCodeOperands, 2, CVT_95_addCCOutOperands, 1, CVT_Done },
    2485             :   // Convert__Reg1_2__Reg1_3__Imm0_311_4__CondCode2_1__CCOut1_0
    2486             :   { CVT_95_Reg, 3, CVT_95_Reg, 4, CVT_95_addImmOperands, 5, CVT_95_addCondCodeOperands, 2, CVT_95_addCCOutOperands, 1, CVT_Done },
    2487             :   // Convert__Reg1_3__Reg1_4__Imm1_311_5__CondCode2_1__CCOut1_0
    2488             :   { CVT_95_Reg, 4, CVT_95_Reg, 5, CVT_95_addImmOperands, 6, CVT_95_addCondCodeOperands, 2, CVT_95_addCCOutOperands, 1, CVT_Done },
    2489             :   // Convert__Reg1_3__Reg1_4__CondCode2_1__CCOut1_0
    2490             :   { CVT_95_Reg, 4, CVT_95_Reg, 5, CVT_95_addCondCodeOperands, 2, CVT_95_addCCOutOperands, 1, CVT_Done },
    2491             :   // Convert__CoprocNum1_1__Imm0_71_2__Reg1_3__CoprocReg1_4__CoprocReg1_5__imm_95_0__CondCode2_0
    2492             :   { CVT_95_addCoprocNumOperands, 2, CVT_95_addImmOperands, 3, CVT_95_Reg, 4, CVT_95_addCoprocRegOperands, 5, CVT_95_addCoprocRegOperands, 6, CVT_imm_95_0, 0, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2493             :   // Convert__CoprocNum1_1__Imm0_71_2__Reg1_3__CoprocReg1_4__CoprocReg1_5__Imm0_71_6__CondCode2_0
    2494             :   { CVT_95_addCoprocNumOperands, 2, CVT_95_addImmOperands, 3, CVT_95_Reg, 4, CVT_95_addCoprocRegOperands, 5, CVT_95_addCoprocRegOperands, 6, CVT_95_addImmOperands, 7, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2495             :   // Convert__CoprocNum1_0__Imm0_71_1__Reg1_2__CoprocReg1_3__CoprocReg1_4__imm_95_0
    2496             :   { CVT_95_addCoprocNumOperands, 1, CVT_95_addImmOperands, 2, CVT_95_Reg, 3, CVT_95_addCoprocRegOperands, 4, CVT_95_addCoprocRegOperands, 5, CVT_imm_95_0, 0, CVT_Done },
    2497             :   // Convert__CoprocNum1_0__Imm0_71_1__Reg1_2__CoprocReg1_3__CoprocReg1_4__Imm0_71_5
    2498             :   { CVT_95_addCoprocNumOperands, 1, CVT_95_addImmOperands, 2, CVT_95_Reg, 3, CVT_95_addCoprocRegOperands, 4, CVT_95_addCoprocRegOperands, 5, CVT_95_addImmOperands, 6, CVT_Done },
    2499             :   // Convert__CoprocNum1_1__Imm0_151_2__Reg1_3__Reg1_4__CoprocReg1_5__CondCode2_0
    2500             :   { CVT_95_addCoprocNumOperands, 2, CVT_95_addImmOperands, 3, CVT_95_Reg, 4, CVT_95_Reg, 5, CVT_95_addCoprocRegOperands, 6, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2501             :   // Convert__CoprocNum1_0__Imm0_151_1__Reg1_2__Reg1_3__CoprocReg1_4
    2502             :   { CVT_95_addCoprocNumOperands, 1, CVT_95_addImmOperands, 2, CVT_95_Reg, 3, CVT_95_Reg, 4, CVT_95_addCoprocRegOperands, 5, CVT_Done },
    2503             :   // Convert__Reg1_1__Reg1_2__Reg1_3__Reg1_4__CondCode2_0
    2504             :   { CVT_95_Reg, 2, CVT_95_Reg, 3, CVT_95_Reg, 4, CVT_95_Reg, 5, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2505             :   // Convert__Reg1_2__Reg1_3__Reg1_4__Reg1_5__CondCode2_1__CCOut1_0
    2506             :   { CVT_95_Reg, 3, CVT_95_Reg, 4, CVT_95_Reg, 5, CVT_95_Reg, 6, CVT_95_addCondCodeOperands, 2, CVT_95_addCCOutOperands, 1, CVT_Done },
    2507             :   // Convert__Reg1_1__Imm256_65535Expr1_2__CondCode2_0
    2508             :   { CVT_95_Reg, 2, CVT_95_addImmOperands, 3, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2509             :   // Convert__Reg1_1__T2SOImm1_2__CondCode2_0__reg0
    2510             :   { CVT_95_Reg, 2, CVT_95_addImmOperands, 3, CVT_95_addCondCodeOperands, 1, CVT_reg0, 0, CVT_Done },
    2511             :   // Convert__Reg1_1__T2SOImmNot1_2__CondCode2_0__reg0
    2512             :   { CVT_95_Reg, 2, CVT_95_addT2SOImmNotOperands, 3, CVT_95_addCondCodeOperands, 1, CVT_reg0, 0, CVT_Done },
    2513             :   // Convert__Reg1_1__Imm0_65535Expr1_2__CondCode2_0
    2514             :   { CVT_95_Reg, 2, CVT_95_addImmOperands, 3, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2515             :   // Convert__Reg1_2__CCOut1_0__Imm0_2551_3__CondCode2_1
    2516             :   { CVT_95_Reg, 3, CVT_95_addCCOutOperands, 1, CVT_95_addImmOperands, 4, CVT_95_addCondCodeOperands, 2, CVT_Done },
    2517             :   // Convert__Reg1_2__ModImmNot1_3__CondCode2_1__CCOut1_0
    2518             :   { CVT_95_Reg, 3, CVT_95_addModImmNotOperands, 4, CVT_95_addCondCodeOperands, 2, CVT_95_addCCOutOperands, 1, CVT_Done },
    2519             :   // Convert__Reg1_2__RegShiftedReg3_3__CondCode2_1__CCOut1_0
    2520             :   { CVT_95_Reg, 3, CVT_95_addRegShiftedRegOperands, 4, CVT_95_addCondCodeOperands, 2, CVT_95_addCCOutOperands, 1, CVT_Done },
    2521             :   // Convert__Reg1_2__ModImm1_3__CondCode2_1__CCOut1_0
    2522             :   { CVT_95_Reg, 3, CVT_95_addModImmOperands, 4, CVT_95_addCondCodeOperands, 2, CVT_95_addCCOutOperands, 1, CVT_Done },
    2523             :   // Convert__Reg1_2__RegShiftedImm2_3__CondCode2_1__CCOut1_0
    2524             :   { CVT_95_Reg, 3, CVT_95_addRegShiftedImmOperands, 4, CVT_95_addCondCodeOperands, 2, CVT_95_addCCOutOperands, 1, CVT_Done },
    2525             :   // Convert__Reg1_2__RegShiftedReg3_3__CondCode2_0
    2526             :   { CVT_95_Reg, 3, CVT_95_addRegShiftedRegOperands, 4, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2527             :   // Convert__Reg1_2__T2SOImm1_3__CondCode2_0__reg0
    2528             :   { CVT_95_Reg, 3, CVT_95_addImmOperands, 4, CVT_95_addCondCodeOperands, 1, CVT_reg0, 0, CVT_Done },
    2529             :   // Convert__Reg1_2__Reg1_3__CondCode2_0__reg0
    2530             :   { CVT_95_Reg, 3, CVT_95_Reg, 4, CVT_95_addCondCodeOperands, 1, CVT_reg0, 0, CVT_Done },
    2531             :   // Convert__Reg1_3__T2SOImm1_4__CondCode2_1__CCOut1_0
    2532             :   { CVT_95_Reg, 4, CVT_95_addImmOperands, 5, CVT_95_addCondCodeOperands, 2, CVT_95_addCCOutOperands, 1, CVT_Done },
    2533             :   // Convert__Reg1_0__Reg1_1
    2534             :   { CVT_95_Reg, 1, CVT_95_Reg, 2, CVT_Done },
    2535             :   // Convert__Reg1_0__regCPSR__Imm0_2551_1__imm_95_14__imm_95_0
    2536             :   { CVT_95_Reg, 1, CVT_regCPSR, 0, CVT_95_addImmOperands, 2, CVT_imm_95_14, 0, CVT_imm_95_0, 0, CVT_Done },
    2537             :   // Convert__Reg1_1__T2SOImm1_2__CondCode2_0__regCPSR
    2538             :   { CVT_95_Reg, 2, CVT_95_addImmOperands, 3, CVT_95_addCondCodeOperands, 1, CVT_regCPSR, 0, CVT_Done },
    2539             :   // Convert__Reg1_1__Reg1_2__CondCode2_0__regCPSR
    2540             :   { CVT_95_Reg, 2, CVT_95_Reg, 3, CVT_95_addCondCodeOperands, 1, CVT_regCPSR, 0, CVT_Done },
    2541             :   // Convert__Reg1_2__T2SOImm1_3__CondCode2_0__regCPSR
    2542             :   { CVT_95_Reg, 3, CVT_95_addImmOperands, 4, CVT_95_addCondCodeOperands, 1, CVT_regCPSR, 0, CVT_Done },
    2543             :   // Convert__Reg1_2__Reg1_3__CondCode2_0__regCPSR
    2544             :   { CVT_95_Reg, 3, CVT_95_Reg, 4, CVT_95_addCondCodeOperands, 1, CVT_regCPSR, 0, CVT_Done },
    2545             :   // Convert__Reg1_1__Tie0_1_1__Imm0_65535Expr1_2__CondCode2_0
    2546             :   { CVT_95_Reg, 2, CVT_Tied, Tie0_1_1, CVT_95_addImmOperands, 3, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2547             :   // Convert__Reg1_3__CoprocNum1_1__Imm0_71_2__CoprocReg1_4__CoprocReg1_5__imm_95_0__CondCode2_0
    2548             :   { CVT_95_Reg, 4, CVT_95_addCoprocNumOperands, 2, CVT_95_addImmOperands, 3, CVT_95_addCoprocRegOperands, 5, CVT_95_addCoprocRegOperands, 6, CVT_imm_95_0, 0, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2549             :   // Convert__Reg1_3__CoprocNum1_1__Imm0_71_2__CoprocReg1_4__CoprocReg1_5__Imm0_71_6__CondCode2_0
    2550             :   { CVT_95_Reg, 4, CVT_95_addCoprocNumOperands, 2, CVT_95_addImmOperands, 3, CVT_95_addCoprocRegOperands, 5, CVT_95_addCoprocRegOperands, 6, CVT_95_addImmOperands, 7, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2551             :   // Convert__Reg1_2__CoprocNum1_0__Imm0_71_1__CoprocReg1_3__CoprocReg1_4__imm_95_0
    2552             :   { CVT_95_Reg, 3, CVT_95_addCoprocNumOperands, 1, CVT_95_addImmOperands, 2, CVT_95_addCoprocRegOperands, 4, CVT_95_addCoprocRegOperands, 5, CVT_imm_95_0, 0, CVT_Done },
    2553             :   // Convert__Reg1_2__CoprocNum1_0__Imm0_71_1__CoprocReg1_3__CoprocReg1_4__Imm0_71_5
    2554             :   { CVT_95_Reg, 3, CVT_95_addCoprocNumOperands, 1, CVT_95_addImmOperands, 2, CVT_95_addCoprocRegOperands, 4, CVT_95_addCoprocRegOperands, 5, CVT_95_addImmOperands, 6, CVT_Done },
    2555             :   // Convert__Reg1_3__Reg1_4__CoprocNum1_1__Imm0_151_2__CoprocReg1_5__CondCode2_0
    2556             :   { CVT_95_Reg, 4, CVT_95_Reg, 5, CVT_95_addCoprocNumOperands, 2, CVT_95_addImmOperands, 3, CVT_95_addCoprocRegOperands, 6, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2557             :   // Convert__Reg1_2__Reg1_3__CoprocNum1_0__Imm0_151_1__CoprocReg1_4
    2558             :   { CVT_95_Reg, 3, CVT_95_Reg, 4, CVT_95_addCoprocNumOperands, 1, CVT_95_addImmOperands, 2, CVT_95_addCoprocRegOperands, 5, CVT_Done },
    2559             :   // Convert__Reg1_1__BankedReg1_2__CondCode2_0
    2560             :   { CVT_95_Reg, 2, CVT_95_addBankedRegOperands, 3, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2561             :   // Convert__Reg1_1__MSRMask1_2__CondCode2_0
    2562             :   { CVT_95_Reg, 2, CVT_95_addMSRMaskOperands, 3, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2563             :   // Convert__BankedReg1_1__Reg1_2__CondCode2_0
    2564             :   { CVT_95_addBankedRegOperands, 2, CVT_95_Reg, 3, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2565             :   // Convert__MSRMask1_1__Reg1_2__CondCode2_0
    2566             :   { CVT_95_addMSRMaskOperands, 2, CVT_95_Reg, 3, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2567             :   // Convert__MSRMask1_1__ModImm1_2__CondCode2_0
    2568             :   { CVT_95_addMSRMaskOperands, 2, CVT_95_addModImmOperands, 3, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2569             :   // Convert__Reg1_1__Reg1_2__Reg1_1__CondCode2_0
    2570             :   { CVT_95_Reg, 2, CVT_95_Reg, 3, CVT_95_Reg, 2, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2571             :   // ConvertCustom_cvtThumbMultiply
    2572             :   { CVT_cvtThumbMultiply, 0, CVT_Done },
    2573             :   // Convert__Reg1_2__CCOut1_0__Reg1_3__CondCode2_1
    2574             :   { CVT_95_Reg, 3, CVT_95_addCCOutOperands, 1, CVT_95_Reg, 4, CVT_95_addCondCodeOperands, 2, CVT_Done },
    2575             :   // Convert__Reg1_2__T2SOImm1_3__CondCode2_1__CCOut1_0
    2576             :   { CVT_95_Reg, 3, CVT_95_addImmOperands, 4, CVT_95_addCondCodeOperands, 2, CVT_95_addCCOutOperands, 1, CVT_Done },
    2577             :   // Convert__Reg1_2__T2SOImmNot1_3__CondCode2_1__CCOut1_0
    2578             :   { CVT_95_Reg, 3, CVT_95_addT2SOImmNotOperands, 4, CVT_95_addCondCodeOperands, 2, CVT_95_addCCOutOperands, 1, CVT_Done },
    2579             :   // Convert__Reg1_3__RegShiftedImm2_4__CondCode2_1__CCOut1_0
    2580             :   { CVT_95_Reg, 4, CVT_95_addRegShiftedImmOperands, 5, CVT_95_addCondCodeOperands, 2, CVT_95_addCCOutOperands, 1, CVT_Done },
    2581             :   // Convert__Reg1_2__Reg1_3__imm_95_0__CondCode2_1__CCOut1_0
    2582             :   { CVT_95_Reg, 3, CVT_95_Reg, 4, CVT_imm_95_0, 0, CVT_95_addCondCodeOperands, 2, CVT_95_addCCOutOperands, 1, CVT_Done },
    2583             :   // Convert__regR8__regR8__imm_95_14__imm_95_0
    2584             :   { CVT_regR8, 0, CVT_regR8, 0, CVT_imm_95_14, 0, CVT_imm_95_0, 0, CVT_Done },
    2585             :   // Convert__regR0__regR0__CondCode2_0__reg0
    2586             :   { CVT_regR0, 0, CVT_regR0, 0, CVT_95_addCondCodeOperands, 1, CVT_reg0, 0, CVT_Done },
    2587             :   // Convert__Reg1_1__Reg1_2__Reg1_3__imm_95_0__CondCode2_0
    2588             :   { CVT_95_Reg, 2, CVT_95_Reg, 3, CVT_95_Reg, 4, CVT_imm_95_0, 0, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2589             :   // Convert__Reg1_1__Reg1_2__Reg1_3__PKHLSLImm1_4__CondCode2_0
    2590             :   { CVT_95_Reg, 2, CVT_95_Reg, 3, CVT_95_Reg, 4, CVT_95_addImmOperands, 5, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2591             :   // Convert__Reg1_1__Reg1_3__Reg1_2__imm_95_0__CondCode2_0
    2592             :   { CVT_95_Reg, 2, CVT_95_Reg, 4, CVT_95_Reg, 3, CVT_imm_95_0, 0, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2593             :   // Convert__Reg1_1__Reg1_2__Reg1_3__PKHASRImm1_4__CondCode2_0
    2594             :   { CVT_95_Reg, 2, CVT_95_Reg, 3, CVT_95_Reg, 4, CVT_95_addPKHASRImmOperands, 5, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2595             :   // Convert__MemImm12Offset2_0
    2596             :   { CVT_95_addMemImm12OffsetOperands, 1, CVT_Done },
    2597             :   // Convert__MemRegOffset3_0
    2598             :   { CVT_95_addMemRegOffsetOperands, 1, CVT_Done },
    2599             :   // Convert__Imm1_1__CondCode2_0
    2600             :   { CVT_95_addImmOperands, 2, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2601             :   // Convert__MemNegImm8Offset2_1__CondCode2_0
    2602             :   { CVT_95_addMemNegImm8OffsetOperands, 2, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2603             :   // Convert__MemUImm12Offset2_1__CondCode2_0
    2604             :   { CVT_95_addMemUImm12OffsetOperands, 2, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2605             :   // Convert__T2MemRegOffset3_1__CondCode2_0
    2606             :   { CVT_95_addT2MemRegOffsetOperands, 2, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2607             :   // Convert__MemPCRelImm121_1__CondCode2_0
    2608             :   { CVT_95_addMemPCRelImm12Operands, 2, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2609             :   // Convert__CondCode2_0__RegList1_1
    2610             :   { CVT_95_addCondCodeOperands, 1, CVT_95_addRegListOperands, 2, CVT_Done },
    2611             :   // Convert__regSP__Tie0_1_1__CondCode2_0__RegList1_1
    2612             :   { CVT_regSP, 0, CVT_Tied, Tie0_1_1, CVT_95_addCondCodeOperands, 1, CVT_95_addRegListOperands, 2, CVT_Done },
    2613             :   // Convert__regSP__Tie0_1_1__CondCode2_0__RegList1_2
    2614             :   { CVT_regSP, 0, CVT_Tied, Tie0_1_1, CVT_95_addCondCodeOperands, 1, CVT_95_addRegListOperands, 3, CVT_Done },
    2615             :   // Convert__Reg1_3__Reg1_3__Imm0_311_4__CondCode2_1__CCOut1_0
    2616             :   { CVT_95_Reg, 4, CVT_95_Reg, 4, CVT_95_addImmOperands, 5, CVT_95_addCondCodeOperands, 2, CVT_95_addCCOutOperands, 1, CVT_Done },
    2617             :   // Convert__Reg1_3__Reg1_4__Imm0_311_5__CondCode2_1__CCOut1_0
    2618             :   { CVT_95_Reg, 4, CVT_95_Reg, 5, CVT_95_addImmOperands, 6, CVT_95_addCondCodeOperands, 2, CVT_95_addCCOutOperands, 1, CVT_Done },
    2619             :   // Convert__Reg1_1__Reg1_2__Imm0_311_3__Imm1_321_4__CondCode2_0
    2620             :   { CVT_95_Reg, 2, CVT_95_Reg, 3, CVT_95_addImmOperands, 4, CVT_95_addImm1_95_32Operands, 5, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2621             :   // Convert__SetEndImm1_0
    2622             :   { CVT_95_addImmOperands, 1, CVT_Done },
    2623             :   // Convert__Imm0_11_0
    2624             :   { CVT_95_addImmOperands, 1, CVT_Done },
    2625             :   // Convert__imm_95_4__CondCode2_0
    2626             :   { CVT_imm_95_4, 0, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2627             :   // Convert__imm_95_5__CondCode2_0
    2628             :   { CVT_imm_95_5, 0, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2629             :   // Convert__Reg1_1__Tie0_1_1__Reg1_2__Reg1_3
    2630             :   { CVT_95_Reg, 2, CVT_Tied, Tie0_1_1, CVT_95_Reg, 3, CVT_95_Reg, 4, CVT_Done },
    2631             :   // Convert__Reg1_1__Reg1_2__Reg1_3__Reg1_4__Tie0_1_1__Tie1_1_1__CondCode2_0
    2632             :   { CVT_95_Reg, 2, CVT_95_Reg, 3, CVT_95_Reg, 4, CVT_95_Reg, 5, CVT_Tied, Tie0_1_1, CVT_Tied, Tie1_1_1, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2633             :   // Convert__Reg1_2__Reg1_3__Reg1_4__Reg1_5__Tie0_1_1__Tie1_1_1__CondCode2_1__CCOut1_0
    2634             :   { CVT_95_Reg, 3, CVT_95_Reg, 4, CVT_95_Reg, 5, CVT_95_Reg, 6, CVT_Tied, Tie0_1_1, CVT_Tied, Tie1_1_1, CVT_95_addCondCodeOperands, 2, CVT_95_addCCOutOperands, 1, CVT_Done },
    2635             :   // Convert__Reg1_2__Reg1_3__Reg1_4__Reg1_5__Tie0_3_3__Tie1_4_4__CondCode2_1__CCOut1_0
    2636             :   { CVT_95_Reg, 3, CVT_95_Reg, 4, CVT_95_Reg, 5, CVT_95_Reg, 6, CVT_Tied, Tie0_3_3, CVT_Tied, Tie1_4_4, CVT_95_addCondCodeOperands, 2, CVT_95_addCCOutOperands, 1, CVT_Done },
    2637             :   // Convert__Imm0_311_2
    2638             :   { CVT_95_addImmOperands, 3, CVT_Done },
    2639             :   // Convert__Imm0_311_1__CondCode2_0
    2640             :   { CVT_95_addImmOperands, 2, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2641             :   // Convert__Imm0_311_2__CondCode2_0
    2642             :   { CVT_95_addImmOperands, 3, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2643             :   // Convert__Imm0_311_3__CondCode2_0
    2644             :   { CVT_95_addImmOperands, 4, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2645             :   // Convert__Reg1_1__Imm1_321_2__Reg1_3__imm_95_0__CondCode2_0
    2646             :   { CVT_95_Reg, 2, CVT_95_addImm1_95_32Operands, 3, CVT_95_Reg, 4, CVT_imm_95_0, 0, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2647             :   // Convert__Reg1_1__Imm1_321_2__Reg1_3__ShifterImm1_4__CondCode2_0
    2648             :   { CVT_95_Reg, 2, CVT_95_addImm1_95_32Operands, 3, CVT_95_Reg, 4, CVT_95_addShifterImmOperands, 5, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2649             :   // Convert__Reg1_1__Imm1_161_2__Reg1_3__CondCode2_0
    2650             :   { CVT_95_Reg, 2, CVT_95_addImm1_95_16Operands, 3, CVT_95_Reg, 4, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2651             :   // Convert__Reg1_1__Reg1_2__Reg1_3__MemNoOffset1_4__CondCode2_0
    2652             :   { CVT_95_Reg, 2, CVT_95_Reg, 3, CVT_95_Reg, 4, CVT_95_addMemNoOffsetOperands, 5, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2653             :   // Convert__imm_95_0__Reg1_1__MemImm8Offset2_2__CondCode2_0
    2654             :   { CVT_imm_95_0, 0, CVT_95_Reg, 2, CVT_95_addMemImm8OffsetOperands, 3, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2655             :   // Convert__MemNoOffset1_2__Reg1_1__Tie0_3_3__Imm1_3__CondCode2_0
    2656             :   { CVT_95_addMemNoOffsetOperands, 3, CVT_95_Reg, 2, CVT_Tied, Tie0_3_3, CVT_95_addImmOperands, 4, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2657             :   // Convert__imm_95_0__Reg1_1__MemImm12Offset2_2__CondCode2_0
    2658             :   { CVT_imm_95_0, 0, CVT_95_Reg, 2, CVT_95_addMemImm12OffsetOperands, 3, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2659             :   // Convert__MemNoOffset1_2__Reg1_1__Tie0_3_3__AM2OffsetImm2_3__CondCode2_0
    2660             :   { CVT_95_addMemNoOffsetOperands, 3, CVT_95_Reg, 2, CVT_Tied, Tie0_3_3, CVT_95_addAM2OffsetImmOperands, 4, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2661             :   // Convert__MemNoOffset1_2__Reg1_1__Tie0_3_3__PostIdxRegShifted2_3__CondCode2_0
    2662             :   { CVT_95_addMemNoOffsetOperands, 3, CVT_95_Reg, 2, CVT_Tied, Tie0_3_3, CVT_95_addPostIdxRegShiftedOperands, 4, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2663             :   // Convert__imm_95_0__Reg1_1__MemRegOffset3_2__CondCode2_0
    2664             :   { CVT_imm_95_0, 0, CVT_95_Reg, 2, CVT_95_addMemRegOffsetOperands, 3, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2665             :   // Convert__Reg1_1__MemImm8Offset2_2__CondCode2_0
    2666             :   { CVT_95_Reg, 2, CVT_95_addMemImm8OffsetOperands, 3, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2667             :   // Convert__imm_95_0__Reg1_1__Reg1_2__MemImm8s4Offset2_3__CondCode2_0
    2668             :   { CVT_imm_95_0, 0, CVT_95_Reg, 2, CVT_95_Reg, 3, CVT_95_addMemImm8s4OffsetOperands, 4, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2669             :   // Convert__MemNoOffset1_3__Reg1_1__Reg1_2__Tie0_4_4__Imm1_4__CondCode2_0
    2670             :   { CVT_95_addMemNoOffsetOperands, 4, CVT_95_Reg, 2, CVT_95_Reg, 3, CVT_Tied, Tie0_4_4, CVT_95_addImmOperands, 5, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2671             :   // Convert__imm_95_0__Reg1_1__Reg1_2__AddrMode33_3__CondCode2_0
    2672             :   { CVT_imm_95_0, 0, CVT_95_Reg, 2, CVT_95_Reg, 3, CVT_95_addAddrMode3Operands, 4, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2673             :   // Convert__MemNoOffset1_3__Reg1_1__Reg1_2__Tie0_4_4__AM3Offset2_4__CondCode2_0
    2674             :   { CVT_95_addMemNoOffsetOperands, 4, CVT_95_Reg, 2, CVT_95_Reg, 3, CVT_Tied, Tie0_4_4, CVT_95_addAM3OffsetOperands, 5, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2675             :   // Convert__Reg1_1__Reg1_2__MemImm0_1020s4Offset2_3__CondCode2_0
    2676             :   { CVT_95_Reg, 2, CVT_95_Reg, 3, CVT_95_addMemImm0_95_1020s4OffsetOperands, 4, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2677             :   // Convert__imm_95_0__Reg1_1__AddrMode33_2__CondCode2_0
    2678             :   { CVT_imm_95_0, 0, CVT_95_Reg, 2, CVT_95_addAddrMode3Operands, 3, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2679             :   // Convert__MemNoOffset1_2__Reg1_1__Tie0_3_3__AM3Offset2_3__CondCode2_0
    2680             :   { CVT_95_addMemNoOffsetOperands, 3, CVT_95_Reg, 2, CVT_Tied, Tie0_3_3, CVT_95_addAM3OffsetOperands, 4, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2681             :   // Convert__MemNoOffset1_2__Reg1_1__Tie0_3_3__PostIdxImm81_3__CondCode2_0
    2682             :   { CVT_95_addMemNoOffsetOperands, 3, CVT_95_Reg, 2, CVT_Tied, Tie0_3_3, CVT_95_addPostIdxImm8Operands, 4, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2683             :   // Convert__MemNoOffset1_2__Reg1_1__Tie0_3_3__PostIdxReg2_3__CondCode2_0
    2684             :   { CVT_95_addMemNoOffsetOperands, 3, CVT_95_Reg, 2, CVT_Tied, Tie0_3_3, CVT_95_addPostIdxRegOperands, 4, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2685             :   // Convert__Imm0_2551_3__CondCode2_0
    2686             :   { CVT_95_addImmOperands, 4, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2687             :   // Convert__Imm0_2551_1__CondCode2_0
    2688             :   { CVT_95_addImmOperands, 2, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2689             :   // Convert__Imm24bit1_1__CondCode2_0
    2690             :   { CVT_95_addImmOperands, 2, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2691             :   // Convert__Reg1_1__Reg1_2__Reg1_3__RotImm1_4__CondCode2_0
    2692             :   { CVT_95_Reg, 2, CVT_95_Reg, 3, CVT_95_Reg, 4, CVT_95_addRotImmOperands, 5, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2693             :   // Convert__Reg1_1__Reg1_2__imm_95_0__CondCode2_0
    2694             :   { CVT_95_Reg, 2, CVT_95_Reg, 3, CVT_imm_95_0, 0, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2695             :   // Convert__Reg1_2__Reg1_3__imm_95_0__CondCode2_0
    2696             :   { CVT_95_Reg, 3, CVT_95_Reg, 4, CVT_imm_95_0, 0, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2697             :   // Convert__Reg1_1__Reg1_2__RotImm1_3__CondCode2_0
    2698             :   { CVT_95_Reg, 2, CVT_95_Reg, 3, CVT_95_addRotImmOperands, 4, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2699             :   // Convert__Reg1_2__Reg1_3__RotImm1_4__CondCode2_0
    2700             :   { CVT_95_Reg, 3, CVT_95_Reg, 4, CVT_95_addRotImmOperands, 5, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2701             :   // Convert__MemTBB2_1__CondCode2_0
    2702             :   { CVT_95_addMemTBBOperands, 2, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2703             :   // Convert__MemTBH2_1__CondCode2_0
    2704             :   { CVT_95_addMemTBHOperands, 2, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2705             :   // Convert__Reg1_1__Imm0_311_2__Reg1_3__imm_95_0__CondCode2_0
    2706             :   { CVT_95_Reg, 2, CVT_95_addImmOperands, 3, CVT_95_Reg, 4, CVT_imm_95_0, 0, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2707             :   // Convert__Reg1_1__Imm0_311_2__Reg1_3__ShifterImm1_4__CondCode2_0
    2708             :   { CVT_95_Reg, 2, CVT_95_addImmOperands, 3, CVT_95_Reg, 4, CVT_95_addShifterImmOperands, 5, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2709             :   // Convert__Reg1_1__Imm0_151_2__Reg1_3__CondCode2_0
    2710             :   { CVT_95_Reg, 2, CVT_95_addImmOperands, 3, CVT_95_Reg, 4, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2711             :   // Convert__Reg1_2__Tie0_1_1__Reg1_3__Reg1_4__CondCode2_0
    2712             :   { CVT_95_Reg, 3, CVT_Tied, Tie0_1_1, CVT_95_Reg, 4, CVT_95_Reg, 5, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2713             :   // Convert__Reg1_2__Reg1_2__Reg1_3__CondCode2_0
    2714             :   { CVT_95_Reg, 3, CVT_95_Reg, 3, CVT_95_Reg, 4, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2715             :   // Convert__Reg1_2__Reg1_3__Reg1_4__CondCode2_0
    2716             :   { CVT_95_Reg, 3, CVT_95_Reg, 4, CVT_95_Reg, 5, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2717             :   // Convert__Reg1_2__Reg1_3__Reg1_2__CondCode2_0
    2718             :   { CVT_95_Reg, 3, CVT_95_Reg, 4, CVT_95_Reg, 3, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2719             :   // Convert__Reg1_2__Reg1_4__Reg1_3__CondCode2_0
    2720             :   { CVT_95_Reg, 3, CVT_95_Reg, 5, CVT_95_Reg, 4, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2721             :   // Convert__Reg1_1__Reg1_1__Reg1_2__CondCode2_0
    2722             :   { CVT_95_Reg, 2, CVT_95_Reg, 2, CVT_95_Reg, 3, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2723             :   // Convert__Reg1_2__NEONi16splatNot1_3__Tie0_3_3__CondCode2_0
    2724             :   { CVT_95_Reg, 3, CVT_95_addNEONi16splatNotOperands, 4, CVT_Tied, Tie0_3_3, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2725             :   // Convert__Reg1_2__NEONi32splatNot1_3__Tie0_3_3__CondCode2_0
    2726             :   { CVT_95_Reg, 3, CVT_95_addNEONi32splatNotOperands, 4, CVT_Tied, Tie0_3_3, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2727             :   // Convert__Reg1_2__NEONi16splat1_3__Tie0_1_1__CondCode2_0
    2728             :   { CVT_95_Reg, 3, CVT_95_addNEONi16splatOperands, 4, CVT_Tied, Tie0_1_1, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2729             :   // Convert__Reg1_2__NEONi32splat1_3__Tie0_1_1__CondCode2_0
    2730             :   { CVT_95_Reg, 3, CVT_95_addNEONi32splatOperands, 4, CVT_Tied, Tie0_1_1, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2731             :   // Convert__Reg1_1__Tie0_1_1__Reg1_2__Reg1_3__CondCode2_0
    2732             :   { CVT_95_Reg, 2, CVT_Tied, Tie0_1_1, CVT_95_Reg, 3, CVT_95_Reg, 4, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2733             :   // Convert__Reg1_2__Tie0_3_3__Reg1_3__Reg1_4__CondCode2_0
    2734             :   { CVT_95_Reg, 3, CVT_Tied, Tie0_3_3, CVT_95_Reg, 4, CVT_95_Reg, 5, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2735             :   // Convert__Reg1_1__Reg1_2__Reg1_3__ComplexRotationOdd1_4
    2736             :   { CVT_95_Reg, 2, CVT_95_Reg, 3, CVT_95_Reg, 4, CVT_95_addComplexRotationOddOperands, 5, CVT_Done },
    2737             :   // Convert__Reg1_2__Reg1_2__CondCode2_0
    2738             :   { CVT_95_Reg, 3, CVT_95_Reg, 3, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2739             :   // Convert__Reg1_1__Tie0_1_1__Reg1_2__Reg1_3__ComplexRotationEven1_4
    2740             :   { CVT_95_Reg, 2, CVT_Tied, Tie0_1_1, CVT_95_Reg, 3, CVT_95_Reg, 4, CVT_95_addComplexRotationEvenOperands, 5, CVT_Done },
    2741             :   // Convert__Reg1_1__Tie0_1_1__Reg1_2__Reg1_3__VectorIndex641_4__ComplexRotationEven1_5
    2742             :   { CVT_95_Reg, 2, CVT_Tied, Tie0_1_1, CVT_95_Reg, 3, CVT_95_Reg, 4, CVT_95_addVectorIndex64Operands, 5, CVT_95_addComplexRotationEvenOperands, 6, CVT_Done },
    2743             :   // Convert__Reg1_1__Tie0_1_1__Reg1_2__Reg1_3__VectorIndex321_4__ComplexRotationEven1_5
    2744             :   { CVT_95_Reg, 2, CVT_Tied, Tie0_1_1, CVT_95_Reg, 3, CVT_95_Reg, 4, CVT_95_addVectorIndex32Operands, 5, CVT_95_addComplexRotationEvenOperands, 6, CVT_Done },
    2745             :   // Convert__Reg1_2__CondCode2_0
    2746             :   { CVT_95_Reg, 3, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2747             :   // Convert__Reg1_3__Reg1_4__CondCode2_0
    2748             :   { CVT_95_Reg, 4, CVT_95_Reg, 5, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2749             :   // Convert__Reg1_3__Tie0_4_5__FBits161_5__CondCode2_0
    2750             :   { CVT_95_Reg, 4, CVT_Tied, Tie0_4_5, CVT_95_addFBits16Operands, 6, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2751             :   // Convert__Reg1_3__Reg1_4__Imm1_5__CondCode2_0
    2752             :   { CVT_95_Reg, 4, CVT_95_Reg, 5, CVT_95_addImmOperands, 6, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2753             :   // Convert__Reg1_3__Tie0_4_5__FBits321_5__CondCode2_0
    2754             :   { CVT_95_Reg, 4, CVT_Tied, Tie0_4_5, CVT_95_addFBits32Operands, 6, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2755             :   // Convert__Reg1_2__Reg1_3
    2756             :   { CVT_95_Reg, 3, CVT_95_Reg, 4, CVT_Done },
    2757             :   // Convert__Reg1_2__Reg1_3__VectorIndex161_4__CondCode2_0
    2758             :   { CVT_95_Reg, 3, CVT_95_Reg, 4, CVT_95_addVectorIndex16Operands, 5, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2759             :   // Convert__Reg1_2__Reg1_3__VectorIndex321_4__CondCode2_0
    2760             :   { CVT_95_Reg, 3, CVT_95_Reg, 4, CVT_95_addVectorIndex32Operands, 5, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2761             :   // Convert__Reg1_2__Reg1_3__VectorIndex81_4__CondCode2_0
    2762             :   { CVT_95_Reg, 3, CVT_95_Reg, 4, CVT_95_addVectorIndex8Operands, 5, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2763             :   // Convert__Reg1_2__Reg1_2__Reg1_3__Imm0_151_4__CondCode2_0
    2764             :   { CVT_95_Reg, 3, CVT_95_Reg, 3, CVT_95_Reg, 4, CVT_95_addImmOperands, 5, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2765             :   // Convert__Reg1_2__Reg1_2__Reg1_3__Imm0_31_4__CondCode2_0
    2766             :   { CVT_95_Reg, 3, CVT_95_Reg, 3, CVT_95_Reg, 4, CVT_95_addImmOperands, 5, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2767             :   // Convert__Reg1_2__Reg1_2__Reg1_3__Imm0_11_4__CondCode2_0
    2768             :   { CVT_95_Reg, 3, CVT_95_Reg, 3, CVT_95_Reg, 4, CVT_95_addImmOperands, 5, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2769             :   // Convert__Reg1_2__Reg1_2__Reg1_3__Imm0_71_4__CondCode2_0
    2770             :   { CVT_95_Reg, 3, CVT_95_Reg, 3, CVT_95_Reg, 4, CVT_95_addImmOperands, 5, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2771             :   // Convert__Reg1_2__Reg1_3__Reg1_4__Imm0_151_5__CondCode2_0
    2772             :   { CVT_95_Reg, 3, CVT_95_Reg, 4, CVT_95_Reg, 5, CVT_95_addImmOperands, 6, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2773             :   // Convert__Reg1_2__Reg1_3__Reg1_4__Imm0_31_5__CondCode2_0
    2774             :   { CVT_95_Reg, 3, CVT_95_Reg, 4, CVT_95_Reg, 5, CVT_95_addImmOperands, 6, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2775             :   // Convert__Reg1_2__Reg1_3__Reg1_4__Imm0_11_5__CondCode2_0
    2776             :   { CVT_95_Reg, 3, CVT_95_Reg, 4, CVT_95_Reg, 5, CVT_95_addImmOperands, 6, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2777             :   // Convert__Reg1_2__Reg1_3__Reg1_4__Imm0_71_5__CondCode2_0
    2778             :   { CVT_95_Reg, 3, CVT_95_Reg, 4, CVT_95_Reg, 5, CVT_95_addImmOperands, 6, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2779             :   // Convert__VecListDPairAllLanes1_2__DupAlignedMemory162_3__CondCode2_0
    2780             :   { CVT_95_addVecListOperands, 3, CVT_95_addDupAlignedMemory16Operands, 4, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2781             :   // Convert__VecListDPair1_2__AlignedMemory64or1282_3__CondCode2_0
    2782             :   { CVT_95_addVecListOperands, 3, CVT_95_addAlignedMemory64or128Operands, 4, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2783             :   // Convert__VecListFourD1_2__AlignedMemory64or128or2562_3__CondCode2_0
    2784             :   { CVT_95_addVecListOperands, 3, CVT_95_addAlignedMemory64or128or256Operands, 4, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2785             :   // Convert__VecListOneDAllLanes1_2__DupAlignedMemory162_3__CondCode2_0
    2786             :   { CVT_95_addVecListOperands, 3, CVT_95_addDupAlignedMemory16Operands, 4, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2787             :   // Convert__VecListOneD1_2__AlignedMemory642_3__CondCode2_0
    2788             :   { CVT_95_addVecListOperands, 3, CVT_95_addAlignedMemory64Operands, 4, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2789             :   // Convert__VecListOneDHWordIndexed2_2__AlignedMemory162_3__CondCode2_0
    2790             :   { CVT_95_addVecListIndexedOperands, 3, CVT_95_addAlignedMemory16Operands, 4, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2791             :   // Convert__VecListThreeD1_2__AlignedMemory642_3__CondCode2_0
    2792             :   { CVT_95_addVecListOperands, 3, CVT_95_addAlignedMemory64Operands, 4, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2793             :   // Convert__VecListDPairAllLanes1_2__DupAlignedMemory322_3__CondCode2_0
    2794             :   { CVT_95_addVecListOperands, 3, CVT_95_addDupAlignedMemory32Operands, 4, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2795             :   // Convert__VecListOneDAllLanes1_2__DupAlignedMemory322_3__CondCode2_0
    2796             :   { CVT_95_addVecListOperands, 3, CVT_95_addDupAlignedMemory32Operands, 4, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2797             :   // Convert__VecListOneDWordIndexed2_2__AlignedMemory322_3__CondCode2_0
    2798             :   { CVT_95_addVecListIndexedOperands, 3, CVT_95_addAlignedMemory32Operands, 4, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2799             :   // Convert__VecListDPairAllLanes1_2__DupAlignedMemoryNone2_3__CondCode2_0
    2800             :   { CVT_95_addVecListOperands, 3, CVT_95_addDupAlignedMemoryNoneOperands, 4, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2801             :   // Convert__VecListOneDAllLanes1_2__DupAlignedMemoryNone2_3__CondCode2_0
    2802             :   { CVT_95_addVecListOperands, 3, CVT_95_addDupAlignedMemoryNoneOperands, 4, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2803             :   // Convert__VecListOneDByteIndexed2_2__AlignedMemoryNone2_3__CondCode2_0
    2804             :   { CVT_95_addVecListIndexedOperands, 3, CVT_95_addAlignedMemoryNoneOperands, 4, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2805             :   // Convert__VecListDPairAllLanes1_2__imm_95_0__DupAlignedMemory162_3__CondCode2_0
    2806             :   { CVT_95_addVecListOperands, 3, CVT_imm_95_0, 0, CVT_95_addDupAlignedMemory16Operands, 4, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2807             :   // Convert__VecListDPairAllLanes1_2__imm_95_0__DupAlignedMemory162_3__Reg1_4__CondCode2_0
    2808             :   { CVT_95_addVecListOperands, 3, CVT_imm_95_0, 0, CVT_95_addDupAlignedMemory16Operands, 4, CVT_95_Reg, 5, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2809             :   // Convert__VecListDPair1_2__imm_95_0__AlignedMemory64or1282_3__CondCode2_0
    2810             :   { CVT_95_addVecListOperands, 3, CVT_imm_95_0, 0, CVT_95_addAlignedMemory64or128Operands, 4, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2811             :   // Convert__VecListDPair1_2__imm_95_0__AlignedMemory64or1282_3__Reg1_4__CondCode2_0
    2812             :   { CVT_95_addVecListOperands, 3, CVT_imm_95_0, 0, CVT_95_addAlignedMemory64or128Operands, 4, CVT_95_Reg, 5, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2813             :   // Convert__VecListFourD1_2__imm_95_0__AlignedMemory64or128or2562_3__CondCode2_0
    2814             :   { CVT_95_addVecListOperands, 3, CVT_imm_95_0, 0, CVT_95_addAlignedMemory64or128or256Operands, 4, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2815             :   // Convert__VecListFourD1_2__imm_95_0__AlignedMemory64or128or2562_3__Reg1_4__CondCode2_0
    2816             :   { CVT_95_addVecListOperands, 3, CVT_imm_95_0, 0, CVT_95_addAlignedMemory64or128or256Operands, 4, CVT_95_Reg, 5, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2817             :   // Convert__VecListOneDAllLanes1_2__imm_95_0__DupAlignedMemory162_3__CondCode2_0
    2818             :   { CVT_95_addVecListOperands, 3, CVT_imm_95_0, 0, CVT_95_addDupAlignedMemory16Operands, 4, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2819             :   // Convert__VecListOneDAllLanes1_2__imm_95_0__DupAlignedMemory162_3__Reg1_4__CondCode2_0
    2820             :   { CVT_95_addVecListOperands, 3, CVT_imm_95_0, 0, CVT_95_addDupAlignedMemory16Operands, 4, CVT_95_Reg, 5, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2821             :   // Convert__VecListOneD1_2__imm_95_0__AlignedMemory642_3__CondCode2_0
    2822             :   { CVT_95_addVecListOperands, 3, CVT_imm_95_0, 0, CVT_95_addAlignedMemory64Operands, 4, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2823             :   // Convert__VecListOneD1_2__imm_95_0__AlignedMemory642_3__Reg1_4__CondCode2_0
    2824             :   { CVT_95_addVecListOperands, 3, CVT_imm_95_0, 0, CVT_95_addAlignedMemory64Operands, 4, CVT_95_Reg, 5, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2825             :   // Convert__VecListOneDHWordIndexed2_2__AlignedMemory162_3__Reg1_4__CondCode2_0
    2826             :   { CVT_95_addVecListIndexedOperands, 3, CVT_95_addAlignedMemory16Operands, 4, CVT_95_Reg, 5, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2827             :   // Convert__VecListThreeD1_2__imm_95_0__AlignedMemory642_3__CondCode2_0
    2828             :   { CVT_95_addVecListOperands, 3, CVT_imm_95_0, 0, CVT_95_addAlignedMemory64Operands, 4, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2829             :   // Convert__VecListThreeD1_2__imm_95_0__AlignedMemory642_3__Reg1_4__CondCode2_0
    2830             :   { CVT_95_addVecListOperands, 3, CVT_imm_95_0, 0, CVT_95_addAlignedMemory64Operands, 4, CVT_95_Reg, 5, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2831             :   // Convert__VecListDPairAllLanes1_2__imm_95_0__DupAlignedMemory322_3__CondCode2_0
    2832             :   { CVT_95_addVecListOperands, 3, CVT_imm_95_0, 0, CVT_95_addDupAlignedMemory32Operands, 4, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2833             :   // Convert__VecListDPairAllLanes1_2__imm_95_0__DupAlignedMemory322_3__Reg1_4__CondCode2_0
    2834             :   { CVT_95_addVecListOperands, 3, CVT_imm_95_0, 0, CVT_95_addDupAlignedMemory32Operands, 4, CVT_95_Reg, 5, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2835             :   // Convert__VecListOneDAllLanes1_2__imm_95_0__DupAlignedMemory322_3__CondCode2_0
    2836             :   { CVT_95_addVecListOperands, 3, CVT_imm_95_0, 0, CVT_95_addDupAlignedMemory32Operands, 4, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2837             :   // Convert__VecListOneDAllLanes1_2__imm_95_0__DupAlignedMemory322_3__Reg1_4__CondCode2_0
    2838             :   { CVT_95_addVecListOperands, 3, CVT_imm_95_0, 0, CVT_95_addDupAlignedMemory32Operands, 4, CVT_95_Reg, 5, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2839             :   // Convert__VecListOneDWordIndexed2_2__AlignedMemory322_3__Reg1_4__CondCode2_0
    2840             :   { CVT_95_addVecListIndexedOperands, 3, CVT_95_addAlignedMemory32Operands, 4, CVT_95_Reg, 5, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2841             :   // Convert__VecListDPairAllLanes1_2__imm_95_0__DupAlignedMemoryNone2_3__CondCode2_0
    2842             :   { CVT_95_addVecListOperands, 3, CVT_imm_95_0, 0, CVT_95_addDupAlignedMemoryNoneOperands, 4, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2843             :   // Convert__VecListDPairAllLanes1_2__imm_95_0__DupAlignedMemoryNone2_3__Reg1_4__CondCode2_0
    2844             :   { CVT_95_addVecListOperands, 3, CVT_imm_95_0, 0, CVT_95_addDupAlignedMemoryNoneOperands, 4, CVT_95_Reg, 5, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2845             :   // Convert__VecListOneDAllLanes1_2__imm_95_0__DupAlignedMemoryNone2_3__CondCode2_0
    2846             :   { CVT_95_addVecListOperands, 3, CVT_imm_95_0, 0, CVT_95_addDupAlignedMemoryNoneOperands, 4, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2847             :   // Convert__VecListOneDAllLanes1_2__imm_95_0__DupAlignedMemoryNone2_3__Reg1_4__CondCode2_0
    2848             :   { CVT_95_addVecListOperands, 3, CVT_imm_95_0, 0, CVT_95_addDupAlignedMemoryNoneOperands, 4, CVT_95_Reg, 5, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2849             :   // Convert__VecListOneDByteIndexed2_2__AlignedMemoryNone2_3__Reg1_4__CondCode2_0
    2850             :   { CVT_95_addVecListIndexedOperands, 3, CVT_95_addAlignedMemoryNoneOperands, 4, CVT_95_Reg, 5, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2851             :   // Convert__Reg1_3__AlignedMemory2_8__Tie0_1_1__Imm1_5__CondCode2_0
    2852             :   { CVT_95_Reg, 4, CVT_95_addAlignedMemoryOperands, 9, CVT_Tied, Tie0_1_1, CVT_95_addImmOperands, 6, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2853             :   // Convert__Reg1_3__imm_95_0__AlignedMemory2_8__Imm1_9__Tie0_1_1__Imm1_5__CondCode2_0
    2854             :   { CVT_95_Reg, 4, CVT_imm_95_0, 0, CVT_95_addAlignedMemoryOperands, 9, CVT_95_addImmOperands, 10, CVT_Tied, Tie0_1_1, CVT_95_addImmOperands, 6, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2855             :   // Convert__Reg1_3__Reg1_8__Imm1_9__Tie0_1_1__Imm1_5__CondCode2_0
    2856             :   { CVT_95_Reg, 4, CVT_95_Reg, 9, CVT_95_addImmOperands, 10, CVT_Tied, Tie0_1_1, CVT_95_addImmOperands, 6, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2857             :   // Convert__VecListDPairSpacedAllLanes1_2__DupAlignedMemory322_3__CondCode2_0
    2858             :   { CVT_95_addVecListOperands, 3, CVT_95_addDupAlignedMemory32Operands, 4, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2859             :   // Convert__VecListDPairSpaced1_2__AlignedMemory64or1282_3__CondCode2_0
    2860             :   { CVT_95_addVecListOperands, 3, CVT_95_addAlignedMemory64or128Operands, 4, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2861             :   // Convert__VecListTwoDHWordIndexed2_2__AlignedMemory322_3__CondCode2_0
    2862             :   { CVT_95_addVecListIndexedOperands, 3, CVT_95_addAlignedMemory32Operands, 4, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2863             :   // Convert__VecListTwoQHWordIndexed2_2__AlignedMemory322_3__CondCode2_0
    2864             :   { CVT_95_addVecListIndexedOperands, 3, CVT_95_addAlignedMemory32Operands, 4, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2865             :   // Convert__VecListDPairAllLanes1_2__DupAlignedMemory642_3__CondCode2_0
    2866             :   { CVT_95_addVecListOperands, 3, CVT_95_addDupAlignedMemory64Operands, 4, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2867             :   // Convert__VecListDPairSpacedAllLanes1_2__DupAlignedMemory642_3__CondCode2_0
    2868             :   { CVT_95_addVecListOperands, 3, CVT_95_addDupAlignedMemory64Operands, 4, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2869             :   // Convert__VecListTwoDWordIndexed2_2__AlignedMemory642_3__CondCode2_0
    2870             :   { CVT_95_addVecListIndexedOperands, 3, CVT_95_addAlignedMemory64Operands, 4, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2871             :   // Convert__VecListTwoQWordIndexed2_2__AlignedMemory642_3__CondCode2_0
    2872             :   { CVT_95_addVecListIndexedOperands, 3, CVT_95_addAlignedMemory64Operands, 4, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2873             :   // Convert__VecListDPairSpacedAllLanes1_2__DupAlignedMemory162_3__CondCode2_0
    2874             :   { CVT_95_addVecListOperands, 3, CVT_95_addDupAlignedMemory16Operands, 4, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2875             :   // Convert__VecListTwoDByteIndexed2_2__AlignedMemory162_3__CondCode2_0
    2876             :   { CVT_95_addVecListIndexedOperands, 3, CVT_95_addAlignedMemory16Operands, 4, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2877             :   // Convert__VecListDPairSpacedAllLanes1_2__imm_95_0__DupAlignedMemory322_3__CondCode2_0
    2878             :   { CVT_95_addVecListOperands, 3, CVT_imm_95_0, 0, CVT_95_addDupAlignedMemory32Operands, 4, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2879             :   // Convert__VecListDPairSpacedAllLanes1_2__imm_95_0__DupAlignedMemory322_3__Reg1_4__CondCode2_0
    2880             :   { CVT_95_addVecListOperands, 3, CVT_imm_95_0, 0, CVT_95_addDupAlignedMemory32Operands, 4, CVT_95_Reg, 5, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2881             :   // Convert__VecListDPairSpaced1_2__imm_95_0__AlignedMemory64or1282_3__CondCode2_0
    2882             :   { CVT_95_addVecListOperands, 3, CVT_imm_95_0, 0, CVT_95_addAlignedMemory64or128Operands, 4, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2883             :   // Convert__VecListDPairSpaced1_2__imm_95_0__AlignedMemory64or1282_3__Reg1_4__CondCode2_0
    2884             :   { CVT_95_addVecListOperands, 3, CVT_imm_95_0, 0, CVT_95_addAlignedMemory64or128Operands, 4, CVT_95_Reg, 5, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2885             :   // Convert__VecListTwoDHWordIndexed2_2__AlignedMemory322_3__Reg1_4__CondCode2_0
    2886             :   { CVT_95_addVecListIndexedOperands, 3, CVT_95_addAlignedMemory32Operands, 4, CVT_95_Reg, 5, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2887             :   // Convert__VecListTwoQHWordIndexed2_2__AlignedMemory322_3__Reg1_4__CondCode2_0
    2888             :   { CVT_95_addVecListIndexedOperands, 3, CVT_95_addAlignedMemory32Operands, 4, CVT_95_Reg, 5, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2889             :   // Convert__VecListDPairAllLanes1_2__imm_95_0__DupAlignedMemory642_3__CondCode2_0
    2890             :   { CVT_95_addVecListOperands, 3, CVT_imm_95_0, 0, CVT_95_addDupAlignedMemory64Operands, 4, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2891             :   // Convert__VecListDPairAllLanes1_2__imm_95_0__DupAlignedMemory642_3__Reg1_4__CondCode2_0
    2892             :   { CVT_95_addVecListOperands, 3, CVT_imm_95_0, 0, CVT_95_addDupAlignedMemory64Operands, 4, CVT_95_Reg, 5, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2893             :   // Convert__VecListDPairSpacedAllLanes1_2__imm_95_0__DupAlignedMemory642_3__CondCode2_0
    2894             :   { CVT_95_addVecListOperands, 3, CVT_imm_95_0, 0, CVT_95_addDupAlignedMemory64Operands, 4, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2895             :   // Convert__VecListDPairSpacedAllLanes1_2__imm_95_0__DupAlignedMemory642_3__Reg1_4__CondCode2_0
    2896             :   { CVT_95_addVecListOperands, 3, CVT_imm_95_0, 0, CVT_95_addDupAlignedMemory64Operands, 4, CVT_95_Reg, 5, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2897             :   // Convert__VecListTwoDWordIndexed2_2__AlignedMemory642_3__Reg1_4__CondCode2_0
    2898             :   { CVT_95_addVecListIndexedOperands, 3, CVT_95_addAlignedMemory64Operands, 4, CVT_95_Reg, 5, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2899             :   // Convert__VecListTwoQWordIndexed2_2__AlignedMemory642_3__Reg1_4__CondCode2_0
    2900             :   { CVT_95_addVecListIndexedOperands, 3, CVT_95_addAlignedMemory64Operands, 4, CVT_95_Reg, 5, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2901             :   // Convert__VecListDPairSpacedAllLanes1_2__imm_95_0__DupAlignedMemory162_3__CondCode2_0
    2902             :   { CVT_95_addVecListOperands, 3, CVT_imm_95_0, 0, CVT_95_addDupAlignedMemory16Operands, 4, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2903             :   // Convert__VecListDPairSpacedAllLanes1_2__imm_95_0__DupAlignedMemory162_3__Reg1_4__CondCode2_0
    2904             :   { CVT_95_addVecListOperands, 3, CVT_imm_95_0, 0, CVT_95_addDupAlignedMemory16Operands, 4, CVT_95_Reg, 5, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2905             :   // Convert__VecListTwoDByteIndexed2_2__AlignedMemory162_3__Reg1_4__CondCode2_0
    2906             :   { CVT_95_addVecListIndexedOperands, 3, CVT_95_addAlignedMemory16Operands, 4, CVT_95_Reg, 5, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2907             :   // Convert__VecListThreeDAllLanes1_2__DupAlignedMemoryNone2_3__CondCode2_0
    2908             :   { CVT_95_addVecListOperands, 3, CVT_95_addDupAlignedMemoryNoneOperands, 4, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2909             :   // Convert__VecListThreeDHWordIndexed2_2__AlignedMemoryNone2_3__CondCode2_0
    2910             :   { CVT_95_addVecListIndexedOperands, 3, CVT_95_addAlignedMemoryNoneOperands, 4, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2911             :   // Convert__VecListThreeQAllLanes1_2__DupAlignedMemoryNone2_3__CondCode2_0
    2912             :   { CVT_95_addVecListOperands, 3, CVT_95_addDupAlignedMemoryNoneOperands, 4, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2913             :   // Convert__VecListThreeQ1_2__AlignedMemory642_3__CondCode2_0
    2914             :   { CVT_95_addVecListOperands, 3, CVT_95_addAlignedMemory64Operands, 4, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2915             :   // Convert__VecListThreeQHWordIndexed2_2__AlignedMemoryNone2_3__CondCode2_0
    2916             :   { CVT_95_addVecListIndexedOperands, 3, CVT_95_addAlignedMemoryNoneOperands, 4, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2917             :   // Convert__VecListThreeDWordIndexed2_2__AlignedMemoryNone2_3__CondCode2_0
    2918             :   { CVT_95_addVecListIndexedOperands, 3, CVT_95_addAlignedMemoryNoneOperands, 4, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2919             :   // Convert__VecListThreeQWordIndexed2_2__AlignedMemoryNone2_3__CondCode2_0
    2920             :   { CVT_95_addVecListIndexedOperands, 3, CVT_95_addAlignedMemoryNoneOperands, 4, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2921             :   // Convert__VecListThreeDByteIndexed2_2__AlignedMemoryNone2_3__CondCode2_0
    2922             :   { CVT_95_addVecListIndexedOperands, 3, CVT_95_addAlignedMemoryNoneOperands, 4, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2923             :   // Convert__VecListThreeDAllLanes1_2__DupAlignedMemoryNone2_3__Reg1_4__CondCode2_0
    2924             :   { CVT_95_addVecListOperands, 3, CVT_95_addDupAlignedMemoryNoneOperands, 4, CVT_95_Reg, 5, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2925             :   // Convert__VecListThreeD1_2__AlignedMemory642_3__Reg1_4__CondCode2_0
    2926             :   { CVT_95_addVecListOperands, 3, CVT_95_addAlignedMemory64Operands, 4, CVT_95_Reg, 5, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2927             :   // Convert__VecListThreeDHWordIndexed2_2__AlignedMemoryNone2_3__Reg1_4__CondCode2_0
    2928             :   { CVT_95_addVecListIndexedOperands, 3, CVT_95_addAlignedMemoryNoneOperands, 4, CVT_95_Reg, 5, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2929             :   // Convert__VecListThreeQAllLanes1_2__DupAlignedMemoryNone2_3__Reg1_4__CondCode2_0
    2930             :   { CVT_95_addVecListOperands, 3, CVT_95_addDupAlignedMemoryNoneOperands, 4, CVT_95_Reg, 5, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2931             :   // Convert__VecListThreeQ1_2__AlignedMemory642_3__Reg1_4__CondCode2_0
    2932             :   { CVT_95_addVecListOperands, 3, CVT_95_addAlignedMemory64Operands, 4, CVT_95_Reg, 5, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2933             :   // Convert__VecListThreeQHWordIndexed2_2__AlignedMemoryNone2_3__Reg1_4__CondCode2_0
    2934             :   { CVT_95_addVecListIndexedOperands, 3, CVT_95_addAlignedMemoryNoneOperands, 4, CVT_95_Reg, 5, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2935             :   // Convert__VecListThreeDWordIndexed2_2__AlignedMemoryNone2_3__Reg1_4__CondCode2_0
    2936             :   { CVT_95_addVecListIndexedOperands, 3, CVT_95_addAlignedMemoryNoneOperands, 4, CVT_95_Reg, 5, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2937             :   // Convert__VecListThreeQWordIndexed2_2__AlignedMemoryNone2_3__Reg1_4__CondCode2_0
    2938             :   { CVT_95_addVecListIndexedOperands, 3, CVT_95_addAlignedMemoryNoneOperands, 4, CVT_95_Reg, 5, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2939             :   // Convert__VecListThreeDByteIndexed2_2__AlignedMemoryNone2_3__Reg1_4__CondCode2_0
    2940             :   { CVT_95_addVecListIndexedOperands, 3, CVT_95_addAlignedMemoryNoneOperands, 4, CVT_95_Reg, 5, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2941             :   // Convert__Reg1_3__Reg1_4__Reg1_5__AlignedMemory2_7__CondCode2_0
    2942             :   { CVT_95_Reg, 4, CVT_95_Reg, 5, CVT_95_Reg, 6, CVT_95_addAlignedMemoryOperands, 8, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2943             :   // Convert__Reg1_3__Reg1_4__Reg1_5__imm_95_0__AlignedMemory2_7__Imm1_8__CondCode2_0
    2944             :   { CVT_95_Reg, 4, CVT_95_Reg, 5, CVT_95_Reg, 6, CVT_imm_95_0, 0, CVT_95_addAlignedMemoryOperands, 8, CVT_95_addImmOperands, 9, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2945             :   // Convert__Reg1_3__Reg1_6__Reg1_9__AlignedMemory2_13__CondCode2_0
    2946             :   { CVT_95_Reg, 4, CVT_95_Reg, 7, CVT_95_Reg, 10, CVT_95_addAlignedMemoryOperands, 14, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2947             :   // Convert__Reg1_3__Reg1_6__Reg1_9__imm_95_0__DupAlignedMemory642_13__Imm1_14__CondCode2_0
    2948             :   { CVT_95_Reg, 4, CVT_95_Reg, 7, CVT_95_Reg, 10, CVT_imm_95_0, 0, CVT_95_addDupAlignedMemory64Operands, 14, CVT_95_addImmOperands, 15, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2949             :   // Convert__VecListFourDAllLanes1_2__DupAlignedMemory642_3__CondCode2_0
    2950             :   { CVT_95_addVecListOperands, 3, CVT_95_addDupAlignedMemory64Operands, 4, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2951             :   // Convert__VecListFourDHWordIndexed2_2__AlignedMemory642_3__CondCode2_0
    2952             :   { CVT_95_addVecListIndexedOperands, 3, CVT_95_addAlignedMemory64Operands, 4, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2953             :   // Convert__VecListFourQAllLanes1_2__DupAlignedMemory642_3__CondCode2_0
    2954             :   { CVT_95_addVecListOperands, 3, CVT_95_addDupAlignedMemory64Operands, 4, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2955             :   // Convert__VecListFourQ1_2__AlignedMemory64or128or2562_3__CondCode2_0
    2956             :   { CVT_95_addVecListOperands, 3, CVT_95_addAlignedMemory64or128or256Operands, 4, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2957             :   // Convert__VecListFourQHWordIndexed2_2__AlignedMemory642_3__CondCode2_0
    2958             :   { CVT_95_addVecListIndexedOperands, 3, CVT_95_addAlignedMemory64Operands, 4, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2959             :   // Convert__VecListFourDAllLanes1_2__DupAlignedMemory64or1282_3__CondCode2_0
    2960             :   { CVT_95_addVecListOperands, 3, CVT_95_addDupAlignedMemory64or128Operands, 4, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2961             :   // Convert__VecListFourDWordIndexed2_2__AlignedMemory64or1282_3__CondCode2_0
    2962             :   { CVT_95_addVecListIndexedOperands, 3, CVT_95_addAlignedMemory64or128Operands, 4, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2963             :   // Convert__VecListFourQAllLanes1_2__DupAlignedMemory64or1282_3__CondCode2_0
    2964             :   { CVT_95_addVecListOperands, 3, CVT_95_addDupAlignedMemory64or128Operands, 4, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2965             :   // Convert__VecListFourQWordIndexed2_2__AlignedMemory64or1282_3__CondCode2_0
    2966             :   { CVT_95_addVecListIndexedOperands, 3, CVT_95_addAlignedMemory64or128Operands, 4, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2967             :   // Convert__VecListFourDAllLanes1_2__DupAlignedMemory322_3__CondCode2_0
    2968             :   { CVT_95_addVecListOperands, 3, CVT_95_addDupAlignedMemory32Operands, 4, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2969             :   // Convert__VecListFourDByteIndexed2_2__AlignedMemory322_3__CondCode2_0
    2970             :   { CVT_95_addVecListIndexedOperands, 3, CVT_95_addAlignedMemory32Operands, 4, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2971             :   // Convert__VecListFourQAllLanes1_2__DupAlignedMemory322_3__CondCode2_0
    2972             :   { CVT_95_addVecListOperands, 3, CVT_95_addDupAlignedMemory32Operands, 4, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2973             :   // Convert__VecListFourDAllLanes1_2__DupAlignedMemory642_3__Reg1_4__CondCode2_0
    2974             :   { CVT_95_addVecListOperands, 3, CVT_95_addDupAlignedMemory64Operands, 4, CVT_95_Reg, 5, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2975             :   // Convert__VecListFourD1_2__AlignedMemory64or128or2562_3__Reg1_4__CondCode2_0
    2976             :   { CVT_95_addVecListOperands, 3, CVT_95_addAlignedMemory64or128or256Operands, 4, CVT_95_Reg, 5, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2977             :   // Convert__VecListFourDHWordIndexed2_2__AlignedMemory642_3__Reg1_4__CondCode2_0
    2978             :   { CVT_95_addVecListIndexedOperands, 3, CVT_95_addAlignedMemory64Operands, 4, CVT_95_Reg, 5, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2979             :   // Convert__VecListFourQAllLanes1_2__DupAlignedMemory642_3__Reg1_4__CondCode2_0
    2980             :   { CVT_95_addVecListOperands, 3, CVT_95_addDupAlignedMemory64Operands, 4, CVT_95_Reg, 5, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2981             :   // Convert__VecListFourQ1_2__AlignedMemory64or128or2562_3__Reg1_4__CondCode2_0
    2982             :   { CVT_95_addVecListOperands, 3, CVT_95_addAlignedMemory64or128or256Operands, 4, CVT_95_Reg, 5, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2983             :   // Convert__VecListFourQHWordIndexed2_2__AlignedMemory642_3__Reg1_4__CondCode2_0
    2984             :   { CVT_95_addVecListIndexedOperands, 3, CVT_95_addAlignedMemory64Operands, 4, CVT_95_Reg, 5, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2985             :   // Convert__VecListFourDAllLanes1_2__DupAlignedMemory64or1282_3__Reg1_4__CondCode2_0
    2986             :   { CVT_95_addVecListOperands, 3, CVT_95_addDupAlignedMemory64or128Operands, 4, CVT_95_Reg, 5, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2987             :   // Convert__VecListFourDWordIndexed2_2__AlignedMemory64or1282_3__Reg1_4__CondCode2_0
    2988             :   { CVT_95_addVecListIndexedOperands, 3, CVT_95_addAlignedMemory64or128Operands, 4, CVT_95_Reg, 5, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2989             :   // Convert__VecListFourQAllLanes1_2__DupAlignedMemory64or1282_3__Reg1_4__CondCode2_0
    2990             :   { CVT_95_addVecListOperands, 3, CVT_95_addDupAlignedMemory64or128Operands, 4, CVT_95_Reg, 5, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2991             :   // Convert__VecListFourQWordIndexed2_2__AlignedMemory64or1282_3__Reg1_4__CondCode2_0
    2992             :   { CVT_95_addVecListIndexedOperands, 3, CVT_95_addAlignedMemory64or128Operands, 4, CVT_95_Reg, 5, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2993             :   // Convert__VecListFourDAllLanes1_2__DupAlignedMemory322_3__Reg1_4__CondCode2_0
    2994             :   { CVT_95_addVecListOperands, 3, CVT_95_addDupAlignedMemory32Operands, 4, CVT_95_Reg, 5, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2995             :   // Convert__VecListFourDByteIndexed2_2__AlignedMemory322_3__Reg1_4__CondCode2_0
    2996             :   { CVT_95_addVecListIndexedOperands, 3, CVT_95_addAlignedMemory32Operands, 4, CVT_95_Reg, 5, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2997             :   // Convert__VecListFourQAllLanes1_2__DupAlignedMemory322_3__Reg1_4__CondCode2_0
    2998             :   { CVT_95_addVecListOperands, 3, CVT_95_addDupAlignedMemory32Operands, 4, CVT_95_Reg, 5, CVT_95_addCondCodeOperands, 1, CVT_Done },
    2999             :   // Convert__Reg1_3__Reg1_4__Reg1_5__Reg1_6__AlignedMemory2_8__CondCode2_0
    3000             :   { CVT_95_Reg, 4, CVT_95_Reg, 5, CVT_95_Reg, 6, CVT_95_Reg, 7, CVT_95_addAlignedMemoryOperands, 9, CVT_95_addCondCodeOperands, 1, CVT_Done },
    3001             :   // Convert__Reg1_3__Reg1_4__Reg1_5__Reg1_6__imm_95_0__AlignedMemory2_8__Imm1_9__CondCode2_0
    3002             :   { CVT_95_Reg, 4, CVT_95_Reg, 5, CVT_95_Reg, 6, CVT_95_Reg, 7, CVT_imm_95_0, 0, CVT_95_addAlignedMemoryOperands, 9, CVT_95_addImmOperands, 10, CVT_95_addCondCodeOperands, 1, CVT_Done },
    3003             :   // Convert__Reg1_3__Reg1_6__Reg1_9__Reg1_12__AlignedMemory2_16__CondCode2_0
    3004             :   { CVT_95_Reg, 4, CVT_95_Reg, 7, CVT_95_Reg, 10, CVT_95_Reg, 13, CVT_95_addAlignedMemoryOperands, 17, CVT_95_addCondCodeOperands, 1, CVT_Done },
    3005             :   // Convert__Reg1_3__Reg1_6__Reg1_9__Reg1_12__imm_95_0__AlignedMemory2_16__Imm1_17__CondCode2_0
    3006             :   { CVT_95_Reg, 4, CVT_95_Reg, 7, CVT_95_Reg, 10, CVT_95_Reg, 13, CVT_imm_95_0, 0, CVT_95_addAlignedMemoryOperands, 17, CVT_95_addImmOperands, 18, CVT_95_addCondCodeOperands, 1, CVT_Done },
    3007             :   // Convert__Reg1_1__Tie0_2_2__CondCode2_0__SPRRegList1_3
    3008             :   { CVT_95_Reg, 2, CVT_Tied, Tie0_2_2, CVT_95_addCondCodeOperands, 1, CVT_95_addSPRRegListOperands, 4, CVT_Done },
    3009             :   // Convert__Reg1_1__CondCode2_0__SPRRegList1_2
    3010             :   { CVT_95_Reg, 2, CVT_95_addCondCodeOperands, 1, CVT_95_addSPRRegListOperands, 3, CVT_Done },
    3011             :   // Convert__Reg1_1__AddrMode52_2__CondCode2_0
    3012             :   { CVT_95_Reg, 2, CVT_95_addAddrMode5Operands, 3, CVT_95_addCondCodeOperands, 1, CVT_Done },
    3013             :   // Convert__Reg1_2__AddrMode5FP162_3__CondCode2_0
    3014             :   { CVT_95_Reg, 3, CVT_95_addAddrMode5FP16Operands, 4, CVT_95_addCondCodeOperands, 1, CVT_Done },
    3015             :   // Convert__Reg1_2__AddrMode52_3__CondCode2_0
    3016             :   { CVT_95_Reg, 3, CVT_95_addAddrMode5Operands, 4, CVT_95_addCondCodeOperands, 1, CVT_Done },
    3017             :   // Convert__Reg1_1__Reg1_2__Reg1_3
    3018             :   { CVT_95_Reg, 2, CVT_95_Reg, 3, CVT_95_Reg, 4, CVT_Done },
    3019             :   // Convert__Reg1_2__Tie0_1_1__Reg1_3__Reg1_4__VectorIndex321_5__CondCode2_0
    3020             :   { CVT_95_Reg, 3, CVT_Tied, Tie0_1_1, CVT_95_Reg, 4, CVT_95_Reg, 5, CVT_95_addVectorIndex32Operands, 6, CVT_95_addCondCodeOperands, 1, CVT_Done },
    3021             :   // Convert__Reg1_2__Tie0_1_1__Reg1_3__Reg1_4__VectorIndex161_5__CondCode2_0
    3022             :   { CVT_95_Reg, 3, CVT_Tied, Tie0_1_1, CVT_95_Reg, 4, CVT_95_Reg, 5, CVT_95_addVectorIndex16Operands, 6, CVT_95_addCondCodeOperands, 1, CVT_Done },
    3023             :   // Convert__Reg1_1__Reg1_2__Reg1_2__CondCode2_0
    3024             :   { CVT_95_Reg, 2, CVT_95_Reg, 3, CVT_95_Reg, 3, CVT_95_addCondCodeOperands, 1, CVT_Done },
    3025             :   // Convert__Reg1_2__FPImm1_3__CondCode2_0
    3026             :   { CVT_95_Reg, 3, CVT_95_addFPImmOperands, 4, CVT_95_addCondCodeOperands, 1, CVT_Done },
    3027             :   // Convert__Reg1_2__NEONi32vmov1_3__CondCode2_0
    3028             :   { CVT_95_Reg, 3, CVT_95_addNEONi32vmovOperands, 4, CVT_95_addCondCodeOperands, 1, CVT_Done },
    3029             :   // Convert__Reg1_2__NEONi16vmovi8Replicate1_3__CondCode2_0
    3030             :   { CVT_95_Reg, 3, CVT_95_addNEONvmovi8ReplicateOperands, 4, CVT_95_addCondCodeOperands, 1, CVT_Done },
    3031             :   // Convert__Reg1_2__NEONi16splat1_3__CondCode2_0
    3032             :   { CVT_95_Reg, 3, CVT_95_addNEONi16splatOperands, 4, CVT_95_addCondCodeOperands, 1, CVT_Done },
    3033             :   // Convert__Reg1_2__NEONi32vmovi8Replicate1_3__CondCode2_0
    3034             :   { CVT_95_Reg, 3, CVT_95_addNEONvmovi8ReplicateOperands, 4, CVT_95_addCondCodeOperands, 1, CVT_Done },
    3035             :   // Convert__Reg1_2__NEONi32vmovi16Replicate1_3__CondCode2_0
    3036             :   { CVT_95_Reg, 3, CVT_95_addNEONvmovi16ReplicateOperands, 4, CVT_95_addCondCodeOperands, 1, CVT_Done },
    3037             :   // Convert__Reg1_2__NEONi32vmovNeg1_3__CondCode2_0
    3038             :   { CVT_95_Reg, 3, CVT_95_addNEONi32vmovNegOperands, 4, CVT_95_addCondCodeOperands, 1, CVT_Done },
    3039             :   // Convert__Reg1_2__NEONi64vmovi8Replicate1_3__CondCode2_0
    3040             :   { CVT_95_Reg, 3, CVT_95_addNEONvmovi8ReplicateOperands, 4, CVT_95_addCondCodeOperands, 1, CVT_Done },
    3041             :   // Convert__Reg1_2__NEONi64vmovi16Replicate1_3__CondCode2_0
    3042             :   { CVT_95_Reg, 3, CVT_95_addNEONvmovi16ReplicateOperands, 4, CVT_95_addCondCodeOperands, 1, CVT_Done },
    3043             :   // Convert__Reg1_2__NEONi64vmovi32Replicate1_3__CondCode2_0
    3044             :   { CVT_95_Reg, 3, CVT_95_addNEONvmovi32ReplicateOperands, 4, CVT_95_addCondCodeOperands, 1, CVT_Done },
    3045             :   // Convert__Reg1_2__NEONi64splat1_3__CondCode2_0
    3046             :   { CVT_95_Reg, 3, CVT_95_addNEONi64splatOperands, 4, CVT_95_addCondCodeOperands, 1, CVT_Done },
    3047             :   // Convert__Reg1_2__NEONi8splat1_3__CondCode2_0
    3048             :   { CVT_95_Reg, 3, CVT_95_addNEONi8splatOperands, 4, CVT_95_addCondCodeOperands, 1, CVT_Done },
    3049             :   // Convert__Reg1_2__Reg1_3__Reg1_3__CondCode2_0
    3050             :   { CVT_95_Reg, 3, CVT_95_Reg, 4, CVT_95_Reg, 4, CVT_95_addCondCodeOperands, 1, CVT_Done },
    3051             :   // Convert__Reg1_2__Tie0_1_1__Reg1_4__VectorIndex161_3__CondCode2_0
    3052             :   { CVT_95_Reg, 3, CVT_Tied, Tie0_1_1, CVT_95_Reg, 5, CVT_95_addVectorIndex16Operands, 4, CVT_95_addCondCodeOperands, 1, CVT_Done },
    3053             :   // Convert__Reg1_2__Tie0_1_1__Reg1_4__VectorIndex321_3__CondCode2_0
    3054             :   { CVT_95_Reg, 3, CVT_Tied, Tie0_1_1, CVT_95_Reg, 5, CVT_95_addVectorIndex32Operands, 4, CVT_95_addCondCodeOperands, 1, CVT_Done },
    3055             :   // Convert__Reg1_2__Tie0_1_1__Reg1_4__VectorIndex81_3__CondCode2_0
    3056             :   { CVT_95_Reg, 3, CVT_Tied, Tie0_1_1, CVT_95_Reg, 5, CVT_95_addVectorIndex8Operands, 4, CVT_95_addCondCodeOperands, 1, CVT_Done },
    3057             :   // Convert__Reg1_2__Reg1_2__Reg1_3__VectorIndex321_4__CondCode2_0
    3058             :   { CVT_95_Reg, 3, CVT_95_Reg, 3, CVT_95_Reg, 4, CVT_95_addVectorIndex32Operands, 5, CVT_95_addCondCodeOperands, 1, CVT_Done },
    3059             :   // Convert__Reg1_2__Reg1_2__Reg1_3__VectorIndex161_4__CondCode2_0
    3060             :   { CVT_95_Reg, 3, CVT_95_Reg, 3, CVT_95_Reg, 4, CVT_95_addVectorIndex16Operands, 5, CVT_95_addCondCodeOperands, 1, CVT_Done },
    3061             :   // Convert__Reg1_2__Reg1_3__Reg1_4__VectorIndex321_5__CondCode2_0
    3062             :   { CVT_95_Reg, 3, CVT_95_Reg, 4, CVT_95_Reg, 5, CVT_95_addVectorIndex32Operands, 6, CVT_95_addCondCodeOperands, 1, CVT_Done },
    3063             :   // Convert__Reg1_2__Reg1_3__Reg1_4__VectorIndex161_5__CondCode2_0
    3064             :   { CVT_95_Reg, 3, CVT_95_Reg, 4, CVT_95_Reg, 5, CVT_95_addVectorIndex16Operands, 6, CVT_95_addCondCodeOperands, 1, CVT_Done },
    3065             :   // Convert__Reg1_2__NEONi16invi8Replicate1_3__CondCode2_0
    3066             :   { CVT_95_Reg, 3, CVT_95_addNEONinvi8ReplicateOperands, 4, CVT_95_addCondCodeOperands, 1, CVT_Done },
    3067             :   // Convert__Reg1_2__NEONi32invi8Replicate1_3__CondCode2_0
    3068             :   { CVT_95_Reg, 3, CVT_95_addNEONinvi8ReplicateOperands, 4, CVT_95_addCondCodeOperands, 1, CVT_Done },
    3069             :   // Convert__Reg1_2__NEONi64invi8Replicate1_3__CondCode2_0
    3070             :   { CVT_95_Reg, 3, CVT_95_addNEONinvi8ReplicateOperands, 4, CVT_95_addCondCodeOperands, 1, CVT_Done },
    3071             :   // Convert__Reg1_2__Tie0_1_1__Reg1_3__CondCode2_0
    3072             :   { CVT_95_Reg, 3, CVT_Tied, Tie0_1_1, CVT_95_Reg, 4, CVT_95_addCondCodeOperands, 1, CVT_Done },
    3073             :   // Convert__regSP__Tie0_1_1__CondCode2_0__DPRRegList1_1
    3074             :   { CVT_regSP, 0, CVT_Tied, Tie0_1_1, CVT_95_addCondCodeOperands, 1, CVT_95_addDPRRegListOperands, 2, CVT_Done },
    3075             :   // Convert__regSP__Tie0_1_1__CondCode2_0__SPRRegList1_1
    3076             :   { CVT_regSP, 0, CVT_Tied, Tie0_1_1, CVT_95_addCondCodeOperands, 1, CVT_95_addSPRRegListOperands, 2, CVT_Done },
    3077             :   // Convert__regSP__Tie0_1_1__CondCode2_0__DPRRegList1_2
    3078             :   { CVT_regSP, 0, CVT_Tied, Tie0_1_1, CVT_95_addCondCodeOperands, 1, CVT_95_addDPRRegListOperands, 3, CVT_Done },
    3079             :   // Convert__regSP__Tie0_1_1__CondCode2_0__SPRRegList1_2
    3080             :   { CVT_regSP, 0, CVT_Tied, Tie0_1_1, CVT_95_addCondCodeOperands, 1, CVT_95_addSPRRegListOperands, 3, CVT_Done },
    3081             :   // Convert__Reg1_2__Reg1_3__ShrImm81_4__CondCode2_0
    3082             :   { CVT_95_Reg, 3, CVT_95_Reg, 4, CVT_95_addImmOperands, 5, CVT_95_addCondCodeOperands, 1, CVT_Done },
    3083             :   // Convert__Reg1_2__Reg1_3__ShrImm161_4__CondCode2_0
    3084             :   { CVT_95_Reg, 3, CVT_95_Reg, 4, CVT_95_addImmOperands, 5, CVT_95_addCondCodeOperands, 1, CVT_Done },
    3085             :   // Convert__Reg1_2__Reg1_3__ShrImm321_4__CondCode2_0
    3086             :   { CVT_95_Reg, 3, CVT_95_Reg, 4, CVT_95_addImmOperands, 5, CVT_95_addCondCodeOperands, 1, CVT_Done },
    3087             :   // Convert__Reg1_2__Reg1_2__Imm1_3__CondCode2_0
    3088             :   { CVT_95_Reg, 3, CVT_95_Reg, 3, CVT_95_addImmOperands, 4, CVT_95_addCondCodeOperands, 1, CVT_Done },
    3089             :   // Convert__Reg1_2__Reg1_3__Imm1_4__CondCode2_0
    3090             :   { CVT_95_Reg, 3, CVT_95_Reg, 4, CVT_95_addImmOperands, 5, CVT_95_addCondCodeOperands, 1, CVT_Done },
    3091             :   // Convert__Reg1_2__Reg1_2__ShrImm161_3__CondCode2_0
    3092             :   { CVT_95_Reg, 3, CVT_95_Reg, 3, CVT_95_addImmOperands, 4, CVT_95_addCondCodeOperands, 1, CVT_Done },
    3093             :   // Convert__Reg1_2__Reg1_2__ShrImm321_3__CondCode2_0
    3094             :   { CVT_95_Reg, 3, CVT_95_Reg, 3, CVT_95_addImmOperands, 4, CVT_95_addCondCodeOperands, 1, CVT_Done },
    3095             :   // Convert__Reg1_2__Reg1_2__ShrImm641_3__CondCode2_0
    3096             :   { CVT_95_Reg, 3, CVT_95_Reg, 3, CVT_95_addImmOperands, 4, CVT_95_addCondCodeOperands, 1, CVT_Done },
    3097             :   // Convert__Reg1_2__Reg1_2__ShrImm81_3__CondCode2_0
    3098             :   { CVT_95_Reg, 3, CVT_95_Reg, 3, CVT_95_addImmOperands, 4, CVT_95_addCondCodeOperands, 1, CVT_Done },
    3099             :   // Convert__Reg1_2__Reg1_3__ShrImm641_4__CondCode2_0
    3100             :   { CVT_95_Reg, 3, CVT_95_Reg, 4, CVT_95_addImmOperands, 5, CVT_95_addCondCodeOperands, 1, CVT_Done },
    3101             :   // Convert__Reg1_2__Tie0_1_1__Reg1_2__ShrImm161_3__CondCode2_0
    3102             :   { CVT_95_Reg, 3, CVT_Tied, Tie0_1_1, CVT_95_Reg, 3, CVT_95_addImmOperands, 4, CVT_95_addCondCodeOperands, 1, CVT_Done },
    3103             :   // Convert__Reg1_2__Tie0_1_1__Reg1_2__ShrImm321_3__CondCode2_0
    3104             :   { CVT_95_Reg, 3, CVT_Tied, Tie0_1_1, CVT_95_Reg, 3, CVT_95_addImmOperands, 4, CVT_95_addCondCodeOperands, 1, CVT_Done },
    3105             :   // Convert__Reg1_2__Tie0_1_1__Reg1_2__ShrImm641_3__CondCode2_0
    3106             :   { CVT_95_Reg, 3, CVT_Tied, Tie0_1_1, CVT_95_Reg, 3, CVT_95_addImmOperands, 4, CVT_95_addCondCodeOperands, 1, CVT_Done },
    3107             :   // Convert__Reg1_2__Tie0_1_1__Reg1_2__ShrImm81_3__CondCode2_0
    3108             :   { CVT_95_Reg, 3, CVT_Tied, Tie0_1_1, CVT_95_Reg, 3, CVT_95_addImmOperands, 4, CVT_95_addCondCodeOperands, 1, CVT_Done },
    3109             :   // Convert__Reg1_2__Tie0_1_1__Reg1_3__ShrImm161_4__CondCode2_0
    3110             :   { CVT_95_Reg, 3, CVT_Tied, Tie0_1_1, CVT_95_Reg, 4, CVT_95_addImmOperands, 5, CVT_95_addCondCodeOperands, 1, CVT_Done },
    3111             :   // Convert__Reg1_2__Tie0_1_1__Reg1_3__ShrImm321_4__CondCode2_0
    3112             :   { CVT_95_Reg, 3, CVT_Tied, Tie0_1_1, CVT_95_Reg, 4, CVT_95_addImmOperands, 5, CVT_95_addCondCodeOperands, 1, CVT_Done },
    3113             :   // Convert__Reg1_2__Tie0_1_1__Reg1_3__ShrImm641_4__CondCode2_0
    3114             :   { CVT_95_Reg, 3, CVT_Tied, Tie0_1_1, CVT_95_Reg, 4, CVT_95_addImmOperands, 5, CVT_95_addCondCodeOperands, 1, CVT_Done },
    3115             :   // Convert__Reg1_2__Tie0_1_1__Reg1_3__ShrImm81_4__CondCode2_0
    3116             :   { CVT_95_Reg, 3, CVT_Tied, Tie0_1_1, CVT_95_Reg, 4, CVT_95_addImmOperands, 5, CVT_95_addCondCodeOperands, 1, CVT_Done },
    3117             :   // Convert__Reg1_1__Tie0_2_2__Reg1_2__Reg1_3
    3118             :   { CVT_95_Reg, 2, CVT_Tied, Tie0_2_2, CVT_95_Reg, 3, CVT_95_Reg, 4, CVT_Done },
    3119             :   // Convert__Reg1_1__Tie0_2_2__Reg1_2__Reg1_3__VectorIndex321_4
    3120             :   { CVT_95_Reg, 2, CVT_Tied, Tie0_2_2, CVT_95_Reg, 3, CVT_95_Reg, 4, CVT_95_addVectorIndex32Operands, 5, CVT_Done },
    3121             :   // Convert__Reg1_2__Reg1_3__Imm1_151_4__CondCode2_0
    3122             :   { CVT_95_Reg, 3, CVT_95_Reg, 4, CVT_95_addImmOperands, 5, CVT_95_addCondCodeOperands, 1, CVT_Done },
    3123             :   // Convert__Reg1_2__Reg1_3__Imm1_311_4__CondCode2_0
    3124             :   { CVT_95_Reg, 3, CVT_95_Reg, 4, CVT_95_addImmOperands, 5, CVT_95_addCondCodeOperands, 1, CVT_Done },
    3125             :   // Convert__Reg1_2__Reg1_3__Imm1_71_4__CondCode2_0
    3126             :   { CVT_95_Reg, 3, CVT_95_Reg, 4, CVT_95_addImmOperands, 5, CVT_95_addCondCodeOperands, 1, CVT_Done },
    3127             :   // Convert__Reg1_2__Reg1_3__Imm161_4__CondCode2_0
    3128             :   { CVT_95_Reg, 3, CVT_95_Reg, 4, CVT_95_addImmOperands, 5, CVT_95_addCondCodeOperands, 1, CVT_Done },
    3129             :   // Convert__Reg1_2__Reg1_3__Imm321_4__CondCode2_0
    3130             :   { CVT_95_Reg, 3, CVT_95_Reg, 4, CVT_95_addImmOperands, 5, CVT_95_addCondCodeOperands, 1, CVT_Done },
    3131             :   // Convert__Reg1_2__Reg1_3__Imm81_4__CondCode2_0
    3132             :   { CVT_95_Reg, 3, CVT_95_Reg, 4, CVT_95_addImmOperands, 5, CVT_95_addCondCodeOperands, 1, CVT_Done },
    3133             :   // Convert__Reg1_2__Tie0_1_1__Reg1_2__Imm1_3__CondCode2_0
    3134             :   { CVT_95_Reg, 3, CVT_Tied, Tie0_1_1, CVT_95_Reg, 3, CVT_95_addImmOperands, 4, CVT_95_addCondCodeOperands, 1, CVT_Done },
    3135             :   // Convert__Reg1_2__Tie0_1_1__Reg1_3__Imm1_4__CondCode2_0
    3136             :   { CVT_95_Reg, 3, CVT_Tied, Tie0_1_1, CVT_95_Reg, 4, CVT_95_addImmOperands, 5, CVT_95_addCondCodeOperands, 1, CVT_Done },
    3137             :   // Convert__AlignedMemory64or1282_3__VecListDPair1_2__CondCode2_0
    3138             :   { CVT_95_addAlignedMemory64or128Operands, 4, CVT_95_addVecListOperands, 3, CVT_95_addCondCodeOperands, 1, CVT_Done },
    3139             :   // Convert__AlignedMemory64or128or2562_3__VecListFourD1_2__CondCode2_0
    3140             :   { CVT_95_addAlignedMemory64or128or256Operands, 4, CVT_95_addVecListOperands, 3, CVT_95_addCondCodeOperands, 1, CVT_Done },
    3141             :   // Convert__AlignedMemory642_3__VecListOneD1_2__CondCode2_0
    3142             :   { CVT_95_addAlignedMemory64Operands, 4, CVT_95_addVecListOperands, 3, CVT_95_addCondCodeOperands, 1, CVT_Done },
    3143             :   // Convert__AlignedMemory642_3__VecListThreeD1_2__CondCode2_0
    3144             :   { CVT_95_addAlignedMemory64Operands, 4, CVT_95_addVecListOperands, 3, CVT_95_addCondCodeOperands, 1, CVT_Done },
    3145             :   // Convert__imm_95_0__AlignedMemory64or1282_3__VecListDPair1_2__CondCode2_0
    3146             :   { CVT_imm_95_0, 0, CVT_95_addAlignedMemory64or128Operands, 4, CVT_95_addVecListOperands, 3, CVT_95_addCondCodeOperands, 1, CVT_Done },
    3147             :   // Convert__imm_95_0__AlignedMemory64or1282_3__Reg1_4__VecListDPair1_2__CondCode2_0
    3148             :   { CVT_imm_95_0, 0, CVT_95_addAlignedMemory64or128Operands, 4, CVT_95_Reg, 5, CVT_95_addVecListOperands, 3, CVT_95_addCondCodeOperands, 1, CVT_Done },
    3149             :   // Convert__imm_95_0__AlignedMemory64or128or2562_3__VecListFourD1_2__CondCode2_0
    3150             :   { CVT_imm_95_0, 0, CVT_95_addAlignedMemory64or128or256Operands, 4, CVT_95_addVecListOperands, 3, CVT_95_addCondCodeOperands, 1, CVT_Done },
    3151             :   // Convert__imm_95_0__AlignedMemory64or128or2562_3__Reg1_4__VecListFourD1_2__CondCode2_0
    3152             :   { CVT_imm_95_0, 0, CVT_95_addAlignedMemory64or128or256Operands, 4, CVT_95_Reg, 5, CVT_95_addVecListOperands, 3, CVT_95_addCondCodeOperands, 1, CVT_Done },
    3153             :   // Convert__imm_95_0__AlignedMemory642_3__VecListOneD1_2__CondCode2_0
    3154             :   { CVT_imm_95_0, 0, CVT_95_addAlignedMemory64Operands, 4, CVT_95_addVecListOperands, 3, CVT_95_addCondCodeOperands, 1, CVT_Done },
    3155             :   // Convert__imm_95_0__AlignedMemory642_3__Reg1_4__VecListOneD1_2__CondCode2_0
    3156             :   { CVT_imm_95_0, 0, CVT_95_addAlignedMemory64Operands, 4, CVT_95_Reg, 5, CVT_95_addVecListOperands, 3, CVT_95_addCondCodeOperands, 1, CVT_Done },
    3157             :   // Convert__imm_95_0__AlignedMemory642_3__VecListThreeD1_2__CondCode2_0
    3158             :   { CVT_imm_95_0, 0, CVT_95_addAlignedMemory64Operands, 4, CVT_95_addVecListOperands, 3, CVT_95_addCondCodeOperands, 1, CVT_Done },
    3159             :   // Convert__imm_95_0__AlignedMemory642_3__Reg1_4__VecListThreeD1_2__CondCode2_0
    3160             :   { CVT_imm_95_0, 0, CVT_95_addAlignedMemory64Operands, 4, CVT_95_Reg, 5, CVT_95_addVecListOperands, 3, CVT_95_addCondCodeOperands, 1, CVT_Done },
    3161             :   // Convert__AlignedMemory2_8__Reg1_3__Imm1_5__CondCode2_0
    3162             :   { CVT_95_addAlignedMemoryOperands, 9, CVT_95_Reg, 4, CVT_95_addImmOperands, 6, CVT_95_addCondCodeOperands, 1, CVT_Done },
    3163             :   // Convert__imm_95_0__AlignedMemory2_8__Imm1_9__Reg1_3__Imm1_5__CondCode2_0
    3164             :   { CVT_imm_95_0, 0, CVT_95_addAlignedMemoryOperands, 9, CVT_95_addImmOperands, 10, CVT_95_Reg, 4, CVT_95_addImmOperands, 6, CVT_95_addCondCodeOperands, 1, CVT_Done },
    3165             :   // Convert__Reg1_8__Imm1_9__Reg1_3__Imm1_5__CondCode2_0
    3166             :   { CVT_95_Reg, 9, CVT_95_addImmOperands, 10, CVT_95_Reg, 4, CVT_95_addImmOperands, 6, CVT_95_addCondCodeOperands, 1, CVT_Done },
    3167             :   // Convert__imm_95_0__Reg1_8__Imm1_9__Imm1_10__Reg1_3__Imm1_5__CondCode2_0
    3168             :   { CVT_imm_95_0, 0, CVT_95_Reg, 9, CVT_95_addImmOperands, 10, CVT_95_addImmOperands, 11, CVT_95_Reg, 4, CVT_95_addImmOperands, 6, CVT_95_addCondCodeOperands, 1, CVT_Done },
    3169             :   // Convert__AlignedMemory64or1282_3__VecListDPairSpaced1_2__CondCode2_0
    3170             :   { CVT_95_addAlignedMemory64or128Operands, 4, CVT_95_addVecListOperands, 3, CVT_95_addCondCodeOperands, 1, CVT_Done },
    3171             :   // Convert__imm_95_0__AlignedMemory64or1282_3__VecListDPairSpaced1_2__CondCode2_0
    3172             :   { CVT_imm_95_0, 0, CVT_95_addAlignedMemory64or128Operands, 4, CVT_95_addVecListOperands, 3, CVT_95_addCondCodeOperands, 1, CVT_Done },
    3173             :   // Convert__imm_95_0__AlignedMemory64or1282_3__Reg1_4__VecListDPairSpaced1_2__CondCode2_0
    3174             :   { CVT_imm_95_0, 0, CVT_95_addAlignedMemory64or128Operands, 4, CVT_95_Reg, 5, CVT_95_addVecListOperands, 3, CVT_95_addCondCodeOperands, 1, CVT_Done },
    3175             :   // Convert__AlignedMemory2_7__Reg1_3__Reg1_4__Reg1_5__CondCode2_0
    3176             :   { CVT_95_addAlignedMemoryOperands, 8, CVT_95_Reg, 4, CVT_95_Reg, 5, CVT_95_Reg, 6, CVT_95_addCondCodeOperands, 1, CVT_Done },
    3177             :   // Convert__imm_95_0__AlignedMemory2_7__Imm1_8__Reg1_3__Reg1_4__Reg1_5__CondCode2_0
    3178             :   { CVT_imm_95_0, 0, CVT_95_addAlignedMemoryOperands, 8, CVT_95_addImmOperands, 9, CVT_95_Reg, 4, CVT_95_Reg, 5, CVT_95_Reg, 6, CVT_95_addCondCodeOperands, 1, CVT_Done },
    3179             :   // Convert__AlignedMemory2_8__Reg1_3__Reg1_4__Reg1_5__Reg1_6__CondCode2_0
    3180             :   { CVT_95_addAlignedMemoryOperands, 9, CVT_95_Reg, 4, CVT_95_Reg, 5, CVT_95_Reg, 6, CVT_95_Reg, 7, CVT_95_addCondCodeOperands, 1, CVT_Done },
    3181             :   // Convert__imm_95_0__AlignedMemory2_8__Imm1_9__Reg1_3__Reg1_4__Reg1_5__Reg1_6__CondCode2_0
    3182             :   { CVT_imm_95_0, 0, CVT_95_addAlignedMemoryOperands, 9, CVT_95_addImmOperands, 10, CVT_95_Reg, 4, CVT_95_Reg, 5, CVT_95_Reg, 6, CVT_95_Reg, 7, CVT_95_addCondCodeOperands, 1, CVT_Done },
    3183             :   // Convert__Reg1_1__Reg1_2__Tie0_1_1__Tie1_1_1__CondCode2_0
    3184             :   { CVT_95_Reg, 2, CVT_95_Reg, 3, CVT_Tied, Tie0_1_1, CVT_Tied, Tie1_1_1, CVT_95_addCondCodeOperands, 1, CVT_Done },
    3185             :   // Convert__Reg1_2__Reg1_3__Tie0_3_3__Tie1_4_4__CondCode2_0
    3186             :   { CVT_95_Reg, 3, CVT_95_Reg, 4, CVT_Tied, Tie0_3_3, CVT_Tied, Tie1_4_4, CVT_95_addCondCodeOperands, 1, CVT_Done },
    3187             :   // Convert__Reg1_2__VecListDPair1_3__Reg1_4__CondCode2_0
    3188             :   { CVT_95_Reg, 3, CVT_95_addVecListOperands, 4, CVT_95_Reg, 5, CVT_95_addCondCodeOperands, 1, CVT_Done },
    3189             :   // Convert__Reg1_2__VecListFourD1_3__Reg1_4__CondCode2_0
    3190             :   { CVT_95_Reg, 3, CVT_95_addVecListOperands, 4, CVT_95_Reg, 5, CVT_95_addCondCodeOperands, 1, CVT_Done },
    3191             :   // Convert__Reg1_2__VecListOneD1_3__Reg1_4__CondCode2_0
    3192             :   { CVT_95_Reg, 3, CVT_95_addVecListOperands, 4, CVT_95_Reg, 5, CVT_95_addCondCodeOperands, 1, CVT_Done },
    3193             :   // Convert__Reg1_2__VecListThreeD1_3__Reg1_4__CondCode2_0
    3194             :   { CVT_95_Reg, 3, CVT_95_addVecListOperands, 4, CVT_95_Reg, 5, CVT_95_addCondCodeOperands, 1, CVT_Done },
    3195             :   // Convert__Reg1_2__Tie0_1_1__VecListDPair1_3__Reg1_4__CondCode2_0
    3196             :   { CVT_95_Reg, 3, CVT_Tied, Tie0_1_1, CVT_95_addVecListOperands, 4, CVT_95_Reg, 5, CVT_95_addCondCodeOperands, 1, CVT_Done },
    3197             :   // Convert__Reg1_2__Tie0_1_1__VecListFourD1_3__Reg1_4__CondCode2_0
    3198             :   { CVT_95_Reg, 3, CVT_Tied, Tie0_1_1, CVT_95_addVecListOperands, 4, CVT_95_Reg, 5, CVT_95_addCondCodeOperands, 1, CVT_Done },
    3199             :   // Convert__Reg1_2__Tie0_1_1__VecListOneD1_3__Reg1_4__CondCode2_0
    3200             :   { CVT_95_Reg, 3, CVT_Tied, Tie0_1_1, CVT_95_addVecListOperands, 4, CVT_95_Reg, 5, CVT_95_addCondCodeOperands, 1, CVT_Done },
    3201             :   // Convert__Reg1_2__Tie0_1_1__VecListThreeD1_3__Reg1_4__CondCode2_0
    3202             :   { CVT_95_Reg, 3, CVT_Tied, Tie0_1_1, CVT_95_addVecListOperands, 4, CVT_95_Reg, 5, CVT_95_addCondCodeOperands, 1, CVT_Done },
    3203             :   // Convert__Reg1_2__Reg1_3__Tie0_1_1__Tie1_1_1__CondCode2_0
    3204             :   { CVT_95_Reg, 3, CVT_95_Reg, 4, CVT_Tied, Tie0_1_1, CVT_Tied, Tie1_1_1, CVT_95_addCondCodeOperands, 1, CVT_Done },
    3205             :   // Convert__imm_95_2__CondCode2_0
    3206             :   { CVT_imm_95_2, 0, CVT_95_addCondCodeOperands, 1, CVT_Done },
    3207             :   // Convert__imm_95_3__CondCode2_0
    3208             :   { CVT_imm_95_3, 0, CVT_95_addCondCodeOperands, 1, CVT_Done },
    3209             :   // Convert__imm_95_1__CondCode2_0
    3210             :   { CVT_imm_95_1, 0, CVT_95_addCondCodeOperands, 1, CVT_Done },
    3211             : };
    3212             : 
    3213       30078 : void ARMAsmParser::
    3214             : convertToMCInst(unsigned Kind, MCInst &Inst, unsigned Opcode,
    3215             :                 const OperandVector &Operands) {
    3216             :   assert(Kind < CVT_NUM_SIGNATURES && "Invalid signature!");
    3217       30078 :   const uint8_t *Converter = ConversionTable[Kind];
    3218             :   unsigned OpIdx;
    3219             :   Inst.setOpcode(Opcode);
    3220      231480 :   for (const uint8_t *p = Converter; *p; p+= 2) {
    3221      100701 :     OpIdx = *(p + 1);
    3222      100701 :     switch (*p) {
    3223           0 :     default: llvm_unreachable("invalid conversion entry!");
    3224           0 :     case CVT_Reg:
    3225           0 :       static_cast<ARMOperand&>(*Operands[OpIdx]).addRegOperands(Inst, 1);
    3226           0 :       break;
    3227        3044 :     case CVT_Tied: {
    3228             :       assert(OpIdx < (size_t)(std::end(TiedAsmOperandTable) -
    3229             :                           std::begin(TiedAsmOperandTable)) &&
    3230             :              "Tied operand not found");
    3231        3044 :       unsigned TiedResOpnd = TiedAsmOperandTable[OpIdx][0];
    3232             :       Inst.addOperand(Inst.getOperand(TiedResOpnd));
    3233             :       break;
    3234             :     }
    3235       36822 :     case CVT_95_Reg:
    3236       73644 :       static_cast<ARMOperand&>(*Operands[OpIdx]).addRegOperands(Inst, 1);
    3237       36822 :       break;
    3238        5074 :     case CVT_95_addCCOutOperands:
    3239       10148 :       static_cast<ARMOperand&>(*Operands[OpIdx]).addCCOutOperands(Inst, 1);
    3240        5074 :       break;
    3241       21871 :     case CVT_95_addCondCodeOperands:
    3242       43742 :       static_cast<ARMOperand&>(*Operands[OpIdx]).addCondCodeOperands(Inst, 2);
    3243       21871 :       break;
    3244         241 :     case CVT_95_addRegShiftedRegOperands:
    3245         482 :       static_cast<ARMOperand&>(*Operands[OpIdx]).addRegShiftedRegOperands(Inst, 3);
    3246         241 :       break;
    3247        1066 :     case CVT_95_addModImmOperands:
    3248        2132 :       static_cast<ARMOperand&>(*Operands[OpIdx]).addModImmOperands(Inst, 1);
    3249        1066 :       break;
    3250          47 :     case CVT_95_addModImmNotOperands:
    3251          94 :       static_cast<ARMOperand&>(*Operands[OpIdx]).addModImmNotOperands(Inst, 1);
    3252          47 :       break;
    3253         926 :     case CVT_95_addRegShiftedImmOperands:
    3254        1852 :       static_cast<ARMOperand&>(*Operands[OpIdx]).addRegShiftedImmOperands(Inst, 2);
    3255         926 :       break;
    3256        4015 :     case CVT_95_addImmOperands:
    3257        4015 :       static_cast<ARMOperand&>(*Operands[OpIdx]).addImmOperands(Inst, 1);
    3258             :       break;
    3259          59 :     case CVT_95_addT2SOImmNotOperands:
    3260         118 :       static_cast<ARMOperand&>(*Operands[OpIdx]).addT2SOImmNotOperands(Inst, 1);
    3261          59 :       break;
    3262          35 :     case CVT_95_addImm0_95_508s4Operands:
    3263          70 :       static_cast<ARMOperand&>(*Operands[OpIdx]).addImm0_508s4Operands(Inst, 1);
    3264          35 :       break;
    3265             :     case CVT_regSP:
    3266         598 :       Inst.addOperand(MCOperand::createReg(ARM::SP));
    3267         299 :       break;
    3268           6 :     case CVT_95_addImm0_95_508s4NegOperands:
    3269          12 :       static_cast<ARMOperand&>(*Operands[OpIdx]).addImm0_508s4NegOperands(Inst, 1);
    3270           6 :       break;
    3271          10 :     case CVT_95_addImm0_95_4095NegOperands:
    3272          20 :       static_cast<ARMOperand&>(*Operands[OpIdx]).addImm0_4095NegOperands(Inst, 1);
    3273          10 :       break;
    3274           4 :     case CVT_95_addThumbModImmNeg8_95_255Operands:
    3275           8 :       static_cast<ARMOperand&>(*Operands[OpIdx]).addThumbModImmNeg8_255Operands(Inst, 1);
    3276           4 :       break;
    3277          53 :     case CVT_95_addT2SOImmNegOperands:
    3278         106 :       static_cast<ARMOperand&>(*Operands[OpIdx]).addT2SOImmNegOperands(Inst, 1);
    3279          53 :       break;
    3280          34 :     case CVT_95_addModImmNegOperands:
    3281          68 :       static_cast<ARMOperand&>(*Operands[OpIdx]).addModImmNegOperands(Inst, 1);
    3282          34 :       break;
    3283          14 :     case CVT_95_addImm0_95_1020s4Operands:
    3284          28 :       static_cast<ARMOperand&>(*Operands[OpIdx]).addImm0_1020s4Operands(Inst, 1);
    3285          14 :       break;
    3286           4 :     case CVT_95_addThumbModImmNeg1_95_7Operands:
    3287           8 :       static_cast<ARMOperand&>(*Operands[OpIdx]).addThumbModImmNeg1_7Operands(Inst, 1);
    3288           4 :       break;
    3289          29 :     case CVT_95_addUnsignedOffset_95_b8s2Operands:
    3290          58 :       static_cast<ARMOperand&>(*Operands[OpIdx]).addUnsignedOffset_b8s2Operands(Inst, 1);
    3291          29 :       break;
    3292          26 :     case CVT_95_addAdrLabelOperands:
    3293          52 :       static_cast<ARMOperand&>(*Operands[OpIdx]).addAdrLabelOperands(Inst, 1);
    3294          26 :       break;
    3295         455 :     case CVT_95_addARMBranchTargetOperands:
    3296         455 :       static_cast<ARMOperand&>(*Operands[OpIdx]).addARMBranchTargetOperands(Inst, 1);
    3297             :       break;
    3298         327 :     case CVT_cvtThumbBranches:
    3299         327 :       cvtThumbBranches(Inst, Operands);
    3300         327 :       break;
    3301          45 :     case CVT_95_addBitfieldOperands:
    3302          90 :       static_cast<ARMOperand&>(*Operands[OpIdx]).addBitfieldOperands(Inst, 1);
    3303          45 :       break;
    3304             :     case CVT_imm_95_0:
    3305        2374 :       Inst.addOperand(MCOperand::createImm(0));
    3306        1187 :       break;
    3307         198 :     case CVT_95_addThumbBranchTargetOperands:
    3308         198 :       static_cast<ARMOperand&>(*Operands[OpIdx]).addThumbBranchTargetOperands(Inst, 1);
    3309             :       break;
    3310        1400 :     case CVT_95_addCoprocNumOperands:
    3311        1400 :       static_cast<ARMOperand&>(*Operands[OpIdx]).addCoprocNumOperands(Inst, 1);
    3312             :       break;
    3313        1521 :     case CVT_95_addCoprocRegOperands:
    3314        1521 :       static_cast<ARMOperand&>(*Operands[OpIdx]).addCoprocRegOperands(Inst, 1);
    3315             :       break;
    3316          71 :     case CVT_95_addProcIFlagsOperands:
    3317          71 :       static_cast<ARMOperand&>(*Operands[OpIdx]).addProcIFlagsOperands(Inst, 1);
    3318             :       break;
    3319             :     case CVT_imm_95_20:
    3320          16 :       Inst.addOperand(MCOperand::createImm(20));
    3321           8 :       break;
    3322             :     case CVT_imm_95_12:
    3323           8 :       Inst.addOperand(MCOperand::createImm(12));
    3324           4 :       break;
    3325             :     case CVT_imm_95_15:
    3326          58 :       Inst.addOperand(MCOperand::createImm(15));
    3327          29 :       break;
    3328         254 :     case CVT_95_addMemBarrierOptOperands:
    3329         254 :       static_cast<ARMOperand&>(*Operands[OpIdx]).addMemBarrierOptOperands(Inst, 1);
    3330             :       break;
    3331             :     case CVT_imm_95_16:
    3332           6 :       Inst.addOperand(MCOperand::createImm(16));
    3333           3 :       break;
    3334          37 :     case CVT_95_addFPImmOperands:
    3335          74 :       static_cast<ARMOperand&>(*Operands[OpIdx]).addFPImmOperands(Inst, 1);
    3336          37 :       break;
    3337          63 :     case CVT_95_addDPRRegListOperands:
    3338          63 :       static_cast<ARMOperand&>(*Operands[OpIdx]).addDPRRegListOperands(Inst, 1);
    3339             :       break;
    3340             :     case CVT_imm_95_1:
    3341          68 :       Inst.addOperand(MCOperand::createImm(1));
    3342          34 :       break;
    3343          18 :     case CVT_95_addInstSyncBarrierOptOperands:
    3344          18 :       static_cast<ARMOperand&>(*Operands[OpIdx]).addInstSyncBarrierOptOperands(Inst, 1);
    3345             :       break;
    3346        5485 :     case CVT_95_addITCondCodeOperands:
    3347        5485 :       static_cast<ARMOperand&>(*Operands[OpIdx]).addITCondCodeOperands(Inst, 1);
    3348             :       break;
    3349        5485 :     case CVT_95_addITMaskOperands:
    3350        5485 :       static_cast<ARMOperand&>(*Operands[OpIdx]).addITMaskOperands(Inst, 1);
    3351             :       break;
    3352        1034 :     case CVT_95_addMemNoOffsetOperands:
    3353        2068 :       static_cast<ARMOperand&>(*Operands[OpIdx]).addMemNoOffsetOperands(Inst, 1);
    3354        1034 :       break;
    3355         745 :     case CVT_95_addAddrMode5Operands:
    3356        1490 :       static_cast<ARMOperand&>(*Operands[OpIdx]).addAddrMode5Operands(Inst, 2);
    3357         745 :       break;
    3358         142 :     case CVT_95_addCoprocOptionOperands:
    3359         284 :       static_cast<ARMOperand&>(*Operands[OpIdx]).addCoprocOptionOperands(Inst, 1);
    3360             :       break;
    3361         352 :     case CVT_95_addPostIdxImm8s4Operands:
    3362         704 :       static_cast<ARMOperand&>(*Operands[OpIdx]).addPostIdxImm8s4Operands(Inst, 1);
    3363         352 :       break;
    3364         935 :     case CVT_95_addRegListOperands:
    3365        1870 :       static_cast<ARMOperand&>(*Operands[OpIdx]).addRegListOperands(Inst, 1);
    3366         935 :       break;
    3367          47 :     case CVT_95_addThumbMemPCOperands:
    3368          94 :       static_cast<ARMOperand&>(*Operands[OpIdx]).addThumbMemPCOperands(Inst, 1);
    3369          47 :       break;
    3370         547 :     case CVT_95_addConstPoolAsmImmOperands:
    3371         547 :       static_cast<ARMOperand&>(*Operands[OpIdx]).addConstPoolAsmImmOperands(Inst, 1);
    3372             :       break;
    3373          40 :     case CVT_95_addMemThumbRIs4Operands:
    3374          80 :       static_cast<ARMOperand&>(*Operands[OpIdx]).addMemThumbRIs4Operands(Inst, 2);
    3375          40 :       break;
    3376          39 :     case CVT_95_addMemThumbRROperands:
    3377          78 :       static_cast<ARMOperand&>(*Operands[OpIdx]).addMemThumbRROperands(Inst, 2);
    3378          39 :       break;
    3379          25 :     case CVT_95_addMemThumbSPIOperands:
    3380          50 :       static_cast<ARMOperand&>(*Operands[OpIdx]).addMemThumbSPIOperands(Inst, 2);
    3381          25 :       break;
    3382         136 :     case CVT_95_addMemImm12OffsetOperands:
    3383         272 :       static_cast<ARMOperand&>(*Operands[OpIdx]).addMemImm12OffsetOperands(Inst, 2);
    3384         136 :       break;
    3385          38 :     case CVT_95_addMemNegImm8OffsetOperands:
    3386          38 :       static_cast<ARMOperand&>(*Operands[OpIdx]).addMemNegImm8OffsetOperands(Inst, 2);
    3387             :       break;
    3388          90 :     case CVT_95_addMemRegOffsetOperands:
    3389         180 :       static_cast<ARMOperand&>(*Operands[OpIdx]).addMemRegOffsetOperands(Inst, 3);
    3390          90 :       break;
    3391         276 :     case CVT_95_addMemUImm12OffsetOperands:
    3392         552 :       static_cast<ARMOperand&>(*Operands[OpIdx]).addMemUImm12OffsetOperands(Inst, 2);
    3393         276 :       break;
    3394         257 :     case CVT_95_addT2MemRegOffsetOperands:
    3395         514 :       static_cast<ARMOperand&>(*Operands[OpIdx]).addT2MemRegOffsetOperands(Inst, 3);
    3396         257 :       break;
    3397          53 :     case CVT_95_addMemPCRelImm12Operands:
    3398         106 :       static_cast<ARMOperand&>(*Operands[OpIdx]).addMemPCRelImm12Operands(Inst, 1);
    3399             :       break;
    3400          91 :     case CVT_95_addMemImm8OffsetOperands:
    3401         182 :       static_cast<ARMOperand&>(*Operands[OpIdx]).addMemImm8OffsetOperands(Inst, 2);
    3402          91 :       break;
    3403          39 :     case CVT_95_addAM2OffsetImmOperands:
    3404          78 :       static_cast<ARMOperand&>(*Operands[OpIdx]).addAM2OffsetImmOperands(Inst, 2);
    3405          39 :       break;
    3406          36 :     case CVT_95_addPostIdxRegShiftedOperands:
    3407          72 :       static_cast<ARMOperand&>(*Operands[OpIdx]).addPostIdxRegShiftedOperands(Inst, 2);
    3408          36 :       break;
    3409          23 :     case CVT_95_addMemThumbRIs1Operands:
    3410          46 :       static_cast<ARMOperand&>(*Operands[OpIdx]).addMemThumbRIs1Operands(Inst, 2);
    3411          23 :       break;
    3412          42 :     case CVT_95_addMemPosImm8OffsetOperands:
    3413          42 :       static_cast<ARMOperand&>(*Operands[OpIdx]).addMemPosImm8OffsetOperands(Inst, 2);
    3414             :       break;
    3415         132 :     case CVT_95_addMemImm8s4OffsetOperands:
    3416         264 :       static_cast<ARMOperand&>(*Operands[OpIdx]).addMemImm8s4OffsetOperands(Inst, 2);
    3417         132 :       break;
    3418         125 :     case CVT_95_addAddrMode3Operands:
    3419         250 :       static_cast<ARMOperand&>(*Operands[OpIdx]).addAddrMode3Operands(Inst, 3);
    3420         125 :       break;
    3421          70 :     case CVT_95_addAM3OffsetOperands:
    3422         140 :       static_cast<ARMOperand&>(*Operands[OpIdx]).addAM3OffsetOperands(Inst, 2);
    3423          70 :       break;
    3424          44 :     case CVT_95_addMemImm0_95_1020s4OffsetOperands:
    3425          88 :       static_cast<ARMOperand&>(*Operands[OpIdx]).addMemImm0_1020s4OffsetOperands(Inst, 2);
    3426          44 :       break;
    3427          30 :     case CVT_95_addMemThumbRIs2Operands:
    3428          60 :       static_cast<ARMOperand&>(*Operands[OpIdx]).addMemThumbRIs2Operands(Inst, 2);
    3429          30 :       break;
    3430          12 :     case CVT_95_addPostIdxRegOperands:
    3431          24 :       static_cast<ARMOperand&>(*Operands[OpIdx]).addPostIdxRegOperands(Inst, 2);
    3432          12 :       break;
    3433          16 :     case CVT_95_addPostIdxImm8Operands:
    3434          32 :       static_cast<ARMOperand&>(*Operands[OpIdx]).addPostIdxImm8Operands(Inst, 1);
    3435          16 :       break;
    3436             :     case CVT_reg0:
    3437         110 :       Inst.addOperand(MCOperand::createReg(0));
    3438          55 :       break;
    3439             :     case CVT_regCPSR:
    3440         150 :       Inst.addOperand(MCOperand::createReg(ARM::CPSR));
    3441          75 :       break;
    3442             :     case CVT_imm_95_14:
    3443         122 :       Inst.addOperand(MCOperand::createImm(14));
    3444          61 :       break;
    3445         198 :     case CVT_95_addBankedRegOperands:
    3446         198 :       static_cast<ARMOperand&>(*Operands[OpIdx]).addBankedRegOperands(Inst, 1);
    3447             :       break;
    3448         334 :     case CVT_95_addMSRMaskOperands:
    3449         334 :       static_cast<ARMOperand&>(*Operands[OpIdx]).addMSRMaskOperands(Inst, 1);
    3450             :       break;
    3451          30 :     case CVT_cvtThumbMultiply:
    3452          30 :       cvtThumbMultiply(Inst, Operands);
    3453          30 :       break;
    3454             :     case CVT_regR8:
    3455         136 :       Inst.addOperand(MCOperand::createReg(ARM::R8));
    3456          68 :       break;
    3457             :     case CVT_regR0:
    3458           8 :       Inst.addOperand(MCOperand::createReg(ARM::R0));
    3459           4 :       break;
    3460          12 :     case CVT_95_addPKHASRImmOperands:
    3461          24 :       static_cast<ARMOperand&>(*Operands[OpIdx]).addPKHASRImmOperands(Inst, 1);
    3462          12 :       break;
    3463         144 :     case CVT_95_addImm1_95_32Operands:
    3464         288 :       static_cast<ARMOperand&>(*Operands[OpIdx]).addImm1_32Operands(Inst, 1);
    3465         144 :       break;
    3466             :     case CVT_imm_95_4:
    3467          60 :       Inst.addOperand(MCOperand::createImm(4));
    3468          30 :       break;
    3469             :     case CVT_imm_95_5:
    3470          26 :       Inst.addOperand(MCOperand::createImm(5));
    3471          13 :       break;
    3472          44 :     case CVT_95_addShifterImmOperands:
    3473          88 :       static_cast<ARMOperand&>(*Operands[OpIdx]).addShifterImmOperands(Inst, 1);
    3474             :       break;
    3475          18 :     case CVT_95_addImm1_95_16Operands:
    3476          36 :       static_cast<ARMOperand&>(*Operands[OpIdx]).addImm1_16Operands(Inst, 1);
    3477          18 :       break;
    3478         330 :     case CVT_95_addRotImmOperands:
    3479         660 :       static_cast<ARMOperand&>(*Operands[OpIdx]).addRotImmOperands(Inst, 1);
    3480             :       break;
    3481           7 :     case CVT_95_addMemTBBOperands:
    3482          14 :       static_cast<ARMOperand&>(*Operands[OpIdx]).addMemTBBOperands(Inst, 2);
    3483           7 :       break;
    3484           7 :     case CVT_95_addMemTBHOperands:
    3485          14 :       static_cast<ARMOperand&>(*Operands[OpIdx]).addMemTBHOperands(Inst, 2);
    3486           7 :       break;
    3487           4 :     case CVT_95_addNEONi16splatNotOperands:
    3488           8 :       static_cast<ARMOperand&>(*Operands[OpIdx]).addNEONi16splatNotOperands(Inst, 1);
    3489           4 :       break;
    3490           8 :     case CVT_95_addNEONi32splatNotOperands:
    3491          16 :       static_cast<ARMOperand&>(*Operands[OpIdx]).addNEONi32splatNotOperands(Inst, 1);
    3492           8 :       break;
    3493          16 :     case CVT_95_addNEONi16splatOperands:
    3494          32 :       static_cast<ARMOperand&>(*Operands[OpIdx]).addNEONi16splatOperands(Inst, 1);
    3495          16 :       break;
    3496          11 :     case CVT_95_addNEONi32splatOperands:
    3497          22 :       static_cast<ARMOperand&>(*Operands[OpIdx]).addNEONi32splatOperands(Inst, 1);
    3498          11 :       break;
    3499          40 :     case CVT_95_addComplexRotationOddOperands:
    3500          80 :       static_cast<ARMOperand&>(*Operands[OpIdx]).addComplexRotationOddOperands(Inst, 1);
    3501          40 :       break;
    3502         120 :     case CVT_95_addComplexRotationEvenOperands:
    3503         240 :       static_cast<ARMOperand&>(*Operands[OpIdx]).addComplexRotationEvenOperands(Inst, 1);
    3504         120 :       break;
    3505          40 :     case CVT_95_addVectorIndex64Operands:
    3506          40 :       static_cast<ARMOperand&>(*Operands[OpIdx]).addVectorIndex64Operands(Inst, 1);
    3507             :       break;
    3508         143 :     case CVT_95_addVectorIndex32Operands:
    3509         143 :       static_cast<ARMOperand&>(*Operands[OpIdx]).addVectorIndex32Operands(Inst, 1);
    3510             :       break;
    3511          28 :     case CVT_95_addFBits16Operands:
    3512          56 :       static_cast<ARMOperand&>(*Operands[OpIdx]).addFBits16Operands(Inst, 1);
    3513          28 :       break;
    3514          28 :     case CVT_95_addFBits32Operands:
    3515          56 :       static_cast<ARMOperand&>(*Operands[OpIdx]).addFBits32Operands(Inst, 1);
    3516          28 :       break;
    3517         102 :     case CVT_95_addVectorIndex16Operands:
    3518         102 :       static_cast<ARMOperand&>(*Operands[OpIdx]).addVectorIndex16Operands(Inst, 1);
    3519             :       break;
    3520          22 :     case CVT_95_addVectorIndex8Operands:
    3521          22 :       static_cast<ARMOperand&>(*Operands[OpIdx]).addVectorIndex8Operands(Inst, 1);
    3522             :       break;
    3523        1075 :     case CVT_95_addVecListOperands:
    3524        2150 :       static_cast<ARMOperand&>(*Operands[OpIdx]).addVecListOperands(Inst, 1);
    3525        1075 :       break;
    3526          24 :     case CVT_95_addDupAlignedMemory16Operands:
    3527          24 :       static_cast<ARMOperand&>(*Operands[OpIdx]).addDupAlignedMemory16Operands(Inst, 2);
    3528             :       break;
    3529         289 :     case CVT_95_addAlignedMemory64or128Operands:
    3530         289 :       static_cast<ARMOperand&>(*Operands[OpIdx]).addAlignedMemory64or128Operands(Inst, 2);
    3531             :       break;
    3532         393 :     case CVT_95_addAlignedMemory64or128or256Operands:
    3533         393 :       static_cast<ARMOperand&>(*Operands[OpIdx]).addAlignedMemory64or128or256Operands(Inst, 2);
    3534             :       break;
    3535         346 :     case CVT_95_addAlignedMemory64Operands:
    3536         346 :       static_cast<ARMOperand&>(*Operands[OpIdx]).addAlignedMemory64Operands(Inst, 2);
    3537             :       break;
    3538         327 :     case CVT_95_addVecListIndexedOperands:
    3539         654 :       static_cast<ARMOperand&>(*Operands[OpIdx]).addVecListIndexedOperands(Inst, 2);
    3540         327 :       break;
    3541          38 :     case CVT_95_addAlignedMemory16Operands:
    3542          38 :       static_cast<ARMOperand&>(*Operands[OpIdx]).addAlignedMemory16Operands(Inst, 2);
    3543             :       break;
    3544          42 :     case CVT_95_addDupAlignedMemory32Operands:
    3545          42 :       static_cast<ARMOperand&>(*Operands[OpIdx]).addDupAlignedMemory32Operands(Inst, 2);
    3546             :       break;
    3547          66 :     case CVT_95_addAlignedMemory32Operands:
    3548          66 :       static_cast<ARMOperand&>(*Operands[OpIdx]).addAlignedMemory32Operands(Inst, 2);
    3549             :       break;
    3550          48 :     case CVT_95_addDupAlignedMemoryNoneOperands:
    3551          48 :       static_cast<ARMOperand&>(*Operands[OpIdx]).addDupAlignedMemoryNoneOperands(Inst, 2);
    3552             :       break;
    3553          80 :     case CVT_95_addAlignedMemoryNoneOperands:
    3554          80 :       static_cast<ARMOperand&>(*Operands[OpIdx]).addAlignedMemoryNoneOperands(Inst, 2);
    3555             :       break;
    3556           0 :     case CVT_95_addAlignedMemoryOperands:
    3557           0 :       static_cast<ARMOperand&>(*Operands[OpIdx]).addAlignedMemoryOperands(Inst, 2);
    3558           0 :       break;
    3559          36 :     case CVT_95_addDupAlignedMemory64Operands:
    3560          36 :       static_cast<ARMOperand&>(*Operands[OpIdx]).addDupAlignedMemory64Operands(Inst, 2);
    3561             :       break;
    3562          24 :     case CVT_95_addDupAlignedMemory64or128Operands:
    3563          24 :       static_cast<ARMOperand&>(*Operands[OpIdx]).addDupAlignedMemory64or128Operands(Inst, 2);
    3564             :       break;
    3565          10 :     case CVT_95_addSPRRegListOperands:
    3566          10 :       static_cast<ARMOperand&>(*Operands[OpIdx]).addSPRRegListOperands(Inst, 1);
    3567             :       break;
    3568          32 :     case CVT_95_addAddrMode5FP16Operands:
    3569          64 :       static_cast<ARMOperand&>(*Operands[OpIdx]).addAddrMode5FP16Operands(Inst, 2);
    3570          32 :       break;
    3571          38 :     case CVT_95_addNEONi32vmovOperands:
    3572          76 :       static_cast<ARMOperand&>(*Operands[OpIdx]).addNEONi32vmovOperands(Inst, 1);
    3573          38 :       break;
    3574           8 :     case CVT_95_addNEONvmovi8ReplicateOperands:
    3575           8 :       static_cast<ARMOperand&>(*Operands[OpIdx]).addNEONvmovi8ReplicateOperands(Inst, 1);
    3576             :       break;
    3577          16 :     case CVT_95_addNEONvmovi16ReplicateOperands:
    3578          32 :       static_cast<ARMOperand&>(*Operands[OpIdx]).addNEONvmovi16ReplicateOperands(Inst, 1);
    3579          16 :       break;
    3580           0 :     case CVT_95_addNEONi32vmovNegOperands:
    3581           0 :       static_cast<ARMOperand&>(*Operands[OpIdx]).addNEONi32vmovNegOperands(Inst, 1);
    3582           0 :       break;
    3583           8 :     case CVT_95_addNEONvmovi32ReplicateOperands:
    3584          16 :       static_cast<ARMOperand&>(*Operands[OpIdx]).addNEONvmovi32ReplicateOperands(Inst, 1);
    3585           8 :       break;
    3586           8 :     case CVT_95_addNEONi64splatOperands:
    3587          16 :       static_cast<ARMOperand&>(*Operands[OpIdx]).addNEONi64splatOperands(Inst, 1);
    3588           8 :       break;
    3589           4 :     case CVT_95_addNEONi8splatOperands:
    3590           8 :       static_cast<ARMOperand&>(*Operands[OpIdx]).addNEONi8splatOperands(Inst, 1);
    3591           4 :       break;
    3592          10 :     case CVT_95_addNEONinvi8ReplicateOperands:
    3593          10 :       static_cast<ARMOperand&>(*Operands[OpIdx]).addNEONinvi8ReplicateOperands(Inst, 1);
    3594             :       break;
    3595             :     case CVT_imm_95_2:
    3596          68 :       Inst.addOperand(MCOperand::createImm(2));
    3597          34 :       break;
    3598             :     case CVT_imm_95_3:
    3599          68 :       Inst.addOperand(MCOperand::createImm(3));
    3600          34 :       break;
    3601             :     }
    3602             :   }
    3603       30078 : }
    3604             : 
    3605           0 : void ARMAsmParser::
    3606             : convertToMapAndConstraints(unsigned Kind,
    3607             :                            const OperandVector &Operands) {
    3608             :   assert(Kind < CVT_NUM_SIGNATURES && "Invalid signature!");
    3609             :   unsigned NumMCOperands = 0;
    3610           0 :   const uint8_t *Converter = ConversionTable[Kind];
    3611           0 :   for (const uint8_t *p = Converter; *p; p+= 2) {
    3612           0 :     switch (*p) {
    3613           0 :     default: llvm_unreachable("invalid conversion entry!");
    3614           0 :     case CVT_Reg:
    3615           0 :       Operands[*(p + 1)]->setMCOperandNum(NumMCOperands);
    3616           0 :       Operands[*(p + 1)]->setConstraint("r");
    3617           0 :       ++NumMCOperands;
    3618           0 :       break;
    3619           0 :     case CVT_Tied:
    3620           0 :       ++NumMCOperands;
    3621           0 :       break;
    3622           0 :     case CVT_95_Reg:
    3623           0 :       Operands[*(p + 1)]->setMCOperandNum(NumMCOperands);
    3624           0 :       Operands[*(p + 1)]->setConstraint("r");
    3625           0 :       NumMCOperands += 1;
    3626           0 :       break;
    3627           0 :     case CVT_95_addCCOutOperands:
    3628           0 :       Operands[*(p + 1)]->setMCOperandNum(NumMCOperands);
    3629           0 :       Operands[*(p + 1)]->setConstraint("m");
    3630           0 :       NumMCOperands += 1;
    3631           0 :       break;
    3632           0 :     case CVT_95_addCondCodeOperands:
    3633           0 :       Operands[*(p + 1)]->setMCOperandNum(NumMCOperands);
    3634           0 :       Operands[*(p + 1)]->setConstraint("m");
    3635           0 :       NumMCOperands += 2;
    3636           0 :       break;
    3637           0 :     case CVT_95_addRegShiftedRegOperands:
    3638           0 :       Operands[*(p + 1)]->setMCOperandNum(NumMCOperands);
    3639           0 :       Operands[*(p + 1)]->setConstraint("m");
    3640           0 :       NumMCOperands += 3;
    3641           0 :       break;
    3642           0 :     case CVT_95_addModImmOperands:
    3643           0 :       Operands[*(p + 1)]->setMCOperandNum(NumMCOperands);
    3644           0 :       Operands[*(p + 1)]->setConstraint("m");
    3645           0 :       NumMCOperands += 1;
    3646           0 :       break;
    3647           0 :     case CVT_95_addModImmNotOperands:
    3648           0 :       Operands[*(p + 1)]->setMCOperandNum(NumMCOperands);
    3649           0 :       Operands[*(p + 1)]->setConstraint("m");
    3650           0 :       NumMCOperands += 1;
    3651           0 :       break;
    3652           0 :     case CVT_95_addRegShiftedImmOperands:
    3653           0 :       Operands[*(p + 1)]->setMCOperandNum(NumMCOperands);
    3654           0 :       Operands[*(p + 1)]->setConstraint("m");
    3655           0 :       NumMCOperands += 2;
    3656           0 :       break;
    3657           0 :     case CVT_95_addImmOperands:
    3658           0 :       Operands[*(p + 1)]->setMCOperandNum(NumMCOperands);
    3659           0 :       Operands[*(p + 1)]->setConstraint("m");
    3660           0 :       NumMCOperands += 1;
    3661           0 :       break;
    3662           0 :     case CVT_95_addT2SOImmNotOperands:
    3663           0 :       Operands[*(p + 1)]->setMCOperandNum(NumMCOperands);
    3664           0 :       Operands[*(p + 1)]->setConstraint("m");
    3665           0 :       NumMCOperands += 1;
    3666           0 :       break;
    3667           0 :     case CVT_95_addImm0_95_508s4Operands:
    3668           0 :       Operands[*(p + 1)]->setMCOperandNum(NumMCOperands);
    3669           0 :       Operands[*(p + 1)]->setConstraint("m");
    3670           0 :       NumMCOperands += 1;
    3671           0 :       break;
    3672           0 :     case CVT_regSP:
    3673           0 :       Operands[*(p + 1)]->setMCOperandNum(NumMCOperands);
    3674           0 :       Operands[*(p + 1)]->setConstraint("m");
    3675           0 :       ++NumMCOperands;
    3676           0 :       break;
    3677           0 :     case CVT_95_addImm0_95_508s4NegOperands:
    3678           0 :       Operands[*(p + 1)]->setMCOperandNum(NumMCOperands);
    3679           0 :       Operands[*(p + 1)]->setConstraint("m");
    3680           0 :       NumMCOperands += 1;
    3681           0 :       break;
    3682           0 :     case CVT_95_addImm0_95_4095NegOperands:
    3683           0 :       Operands[*(p + 1)]->setMCOperandNum(NumMCOperands);
    3684           0 :       Operands[*(p + 1)]->setConstraint("m");
    3685           0 :       NumMCOperands += 1;
    3686           0 :       break;
    3687           0 :     case CVT_95_addThumbModImmNeg8_95_255Operands:
    3688           0 :       Operands[*(p + 1)]->setMCOperandNum(NumMCOperands);
    3689           0 :       Operands[*(p + 1)]->setConstraint("m");
    3690           0 :       NumMCOperands += 1;
    3691           0 :       break;
    3692           0 :     case CVT_95_addT2SOImmNegOperands:
    3693           0 :       Operands[*(p + 1)]->setMCOperandNum(NumMCOperands);
    3694           0 :       Operands[*(p + 1)]->setConstraint("m");
    3695           0 :       NumMCOperands += 1;
    3696           0 :       break;
    3697           0 :     case CVT_95_addModImmNegOperands:
    3698           0 :       Operands[*(p + 1)]->setMCOperandNum(NumMCOperands);
    3699           0 :       Operands[*(p + 1)]->setConstraint("m");
    3700           0 :       NumMCOperands += 1;
    3701           0 :       break;
    3702           0 :     case CVT_95_addImm0_95_1020s4Operands:
    3703           0 :       Operands[*(p + 1)]->setMCOperandNum(NumMCOperands);
    3704           0 :       Operands[*(p + 1)]->setConstraint("m");
    3705           0 :       NumMCOperands += 1;
    3706           0 :       break;
    3707           0 :     case CVT_95_addThumbModImmNeg1_95_7Operands:
    3708           0 :       Operands[*(p + 1)]->setMCOperandNum(NumMCOperands);
    3709           0 :       Operands[*(p + 1)]->setConstraint("m");
    3710           0 :       NumMCOperands += 1;
    3711           0 :       break;
    3712           0 :     case CVT_95_addUnsignedOffset_95_b8s2Operands:
    3713           0 :       Operands[*(p + 1)]->setMCOperandNum(NumMCOperands);
    3714           0 :       Operands[*(p + 1)]->setConstraint("m");
    3715           0 :       NumMCOperands += 1;
    3716           0 :       break;
    3717           0 :     case CVT_95_addAdrLabelOperands:
    3718           0 :       Operands[*(p + 1)]->setMCOperandNum(NumMCOperands);
    3719           0 :       Operands[*(p + 1)]->setConstraint("m");
    3720           0 :       NumMCOperands += 1;
    3721           0 :       break;
    3722           0 :     case CVT_95_addARMBranchTargetOperands:
    3723           0 :       Operands[*(p + 1)]->setMCOperandNum(NumMCOperands);
    3724           0 :       Operands[*(p + 1)]->setConstraint("m");
    3725           0 :       NumMCOperands += 1;
    3726           0 :       break;
    3727           0 :     case CVT_95_addBitfieldOperands:
    3728           0 :       Operands[*(p + 1)]->setMCOperandNum(NumMCOperands);
    3729           0 :       Operands[*(p + 1)]->setConstraint("m");
    3730           0 :       NumMCOperands += 1;
    3731           0 :       break;
    3732           0 :     case CVT_imm_95_0:
    3733           0 :       Operands[*(p + 1)]->setMCOperandNum(NumMCOperands);
    3734           0 :       Operands[*(p + 1)]->setConstraint("");
    3735           0 :       ++NumMCOperands;
    3736           0 :       break;
    3737           0 :     case CVT_95_addThumbBranchTargetOperands:
    3738           0 :       Operands[*(p + 1)]->setMCOperandNum(NumMCOperands);
    3739           0 :       Operands[*(p + 1)]->setConstraint("m");
    3740           0 :       NumMCOperands += 1;
    3741           0 :       break;
    3742           0 :     case CVT_95_addCoprocNumOperands:
    3743           0 :       Operands[*(p + 1)]->setMCOperandNum(NumMCOperands);
    3744           0 :       Operands[*(p + 1)]->setConstraint("m");
    3745           0 :       NumMCOperands += 1;
    3746           0 :       break;
    3747           0 :     case CVT_95_addCoprocRegOperands:
    3748           0 :       Operands[*(p + 1)]->setMCOperandNum(NumMCOperands);
    3749           0 :       Operands[*(p + 1)]->setConstraint("m");
    3750           0 :       NumMCOperands += 1;
    3751           0 :       break;
    3752           0 :     case CVT_95_addProcIFlagsOperands:
    3753           0 :       Operands[*(p + 1)]->setMCOperandNum(NumMCOperands);
    3754           0 :       Operands[*(p + 1)]->setConstraint("m");
    3755           0 :       NumMCOperands += 1;
    3756           0 :       break;
    3757           0 :     case CVT_imm_95_20:
    3758           0 :       Operands[*(p + 1)]->setMCOperandNum(NumMCOperands);
    3759           0 :       Operands[*(p + 1)]->setConstraint("");
    3760           0 :       ++NumMCOperands;
    3761           0 :       break;
    3762           0 :     case CVT_imm_95_12:
    3763           0 :       Operands[*(p + 1)]->setMCOperandNum(NumMCOperands);
    3764           0 :       Operands[*(p + 1)]->setConstraint("");
    3765           0 :       ++NumMCOperands;
    3766           0 :       break;
    3767           0 :     case CVT_imm_95_15:
    3768           0 :       Operands[*(p + 1)]->setMCOperandNum(NumMCOperands);
    3769           0 :       Operands[*(p + 1)]->setConstraint("");
    3770           0 :       ++NumMCOperands;
    3771           0 :       break;
    3772           0 :     case CVT_95_addMemBarrierOptOperands:
    3773           0 :       Operands[*(p + 1)]->setMCOperandNum(NumMCOperands);
    3774           0 :       Operands[*(p + 1)]->setConstraint("m");
    3775           0 :       NumMCOperands += 1;
    3776           0 :       break;
    3777           0 :     case CVT_imm_95_16:
    3778           0 :       Operands[*(p + 1)]->setMCOperandNum(NumMCOperands);
    3779           0 :       Operands[*(p + 1)]->setConstraint("");
    3780           0 :       ++NumMCOperands;
    3781           0 :       break;
    3782           0 :     case CVT_95_addFPImmOperands:
    3783           0 :       Operands[*(p + 1)]->setMCOperandNum(NumMCOperands);
    3784           0 :       Operands[*(p + 1)]->setConstraint("m");
    3785           0 :       NumMCOperands += 1;
    3786           0 :       break;
    3787           0 :     case CVT_95_addDPRRegListOperands:
    3788           0 :       Operands[*(p + 1)]->setMCOperandNum(NumMCOperands);
    3789           0 :       Operands[*(p + 1)]->setConstraint("m");
    3790           0 :       NumMCOperands += 1;
    3791           0 :       break;
    3792           0 :     case CVT_imm_95_1:
    3793           0 :       Operands[*(p + 1)]->setMCOperandNum(NumMCOperands);
    3794           0 :       Operands[*(p + 1)]->setConstraint("");
    3795           0 :       ++NumMCOperands;
    3796           0 :       break;
    3797           0 :     case CVT_95_addInstSyncBarrierOptOperands:
    3798           0 :       Operands[*(p + 1)]->setMCOperandNum(NumMCOperands);
    3799           0 :       Operands[*(p + 1)]->setConstraint("m");
    3800           0 :       NumMCOperands += 1;
    3801           0 :       break;
    3802           0 :     case CVT_95_addITCondCodeOperands:
    3803           0 :       Operands[*(p + 1)]->setMCOperandNum(NumMCOperands);
    3804           0 :       Operands[*(p + 1)]->setConstraint("m");
    3805           0 :       NumMCOperands += 1;
    3806           0 :       break;
    3807           0 :     case CVT_95_addITMaskOperands:
    3808           0 :       Operands[*(p + 1)]->setMCOperandNum(NumMCOperands);
    3809           0 :       Operands[*(p + 1)]->setConstraint("m");
    3810           0 :       NumMCOperands += 1;
    3811           0 :       break;
    3812           0 :     case CVT_95_addMemNoOffsetOperands:
    3813           0 :       Operands[*(p + 1)]->setMCOperandNum(NumMCOperands);
    3814           0 :       Operands[*(p + 1)]->setConstraint("m");
    3815           0 :       NumMCOperands += 1;
    3816           0 :       break;
    3817           0 :     case CVT_95_addAddrMode5Operands:
    3818           0 :       Operands[*(p + 1)]->setMCOperandNum(NumMCOperands);
    3819           0 :       Operands[*(p + 1)]->setConstraint("m");
    3820           0 :       NumMCOperands += 2;
    3821           0 :       break;
    3822           0 :     case CVT_95_addCoprocOptionOperands:
    3823           0 :       Operands[*(p + 1)]->setMCOperandNum(NumMCOperands);
    3824           0 :       Operands[*(p + 1)]->setConstraint("m");
    3825           0 :       NumMCOperands += 1;
    3826           0 :       break;
    3827           0 :     case CVT_95_addPostIdxImm8s4Operands:
    3828           0 :       Operands[*(p + 1)]->setMCOperandNum(NumMCOperands);
    3829           0 :       Operands[*(p + 1)]->setConstraint("m");
    3830           0 :       NumMCOperands += 1;
    3831           0 :       break;
    3832           0 :     case CVT_95_addRegListOperands:
    3833           0 :       Operands[*(p + 1)]->setMCOperandNum(NumMCOperands);
    3834           0 :       Operands[*(p + 1)]->setConstraint("m");
    3835           0 :       NumMCOperands += 1;
    3836           0 :       break;
    3837           0 :     case CVT_95_addThumbMemPCOperands:
    3838           0 :       Operands[*(p + 1)]->setMCOperandNum(NumMCOperands);
    3839           0 :       Operands[*(p + 1)]->setConstraint("m");
    3840           0 :       NumMCOperands += 1;
    3841           0 :       break;
    3842           0 :     case CVT_95_addConstPoolAsmImmOperands:
    3843           0 :       Operands[*(p + 1)]->setMCOperandNum(NumMCOperands);
    3844           0 :       Operands[*(p + 1)]->setConstraint("m");
    3845           0 :       NumMCOperands += 1;
    3846           0 :       break;
    3847           0 :     case CVT_95_addMemThumbRIs4Operands:
    3848           0 :       Operands[*(p + 1)]->setMCOperandNum(NumMCOperands);
    3849           0 :       Operands[*(p + 1)]->setConstraint("m");
    3850           0 :       NumMCOperands += 2;
    3851           0 :       break;
    3852           0 :     case CVT_95_addMemThumbRROperands:
    3853           0 :       Operands[*(p + 1)]->setMCOperandNum(NumMCOperands);
    3854           0 :       Operands[*(p + 1)]->setConstraint("m");
    3855           0 :       NumMCOperands += 2;
    3856           0 :       break;
    3857           0 :     case CVT_95_addMemThumbSPIOperands:
    3858           0 :       Operands[*(p + 1)]->setMCOperandNum(NumMCOperands);
    3859           0 :       Operands[*(p + 1)]->setConstraint("m");
    3860           0 :       NumMCOperands += 2;
    3861           0 :       break;
    3862           0 :     case CVT_95_addMemImm12OffsetOperands:
    3863           0 :       Operands[*(p + 1)]->setMCOperandNum(NumMCOperands);
    3864           0 :       Operands[*(p + 1)]->setConstraint("m");
    3865           0 :       NumMCOperands += 2;
    3866           0 :       break;
    3867           0 :     case CVT_95_addMemNegImm8OffsetOperands:
    3868           0 :       Operands[*(p + 1)]->setMCOperandNum(NumMCOperands);
    3869           0 :       Operands[*(p + 1)]->setConstraint("m");
    3870           0 :       NumMCOperands += 2;
    3871           0 :       break;
    3872           0 :     case CVT_95_addMemRegOffsetOperands:
    3873           0 :       Operands[*(p + 1)]->setMCOperandNum(NumMCOperands);
    3874           0 :       Operands[*(p + 1)]->setConstraint("m");
    3875           0 :       NumMCOperands += 3;
    3876           0 :       break;
    3877           0 :     case CVT_95_addMemUImm12OffsetOperands:
    3878           0 :       Operands[*(p + 1)]->setMCOperandNum(NumMCOperands);
    3879           0 :       Operands[*(p + 1)]->setConstraint("m");
    3880           0 :       NumMCOperands += 2;
    3881           0 :       break;
    3882           0 :     case CVT_95_addT2MemRegOffsetOperands:
    3883           0 :       Operands[*(p + 1)]->setMCOperandNum(NumMCOperands);
    3884           0 :       Operands[*(p + 1)]->setConstraint("m");
    3885           0 :       NumMCOperands += 3;
    3886           0 :       break;
    3887           0 :     case CVT_95_addMemPCRelImm12Operands:
    3888           0 :       Operands[*(p + 1)]->setMCOperandNum(NumMCOperands);
    3889           0 :       Operands[*(p + 1)]->setConstraint("m");
    3890           0 :       NumMCOperands += 1;
    3891           0 :       break;
    3892           0 :     case CVT_95_addMemImm8OffsetOperands:
    3893           0 :       Operands[*(p + 1)]->setMCOperandNum(NumMCOperands);
    3894           0 :       Operands[*(p + 1)]->setConstraint("m");
    3895           0 :       NumMCOperands += 2;
    3896           0 :       break;
    3897           0 :     case CVT_95_addAM2OffsetImmOperands:
    3898           0 :       Operands[*(p + 1)]->setMCOperandNum(NumMCOperands);
    3899           0 :       Operands[*(p + 1)]->setConstraint("m");
    3900           0 :       NumMCOperands += 2;
    3901           0 :       break;
    3902           0 :     case CVT_95_addPostIdxRegShiftedOperands:
    3903           0 :       Operands[*(p + 1)]->setMCOperandNum(NumMCOperands);
    3904           0 :       Operands[*(p + 1)]->setConstraint("m");
    3905           0 :       NumMCOperands += 2;
    3906           0 :       break;
    3907           0 :     case CVT_95_addMemThumbRIs1Operands:
    3908           0 :       Operands[*(p + 1)]->setMCOperandNum(NumMCOperands);
    3909           0 :       Operands[*(p + 1)]->setConstraint("m");
    3910           0 :       NumMCOperands += 2;
    3911           0 :       break;
    3912           0 :     case CVT_95_addMemPosImm8OffsetOperands:
    3913           0 :       Operands[*(p + 1)]->setMCOperandNum(NumMCOperands);
    3914           0 :       Operands[*(p + 1)]->setConstraint("m");
    3915           0 :       NumMCOperands += 2;
    3916           0 :       break;
    3917           0 :     case CVT_95_addMemImm8s4OffsetOperands:
    3918           0 :       Operands[*(p + 1)]->setMCOperandNum(NumMCOperands);
    3919           0 :       Operands[*(p + 1)]->setConstraint("m");
    3920           0 :       NumMCOperands += 2;
    3921           0 :       break;
    3922           0 :     case CVT_95_addAddrMode3Operands:
    3923           0 :       Operands[*(p + 1)]->setMCOperandNum(NumMCOperands);
    3924           0 :       Operands[*(p + 1)]->setConstraint("m");
    3925           0 :       NumMCOperands += 3;
    3926           0 :       break;
    3927           0 :     case CVT_95_addAM3OffsetOperands:
    3928           0 :       Operands[*(p + 1)]->setMCOperandNum(NumMCOperands);
    3929           0 :       Operands[*(p + 1)]->setConstraint("m");
    3930           0 :       NumMCOperands += 2;
    3931           0 :       break;
    3932           0 :     case CVT_95_addMemImm0_95_1020s4OffsetOperands:
    3933           0 :       Operands[*(p + 1)]->setMCOperandNum(NumMCOperands);
    3934           0 :       Operands[*(p + 1)]->setConstraint("m");
    3935           0 :       NumMCOperands += 2;
    3936           0 :       break;
    3937           0 :     case CVT_95_addMemThumbRIs2Operands:
    3938           0 :       Operands[*(p + 1)]->setMCOperandNum(NumMCOperands);
    3939           0 :       Operands[*(p + 1)]->setConstraint("m");
    3940           0 :       NumMCOperands += 2;
    3941           0 :       break;
    3942           0 :     case CVT_95_addPostIdxRegOperands:
    3943           0 :       Operands[*(p + 1)]->setMCOperandNum(NumMCOperands);
    3944           0 :       Operands[*(p + 1)]->setConstraint("m");
    3945           0 :       NumMCOperands += 2;
    3946           0 :       break;
    3947           0 :     case CVT_95_addPostIdxImm8Operands:
    3948           0 :       Operands[*(p + 1)]->setMCOperandNum(NumMCOperands);
    3949           0 :       Operands[*(p + 1)]->setConstraint("m");
    3950           0 :       NumMCOperands += 1;
    3951           0 :       break;
    3952           0 :     case CVT_reg0:
    3953           0 :       Operands[*(p + 1)]->setMCOperandNum(NumMCOperands);
    3954           0 :       Operands[*(p + 1)]->setConstraint("m");
    3955           0 :       ++NumMCOperands;
    3956           0 :       break;
    3957           0 :     case CVT_regCPSR:
    3958           0 :       Operands[*(p + 1)]->setMCOperandNum(NumMCOperands);
    3959           0 :       Operands[*(p + 1)]->setConstraint("m");
    3960           0 :       ++NumMCOperands;
    3961           0 :       break;
    3962           0 :     case CVT_imm_95_14:
    3963           0 :       Operands[*(p + 1)]->setMCOperandNum(NumMCOperands);
    3964           0 :       Operands[*(p + 1)]->setConstraint("");
    3965           0 :       ++NumMCOperands;
    3966           0 :       break;
    3967           0 :     case CVT_95_addBankedRegOperands:
    3968           0 :       Operands[*(p + 1)]->setMCOperandNum(NumMCOperands);
    3969           0 :       Operands[*(p + 1)]->setConstraint("m");
    3970           0 :       NumMCOperands += 1;
    3971           0 :       break;
    3972           0 :     case CVT_95_addMSRMaskOperands:
    3973           0 :       Operands[*(p + 1)]->setMCOperandNum(NumMCOperands);
    3974           0 :       Operands[*(p + 1)]->setConstraint("m");
    3975           0 :       NumMCOperands += 1;
    3976           0 :       break;
    3977           0 :     case CVT_regR8:
    3978           0 :       Operands[*(p + 1)]->setMCOperandNum(NumMCOperands);
    3979           0 :       Operands[*(p + 1)]->setConstraint("m");
    3980           0 :       ++NumMCOperands;
    3981           0 :       break;
    3982           0 :     case CVT_regR0:
    3983           0 :       Operands[*(p + 1)]->setMCOperandNum(NumMCOperands);
    3984           0 :       Operands[*(p + 1)]->setConstraint("m");
    3985           0 :       ++NumMCOperands;
    3986           0 :       break;
    3987           0 :     case CVT_95_addPKHASRImmOperands:
    3988           0 :       Operands[*(p + 1)]->setMCOperandNum(NumMCOperands);
    3989           0 :       Operands[*(p + 1)]->setConstraint("m");
    3990           0 :       NumMCOperands += 1;
    3991           0 :       break;
    3992           0 :     case CVT_95_addImm1_95_32Operands:
    3993           0 :       Operands[*(p + 1)]->setMCOperandNum(NumMCOperands);
    3994           0 :       Operands[*(p + 1)]->setConstraint("m");
    3995           0 :       NumMCOperands += 1;
    3996           0 :       break;
    3997           0 :     case CVT_imm_95_4:
    3998           0 :       Operands[*(p + 1)]->setMCOperandNum(NumMCOperands);
    3999           0 :       Operands[*(p + 1)]->setConstraint("");
    4000           0 :       ++NumMCOperands;
    4001           0 :       break;
    4002           0 :     case CVT_imm_95_5:
    4003           0 :       Operands[*(p + 1)]->setMCOperandNum(NumMCOperands);
    4004           0 :       Operands[*(p + 1)]->setConstraint("");
    4005           0 :       ++NumMCOperands;
    4006           0 :       break;
    4007           0 :     case CVT_95_addShifterImmOperands:
    4008           0 :       Operands[*(p + 1)]->setMCOperandNum(NumMCOperands);
    4009           0 :       Operands[*(p + 1)]->setConstraint("m");
    4010           0 :       NumMCOperands += 1;
    4011           0 :       break;
    4012           0 :     case CVT_95_addImm1_95_16Operands:
    4013           0 :       Operands[*(p + 1)]->setMCOperandNum(NumMCOperands);
    4014           0 :       Operands[*(p + 1)]->setConstraint("m");
    4015           0 :       NumMCOperands += 1;
    4016           0 :       break;
    4017           0 :     case CVT_95_addRotImmOperands:
    4018           0 :       Operands[*(p + 1)]->setMCOperandNum(NumMCOperands);
    4019           0 :       Operands[*(p + 1)]->setConstraint("m");
    4020           0 :       NumMCOperands += 1;
    4021           0 :       break;
    4022           0 :     case CVT_95_addMemTBBOperands:
    4023           0 :       Operands[*(p + 1)]->setMCOperandNum(NumMCOperands);
    4024           0 :       Operands[*(p + 1)]->setConstraint("m");
    4025           0 :       NumMCOperands += 2;
    4026           0 :       break;
    4027           0 :     case CVT_95_addMemTBHOperands:
    4028           0 :       Operands[*(p + 1)]->setMCOperandNum(NumMCOperands);
    4029           0 :       Operands[*(p + 1)]->setConstraint("m");
    4030           0 :       NumMCOperands += 2;
    4031           0 :       break;
    4032           0 :     case CVT_95_addNEONi16splatNotOperands:
    4033           0 :       Operands[*(p + 1)]->setMCOperandNum(NumMCOperands);
    4034           0 :       Operands[*(p + 1)]->setConstraint("m");
    4035           0 :       NumMCOperands += 1;
    4036           0 :       break;
    4037           0 :     case CVT_95_addNEONi32splatNotOperands:
    4038           0 :       Operands[*(p + 1)]->setMCOperandNum(NumMCOperands);
    4039           0 :       Operands[*(p + 1)]->setConstraint("m");
    4040           0 :       NumMCOperands += 1;
    4041           0 :       break;
    4042           0 :     case CVT_95_addNEONi16splatOperands:
    4043           0 :       Operands[*(p + 1)]->setMCOperandNum(NumMCOperands);
    4044           0 :       Operands[*(p + 1)]->setConstraint("m");
    4045           0 :       NumMCOperands += 1;
    4046           0 :       break;
    4047           0 :     case CVT_95_addNEONi32splatOperands:
    4048           0 :       Operands[*(p + 1)]->setMCOperandNum(NumMCOperands);
    4049           0 :       Operands[*(p + 1)]->setConstraint("m");
    4050           0 :       NumMCOperands += 1;
    4051           0 :       break;
    4052           0 :     case CVT_95_addComplexRotationOddOperands:
    4053           0 :       Operands[*(p + 1)]->setMCOperandNum(NumMCOperands);
    4054           0 :       Operands[*(p + 1)]->setConstraint("m");
    4055           0 :       NumMCOperands += 1;
    4056           0 :       break;
    4057           0 :     case CVT_95_addComplexRotationEvenOperands:
    4058           0 :       Operands[*(p + 1)]->setMCOperandNum(NumMCOperands);
    4059           0 :       Operands[*(p + 1)]->setConstraint("m");
    4060           0 :       NumMCOperands += 1;
    4061           0 :       break;
    4062           0 :     case CVT_95_addVectorIndex64Operands:
    4063           0 :       Operands[*(p + 1)]->setMCOperandNum(NumMCOperands);
    4064           0 :       Operands[*(p + 1)]->setConstraint("m");
    4065           0 :       NumMCOperands += 1;
    4066           0 :       break;
    4067           0 :     case CVT_95_addVectorIndex32Operands:
    4068           0 :       Operands[*(p + 1)]->setMCOperandNum(NumMCOperands);
    4069           0 :       Operands[*(p + 1)]->setConstraint("m");
    4070           0 :       NumMCOperands += 1;
    4071           0 :       break;
    4072           0 :     case CVT_95_addFBits16Operands:
    4073           0 :       Operands[*(p + 1)]->setMCOperandNum(NumMCOperands);
    4074           0 :       Operands[*(p + 1)]->setConstraint("m");
    4075           0 :       NumMCOperands += 1;
    4076           0 :       break;
    4077           0 :     case CVT_95_addFBits32Operands:
    4078           0 :       Operands[*(p + 1)]->setMCOperandNum(NumMCOperands);
    4079           0 :       Operands[*(p + 1)]->setConstraint("m");
    4080           0 :       NumMCOperands += 1;
    4081           0 :       break;
    4082           0 :     case CVT_95_addVectorIndex16Operands:
    4083           0 :       Operands[*(p + 1)]->setMCOperandNum(NumMCOperands);
    4084           0 :       Operands[*(p + 1)]->setConstraint("m");
    4085           0 :       NumMCOperands += 1;
    4086           0 :       break;
    4087           0 :     case CVT_95_addVectorIndex8Operands:
    4088           0 :       Operands[*(p + 1)]->setMCOperandNum(NumMCOperands);
    4089           0 :       Operands[*(p + 1)]->setConstraint("m");
    4090           0 :       NumMCOperands += 1;
    4091           0 :       break;
    4092           0 :     case CVT_95_addVecListOperands:
    4093           0 :       Operands[*(p + 1)]->setMCOperandNum(NumMCOperands);
    4094           0 :       Operands[*(p + 1)]->setConstraint("m");
    4095           0 :       NumMCOperands += 1;
    4096           0 :       break;
    4097           0 :     case CVT_95_addDupAlignedMemory16Operands:
    4098           0 :       Operands[*(p + 1)]->setMCOperandNum(NumMCOperands);
    4099           0 :       Operands[*(p + 1)]->setConstraint("m");
    4100           0 :       NumMCOperands += 2;
    4101           0 :       break;
    4102           0 :     case CVT_95_addAlignedMemory64or128Operands:
    4103           0 :       Operands[*(p + 1)]->setMCOperandNum(NumMCOperands);
    4104           0 :       Operands[*(p + 1)]->setConstraint("m");
    4105           0 :       NumMCOperands += 2;
    4106           0 :       break;
    4107           0 :     case CVT_95_addAlignedMemory64or128or256Operands:
    4108           0 :       Operands[*(p + 1)]->setMCOperandNum(NumMCOperands);
    4109           0 :       Operands[*(p + 1)]->setConstraint("m");
    4110           0 :       NumMCOperands += 2;
    4111           0 :       break;
    4112           0 :     case CVT_95_addAlignedMemory64Operands:
    4113           0 :       Operands[*(p + 1)]->setMCOperandNum(NumMCOperands);
    4114           0 :       Operands[*(p + 1)]->setConstraint("m");
    4115           0 :       NumMCOperands += 2;
    4116           0 :       break;
    4117           0 :     case CVT_95_addVecListIndexedOperands:
    4118           0 :       Operands[*(p + 1)]->setMCOperandNum(NumMCOperands);
    4119           0 :       Operands[*(p + 1)]->setConstraint("m");
    4120           0 :       NumMCOperands += 2;
    4121           0 :       break;
    4122           0 :     case CVT_95_addAlignedMemory16Operands:
    4123           0 :       Operands[*(p + 1)]->setMCOperandNum(NumMCOperands);
    4124           0 :       Operands[*(p + 1)]->setConstraint("m");
    4125           0 :       NumMCOperands += 2;
    4126           0 :       break;
    4127           0 :     case CVT_95_addDupAlignedMemory32Operands:
    4128           0 :       Operands[*(p + 1)]->setMCOperandNum(NumMCOperands);
    4129           0 :       Operands[*(p + 1)]->setConstraint("m");
    4130           0 :       NumMCOperands += 2;
    4131           0 :       break;
    4132           0 :     case CVT_95_addAlignedMemory32Operands:
    4133           0 :       Operands[*(p + 1)]->setMCOperandNum(NumMCOperands);
    4134           0 :       Operands[*(p + 1)]->setConstraint("m");
    4135           0 :       NumMCOperands += 2;
    4136           0 :       break;
    4137           0 :     case CVT_95_addDupAlignedMemoryNoneOperands:
    4138           0 :       Operands[*(p + 1)]->setMCOperandNum(NumMCOperands);
    4139           0 :       Operands[*(p + 1)]->setConstraint("m");
    4140           0 :       NumMCOperands += 2;
    4141           0 :       break;
    4142           0 :     case CVT_95_addAlignedMemoryNoneOperands:
    4143           0 :       Operands[*(p + 1)]->setMCOperandNum(NumMCOperands);
    4144           0 :       Operands[*(p + 1)]->setConstraint("m");
    4145           0 :       NumMCOperands += 2;
    4146           0 :       break;
    4147           0 :     case CVT_95_addAlignedMemoryOperands:
    4148           0 :       Operands[*(p + 1)]->setMCOperandNum(NumMCOperands);
    4149           0 :       Operands[*(p + 1)]->setConstraint("m");
    4150           0 :       NumMCOperands += 2;
    4151           0 :       break;
    4152           0 :     case CVT_95_addDupAlignedMemory64Operands:
    4153           0 :       Operands[*(p + 1)]->setMCOperandNum(NumMCOperands);
    4154           0 :       Operands[*(p + 1)]->setConstraint("m");
    4155           0 :       NumMCOperands += 2;
    4156           0 :       break;
    4157           0 :     case CVT_95_addDupAlignedMemory64or128Operands:
    4158           0 :       Operands[*(p + 1)]->setMCOperandNum(NumMCOperands);
    4159           0 :       Operands[*(p + 1)]->setConstraint("m");
    4160           0 :       NumMCOperands += 2;
    4161           0 :       break;
    4162           0 :     case CVT_95_addSPRRegListOperands:
    4163           0 :       Operands[*(p + 1)]->setMCOperandNum(NumMCOperands);
    4164           0 :       Operands[*(p + 1)]->setConstraint("m");
    4165           0 :       NumMCOperands += 1;
    4166           0 :       break;
    4167           0 :     case CVT_95_addAddrMode5FP16Operands:
    4168           0 :       Operands[*(p + 1)]->setMCOperandNum(NumMCOperands);
    4169           0 :       Operands[*(p + 1)]->setConstraint("m");
    4170           0 :       NumMCOperands += 2;
    4171           0 :       break;
    4172           0 :     case CVT_95_addNEONi32vmovOperands:
    4173           0 :       Operands[*(p + 1)]->setMCOperandNum(NumMCOperands);
    4174           0 :       Operands[*(p + 1)]->setConstraint("m");
    4175           0 :       NumMCOperands += 1;
    4176           0 :       break;
    4177           0 :     case CVT_95_addNEONvmovi8ReplicateOperands:
    4178           0 :       Operands[*(p + 1)]->setMCOperandNum(NumMCOperands);
    4179           0 :       Operands[*(p + 1)]->setConstraint("m");
    4180           0 :       NumMCOperands += 1;
    4181           0 :       break;
    4182           0 :     case CVT_95_addNEONvmovi16ReplicateOperands:
    4183           0 :       Operands[*(p + 1)]->setMCOperandNum(NumMCOperands);
    4184           0 :       Operands[*(p + 1)]->setConstraint("m");
    4185           0 :       NumMCOperands += 1;
    4186           0 :       break;
    4187           0 :     case CVT_95_addNEONi32vmovNegOperands:
    4188           0 :       Operands[*(p + 1)]->setMCOperandNum(NumMCOperands);
    4189           0 :       Operands[*(p + 1)]->setConstraint("m");
    4190           0 :       NumMCOperands += 1;
    4191           0 :       break;
    4192           0 :     case CVT_95_addNEONvmovi32ReplicateOperands:
    4193           0 :       Operands[*(p + 1)]->setMCOperandNum(NumMCOperands);
    4194           0 :       Operands[*(p + 1)]->setConstraint("m");
    4195           0 :       NumMCOperands += 1;
    4196           0 :       break;
    4197           0 :     case CVT_95_addNEONi64splatOperands:
    4198           0 :       Operands[*(p + 1)]->setMCOperandNum(NumMCOperands);
    4199           0 :       Operands[*(p + 1)]->setConstraint("m");
    4200           0 :       NumMCOperands += 1;
    4201           0 :       break;
    4202           0 :     case CVT_95_addNEONi8splatOperands:
    4203           0 :       Operands[*(p + 1)]->setMCOperandNum(NumMCOperands);
    4204           0 :       Operands[*(p + 1)]->setConstraint("m");
    4205           0 :       NumMCOperands += 1;
    4206           0 :       break;
    4207           0 :     case CVT_95_addNEONinvi8ReplicateOperands:
    4208           0 :       Operands[*(p + 1)]->setMCOperandNum(NumMCOperands);
    4209           0 :       Operands[*(p + 1)]->setConstraint("m");
    4210           0 :       NumMCOperands += 1;
    4211           0 :       break;
    4212           0 :     case CVT_imm_95_2:
    4213           0 :       Operands[*(p + 1)]->setMCOperandNum(NumMCOperands);
    4214           0 :       Operands[*(p + 1)]->setConstraint("");
    4215           0 :       ++NumMCOperands;
    4216           0 :       break;
    4217           0 :     case CVT_imm_95_3:
    4218           0 :       Operands[*(p + 1)]->setMCOperandNum(NumMCOperands);
    4219           0 :       Operands[*(p + 1)]->setConstraint("");
    4220           0 :       ++NumMCOperands;
    4221           0 :       break;
    4222             :     }
    4223             :   }
    4224           0 : }
    4225             : 
    4226             : namespace {
    4227             : 
    4228             : /// MatchClassKind - The kinds of classes which participate in
    4229             : /// instruction matching.
    4230             : enum MatchClassKind {
    4231             :   InvalidMatchClass = 0,
    4232             :   OptionalMatchClass = 1,
    4233             :   MCK__DOT_d, // '.d'
    4234             :   MCK__DOT_f, // '.f'
    4235             :   MCK__DOT_s16, // '.s16'
    4236             :   MCK__DOT_s32, // '.s32'
    4237             :   MCK__DOT_s64, // '.s64'
    4238             :   MCK__DOT_s8, // '.s8'
    4239             :   MCK__DOT_u16, // '.u16'
    4240             :   MCK__DOT_u32, // '.u32'
    4241             :   MCK__DOT_u64, // '.u64'
    4242             :   MCK__DOT_u8, // '.u8'
    4243             :   MCK__DOT_f32, // '.f32'
    4244             :   MCK__DOT_f64, // '.f64'
    4245             :   MCK__DOT_i16, // '.i16'
    4246             :   MCK__DOT_i32, // '.i32'
    4247             :   MCK__DOT_i64, // '.i64'
    4248             :   MCK__DOT_i8, // '.i8'
    4249             :   MCK__DOT_p16, // '.p16'
    4250             :   MCK__DOT_p8, // '.p8'
    4251             :   MCK__EXCLAIM_, // '!'
    4252             :   MCK__35_0, // '#0'
    4253             :   MCK__DOT_16, // '.16'
    4254             :   MCK__DOT_32, // '.32'
    4255             :   MCK__DOT_64, // '.64'
    4256             :   MCK__DOT_8, // '.8'
    4257             :   MCK__DOT_f16, // '.f16'
    4258             :   MCK__DOT_p64, // '.p64'
    4259             :   MCK__DOT_w, // '.w'
    4260             :   MCK__91_, // '['
    4261             :   MCK__93_, // ']'
    4262             :   MCK__94_, // '^'
    4263             :   MCK__123_, // '{'
    4264             :   MCK__125_, // '}'
    4265             :   MCK_LAST_TOKEN = MCK__125_,
    4266             :   MCK_Reg11, // derived register class
    4267             :   MCK_Reg59, // derived register class
    4268             :   MCK_Reg75, // derived register class
    4269             :   MCK_APSR, // register class 'APSR'
    4270             :   MCK_APSR_NZCV, // register class 'APSR_NZCV'
    4271             :   MCK_CCR, // register class 'CCR,CPSR'
    4272             :   MCK_FPEXC, // register class 'FPEXC'
    4273             :   MCK_FPINST, // register class 'FPINST'
    4274             :   MCK_FPINST2, // register class 'FPINST2'
    4275             :   MCK_FPSCR, // register class 'FPSCR'
    4276             :   MCK_FPSID, // register class 'FPSID'
    4277             :   MCK_GPRsp, // register class 'GPRsp,SP'
    4278             :   MCK_LR, // register class 'LR'
    4279             :   MCK_MVFR0, // register class 'MVFR0'
    4280             :   MCK_MVFR1, // register class 'MVFR1'
    4281             :   MCK_MVFR2, // register class 'MVFR2'
    4282             :   MCK_PC, // register class 'PC'
    4283             :   MCK_SPSR, // register class 'SPSR'
    4284             :   MCK_Reg60, // derived register class
    4285             :   MCK_Reg68, // derived register class
    4286             :   MCK_Reg73, // derived register class
    4287             :   MCK_Reg100, // derived register class
    4288             :   MCK_Reg45, // derived register class
    4289             :   MCK_Reg61, // derived register class
    4290             :   MCK_Reg72, // derived register class
    4291             :   MCK_Reg74, // derived register class
    4292             :   MCK_Reg83, // derived register class
    4293             :   MCK_Reg88, // derived register class
    4294             :   MCK_Reg101, // derived register class
    4295             :   MCK_Reg0, // derived register class
    4296             :   MCK_Reg46, // derived register class
    4297             :   MCK_Reg62, // derived register class
    4298             :   MCK_Reg69, // derived register class
    4299             :   MCK_Reg84, // derived register class
    4300             :   MCK_Reg89, // derived register class
    4301             :   MCK_Reg93, // derived register class
    4302             :   MCK_Reg102, // derived register class
    4303             :   MCK_QPR_8, // register class 'QPR_8'
    4304             :   MCK_Reg57, // derived register class
    4305             :   MCK_Reg63, // derived register class
    4306             :   MCK_tcGPR, // register class 'tcGPR'
    4307             :   MCK_Reg10, // derived register class
    4308             :   MCK_Reg40, // derived register class
    4309             :   MCK_Reg58, // derived register class
    4310             :   MCK_Reg64, // derived register class
    4311             :   MCK_Reg70, // derived register class
    4312             :   MCK_Reg76, // derived register class
    4313             :   MCK_Reg94, // derived register class
    4314             :   MCK_Reg103, // derived register class
    4315             :   MCK_Reg8, // derived register class
    4316             :   MCK_Reg26, // derived register class
    4317             :   MCK_Reg47, // derived register class
    4318             :   MCK_Reg55, // derived register class
    4319             :   MCK_Reg65, // derived register class
    4320             :   MCK_Reg77, // derived register class
    4321             :   MCK_Reg85, // derived register class
    4322             :   MCK_Reg90, // derived register class
    4323             :   MCK_Reg104, // derived register class
    4324             :   MCK_GPRPair, // register class 'GPRPair'
    4325             :   MCK_Reg27, // derived register class
    4326             :   MCK_Reg41, // derived register class
    4327             :   MCK_Reg48, // derived register class
    4328             :   MCK_Reg56, // derived register class
    4329             :   MCK_Reg66, // derived register class
    4330             :   MCK_Reg78, // derived register class
    4331             :   MCK_Reg86, // derived register class
    4332             :   MCK_Reg91, // derived register class
    4333             :   MCK_Reg95, // derived register class
    4334             :   MCK_Reg105, // derived register class
    4335             :   MCK_DPR_8, // register class 'DPR_8'
    4336             :   MCK_QPR_VFP2, // register class 'QPR_VFP2'
    4337             :   MCK_hGPR, // register class 'hGPR'
    4338             :   MCK_tGPR, // register class 'tGPR'
    4339             :   MCK_tGPRwithpc, // register class 'tGPRwithpc'
    4340             :   MCK_Reg96, // derived register class
    4341             :   MCK_Reg53, // derived register class
    4342             :   MCK_QQQQPR, // register class 'QQQQPR'
    4343             :   MCK_Reg42, // derived register class
    4344             :   MCK_Reg54, // derived register class
    4345             :   MCK_Reg79, // derived register class
    4346             :   MCK_Reg97, // derived register class
    4347             :   MCK_Reg106, // derived register class
    4348             :   MCK_rGPR, // register class 'rGPR'
    4349             :   MCK_Reg24, // derived register class
    4350             :   MCK_Reg51, // derived register class
    4351             :   MCK_Reg80, // derived register class
    4352             :   MCK_Reg87, // derived register class
    4353             :   MCK_Reg92, // derived register class
    4354             :   MCK_GPRnopc, // register class 'GPRnopc'
    4355             :   MCK_QQPR, // register class 'QQPR'
    4356             :   MCK_Reg25, // derived register class
    4357             :   MCK_Reg43, // derived register class
    4358             :   MCK_Reg52, // derived register class
    4359             :   MCK_Reg81, // derived register class
    4360             :   MCK_Reg98, // derived register class
    4361             :   MCK_DPR_VFP2, // register class 'DPR_VFP2'
    4362             :   MCK_GPR, // register class 'GPR'
    4363             :   MCK_GPRwithAPSR, // register class 'GPRwithAPSR'
    4364             :   MCK_QPR, // register class 'QPR'
    4365             :   MCK_SPR_8, // register class 'SPR_8'
    4366             :   MCK_DTripleSpc, // register class 'DTripleSpc,DQuadSpc'
    4367             :   MCK_DQuad, // register class 'DQuad'
    4368             :   MCK_DPairSpc, // register class 'DPairSpc'
    4369             :   MCK_DTriple, // register class 'DTriple'
    4370             :   MCK_DPair, // register class 'DPair'
    4371             :   MCK_DPR, // register class 'DPR'
    4372             :   MCK_HPR, // register class 'HPR,SPR'
    4373             :   MCK_LAST_REGISTER = MCK_HPR,
    4374             :   MCK_AM2OffsetImm, // user defined class 'AM2OffsetImmAsmOperand'
    4375             :   MCK_AM3Offset, // user defined class 'AM3OffsetAsmOperand'
    4376             :   MCK_ARMBranchTarget, // user defined class 'ARMBranchTarget'
    4377             :   MCK_AddrMode3, // user defined class 'AddrMode3AsmOperand'
    4378             :   MCK_AddrMode5, // user defined class 'AddrMode5AsmOperand'
    4379             :   MCK_AddrMode5FP16, // user defined class 'AddrMode5FP16AsmOperand'
    4380             :   MCK_AlignedMemory16, // user defined class 'AddrMode6Align16AsmOperand'
    4381             :   MCK_AlignedMemory32, // user defined class 'AddrMode6Align32AsmOperand'
    4382             :   MCK_AlignedMemory64, // user defined class 'AddrMode6Align64AsmOperand'
    4383             :   MCK_AlignedMemory64or128, // user defined class 'AddrMode6Align64or128AsmOperand'
    4384             :   MCK_AlignedMemory64or128or256, // user defined class 'AddrMode6Align64or128or256AsmOperand'
    4385             :   MCK_AlignedMemoryNone, // user defined class 'AddrMode6AlignNoneAsmOperand'
    4386             :   MCK_AlignedMemory, // user defined class 'AddrMode6AsmOperand'
    4387             :   MCK_DupAlignedMemory16, // user defined class 'AddrMode6dupAlign16AsmOperand'
    4388             :   MCK_DupAlignedMemory32, // user defined class 'AddrMode6dupAlign32AsmOperand'
    4389             :   MCK_DupAlignedMemory64, // user defined class 'AddrMode6dupAlign64AsmOperand'
    4390             :   MCK_DupAlignedMemory64or128, // user defined class 'AddrMode6dupAlign64or128AsmOperand'
    4391             :   MCK_DupAlignedMemoryNone, // user defined class 'AddrMode6dupAlignNoneAsmOperand'
    4392             :   MCK_AdrLabel, // user defined class 'AdrLabelAsmOperand'
    4393             :   MCK_BankedReg, // user defined class 'BankedRegOperand'
    4394             :   MCK_Bitfield, // user defined class 'BitfieldAsmOperand'
    4395             :   MCK_CCOut, // user defined class 'CCOutOperand'
    4396             :   MCK_CondCode, // user defined class 'CondCodeOperand'
    4397             :   MCK_CoprocNum, // user defined class 'CoprocNumAsmOperand'
    4398             :   MCK_CoprocOption, // user defined class 'CoprocOptionAsmOperand'
    4399             :   MCK_CoprocReg, // user defined class 'CoprocRegAsmOperand'
    4400             :   MCK_DPRRegList, // user defined class 'DPRRegListAsmOperand'
    4401             :   MCK_FPImm, // user defined class 'FPImmOperand'
    4402             :   MCK_Imm0_15, // user defined class 'Imm0_15AsmOperand'
    4403             :   MCK_Imm0_1, // user defined class 'Imm0_1AsmOperand'
    4404             :   MCK_Imm0_239, // user defined class 'Imm0_239AsmOperand'
    4405             :   MCK_Imm0_255, // user defined class 'Imm0_255AsmOperand'
    4406             :   MCK_Imm0_31, // user defined class 'Imm0_31AsmOperand'
    4407             :   MCK_Imm0_32, // user defined class 'Imm0_32AsmOperand'
    4408             :   MCK_Imm0_3, // user defined class 'Imm0_3AsmOperand'
    4409             :   MCK_Imm0_63, // user defined class 'Imm0_63AsmOperand'
    4410             :   MCK_Imm0_65535, // user defined class 'Imm0_65535AsmOperand'
    4411             :   MCK_Imm0_65535Expr, // user defined class 'Imm0_65535ExprAsmOperand'
    4412             :   MCK_Imm0_7, // user defined class 'Imm0_7AsmOperand'
    4413             :   MCK_Imm16, // user defined class 'Imm16AsmOperand'
    4414             :   MCK_Imm1_15, // user defined class 'Imm1_15AsmOperand'
    4415             :   MCK_Imm1_16, // user defined class 'Imm1_16AsmOperand'
    4416             :   MCK_Imm1_31, // user defined class 'Imm1_31AsmOperand'
    4417             :   MCK_Imm1_32, // user defined class 'Imm1_32AsmOperand'
    4418             :   MCK_Imm1_7, // user defined class 'Imm1_7AsmOperand'
    4419             :   MCK_Imm24bit, // user defined class 'Imm24bitAsmOperand'
    4420             :   MCK_Imm256_65535Expr, // user defined class 'Imm256_65535ExprAsmOperand'
    4421             :   MCK_Imm32, // user defined class 'Imm32AsmOperand'
    4422             :   MCK_Imm8, // user defined class 'Imm8AsmOperand'
    4423             :   MCK_Imm8_255, // user defined class 'Imm8_255AsmOperand'
    4424             :   MCK_Imm, // user defined class 'ImmAsmOperand'
    4425             :   MCK_InstSyncBarrierOpt, // user defined class 'InstSyncBarrierOptOperand'
    4426             :   MCK_MSRMask, // user defined class 'MSRMaskOperand'
    4427             :   MCK_MemBarrierOpt, // user defined class 'MemBarrierOptOperand'
    4428             :   MCK_MemImm0_1020s4Offset, // user defined class 'MemImm0_1020s4OffsetAsmOperand'
    4429             :   MCK_MemImm12Offset, // user defined class 'MemImm12OffsetAsmOperand'
    4430             :   MCK_MemImm8Offset, // user defined class 'MemImm8OffsetAsmOperand'
    4431             :   MCK_MemImm8s4Offset, // user defined class 'MemImm8s4OffsetAsmOperand'
    4432             :   MCK_MemNegImm8Offset, // user defined class 'MemNegImm8OffsetAsmOperand'
    4433             :   MCK_MemNoOffset, // user defined class 'MemNoOffsetAsmOperand'
    4434             :   MCK_MemPosImm8Offset, // user defined class 'MemPosImm8OffsetAsmOperand'
    4435             :   MCK_MemRegOffset, // user defined class 'MemRegOffsetAsmOperand'
    4436             :   MCK_ModImm, // user defined class 'ModImmAsmOperand'
    4437             :   MCK_ModImmNeg, // user defined class 'ModImmNegAsmOperand'
    4438             :   MCK_ModImmNot, // user defined class 'ModImmNotAsmOperand'
    4439             :   MCK_PKHASRImm, // user defined class 'PKHASRAsmOperand'
    4440             :   MCK_PKHLSLImm, // user defined class 'PKHLSLAsmOperand'
    4441             :   MCK_PostIdxImm8, // user defined class 'PostIdxImm8AsmOperand'
    4442             :   MCK_PostIdxImm8s4, // user defined class 'PostIdxImm8s4AsmOperand'
    4443             :   MCK_PostIdxReg, // user defined class 'PostIdxRegAsmOperand'
    4444             :   MCK_PostIdxRegShifted, // user defined class 'PostIdxRegShiftedAsmOperand'
    4445             :   MCK_ProcIFlags, // user defined class 'ProcIFlagsOperand'
    4446             :   MCK_RegList, // user defined class 'RegListAsmOperand'
    4447             :   MCK_RotImm, // user defined class 'RotImmAsmOperand'
    4448             :   MCK_SPRRegList, // user defined class 'SPRRegListAsmOperand'
    4449             :   MCK_SetEndImm, // user defined class 'SetEndAsmOperand'
    4450             :   MCK_RegShiftedImm, // user defined class 'ShiftedImmAsmOperand'
    4451             :   MCK_RegShiftedReg, // user defined class 'ShiftedRegAsmOperand'
    4452             :   MCK_ShifterImm, // user defined class 'ShifterImmAsmOperand'
    4453             :   MCK_ThumbBranchTarget, // user defined class 'ThumbBranchTarget'
    4454             :   MCK_ThumbMemPC, // user defined class 'ThumbMemPC'
    4455             :   MCK_ThumbModImmNeg1_7, // user defined class 'ThumbModImmNeg1_7AsmOperand'
    4456             :   MCK_ThumbModImmNeg8_255, // user defined class 'ThumbModImmNeg8_255AsmOperand'
    4457             :   MCK_ImmThumbSR, // user defined class 'ThumbSRImmAsmOperand'
    4458             :   MCK_UnsignedOffset_b8s2, // user defined class 'UnsignedOffset_b8s2'
    4459             :   MCK_VecListDPairAllLanes, // user defined class 'VecListDPairAllLanesAsmOperand'
    4460             :   MCK_VecListDPair, // user defined class 'VecListDPairAsmOperand'
    4461             :   MCK_VecListDPairSpacedAllLanes, // user defined class 'VecListDPairSpacedAllLanesAsmOperand'
    4462             :   MCK_VecListDPairSpaced, // user defined class 'VecListDPairSpacedAsmOperand'
    4463             :   MCK_VecListFourDAllLanes, // user defined class 'VecListFourDAllLanesAsmOperand'
    4464             :   MCK_VecListFourD, // user defined class 'VecListFourDAsmOperand'
    4465             :   MCK_VecListFourDByteIndexed, // user defined class 'VecListFourDByteIndexAsmOperand'
    4466             :   MCK_VecListFourDHWordIndexed, // user defined class 'VecListFourDHWordIndexAsmOperand'
    4467             :   MCK_VecListFourDWordIndexed, // user defined class 'VecListFourDWordIndexAsmOperand'
    4468             :   MCK_VecListFourQAllLanes, // user defined class 'VecListFourQAllLanesAsmOperand'
    4469             :   MCK_VecListFourQ, // user defined class 'VecListFourQAsmOperand'
    4470             :   MCK_VecListFourQHWordIndexed, // user defined class 'VecListFourQHWordIndexAsmOperand'
    4471             :   MCK_VecListFourQWordIndexed, // user defined class 'VecListFourQWordIndexAsmOperand'
    4472             :   MCK_VecListOneDAllLanes, // user defined class 'VecListOneDAllLanesAsmOperand'
    4473             :   MCK_VecListOneD, // user defined class 'VecListOneDAsmOperand'
    4474             :   MCK_VecListOneDByteIndexed, // user defined class 'VecListOneDByteIndexAsmOperand'
    4475             :   MCK_VecListOneDHWordIndexed, // user defined class 'VecListOneDHWordIndexAsmOperand'
    4476             :   MCK_VecListOneDWordIndexed, // user defined class 'VecListOneDWordIndexAsmOperand'
    4477             :   MCK_VecListThreeDAllLanes, // user defined class 'VecListThreeDAllLanesAsmOperand'
    4478             :   MCK_VecListThreeD, // user defined class 'VecListThreeDAsmOperand'
    4479             :   MCK_VecListThreeDByteIndexed, // user defined class 'VecListThreeDByteIndexAsmOperand'
    4480             :   MCK_VecListThreeDHWordIndexed, // user defined class 'VecListThreeDHWordIndexAsmOperand'
    4481             :   MCK_VecListThreeDWordIndexed, // user defined class 'VecListThreeDWordIndexAsmOperand'
    4482             :   MCK_VecListThreeQAllLanes, // user defined class 'VecListThreeQAllLanesAsmOperand'
    4483             :   MCK_VecListThreeQ, // user defined class 'VecListThreeQAsmOperand'
    4484             :   MCK_VecListThreeQHWordIndexed, // user defined class 'VecListThreeQHWordIndexAsmOperand'
    4485             :   MCK_VecListThreeQWordIndexed, // user defined class 'VecListThreeQWordIndexAsmOperand'
    4486             :   MCK_VecListTwoDByteIndexed, // user defined class 'VecListTwoDByteIndexAsmOperand'
    4487             :   MCK_VecListTwoDHWordIndexed, // user defined class 'VecListTwoDHWordIndexAsmOperand'
    4488             :   MCK_VecListTwoDWordIndexed, // user defined class 'VecListTwoDWordIndexAsmOperand'
    4489             :   MCK_VecListTwoQHWordIndexed, // user defined class 'VecListTwoQHWordIndexAsmOperand'
    4490             :   MCK_VecListTwoQWordIndexed, // user defined class 'VecListTwoQWordIndexAsmOperand'
    4491             :   MCK_VectorIndex16, // user defined class 'VectorIndex16Operand'
    4492             :   MCK_VectorIndex32, // user defined class 'VectorIndex32Operand'
    4493             :   MCK_VectorIndex64, // user defined class 'VectorIndex64Operand'
    4494             :   MCK_VectorIndex8, // user defined class 'VectorIndex8Operand'
    4495             :   MCK_MemTBB, // user defined class 'addrmode_tbb_asmoperand'
    4496             :   MCK_MemTBH, // user defined class 'addrmode_tbh_asmoperand'
    4497             :   MCK_ComplexRotationEven, // user defined class 'anonymous_3110'
    4498             :   MCK_ComplexRotationOdd, // user defined class 'anonymous_3111'
    4499             :   MCK_NEONi16vmovi8Replicate, // user defined class 'anonymous_4030'
    4500             :   MCK_NEONi16invi8Replicate, // user defined class 'anonymous_4032'
    4501             :   MCK_NEONi32vmovi8Replicate, // user defined class 'anonymous_4035'
    4502             :   MCK_NEONi32invi8Replicate, // user defined class 'anonymous_4037'
    4503             :   MCK_NEONi64vmovi8Replicate, // user defined class 'anonymous_4040'
    4504             :   MCK_NEONi64invi8Replicate, // user defined class 'anonymous_4042'
    4505             :   MCK_NEONi32vmovi16Replicate, // user defined class 'anonymous_4049'
    4506             :   MCK_NEONi64vmovi16Replicate, // user defined class 'anonymous_4052'
    4507             :   MCK_NEONi64vmovi32Replicate, // user defined class 'anonymous_4055'
    4508             :   MCK_ConstPoolAsmImm, // user defined class 'const_pool_asm_operand'
    4509             :   MCK_FBits16, // user defined class 'fbits16_asm_operand'
    4510             :   MCK_FBits32, // user defined class 'fbits32_asm_operand'
    4511             :   MCK_Imm0_4095, // user defined class 'imm0_4095_asmoperand'
    4512             :   MCK_Imm0_4095Neg, // user defined class 'imm0_4095_neg_asmoperand'
    4513             :   MCK_ITMask, // user defined class 'it_mask_asmoperand'
    4514             :   MCK_ITCondCode, // user defined class 'it_pred_asmoperand'
    4515             :   MCK_NEONi16splat, // user defined class 'nImmSplatI16AsmOperand'
    4516             :   MCK_NEONi32splat, // user defined class 'nImmSplatI32AsmOperand'
    4517             :   MCK_NEONi64splat, // user defined class 'nImmSplatI64AsmOperand'
    4518             :   MCK_NEONi8splat, // user defined class 'nImmSplatI8AsmOperand'
    4519             :   MCK_NEONi16splatNot, // user defined class 'nImmSplatNotI16AsmOperand'
    4520             :   MCK_NEONi32splatNot, // user defined class 'nImmSplatNotI32AsmOperand'
    4521             :   MCK_NEONi32vmov, // user defined class 'nImmVMOVI32AsmOperand'
    4522             :   MCK_NEONi32vmovNeg, // user defined class 'nImmVMOVI32NegAsmOperand'
    4523             :   MCK_ShrImm16, // user defined class 'shr_imm16_asm_operand'
    4524             :   MCK_ShrImm32, // user defined class 'shr_imm32_asm_operand'
    4525             :   MCK_ShrImm64, // user defined class 'shr_imm64_asm_operand'
    4526             :   MCK_ShrImm8, // user defined class 'shr_imm8_asm_operand'
    4527             :   MCK_T2SOImm, // user defined class 't2_so_imm_asmoperand'
    4528             :   MCK_T2SOImmNeg, // user defined class 't2_so_imm_neg_asmoperand'
    4529             :   MCK_T2SOImmNot, // user defined class 't2_so_imm_not_asmoperand'
    4530             :   MCK_MemUImm12Offset, // user defined class 't2addrmode_imm12_asmoperand'
    4531             :   MCK_T2MemRegOffset, // user defined class 't2addrmode_so_reg_asmoperand'
    4532             :   MCK_Imm8s4, // user defined class 't2am_imm8s4_offset_asmoperand'
    4533             :   MCK_MemPCRelImm12, // user defined class 't2ldr_pcrel_imm12_asmoperand'
    4534             :   MCK_MemThumbRIs1, // user defined class 't_addrmode_is1_asm_operand'
    4535             :   MCK_MemThumbRIs2, // user defined class 't_addrmode_is2_asm_operand'
    4536             :   MCK_MemThumbRIs4, // user defined class 't_addrmode_is4_asm_operand'
    4537             :   MCK_MemThumbRR, // user defined class 't_addrmode_rr_asm_operand'
    4538             :   MCK_MemThumbSPI, // user defined class 't_addrmode_sp_asm_operand'
    4539             :   MCK_Imm0_1020s4, // user defined class 't_imm0_1020s4_asmoperand'
    4540             :   MCK_Imm0_508s4, // user defined class 't_imm0_508s4_asmoperand'
    4541             :   MCK_Imm0_508s4Neg, // user defined class 't_imm0_508s4_neg_asmoperand'
    4542             :   NumMatchClassKinds
    4543             : };
    4544             : 
    4545             : }
    4546             : 
    4547        4749 : static const char *getMatchKindDiag(ARMAsmParser::ARMMatchResultTy MatchResult) {
    4548        4749 :   switch (MatchResult) {
    4549             :   case ARMAsmParser::Match_GPRsp:
    4550             :     return "operand must be a register sp";
    4551           0 :   case ARMAsmParser::Match_QPR_8:
    4552           0 :     return "operand must be a register in range [q0, q3]";
    4553           0 :   case ARMAsmParser::Match_DPR_8:
    4554           0 :     return "operand must be a register in range [d0, d7]";
    4555           0 :   case ARMAsmParser::Match_QPR_VFP2:
    4556           0 :     return "operand must be a register in range [q0, q7]";
    4557           0 :   case ARMAsmParser::Match_hGPR:
    4558           0 :     return "operand must be a register in range [r8, r15]";
    4559          37 :   case ARMAsmParser::Match_tGPR:
    4560          37 :     return "operand must be a register in range [r0, r7]";
    4561         118 :   case ARMAsmParser::Match_GPRnopc:
    4562         118 :     return "operand must be a register in range [r0, r14]";
    4563           4 :   case ARMAsmParser::Match_DPR_VFP2:
    4564           4 :     return "operand must be a register in range [d0, d15]";
    4565          59 :   case ARMAsmParser::Match_GPR:
    4566          59 :     return "operand must be a register in range [r0, r15]";
    4567           0 :   case ARMAsmParser::Match_GPRwithAPSR:
    4568           0 :     return "operand must be a register in range [r0, r14] or apsr_nzcv";
    4569          26 :   case ARMAsmParser::Match_QPR:
    4570          26 :     return "operand must be a register in range [q0, q15]";
    4571           0 :   case ARMAsmParser::Match_SPR_8:
    4572           0 :     return "operand must be a register in range [s0, s15]";
    4573           4 :   case ARMAsmParser::Match_SPR:
    4574           4 :     return "operand must be a register in range [s0, s31]";
    4575          48 :   case ARMAsmParser::Match_AlignedMemory16:
    4576          48 :     return "alignment must be 16 or omitted";
    4577          84 :   case ARMAsmParser::Match_AlignedMemory32:
    4578          84 :     return "alignment must be 32 or omitted";
    4579         432 :   case ARMAsmParser::Match_AlignedMemory64:
    4580         432 :     return "alignment must be 64 or omitted";
    4581         213 :   case ARMAsmParser::Match_AlignedMemory64or128:
    4582         213 :     return "alignment must be 64, 128 or omitted";
    4583         150 :   case ARMAsmParser::Match_AlignedMemory64or128or256:
    4584         150 :     return "alignment must be 64, 128, 256 or omitted";
    4585         180 :   case ARMAsmParser::Match_AlignedMemoryNone:
    4586         180 :     return "alignment must be omitted";
    4587          48 :   case ARMAsmParser::Match_DupAlignedMemory16:
    4588          48 :     return "alignment must be 16 or omitted";
    4589          72 :   case ARMAsmParser::Match_DupAlignedMemory32:
    4590          72 :     return "alignment must be 32 or omitted";
    4591          48 :   case ARMAsmParser::Match_DupAlignedMemory64:
    4592          48 :     return "alignment must be 64 or omitted";
    4593          18 :   case ARMAsmParser::Match_DupAlignedMemory64or128:
    4594          18 :     return "alignment must be 64, 128 or omitted";
    4595         120 :   case ARMAsmParser::Match_DupAlignedMemoryNone:
    4596         120 :     return "alignment must be omitted";
    4597          15 :   case ARMAsmParser::Match_Imm0_15:
    4598          15 :     return "operand must be an immediate in the range [0,15]";
    4599           4 :   case ARMAsmParser::Match_Imm0_1:
    4600           4 :     return "operand must be an immediate in the range [0,1]";
    4601           4 :   case ARMAsmParser::Match_Imm0_239:
    4602           4 :     return "operand must be an immediate in the range [0,239]";
    4603          23 :   case ARMAsmParser::Match_Imm0_255:
    4604          23 :     return "operand must be an immediate in the range [0,255]";
    4605           8 :   case ARMAsmParser::Match_Imm0_31:
    4606           8 :     return "operand must be an immediate in the range [0,31]";
    4607           0 :   case ARMAsmParser::Match_Imm0_32:
    4608           0 :     return "operand must be an immediate in the range [0,32]";
    4609           0 :   case ARMAsmParser::Match_Imm0_3:
    4610           0 :     return "operand must be an immediate in the range [0,3]";
    4611           2 :   case ARMAsmParser::Match_Imm0_63:
    4612           2 :     return "operand must be an immediate in the range [0,63]";
    4613           6 :   case ARMAsmParser::Match_Imm0_65535:
    4614           6 :     return "operand must be an immediate in the range [0,65535]";
    4615           8 :   case ARMAsmParser::Match_Imm0_65535Expr:
    4616           8 :     return "operand must be an immediate in the range [0,0xffff] or a relocatable expression";
    4617          28 :   case ARMAsmParser::Match_Imm0_7:
    4618          28 :     return "operand must be an immediate in the range [0,7]";
    4619           0 :   case ARMAsmParser::Match_Imm16:
    4620           0 :     return "operand must be an immediate in the range [16,16]";
    4621           0 :   case ARMAsmParser::Match_Imm1_15:
    4622           0 :     return "operand must be an immediate in the range [1,15]";
    4623           4 :   case ARMAsmParser::Match_ImmRange1_16:
    4624           4 :     return "operand must be an immediate in the range [1,16]";
    4625           4 :   case ARMAsmParser::Match_Imm1_31:
    4626           4 :     return "operand must be an immediate in the range [1,31]";
    4627           4 :   case ARMAsmParser::Match_ImmRange1_32:
    4628           4 :     return "operand must be an immediate in the range [1,32]";
    4629           0 :   case ARMAsmParser::Match_Imm1_7:
    4630           0 :     return "operand must be an immediate in the range [1,7]";
    4631           2 :   case ARMAsmParser::Match_Imm24bit:
    4632           2 :     return "operand must be an immediate in the range [0,0xffffff]";
    4633           5 :   case ARMAsmParser::Match_Imm256_65535Expr:
    4634           5 :     return "operand must be an immediate in the range [256,65535]";
    4635           0 :   case ARMAsmParser::Match_Imm32:
    4636           0 :     return "operand must be an immediate in the range [32,32]";
    4637           0 :   case ARMAsmParser::Match_Imm8:
    4638           0 :     return "operand must be an immediate in the range [8,8]";
    4639           0 :   case ARMAsmParser::Match_Imm8_255:
    4640           0 :     return "operand must be an immediate in the range [8,255]";
    4641           0 :   case ARMAsmParser::Match_PKHLSLImm:
    4642           0 :     return "operand must be an immediate in the range [0,31]";
    4643           8 :   case ARMAsmParser::Match_SPRRegList:
    4644           8 :     return "operand must be a list of registers in range [s0, s31]";
    4645           0 :   case ARMAsmParser::Match_SetEndImm:
    4646           0 :     return "operand must be an immediate in the range [0,1]";
    4647           6 :   case ARMAsmParser::Match_ImmThumbSR:
    4648           6 :     return "operand must be an immediate in the range [1,32]";
    4649          24 :   case ARMAsmParser::Match_ComplexRotationEven:
    4650          24 :     return "complex rotation must be 0, 90, 180 or 270";
    4651          20 :   case ARMAsmParser::Match_ComplexRotationOdd:
    4652          20 :     return "complex rotation must be 90 or 270";
    4653           2 :   case ARMAsmParser::Match_Imm0_4095:
    4654           2 :     return "operand must be an immediate in the range [0,4095]";
    4655           0 :   case ARMAsmParser::Match_ShrImm16:
    4656           0 :     return "operand must be an immediate in the range [1,16]";
    4657           0 :   case ARMAsmParser::Match_ShrImm32:
    4658           0 :     return "operand must be an immediate in the range [1,32]";
    4659           0 :   case ARMAsmParser::Match_ShrImm64:
    4660           0 :     return "operand must be an immediate in the range [1,64]";
    4661           0 :   case ARMAsmParser::Match_ShrImm8:
    4662           0 :     return "operand must be an immediate in the range [1,8]";
    4663        2908 :   default:
    4664        2908 :     return nullptr;
    4665             :   }
    4666             : }
    4667             : 
    4668             : static unsigned getDiagKindFromRegisterClass(MatchClassKind RegisterClass) {
    4669             :   switch (RegisterClass) {
    4670             :   case MCK_GPRsp:
    4671             :     return ARMAsmParser::Match_GPRsp;
    4672             :   case MCK_QPR_8:
    4673             :     return ARMAsmParser::Match_QPR_8;
    4674             :   case MCK_DPR_8:
    4675             :     return ARMAsmParser::Match_DPR_8;
    4676             :   case MCK_QPR_VFP2:
    4677             :     return ARMAsmParser::Match_QPR_VFP2;
    4678             :   case MCK_hGPR:
    4679             :     return ARMAsmParser::Match_hGPR;
    4680             :   case MCK_tGPR:
    4681             :     return ARMAsmParser::Match_tGPR;
    4682             :   case MCK_rGPR:
    4683             :     return ARMAsmParser::Match_rGPR;
    4684             :   case MCK_GPRnopc:
    4685             :     return ARMAsmParser::Match_GPRnopc;
    4686             :   case MCK_DPR_VFP2:
    4687             :     return ARMAsmParser::Match_DPR_VFP2;
    4688             :   case MCK_GPR:
    4689             :     return ARMAsmParser::Match_GPR;
    4690             :   case MCK_GPRwithAPSR:
    4691             :     return ARMAsmParser::Match_GPRwithAPSR;
    4692             :   case MCK_QPR:
    4693             :     return ARMAsmParser::Match_QPR;
    4694             :   case MCK_SPR_8:
    4695             :     return ARMAsmParser::Match_SPR_8;
    4696             :   case MCK_DPR:
    4697             :     return ARMAsmParser::Match_DPR;
    4698             :   case MCK_HPR:
    4699             :     return ARMAsmParser::Match_SPR;
    4700             :   default:
    4701             :     return MCTargetAsmParser::Match_InvalidOperand;
    4702             :   }
    4703             : }
    4704             : 
    4705      233519 : static MatchClassKind matchTokenString(StringRef Name) {
    4706      233519 :   switch (Name.size()) {
    4707             :   default: break;
    4708        3645 :   case 1:        // 6 strings to match.
    4709        3645 :     switch (Name[0]) {
    4710             :     default: break;
    4711             :     case '!':    // 1 string to match.
    4712             :       return MCK__EXCLAIM_;      // "!"
    4713           0 :     case '[':    // 1 string to match.
    4714           0 :       return MCK__91_;   // "["
    4715           0 :     case ']':    // 1 string to match.
    4716           0 :       return MCK__93_;   // "]"
    4717           8 :     case '^':    // 1 string to match.
    4718           8 :       return MCK__94_;   // "^"
    4719           0 :     case '{':    // 1 string to match.
    4720           0 :       return MCK__123_;  // "{"
    4721           0 :     case '}':    // 1 string to match.
    4722           0 :       return MCK__125_;  // "}"
    4723             :     }
    4724             :     break;
    4725       44320 :   case 2:        // 5 strings to match.
    4726       44320 :     switch (Name[0]) {
    4727             :     default: break;
    4728           0 :     case '#':    // 1 string to match.
    4729           0 :       if (Name[1] != '0')
    4730             :         break;
    4731             :       return MCK__35_0;  // "#0"
    4732       44320 :     case '.':    // 4 strings to match.
    4733       44320 :       switch (Name[1]) {
    4734             :       default: break;
    4735             :       case '8':  // 1 string to match.
    4736             :         return MCK__DOT_8;       // ".8"
    4737          56 :       case 'd':  // 1 string to match.
    4738          56 :         return MCK__DOT_d;       // ".d"
    4739          52 :       case 'f':  // 1 string to match.
    4740          52 :         return MCK__DOT_f;       // ".f"
    4741        2857 :       case 'w':  // 1 string to match.
    4742        2857 :         return MCK__DOT_w;       // ".w"
    4743             :       }
    4744             :       break;
    4745             :     }
    4746             :     break;
    4747       97654 :   case 3:        // 7 strings to match.
    4748       97654 :     if (Name[0] != '.')
    4749             :       break;
    4750       97654 :     switch (Name[1]) {
    4751             :     default: break;
    4752       34939 :     case '1':    // 1 string to match.
    4753       34939 :       if (Name[2] != '6')
    4754             :         break;
    4755             :       return MCK__DOT_16;        // ".16"
    4756       43816 :     case '3':    // 1 string to match.
    4757       43816 :       if (Name[2] != '2')
    4758             :         break;
    4759             :       return MCK__DOT_32;        // ".32"
    4760        9138 :     case '6':    // 1 string to match.
    4761        9138 :       if (Name[2] != '4')
    4762             :         break;
    4763             :       return MCK__DOT_64;        // ".64"
    4764        1415 :     case 'i':    // 1 string to match.
    4765        1415 :       if (Name[2] != '8')
    4766             :         break;
    4767             :       return MCK__DOT_i8;        // ".i8"
    4768         864 :     case 'p':    // 1 string to match.
    4769         864 :       if (Name[2] != '8')
    4770             :         break;
    4771             :       return MCK__DOT_p8;        // ".p8"
    4772        3420 :     case 's':    // 1 string to match.
    4773        3420 :       if (Name[2] != '8')
    4774             :         break;
    4775             :       return MCK__DOT_s8;        // ".s8"
    4776        4062 :     case 'u':    // 1 string to match.
    4777        4062 :       if (Name[2] != '8')
    4778             :         break;
    4779             :       return MCK__DOT_u8;        // ".u8"
    4780             :     }
    4781             :     break;
    4782       87900 :   case 4:        // 14 strings to match.
    4783       87900 :     if (Name[0] != '.')
    4784             :       break;
    4785       87900 :     switch (Name[1]) {
    4786             :     default: break;
    4787       47121 :     case 'f':    // 3 strings to match.
    4788       47121 :       switch (Name[2]) {
    4789             :       default: break;
    4790       26246 :       case '1':  // 1 string to match.
    4791       26246 :         if (Name[3] != '6')
    4792             :           break;
    4793             :         return MCK__DOT_f16;     // ".f16"
    4794       12339 :       case '3':  // 1 string to match.
    4795       12339 :         if (Name[3] != '2')
    4796             :           break;
    4797             :         return MCK__DOT_f32;     // ".f32"
    4798        8536 :       case '6':  // 1 string to match.
    4799        8536 :         if (Name[3] != '4')
    4800             :           break;
    4801             :         return MCK__DOT_f64;     // ".f64"
    4802             :       }
    4803             :       break;
    4804        5078 :     case 'i':    // 3 strings to match.
    4805        5078 :       switch (Name[2]) {
    4806             :       default: break;
    4807        1470 :       case '1':  // 1 string to match.
    4808        1470 :         if (Name[3] != '6')
    4809             :           break;
    4810             :         return MCK__DOT_i16;     // ".i16"
    4811        2482 :       case '3':  // 1 string to match.
    4812        2482 :         if (Name[3] != '2')
    4813             :           break;
    4814             :         return MCK__DOT_i32;     // ".i32"
    4815        1126 :       case '6':  // 1 string to match.
    4816        1126 :         if (Name[3] != '4')
    4817             :           break;
    4818             :         return MCK__DOT_i64;     // ".i64"
    4819             :       }
    4820             :       break;
    4821         255 :     case 'p':    // 2 strings to match.
    4822         255 :       switch (Name[2]) {
    4823             :       default: break;
    4824         242 :       case '1':  // 1 string to match.
    4825         242 :         if (Name[3] != '6')
    4826             :           break;
    4827             :         return MCK__DOT_p16;     // ".p16"
    4828          13 :       case '6':  // 1 string to match.
    4829          13 :         if (Name[3] != '4')
    4830             :           break;
    4831             :         return MCK__DOT_p64;     // ".p64"
    4832             :       }
    4833             :       break;
    4834       15808 :     case 's':    // 3 strings to match.
    4835       15808 :       switch (Name[2]) {
    4836             :       default: break;
    4837        7220 :       case '1':  // 1 string to match.
    4838        7220 :         if (Name[3] != '6')
    4839             :           break;
    4840             :         return MCK__DOT_s16;     // ".s16"
    4841        7253 :       case '3':  // 1 string to match.
    4842        7253 :         if (Name[3] != '2')
    4843             :           break;
    4844             :         return MCK__DOT_s32;     // ".s32"
    4845        1335 :       case '6':  // 1 string to match.
    4846        1335 :         if (Name[3] != '4')
    4847             :           break;
    4848             :         return MCK__DOT_s64;     // ".s64"
    4849             :       }
    4850             :       break;
    4851       19638 :     case 'u':    // 3 strings to match.
    4852       19638 :       switch (Name[2]) {
    4853             :       default: break;
    4854        8671 :       case '1':  // 1 string to match.
    4855        8671 :         if (Name[3] != '6')
    4856             :           break;
    4857             :         return MCK__DOT_u16;     // ".u16"
    4858        8972 :       case '3':  // 1 string to match.
    4859        8972 :         if (Name[3] != '2')
    4860             :           break;
    4861             :         return MCK__DOT_u32;     // ".u32"
    4862        1995 :       case '6':  // 1 string to match.
    4863        1995 :         if (Name[3] != '4')
    4864             :           break;
    4865             :         return MCK__DOT_u64;     // ".u64"
    4866             :       }
    4867             :       break;
    4868             :     }
    4869             :     break;
    4870             :   }
    4871             :   return InvalidMatchClass;
    4872             : }
    4873             : 
    4874             : /// isSubclass - Compute whether \p A is a subclass of \p B.
    4875      907533 : static bool isSubclass(MatchClassKind A, MatchClassKind B) {
    4876      907533 :   if (A == B)
    4877             :     return true;
    4878             : 
    4879      812033 :   switch (A) {
    4880             :   default:
    4881             :     return false;
    4882             : 
    4883          56 :   case MCK__DOT_d:
    4884          56 :     switch (B) {
    4885             :     default: return false;
    4886           0 :     case MCK__DOT_f64: return true;
    4887          12 :     case MCK__DOT_64: return true;
    4888             :     }
    4889             : 
    4890          52 :   case MCK__DOT_f:
    4891          52 :     switch (B) {
    4892             :     default: return false;
    4893           0 :     case MCK__DOT_f32: return true;
    4894          14 :     case MCK__DOT_32: return true;
    4895             :     }
    4896             : 
    4897       13970 :   case MCK__DOT_s16:
    4898       13970 :     switch (B) {
    4899             :     default: return false;
    4900          60 :     case MCK__DOT_i16: return true;
    4901          73 :     case MCK__DOT_16: return true;
    4902             :     }
    4903             : 
    4904       14795 :   case MCK__DOT_s32:
    4905       14795 :     switch (B) {
    4906             :     default: return false;
    4907          40 :     case MCK__DOT_i32: return true;
    4908          61 :     case MCK__DOT_32: return true;
    4909             :     }
    4910             : 
    4911        2676 :   case MCK__DOT_s64:
    4912        2676 :     switch (B) {
    4913             :     default: return false;
    4914           7 :     case MCK__DOT_i64: return true;
    4915          12 :     case MCK__DOT_64: return true;
    4916             :     }
    4917             : 
    4918        6112 :   case MCK__DOT_s8:
    4919        6112 :     switch (B) {
    4920             :     default: return false;
    4921          15 :     case MCK__DOT_i8: return true;
    4922          82 :     case MCK__DOT_8: return true;
    4923             :     }
    4924             : 
    4925       13112 :   case MCK__DOT_u16:
    4926       13112 :     switch (B) {
    4927             :     default: return false;
    4928          65 :     case MCK__DOT_i16: return true;
    4929         216 :     case MCK__DOT_16: return true;
    4930             :     }
    4931             : 
    4932       14049 :   case MCK__DOT_u32:
    4933       14049 :     switch (B) {
    4934             :     default: return false;
    4935          59 :     case MCK__DOT_i32: return true;
    4936         150 :     case MCK__DOT_32: return true;
    4937             :     }
    4938             : 
    4939        2697 :   case MCK__DOT_u64:
    4940        2697 :     switch (B) {
    4941             :     default: return false;
    4942          16 :     case MCK__DOT_i64: return true;
    4943          12 :     case MCK__DOT_64: return true;
    4944             :     }
    4945             : 
    4946        5183 :   case MCK__DOT_u8:
    4947        5183 :     switch (B) {
    4948             :     default: return false;
    4949          12 :     case MCK__DOT_i8: return true;
    4950          98 :     case MCK__DOT_8: return true;
    4951             :     }
    4952             : 
    4953       23715 :   case MCK__DOT_f32:
    4954       23715 :     return B == MCK__DOT_32;
    4955             : 
    4956       11987 :   case MCK__DOT_f64:
    4957       11987 :     return B == MCK__DOT_64;
    4958             : 
    4959        3552 :   case MCK__DOT_i16:
    4960        3552 :     return B == MCK__DOT_16;
    4961             : 
    4962        4567 :   case MCK__DOT_i32:
    4963        4567 :     return B == MCK__DOT_32;
    4964             : 
    4965        2275 :   case MCK__DOT_i64:
    4966        2275 :     return B == MCK__DOT_64;
    4967             : 
    4968        2425 :   case MCK__DOT_i8:
    4969        2425 :     return B == MCK__DOT_8;
    4970             : 
    4971         242 :   case MCK__DOT_p16:
    4972         242 :     return B == MCK__DOT_16;
    4973             : 
    4974        1098 :   case MCK__DOT_p8:
    4975        1098 :     return B == MCK__DOT_8;
    4976             : 
    4977        1540 :   case MCK_Reg11:
    4978             :     switch (B) {
    4979             :     default: return false;
    4980             :     case MCK_tcGPR: return true;
    4981             :     case MCK_Reg10: return true;
    4982             :     case MCK_Reg8: return true;
    4983             :     case MCK_hGPR: return true;
    4984             :     case MCK_rGPR: return true;
    4985             :     case MCK_GPRnopc: return true;
    4986             :     case MCK_GPR: return true;
    4987             :     case MCK_GPRwithAPSR: return true;
    4988             :     }
    4989             : 
    4990           0 :   case MCK_Reg59:
    4991             :     switch (B) {
    4992             :     default: return false;
    4993             :     case MCK_Reg60: return true;
    4994             :     case MCK_Reg61: return true;
    4995             :     case MCK_Reg62: return true;
    4996             :     case MCK_Reg63: return true;
    4997             :     case MCK_Reg64: return true;
    4998             :     case MCK_Reg65: return true;
    4999             :     case MCK_Reg66: return true;
    5000             :     case MCK_QQQQPR: return true;
    5001             :     }
    5002             : 
    5003           0 :   case MCK_Reg75:
    5004           0 :     switch (B) {
    5005             :     default: return false;
    5006           0 :     case MCK_Reg72: return true;
    5007           0 :     case MCK_Reg74: return true;
    5008           0 :     case MCK_GPRPair: return true;
    5009             :     }
    5010             : 
    5011         153 :   case MCK_APSR_NZCV:
    5012         153 :     return B == MCK_GPRwithAPSR;
    5013             : 
    5014        5706 :   case MCK_GPRsp:
    5015        5706 :     switch (B) {
    5016             :     default: return false;
    5017           0 :     case MCK_Reg8: return true;
    5018           0 :     case MCK_hGPR: return true;
    5019        1203 :     case MCK_GPRnopc: return true;
    5020        1233 :     case MCK_GPR: return true;
    5021           0 :     case MCK_GPRwithAPSR: return true;
    5022             :     }
    5023             : 
    5024        2295 :   case MCK_LR:
    5025             :     switch (B) {
    5026             :     default: return false;
    5027             :     case MCK_Reg10: return true;
    5028             :     case MCK_Reg8: return true;
    5029             :     case MCK_hGPR: return true;
    5030             :     case MCK_rGPR: return true;
    5031             :     case MCK_GPRnopc: return true;
    5032             :     case MCK_GPR: return true;
    5033             :     case MCK_GPRwithAPSR: return true;
    5034             :     }
    5035             : 
    5036        3043 :   case MCK_PC:
    5037        3043 :     switch (B) {
    5038             :     default: return false;
    5039           0 :     case MCK_hGPR: return true;
    5040           0 :     case MCK_tGPRwithpc: return true;
    5041         558 :     case MCK_GPR: return true;
    5042             :     }
    5043             : 
    5044           0 :   case MCK_Reg60:
    5045             :     switch (B) {
    5046             :     default: return false;
    5047             :     case MCK_Reg61: return true;
    5048             :     case MCK_Reg62: return true;
    5049             :     case MCK_Reg63: return true;
    5050             :     case MCK_Reg64: return true;
    5051             :     case MCK_Reg65: return true;
    5052             :     case MCK_Reg66: return true;
    5053             :     case MCK_QQQQPR: return true;
    5054             :     }
    5055             : 
    5056           7 :   case MCK_Reg68:
    5057           7 :     switch (B) {
    5058             :     default: return false;
    5059           0 :     case MCK_Reg72: return true;
    5060           0 :     case MCK_Reg69: return true;
    5061           0 :     case MCK_Reg70: return true;
    5062           6 :     case MCK_GPRPair: return true;
    5063             :     }
    5064             : 
    5065           4 :   case MCK_Reg73:
    5066           4 :     switch (B) {
    5067             :     default: return false;
    5068           0 :     case MCK_Reg74: return true;
    5069           0 :     case MCK_Reg70: return true;
    5070           4 :     case MCK_GPRPair: return true;
    5071             :     }
    5072             : 
    5073           0 :   case MCK_Reg100:
    5074             :     switch (B) {
    5075             :     default: return false;
    5076             :     case MCK_Reg101: return true;
    5077             :     case MCK_Reg102: return true;
    5078             :     case MCK_Reg57: return true;
    5079             :     case MCK_Reg58: return true;
    5080             :     case MCK_Reg103: return true;
    5081             :     case MCK_Reg55: return true;
    5082             :     case MCK_Reg104: return true;
    5083             :     case MCK_Reg56: return true;
    5084             :     case MCK_Reg105: return true;
    5085             :     case MCK_Reg53: return true;
    5086             :     case MCK_Reg54: return true;
    5087             :     case MCK_Reg106: return true;
    5088             :     case MCK_Reg51: return true;
    5089             :     case MCK_Reg52: return true;
    5090             :     case MCK_DQuad: return true;
    5091             :     }
    5092             : 
    5093           0 :   case MCK_Reg45:
    5094             :     switch (B) {
    5095             :     default: return false;
    5096             :     case MCK_Reg46: return true;
    5097             :     case MCK_Reg57: return true;
    5098             :     case MCK_Reg58: return true;
    5099             :     case MCK_Reg47: return true;
    5100             :     case MCK_Reg55: return true;
    5101             :     case MCK_Reg48: return true;
    5102             :     case MCK_Reg56: return true;
    5103             :     case MCK_Reg53: return true;
    5104             :     case MCK_Reg54: return true;
    5105             :     case MCK_Reg51: return true;
    5106             :     case MCK_QQPR: return true;
    5107             :     case MCK_Reg52: return true;
    5108             :     case MCK_DQuad: return true;
    5109             :     }
    5110             : 
    5111           0 :   case MCK_Reg61:
    5112             :     switch (B) {
    5113             :     default: return false;
    5114             :     case MCK_Reg62: return true;
    5115             :     case MCK_Reg63: return true;
    5116             :     case MCK_Reg64: return true;
    5117             :     case MCK_Reg65: return true;
    5118             :     case MCK_Reg66: return true;
    5119             :     case MCK_QQQQPR: return true;
    5120             :     }
    5121             : 
    5122           0 :   case MCK_Reg72:
    5123           0 :     return B == MCK_GPRPair;
    5124             : 
    5125           0 :   case MCK_Reg74:
    5126           0 :     return B == MCK_GPRPair;
    5127             : 
    5128           0 :   case MCK_Reg83:
    5129             :     switch (B) {
    5130             :     default: return false;
    5131             :     case MCK_Reg84: return true;
    5132             :     case MCK_Reg76: return true;
    5133             :     case MCK_Reg77: return true;
    5134             :     case MCK_Reg85: return true;
    5135             :     case MCK_Reg78: return true;
    5136             :     case MCK_Reg86: return true;
    5137             :     case MCK_Reg79: return true;
    5138             :     case MCK_Reg80: return true;
    5139             :     case MCK_Reg87: return true;
    5140             :     case MCK_Reg81: return true;
    5141             :     case MCK_DTriple: return true;
    5142             :     }
    5143             : 
    5144           0 :   case MCK_Reg88:
    5145             :     switch (B) {
    5146             :     default: return false;
    5147             :     case MCK_Reg89: return true;
    5148             :     case MCK_Reg76: return true;
    5149             :     case MCK_Reg77: return true;
    5150             :     case MCK_Reg90: return true;
    5151             :     case MCK_Reg78: return true;
    5152             :     case MCK_Reg91: return true;
    5153             :     case MCK_Reg79: return true;
    5154             :     case MCK_Reg80: return true;
    5155             :     case MCK_Reg92: return true;
    5156             :     case MCK_Reg81: return true;
    5157             :     case MCK_DTriple: return true;
    5158             :     }
    5159             : 
    5160           0 :   case MCK_Reg101:
    5161             :     switch (B) {
    5162             :     default: return false;
    5163             :     case MCK_Reg102: return true;
    5164             :     case MCK_Reg58: return true;
    5165             :     case MCK_Reg103: return true;
    5166             :     case MCK_Reg55: return true;
    5167             :     case MCK_Reg104: return true;
    5168             :     case MCK_Reg56: return true;
    5169             :     case MCK_Reg105: return true;
    5170             :     case MCK_Reg53: return true;
    5171             :     case MCK_Reg54: return true;
    5172             :     case MCK_Reg106: return true;
    5173             :     case MCK_Reg51: return true;
    5174             :     case MCK_Reg52: return true;
    5175             :     case MCK_DQuad: return true;
    5176             :     }
    5177             : 
    5178       91636 :   case MCK_Reg0:
    5179       91636 :     switch (B) {
    5180             :     default: return false;
    5181         114 :     case MCK_tcGPR: return true;
    5182       14153 :     case MCK_tGPR: return true;
    5183           0 :     case MCK_tGPRwithpc: return true;
    5184       18738 :     case MCK_rGPR: return true;
    5185       14862 :     case MCK_GPRnopc: return true;
    5186       18979 :     case MCK_GPR: return true;
    5187          79 :     case MCK_GPRwithAPSR: return true;
    5188             :     }
    5189             : 
    5190           0 :   case MCK_Reg46:
    5191             :     switch (B) {
    5192             :     default: return false;
    5193             :     case MCK_Reg47: return true;
    5194             :     case MCK_Reg55: return true;
    5195             :     case MCK_Reg48: return true;
    5196             :     case MCK_Reg56: return true;
    5197             :     case MCK_Reg53: return true;
    5198             :     case MCK_Reg54: return true;
    5199             :     case MCK_Reg51: return true;
    5200             :     case MCK_QQPR: return true;
    5201             :     case MCK_Reg52: return true;
    5202             :     case MCK_DQuad: return true;
    5203             :     }
    5204             : 
    5205           0 :   case MCK_Reg62:
    5206             :     switch (B) {
    5207             :     default: return false;
    5208             :     case MCK_Reg63: return true;
    5209             :     case MCK_Reg64: return true;
    5210             :     case MCK_Reg65: return true;
    5211             :     case MCK_Reg66: return true;
    5212             :     case MCK_QQQQPR: return true;
    5213             :     }
    5214             : 
    5215          13 :   case MCK_Reg69:
    5216          13 :     switch (B) {
    5217             :     default: return false;
    5218           0 :     case MCK_Reg70: return true;
    5219          12 :     case MCK_GPRPair: return true;
    5220             :     }
    5221             : 
    5222           0 :   case MCK_Reg84:
    5223             :     switch (B) {
    5224             :     default: return false;
    5225             :     case MCK_Reg77: return true;
    5226             :     case MCK_Reg85: return true;
    5227             :     case MCK_Reg78: return true;
    5228             :     case MCK_Reg86: return true;
    5229             :     case MCK_Reg79: return true;
    5230             :     case MCK_Reg80: return true;
    5231             :     case MCK_Reg87: return true;
    5232             :     case MCK_Reg81: return true;
    5233             :     case MCK_DTriple: return true;
    5234             :     }
    5235             : 
    5236           0 :   case MCK_Reg89:
    5237             :     switch (B) {
    5238             :     default: return false;
    5239             :     case MCK_Reg90: return true;
    5240             :     case MCK_Reg78: return true;
    5241             :     case MCK_Reg91: return true;
    5242             :     case MCK_Reg79: return true;
    5243             :     case MCK_Reg80: return true;
    5244             :     case MCK_Reg92: return true;
    5245             :     case MCK_Reg81: return true;
    5246             :     case MCK_DTriple: return true;
    5247             :     }
    5248             : 
    5249           0 :   case MCK_Reg93:
    5250           0 :     switch (B) {
    5251             :     default: return false;
    5252           0 :     case MCK_Reg94: return true;
    5253           0 :     case MCK_Reg95: return true;
    5254           0 :     case MCK_Reg96: return true;
    5255           0 :     case MCK_Reg97: return true;
    5256           0 :     case MCK_Reg98: return true;
    5257           0 :     case MCK_DTripleSpc: return true;
    5258             :     }
    5259             : 
    5260           0 :   case MCK_Reg102:
    5261             :     switch (B) {
    5262             :     default: return false;
    5263             :     case MCK_Reg103: return true;
    5264             :     case MCK_Reg104: return true;
    5265             :     case MCK_Reg56: return true;
    5266             :     case MCK_Reg105: return true;
    5267             :     case MCK_Reg53: return true;
    5268             :     case MCK_Reg54: return true;
    5269             :     case MCK_Reg106: return true;
    5270             :     case MCK_Reg51: return true;
    5271             :     case MCK_Reg52: return true;
    5272             :     case MCK_DQuad: return true;
    5273             :     }
    5274             : 
    5275       14252 :   case MCK_QPR_8:
    5276             :     switch (B) {
    5277             :     default: return false;
    5278             :     case MCK_Reg26: return true;
    5279             :     case MCK_Reg27: return true;
    5280             :     case MCK_QPR_VFP2: return true;
    5281             :     case MCK_Reg24: return true;
    5282             :     case MCK_Reg25: return true;
    5283             :     case MCK_QPR: return true;
    5284             :     case MCK_DPair: return true;
    5285             :     }
    5286             : 
    5287           0 :   case MCK_Reg57:
    5288             :     switch (B) {
    5289             :     default: return false;
    5290             :     case MCK_Reg58: return true;
    5291             :     case MCK_Reg55: return true;
    5292             :     case MCK_Reg56: return true;
    5293             :     case MCK_Reg53: return true;
    5294             :     case MCK_Reg54: return true;
    5295             :     case MCK_Reg51: return true;
    5296             :     case MCK_Reg52: return true;
    5297             :     case MCK_DQuad: return true;
    5298             :     }
    5299             : 
    5300           0 :   case MCK_Reg63:
    5301             :     switch (B) {
    5302             :     default: return false;
    5303             :     case MCK_Reg64: return true;
    5304             :     case MCK_Reg65: return true;
    5305             :     case MCK_Reg66: return true;
    5306             :     case MCK_QQQQPR: return true;
    5307             :     }
    5308             : 
    5309         176 :   case MCK_tcGPR:
    5310             :     switch (B) {
    5311             :     default: return false;
    5312             :     case MCK_rGPR: return true;
    5313             :     case MCK_GPRnopc: return true;
    5314             :     case MCK_GPR: return true;
    5315             :     case MCK_GPRwithAPSR: return true;
    5316             :     }
    5317             : 
    5318       14234 :   case MCK_Reg10:
    5319             :     switch (B) {
    5320             :     default: return false;
    5321             :     case MCK_Reg8: return true;
    5322             :     case MCK_hGPR: return true;
    5323             :     case MCK_rGPR: return true;
    5324             :     case MCK_GPRnopc: return true;
    5325             :     case MCK_GPR: return true;
    5326             :     case MCK_GPRwithAPSR: return true;
    5327             :     }
    5328             : 
    5329           0 :   case MCK_Reg40:
    5330           0 :     switch (B) {
    5331             :     default: return false;
    5332           0 :     case MCK_Reg41: return true;
    5333           0 :     case MCK_Reg42: return true;
    5334           0 :     case MCK_Reg43: return true;
    5335           0 :     case MCK_DPairSpc: return true;
    5336             :     }
    5337             : 
    5338           0 :   case MCK_Reg58:
    5339             :     switch (B) {
    5340             :     default: return false;
    5341             :     case MCK_Reg55: return true;
    5342             :     case MCK_Reg56: return true;
    5343             :     case MCK_Reg53: return true;
    5344             :     case MCK_Reg54: return true;
    5345             :     case MCK_Reg51: return true;
    5346             :     case MCK_Reg52: return true;
    5347             :     case MCK_DQuad: return true;
    5348             :     }
    5349             : 
    5350           0 :   case MCK_Reg64:
    5351             :     switch (B) {
    5352             :     default: return false;
    5353             :     case MCK_Reg65: return true;
    5354             :     case MCK_Reg66: return true;
    5355             :     case MCK_QQQQPR: return true;
    5356             :     }
    5357             : 
    5358           0 :   case MCK_Reg70:
    5359           0 :     return B == MCK_GPRPair;
    5360             : 
    5361           0 :   case MCK_Reg76:
    5362           0 :     switch (B) {
    5363             :     default: return false;
    5364           0 :     case MCK_Reg77: return true;
    5365           0 :     case MCK_Reg78: return true;
    5366           0 :     case MCK_Reg79: return true;
    5367           0 :     case MCK_Reg80: return true;
    5368           0 :     case MCK_Reg81: return true;
    5369           0 :     case MCK_DTriple: return true;
    5370             :     }
    5371             : 
    5372           0 :   case MCK_Reg94:
    5373             :     switch (B) {
    5374             :     default: return false;
    5375             :     case MCK_Reg95: return true;
    5376             :     case MCK_Reg96: return true;
    5377             :     case MCK_Reg97: return true;
    5378             :     case MCK_Reg98: return true;
    5379             :     case MCK_DTripleSpc: return true;
    5380             :     }
    5381             : 
    5382           0 :   case MCK_Reg103:
    5383             :     switch (B) {
    5384             :     default: return false;
    5385             :     case MCK_Reg104: return true;
    5386             :     case MCK_Reg105: return true;
    5387             :     case MCK_Reg53: return true;
    5388             :     case MCK_Reg54: return true;
    5389             :     case MCK_Reg106: return true;
    5390             :     case MCK_Reg51: return true;
    5391             :     case MCK_Reg52: return true;
    5392             :     case MCK_DQuad: return true;
    5393             :     }
    5394             : 
    5395           0 :   case MCK_Reg8:
    5396             :     switch (B) {
    5397             :     default: return false;
    5398             :     case MCK_hGPR: return true;
    5399             :     case MCK_GPRnopc: return true;
    5400             :     case MCK_GPR: return true;
    5401             :     case MCK_GPRwithAPSR: return true;
    5402             :     }
    5403             : 
    5404           0 :   case MCK_Reg26:
    5405           0 :     switch (B) {
    5406             :     default: return false;
    5407           0 :     case MCK_Reg27: return true;
    5408           0 :     case MCK_Reg24: return true;
    5409           0 :     case MCK_Reg25: return true;
    5410           0 :     case MCK_DPair: return true;
    5411             :     }
    5412             : 
    5413           0 :   case MCK_Reg47:
    5414             :     switch (B) {
    5415             :     default: return false;
    5416             :     case MCK_Reg48: return true;
    5417             :     case MCK_Reg53: return true;
    5418             :     case MCK_Reg54: return true;
    5419             :     case MCK_Reg51: return true;
    5420             :     case MCK_QQPR: return true;
    5421             :     case MCK_Reg52: return true;
    5422             :     case MCK_DQuad: return true;
    5423             :     }
    5424             : 
    5425           0 :   case MCK_Reg55:
    5426             :     switch (B) {
    5427             :     default: return false;
    5428             :     case MCK_Reg56: return true;
    5429             :     case MCK_Reg53: return true;
    5430             :     case MCK_Reg54: return true;
    5431             :     case MCK_Reg51: return true;
    5432             :     case MCK_Reg52: return true;
    5433             :     case MCK_DQuad: return true;
    5434             :     }
    5435             : 
    5436           0 :   case MCK_Reg65:
    5437           0 :     switch (B) {
    5438             :     default: return false;
    5439           0 :     case MCK_Reg66: return true;
    5440           0 :     case MCK_QQQQPR: return true;
    5441             :     }
    5442             : 
    5443           0 :   case MCK_Reg77:
    5444             :     switch (B) {
    5445             :     default: return false;
    5446             :     case MCK_Reg78: return true;
    5447             :     case MCK_Reg79: return true;
    5448             :     case MCK_Reg80: return true;
    5449             :     case MCK_Reg81: return true;
    5450             :     case MCK_DTriple: return true;
    5451             :     }
    5452             : 
    5453           0 :   case MCK_Reg85:
    5454             :     switch (B) {
    5455             :     default: return false;
    5456             :     case MCK_Reg86: return true;
    5457             :     case MCK_Reg79: return true;
    5458             :     case MCK_Reg80: return true;
    5459             :     case MCK_Reg87: return true;
    5460             :     case MCK_Reg81: return true;
    5461             :     case MCK_DTriple: return true;
    5462             :     }
    5463             : 
    5464           0 :   case MCK_Reg90:
    5465             :     switch (B) {
    5466             :     default: return false;
    5467             :     case MCK_Reg91: return true;
    5468             :     case MCK_Reg79: return true;
    5469             :     case MCK_Reg80: return true;
    5470             :     case MCK_Reg92: return true;
    5471             :     case MCK_Reg81: return true;
    5472             :     case MCK_DTriple: return true;
    5473             :     }
    5474             : 
    5475           0 :   case MCK_Reg104:
    5476             :     switch (B) {
    5477             :     default: return false;
    5478             :     case MCK_Reg105: return true;
    5479             :     case MCK_Reg54: return true;
    5480             :     case MCK_Reg106: return true;
    5481             :     case MCK_Reg51: return true;
    5482             :     case MCK_Reg52: return true;
    5483             :     case MCK_DQuad: return true;
    5484             :     }
    5485             : 
    5486           0 :   case MCK_Reg27:
    5487             :     switch (B) {
    5488             :     default: return false;
    5489             :     case MCK_Reg24: return true;
    5490             :     case MCK_Reg25: return true;
    5491             :     case MCK_DPair: return true;
    5492             :     }
    5493             : 
    5494           0 :   case MCK_Reg41:
    5495           0 :     switch (B) {
    5496             :     default: return false;
    5497           0 :     case MCK_Reg42: return true;
    5498           0 :     case MCK_Reg43: return true;
    5499           0 :     case MCK_DPairSpc: return true;
    5500             :     }
    5501             : 
    5502           0 :   case MCK_Reg48:
    5503             :     switch (B) {
    5504             :     default: return false;
    5505             :     case MCK_Reg51: return true;
    5506             :     case MCK_QQPR: return true;
    5507             :     case MCK_Reg52: return true;
    5508             :     case MCK_DQuad: return true;
    5509             :     }
    5510             : 
    5511           0 :   case MCK_Reg56:
    5512             :     switch (B) {
    5513             :     default: return false;
    5514             :     case MCK_Reg53: return true;
    5515             :     case MCK_Reg54: return true;
    5516             :     case MCK_Reg51: return true;
    5517             :     case MCK_Reg52: return true;
    5518             :     case MCK_DQuad: return true;
    5519             :     }
    5520             : 
    5521           0 :   case MCK_Reg66:
    5522           0 :     return B == MCK_QQQQPR;
    5523             : 
    5524           0 :   case MCK_Reg78:
    5525             :     switch (B) {
    5526             :     default: return false;
    5527             :     case MCK_Reg79: return true;
    5528             :     case MCK_Reg80: return true;
    5529             :     case MCK_Reg81: return true;
    5530             :     case MCK_DTriple: return true;
    5531             :     }
    5532             : 
    5533           0 :   case MCK_Reg86:
    5534             :     switch (B) {
    5535             :     default: return false;
    5536             :     case MCK_Reg80: return true;
    5537             :     case MCK_Reg87: return true;
    5538             :     case MCK_Reg81: return true;
    5539             :     case MCK_DTriple: return true;
    5540             :     }
    5541             : 
    5542           0 :   case MCK_Reg91:
    5543             :     switch (B) {
    5544             :     default: return false;
    5545             :     case MCK_Reg92: return true;
    5546             :     case MCK_Reg81: return true;
    5547             :     case MCK_DTriple: return true;
    5548             :     }
    5549             : 
    5550           0 :   case MCK_Reg95:
    5551             :     switch (B) {
    5552             :     default: return false;
    5553             :     case MCK_Reg96: return true;
    5554             :     case MCK_Reg97: return true;
    5555             :     case MCK_Reg98: return true;
    5556             :     case MCK_DTripleSpc: return true;
    5557             :     }
    5558             : 
    5559           0 :   case MCK_Reg105:
    5560             :     switch (B) {
    5561             :     default: return false;
    5562             :     case MCK_Reg106: return true;
    5563             :     case MCK_Reg52: return true;
    5564             :     case MCK_DQuad: return true;
    5565             :     }
    5566             : 
    5567       25933 :   case MCK_DPR_8:
    5568       25933 :     switch (B) {
    5569             :     default: return false;
    5570         457 :     case MCK_DPR_VFP2: return true;
    5571       14562 :     case MCK_DPR: return true;
    5572             :     }
    5573             : 
    5574        4889 :   case MCK_QPR_VFP2:
    5575             :     switch (B) {
    5576             :     default: return false;
    5577             :     case MCK_Reg24: return true;
    5578             :     case MCK_Reg25: return true;
    5579             :     case MCK_QPR: return true;
    5580             :     case MCK_DPair: return true;
    5581             :     }
    5582             : 
    5583           0 :   case MCK_hGPR:
    5584           0 :     return B == MCK_GPR;
    5585             : 
    5586       33404 :   case MCK_tGPR:
    5587             :     switch (B) {
    5588             :     default: return false;
    5589             :     case MCK_tGPRwithpc: return true;
    5590             :     case MCK_rGPR: return true;
    5591             :     case MCK_GPRnopc: return true;
    5592             :     case MCK_GPR: return true;
    5593             :     case MCK_GPRwithAPSR: return true;
    5594             :     }
    5595             : 
    5596           0 :   case MCK_tGPRwithpc:
    5597           0 :     return B == MCK_GPR;
    5598             : 
    5599           0 :   case MCK_Reg96:
    5600             :     switch (B) {
    5601             :     default: return false;
    5602             :     case MCK_Reg97: return true;
    5603             :     case MCK_Reg98: return true;
    5604             :     case MCK_DTripleSpc: return true;
    5605             :     }
    5606             : 
    5607           0 :   case MCK_Reg53:
    5608             :     switch (B) {
    5609             :     default: return false;
    5610             :     case MCK_Reg54: return true;
    5611             :     case MCK_Reg51: return true;
    5612             :     case MCK_Reg52: return true;
    5613             :     case MCK_DQuad: return true;
    5614             :     }
    5615             : 
    5616           0 :   case MCK_Reg42:
    5617           0 :     switch (B) {
    5618             :     default: return false;
    5619           0 :     case MCK_Reg43: return true;
    5620           0 :     case MCK_DPairSpc: return true;
    5621             :     }
    5622             : 
    5623           0 :   case MCK_Reg54:
    5624             :     switch (B) {
    5625             :     default: return false;
    5626             :     case MCK_Reg51: return true;
    5627             :     case MCK_Reg52: return true;
    5628             :     case MCK_DQuad: return true;
    5629             :     }
    5630             : 
    5631           0 :   case MCK_Reg79:
    5632             :     switch (B) {
    5633             :     default: return false;
    5634             :     case MCK_Reg80: return true;
    5635             :     case MCK_Reg81: return true;
    5636             :     case MCK_DTriple: return true;
    5637             :     }
    5638             : 
    5639           0 :   case MCK_Reg97:
    5640           0 :     switch (B) {
    5641             :     default: return false;
    5642           0 :     case MCK_Reg98: return true;
    5643           0 :     case MCK_DTripleSpc: return true;
    5644             :     }
    5645             : 
    5646           0 :   case MCK_Reg106:
    5647           0 :     return B == MCK_DQuad;
    5648             : 
    5649        1024 :   case MCK_rGPR:
    5650             :     switch (B) {
    5651             :     default: return false;
    5652             :     case MCK_GPRnopc: return true;
    5653             :     case MCK_GPR: return true;
    5654             :     case MCK_GPRwithAPSR: return true;
    5655             :     }
    5656             : 
    5657           0 :   case MCK_Reg24:
    5658           0 :     switch (B) {
    5659             :     default: return false;
    5660           0 :     case MCK_Reg25: return true;
    5661           0 :     case MCK_DPair: return true;
    5662             :     }
    5663             : 
    5664           0 :   case MCK_Reg51:
    5665           0 :     switch (B) {
    5666             :     default: return false;
    5667           0 :     case MCK_Reg52: return true;
    5668           0 :     case MCK_DQuad: return true;
    5669             :     }
    5670             : 
    5671           0 :   case MCK_Reg80:
    5672           0 :     switch (B) {
    5673             :     default: return false;
    5674           0 :     case MCK_Reg81: return true;
    5675           0 :     case MCK_DTriple: return true;
    5676             :     }
    5677             : 
    5678           0 :   case MCK_Reg87:
    5679           0 :     return B == MCK_DTriple;
    5680             : 
    5681           0 :   case MCK_Reg92:
    5682           0 :     return B == MCK_DTriple;
    5683             : 
    5684         302 :   case MCK_GPRnopc:
    5685         302 :     switch (B) {
    5686             :     default: return false;
    5687           0 :     case MCK_GPR: return true;
    5688           0 :     case MCK_GPRwithAPSR: return true;
    5689             :     }
    5690             : 
    5691           0 :   case MCK_QQPR:
    5692           0 :     return B == MCK_DQuad;
    5693             : 
    5694           0 :   case MCK_Reg25:
    5695           0 :     return B == MCK_DPair;
    5696             : 
    5697           0 :   case MCK_Reg43:
    5698           0 :     return B == MCK_DPairSpc;
    5699             : 
    5700           0 :   case MCK_Reg52:
    5701           0 :     return B == MCK_DQuad;
    5702             : 
    5703           0 :   case MCK_Reg81:
    5704           0 :     return B == MCK_DTriple;
    5705             : 
    5706           0 :   case MCK_Reg98:
    5707           0 :     return B == MCK_DTripleSpc;
    5708             : 
    5709        3722 :   case MCK_DPR_VFP2:
    5710        3722 :     return B == MCK_DPR;
    5711             : 
    5712        5810 :   case MCK_QPR:
    5713        5810 :     return B == MCK_DPair;
    5714             : 
    5715       11555 :   case MCK_SPR_8:
    5716       11555 :     return B == MCK_HPR;
    5717             :   }
    5718             : }
    5719             : 
    5720     1213008 : static unsigned validateOperandClass(MCParsedAsmOperand &GOp, MatchClassKind Kind) {
    5721             :   ARMOperand &Operand = (ARMOperand&)GOp;
    5722     1213008 :   if (Kind == InvalidMatchClass)
    5723             :     return MCTargetAsmParser::Match_InvalidOperand;
    5724             : 
    5725     1161473 :   if (Operand.isToken() && Kind <= MCK_LAST_TOKEN)
    5726      467038 :     return isSubclass(matchTokenString(Operand.getToken()), Kind) ?
    5727             :              MCTargetAsmParser::Match_Success :
    5728             :              MCTargetAsmParser::Match_InvalidOperand;
    5729             : 
    5730      927954 :   switch (Kind) {
    5731             :   default: break;
    5732             :   // 'AM2OffsetImm' class
    5733             :   case MCK_AM2OffsetImm: {
    5734             :     DiagnosticPredicate DP(Operand.isAM2OffsetImm());
    5735          98 :     if (DP.isMatch())
    5736             :       return MCTargetAsmParser::Match_Success;
    5737             :     break;
    5738             :     }
    5739             :   // 'AM3Offset' class
    5740          73 :   case MCK_AM3Offset: {
    5741          73 :     DiagnosticPredicate DP(Operand.isAM3Offset());
    5742          73 :     if (DP.isMatch())
    5743             :       return MCTargetAsmParser::Match_Success;
    5744             :     break;
    5745             :     }
    5746             :   // 'ARMBranchTarget' class
    5747             :   case MCK_ARMBranchTarget: {
    5748             :     DiagnosticPredicate DP(Operand.isARMBranchTarget());
    5749         852 :     if (DP.isMatch())
    5750             :       return MCTargetAsmParser::Match_Success;
    5751             :     break;
    5752             :     }
    5753             :   // 'AddrMode3' class
    5754         653 :   case MCK_AddrMode3: {
    5755         653 :     DiagnosticPredicate DP(Operand.isAddrMode3());
    5756         653 :     if (DP.isMatch())
    5757             :       return MCTargetAsmParser::Match_Success;
    5758             :     break;
    5759             :     }
    5760             :   // 'AddrMode5' class
    5761        2250 :   case MCK_AddrMode5: {
    5762        2250 :     DiagnosticPredicate DP(Operand.isAddrMode5());
    5763        2250 :     if (DP.isMatch())
    5764             :       return MCTargetAsmParser::Match_Success;
    5765             :     break;
    5766             :     }
    5767             :   // 'AddrMode5FP16' class
    5768          43 :   case MCK_AddrMode5FP16: {
    5769          43 :     DiagnosticPredicate DP(Operand.isAddrMode5FP16());
    5770          43 :     if (DP.isMatch())
    5771             :       return MCTargetAsmParser::Match_Success;
    5772             :     break;
    5773             :     }
    5774             :   // 'AlignedMemory16' class
    5775        1262 :   case MCK_AlignedMemory16: {
    5776        1262 :     DiagnosticPredicate DP(Operand.isAlignedMemory16());
    5777        1262 :     if (DP.isMatch())
    5778             :       return MCTargetAsmParser::Match_Success;
    5779             :     if (DP.isNearMatch())
    5780             :       return ARMAsmParser::Match_AlignedMemory16;
    5781             :     break;
    5782             :     }
    5783             :   // 'AlignedMemory32' class
    5784        1994 :   case MCK_AlignedMemory32: {
    5785        1994 :     DiagnosticPredicate DP(Operand.isAlignedMemory32());
    5786        1994 :     if (DP.isMatch())
    5787             :       return MCTargetAsmParser::Match_Success;
    5788             :     if (DP.isNearMatch())
    5789             :       return ARMAsmParser::Match_AlignedMemory32;
    5790             :     break;
    5791             :     }
    5792             :   // 'AlignedMemory64' class
    5793       12694 :   case MCK_AlignedMemory64: {
    5794       12694 :     DiagnosticPredicate DP(Operand.isAlignedMemory64());
    5795       12694 :     if (DP.isMatch())
    5796             :       return MCTargetAsmParser::Match_Success;
    5797             :     if (DP.isNearMatch())
    5798             :       return ARMAsmParser::Match_AlignedMemory64;
    5799             :     break;
    5800             :     }
    5801             :   // 'AlignedMemory64or128' class
    5802        8472 :   case MCK_AlignedMemory64or128: {
    5803        8472 :     DiagnosticPredicate DP(Operand.isAlignedMemory64or128());
    5804        8472 :     if (DP.isMatch())
    5805             :       return MCTargetAsmParser::Match_Success;
    5806             :     if (DP.isNearMatch())
    5807             :       return ARMAsmParser::Match_AlignedMemory64or128;
    5808             :     break;
    5809             :     }
    5810             :   // 'AlignedMemory64or128or256' class
    5811        8721 :   case MCK_AlignedMemory64or128or256: {
    5812        8721 :     DiagnosticPredicate DP(Operand.isAlignedMemory64or128or256());
    5813        8721 :     if (DP.isMatch())
    5814             :       return MCTargetAsmParser::Match_Success;
    5815             :     if (DP.isNearMatch())
    5816             :       return ARMAsmParser::Match_AlignedMemory64or128or256;
    5817             :     break;
    5818             :     }
    5819             :   // 'AlignedMemoryNone' class
    5820             :   case MCK_AlignedMemoryNone: {
    5821             :     DiagnosticPredicate DP(Operand.isAlignedMemoryNone());
    5822        4099 :     if (DP.isMatch())
    5823             :       return MCTargetAsmParser::Match_Success;
    5824             :     if (DP.isNearMatch())
    5825             :       return ARMAsmParser::Match_AlignedMemoryNone;
    5826             :     break;
    5827             :     }
    5828             :   // 'AlignedMemory' class
    5829             :   case MCK_AlignedMemory: {
    5830             :     DiagnosticPredicate DP(Operand.isAlignedMemory());
    5831           0 :     if (DP.isMatch())
    5832             :       return MCTargetAsmParser::Match_Success;
    5833             :     break;
    5834             :     }
    5835             :   // 'DupAlignedMemory16' class
    5836        1686 :   case MCK_DupAlignedMemory16: {
    5837        1686 :     DiagnosticPredicate DP(Operand.isDupAlignedMemory16());
    5838        1686 :     if (DP.isMatch())
    5839             :       return MCTargetAsmParser::Match_Success;
    5840             :     if (DP.isNearMatch())
    5841             :       return ARMAsmParser::Match_DupAlignedMemory16;
    5842             :     break;
    5843             :     }
    5844             :   // 'DupAlignedMemory32' class
    5845        2558 :   case MCK_DupAlignedMemory32: {
    5846        2558 :     DiagnosticPredicate DP(Operand.isDupAlignedMemory32());
    5847        2558 :     if (DP.isMatch())
    5848             :       return MCTargetAsmParser::Match_Success;
    5849             :     if (DP.isNearMatch())
    5850             :       return ARMAsmParser::Match_DupAlignedMemory32;
    5851             :     break;
    5852             :     }
    5853             :   // 'DupAlignedMemory64' class
    5854        1743 :   case MCK_DupAlignedMemory64: {
    5855        1743 :     DiagnosticPredicate DP(Operand.isDupAlignedMemory64());
    5856        1743 :     if (DP.isMatch())
    5857             :       return MCTargetAsmParser::Match_Success;
    5858             :     if (DP.isNearMatch())
    5859             :       return ARMAsmParser::Match_DupAlignedMemory64;
    5860             :     break;
    5861             :     }
    5862             :   // 'DupAlignedMemory64or128' class
    5863         793 :   case MCK_DupAlignedMemory64or128: {
    5864         793 :     DiagnosticPredicate DP(Operand.isDupAlignedMemory64or128());
    5865         793 :     if (DP.isMatch())
    5866             :       return MCTargetAsmParser::Match_Success;
    5867             :     if (DP.isNearMatch())
    5868             :       return ARMAsmParser::Match_DupAlignedMemory64or128;
    5869             :     break;
    5870             :     }
    5871             :   // 'DupAlignedMemoryNone' class
    5872             :   case MCK_DupAlignedMemoryNone: {
    5873             :     DiagnosticPredicate DP(Operand.isDupAlignedMemoryNone());
    5874        3476 :     if (DP.isMatch())
    5875             :       return MCTargetAsmParser::Match_Success;
    5876             :     if (DP.isNearMatch())
    5877             :       return ARMAsmParser::Match_DupAlignedMemoryNone;
    5878             :     break;
    5879             :     }
    5880             :   // 'AdrLabel' class
    5881          33 :   case MCK_AdrLabel: {
    5882          33 :     DiagnosticPredicate DP(Operand.isAdrLabel());
    5883          33 :     if (DP.isMatch())
    5884             :       return MCTargetAsmParser::Match_Success;
    5885             :     break;
    5886             :     }
    5887             :   // 'BankedReg' class
    5888         654 :   case MCK_BankedReg: {
    5889             :     DiagnosticPredicate DP(Operand.isBankedReg());
    5890         654 :     if (DP.isMatch())
    5891             :       return MCTargetAsmParser::Match_Success;
    5892             :     break;
    5893             :     }
    5894             :   // 'Bitfield' class
    5895          45 :   case MCK_Bitfield: {
    5896             :     DiagnosticPredicate DP(Operand.isBitfield());
    5897          45 :     if (DP.isMatch())
    5898             :       return MCTargetAsmParser::Match_Success;
    5899             :     break;
    5900             :     }
    5901             :   // 'CCOut' class
    5902       62181 :   case MCK_CCOut: {
    5903             :     DiagnosticPredicate DP(Operand.isCCOut());
    5904       62181 :     if (DP.isMatch())
    5905             :       return MCTargetAsmParser::Match_Success;
    5906             :     break;
    5907             :     }
    5908             :   // 'CondCode' class
    5909      309532 :   case MCK_CondCode: {
    5910             :     DiagnosticPredicate DP(Operand.isCondCode());
    5911      309532 :     if (DP.isMatch())
    5912             :       return MCTargetAsmParser::Match_Success;
    5913             :     break;
    5914             :     }
    5915             :   // 'CoprocNum' class
    5916        3695 :   case MCK_CoprocNum: {
    5917             :     DiagnosticPredicate DP(Operand.isCoprocNum());
    5918        3695 :     if (DP.isMatch())
    5919             :       return MCTargetAsmParser::Match_Success;
    5920             :     break;
    5921             :     }
    5922             :   // 'CoprocOption' class
    5923         526 :   case MCK_CoprocOption: {
    5924             :     DiagnosticPredicate DP(Operand.isCoprocOption());
    5925         526 :     if (DP.isMatch())
    5926             :       return MCTargetAsmParser::Match_Success;
    5927             :     break;
    5928             :     }
    5929             :   // 'CoprocReg' class
    5930        3888 :   case MCK_CoprocReg: {
    5931             :     DiagnosticPredicate DP(Operand.isCoprocReg());
    5932        3888 :     if (DP.isMatch())
    5933             :       return MCTargetAsmParser::Match_Success;
    5934             :     break;
    5935             :     }
    5936             :   // 'DPRRegList' class
    5937         119 :   case MCK_DPRRegList: {
    5938             :     DiagnosticPredicate DP(Operand.isDPRRegList());
    5939         119 :     if (DP.isMatch())
    5940             :       return MCTargetAsmParser::Match_Success;
    5941             :     if (DP.isNearMatch())
    5942             :       return ARMAsmParser::Match_DPR_RegList;
    5943             :     break;
    5944             :     }
    5945             :   // 'FPImm' class
    5946         279 :   case MCK_FPImm: {
    5947         279 :     DiagnosticPredicate DP(Operand.isFPImm());
    5948         279 :     if (DP.isMatch())
    5949             :       return MCTargetAsmParser::Match_Success;
    5950             :     break;
    5951             :     }
    5952             :   // 'Imm0_15' class
    5953             :   case MCK_Imm0_15: {
    5954             :     DiagnosticPredicate DP(Operand.isImmediate<0,15>());
    5955         372 :     if (DP.isMatch())
    5956             :       return MCTargetAsmParser::Match_Success;
    5957             :     if (DP.isNearMatch())
    5958             :       return ARMAsmParser::Match_Imm0_15;
    5959             :     break;
    5960             :     }
    5961             :   // 'Imm0_1' class
    5962             :   case MCK_Imm0_1: {
    5963             :     DiagnosticPredicate DP(Operand.isImmediate<0,1>());
    5964          47 :     if (DP.isMatch())
    5965             :       return MCTargetAsmParser::Match_Success;
    5966             :     if (DP.isNearMatch())
    5967             :       return ARMAsmParser::Match_Imm0_1;
    5968             :     break;
    5969             :     }
    5970             :   // 'Imm0_239' class
    5971             :   case MCK_Imm0_239: {
    5972             :     DiagnosticPredicate DP(Operand.isImmediate<0,239>());
    5973          64 :     if (DP.isMatch())
    5974             :       return MCTargetAsmParser::Match_Success;
    5975             :     if (DP.isNearMatch())
    5976             :       return ARMAsmParser::Match_Imm0_239;
    5977             :     break;
    5978             :     }
    5979             :   // 'Imm0_255' class
    5980             :   case MCK_Imm0_255: {
    5981             :     DiagnosticPredicate DP(Operand.isImmediate<0,255>());
    5982        1995 :     if (DP.isMatch())
    5983             :       return MCTargetAsmParser::Match_Success;
    5984             :     if (DP.isNearMatch())
    5985             :       return ARMAsmParser::Match_Imm0_255;
    5986             :     break;
    5987             :     }
    5988             :   // 'Imm0_31' class
    5989             :   case MCK_Imm0_31: {
    5990             :     DiagnosticPredicate DP(Operand.isImmediate<0,31>());
    5991        1400 :     if (DP.isMatch())
    5992             :       return MCTargetAsmParser::Match_Success;
    5993             :     if (DP.isNearMatch())
    5994             :       return ARMAsmParser::Match_Imm0_31;
    5995             :     break;
    5996             :     }
    5997             :   // 'Imm0_32' class
    5998             :   case MCK_Imm0_32: {
    5999             :     DiagnosticPredicate DP(Operand.isImmediate<0,32>());
    6000         183 :     if (DP.isMatch())
    6001             :       return MCTargetAsmParser::Match_Success;
    6002             :     if (DP.isNearMatch())
    6003             :       return ARMAsmParser::Match_Imm0_32;
    6004             :     break;
    6005             :     }
    6006             :   // 'Imm0_3' class
    6007             :   case MCK_Imm0_3: {
    6008             :     DiagnosticPredicate DP(Operand.isImmediate<0,3>());
    6009          21 :     if (DP.isMatch())
    6010             :       return MCTargetAsmParser::Match_Success;
    6011             :     if (DP.isNearMatch())
    6012             :       return ARMAsmParser::Match_Imm0_3;
    6013             :     break;
    6014             :     }
    6015             :   // 'Imm0_63' class
    6016             :   case MCK_Imm0_63: {
    6017             :     DiagnosticPredicate DP(Operand.isImmediate<0,63>());
    6018          26 :     if (DP.isMatch())
    6019             :       return MCTargetAsmParser::Match_Success;
    6020             :     if (DP.isNearMatch())
    6021             :       return ARMAsmParser::Match_Imm0_63;
    6022             :     break;
    6023             :     }
    6024             :   // 'Imm0_65535' class
    6025             :   case MCK_Imm0_65535: {
    6026             :     DiagnosticPredicate DP(Operand.isImmediate<0,65535>());
    6027          75 :     if (DP.isMatch())
    6028             :       return MCTargetAsmParser::Match_Success;
    6029             :     if (DP.isNearMatch())
    6030             :       return ARMAsmParser::Match_Imm0_65535;
    6031             :     break;
    6032             :     }
    6033             :   // 'Imm0_65535Expr' class
    6034             :   case MCK_Imm0_65535Expr: {
    6035             :     DiagnosticPredicate DP(Operand.isImm0_65535Expr());
    6036         473 :     if (DP.isMatch())
    6037             :       return MCTargetAsmParser::Match_Success;
    6038             :     if (DP.isNearMatch())
    6039             :       return ARMAsmParser::Match_Imm0_65535Expr;
    6040             :     break;
    6041             :     }
    6042             :   // 'Imm0_7' class
    6043             :   case MCK_Imm0_7: {
    6044             :     DiagnosticPredicate DP(Operand.isImmediate<0,7>());
    6045        1593 :     if (DP.isMatch())
    6046             :       return MCTargetAsmParser::Match_Success;
    6047             :     if (DP.isNearMatch())
    6048             :       return ARMAsmParser::Match_Imm0_7;
    6049             :     break;
    6050             :     }
    6051             :   // 'Imm16' class
    6052             :   case MCK_Imm16: {
    6053             :     DiagnosticPredicate DP(Operand.isImmediate<16,16>());
    6054           6 :     if (DP.isMatch())
    6055             :       return MCTargetAsmParser::Match_Success;
    6056             :     if (DP.isNearMatch())
    6057             :       return ARMAsmParser::Match_Imm16;
    6058             :     break;
    6059             :     }
    6060             :   // 'Imm1_15' class
    6061             :   case MCK_Imm1_15: {
    6062             :     DiagnosticPredicate DP(Operand.isImmediate<1,15>());
    6063          30 :     if (DP.isMatch())
    6064             :       return MCTargetAsmParser::Match_Success;
    6065             :     if (DP.isNearMatch())
    6066             :       return ARMAsmParser::Match_Imm1_15;
    6067             :     break;
    6068             :     }
    6069             :   // 'Imm1_16' class
    6070             :   case MCK_Imm1_16: {
    6071             :     DiagnosticPredicate DP(Operand.isImmediate<1,16>());
    6072          26 :     if (DP.isMatch())
    6073             :       return MCTargetAsmParser::Match_Success;
    6074             :     if (DP.isNearMatch())
    6075             :       return ARMAsmParser::Match_ImmRange1_16;
    6076             :     break;
    6077             :     }
    6078             :   // 'Imm1_31' class
    6079             :   case MCK_Imm1_31: {
    6080             :     DiagnosticPredicate DP(Operand.isImmediate<1,31>());
    6081         335 :     if (DP.isMatch())
    6082             :       return MCTargetAsmParser::Match_Success;
    6083             :     if (DP.isNearMatch())
    6084             :       return ARMAsmParser::Match_Imm1_31;
    6085             :     break;
    6086             :     }
    6087             :   // 'Imm1_32' class
    6088             :   case MCK_Imm1_32: {
    6089             :     DiagnosticPredicate DP(Operand.isImmediate<1,32>());
    6090         203 :     if (DP.isMatch())
    6091             :       return MCTargetAsmParser::Match_Success;
    6092             :     if (DP.isNearMatch())
    6093             :       return ARMAsmParser::Match_ImmRange1_32;
    6094             :     break;
    6095             :     }
    6096             :   // 'Imm1_7' class
    6097             :   case MCK_Imm1_7: {
    6098             :     DiagnosticPredicate DP(Operand.isImmediate<1,7>());
    6099          22 :     if (DP.isMatch())
    6100             :       return MCTargetAsmParser::Match_Success;
    6101             :     if (DP.isNearMatch())
    6102             :       return ARMAsmParser::Match_Imm1_7;
    6103             :     break;
    6104             :     }
    6105             :   // 'Imm24bit' class
    6106             :   case MCK_Imm24bit: {
    6107             :     DiagnosticPredicate DP(Operand.isImmediate<0,16777215>());
    6108          22 :     if (DP.isMatch())
    6109             :       return MCTargetAsmParser::Match_Success;
    6110             :     if (DP.isNearMatch())
    6111             :       return ARMAsmParser::Match_Imm24bit;
    6112             :     break;
    6113             :     }
    6114             :   // 'Imm256_65535Expr' class
    6115             :   case MCK_Imm256_65535Expr: {
    6116             :     DiagnosticPredicate DP(Operand.isImmediate<256,65535>());
    6117         162 :     if (DP.isMatch())
    6118             :       return MCTargetAsmParser::Match_Success;
    6119             :     if (DP.isNearMatch())
    6120             :       return ARMAsmParser::Match_Imm256_65535Expr;
    6121             :     break;
    6122             :     }
    6123             :   // 'Imm32' class
    6124             :   case MCK_Imm32: {
    6125             :     DiagnosticPredicate DP(Operand.isImmediate<32,32>());
    6126           4 :     if (DP.isMatch())
    6127             :       return MCTargetAsmParser::Match_Success;
    6128             :     if (DP.isNearMatch())
    6129             :       return ARMAsmParser::Match_Imm32;
    6130             :     break;
    6131             :     }
    6132             :   // 'Imm8' class
    6133             :   case MCK_Imm8: {
    6134             :     DiagnosticPredicate DP(Operand.isImmediate<8,8>());
    6135           2 :     if (DP.isMatch())
    6136             :       return MCTargetAsmParser::Match_Success;
    6137             :     if (DP.isNearMatch())
    6138             :       return ARMAsmParser::Match_Imm8;
    6139             :     break;
    6140             :     }
    6141             :   // 'Imm8_255' class
    6142             :   case MCK_Imm8_255: {
    6143             :     DiagnosticPredicate DP(Operand.isImmediate<8,255>());
    6144           0 :     if (DP.isMatch())
    6145             :       return MCTargetAsmParser::Match_Success;
    6146             :     if (DP.isNearMatch())
    6147             :       return ARMAsmParser::Match_Imm8_255;
    6148             :     break;
    6149             :     }
    6150             :   // 'Imm' class
    6151        3540 :   case MCK_Imm: {
    6152             :     DiagnosticPredicate DP(Operand.isImm());
    6153        3540 :     if (DP.isMatch())
    6154             :       return MCTargetAsmParser::Match_Success;
    6155             :     break;
    6156             :     }
    6157             :   // 'InstSyncBarrierOpt' class
    6158          36 :   case MCK_InstSyncBarrierOpt: {
    6159             :     DiagnosticPredicate DP(Operand.isInstSyncBarrierOpt());
    6160          36 :     if (DP.isMatch())
    6161             :       return MCTargetAsmParser::Match_Success;
    6162             :     break;
    6163             :     }
    6164             :   // 'MSRMask' class
    6165         617 :   case MCK_MSRMask: {
    6166             :     DiagnosticPredicate DP(Operand.isMSRMask());
    6167         617 :     if (DP.isMatch())
    6168             :       return MCTargetAsmParser::Match_Success;
    6169             :     break;
    6170             :     }
    6171             :   // 'MemBarrierOpt' class
    6172         416 :   case MCK_MemBarrierOpt: {
    6173             :     DiagnosticPredicate DP(Operand.isMemBarrierOpt());
    6174         416 :     if (DP.isMatch())
    6175             :       return MCTargetAsmParser::Match_Success;
    6176             :     break;
    6177             :     }
    6178             :   // 'MemImm0_1020s4Offset' class
    6179          44 :   case MCK_MemImm0_1020s4Offset: {
    6180          44 :     DiagnosticPredicate DP(Operand.isMemImm0_1020s4Offset());
    6181          44 :     if (DP.isMatch())
    6182             :       return MCTargetAsmParser::Match_Success;
    6183             :     break;
    6184             :     }
    6185             :   // 'MemImm12Offset' class
    6186         879 :   case MCK_MemImm12Offset: {
    6187         879 :     DiagnosticPredicate DP(Operand.isMemImm12Offset());
    6188         879 :     if (DP.isMatch())
    6189             :       return MCTargetAsmParser::Match_Success;
    6190             :     break;
    6191             :     }
    6192             :   // 'MemImm8Offset' class
    6193         332 :   case MCK_MemImm8Offset: {
    6194         332 :     DiagnosticPredicate DP(Operand.isMemImm8Offset());
    6195         332 :     if (DP.isMatch())
    6196             :       return MCTargetAsmParser::Match_Success;
    6197             :     break;
    6198             :     }
    6199             :   // 'MemImm8s4Offset' class
    6200         376 :   case MCK_MemImm8s4Offset: {
    6201         376 :     DiagnosticPredicate DP(Operand.isMemImm8s4Offset());
    6202         376 :     if (DP.isMatch())
    6203             :       return MCTargetAsmParser::Match_Success;
    6204             :     break;
    6205             :     }
    6206             :   // 'MemNegImm8Offset' class
    6207        1054 :   case MCK_MemNegImm8Offset: {
    6208        1054 :     DiagnosticPredicate DP(Operand.isMemNegImm8Offset());
    6209        1054 :     if (DP.isMatch())
    6210             :       return MCTargetAsmParser::Match_Success;
    6211             :     break;
    6212             :     }
    6213             :   // 'MemNoOffset' class
    6214        1876 :   case MCK_MemNoOffset: {
    6215        1876 :     DiagnosticPredicate DP(Operand.isMemNoOffset());
    6216        1876 :     if (DP.isMatch())
    6217             :       return MCTargetAsmParser::Match_Success;
    6218             :     break;
    6219             :     }
    6220             :   // 'MemPosImm8Offset' class
    6221          74 :   case MCK_MemPosImm8Offset: {
    6222          74 :     DiagnosticPredicate DP(Operand.isMemPosImm8Offset());
    6223          74 :     if (DP.isMatch())
    6224             :       return MCTargetAsmParser::Match_Success;
    6225             :     break;
    6226             :     }
    6227             :   // 'MemRegOffset' class
    6228             :   case MCK_MemRegOffset: {
    6229             :     DiagnosticPredicate DP(Operand.isMemRegOffset());
    6230         749 :     if (DP.isMatch())
    6231             :       return MCTargetAsmParser::Match_Success;
    6232             :     break;
    6233             :     }
    6234             :   // 'ModImm' class
    6235        5036 :   case MCK_ModImm: {
    6236             :     DiagnosticPredicate DP(Operand.isModImm());
    6237        5036 :     if (DP.isMatch())
    6238             :       return MCTargetAsmParser::Match_Success;
    6239             :     break;
    6240             :     }
    6241             :   // 'ModImmNeg' class
    6242        1826 :   case MCK_ModImmNeg: {
    6243        1826 :     DiagnosticPredicate DP(Operand.isModImmNeg());
    6244        1826 :     if (DP.isMatch())
    6245             :       return MCTargetAsmParser::Match_Success;
    6246             :     break;
    6247             :     }
    6248             :   // 'ModImmNot' class
    6249        1498 :   case MCK_ModImmNot: {
    6250        1498 :     DiagnosticPredicate DP(Operand.isModImmNot());
    6251        1498 :     if (DP.isMatch())
    6252             :       return MCTargetAsmParser::Match_Success;
    6253             :     break;
    6254             :     }
    6255             :   // 'PKHASRImm' class
    6256             :   case MCK_PKHASRImm: {
    6257             :     DiagnosticPredicate DP(Operand.isPKHASRImm());
    6258          12 :     if (DP.isMatch())
    6259             :       return MCTargetAsmParser::Match_Success;
    6260             :     break;
    6261             :     }
    6262             :   // 'PKHLSLImm' class
    6263             :   case MCK_PKHLSLImm: {
    6264             :     DiagnosticPredicate DP(Operand.isImmediate<0,31>());
    6265          22 :     if (DP.isMatch())
    6266             :       return MCTargetAsmParser::Match_Success;
    6267             :     if (DP.isNearMatch())
    6268             :       return ARMAsmParser::Match_PKHLSLImm;
    6269             :     break;
    6270             :     }
    6271             :   // 'PostIdxImm8' class
    6272             :   case MCK_PostIdxImm8: {
    6273             :     DiagnosticPredicate DP(Operand.isPostIdxImm8());
    6274          19 :     if (DP.isMatch())
    6275             :       return MCTargetAsmParser::Match_Success;
    6276             :     break;
    6277             :     }
    6278             :   // 'PostIdxImm8s4' class
    6279             :   case MCK_PostIdxImm8s4: {
    6280             :     DiagnosticPredicate DP(Operand.isPostIdxImm8s4());
    6281         352 :     if (DP.isMatch())
    6282             :       return MCTargetAsmParser::Match_Success;
    6283             :     break;
    6284             :     }
    6285             :   // 'PostIdxReg' class
    6286          25 :   case MCK_PostIdxReg: {
    6287          25 :     DiagnosticPredicate DP(Operand.isPostIdxReg());
    6288          25 :     if (DP.isMatch())
    6289             :       return MCTargetAsmParser::Match_Success;
    6290             :     break;
    6291             :     }
    6292             :   // 'PostIdxRegShifted' class
    6293          59 :   case MCK_PostIdxRegShifted: {
    6294             :     DiagnosticPredicate DP(Operand.isPostIdxRegShifted());
    6295          59 :     if (DP.isMatch())
    6296             :       return MCTargetAsmParser::Match_Success;
    6297             :     break;
    6298             :     }
    6299             :   // 'ProcIFlags' class
    6300         154 :   case MCK_ProcIFlags: {
    6301             :     DiagnosticPredicate DP(Operand.isProcIFlags());
    6302         154 :     if (DP.isMatch())
    6303             :       return MCTargetAsmParser::Match_Success;
    6304             :     break;
    6305             :     }
    6306             :   // 'RegList' class
    6307        1743 :   case MCK_RegList: {
    6308             :     DiagnosticPredicate DP(Operand.isRegList());
    6309        1743 :     if (DP.isMatch())
    6310             :       return MCTargetAsmParser::Match_Success;
    6311             :     break;
    6312             :     }
    6313             :   // 'RotImm' class
    6314         342 :   case MCK_RotImm: {
    6315             :     DiagnosticPredicate DP(Operand.isRotImm());
    6316         342 :     if (DP.isMatch())
    6317             :       return MCTargetAsmParser::Match_Success;
    6318             :     break;
    6319             :     }
    6320             :   // 'SPRRegList' class
    6321          42 :   case MCK_SPRRegList: {
    6322             :     DiagnosticPredicate DP(Operand.isSPRRegList());
    6323          42 :     if (DP.isMatch())
    6324             :       return MCTargetAsmParser::Match_Success;
    6325             :     if (DP.isNearMatch())
    6326             :       return ARMAsmParser::Match_SPRRegList;
    6327             :     break;
    6328             :     }
    6329             :   // 'SetEndImm' class
    6330             :   case MCK_SetEndImm: {
    6331             :     DiagnosticPredicate DP(Operand.isImmediate<0,1>());
    6332          44 :     if (DP.isMatch())
    6333             :       return MCTargetAsmParser::Match_Success;
    6334             :     if (DP.isNearMatch())
    6335             :       return ARMAsmParser::Match_SetEndImm;
    6336             :     break;
    6337             :     }
    6338             :   // 'RegShiftedImm' class
    6339       10551 :   case MCK_RegShiftedImm: {
    6340             :     DiagnosticPredicate DP(Operand.isRegShiftedImm());
    6341       10551 :     if (DP.isMatch())
    6342             :       return MCTargetAsmParser::Match_Success;
    6343             :     break;
    6344             :     }
    6345             :   // 'RegShiftedReg' class
    6346        4393 :   case MCK_RegShiftedReg: {
    6347        4393 :     DiagnosticPredicate DP(Operand.isRegShiftedReg());
    6348        4393 :     if (DP.isMatch())
    6349             :       return MCTargetAsmParser::Match_Success;
    6350             :     break;
    6351             :     }
    6352             :   // 'ShifterImm' class
    6353          52 :   case MCK_ShifterImm: {
    6354             :     DiagnosticPredicate DP(Operand.isShifterImm());
    6355          52 :     if (DP.isMatch())
    6356             :       return MCTargetAsmParser::Match_Success;
    6357             :     break;
    6358             :     }
    6359             :   // 'ThumbBranchTarget' class
    6360             :   case MCK_ThumbBranchTarget: {
    6361             :     DiagnosticPredicate DP(Operand.isThumbBranchTarget());
    6362         374 :     if (DP.isMatch())
    6363             :       return MCTargetAsmParser::Match_Success;
    6364             :     break;
    6365             :     }
    6366             :   // 'ThumbMemPC' class
    6367         647 :   case MCK_ThumbMemPC: {
    6368         647 :     DiagnosticPredicate DP(Operand.isThumbMemPC());
    6369         647 :     if (DP.isMatch())
    6370             :       return MCTargetAsmParser::Match_Success;
    6371             :     break;
    6372             :     }
    6373             :   // 'ThumbModImmNeg1_7' class
    6374             :   case MCK_ThumbModImmNeg1_7: {
    6375             :     DiagnosticPredicate DP(Operand.isThumbModImmNeg1_7());
    6376         790 :     if (DP.isMatch())
    6377             :       return MCTargetAsmParser::Match_Success;
    6378             :     break;
    6379             :     }
    6380             :   // 'ThumbModImmNeg8_255' class
    6381             :   case MCK_ThumbModImmNeg8_255: {
    6382             :     DiagnosticPredicate DP(Operand.isThumbModImmNeg8_255());
    6383        1491 :     if (DP.isMatch())
    6384             :       return MCTargetAsmParser::Match_Success;
    6385             :     break;
    6386             :     }
    6387             :   // 'ImmThumbSR' class
    6388             :   case MCK_ImmThumbSR: {
    6389             :     DiagnosticPredicate DP(Operand.isImmediate<1,32>());
    6390         660 :     if (DP.isMatch())
    6391             :       return MCTargetAsmParser::Match_Success;
    6392             :     if (DP.isNearMatch())
    6393             :       return ARMAsmParser::Match_ImmThumbSR;
    6394             :     break;
    6395             :     }
    6396             :   // 'UnsignedOffset_b8s2' class
    6397             :   case MCK_UnsignedOffset_b8s2: {
    6398             :     DiagnosticPredicate DP(Operand.isUnsignedOffset<8, 2>());
    6399          61 :     if (DP.isMatch())
    6400             :       return MCTargetAsmParser::Match_Success;
    6401             :     break;
    6402             :     }
    6403             :   // 'VecListDPairAllLanes' class
    6404             :   case MCK_VecListDPairAllLanes: {
    6405             :     DiagnosticPredicate DP(Operand.isVecListDPairAllLanes());
    6406        6762 :     if (DP.isMatch())
    6407             :       return MCTargetAsmParser::Match_Success;
    6408             :     break;
    6409             :     }
    6410             :   // 'VecListDPair' class
    6411             :   case MCK_VecListDPair: {
    6412             :     DiagnosticPredicate DP(Operand.isVecListDPair());
    6413       12735 :     if (DP.isMatch())
    6414             :       return MCTargetAsmParser::Match_Success;
    6415             :     break;
    6416             :     }
    6417             :   // 'VecListDPairSpacedAllLanes' class
    6418             :   case MCK_VecListDPairSpacedAllLanes: {
    6419             :     DiagnosticPredicate DP(Operand.isVecListDPairSpacedAllLanes());
    6420        2741 :     if (DP.isMatch())
    6421             :       return MCTargetAsmParser::Match_Success;
    6422             :     break;
    6423             :     }
    6424             :   // 'VecListDPairSpaced' class
    6425             :   case MCK_VecListDPairSpaced: {
    6426             :     DiagnosticPredicate DP(Operand.isVecListDPairSpaced());
    6427        4028 :     if (DP.isMatch())
    6428             :       return MCTargetAsmParser::Match_Success;
    6429             :     break;
    6430             :     }
    6431             :   // 'VecListFourDAllLanes' class
    6432             :   case MCK_VecListFourDAllLanes: {
    6433             :     DiagnosticPredicate DP(Operand.isVecListFourDAllLanes());
    6434        2508 :     if (DP.isMatch())
    6435             :       return MCTargetAsmParser::Match_Success;
    6436             :     break;
    6437             :     }
    6438             :   // 'VecListFourD' class
    6439             :   case MCK_VecListFourD: {
    6440             :     DiagnosticPredicate DP(Operand.isVecListFourD());
    6441       16598 :     if (DP.isMatch())
    6442             :       return MCTargetAsmParser::Match_Success;
    6443             :     break;
    6444             :     }
    6445             :   // 'VecListFourDByteIndexed' class
    6446             :   case MCK_VecListFourDByteIndexed: {
    6447             :     DiagnosticPredicate DP(Operand.isVecListFourDByteIndexed());
    6448        1134 :     if (DP.isMatch())
    6449             :       return MCTargetAsmParser::Match_Success;
    6450             :     break;
    6451             :     }
    6452             :   // 'VecListFourDHWordIndexed' class
    6453             :   case MCK_VecListFourDHWordIndexed: {
    6454             :     DiagnosticPredicate DP(Operand.isVecListFourDHWordIndexed());
    6455        1598 :     if (DP.isMatch())
    6456             :       return MCTargetAsmParser::Match_Success;
    6457             :     break;
    6458             :     }
    6459             :   // 'VecListFourDWordIndexed' class
    6460             :   case MCK_VecListFourDWordIndexed: {
    6461             :     DiagnosticPredicate DP(Operand.isVecListFourDWordIndexed());
    6462        1385 :     if (DP.isMatch())
    6463             :       return MCTargetAsmParser::Match_Success;
    6464             :     break;
    6465             :     }
    6466             :   // 'VecListFourQAllLanes' class
    6467             :   case MCK_VecListFourQAllLanes: {
    6468             :     DiagnosticPredicate DP(Operand.isVecListFourQAllLanes());
    6469        2327 :     if (DP.isMatch())
    6470             :       return MCTargetAsmParser::Match_Success;
    6471             :     break;
    6472             :     }
    6473             :   // 'VecListFourQ' class
    6474             :   case MCK_VecListFourQ: {
    6475             :     DiagnosticPredicate DP(Operand.isVecListFourQ());
    6476        3930 :     if (DP.isMatch())
    6477             :       return MCTargetAsmParser::Match_Success;
    6478             :     break;
    6479             :     }
    6480             :   // 'VecListFourQHWordIndexed' class
    6481             :   case MCK_VecListFourQHWordIndexed: {
    6482             :     DiagnosticPredicate DP(Operand.isVecListFourQHWordIndexed());
    6483        1493 :     if (DP.isMatch())
    6484             :       return MCTargetAsmParser::Match_Success;
    6485             :     break;
    6486             :     }
    6487             :   // 'VecListFourQWordIndexed' class
    6488             :   case MCK_VecListFourQWordIndexed: {
    6489             :     DiagnosticPredicate DP(Operand.isVecListFourQWordIndexed());
    6490        1253 :     if (DP.isMatch())
    6491             :       return MCTargetAsmParser::Match_Success;
    6492             :     break;
    6493             :     }
    6494             :   // 'VecListOneDAllLanes' class
    6495             :   case MCK_VecListOneDAllLanes: {
    6496             :     DiagnosticPredicate DP(Operand.isVecListOneDAllLanes());
    6497        3747 :     if (DP.isMatch())
    6498             :       return MCTargetAsmParser::Match_Success;
    6499             :     break;
    6500             :     }
    6501             :   // 'VecListOneD' class
    6502             :   case MCK_VecListOneD: {
    6503             :     DiagnosticPredicate DP(Operand.isVecListOneD());
    6504        8187 :     if (DP.isMatch())
    6505             :       return MCTargetAsmParser::Match_Success;
    6506             :     break;
    6507             :     }
    6508             :   // 'VecListOneDByteIndexed' class
    6509             :   case MCK_VecListOneDByteIndexed: {
    6510             :     DiagnosticPredicate DP(Operand.isVecListOneDByteIndexed());
    6511        1752 :     if (DP.isMatch())
    6512             :       return MCTargetAsmParser::Match_Success;
    6513             :     break;
    6514             :     }
    6515             :   // 'VecListOneDHWordIndexed' class
    6516             :   case MCK_VecListOneDHWordIndexed: {
    6517             :     DiagnosticPredicate DP(Operand.isVecListOneDHWordIndexed());
    6518        2287 :     if (DP.isMatch())
    6519             :       return MCTargetAsmParser::Match_Success;
    6520             :     break;
    6521             :     }
    6522             :   // 'VecListOneDWordIndexed' class
    6523             :   case MCK_VecListOneDWordIndexed: {
    6524             :     DiagnosticPredicate DP(Operand.isVecListOneDWordIndexed());
    6525        2100 :     if (DP.isMatch())
    6526             :       return MCTargetAsmParser::Match_Success;
    6527             :     break;
    6528             :     }
    6529             :   // 'VecListThreeDAllLanes' class
    6530             :   case MCK_VecListThreeDAllLanes: {
    6531             :     DiagnosticPredicate DP(Operand.isVecListThreeDAllLanes());
    6532        2814 :     if (DP.isMatch())
    6533             :       return MCTargetAsmParser::Match_Success;
    6534             :     break;
    6535             :     }
    6536             :   // 'VecListThreeD' class
    6537             :   case MCK_VecListThreeD: {
    6538             :     DiagnosticPredicate DP(Operand.isVecListThreeD());
    6539       12575 :     if (DP.isMatch())
    6540             :       return MCTargetAsmParser::Match_Success;
    6541             :     break;
    6542             :     }
    6543             :   // 'VecListThreeDByteIndexed' class
    6544             :   case MCK_VecListThreeDByteIndexed: {
    6545             :     DiagnosticPredicate DP(Operand.isVecListThreeDByteIndexed());
    6546        1366 :     if (DP.isMatch())
    6547             :       return MCTargetAsmParser::Match_Success;
    6548             :     break;
    6549             :     }
    6550             :   // 'VecListThreeDHWordIndexed' class
    6551             :   case MCK_VecListThreeDHWordIndexed: {
    6552             :     DiagnosticPredicate DP(Operand.isVecListThreeDHWordIndexed());
    6553        1634 :     if (DP.isMatch())
    6554             :       return MCTargetAsmParser::Match_Success;
    6555             :     break;
    6556             :     }
    6557             :   // 'VecListThreeDWordIndexed' class
    6558             :   case MCK_VecListThreeDWordIndexed: {
    6559             :     DiagnosticPredicate DP(Operand.isVecListThreeDWordIndexed());
    6560        1500 :     if (DP.isMatch())
    6561             :       return MCTargetAsmParser::Match_Success;
    6562             :     break;
    6563             :     }
    6564             :   // 'VecListThreeQAllLanes' class
    6565             :   case MCK_VecListThreeQAllLanes: {
    6566             :     DiagnosticPredicate DP(Operand.isVecListThreeQAllLanes());
    6567        2703 :     if (DP.isMatch())
    6568             :       return MCTargetAsmParser::Match_Success;
    6569             :     break;
    6570             :     }
    6571             :   // 'VecListThreeQ' class
    6572             :   case MCK_VecListThreeQ: {
    6573             :     DiagnosticPredicate DP(Operand.isVecListThreeQ());
    6574        4386 :     if (DP.isMatch())
    6575             :       return MCTargetAsmParser::Match_Success;
    6576             :     break;
    6577             :     }
    6578             :   // 'VecListThreeQHWordIndexed' class
    6579             :   case MCK_VecListThreeQHWordIndexed: {
    6580             :     DiagnosticPredicate DP(Operand.isVecListThreeQHWordIndexed());
    6581        1564 :     if (DP.isMatch())
    6582             :       return MCTargetAsmParser::Match_Success;
    6583             :     break;
    6584             :     }
    6585             :   // 'VecListThreeQWordIndexed' class
    6586             :   case MCK_VecListThreeQWordIndexed: {
    6587             :     DiagnosticPredicate DP(Operand.isVecListThreeQWordIndexed());
    6588        1430 :     if (DP.isMatch())
    6589             :       return MCTargetAsmParser::Match_Success;
    6590             :     break;
    6591             :     }
    6592             :   // 'VecListTwoDByteIndexed' class
    6593             :   case MCK_VecListTwoDByteIndexed: {
    6594             :     DiagnosticPredicate DP(Operand.isVecListTwoDByteIndexed());
    6595        1079 :     if (DP.isMatch())
    6596             :       return MCTargetAsmParser::Match_Success;
    6597             :     break;
    6598             :     }
    6599             :   // 'VecListTwoDHWordIndexed' class
    6600             :   case MCK_VecListTwoDHWordIndexed: {
    6601             :     DiagnosticPredicate DP(Operand.isVecListTwoDHWordIndexed());
    6602        1465 :     if (DP.isMatch())
    6603             :       return MCTargetAsmParser::Match_Success;
    6604             :     break;
    6605             :     }
    6606             :   // 'VecListTwoDWordIndexed' class
    6607             :   case MCK_VecListTwoDWordIndexed: {
    6608             :     DiagnosticPredicate DP(Operand.isVecListTwoDWordIndexed());
    6609        1280 :     if (DP.isMatch())
    6610             :       return MCTargetAsmParser::Match_Success;
    6611             :     break;
    6612             :     }
    6613             :   // 'VecListTwoQHWordIndexed' class
    6614             :   case MCK_VecListTwoQHWordIndexed: {
    6615             :     DiagnosticPredicate DP(Operand.isVecListTwoQHWordIndexed());
    6616        1450 :     if (DP.isMatch())
    6617             :       return MCTargetAsmParser::Match_Success;
    6618             :     break;
    6619             :     }
    6620             :   // 'VecListTwoQWordIndexed' class
    6621             :   case MCK_VecListTwoQWordIndexed: {
    6622             :     DiagnosticPredicate DP(Operand.isVecListTwoQWordIndexed());
    6623        1254 :     if (DP.isMatch())
    6624             :       return MCTargetAsmParser::Match_Success;
    6625             :     break;
    6626             :     }
    6627             :   // 'VectorIndex16' class
    6628         342 :   case MCK_VectorIndex16: {
    6629             :     DiagnosticPredicate DP(Operand.isVectorIndex16());
    6630         342 :     if (DP.isMatch())
    6631             :       return MCTargetAsmParser::Match_Success;
    6632             :     break;
    6633             :     }
    6634             :   // 'VectorIndex32' class
    6635         492 :   case MCK_VectorIndex32: {
    6636             :     DiagnosticPredicate DP(Operand.isVectorIndex32());
    6637         492 :     if (DP.isMatch())
    6638             :       return MCTargetAsmParser::Match_Success;
    6639             :     break;
    6640             :     }
    6641             :   // 'VectorIndex64' class
    6642         154 :   case MCK_VectorIndex64: {
    6643             :     DiagnosticPredicate DP(Operand.isVectorIndex64());
    6644         154 :     if (DP.isMatch())
    6645             :       return MCTargetAsmParser::Match_Success;
    6646             :     break;
    6647             :     }
    6648             :   // 'VectorIndex8' class
    6649          66 :   case MCK_VectorIndex8: {
    6650             :     DiagnosticPredicate DP(Operand.isVectorIndex8());
    6651          66 :     if (DP.isMatch())
    6652             :       return MCTargetAsmParser::Match_Success;
    6653             :     break;
    6654             :     }
    6655             :   // 'MemTBB' class
    6656           7 :   case MCK_MemTBB: {
    6657           7 :     DiagnosticPredicate DP(Operand.isMemTBB());
    6658           7 :     if (DP.isMatch())
    6659             :       return MCTargetAsmParser::Match_Success;
    6660             :     break;
    6661             :     }
    6662             :   // 'MemTBH' class
    6663           7 :   case MCK_MemTBH: {
    6664           7 :     DiagnosticPredicate DP(Operand.isMemTBH());
    6665           7 :     if (DP.isMatch())
    6666             :       return MCTargetAsmParser::Match_Success;
    6667             :     break;
    6668             :     }
    6669             :   // 'ComplexRotationEven' class
    6670             :   case MCK_ComplexRotationEven: {
    6671             :     DiagnosticPredicate DP(Operand.isComplexRotation<90, 0>());
    6672         504 :     if (DP.isMatch())
    6673             :       return MCTargetAsmParser::Match_Success;
    6674             :     if (DP.isNearMatch())
    6675             :       return ARMAsmParser::Match_ComplexRotationEven;
    6676             :     break;
    6677             :     }
    6678             :   // 'ComplexRotationOdd' class
    6679             :   case MCK_ComplexRotationOdd: {
    6680             :     DiagnosticPredicate DP(Operand.isComplexRotation<180, 90>());
    6681         148 :     if (DP.isMatch())
    6682             :       return MCTargetAsmParser::Match_Success;
    6683             :     if (DP.isNearMatch())
    6684             :       return ARMAsmParser::Match_ComplexRotationOdd;
    6685             :     break;
    6686             :     }
    6687             :   // 'NEONi16vmovi8Replicate' class
    6688             :   case MCK_NEONi16vmovi8Replicate: {
    6689             :     DiagnosticPredicate DP(Operand.isNEONmovReplicate<8, 16>());
    6690         128 :     if (DP.isMatch())
    6691             :       return MCTargetAsmParser::Match_Success;
    6692             :     break;
    6693             :     }
    6694             :   // 'NEONi16invi8Replicate' class
    6695             :   case MCK_NEONi16invi8Replicate: {
    6696             :     DiagnosticPredicate DP(Operand.isNEONinvReplicate<8, 16>());
    6697          71 :     if (DP.isMatch())
    6698             :       return MCTargetAsmParser::Match_Success;
    6699             :     break;
    6700             :     }
    6701             :   // 'NEONi32vmovi8Replicate' class
    6702             :   case MCK_NEONi32vmovi8Replicate: {
    6703             :     DiagnosticPredicate DP(Operand.isNEONmovReplicate<8, 32>());
    6704         115 :     if (DP.isMatch())
    6705             :       return MCTargetAsmParser::Match_Success;
    6706             :     break;
    6707             :     }
    6708             :   // 'NEONi32invi8Replicate' class
    6709          77 :   case MCK_NEONi32invi8Replicate: {
    6710          77 :     DiagnosticPredicate DP(Operand.isNEONinvReplicate<8, 32>());
    6711          77 :     if (DP.isMatch())
    6712             :       return MCTargetAsmParser::Match_Success;
    6713             :     break;
    6714             :     }
    6715             :   // 'NEONi64vmovi8Replicate' class
    6716          70 :   case MCK_NEONi64vmovi8Replicate: {
    6717          70 :     DiagnosticPredicate DP(Operand.isNEONmovReplicate<8, 64>());
    6718          70 :     if (DP.isMatch())
    6719             :       return MCTargetAsmParser::Match_Success;
    6720             :     break;
    6721             :     }
    6722             :   // 'NEONi64invi8Replicate' class
    6723          44 :   case MCK_NEONi64invi8Replicate: {
    6724          44 :     DiagnosticPredicate DP(Operand.isNEONinvReplicate<8, 64>());
    6725          44 :     if (DP.isMatch())
    6726             :       return MCTargetAsmParser::Match_Success;
    6727             :     break;
    6728             :     }
    6729             :   // 'NEONi32vmovi16Replicate' class
    6730             :   case MCK_NEONi32vmovi16Replicate: {
    6731             :     DiagnosticPredicate DP(Operand.isNEONmovReplicate<16, 32>());
    6732         184 :     if (DP.isMatch())
    6733             :       return MCTargetAsmParser::Match_Success;
    6734             :     break;
    6735             :     }
    6736             :   // 'NEONi64vmovi16Replicate' class
    6737         108 :   case MCK_NEONi64vmovi16Replicate: {
    6738         108 :     DiagnosticPredicate DP(Operand.isNEONmovReplicate<16, 64>());
    6739         108 :     if (DP.isMatch())
    6740             :       return MCTargetAsmParser::Match_Success;
    6741             :     break;
    6742             :     }
    6743             :   // 'NEONi64vmovi32Replicate' class
    6744         100 :   case MCK_NEONi64vmovi32Replicate: {
    6745         100 :     DiagnosticPredicate DP(Operand.isNEONmovReplicate<32, 64>());
    6746         100 :     if (DP.isMatch())
    6747             :       return MCTargetAsmParser::Match_Success;
    6748             :     break;
    6749             :     }
    6750             :   // 'ConstPoolAsmImm' class
    6751             :   case MCK_ConstPoolAsmImm: {
    6752             :     DiagnosticPredicate DP(Operand.isConstPoolAsmImm());
    6753        1156 :     if (DP.isMatch())
    6754             :       return MCTargetAsmParser::Match_Success;
    6755             :     break;
    6756             :     }
    6757             :   // 'FBits16' class
    6758             :   case MCK_FBits16: {
    6759             :     DiagnosticPredicate DP(Operand.isFBits16());
    6760         136 :     if (DP.isMatch())
    6761             :       return MCTargetAsmParser::Match_Success;
    6762             :     break;
    6763             :     }
    6764             :   // 'FBits32' class
    6765             :   case MCK_FBits32: {
    6766             :     DiagnosticPredicate DP(Operand.isFBits32());
    6767          96 :     if (DP.isMatch())
    6768             :       return MCTargetAsmParser::Match_Success;
    6769             :     break;
    6770             :     }
    6771             :   // 'Imm0_4095' class
    6772             :   case MCK_Imm0_4095: {
    6773             :     DiagnosticPredicate DP(Operand.isImmediate<0,4095>());
    6774         311 :     if (DP.isMatch())
    6775             :       return MCTargetAsmParser::Match_Success;
    6776             :     if (DP.isNearMatch())
    6777             :       return ARMAsmParser::Match_Imm0_4095;
    6778             :     break;
    6779             :     }
    6780             :   // 'Imm0_4095Neg' class
    6781             :   case MCK_Imm0_4095Neg: {
    6782             :     DiagnosticPredicate DP(Operand.isImm0_4095Neg());
    6783         215 :     if (DP.isMatch())
    6784             :       return MCTargetAsmParser::Match_Success;
    6785             :     break;
    6786             :     }
    6787             :   // 'ITMask' class
    6788        5491 :   case MCK_ITMask: {
    6789             :     DiagnosticPredicate DP(Operand.isITMask());
    6790        5491 :     if (DP.isMatch())
    6791             :       return MCTargetAsmParser::Match_Success;
    6792             :     break;
    6793             :     }
    6794             :   // 'ITCondCode' class
    6795        5491 :   case MCK_ITCondCode: {
    6796             :     DiagnosticPredicate DP(Operand.isITCondCode());
    6797        5491 :     if (DP.isMatch())
    6798             :       return MCTargetAsmParser::Match_Success;
    6799             :     break;
    6800             :     }
    6801             :   // 'NEONi16splat' class
    6802         272 :   case MCK_NEONi16splat: {
    6803         272 :     DiagnosticPredicate DP(Operand.isNEONi16splat());
    6804         272 :     if (DP.isMatch())
    6805             :       return MCTargetAsmParser::Match_Success;
    6806             :     break;
    6807             :     }
    6808             :   // 'NEONi32splat' class
    6809          81 :   case MCK_NEONi32splat: {
    6810          81 :     DiagnosticPredicate DP(Operand.isNEONi32splat());
    6811          81 :     if (DP.isMatch())
    6812             :       return MCTargetAsmParser::Match_Success;
    6813             :     break;
    6814             :     }
    6815             :   // 'NEONi64splat' class
    6816             :   case MCK_NEONi64splat: {
    6817             :     DiagnosticPredicate DP(Operand.isNEONi64splat());
    6818          60 :     if (DP.isMatch())
    6819             :       return MCTargetAsmParser::Match_Success;
    6820             :     break;
    6821             :     }
    6822             :   // 'NEONi8splat' class
    6823             :   case MCK_NEONi8splat: {
    6824             :     DiagnosticPredicate DP(Operand.isNEONi8splat());
    6825          60 :     if (DP.isMatch())
    6826             :       return MCTargetAsmParser::Match_Success;
    6827             :     break;
    6828             :     }
    6829             :   // 'NEONi16splatNot' class
    6830          50 :   case MCK_NEONi16splatNot: {
    6831          50 :     DiagnosticPredicate DP(Operand.isNEONi16splatNot());
    6832          50 :     if (DP.isMatch())
    6833             :       return MCTargetAsmParser::Match_Success;
    6834             :     break;
    6835             :     }
    6836             :   // 'NEONi32splatNot' class
    6837          48 :   case MCK_NEONi32splatNot: {
    6838          48 :     DiagnosticPredicate DP(Operand.isNEONi32splatNot());
    6839          48 :     if (DP.isMatch())
    6840             :       return MCTargetAsmParser::Match_Success;
    6841             :     break;
    6842             :     }
    6843             :   // 'NEONi32vmov' class
    6844         320 :   case MCK_NEONi32vmov: {
    6845         320 :     DiagnosticPredicate DP(Operand.isNEONi32vmov());
    6846         320 :     if (DP.isMatch())
    6847             :       return MCTargetAsmParser::Match_Success;
    6848             :     break;
    6849             :     }
    6850             :   // 'NEONi32vmovNeg' class
    6851         140 :   case MCK_NEONi32vmovNeg: {
    6852         140 :     DiagnosticPredicate DP(Operand.isNEONi32vmovNeg());
    6853         140 :     if (DP.isMatch())
    6854             :       return MCTargetAsmParser::Match_Success;
    6855             :     break;
    6856             :     }
    6857             :   // 'ShrImm16' class
    6858             :   case MCK_ShrImm16: {
    6859             :     DiagnosticPredicate DP(Operand.isImmediate<1,16>());
    6860         880 :     if (DP.isMatch())
    6861             :       return MCTargetAsmParser::Match_Success;
    6862             :     if (DP.isNearMatch())
    6863             :       return ARMAsmParser::Match_ShrImm16;
    6864             :     break;
    6865             :     }
    6866             :   // 'ShrImm32' class
    6867             :   case MCK_ShrImm32: {
    6868             :     DiagnosticPredicate DP(Operand.isImmediate<1,32>());
    6869         782 :     if (DP.isMatch())
    6870             :       return MCTargetAsmParser::Match_Success;
    6871             :     if (DP.isNearMatch())
    6872             :       return ARMAsmParser::Match_ShrImm32;
    6873             :     break;
    6874             :     }
    6875             :   // 'ShrImm64' class
    6876             :   case MCK_ShrImm64: {
    6877             :     DiagnosticPredicate DP(Operand.isImmediate<1,64>());
    6878         669 :     if (DP.isMatch())
    6879             :       return MCTargetAsmParser::Match_Success;
    6880             :     if (DP.isNearMatch())
    6881             :       return ARMAsmParser::Match_ShrImm64;
    6882             :     break;
    6883             :     }
    6884             :   // 'ShrImm8' class
    6885             :   case MCK_ShrImm8: {
    6886             :     DiagnosticPredicate DP(Operand.isImmediate<1,8>());
    6887         658 :     if (DP.isMatch())
    6888             :       return MCTargetAsmParser::Match_Success;
    6889             :     if (DP.isNearMatch())
    6890             :       return ARMAsmParser::Match_ShrImm8;
    6891             :     break;
    6892             :     }
    6893             :   // 'T2SOImm' class
    6894        6410 :   case MCK_T2SOImm: {
    6895        6410 :     DiagnosticPredicate DP(Operand.isT2SOImm());
    6896        6410 :     if (DP.isMatch())
    6897             :       return MCTargetAsmParser::Match_Success;
    6898             :     break;
    6899             :     }
    6900             :   // 'T2SOImmNeg' class
    6901        4540 :   case MCK_T2SOImmNeg: {
    6902        4540 :     DiagnosticPredicate DP(Operand.isT2SOImmNeg());
    6903        4540 :     if (DP.isMatch())
    6904             :       return MCTargetAsmParser::Match_Success;
    6905             :     break;
    6906             :     }
    6907             :   // 'T2SOImmNot' class
    6908        1644 :   case MCK_T2SOImmNot: {
    6909        1644 :     DiagnosticPredicate DP(Operand.isT2SOImmNot());
    6910        1644 :     if (DP.isMatch())
    6911             :       return MCTargetAsmParser::Match_Success;
    6912             :     break;
    6913             :     }
    6914             :   // 'MemUImm12Offset' class
    6915        1249 :   case MCK_MemUImm12Offset: {
    6916        1249 :     DiagnosticPredicate DP(Operand.isMemUImm12Offset());
    6917        1249 :     if (DP.isMatch())
    6918             :       return MCTargetAsmParser::Match_Success;
    6919             :     break;
    6920             :     }
    6921             :   // 'T2MemRegOffset' class
    6922         999 :   case MCK_T2MemRegOffset: {
    6923         999 :     DiagnosticPredicate DP(Operand.isT2MemRegOffset());
    6924         999 :     if (DP.isMatch())
    6925             :       return MCTargetAsmParser::Match_Success;
    6926             :     break;
    6927             :     }
    6928             :   // 'Imm8s4' class
    6929             :   case MCK_Imm8s4: {
    6930             :     DiagnosticPredicate DP(Operand.isImm8s4());
    6931           0 :     if (DP.isMatch())
    6932             :       return MCTargetAsmParser::Match_Success;
    6933             :     break;
    6934             :     }
    6935             :   // 'MemPCRelImm12' class
    6936         506 :   case MCK_MemPCRelImm12: {
    6937         506 :     DiagnosticPredicate DP(Operand.isMemPCRelImm12());
    6938         506 :     if (DP.isMatch())
    6939             :       return MCTargetAsmParser::Match_Success;
    6940             :     break;
    6941             :     }
    6942             :   // 'MemThumbRIs1' class
    6943         235 :   case MCK_MemThumbRIs1: {
    6944         235 :     DiagnosticPredicate DP(Operand.isMemThumbRIs1());
    6945         235 :     if (DP.isMatch())
    6946             :       return MCTargetAsmParser::Match_Success;
    6947             :     break;
    6948             :     }
    6949             :   // 'MemThumbRIs2' class
    6950         229 :   case MCK_MemThumbRIs2: {
    6951         229 :     DiagnosticPredicate DP(Operand.isMemThumbRIs2());
    6952         229 :     if (DP.isMatch())
    6953             :       return MCTargetAsmParser::Match_Success;
    6954             :     break;
    6955             :     }
    6956             :   // 'MemThumbRIs4' class
    6957         556 :   case MCK_MemThumbRIs4: {
    6958         556 :     DiagnosticPredicate DP(Operand.isMemThumbRIs4());
    6959         556 :     if (DP.isMatch())
    6960             :       return MCTargetAsmParser::Match_Success;
    6961             :     break;
    6962             :     }
    6963             :   // 'MemThumbRR' class
    6964        1161 :   case MCK_MemThumbRR: {
    6965        1161 :     DiagnosticPredicate DP(Operand.isMemThumbRR());
    6966        1161 :     if (DP.isMatch())
    6967             :       return MCTargetAsmParser::Match_Success;
    6968             :     break;
    6969             :     }
    6970             :   // 'MemThumbSPI' class
    6971         516 :   case MCK_MemThumbSPI: {
    6972         516 :     DiagnosticPredicate DP(Operand.isMemThumbSPI());
    6973         516 :     if (DP.isMatch())
    6974             :       return MCTargetAsmParser::Match_Success;
    6975             :     break;
    6976             :     }
    6977             :   // 'Imm0_1020s4' class
    6978             :   case MCK_Imm0_1020s4: {
    6979             :     DiagnosticPredicate DP(Operand.isImm0_1020s4());
    6980          47 :     if (DP.isMatch())
    6981             :       return MCTargetAsmParser::Match_Success;
    6982             :     break;
    6983             :     }
    6984             :   // 'Imm0_508s4' class
    6985             :   case MCK_Imm0_508s4: {
    6986             :     DiagnosticPredicate DP(Operand.isImm0_508s4());
    6987         242 :     if (DP.isMatch())
    6988             :       return MCTargetAsmParser::Match_Success;
    6989             :     break;
    6990             :     }
    6991             :   // 'Imm0_508s4Neg' class
    6992             :   case MCK_Imm0_508s4Neg: {
    6993             :     DiagnosticPredicate DP(Operand.isImm0_508s4Neg());
    6994         194 :     if (DP.isMatch())
    6995             :       return MCTargetAsmParser::Match_Success;
    6996             :     break;
    6997             :     }
    6998             :   } // end switch (Kind)
    6999             : 
    7000      462596 :   if (Operand.isReg()) {
    7001             :     MatchClassKind OpKind;
    7002             :     switch (Operand.getReg()) {
    7003             :     default: OpKind = InvalidMatchClass; break;
    7004             :     case ARM::R0: OpKind = MCK_Reg0; break;
    7005             :     case ARM::R1: OpKind = MCK_Reg0; break;
    7006             :     case ARM::R2: OpKind = MCK_Reg0; break;
    7007             :     case ARM::R3: OpKind = MCK_Reg0; break;
    7008             :     case ARM::R4: OpKind = MCK_tGPR; break;
    7009             :     case ARM::R5: OpKind = MCK_tGPR; break;
    7010             :     case ARM::R6: OpKind = MCK_tGPR; break;
    7011             :     case ARM::R7: OpKind = MCK_tGPR; break;
    7012             :     case ARM::R8: OpKind = MCK_Reg10; break;
    7013             :     case ARM::R9: OpKind = MCK_Reg10; break;
    7014             :     case ARM::R10: OpKind = MCK_Reg10; break;
    7015             :     case ARM::R11: OpKind = MCK_Reg10; break;
    7016             :     case ARM::R12: OpKind = MCK_Reg11; break;
    7017             :     case ARM::SP: OpKind = MCK_GPRsp; break;
    7018             :     case ARM::LR: OpKind = MCK_LR; break;
    7019             :     case ARM::PC: OpKind = MCK_PC; break;
    7020             :     case ARM::S0: OpKind = MCK_SPR_8; break;
    7021             :     case ARM::S1: OpKind = MCK_SPR_8; break;
    7022             :     case ARM::S2: OpKind = MCK_SPR_8; break;
    7023             :     case ARM::S3: OpKind = MCK_SPR_8; break;
    7024             :     case ARM::S4: OpKind = MCK_SPR_8; break;
    7025             :     case ARM::S5: OpKind = MCK_SPR_8; break;
    7026             :     case ARM::S6: OpKind = MCK_SPR_8; break;
    7027             :     case ARM::S7: OpKind = MCK_SPR_8; break;
    7028             :     case ARM::S8: OpKind = MCK_SPR_8; break;
    7029             :     case ARM::S9: OpKind = MCK_SPR_8; break;
    7030             :     case ARM::S10: OpKind = MCK_SPR_8; break;
    7031             :     case ARM::S11: OpKind = MCK_SPR_8; break;
    7032             :     case ARM::S12: OpKind = MCK_SPR_8; break;
    7033             :     case ARM::S13: OpKind = MCK_SPR_8; break;
    7034             :     case ARM::S14: OpKind = MCK_SPR_8; break;
    7035             :     case ARM::S15: OpKind = MCK_SPR_8; break;
    7036             :     case ARM::S16: OpKind = MCK_HPR; break;
    7037             :     case ARM::S17: OpKind = MCK_HPR; break;
    7038             :     case ARM::S18: OpKind = MCK_HPR; break;
    7039             :     case ARM::S19: OpKind = MCK_HPR; break;
    7040             :     case ARM::S20: OpKind = MCK_HPR; break;
    7041             :     case ARM::S21: OpKind = MCK_HPR; break;
    7042             :     case ARM::S22: OpKind = MCK_HPR; break;
    7043             :     case ARM::S23: OpKind = MCK_HPR; break;
    7044             :     case ARM::S24: OpKind = MCK_HPR; break;
    7045             :     case ARM::S25: OpKind = MCK_HPR; break;
    7046             :     case ARM::S26: OpKind = MCK_HPR; break;
    7047             :     case ARM::S27: OpKind = MCK_HPR; break;
    7048             :     case ARM::S28: OpKind = MCK_HPR; break;
    7049             :     case ARM::S29: OpKind = MCK_HPR; break;
    7050             :     case ARM::S30: OpKind = MCK_HPR; break;
    7051             :     case ARM::S31: OpKind = MCK_HPR; break;
    7052             :     case ARM::D0: OpKind = MCK_DPR_8; break;
    7053             :     case ARM::D1: OpKind = MCK_DPR_8; break;
    7054             :     case ARM::D2: OpKind = MCK_DPR_8; break;
    7055             :     case ARM::D3: OpKind = MCK_DPR_8; break;
    7056             :     case ARM::D4: OpKind = MCK_DPR_8; break;
    7057             :     case ARM::D5: OpKind = MCK_DPR_8; break;
    7058             :     case ARM::D6: OpKind = MCK_DPR_8; break;
    7059             :     case ARM::D7: OpKind = MCK_DPR_8; break;
    7060             :     case ARM::D8: OpKind = MCK_DPR_VFP2; break;
    7061             :     case ARM::D9: OpKind = MCK_DPR_VFP2; break;
    7062             :     case ARM::D10: OpKind = MCK_DPR_VFP2; break;
    7063             :     case ARM::D11: OpKind = MCK_DPR_VFP2; break;
    7064             :     case ARM::D12: OpKind = MCK_DPR_VFP2; break;
    7065             :     case ARM::D13: OpKind = MCK_DPR_VFP2; break;
    7066             :     case ARM::D14: OpKind = MCK_DPR_VFP2; break;
    7067             :     case ARM::D15: OpKind = MCK_DPR_VFP2; break;
    7068             :     case ARM::D16: OpKind = MCK_DPR; break;
    7069             :     case ARM::D17: OpKind = MCK_DPR; break;
    7070             :     case ARM::D18: OpKind = MCK_DPR; break;
    7071             :     case ARM::D19: OpKind = MCK_DPR; break;
    7072             :     case ARM::D20: OpKind = MCK_DPR; break;
    7073             :     case ARM::D21: OpKind = MCK_DPR; break;
    7074             :     case ARM::D22: OpKind = MCK_DPR; break;
    7075             :     case ARM::D23: OpKind = MCK_DPR; break;
    7076             :     case ARM::D24: OpKind = MCK_DPR; break;
    7077             :     case ARM::D25: OpKind = MCK_DPR; break;
    7078             :     case ARM::D26: OpKind = MCK_DPR; break;
    7079             :     case ARM::D27: OpKind = MCK_DPR; break;
    7080             :     case ARM::D28: OpKind = MCK_DPR; break;
    7081             :     case ARM::D29: OpKind = MCK_DPR; break;
    7082             :     case ARM::D30: OpKind = MCK_DPR; break;
    7083             :     case ARM::D31: OpKind = MCK_DPR; break;
    7084             :     case ARM::Q0: OpKind = MCK_QPR_8; break;
    7085             :     case ARM::Q1: OpKind = MCK_QPR_8; break;
    7086             :     case ARM::Q2: OpKind = MCK_QPR_8; break;
    7087             :     case ARM::Q3: OpKind = MCK_QPR_8; break;
    7088             :     case ARM::Q4: OpKind = MCK_QPR_VFP2; break;
    7089             :     case ARM::Q5: OpKind = MCK_QPR_VFP2; break;
    7090             :     case ARM::Q6: OpKind = MCK_QPR_VFP2; break;
    7091             :     case ARM::Q7: OpKind = MCK_QPR_VFP2; break;
    7092             :     case ARM::Q8: OpKind = MCK_QPR; break;
    7093             :     case ARM::Q9: OpKind = MCK_QPR; break;
    7094             :     case ARM::Q10: OpKind = MCK_QPR; break;
    7095             :     case ARM::Q11: OpKind = MCK_QPR; break;
    7096             :     case ARM::Q12: OpKind = MCK_QPR; break;
    7097             :     case ARM::Q13: OpKind = MCK_QPR; break;
    7098             :     case ARM::Q14: OpKind = MCK_QPR; break;
    7099             :     case ARM::Q15: OpKind = MCK_QPR; break;
    7100             :     case ARM::CPSR: OpKind = MCK_CCR; break;
    7101             :     case ARM::APSR: OpKind = MCK_APSR; break;
    7102             :     case ARM::APSR_NZCV: OpKind = MCK_APSR_NZCV; break;
    7103             :     case ARM::SPSR: OpKind = MCK_SPSR; break;
    7104             :     case ARM::FPSCR: OpKind = MCK_FPSCR; break;
    7105             :     case ARM::FPSID: OpKind = MCK_FPSID; break;
    7106             :     case ARM::MVFR2: OpKind = MCK_MVFR2; break;
    7107             :     case ARM::MVFR1: OpKind = MCK_MVFR1; break;
    7108             :     case ARM::MVFR0: OpKind = MCK_MVFR0; break;
    7109             :     case ARM::FPEXC: OpKind = MCK_FPEXC; break;
    7110             :     case ARM::FPINST: OpKind = MCK_FPINST; break;
    7111             :     case ARM::FPINST2: OpKind = MCK_FPINST2; break;
    7112             :     case ARM::D0_D2: OpKind = MCK_Reg40; break;
    7113             :     case ARM::D1_D3: OpKind = MCK_Reg40; break;
    7114             :     case ARM::D2_D4: OpKind = MCK_Reg40; break;
    7115             :     case ARM::D3_D5: OpKind = MCK_Reg40; break;
    7116             :     case ARM::D4_D6: OpKind = MCK_Reg40; break;
    7117             :     case ARM::D5_D7: OpKind = MCK_Reg40; break;
    7118             :     case ARM::D6_D8: OpKind = MCK_Reg41; break;
    7119             :     case ARM::D7_D9: OpKind = MCK_Reg41; break;
    7120             :     case ARM::D8_D10: OpKind = MCK_Reg42; break;
    7121             :     case ARM::D9_D11: OpKind = MCK_Reg42; break;
    7122             :     case ARM::D10_D12: OpKind = MCK_Reg42; break;
    7123             :     case ARM::D11_D13: OpKind = MCK_Reg42; break;
    7124             :     case ARM::D12_D14: OpKind = MCK_Reg42; break;
    7125             :     case ARM::D13_D15: OpKind = MCK_Reg42; break;
    7126             :     case ARM::D14_D16: OpKind = MCK_Reg43; break;
    7127             :     case ARM::D15_D17: OpKind = MCK_Reg43; break;
    7128             :     case ARM::D16_D18: OpKind = MCK_DPairSpc; break;
    7129             :     case ARM::D17_D19: OpKind = MCK_DPairSpc; break;
    7130             :     case ARM::D18_D20: OpKind = MCK_DPairSpc; break;
    7131             :     case ARM::D19_D21: OpKind = MCK_DPairSpc; break;
    7132             :     case ARM::D20_D22: OpKind = MCK_DPairSpc; break;
    7133             :     case ARM::D21_D23: OpKind = MCK_DPairSpc; break;
    7134             :     case ARM::D22_D24: OpKind = MCK_DPairSpc; break;
    7135             :     case ARM::D23_D25: OpKind = MCK_DPairSpc; break;
    7136             :     case ARM::D24_D26: OpKind = MCK_DPairSpc; break;
    7137             :     case ARM::D25_D27: OpKind = MCK_DPairSpc; break;
    7138             :     case ARM::D26_D28: OpKind = MCK_DPairSpc; break;
    7139             :     case ARM::D27_D29: OpKind = MCK_DPairSpc; break;
    7140             :     case ARM::D28_D30: OpKind = MCK_DPairSpc; break;
    7141             :     case ARM::D29_D31: OpKind = MCK_DPairSpc; break;
    7142             :     case ARM::Q0_Q1: OpKind = MCK_Reg45; break;
    7143             :     case ARM::Q1_Q2: OpKind = MCK_Reg45; break;
    7144             :     case ARM::Q2_Q3: OpKind = MCK_Reg45; break;
    7145             :     case ARM::Q3_Q4: OpKind = MCK_Reg46; break;
    7146             :     case ARM::Q4_Q5: OpKind = MCK_Reg47; break;
    7147             :     case ARM::Q5_Q6: OpKind = MCK_Reg47; break;
    7148             :     case ARM::Q6_Q7: OpKind = MCK_Reg47; break;
    7149             :     case ARM::Q7_Q8: OpKind = MCK_Reg48; break;
    7150             :     case ARM::Q8_Q9: OpKind = MCK_QQPR; break;
    7151             :     case ARM::Q9_Q10: OpKind = MCK_QQPR; break;
    7152             :     case ARM::Q10_Q11: OpKind = MCK_QQPR; break;
    7153             :     case ARM::Q11_Q12: OpKind = MCK_QQPR; break;
    7154             :     case ARM::Q12_Q13: OpKind = MCK_QQPR; break;
    7155             :     case ARM::Q13_Q14: OpKind = MCK_QQPR; break;
    7156             :     case ARM::Q14_Q15: OpKind = MCK_QQPR; break;
    7157             :     case ARM::Q0_Q1_Q2_Q3: OpKind = MCK_Reg59; break;
    7158             :     case ARM::Q1_Q2_Q3_Q4: OpKind = MCK_Reg60; break;
    7159             :     case ARM::Q2_Q3_Q4_Q5: OpKind = MCK_Reg61; break;
    7160             :     case ARM::Q3_Q4_Q5_Q6: OpKind = MCK_Reg62; break;
    7161             :     case ARM::Q4_Q5_Q6_Q7: OpKind = MCK_Reg63; break;
    7162             :     case ARM::Q5_Q6_Q7_Q8: OpKind = MCK_Reg64; break;
    7163             :     case ARM::Q6_Q7_Q8_Q9: OpKind = MCK_Reg65; break;
    7164             :     case ARM::Q7_Q8_Q9_Q10: OpKind = MCK_Reg66; break;
    7165             :     case ARM::Q8_Q9_Q10_Q11: OpKind = MCK_QQQQPR; break;
    7166             :     case ARM::Q9_Q10_Q11_Q12: OpKind = MCK_QQQQPR; break;
    7167             :     case ARM::Q10_Q11_Q12_Q13: OpKind = MCK_QQQQPR; break;
    7168             :     case ARM::Q11_Q12_Q13_Q14: OpKind = MCK_QQQQPR; break;
    7169             :     case ARM::Q12_Q13_Q14_Q15: OpKind = MCK_QQQQPR; break;
    7170             :     case ARM::R0_R1: OpKind = MCK_Reg68; break;
    7171             :     case ARM::R2_R3: OpKind = MCK_Reg68; break;
    7172             :     case ARM::R4_R5: OpKind = MCK_Reg69; break;
    7173             :     case ARM::R6_R7: OpKind = MCK_Reg69; break;
    7174             :     case ARM::R8_R9: OpKind = MCK_Reg73; break;
    7175             :     case ARM::R10_R11: OpKind = MCK_Reg73; break;
    7176             :     case ARM::R12_SP: OpKind = MCK_Reg75; break;
    7177             :     case ARM::D0_D1_D2: OpKind = MCK_Reg83; break;
    7178             :     case ARM::D1_D2_D3: OpKind = MCK_Reg88; break;
    7179             :     case ARM::D2_D3_D4: OpKind = MCK_Reg83; break;
    7180             :     case ARM::D3_D4_D5: OpKind = MCK_Reg88; break;
    7181             :     case ARM::D4_D5_D6: OpKind = MCK_Reg83; break;
    7182             :     case ARM::D5_D6_D7: OpKind = MCK_Reg88; break;
    7183             :     case ARM::D6_D7_D8: OpKind = MCK_Reg84; break;
    7184             :     case ARM::D7_D8_D9: OpKind = MCK_Reg89; break;
    7185             :     case ARM::D8_D9_D10: OpKind = MCK_Reg85; break;
    7186             :     case ARM::D9_D10_D11: OpKind = MCK_Reg90; break;
    7187             :     case ARM::D10_D11_D12: OpKind = MCK_Reg85; break;
    7188             :     case ARM::D11_D12_D13: OpKind = MCK_Reg90; break;
    7189             :     case ARM::D12_D13_D14: OpKind = MCK_Reg85; break;
    7190             :     case ARM::D13_D14_D15: OpKind = MCK_Reg90; break;
    7191             :     case ARM::D14_D15_D16: OpKind = MCK_Reg86; break;
    7192             :     case ARM::D15_D16_D17: OpKind = MCK_Reg91; break;
    7193             :     case ARM::D16_D17_D18: OpKind = MCK_Reg87; break;
    7194             :     case ARM::D17_D18_D19: OpKind = MCK_Reg92; break;
    7195             :     case ARM::D18_D19_D20: OpKind = MCK_Reg87; break;
    7196             :     case ARM::D19_D20_D21: OpKind = MCK_Reg92; break;
    7197             :     case ARM::D20_D21_D22: OpKind = MCK_Reg87; break;
    7198             :     case ARM::D21_D22_D23: OpKind = MCK_Reg92; break;
    7199             :     case ARM::D22_D23_D24: OpKind = MCK_Reg87; break;
    7200             :     case ARM::D23_D24_D25: OpKind = MCK_Reg92; break;
    7201             :     case ARM::D24_D25_D26: OpKind = MCK_Reg87; break;
    7202             :     case ARM::D25_D26_D27: OpKind = MCK_Reg92; break;
    7203             :     case ARM::D26_D27_D28: OpKind = MCK_Reg87; break;
    7204             :     case ARM::D27_D28_D29: OpKind = MCK_Reg92; break;
    7205             :     case ARM::D28_D29_D30: OpKind = MCK_Reg87; break;
    7206             :     case ARM::D29_D30_D31: OpKind = MCK_Reg92; break;
    7207             :     case ARM::D0_D2_D4: OpKind = MCK_Reg93; break;
    7208             :     case ARM::D1_D3_D5: OpKind = MCK_Reg93; break;
    7209             :     case ARM::D2_D4_D6: OpKind = MCK_Reg93; break;
    7210             :     case ARM::D3_D5_D7: OpKind = MCK_Reg93; break;
    7211             :     case ARM::D4_D6_D8: OpKind = MCK_Reg94; break;
    7212             :     case ARM::D5_D7_D9: OpKind = MCK_Reg94; break;
    7213             :     case ARM::D6_D8_D10: OpKind = MCK_Reg95; break;
    7214             :     case ARM::D7_D9_D11: OpKind = MCK_Reg95; break;
    7215             :     case ARM::D8_D10_D12: OpKind = MCK_Reg96; break;
    7216             :     case ARM::D9_D11_D13: OpKind = MCK_Reg96; break;
    7217             :     case ARM::D10_D12_D14: OpKind = MCK_Reg96; break;
    7218             :     case ARM::D11_D13_D15: OpKind = MCK_Reg96; break;
    7219             :     case ARM::D12_D14_D16: OpKind = MCK_Reg97; break;
    7220             :     case ARM::D13_D15_D17: OpKind = MCK_Reg97; break;
    7221             :     case ARM::D14_D16_D18: OpKind = MCK_Reg98; break;
    7222             :     case ARM::D15_D17_D19: OpKind = MCK_Reg98; break;
    7223             :     case ARM::D16_D18_D20: OpKind = MCK_DTripleSpc; break;
    7224             :     case ARM::D17_D19_D21: OpKind = MCK_DTripleSpc; break;
    7225             :     case ARM::D18_D20_D22: OpKind = MCK_DTripleSpc; break;
    7226             :     case ARM::D19_D21_D23: OpKind = MCK_DTripleSpc; break;
    7227             :     case ARM::D20_D22_D24: OpKind = MCK_DTripleSpc; break;
    7228             :     case ARM::D21_D23_D25: OpKind = MCK_DTripleSpc; break;
    7229             :     case ARM::D22_D24_D26: OpKind = MCK_DTripleSpc; break;
    7230             :     case ARM::D23_D25_D27: OpKind = MCK_DTripleSpc; break;
    7231             :     case ARM::D24_D26_D28: OpKind = MCK_DTripleSpc; break;
    7232             :     case ARM::D25_D27_D29: OpKind = MCK_DTripleSpc; break;
    7233             :     case ARM::D26_D28_D30: OpKind = MCK_DTripleSpc; break;
    7234             :     case ARM::D27_D29_D31: OpKind = MCK_DTripleSpc; break;
    7235             :     case ARM::D1_D2: OpKind = MCK_Reg26; break;
    7236             :     case ARM::D3_D4: OpKind = MCK_Reg26; break;
    7237             :     case ARM::D5_D6: OpKind = MCK_Reg26; break;
    7238             :     case ARM::D7_D8: OpKind = MCK_Reg27; break;
    7239             :     case ARM::D9_D10: OpKind = MCK_Reg24; break;
    7240             :     case ARM::D11_D12: OpKind = MCK_Reg24; break;
    7241             :     case ARM::D13_D14: OpKind = MCK_Reg24; break;
    7242             :     case ARM::D15_D16: OpKind = MCK_Reg25; break;
    7243             :     case ARM::D17_D18: OpKind = MCK_DPair; break;
    7244             :     case ARM::D19_D20: OpKind = MCK_DPair; break;
    7245             :     case ARM::D21_D22: OpKind = MCK_DPair; break;
    7246             :     case ARM::D23_D24: OpKind = MCK_DPair; break;
    7247             :     case ARM::D25_D26: OpKind = MCK_DPair; break;
    7248             :     case ARM::D27_D28: OpKind = MCK_DPair; break;
    7249             :     case ARM::D29_D30: OpKind = MCK_DPair; break;
    7250             :     case ARM::D1_D2_D3_D4: OpKind = MCK_Reg100; break;
    7251             :     case ARM::D3_D4_D5_D6: OpKind = MCK_Reg100; break;
    7252             :     case ARM::D5_D6_D7_D8: OpKind = MCK_Reg101; break;
    7253             :     case ARM::D7_D8_D9_D10: OpKind = MCK_Reg102; break;
    7254             :     case ARM::D9_D10_D11_D12: OpKind = MCK_Reg103; break;
    7255             :     case ARM::D11_D12_D13_D14: OpKind = MCK_Reg103; break;
    7256             :     case ARM::D13_D14_D15_D16: OpKind = MCK_Reg104; break;
    7257             :     case ARM::D15_D16_D17_D18: OpKind = MCK_Reg105; break;
    7258             :     case ARM::D17_D18_D19_D20: OpKind = MCK_Reg106; break;
    7259             :     case ARM::D19_D20_D21_D22: OpKind = MCK_Reg106; break;
    7260             :     case ARM::D21_D22_D23_D24: OpKind = MCK_Reg106; break;
    7261             :     case ARM::D23_D24_D25_D26: OpKind = MCK_Reg106; break;
    7262             :     case ARM::D25_D26_D27_D28: OpKind = MCK_Reg106; break;
    7263             :     case ARM::D27_D28_D29_D30: OpKind = MCK_Reg106; break;
    7264             :     }
    7265      256149 :     return isSubclass(OpKind, Kind) ? (unsigned)MCTargetAsmParser::Match_Success :
    7266             :                                       getDiagKindFromRegisterClass(Kind);
    7267             :   }
    7268             : 
    7269      206447 :   if (Kind > MCK_LAST_TOKEN && Kind <= MCK_LAST_REGISTER)
    7270             :     return getDiagKindFromRegisterClass(Kind);
    7271             : 
    7272             :   return MCTargetAsmParser::Match_InvalidOperand;
    7273             : }
    7274             : 
    7275             : #ifndef NDEBUG
    7276             : const char *getMatchClassName(MatchClassKind Kind) {
    7277             :   switch (Kind) {
    7278             :   case InvalidMatchClass: return "InvalidMatchClass";
    7279             :   case OptionalMatchClass: return "OptionalMatchClass";
    7280             :   case MCK__DOT_d: return "MCK__DOT_d";
    7281             :   case MCK__DOT_f: return "MCK__DOT_f";
    7282             :   case MCK__DOT_s16: return "MCK__DOT_s16";
    7283             :   case MCK__DOT_s32: return "MCK__DOT_s32";
    7284             :   case MCK__DOT_s64: return "MCK__DOT_s64";
    7285             :   case MCK__DOT_s8: return "MCK__DOT_s8";
    7286             :   case MCK__DOT_u16: return "MCK__DOT_u16";
    7287             :   case MCK__DOT_u32: return "MCK__DOT_u32";
    7288             :   case MCK__DOT_u64: return "MCK__DOT_u64";
    7289             :   case MCK__DOT_u8: return "MCK__DOT_u8";
    7290             :   case MCK__DOT_f32: return "MCK__DOT_f32";
    7291             :   case MCK__DOT_f64: return "MCK__DOT_f64";
    7292             :   case MCK__DOT_i16: return "MCK__DOT_i16";
    7293             :   case MCK__DOT_i32: return "MCK__DOT_i32";
    7294             :   case MCK__DOT_i64: return "MCK__DOT_i64";
    7295             :   case MCK__DOT_i8: return "MCK__DOT_i8";
    7296             :   case MCK__DOT_p16: return "MCK__DOT_p16";
    7297             :   case MCK__DOT_p8: return "MCK__DOT_p8";
    7298             :   case MCK__EXCLAIM_: return "MCK__EXCLAIM_";
    7299             :   case MCK__35_0: return "MCK__35_0";
    7300             :   case MCK__DOT_16: return "MCK__DOT_16";
    7301             :   case MCK__DOT_32: return "MCK__DOT_32";
    7302             :   case MCK__DOT_64: return "MCK__DOT_64";
    7303             :   case MCK__DOT_8: return "MCK__DOT_8";
    7304             :   case MCK__DOT_f16: return "MCK__DOT_f16";
    7305             :   case MCK__DOT_p64: return "MCK__DOT_p64";
    7306             :   case MCK__DOT_w: return "MCK__DOT_w";
    7307             :   case MCK__91_: return "MCK__91_";
    7308             :   case MCK__93_: return "MCK__93_";
    7309             :   case MCK__94_: return "MCK__94_";
    7310             :   case MCK__123_: return "MCK__123_";
    7311             :   case MCK__125_: return "MCK__125_";
    7312             :   case MCK_Reg11: return "MCK_Reg11";
    7313             :   case MCK_Reg59: return "MCK_Reg59";
    7314             :   case MCK_Reg75: return "MCK_Reg75";
    7315             :   case MCK_APSR: return "MCK_APSR";
    7316             :   case MCK_APSR_NZCV: return "MCK_APSR_NZCV";
    7317             :   case MCK_CCR: return "MCK_CCR";
    7318             :   case MCK_FPEXC: return "MCK_FPEXC";
    7319             :   case MCK_FPINST: return "MCK_FPINST";
    7320             :   case MCK_FPINST2: return "MCK_FPINST2";
    7321             :   case MCK_FPSCR: return "MCK_FPSCR";
    7322             :   case MCK_FPSID: return "MCK_FPSID";
    7323             :   case MCK_GPRsp: return "MCK_GPRsp";
    7324             :   case MCK_LR: return "MCK_LR";
    7325             :   case MCK_MVFR0: return "MCK_MVFR0";
    7326             :   case MCK_MVFR1: return "MCK_MVFR1";
    7327             :   case MCK_MVFR2: return "MCK_MVFR2";
    7328             :   case MCK_PC: return "MCK_PC";
    7329             :   case MCK_SPSR: return "MCK_SPSR";
    7330             :   case MCK_Reg60: return "MCK_Reg60";
    7331             :   case MCK_Reg68: return "MCK_Reg68";
    7332             :   case MCK_Reg73: return "MCK_Reg73";
    7333             :   case MCK_Reg100: return "MCK_Reg100";
    7334             :   case MCK_Reg45: return "MCK_Reg45";
    7335             :   case MCK_Reg61: return "MCK_Reg61";
    7336             :   case MCK_Reg72: return "MCK_Reg72";
    7337             :   case MCK_Reg74: return "MCK_Reg74";
    7338             :   case MCK_Reg83: return "MCK_Reg83";
    7339             :   case MCK_Reg88: return "MCK_Reg88";
    7340             :   case MCK_Reg101: return "MCK_Reg101";
    7341             :   case MCK_Reg0: return "MCK_Reg0";
    7342             :   case MCK_Reg46: return "MCK_Reg46";
    7343             :   case MCK_Reg62: return "MCK_Reg62";
    7344             :   case MCK_Reg69: return "MCK_Reg69";
    7345             :   case MCK_Reg84: return "MCK_Reg84";
    7346             :   case MCK_Reg89: return "MCK_Reg89";
    7347             :   case MCK_Reg93: return "MCK_Reg93";
    7348             :   case MCK_Reg102: return "MCK_Reg102";
    7349             :   case MCK_QPR_8: return "MCK_QPR_8";
    7350             :   case MCK_Reg57: return "MCK_Reg57";
    7351             :   case MCK_Reg63: return "MCK_Reg63";
    7352             :   case MCK_tcGPR: return "MCK_tcGPR";
    7353             :   case MCK_Reg10: return "MCK_Reg10";
    7354             :   case MCK_Reg40: return "MCK_Reg40";
    7355             :   case MCK_Reg58: return "MCK_Reg58";
    7356             :   case MCK_Reg64: return "MCK_Reg64";
    7357             :   case MCK_Reg70: return "MCK_Reg70";
    7358             :   case MCK_Reg76: return "MCK_Reg76";
    7359             :   case MCK_Reg94: return "MCK_Reg94";
    7360             :   case MCK_Reg103: return "MCK_Reg103";
    7361             :   case MCK_Reg8: return "MCK_Reg8";
    7362             :   case MCK_Reg26: return "MCK_Reg26";
    7363             :   case MCK_Reg47: return "MCK_Reg47";
    7364             :   case MCK_Reg55: return "MCK_Reg55";
    7365             :   case MCK_Reg65: return "MCK_Reg65";
    7366             :   case MCK_Reg77: return "MCK_Reg77";
    7367             :   case MCK_Reg85: return "MCK_Reg85";
    7368             :   case MCK_Reg90: return "MCK_Reg90";
    7369             :   case MCK_Reg104: return "MCK_Reg104";
    7370             :   case MCK_GPRPair: return "MCK_GPRPair";
    7371             :   case MCK_Reg27: return "MCK_Reg27";
    7372             :   case MCK_Reg41: return "MCK_Reg41";
    7373             :   case MCK_Reg48: return "MCK_Reg48";
    7374             :   case MCK_Reg56: return "MCK_Reg56";
    7375             :   case MCK_Reg66: return "MCK_Reg66";
    7376             :   case MCK_Reg78: return "MCK_Reg78";
    7377             :   case MCK_Reg86: return "MCK_Reg86";
    7378             :   case MCK_Reg91: return "MCK_Reg91";
    7379             :   case MCK_Reg95: return "MCK_Reg95";
    7380             :   case MCK_Reg105: return "MCK_Reg105";
    7381             :   case MCK_DPR_8: return "MCK_DPR_8";
    7382             :   case MCK_QPR_VFP2: return "MCK_QPR_VFP2";
    7383             :   case MCK_hGPR: return "MCK_hGPR";
    7384             :   case MCK_tGPR: return "MCK_tGPR";
    7385             :   case MCK_tGPRwithpc: return "MCK_tGPRwithpc";
    7386             :   case MCK_Reg96: return "MCK_Reg96";
    7387             :   case MCK_Reg53: return "MCK_Reg53";
    7388             :   case MCK_QQQQPR: return "MCK_QQQQPR";
    7389             :   case MCK_Reg42: return "MCK_Reg42";
    7390             :   case MCK_Reg54: return "MCK_Reg54";
    7391             :   case MCK_Reg79: return "MCK_Reg79";
    7392             :   case MCK_Reg97: return "MCK_Reg97";
    7393             :   case MCK_Reg106: return "MCK_Reg106";
    7394             :   case MCK_rGPR: return "MCK_rGPR";
    7395             :   case MCK_Reg24: return "MCK_Reg24";
    7396             :   case MCK_Reg51: return "MCK_Reg51";
    7397             :   case MCK_Reg80: return "MCK_Reg80";
    7398             :   case MCK_Reg87: return "MCK_Reg87";
    7399             :   case MCK_Reg92: return "MCK_Reg92";
    7400             :   case MCK_GPRnopc: return "MCK_GPRnopc";
    7401             :   case MCK_QQPR: return "MCK_QQPR";
    7402             :   case MCK_Reg25: return "MCK_Reg25";
    7403             :   case MCK_Reg43: return "MCK_Reg43";
    7404             :   case MCK_Reg52: return "MCK_Reg52";
    7405             :   case MCK_Reg81: return "MCK_Reg81";
    7406             :   case MCK_Reg98: return "MCK_Reg98";
    7407             :   case MCK_DPR_VFP2: return "MCK_DPR_VFP2";
    7408             :   case MCK_GPR: return "MCK_GPR";
    7409             :   case MCK_GPRwithAPSR: return "MCK_GPRwithAPSR";
    7410             :   case MCK_QPR: return "MCK_QPR";
    7411             :   case MCK_SPR_8: return "MCK_SPR_8";
    7412             :   case MCK_DTripleSpc: return "MCK_DTripleSpc";
    7413             :   case MCK_DQuad: return "MCK_DQuad";
    7414             :   case MCK_DPairSpc: return "MCK_DPairSpc";
    7415             :   case MCK_DTriple: return "MCK_DTriple";
    7416             :   case MCK_DPair: return "MCK_DPair";
    7417             :   case MCK_DPR: return "MCK_DPR";
    7418             :   case MCK_HPR: return "MCK_HPR";
    7419             :   case MCK_AM2OffsetImm: return "MCK_AM2OffsetImm";
    7420             :   case MCK_AM3Offset: return "MCK_AM3Offset";
    7421             :   case MCK_ARMBranchTarget: return "MCK_ARMBranchTarget";
    7422             :   case MCK_AddrMode3: return "MCK_AddrMode3";
    7423             :   case MCK_AddrMode5: return "MCK_AddrMode5";
    7424             :   case MCK_AddrMode5FP16: return "MCK_AddrMode5FP16";
    7425             :   case MCK_AlignedMemory16: return "MCK_AlignedMemory16";
    7426             :   case MCK_AlignedMemory32: return "MCK_AlignedMemory32";
    7427             :   case MCK_AlignedMemory64: return "MCK_AlignedMemory64";
    7428             :   case MCK_AlignedMemory64or128: return "MCK_AlignedMemory64or128";
    7429             :   case MCK_AlignedMemory64or128or256: return "MCK_AlignedMemory64or128or256";
    7430             :   case MCK_AlignedMemoryNone: return "MCK_AlignedMemoryNone";
    7431             :   case MCK_AlignedMemory: return "MCK_AlignedMemory";
    7432             :   case MCK_DupAlignedMemory16: return "MCK_DupAlignedMemory16";
    7433             :   case MCK_DupAlignedMemory32: return "MCK_DupAlignedMemory32";
    7434             :   case MCK_DupAlignedMemory64: return "MCK_DupAlignedMemory64";
    7435             :   case MCK_DupAlignedMemory64or128: return "MCK_DupAlignedMemory64or128";
    7436             :   case MCK_DupAlignedMemoryNone: return "MCK_DupAlignedMemoryNone";
    7437             :   case MCK_AdrLabel: return "MCK_AdrLabel";
    7438             :   case MCK_BankedReg: return "MCK_BankedReg";
    7439             :   case MCK_Bitfield: return "MCK_Bitfield";
    7440             :   case MCK_CCOut: return "MCK_CCOut";
    7441             :   case MCK_CondCode: return "MCK_CondCode";
    7442             :   case MCK_CoprocNum: return "MCK_CoprocNum";
    7443             :   case MCK_CoprocOption: return "MCK_CoprocOption";
    7444             :   case MCK_CoprocReg: return "MCK_CoprocReg";
    7445             :   case MCK_DPRRegList: return "MCK_DPRRegList";
    7446             :   case MCK_FPImm: return "MCK_FPImm";
    7447             :   case MCK_Imm0_15: return "MCK_Imm0_15";
    7448             :   case MCK_Imm0_1: return "MCK_Imm0_1";
    7449             :   case MCK_Imm0_239: return "MCK_Imm0_239";
    7450             :   case MCK_Imm0_255: return "MCK_Imm0_255";
    7451             :   case MCK_Imm0_31: return "MCK_Imm0_31";
    7452             :   case MCK_Imm0_32: return "MCK_Imm0_32";
    7453             :   case MCK_Imm0_3: return "MCK_Imm0_3";
    7454             :   case MCK_Imm0_63: return "MCK_Imm0_63";
    7455             :   case MCK_Imm0_65535: return "MCK_Imm0_65535";
    7456             :   case MCK_Imm0_65535Expr: return "MCK_Imm0_65535Expr";
    7457             :   case MCK_Imm0_7: return "MCK_Imm0_7";
    7458             :   case MCK_Imm16: return "MCK_Imm16";
    7459             :   case MCK_Imm1_15: return "MCK_Imm1_15";
    7460             :   case MCK_Imm1_16: return "MCK_Imm1_16";
    7461             :   case MCK_Imm1_31: return "MCK_Imm1_31";
    7462             :   case MCK_Imm1_32: return "MCK_Imm1_32";
    7463             :   case MCK_Imm1_7: return "MCK_Imm1_7";
    7464             :   case MCK_Imm24bit: return "MCK_Imm24bit";
    7465             :   case MCK_Imm256_65535Expr: return "MCK_Imm256_65535Expr";
    7466             :   case MCK_Imm32: return "MCK_Imm32";
    7467             :   case MCK_Imm8: return "MCK_Imm8";
    7468             :   case MCK_Imm8_255: return "MCK_Imm8_255";
    7469             :   case MCK_Imm: return "MCK_Imm";
    7470             :   case MCK_InstSyncBarrierOpt: return "MCK_InstSyncBarrierOpt";
    7471             :   case MCK_MSRMask: return "MCK_MSRMask";
    7472             :   case MCK_MemBarrierOpt: return "MCK_MemBarrierOpt";
    7473             :   case MCK_MemImm0_1020s4Offset: return "MCK_MemImm0_1020s4Offset";
    7474             :   case MCK_MemImm12Offset: return "MCK_MemImm12Offset";
    7475             :   case MCK_MemImm8Offset: return "MCK_MemImm8Offset";
    7476             :   case MCK_MemImm8s4Offset: return "MCK_MemImm8s4Offset";
    7477             :   case MCK_MemNegImm8Offset: return "MCK_MemNegImm8Offset";
    7478             :   case MCK_MemNoOffset: return "MCK_MemNoOffset";
    7479             :   case MCK_MemPosImm8Offset: return "MCK_MemPosImm8Offset";
    7480             :   case MCK_MemRegOffset: return "MCK_MemRegOffset";
    7481             :   case MCK_ModImm: return "MCK_ModImm";
    7482             :   case MCK_ModImmNeg: return "MCK_ModImmNeg";
    7483             :   case MCK_ModImmNot: return "MCK_ModImmNot";
    7484             :   case MCK_PKHASRImm: return "MCK_PKHASRImm";
    7485             :   case MCK_PKHLSLImm: return "MCK_PKHLSLImm";
    7486             :   case MCK_PostIdxImm8: return "MCK_PostIdxImm8";
    7487             :   case MCK_PostIdxImm8s4: return "MCK_PostIdxImm8s4";
    7488             :   case MCK_PostIdxReg: return "MCK_PostIdxReg";
    7489             :   case MCK_PostIdxRegShifted: return "MCK_PostIdxRegShifted";
    7490             :   case MCK_ProcIFlags: return "MCK_ProcIFlags";
    7491             :   case MCK_RegList: return "MCK_RegList";
    7492             :   case MCK_RotImm: return "MCK_RotImm";
    7493             :   case MCK_SPRRegList: return "MCK_SPRRegList";
    7494             :   case MCK_SetEndImm: return "MCK_SetEndImm";
    7495             :   case MCK_RegShiftedImm: return "MCK_RegShiftedImm";
    7496             :   case MCK_RegShiftedReg: return "MCK_RegShiftedReg";
    7497             :   case MCK_ShifterImm: return "MCK_ShifterImm";
    7498             :   case MCK_ThumbBranchTarget: return "MCK_ThumbBranchTarget";
    7499             :   case MCK_ThumbMemPC: return "MCK_ThumbMemPC";
    7500             :   case MCK_ThumbModImmNeg1_7: return "MCK_ThumbModImmNeg1_7";
    7501             :   case MCK_ThumbModImmNeg8_255: return "MCK_ThumbModImmNeg8_255";
    7502             :   case MCK_ImmThumbSR: return "MCK_ImmThumbSR";
    7503             :   case MCK_UnsignedOffset_b8s2: return "MCK_UnsignedOffset_b8s2";
    7504             :   case MCK_VecListDPairAllLanes: return "MCK_VecListDPairAllLanes";
    7505             :   case MCK_VecListDPair: return "MCK_VecListDPair";
    7506             :   case MCK_VecListDPairSpacedAllLanes: return "MCK_VecListDPairSpacedAllLanes";
    7507             :   case MCK_VecListDPairSpaced: return "MCK_VecListDPairSpaced";
    7508             :   case MCK_VecListFourDAllLanes: return "MCK_VecListFourDAllLanes";
    7509             :   case MCK_VecListFourD: return "MCK_VecListFourD";
    7510             :   case MCK_VecListFourDByteIndexed: return "MCK_VecListFourDByteIndexed";
    7511             :   case MCK_VecListFourDHWordIndexed: return "MCK_VecListFourDHWordIndexed";
    7512             :   case MCK_VecListFourDWordIndexed: return "MCK_VecListFourDWordIndexed";
    7513             :   case MCK_VecListFourQAllLanes: return "MCK_VecListFourQAllLanes";
    7514             :   case MCK_VecListFourQ: return "MCK_VecListFourQ";
    7515             :   case MCK_VecListFourQHWordIndexed: return "MCK_VecListFourQHWordIndexed";
    7516             :   case MCK_VecListFourQWordIndexed: return "MCK_VecListFourQWordIndexed";
    7517             :   case MCK_VecListOneDAllLanes: return "MCK_VecListOneDAllLanes";
    7518             :   case MCK_VecListOneD: return "MCK_VecListOneD";
    7519             :   case MCK_VecListOneDByteIndexed: return "MCK_VecListOneDByteIndexed";
    7520             :   case MCK_VecListOneDHWordIndexed: return "MCK_VecListOneDHWordIndexed";
    7521             :   case MCK_VecListOneDWordIndexed: return "MCK_VecListOneDWordIndexed";
    7522             :   case MCK_VecListThreeDAllLanes: return "MCK_VecListThreeDAllLanes";
    7523             :   case MCK_VecListThreeD: return "MCK_VecListThreeD";
    7524             :   case MCK_VecListThreeDByteIndexed: return "MCK_VecListThreeDByteIndexed";
    7525             :   case MCK_VecListThreeDHWordIndexed: return "MCK_VecListThreeDHWordIndexed";
    7526             :   case MCK_VecListThreeDWordIndexed: return "MCK_VecListThreeDWordIndexed";
    7527             :   case MCK_VecListThreeQAllLanes: return "MCK_VecListThreeQAllLanes";
    7528             :   case MCK_VecListThreeQ: return "MCK_VecListThreeQ";
    7529             :   case MCK_VecListThreeQHWordIndexed: return "MCK_VecListThreeQHWordIndexed";
    7530             :   case MCK_VecListThreeQWordIndexed: return "MCK_VecListThreeQWordIndexed";
    7531             :   case MCK_VecListTwoDByteIndexed: return "MCK_VecListTwoDByteIndexed";
    7532             :   case MCK_VecListTwoDHWordIndexed: return "MCK_VecListTwoDHWordIndexed";
    7533             :   case MCK_VecListTwoDWordIndexed: return "MCK_VecListTwoDWordIndexed";
    7534             :   case MCK_VecListTwoQHWordIndexed: return "MCK_VecListTwoQHWordIndexed";
    7535             :   case MCK_VecListTwoQWordIndexed: return "MCK_VecListTwoQWordIndexed";
    7536             :   case MCK_VectorIndex16: return "MCK_VectorIndex16";
    7537             :   case MCK_VectorIndex32: return "MCK_VectorIndex32";
    7538             :   case MCK_VectorIndex64: return "MCK_VectorIndex64";
    7539             :   case MCK_VectorIndex8: return "MCK_VectorIndex8";
    7540             :   case MCK_MemTBB: return "MCK_MemTBB";
    7541             :   case MCK_MemTBH: return "MCK_MemTBH";
    7542             :   case MCK_ComplexRotationEven: return "MCK_ComplexRotationEven";
    7543             :   case MCK_ComplexRotationOdd: return "MCK_ComplexRotationOdd";
    7544             :   case MCK_NEONi16vmovi8Replicate: return "MCK_NEONi16vmovi8Replicate";
    7545             :   case MCK_NEONi16invi8Replicate: return "MCK_NEONi16invi8Replicate";
    7546             :   case MCK_NEONi32vmovi8Replicate: return "MCK_NEONi32vmovi8Replicate";
    7547             :   case MCK_NEONi32invi8Replicate: return "MCK_NEONi32invi8Replicate";
    7548             :   case MCK_NEONi64vmovi8Replicate: return "MCK_NEONi64vmovi8Replicate";
    7549             :   case MCK_NEONi64invi8Replicate: return "MCK_NEONi64invi8Replicate";
    7550             :   case MCK_NEONi32vmovi16Replicate: return "MCK_NEONi32vmovi16Replicate";
    7551             :   case MCK_NEONi64vmovi16Replicate: return "MCK_NEONi64vmovi16Replicate";
    7552             :   case MCK_NEONi64vmovi32Replicate: return "MCK_NEONi64vmovi32Replicate";
    7553             :   case MCK_ConstPoolAsmImm: return "MCK_ConstPoolAsmImm";
    7554             :   case MCK_FBits16: return "MCK_FBits16";
    7555             :   case MCK_FBits32: return "MCK_FBits32";
    7556             :   case MCK_Imm0_4095: return "MCK_Imm0_4095";
    7557             :   case MCK_Imm0_4095Neg: return "MCK_Imm0_4095Neg";
    7558             :   case MCK_ITMask: return "MCK_ITMask";
    7559             :   case MCK_ITCondCode: return "MCK_ITCondCode";
    7560             :   case MCK_NEONi16splat: return "MCK_NEONi16splat";
    7561             :   case MCK_NEONi32splat: return "MCK_NEONi32splat";
    7562             :   case MCK_NEONi64splat: return "MCK_NEONi64splat";
    7563             :   case MCK_NEONi8splat: return "MCK_NEONi8splat";
    7564             :   case MCK_NEONi16splatNot: return "MCK_NEONi16splatNot";
    7565             :   case MCK_NEONi32splatNot: return "MCK_NEONi32splatNot";
    7566             :   case MCK_NEONi32vmov: return "MCK_NEONi32vmov";
    7567             :   case MCK_NEONi32vmovNeg: return "MCK_NEONi32vmovNeg";
    7568             :   case MCK_ShrImm16: return "MCK_ShrImm16";
    7569             :   case MCK_ShrImm32: return "MCK_ShrImm32";
    7570             :   case MCK_ShrImm64: return "MCK_ShrImm64";
    7571             :   case MCK_ShrImm8: return "MCK_ShrImm8";
    7572             :   case MCK_T2SOImm: return "MCK_T2SOImm";
    7573             :   case MCK_T2SOImmNeg: return "MCK_T2SOImmNeg";
    7574             :   case MCK_T2SOImmNot: return "MCK_T2SOImmNot";
    7575             :   case MCK_MemUImm12Offset: return "MCK_MemUImm12Offset";
    7576             :   case MCK_T2MemRegOffset: return "MCK_T2MemRegOffset";
    7577             :   case MCK_Imm8s4: return "MCK_Imm8s4";
    7578             :   case MCK_MemPCRelImm12: return "MCK_MemPCRelImm12";
    7579             :   case MCK_MemThumbRIs1: return "MCK_MemThumbRIs1";
    7580             :   case MCK_MemThumbRIs2: return "MCK_MemThumbRIs2";
    7581             :   case MCK_MemThumbRIs4: return "MCK_MemThumbRIs4";
    7582             :   case MCK_MemThumbRR: return "MCK_MemThumbRR";
    7583             :   case MCK_MemThumbSPI: return "MCK_MemThumbSPI";
    7584             :   case MCK_Imm0_1020s4: return "MCK_Imm0_1020s4";
    7585             :   case MCK_Imm0_508s4: return "MCK_Imm0_508s4";
    7586             :   case MCK_Imm0_508s4Neg: return "MCK_Imm0_508s4Neg";
    7587             :   case NumMatchClassKinds: return "NumMatchClassKinds";
    7588             :   }
    7589             :   llvm_unreachable("unhandled MatchClassKind!");
    7590             : }
    7591             : 
    7592             : #endif // NDEBUG
    7593        1637 : uint64_t ARMAsmParser::
    7594             : ComputeAvailableFeatures(const FeatureBitset& FB) const {
    7595             :   uint64_t Features = 0;
    7596        1637 :   if ((FB[ARM::HasV4TOps]))
    7597             :     Features |= Feature_HasV4T;
    7598        1637 :   if ((FB[ARM::HasV5TOps]))
    7599        1381 :     Features |= Feature_HasV5T;
    7600        1637 :   if ((FB[ARM::HasV5TEOps]))
    7601        1331 :     Features |= Feature_HasV5TE;
    7602        1637 :   if ((FB[ARM::HasV6Ops]))
    7603        1321 :     Features |= Feature_HasV6;
    7604        1637 :   if ((FB[ARM::HasV6MOps]))
    7605        1275 :     Features |= Feature_HasV6M;
    7606        1637 :   if ((FB[ARM::HasV8MBaselineOps]))
    7607        1244 :     Features |= Feature_HasV8MBaseline;
    7608        1637 :   if ((FB[ARM::HasV8MMainlineOps]))
    7609           5 :     Features |= Feature_HasV8MMainline;
    7610        1637 :   if ((FB[ARM::HasV6T2Ops]))
    7611        1236 :     Features |= Feature_HasV6T2;
    7612        1637 :   if ((FB[ARM::HasV6KOps]))
    7613        1250 :     Features |= Feature_HasV6K;
    7614        1637 :   if ((FB[ARM::HasV7Ops]))
    7615        1221 :     Features |= Feature_HasV7;
    7616        1637 :   if ((FB[ARM::HasV8Ops]))
    7617         142 :     Features |= Feature_HasV8;
    7618        1637 :   if ((!FB[ARM::HasV8Ops]))
    7619        1495 :     Features |= Feature_PreV8;
    7620        1637 :   if ((FB[ARM::HasV8_1aOps]))
    7621          24 :     Features |= Feature_HasV8_1a;
    7622        1637 :   if ((FB[ARM::HasV8_2aOps]))
    7623          20 :     Features |= Feature_HasV8_2a;
    7624        1637 :   if ((FB[ARM::HasV8_3aOps]))
    7625           9 :     Features |= Feature_HasV8_3a;
    7626        1637 :   if ((FB[ARM::FeatureVFP2]))
    7627        1190 :     Features |= Feature_HasVFP2;
    7628        1637 :   if ((FB[ARM::FeatureVFP3]))
    7629        1173 :     Features |= Feature_HasVFP3;
    7630        1637 :   if ((FB[ARM::FeatureVFP4]))
    7631         178 :     Features |= Feature_HasVFP4;
    7632        1637 :   if ((!FB[ARM::FeatureVFPOnlySP]))
    7633        1631 :     Features |= Feature_HasDPVFP;
    7634        1637 :   if ((FB[ARM::FeatureFPARMv8]))
    7635         135 :     Features |= Feature_HasFPARMv8;
    7636        1637 :   if ((FB[ARM::FeatureNEON]))
    7637        1109 :     Features |= Feature_HasNEON;
    7638        1637 :   if ((FB[ARM::FeatureCrypto]))
    7639         101 :     Features |= Feature_HasCrypto;
    7640        1637 :   if ((FB[ARM::FeatureDotProd]))
    7641           8 :     Features |= Feature_HasDotProd;
    7642        1637 :   if ((FB[ARM::FeatureCRC]))
    7643         119 :     Features |= Feature_HasCRC;
    7644        1637 :   if ((FB[ARM::FeatureRAS]))
    7645           8 :     Features |= Feature_HasRAS;
    7646        1637 :   if ((FB[ARM::FeatureFP16]))
    7647         193 :     Features |= Feature_HasFP16;
    7648        1637 :   if ((FB[ARM::FeatureFullFP16]))
    7649          12 :     Features |= Feature_HasFullFP16;
    7650        1637 :   if ((FB[ARM::FeatureHWDivThumb]))
    7651         238 :     Features |= Feature_HasDivideInThumb;
    7652        1637 :   if ((FB[ARM::FeatureHWDivARM]))
    7653         155 :     Features |= Feature_HasDivideInARM;
    7654        1637 :   if ((FB[ARM::FeatureDSP]))
    7655        1185 :     Features |= Feature_HasDSP;
    7656        1637 :   if ((FB[ARM::FeatureDB]))
    7657        1236 :     Features |= Feature_HasDB;
    7658        1637 :   if ((FB[ARM::FeatureDFB]))
    7659           2 :     Features |= Feature_HasDFB;
    7660        1637 :   if ((FB[ARM::FeatureV7Clrex]))
    7661        1229 :     Features |= Feature_HasV7Clrex;
    7662        1637 :   if ((FB[ARM::FeatureAcquireRelease]))
    7663         155 :     Features |= Feature_HasAcquireRelease;
    7664        1637 :   if ((FB[ARM::FeatureMP]))
    7665         159 :     Features |= Feature_HasMP;
    7666        1637 :   if ((FB[ARM::FeatureVirtualization]))
    7667         140 :     Features |= Feature_HasVirtualization;
    7668        1637 :   if ((FB[ARM::FeatureTrustZone]))
    7669         259 :     Features |= Feature_HasTrustZone;
    7670        1637 :   if ((FB[ARM::Feature8MSecExt]))
    7671          13 :     Features |= Feature_Has8MSecExt;
    7672        1637 :   if ((FB[ARM::ModeThumb]))
    7673         690 :     Features |= Feature_IsThumb;
    7674        2327 :   if ((FB[ARM::ModeThumb]) && (FB[ARM::FeatureThumb2]))
    7675         525 :     Features |= Feature_IsThumb2;
    7676        1637 :   if ((FB[ARM::FeatureMClass]))
    7677         105 :     Features |= Feature_IsMClass;
    7678        1637 :   if ((!FB[ARM::FeatureMClass]))
    7679        1532 :     Features |= Feature_IsNotMClass;
    7680        1637 :   if ((!FB[ARM::ModeThumb]))
    7681         947 :     Features |= Feature_IsARM;
    7682        1637 :   if ((FB[ARM::FeatureNaClTrap]))
    7683           2 :     Features |= Feature_UseNaClTrap;
    7684        1637 :   if ((!FB[ARM::FeatureNoNegativeImmediates]))
    7685        1634 :     Features |= Feature_UseNegativeImmediates;
    7686        1637 :   return Features;
    7687             : }
    7688             : 
    7689             : static const char *const MnemonicTable =
    7690             :     "\t__brkdiv0\003adc\003add\004addw\003adr\004aesd\004aese\006aesimc\005a"
    7691             :     "esmc\003and\003asr\001b\003bfc\003bfi\003bic\004bkpt\002bl\003blx\005bl"
    7692             :     "xns\002bx\003bxj\004bxns\004cbnz\003cbz\003cdp\004cdp2\005clrex\003clz\003"
    7693             :     "cmn\003cmp\003cps\006crc32b\007crc32cb\007crc32ch\007crc32cw\006crc32h\006"
    7694             :     "crc32w\004csdb\003dbg\005dcps1\005dcps2\005dcps3\003dfb\003dmb\003dsb\003"
    7695             :     "eor\004eret\003esb\005faddd\005fadds\006fcmpzd\006fcmpzs\007fconstd\007"
    7696             :     "fconsts\007fldmdbx\007fldmiax\005fmdhr\005fmdlr\006fmstat\007fstmdbx\007"
    7697             :     "fstmiax\005fsubd\005fsubs\004hint\003hlt\003hvc\003isb\002it\003lda\004"
    7698             :     "ldab\005ldaex\006ldaexb\006ldaexd\006ldaexh\004ldah\003ldc\004ldc2\005l"
    7699             :     "dc2l\004ldcl\003ldm\005ldmda\005ldmdb\005ldmib\003ldr\004ldrb\005ldrbt\004"
    7700             :     "ldrd\005ldrex\006ldrexb\006ldrexd\006ldrexh\004ldrh\005ldrht\005ldrsb\006"
    7701             :     "ldrsbt\005ldrsh\006ldrsht\004ldrt\003lsl\003lsr\003mcr\004mcr2\004mcrr\005"
    7702             :     "mcrr2\003mla\003mls\003mov\004movs\004movt\004movw\003mrc\004mrc2\004mr"
    7703             :     "rc\005mrrc2\003mrs\003msr\003mul\003mvn\003neg\003nop\003orn\003orr\005"
    7704             :     "pkhbt\005pkhtb\003pld\004pldw\003pli\003pop\004push\004qadd\006qadd16\005"
    7705             :     "qadd8\004qasx\005qdadd\005qdsub\004qsax\004qsub\006qsub16\005qsub8\004r"
    7706             :     "bit\003rev\005rev16\005revsh\005rfeda\005rfedb\005rfeia\005rfeib\003ror"
    7707             :     "\003rrx\003rsb\003rsc\006sadd16\005sadd8\004sasx\003sbc\004sbfx\004sdiv"
    7708             :     "\003sel\006setend\006setpan\003sev\004sevl\002sg\005sha1c\005sha1h\005s"
    7709             :     "ha1m\005sha1p\007sha1su0\007sha1su1\007sha256h\010sha256h2\tsha256su0\t"
    7710             :     "sha256su1\007shadd16\006shadd8\005shasx\005shsax\007shsub16\006shsub8\003"
    7711             :     "smc\006smlabb\006smlabt\005smlad\006smladx\005smlal\007smlalbb\007smlal"
    7712             :     "bt\006smlald\007smlaldx\007smlaltb\007smlaltt\006smlatb\006smlatt\006sm"
    7713             :     "lawb\006smlawt\005smlsd\006smlsdx\006smlsld\007smlsldx\005smmla\006smml"
    7714             :     "ar\005smmls\006smmlsr\005smmul\006smmulr\005smuad\006smuadx\006smulbb\006"
    7715             :     "smulbt\005smull\006smultb\006smultt\006smulwb\006smulwt\005smusd\006smu"
    7716             :     "sdx\005srsda\005srsdb\005srsia\005srsib\004ssat\006ssat16\004ssax\006ss"
    7717             :     "ub16\005ssub8\003stc\004stc2\005stc2l\004stcl\003stl\004stlb\005stlex\006"
    7718             :     "stlexb\006stlexd\006stlexh\004stlh\003stm\005stmda\005stmdb\005stmib\003"
    7719             :     "str\004strb\005strbt\004strd\005strex\006strexb\006strexd\006strexh\004"
    7720             :     "strh\005strht\004strt\003sub\004subs\004subw\003svc\003swp\004swpb\005s"
    7721             :     "xtab\007sxtab16\005sxtah\004sxtb\006sxtb16\004sxth\003tbb\003tbh\003teq"
    7722             :     "\004trap\003tst\002tt\003tta\004ttat\003ttt\006uadd16\005uadd8\004uasx\004"
    7723             :     "ubfx\003udf\004udiv\007uhadd16\006uhadd8\005uhasx\005uhsax\007uhsub16\006"
    7724             :     "uhsub8\005umaal\005umlal\005umull\007uqadd16\006uqadd8\005uqasx\005uqsa"
    7725             :     "x\007uqsub16\006uqsub8\005usad8\006usada8\004usat\006usat16\004usax\006"
    7726             :     "usub16\005usub8\005uxtab\007uxtab16\005uxtah\004uxtb\006uxtb16\004uxth\004"
    7727             :     "vaba\005vabal\004vabd\005vabdl\004vabs\005vacge\005vacgt\005vacle\005va"
    7728             :     "clt\004vadd\006vaddhn\005vaddl\005vaddw\004vand\004vbic\004vbif\004vbit"
    7729             :     "\004vbsl\005vcadd\004vceq\004vcge\004vcgt\004vcle\004vcls\004vclt\004vc"
    7730             :     "lz\005vcmla\004vcmp\005vcmpe\004vcnt\004vcvt\005vcvta\005vcvtb\005vcvtm"
    7731             :     "\005vcvtn\005vcvtp\005vcvtr\005vcvtt\004vdiv\004vdup\004veor\004vext\004"
    7732             :     "vfma\004vfms\005vfnma\005vfnms\005vhadd\005vhsub\004vins\005vjcvt\004vl"
    7733             :     "d1\004vld2\004vld3\004vld4\006vldmdb\006vldmia\004vldr\005vlldm\005vlst"
    7734             :     "m\004vmax\006vmaxnm\004vmin\006vminnm\004vmla\005vmlal\004vmls\005vmlsl"
    7735             :     "\004vmov\005vmovl\005vmovn\005vmovx\004vmrs\004vmsr\004vmul\005vmull\004"
    7736             :     "vmvn\004vneg\005vnmla\005vnmls\005vnmul\004vorn\004vorr\006vpadal\005vp"
    7737             :     "add\006vpaddl\005vpmax\005vpmin\004vpop\005vpush\005vqabs\005vqadd\007v"
    7738             :     "qdmlal\007vqdmlsl\007vqdmulh\007vqdmull\006vqmovn\007vqmovun\005vqneg\010"
    7739             :     "vqrdmlah\010vqrdmlsh\010vqrdmulh\006vqrshl\007vqrshrn\010vqrshrun\005vq"
    7740             :     "shl\006vqshlu\006vqshrn\007vqshrun\005vqsub\007vraddhn\006vrecpe\006vre"
    7741             :     "cps\006vrev16\006vrev32\006vrev64\006vrhadd\006vrinta\006vrintm\006vrin"
    7742             :     "tn\006vrintp\006vrintr\006vrintx\006vrintz\005vrshl\005vrshr\006vrshrn\007"
    7743             :     "vrsqrte\007vrsqrts\005vrsra\007vrsubhn\005vsdot\006vseleq\006vselge\006"
    7744             :     "vselgt\006vselvs\004vshl\005vshll\004vshr\005vshrn\004vsli\005vsqrt\004"
    7745             :     "vsra\004vsri\004vst1\004vst2\004vst3\004vst4\006vstmdb\006vstmia\004vst"
    7746             :     "r\004vsub\006vsubhn\005vsubl\005vsubw\004vswp\004vtbl\004vtbx\004vtrn\004"
    7747             :     "vtst\005vudot\004vuzp\004vzip\003wfe\003wfi\005yield";
    7748             : 
    7749             : namespace {
    7750             :   struct MatchEntry {
    7751             :     uint16_t Mnemonic;
    7752             :     uint16_t Opcode;
    7753             :     uint16_t ConvertFn;
    7754             :     uint64_t RequiredFeatures;
    7755             :     uint16_t Classes[18];
    7756             :     StringRef getMnemonic() const {
    7757      549742 :       return StringRef(MnemonicTable + Mnemonic + 1,
    7758      549742 :                        MnemonicTable[Mnemonic]);
    7759             :     }
    7760             :   };
    7761             : 
    7762             :   // Predicate for searching for an opcode.
    7763             :   struct LessOpcode {
    7764             :     bool operator()(const MatchEntry &LHS, StringRef RHS) {
    7765      597704 :       return LHS.getMnemonic() < RHS;
    7766             :     }
    7767             :     bool operator()(StringRef LHS, const MatchEntry &RHS) {
    7768      471222 :       return LHS < RHS.getMnemonic();
    7769             :     }
    7770             :     bool operator()(const MatchEntry &LHS, const MatchEntry &RHS) {
    7771             :       return LHS.getMnemonic() < RHS.getMnemonic();
    7772             :     }
    7773             :   };
    7774             : } // end anonymous namespace.
    7775             : 
    7776             : static const MatchEntry MatchTable0[] = {
    7777             :   { 0 /* __brkdiv0 */, ARM::t__brkdiv0, Convert_NoOperands, Feature_IsThumb, {  }, },
    7778             :   { 10 /* adc */, ARM::tADC, Convert__Reg1_2__CCOut1_0__Tie0_1_1__Reg1_3__CondCode2_1, Feature_IsThumb, { MCK_CCOut, MCK_CondCode, MCK_tGPR, MCK_tGPR }, },
    7779             :   { 10 /* adc */, ARM::ADCrsr, Convert__Reg1_2__Reg1_2__RegShiftedReg3_3__CondCode2_1__CCOut1_0, Feature_IsARM, { MCK_CCOut, MCK_CondCode, MCK_GPRnopc, MCK_RegShiftedReg }, },
    7780             :   { 10 /* adc */, ARM::ADCrr, Convert__Reg1_2__Reg1_2__Reg1_3__CondCode2_1__CCOut1_0, Feature_IsARM, { MCK_CCOut, MCK_CondCode, MCK_GPR, MCK_GPR }, },
    7781             :   { 10 /* adc */, ARM::ADCri, Convert__Reg1_2__Reg1_2__ModImm1_3__CondCode2_1__CCOut1_0, Feature_IsARM, { MCK_CCOut, MCK_CondCode, MCK_GPR, MCK_ModImm }, },
    7782             :   { 10 /* adc */, ARM::SBCri, Convert__Reg1_2__Reg1_2__ModImmNot1_3__CondCode2_1__CCOut1_0, Feature_IsARM|Feature_UseNegativeImmediates, { MCK_CCOut, MCK_CondCode, MCK_GPR, MCK_ModImmNot }, },
    7783             :   { 10 /* adc */, ARM::ADCrsi, Convert__Reg1_2__Reg1_2__RegShiftedImm2_3__CondCode2_1__CCOut1_0, Feature_IsARM, { MCK_CCOut, MCK_CondCode, MCK_GPR, MCK_RegShiftedImm }, },
    7784             :   { 10 /* adc */, ARM::t2ADCrr, Convert__Reg1_2__Reg1_3__Reg1_4__CondCode2_1__CCOut1_0, Feature_IsThumb2, { MCK_CCOut, MCK_CondCode, MCK_rGPR, MCK_rGPR, MCK_rGPR }, },
    7785             :   { 10 /* adc */, ARM::t2ADCrs, Convert__Reg1_2__Reg1_3__RegShiftedImm2_4__CondCode2_1__CCOut1_0, Feature_IsThumb2, { MCK_CCOut, MCK_CondCode, MCK_rGPR, MCK_rGPR, MCK_RegShiftedImm }, },
    7786             :   { 10 /* adc */, ARM::t2ADCri, Convert__Reg1_2__Reg1_3__T2SOImm1_4__CondCode2_1__CCOut1_0, Feature_IsThumb2, { MCK_CCOut, MCK_CondCode, MCK_rGPR, MCK_rGPR, MCK_T2SOImm }, },
    7787             :   { 10 /* adc */, ARM::t2SBCri, Convert__Reg1_2__Reg1_3__T2SOImmNot1_4__CondCode2_1__CCOut1_0, Feature_IsThumb2|Feature_UseNegativeImmediates, { MCK_CCOut, MCK_CondCode, MCK_rGPR, MCK_rGPR, MCK_T2SOImmNot }, },
    7788             :   { 10 /* adc */, ARM::ADCrsr, Convert__Reg1_2__Reg1_3__RegShiftedReg3_4__CondCode2_1__CCOut1_0, Feature_IsARM, { MCK_CCOut, MCK_CondCode, MCK_GPRnopc, MCK_GPRnopc, MCK_RegShiftedReg }, },
    7789             :   { 10 /* adc */, ARM::ADCrr, Convert__Reg1_2__Reg1_3__Reg1_4__CondCode2_1__CCOut1_0, Feature_IsARM, { MCK_CCOut, MCK_CondCode, MCK_GPR, MCK_GPR, MCK_GPR }, },
    7790             :   { 10 /* adc */, ARM::ADCri, Convert__Reg1_2__Reg1_3__ModImm1_4__CondCode2_1__CCOut1_0, Feature_IsARM, { MCK_CCOut, MCK_CondCode, MCK_GPR, MCK_GPR, MCK_ModImm }, },
    7791             :   { 10 /* adc */, ARM::SBCri, Convert__Reg1_2__Reg1_3__ModImmNot1_4__CondCode2_1__CCOut1_0, Feature_IsARM|Feature_UseNegativeImmediates, { MCK_CCOut, MCK_CondCode, MCK_GPR, MCK_GPR, MCK_ModImmNot }, },
    7792             :   { 10 /* adc */, ARM::ADCrsi, Convert__Reg1_2__Reg1_3__RegShiftedImm2_4__CondCode2_1__CCOut1_0, Feature_IsARM, { MCK_CCOut, MCK_CondCode, MCK_GPR, MCK_GPR, MCK_RegShiftedImm }, },
    7793             :   { 10 /* adc */, ARM::t2ADCrr, Convert__Reg1_3__Reg1_4__Reg1_5__CondCode2_1__CCOut1_0, Feature_IsThumb2, { MCK_CCOut, MCK_CondCode, MCK__DOT_w, MCK_rGPR, MCK_rGPR, MCK_rGPR }, },
    7794             :   { 10 /* adc */, ARM::t2ADCrs, Convert__Reg1_3__Reg1_4__RegShiftedImm2_5__CondCode2_1__CCOut1_0, Feature_IsThumb2, { MCK_CCOut, MCK_CondCode, MCK__DOT_w, MCK_rGPR, MCK_rGPR, MCK_RegShiftedImm }, },
    7795             :   { 14 /* add */, ARM::tADDspr, Convert__Reg1_1__Tie0_1_1__Reg1_2__CondCode2_0, Feature_IsThumb, { MCK_CondCode, MCK_GPRsp, MCK_GPR }, },
    7796             :   { 14 /* add */, ARM::tADDspi, Convert__Reg1_1__Tie0_1_1__Imm0_508s41_2__CondCode2_0, Feature_IsThumb, { MCK_CondCode, MCK_GPRsp, MCK_Imm0_508s4 }, },
    7797             :   { 14 /* add */, ARM::tSUBspi, Convert__regSP__Tie0_1_1__Imm0_508s4Neg1_2__CondCode2_0, Feature_IsThumb|Feature_UseNegativeImmediates, { MCK_CondCode, MCK_GPRsp, MCK_Imm0_508s4Neg }, },
    7798             :   { 14 /* add */, ARM::t2ADDri12, Convert__Reg1_1__Reg1_1__Imm0_40951_2__CondCode2_0, Feature_IsThumb2, { MCK_CondCode, MCK_GPRnopc, MCK_Imm0_4095 }, },
    7799             :   { 14 /* add */, ARM::t2SUBri12, Convert__Reg1_1__Reg1_1__Imm0_4095Neg1_2__CondCode2_0, Feature_IsThumb2|Feature_UseNegativeImmediates, { MCK_CondCode, MCK_GPRnopc, MCK_Imm0_4095Neg }, },
    7800             :   { 14 /* add */, ARM::tADDhirr, Convert__Reg1_1__Tie0_1_1__Reg1_2__CondCode2_0, Feature_IsThumb, { MCK_CondCode, MCK_GPR, MCK_GPR }, },
    7801             :   { 14 /* add */, ARM::tADDrr, Convert__Reg1_2__CCOut1_0__Reg1_2__Reg1_3__CondCode2_1, Feature_IsThumb, { MCK_CCOut, MCK_CondCode, MCK_tGPR, MCK_tGPR }, },
    7802             :   { 14 /* add */, ARM::tADDi8, Convert__Reg1_2__CCOut1_0__Tie0_1_1__Imm0_2551_3__CondCode2_1, Feature_IsThumb, { MCK_CCOut, MCK_CondCode, MCK_tGPR, MCK_Imm0_255 }, },
    7803             :   { 14 /* add */, ARM::tSUBi8, Convert__Reg1_2__CCOut1_0__Tie0_3_3__ThumbModImmNeg8_2551_3__CondCode2_1, Feature_IsThumb|Feature_UseNegativeImmediates, { MCK_CCOut, MCK_CondCode, MCK_tGPR, MCK_ThumbModImmNeg8_255 }, },
    7804             :   { 14 /* add */, ARM::t2ADDrr, Convert__Reg1_2__Reg1_2__Reg1_3__CondCode2_1__CCOut1_0, Feature_IsThumb2, { MCK_CCOut, MCK_CondCode, MCK_GPRnopc, MCK_rGPR }, },
    7805             :   { 14 /* add */, ARM::t2ADDrs, Convert__Reg1_2__Reg1_2__RegShiftedImm2_3__CondCode2_1__CCOut1_0, Feature_IsThumb2, { MCK_CCOut, MCK_CondCode, MCK_GPRnopc, MCK_RegShiftedImm }, },
    7806             :   { 14 /* add */, ARM::t2ADDri, Convert__Reg1_2__Reg1_2__T2SOImm1_3__CondCode2_1__CCOut1_0, Feature_IsThumb2, { MCK_CCOut, MCK_CondCode, MCK_GPRnopc, MCK_T2SOImm }, },
    7807             :   { 14 /* add */, ARM::t2SUBri, Convert__Reg1_2__Reg1_2__T2SOImmNeg1_3__CondCode2_1__CCOut1_0, Feature_IsThumb2|Feature_UseNegativeImmediates, { MCK_CCOut, MCK_CondCode, MCK_GPRnopc, MCK_T2SOImmNeg }, },
    7808             :   { 14 /* add */, ARM::t2SUBri, Convert__Reg1_2__Reg1_2__T2SOImmNeg1_3__CondCode2_1__CCOut1_0, Feature_IsThumb2|Feature_UseNegativeImmediates, { MCK_CCOut, MCK_CondCode, MCK_GPRnopc, MCK_T2SOImmNeg }, },
    7809             :   { 14 /* add */, ARM::ADDrr, Convert__Reg1_2__Reg1_2__Reg1_3__CondCode2_1__CCOut1_0, Feature_IsARM, { MCK_CCOut, MCK_CondCode, MCK_GPR, MCK_GPR }, },
    7810             :   { 14 /* add */, ARM::ADDri, Convert__Reg1_2__Reg1_2__ModImm1_3__CondCode2_1__CCOut1_0, Feature_IsARM, { MCK_CCOut, MCK_CondCode, MCK_GPR, MCK_ModImm }, },
    7811             :   { 14 /* add */, ARM::SUBri, Convert__Reg1_2__Reg1_2__ModImmNeg1_3__CondCode2_1__CCOut1_0, Feature_IsARM|Feature_UseNegativeImmediates, { MCK_CCOut, MCK_CondCode, MCK_GPR, MCK_ModImmNeg }, },
    7812             :   { 14 /* add */, ARM::ADDrsi, Convert__Reg1_2__Reg1_2__RegShiftedImm2_3__CondCode2_1__CCOut1_0, Feature_IsARM, { MCK_CCOut, MCK_CondCode, MCK_GPR, MCK_RegShiftedImm }, },
    7813             :   { 14 /* add */, ARM::ADDrsr, Convert__Reg1_2__Reg1_2__RegShiftedReg3_3__CondCode2_1__CCOut1_0, Feature_IsARM, { MCK_CCOut, MCK_CondCode, MCK_GPR, MCK_RegShiftedReg }, },
    7814             :   { 14 /* add */, ARM::tADDspi, Convert__regSP__Tie0_1_1__Imm0_508s41_3__CondCode2_0, Feature_IsThumb, { MCK_CondCode, MCK_GPRsp, MCK_GPRsp, MCK_Imm0_508s4 }, },
    7815             :   { 14 /* add */, ARM::tSUBspi, Convert__regSP__Tie0_1_1__Imm0_508s4Neg1_3__CondCode2_0, Feature_IsThumb|Feature_UseNegativeImmediates, { MCK_CondCode, MCK_GPRsp, MCK_GPRsp, MCK_Imm0_508s4Neg }, },
    7816             :   { 14 /* add */, ARM::tADDrSPi, Convert__Reg1_1__Reg1_2__Imm0_1020s41_3__CondCode2_0, Feature_IsThumb, { MCK_CondCode, MCK_tGPR, MCK_GPRsp, MCK_Imm0_1020s4 }, },
    7817             :   { 14 /* add */, ARM::t2ADR, Convert__Reg1_1__Imm0_40951_3__CondCode2_0, Feature_IsThumb2, { MCK_CondCode, MCK_rGPR, MCK_PC, MCK_Imm0_4095 }, },
    7818             :   { 14 /* add */, ARM::t2ADDri12, Convert__Reg1_1__Reg1_2__Imm0_40951_3__CondCode2_0, Feature_IsThumb2, { MCK_CondCode, MCK_GPRnopc, MCK_GPR, MCK_Imm0_4095 }, },
    7819             :   { 14 /* add */, ARM::t2SUBri12, Convert__Reg1_1__Reg1_2__Imm0_4095Neg1_3__CondCode2_0, Feature_IsThumb2|Feature_UseNegativeImmediates, { MCK_CondCode, MCK_GPRnopc, MCK_GPR, MCK_Imm0_4095Neg }, },
    7820             :   { 14 /* add */, ARM::tADDrSP, Convert__Reg1_1__Reg1_2__Reg1_3__CondCode2_0, Feature_IsThumb, { MCK_CondCode, MCK_GPR, MCK_GPRsp, MCK_GPR }, },
    7821             :   { 14 /* add */, ARM::t2SUBri, Convert__Reg1_3__Reg1_3__T2SOImmNeg1_4__CondCode2_1__CCOut1_0, Feature_IsThumb2|Feature_UseNegativeImmediates, { MCK_CCOut, MCK_CondCode, MCK__DOT_w, MCK_GPRnopc, MCK_T2SOImmNeg }, },
    7822             :   { 14 /* add */, ARM::tADDrr, Convert__Reg1_2__CCOut1_0__Reg1_3__Reg1_4__CondCode2_1, Feature_IsThumb, { MCK_CCOut, MCK_CondCode, MCK_tGPR, MCK_tGPR, MCK_tGPR }, },
    7823             :   { 14 /* add */, ARM::tADDi3, Convert__Reg1_2__CCOut1_0__Reg1_3__Imm0_71_4__CondCode2_1, Feature_IsThumb, { MCK_CCOut, MCK_CondCode, MCK_tGPR, MCK_tGPR, MCK_Imm0_7 }, },
    7824             :   { 14 /* add */, ARM::tSUBi3, Convert__Reg1_2__CCOut1_0__Reg1_3__ThumbModImmNeg1_71_4__CondCode2_1, Feature_IsThumb|Feature_UseNegativeImmediates, { MCK_CCOut, MCK_CondCode, MCK_tGPR, MCK_tGPR, MCK_ThumbModImmNeg1_7 }, },
    7825             :   { 14 /* add */, ARM::t2ADDrr, Convert__Reg1_2__Reg1_3__Reg1_4__CondCode2_1__CCOut1_0, Feature_IsThumb2, { MCK_CCOut, MCK_CondCode, MCK_GPRnopc, MCK_GPRnopc, MCK_rGPR }, },
    7826             :   { 14 /* add */, ARM::t2ADDrs, Convert__Reg1_2__Reg1_3__RegShiftedImm2_4__CondCode2_1__CCOut1_0, Feature_IsThumb2, { MCK_CCOut, MCK_CondCode, MCK_GPRnopc, MCK_GPRnopc, MCK_RegShiftedImm }, },
    7827             :   { 14 /* add */, ARM::t2ADDri, Convert__Reg1_2__Reg1_3__T2SOImm1_4__CondCode2_1__CCOut1_0, Feature_IsThumb2, { MCK_CCOut, MCK_CondCode, MCK_GPRnopc, MCK_GPRnopc, MCK_T2SOImm }, },
    7828             :   { 14 /* add */, ARM::t2SUBri, Convert__Reg1_2__Reg1_3__T2SOImmNeg1_4__CondCode2_1__CCOut1_0, Feature_IsThumb2|Feature_UseNegativeImmediates, { MCK_CCOut, MCK_CondCode, MCK_GPRnopc, MCK_GPRnopc, MCK_T2SOImmNeg }, },
    7829             :   { 14 /* add */, ARM::t2SUBri, Convert__Reg1_2__Reg1_3__T2SOImmNeg1_4__CondCode2_1__CCOut1_0, Feature_IsThumb2|Feature_UseNegativeImmediates, { MCK_CCOut, MCK_CondCode, MCK_GPRnopc, MCK_GPRnopc, MCK_T2SOImmNeg }, },
    7830             :   { 14 /* add */, ARM::ADDrr, Convert__Reg1_2__Reg1_3__Reg1_4__CondCode2_1__CCOut1_0, Feature_IsARM, { MCK_CCOut, MCK_CondCode, MCK_GPR, MCK_GPR, MCK_GPR }, },
    7831             :   { 14 /* add */, ARM::ADDri, Convert__Reg1_2__Reg1_3__ModImm1_4__CondCode2_1__CCOut1_0, Feature_IsARM, { MCK_CCOut, MCK_CondCode, MCK_GPR, MCK_GPR, MCK_ModImm }, },
    7832             :   { 14 /* add */, ARM::SUBri, Convert__Reg1_2__Reg1_3__ModImmNeg1_4__CondCode2_1__CCOut1_0, Feature_IsARM|Feature_UseNegativeImmediates, { MCK_CCOut, MCK_CondCode, MCK_GPR, MCK_GPR, MCK_ModImmNeg }, },
    7833             :   { 14 /* add */, ARM::ADDrsi, Convert__Reg1_2__Reg1_3__RegShiftedImm2_4__CondCode2_1__CCOut1_0, Feature_IsARM, { MCK_CCOut, MCK_CondCode, MCK_GPR, MCK_GPR, MCK_RegShiftedImm }, },
    7834             :   { 14 /* add */, ARM::ADDrsr, Convert__Reg1_2__Reg1_3__RegShiftedReg3_4__CondCode2_1__CCOut1_0, Feature_IsARM, { MCK_CCOut, MCK_CondCode, MCK_GPR, MCK_GPR, MCK_RegShiftedReg }, },
    7835             :   { 14 /* add */, ARM::t2ADDrr, Convert__Reg1_3__Reg1_4__Reg1_5__CondCode2_1__CCOut1_0, Feature_IsThumb2, { MCK_CCOut, MCK_CondCode, MCK__DOT_w, MCK_GPRnopc, MCK_GPRnopc, MCK_rGPR }, },
    7836             :   { 14 /* add */, ARM::t2ADDrs, Convert__Reg1_3__Reg1_4__RegShiftedImm2_5__CondCode2_1__CCOut1_0, Feature_IsThumb2, { MCK_CCOut, MCK_CondCode, MCK__DOT_w, MCK_GPRnopc, MCK_GPRnopc, MCK_RegShiftedImm }, },
    7837             :   { 14 /* add */, ARM::t2ADDri, Convert__Reg1_3__Reg1_4__T2SOImm1_5__CondCode2_1__CCOut1_0, Feature_IsThumb2, { MCK_CCOut, MCK_CondCode, MCK__DOT_w, MCK_GPRnopc, MCK_GPRnopc, MCK_T2SOImm }, },
    7838             :   { 14 /* add */, ARM::t2SUBri, Convert__Reg1_3__Reg1_4__T2SOImmNeg1_5__CondCode2_1__CCOut1_0, Feature_IsThumb2|Feature_UseNegativeImmediates, { MCK_CCOut, MCK_CondCode, MCK__DOT_w, MCK_GPRnopc, MCK_GPRnopc, MCK_T2SOImmNeg }, },
    7839             :   { 14 /* add */, ARM::t2SUBri, Convert__Reg1_3__Reg1_4__T2SOImmNeg1_5__CondCode2_1__CCOut1_0, Feature_IsThumb2|Feature_UseNegativeImmediates, { MCK_CCOut, MCK_CondCode, MCK__DOT_w, MCK_GPRnopc, MCK_GPRnopc, MCK_T2SOImmNeg }, },
    7840             :   { 18 /* addw */, ARM::t2SUBri12, Convert__Reg1_1__Reg1_1__Imm0_4095Neg1_2__CondCode2_0, Feature_IsThumb2|Feature_UseNegativeImmediates, { MCK_CondCode, MCK_GPRnopc, MCK_Imm0_4095Neg }, },
    7841             :   { 18 /* addw */, ARM::t2ADDri12, Convert__Reg1_1__Reg1_2__Imm0_40951_3__CondCode2_0, Feature_IsThumb2, { MCK_CondCode, MCK_GPRnopc, MCK_GPR, MCK_Imm0_4095 }, },
    7842             :   { 18 /* addw */, ARM::t2SUBri12, Convert__Reg1_1__Reg1_2__Imm0_4095Neg1_3__CondCode2_0, Feature_IsThumb2|Feature_UseNegativeImmediates, { MCK_CondCode, MCK_GPRnopc, MCK_GPR, MCK_Imm0_4095Neg }, },
    7843             :   { 18 /* addw */, ARM::t2SUBri12, Convert__Reg1_1__Reg1_2__T2SOImmNeg1_3__CondCode2_0, Feature_IsThumb2|Feature_UseNegativeImmediates, { MCK_CondCode, MCK_GPRnopc, MCK_GPR, MCK_T2SOImmNeg }, },
    7844             :   { 23 /* adr */, ARM::tADR, Convert__Reg1_1__UnsignedOffset_b8s21_2__CondCode2_0, Feature_IsThumb, { MCK_CondCode, MCK_tGPR, MCK_UnsignedOffset_b8s2 }, },
    7845             :   { 23 /* adr */, ARM::t2ADR, Convert__Reg1_1__Imm1_2__CondCode2_0, Feature_IsThumb2, { MCK_CondCode, MCK_rGPR, MCK_Imm }, },
    7846             :   { 23 /* adr */, ARM::ADR, Convert__Reg1_1__AdrLabel1_2__CondCode2_0, Feature_IsARM, { MCK_CondCode, MCK_GPR, MCK_AdrLabel }, },
    7847             :   { 23 /* adr */, ARM::t2ADR, Convert__Reg1_2__Imm1_3__CondCode2_0, Feature_IsThumb2, { MCK_CondCode, MCK__DOT_w, MCK_rGPR, MCK_Imm }, },
    7848             :   { 27 /* aesd */, ARM::AESD, Convert__Reg1_1__Tie0_1_1__Reg1_2, Feature_HasV8|Feature_HasCrypto, { MCK__DOT_8, MCK_QPR, MCK_QPR }, },
    7849             :   { 32 /* aese */, ARM::AESE, Convert__Reg1_1__Tie0_1_1__Reg1_2, Feature_HasV8|Feature_HasCrypto, { MCK__DOT_8, MCK_QPR, MCK_QPR }, },
    7850             :   { 37 /* aesimc */, ARM::AESIMC, Convert__Reg1_1__Reg1_2, Feature_HasV8|Feature_HasCrypto, { MCK__DOT_8, MCK_QPR, MCK_QPR }, },
    7851             :   { 44 /* aesmc */, ARM::AESMC, Convert__Reg1_1__Reg1_2, Feature_HasV8|Feature_HasCrypto, { MCK__DOT_8, MCK_QPR, MCK_QPR }, },
    7852             :   { 50 /* and */, ARM::tAND, Convert__Reg1_2__CCOut1_0__Tie0_1_1__Reg1_3__CondCode2_1, Feature_IsThumb, { MCK_CCOut, MCK_CondCode, MCK_tGPR, MCK_tGPR }, },
    7853             :   { 50 /* and */, ARM::t2ANDrr, Convert__Reg1_2__Reg1_2__Reg1_3__CondCode2_1__CCOut1_0, Feature_IsThumb2, { MCK_CCOut, MCK_CondCode, MCK_rGPR, MCK_rGPR }, },
    7854             :   { 50 /* and */, ARM::t2ANDrs, Convert__Reg1_2__Reg1_2__RegShiftedImm2_3__CondCode2_1__CCOut1_0, Feature_IsThumb2, { MCK_CCOut, MCK_CondCode, MCK_rGPR, MCK_RegShiftedImm }, },
    7855             :   { 50 /* and */, ARM::t2ANDri, Convert__Reg1_2__Reg1_2__T2SOImm1_3__CondCode2_1__CCOut1_0, Feature_IsThumb2, { MCK_CCOut, MCK_CondCode, MCK_rGPR, MCK_T2SOImm }, },
    7856             :   { 50 /* and */, ARM::t2BICri, Convert__Reg1_2__Reg1_2__T2SOImmNot1_3__CondCode2_1__CCOut1_0, Feature_IsThumb2|Feature_UseNegativeImmediates, { MCK_CCOut, MCK_CondCode, MCK_rGPR, MCK_T2SOImmNot }, },
    7857             :   { 50 /* and */, ARM::ANDrr, Convert__Reg1_2__Reg1_2__Reg1_3__CondCode2_1__CCOut1_0, Feature_IsARM, { MCK_CCOut, MCK_CondCode, MCK_GPR, MCK_GPR }, },
    7858             :   { 50 /* and */, ARM::ANDri, Convert__Reg1_2__Reg1_2__ModImm1_3__CondCode2_1__CCOut1_0, Feature_IsARM, { MCK_CCOut, MCK_CondCode, MCK_GPR, MCK_ModImm }, },
    7859             :   { 50 /* and */, ARM::BICri, Convert__Reg1_2__Reg1_2__ModImmNot1_3__CondCode2_1__CCOut1_0, Feature_IsARM|Feature_UseNegativeImmediates, { MCK_CCOut, MCK_CondCode, MCK_GPR, MCK_ModImmNot }, },
    7860             :   { 50 /* and */, ARM::ANDrsi, Convert__Reg1_2__Reg1_2__RegShiftedImm2_3__CondCode2_1__CCOut1_0, Feature_IsARM, { MCK_CCOut, MCK_CondCode, MCK_GPR, MCK_RegShiftedImm }, },
    7861             :   { 50 /* and */, ARM::ANDrsr, Convert__Reg1_2__Reg1_2__RegShiftedReg3_3__CondCode2_1__CCOut1_0, Feature_IsARM, { MCK_CCOut, MCK_CondCode, MCK_GPR, MCK_RegShiftedReg }, },
    7862             :   { 50 /* and */, ARM::t2ANDrr, Convert__Reg1_3__Reg1_3__Reg1_4__CondCode2_1__CCOut1_0, Feature_IsThumb2, { MCK_CCOut, MCK_CondCode, MCK__DOT_w, MCK_rGPR, MCK_rGPR }, },
    7863             :   { 50 /* and */, ARM::t2ANDrs, Convert__Reg1_3__Reg1_3__RegShiftedImm2_4__CondCode2_1__CCOut1_0, Feature_IsThumb2, { MCK_CCOut, MCK_CondCode, MCK__DOT_w, MCK_rGPR, MCK_RegShiftedImm }, },
    7864             :   { 50 /* and */, ARM::t2ANDri, Convert__Reg1_3__Reg1_3__T2SOImm1_4__CondCode2_1__CCOut1_0, Feature_IsThumb2, { MCK_CCOut, MCK_CondCode, MCK__DOT_w, MCK_rGPR, MCK_T2SOImm }, },
    7865             :   { 50 /* and */, ARM::t2ANDrr, Convert__Reg1_2__Reg1_3__Reg1_4__CondCode2_1__CCOut1_0, Feature_IsThumb2, { MCK_CCOut, MCK_CondCode, MCK_rGPR, MCK_rGPR, MCK_rGPR }, },
    7866             :   { 50 /* and */, ARM::t2ANDrs, Convert__Reg1_2__Reg1_3__RegShiftedImm2_4__CondCode2_1__CCOut1_0, Feature_IsThumb2, { MCK_CCOut, MCK_CondCode, MCK_rGPR, MCK_rGPR, MCK_RegShiftedImm }, },
    7867             :   { 50 /* and */, ARM::t2ANDri, Convert__Reg1_2__Reg1_3__T2SOImm1_4__CondCode2_1__CCOut1_0, Feature_IsThumb2, { MCK_CCOut, MCK_CondCode, MCK_rGPR, MCK_rGPR, MCK_T2SOImm }, },
    7868             :   { 50 /* and */, ARM::t2BICri, Convert__Reg1_2__Reg1_3__T2SOImmNot1_4__CondCode2_1__CCOut1_0, Feature_IsThumb2|Feature_UseNegativeImmediates, { MCK_CCOut, MCK_CondCode, MCK_rGPR, MCK_rGPR, MCK_T2SOImmNot }, },
    7869             :   { 50 /* and */, ARM::ANDrr, Convert__Reg1_2__Reg1_3__Reg1_4__CondCode2_1__CCOut1_0, Feature_IsARM, { MCK_CCOut, MCK_CondCode, MCK_GPR, MCK_GPR, MCK_GPR }, },
    7870             :   { 50 /* and */, ARM::ANDri, Convert__Reg1_2__Reg1_3__ModImm1_4__CondCode2_1__CCOut1_0, Feature_IsARM, { MCK_CCOut, MCK_CondCode, MCK_GPR, MCK_GPR, MCK_ModImm }, },
    7871             :   { 50 /* and */, ARM::BICri, Convert__Reg1_2__Reg1_3__ModImmNot1_4__CondCode2_1__CCOut1_0, Feature_IsARM|Feature_UseNegativeImmediates, { MCK_CCOut, MCK_CondCode, MCK_GPR, MCK_GPR, MCK_ModImmNot }, },
    7872             :   { 50 /* and */, ARM::ANDrsi, Convert__Reg1_2__Reg1_3__RegShiftedImm2_4__CondCode2_1__CCOut1_0, Feature_IsARM, { MCK_CCOut, MCK_CondCode, MCK_GPR, MCK_GPR, MCK_RegShiftedImm }, },
    7873             :   { 50 /* and */, ARM::ANDrsr, Convert__Reg1_2__Reg1_3__RegShiftedReg3_4__CondCode2_1__CCOut1_0, Feature_IsARM, { MCK_CCOut, MCK_CondCode, MCK_GPR, MCK_GPR, MCK_RegShiftedReg }, },
    7874             :   { 50 /* and */, ARM::t2ANDrr, Convert__Reg1_3__Reg1_4__Reg1_5__CondCode2_1__CCOut1_0, Feature_IsThumb2, { MCK_CCOut, MCK_CondCode, MCK__DOT_w, MCK_rGPR, MCK_rGPR, MCK_rGPR }, },
    7875             :   { 50 /* and */, ARM::t2ANDrs, Convert__Reg1_3__Reg1_4__RegShiftedImm2_5__CondCode2_1__CCOut1_0, Feature_IsThumb2, { MCK_CCOut, MCK_CondCode, MCK__DOT_w, MCK_rGPR, MCK_rGPR, MCK_RegShiftedImm }, },
    7876             :   { 50 /* and */, ARM::t2ANDri, Convert__Reg1_3__Reg1_4__T2SOImm1_5__CondCode2_1__CCOut1_0, Feature_IsThumb2, { MCK_CCOut, MCK_CondCode, MCK__DOT_w, MCK_rGPR, MCK_rGPR, MCK_T2SOImm }, },
    7877             :   { 54 /* asr */, ARM::tASRrr, Convert__Reg1_2__CCOut1_0__Tie0_1_1__Reg1_3__CondCode2_1, Feature_IsThumb, { MCK_CCOut, MCK_CondCode, MCK_tGPR, MCK_tGPR }, },
    7878             :   { 54 /* asr */, ARM::tASRri, Convert__Reg1_2__CCOut1_0__Reg1_2__ImmThumbSR1_3__CondCode2_1, Feature_IsThumb, { MCK_CCOut, MCK_CondCode, MCK_tGPR, MCK_ImmThumbSR }, },
    7879             :   { 54 /* asr */, ARM::t2ASRrr, Convert__Reg1_2__Reg1_2__Reg1_3__CondCode2_1__CCOut1_0, Feature_IsThumb2, { MCK_CCOut, MCK_CondCode, MCK_rGPR, MCK_rGPR }, },
    7880             :   { 54 /* asr */, ARM::t2ASRri, Convert__Reg1_2__Reg1_2__ImmThumbSR1_3__CondCode2_1__CCOut1_0, Feature_IsThumb2, { MCK_CCOut, MCK_CondCode, MCK_rGPR, MCK_ImmThumbSR }, },
    7881             :   { 54 /* asr */, ARM::ASRr, Convert__Reg1_2__Reg1_2__Reg1_3__CondCode2_1__CCOut1_0, Feature_IsARM, { MCK_CCOut, MCK_CondCode, MCK_GPRnopc, MCK_GPRnopc }, },
    7882             :   { 54 /* asr */, ARM::ASRi, Convert__Reg1_2__Reg1_2__Imm0_321_3__CondCode2_1__CCOut1_0, Feature_IsARM, { MCK_CCOut, MCK_CondCode, MCK_GPR, MCK_Imm0_32 }, },
    7883             :   { 54 /* asr */, ARM::t2ASRrr, Convert__Reg1_3__Reg1_3__Reg1_4__CondCode2_1__CCOut1_0, Feature_IsThumb2, { MCK_CCOut, MCK_CondCode, MCK__DOT_w, MCK_rGPR, MCK_rGPR }, },
    7884             :   { 54 /* asr */, ARM::t2ASRri, Convert__Reg1_3__Reg1_3__ImmThumbSR1_4__CondCode2_1__CCOut1_0, Feature_IsThumb2, { MCK_CCOut, MCK_CondCode, MCK__DOT_w, MCK_rGPR, MCK_ImmThumbSR }, },
    7885             :   { 54 /* asr */, ARM::tASRri, Convert__Reg1_2__CCOut1_0__Reg1_3__ImmThumbSR1_4__CondCode2_1, Feature_IsThumb, { MCK_CCOut, MCK_CondCode, MCK_tGPR, MCK_tGPR, MCK_ImmThumbSR }, },
    7886             :   { 54 /* asr */, ARM::t2ASRrr, Convert__Reg1_2__Reg1_3__Reg1_4__CondCode2_1__CCOut1_0, Feature_IsThumb2, { MCK_CCOut, MCK_CondCode, MCK_rGPR, MCK_rGPR, MCK_rGPR }, },
    7887             :   { 54 /* asr */, ARM::t2ASRri, Convert__Reg1_2__Reg1_3__ImmThumbSR1_4__CondCode2_1__CCOut1_0, Feature_IsThumb2, { MCK_CCOut, MCK_CondCode, MCK_rGPR, MCK_rGPR, MCK_ImmThumbSR }, },
    7888             :   { 54 /* asr */, ARM::ASRr, Convert__Reg1_2__Reg1_3__Reg1_4__CondCode2_1__CCOut1_0, Feature_IsARM, { MCK_CCOut, MCK_CondCode, MCK_GPRnopc, MCK_GPRnopc, MCK_GPRnopc }, },
    7889             :   { 54 /* asr */, ARM::ASRi, Convert__Reg1_2__Reg1_3__Imm0_321_4__CondCode2_1__CCOut1_0, Feature_IsARM, { MCK_CCOut, MCK_CondCode, MCK_GPR, MCK_GPR, MCK_Imm0_32 }, },
    7890             :   { 54 /* asr */, ARM::t2ASRrr, Convert__Reg1_3__Reg1_4__Reg1_5__CondCode2_1__CCOut1_0, Feature_IsThumb2, { MCK_CCOut, MCK_CondCode, MCK__DOT_w, MCK_rGPR, MCK_rGPR, MCK_rGPR }, },
    7891             :   { 54 /* asr */, ARM::t2ASRri, Convert__Reg1_3__Reg1_4__ImmThumbSR1_5__CondCode2_1__CCOut1_0, Feature_IsThumb2, { MCK_CCOut, MCK_CondCode, MCK__DOT_w, MCK_rGPR, MCK_rGPR, MCK_ImmThumbSR }, },
    7892             :   { 58 /* b */, ARM::Bcc, Convert__ARMBranchTarget1_1__CondCode2_0, Feature_IsARM, { MCK_CondCode, MCK_ARMBranchTarget }, },
    7893             :   { 58 /* b */, ARM::tB, ConvertCustom_cvtThumbBranches, Feature_IsThumb, { MCK_CondCode, MCK_Imm }, },
    7894             :   { 58 /* b */, ARM::tBcc, ConvertCustom_cvtThumbBranches, Feature_IsThumb, { MCK_CondCode, MCK_ThumbBranchTarget }, },
    7895             :   { 58 /* b */, ARM::t2Bcc, ConvertCustom_cvtThumbBranches, Feature_IsThumb2, { MCK_CondCode, MCK__DOT_w, MCK_Imm }, },
    7896             :   { 58 /* b */, ARM::t2B, ConvertCustom_cvtThumbBranches, Feature_IsThumb|Feature_HasV8MBaseline, { MCK_CondCode, MCK__DOT_w, MCK_ThumbBranchTarget }, },
    7897             :   { 60 /* bfc */, ARM::t2BFC, Convert__Reg1_1__Tie0_1_1__Bitfield1_2__CondCode2_0, Feature_IsThumb2, { MCK_CondCode, MCK_rGPR, MCK_Bitfield }, },
    7898             :   { 60 /* bfc */, ARM::BFC, Convert__Reg1_1__Tie0_1_1__Bitfield1_2__CondCode2_0, Feature_IsARM|Feature_HasV6T2, { MCK_CondCode, MCK_GPR, MCK_Bitfield }, },
    7899             :   { 64 /* bfi */, ARM::t2BFI, Convert__Reg1_1__Tie0_1_1__Reg1_2__Bitfield1_3__CondCode2_0, Feature_IsThumb2, { MCK_CondCode, MCK_rGPR, MCK_rGPR, MCK_Bitfield }, },
    7900             :   { 64 /* bfi */, ARM::BFI, Convert__Reg1_1__Tie0_1_1__Reg1_2__Bitfield1_3__CondCode2_0, Feature_IsARM|Feature_HasV6T2, { MCK_CondCode, MCK_GPRnopc, MCK_GPR, MCK_Bitfield }, },
    7901             :   { 68 /* bic */, ARM::tBIC, Convert__Reg1_2__CCOut1_0__Tie0_1_1__Reg1_3__CondCode2_1, Feature_IsThumb, { MCK_CCOut, MCK_CondCode, MCK_tGPR, MCK_tGPR }, },
    7902             :   { 68 /* bic */, ARM::t2BICrr, Convert__Reg1_2__Reg1_2__Reg1_3__CondCode2_1__CCOut1_0, Feature_IsThumb2, { MCK_CCOut, MCK_CondCode, MCK_rGPR, MCK_rGPR }, },
    7903             :   { 68 /* bic */, ARM::t2BICrs, Convert__Reg1_2__Reg1_2__RegShiftedImm2_3__CondCode2_1__CCOut1_0, Feature_IsThumb2, { MCK_CCOut, MCK_CondCode, MCK_rGPR, MCK_RegShiftedImm }, },
    7904             :   { 68 /* bic */, ARM::t2BICri, Convert__Reg1_2__Reg1_2__T2SOImm1_3__CondCode2_1__CCOut1_0, Feature_IsThumb2, { MCK_CCOut, MCK_CondCode, MCK_rGPR, MCK_T2SOImm }, },
    7905             :   { 68 /* bic */, ARM::t2ANDri, Convert__Reg1_2__Reg1_2__T2SOImmNot1_3__CondCode2_1__CCOut1_0, Feature_IsThumb2|Feature_UseNegativeImmediates, { MCK_CCOut, MCK_CondCode, MCK_rGPR, MCK_T2SOImmNot }, },
    7906             :   { 68 /* bic */, ARM::BICrr, Convert__Reg1_2__Reg1_2__Reg1_3__CondCode2_1__CCOut1_0, Feature_IsARM, { MCK_CCOut, MCK_CondCode, MCK_GPR, MCK_GPR }, },
    7907             :   { 68 /* bic */, ARM::BICri, Convert__Reg1_2__Reg1_2__ModImm1_3__CondCode2_1__CCOut1_0, Feature_IsARM, { MCK_CCOut, MCK_CondCode, MCK_GPR, MCK_ModImm }, },
    7908             :   { 68 /* bic */, ARM::ANDri, Convert__Reg1_2__Reg1_2__ModImmNot1_3__CondCode2_1__CCOut1_0, Feature_IsARM|Feature_UseNegativeImmediates, { MCK_CCOut, MCK_CondCode, MCK_GPR, MCK_ModImmNot }, },
    7909             :   { 68 /* bic */, ARM::BICrsi, Convert__Reg1_2__Reg1_2__RegShiftedImm2_3__CondCode2_1__CCOut1_0, Feature_IsARM, { MCK_CCOut, MCK_CondCode, MCK_GPR, MCK_RegShiftedImm }, },
    7910             :   { 68 /* bic */, ARM::BICrsr, Convert__Reg1_2__Reg1_2__RegShiftedReg3_3__CondCode2_1__CCOut1_0, Feature_IsARM, { MCK_CCOut, MCK_CondCode, MCK_GPR, MCK_RegShiftedReg }, },
    7911             :   { 68 /* bic */, ARM::t2BICrr, Convert__Reg1_3__Reg1_3__Reg1_4__CondCode2_1__CCOut1_0, Feature_IsThumb2, { MCK_CCOut, MCK_CondCode, MCK__DOT_w, MCK_rGPR, MCK_rGPR }, },
    7912             :   { 68 /* bic */, ARM::t2BICrs, Convert__Reg1_3__Reg1_3__RegShiftedImm2_4__CondCode2_1__CCOut1_0, Feature_IsThumb2, { MCK_CCOut, MCK_CondCode, MCK__DOT_w, MCK_rGPR, MCK_RegShiftedImm }, },
    7913             :   { 68 /* bic */, ARM::t2BICri, Convert__Reg1_3__Reg1_3__T2SOImm1_4__CondCode2_1__CCOut1_0, Feature_IsThumb2, { MCK_CCOut, MCK_CondCode, MCK__DOT_w, MCK_rGPR, MCK_T2SOImm }, },
    7914             :   { 68 /* bic */, ARM::t2BICrr, Convert__Reg1_2__Reg1_3__Reg1_4__CondCode2_1__CCOut1_0, Feature_IsThumb2, { MCK_CCOut, MCK_CondCode, MCK_rGPR, MCK_rGPR, MCK_rGPR }, },
    7915             :   { 68 /* bic */, ARM::t2BICrs, Convert__Reg1_2__Reg1_3__RegShiftedImm2_4__CondCode2_1__CCOut1_0, Feature_IsThumb2, { MCK_CCOut, MCK_CondCode, MCK_rGPR, MCK_rGPR, MCK_RegShiftedImm }, },
    7916             :   { 68 /* bic */, ARM::t2BICri, Convert__Reg1_2__Reg1_3__T2SOImm1_4__CondCode2_1__CCOut1_0, Feature_IsThumb2, { MCK_CCOut, MCK_CondCode, MCK_rGPR, MCK_rGPR, MCK_T2SOImm }, },
    7917             :   { 68 /* bic */, ARM::t2ANDri, Convert__Reg1_2__Reg1_3__T2SOImmNot1_4__CondCode2_1__CCOut1_0, Feature_IsThumb2|Feature_UseNegativeImmediates, { MCK_CCOut, MCK_CondCode, MCK_rGPR, MCK_rGPR, MCK_T2SOImmNot }, },
    7918             :   { 68 /* bic */, ARM::BICrr, Convert__Reg1_2__Reg1_3__Reg1_4__CondCode2_1__CCOut1_0, Feature_IsARM, { MCK_CCOut, MCK_CondCode, MCK_GPR, MCK_GPR, MCK_GPR }, },
    7919             :   { 68 /* bic */, ARM::BICri, Convert__Reg1_2__Reg1_3__ModImm1_4__CondCode2_1__CCOut1_0, Feature_IsARM, { MCK_CCOut, MCK_CondCode, MCK_GPR, MCK_GPR, MCK_ModImm }, },
    7920             :   { 68 /* bic */, ARM::ANDri, Convert__Reg1_2__Reg1_3__ModImmNot1_4__CondCode2_1__CCOut1_0, Feature_IsARM|Feature_UseNegativeImmediates, { MCK_CCOut, MCK_CondCode, MCK_GPR, MCK_GPR, MCK_ModImmNot }, },
    7921             :   { 68 /* bic */, ARM::BICrsi, Convert__Reg1_2__Reg1_3__RegShiftedImm2_4__CondCode2_1__CCOut1_0, Feature_IsARM, { MCK_CCOut, MCK_CondCode, MCK_GPR, MCK_GPR, MCK_RegShiftedImm }, },
    7922             :   { 68 /* bic */, ARM::BICrsr, Convert__Reg1_2__Reg1_3__RegShiftedReg3_4__CondCode2_1__CCOut1_0, Feature_IsARM, { MCK_CCOut, MCK_CondCode, MCK_GPR, MCK_GPR, MCK_RegShiftedReg }, },
    7923             :   { 68 /* bic */, ARM::t2BICrr, Convert__Reg1_3__Reg1_4__Reg1_5__CondCode2_1__CCOut1_0, Feature_IsThumb2, { MCK_CCOut, MCK_CondCode, MCK__DOT_w, MCK_rGPR, MCK_rGPR, MCK_rGPR }, },
    7924             :   { 68 /* bic */, ARM::t2BICrs, Convert__Reg1_3__Reg1_4__RegShiftedImm2_5__CondCode2_1__CCOut1_0, Feature_IsThumb2, { MCK_CCOut, MCK_CondCode, MCK__DOT_w, MCK_rGPR, MCK_rGPR, MCK_RegShiftedImm }, },
    7925             :   { 68 /* bic */, ARM::t2BICri, Convert__Reg1_3__Reg1_4__T2SOImm1_5__CondCode2_1__CCOut1_0, Feature_IsThumb2, { MCK_CCOut, MCK_CondCode, MCK__DOT_w, MCK_rGPR, MCK_rGPR, MCK_T2SOImm }, },
    7926             :   { 72 /* bkpt */, ARM::BKPT, Convert__imm_95_0, Feature_IsARM, {  }, },
    7927             :   { 72 /* bkpt */, ARM::tBKPT, Convert__imm_95_0, Feature_IsThumb, {  }, },
    7928             :   { 72 /* bkpt */, ARM::tBKPT, Convert__Imm0_2551_0, Feature_IsThumb, { MCK_Imm0_255 }, },
    7929             :   { 72 /* bkpt */, ARM::BKPT, Convert__Imm0_655351_0, Feature_IsARM, { MCK_Imm0_65535 }, },
    7930             :   { 77 /* bl */, ARM::BL, Convert__ARMBranchTarget1_0, Feature_IsARM, { MCK_ARMBranchTarget }, },
    7931             :   { 77 /* bl */, ARM::BL_pred, Convert__ARMBranchTarget1_1__CondCode2_0, Feature_IsARM, { MCK_CondCode, MCK_ARMBranchTarget }, },
    7932             :   { 77 /* bl */, ARM::tBL, Convert__CondCode2_0__ThumbBranchTarget1_1, Feature_IsThumb, { MCK_CondCode, MCK_ThumbBranchTarget }, },
    7933             :   { 80 /* blx */, ARM::BLX, Convert__Reg1_0, Feature_IsARM|Feature_HasV5T, { MCK_GPR }, },
    7934             :   { 80 /* blx */, ARM::BLXi, Convert__ThumbBranchTarget1_0, Feature_IsARM|Feature_HasV5T, { MCK_ThumbBranchTarget }, },
    7935             :   { 80 /* blx */, ARM::BLX_pred, Convert__Reg1_1__CondCode2_0, Feature_IsARM|Feature_HasV5T, { MCK_CondCode, MCK_GPR }, },
    7936             :   { 80 /* blx */, ARM::tBLXr, Convert__CondCode2_0__Reg1_1, Feature_IsThumb|Feature_HasV5T, { MCK_CondCode, MCK_GPR }, },
    7937             :   { 80 /* blx */, ARM::tBLXi, Convert__CondCode2_0__ARMBranchTarget1_1, Feature_IsThumb|Feature_HasV5T|Feature_IsNotMClass, { MCK_CondCode, MCK_ARMBranchTarget }, },
    7938             :   { 84 /* blxns */, ARM::tBLXNSr, Convert__CondCode2_0__Reg1_1, Feature_IsThumb|Feature_Has8MSecExt, { MCK_CondCode, MCK_GPRnopc }, },
    7939             :   { 90 /* bx */, ARM::BX, Convert__Reg1_0, Feature_IsARM|Feature_HasV4T, { MCK_GPR }, },
    7940             :   { 90 /* bx */, ARM::BX_RET, Convert__CondCode2_0, Feature_IsARM|Feature_HasV4T, { MCK_CondCode, MCK_LR }, },
    7941             :   { 90 /* bx */, ARM::BX_pred, Convert__Reg1_1__CondCode2_0, Feature_IsARM|Feature_HasV4T, { MCK_CondCode, MCK_GPR }, },
    7942             :   { 90 /* bx */, ARM::tBX, Convert__Reg1_1__CondCode2_0, Feature_IsThumb, { MCK_CondCode, MCK_GPR }, },
    7943             :   { 93 /* bxj */, ARM::t2BXJ, Convert__Reg1_1__CondCode2_0, Feature_IsThumb2|Feature_IsNotMClass, { MCK_CondCode, MCK_GPRnopc }, },
    7944             :   { 93 /* bxj */, ARM::BXJ, Convert__Reg1_1__CondCode2_0, Feature_IsARM, { MCK_CondCode, MCK_GPR }, },
    7945             :   { 97 /* bxns */, ARM::tBXNS, Convert__Reg1_1__CondCode2_0, Feature_IsThumb|Feature_Has8MSecExt, { MCK_CondCode, MCK_GPR }, },
    7946             :   { 102 /* cbnz */, ARM::tCBNZ, Convert__Reg1_0__ThumbBranchTarget1_1, Feature_IsThumb|Feature_HasV8MBaseline, { MCK_tGPR, MCK_ThumbBranchTarget }, },
    7947             :   { 107 /* cbz */, ARM::tCBZ, Convert__Reg1_0__ThumbBranchTarget1_1, Feature_IsThumb|Feature_HasV8MBaseline, { MCK_tGPR, MCK_ThumbBranchTarget }, },
    7948             :   { 111 /* cdp */, ARM::CDP, Convert__CoprocNum1_1__Imm0_151_2__CoprocReg1_3__CoprocReg1_4__CoprocReg1_5__Imm0_71_6__CondCode2_0, Feature_IsARM|Feature_PreV8, { MCK_CondCode, MCK_CoprocNum, MCK_Imm0_15, MCK_CoprocReg, MCK_CoprocReg, MCK_CoprocReg, MCK_Imm0_7 }, },
    7949             :   { 111 /* cdp */, ARM::t2CDP, Convert__CoprocNum1_1__Imm0_151_2__CoprocReg1_3__CoprocReg1_4__CoprocReg1_5__Imm0_71_6__CondCode2_0, Feature_IsThumb2|Feature_PreV8, { MCK_CondCode, MCK_CoprocNum, MCK_Imm0_15, MCK_CoprocReg, MCK_CoprocReg, MCK_CoprocReg, MCK_Imm0_7 }, },
    7950             :   { 115 /* cdp2 */, ARM::CDP2, Convert__CoprocNum1_0__Imm0_151_1__CoprocReg1_2__CoprocReg1_3__CoprocReg1_4__Imm0_71_5, Feature_IsARM|Feature_PreV8, { MCK_CoprocNum, MCK_Imm0_15, MCK_CoprocReg, MCK_CoprocReg, MCK_CoprocReg, MCK_Imm0_7 }, },
    7951             :   { 115 /* cdp2 */, ARM::t2CDP2, Convert__CoprocNum1_1__Imm0_151_2__CoprocReg1_3__CoprocReg1_4__CoprocReg1_5__Imm0_71_6__CondCode2_0, Feature_IsThumb2|Feature_PreV8, { MCK_CondCode, MCK_CoprocNum, MCK_Imm0_15, MCK_CoprocReg, MCK_CoprocReg, MCK_CoprocReg, MCK_Imm0_7 }, },
    7952             :   { 120 /* clrex */, ARM::CLREX, Convert_NoOperands, Feature_IsARM|Feature_HasV6K, {  }, },
    7953             :   { 120 /* clrex */, ARM::t2CLREX, Convert__CondCode2_0, Feature_IsThumb|Feature_HasV7Clrex, { MCK_CondCode }, },
    7954             :   { 126 /* clz */, ARM::t2CLZ, Convert__Reg1_1__Reg1_2__CondCode2_0, Feature_IsThumb2, { MCK_CondCode, MCK_rGPR, MCK_rGPR }, },
    7955             :   { 126 /* clz */, ARM::CLZ, Convert__Reg1_1__Reg1_2__CondCode2_0, Feature_IsARM|Feature_HasV5T, { MCK_CondCode, MCK_GPR, MCK_GPR }, },
    7956             :   { 130 /* cmn */, ARM::tCMNz, Convert__Reg1_1__Reg1_2__CondCode2_0, Feature_IsThumb, { MCK_CondCode, MCK_tGPR, MCK_tGPR }, },
    7957             :   { 130 /* cmn */, ARM::CMPri, Convert__Reg1_1__ModImmNeg1_2__CondCode2_0, Feature_IsARM|Feature_UseNegativeImmediates, { MCK_CondCode, MCK_rGPR, MCK_ModImmNeg }, },
    7958             :   { 130 /* cmn */, ARM::t2CMPri, Convert__Reg1_1__T2SOImmNeg1_2__CondCode2_0, Feature_IsThumb2|Feature_UseNegativeImmediates, { MCK_CondCode, MCK_rGPR, MCK_T2SOImmNeg }, },
    7959             :   { 130 /* cmn */, ARM::t2CMNzrr, Convert__Reg1_1__Reg1_2__CondCode2_0, Feature_IsThumb2, { MCK_CondCode, MCK_GPRnopc, MCK_rGPR }, },
    7960             :   { 130 /* cmn */, ARM::t2CMNzrs, Convert__Reg1_1__RegShiftedImm2_2__CondCode2_0, Feature_IsThumb2, { MCK_CondCode, MCK_GPRnopc, MCK_RegShiftedImm }, },
    7961             :   { 130 /* cmn */, ARM::CMNzrsr, Convert__Reg1_1__RegShiftedReg3_2__CondCode2_0, Feature_IsARM, { MCK_CondCode, MCK_GPRnopc, MCK_RegShiftedReg }, },
    7962             :   { 130 /* cmn */, ARM::t2CMNri, Convert__Reg1_1__T2SOImm1_2__CondCode2_0, Feature_IsThumb2, { MCK_CondCode, MCK_GPRnopc, MCK_T2SOImm }, },
    7963             :   { 130 /* cmn */, ARM::CMNzrr, Convert__Reg1_1__Reg1_2__CondCode2_0, Feature_IsARM, { MCK_CondCode, MCK_GPR, MCK_GPR }, },
    7964             :   { 130 /* cmn */, ARM::CMNri, Convert__Reg1_1__ModImm1_2__CondCode2_0, Feature_IsARM, { MCK_CondCode, MCK_GPR, MCK_ModImm }, },
    7965             :   { 130 /* cmn */, ARM::CMNzrsi, Convert__Reg1_1__RegShiftedImm2_2__CondCode2_0, Feature_IsARM, { MCK_CondCode, MCK_GPR, MCK_RegShiftedImm }, },
    7966             :   { 130 /* cmn */, ARM::t2CMNzrr, Convert__Reg1_2__Reg1_3__CondCode2_0, Feature_IsThumb2, { MCK_CondCode, MCK__DOT_w, MCK_GPRnopc, MCK_rGPR }, },
    7967             :   { 130 /* cmn */, ARM::t2CMNzrs, Convert__Reg1_2__RegShiftedImm2_3__CondCode2_0, Feature_IsThumb2, { MCK_CondCode, MCK__DOT_w, MCK_GPRnopc, MCK_RegShiftedImm }, },
    7968             :   { 130 /* cmn */, ARM::t2CMNri, Convert__Reg1_2__T2SOImm1_3__CondCode2_0, Feature_IsThumb2, { MCK_CondCode, MCK__DOT_w, MCK_GPRnopc, MCK_T2SOImm }, },
    7969             :   { 134 /* cmp */, ARM::tCMPr, Convert__Reg1_1__Reg1_2__CondCode2_0, Feature_IsThumb, { MCK_CondCode, MCK_tGPR, MCK_tGPR }, },
    7970             :   { 134 /* cmp */, ARM::tCMPi8, Convert__Reg1_1__Imm0_2551_2__CondCode2_0, Feature_IsThumb, { MCK_CondCode, MCK_tGPR, MCK_Imm0_255 }, },
    7971             :   { 134 /* cmp */, ARM::CMNri, Convert__Reg1_1__ModImmNeg1_2__CondCode2_0, Feature_IsARM|Feature_UseNegativeImmediates, { MCK_CondCode, MCK_rGPR, MCK_ModImmNeg }, },
    7972             :   { 134 /* cmp */, ARM::t2CMNri, Convert__Reg1_1__T2SOImmNeg1_2__CondCode2_0, Feature_IsThumb2|Feature_UseNegativeImmediates, { MCK_CondCode, MCK_rGPR, MCK_T2SOImmNeg }, },
    7973             :   { 134 /* cmp */, ARM::t2CMPrs, Convert__Reg1_1__RegShiftedImm2_2__CondCode2_0, Feature_IsThumb2, { MCK_CondCode, MCK_GPRnopc, MCK_RegShiftedImm }, },
    7974             :   { 134 /* cmp */, ARM::CMPrsr, Convert__Reg1_1__RegShiftedReg3_2__CondCode2_0, Feature_IsARM, { MCK_CondCode, MCK_GPRnopc, MCK_RegShiftedReg }, },
    7975             :   { 134 /* cmp */, ARM::t2CMPri, Convert__Reg1_1__T2SOImm1_2__CondCode2_0, Feature_IsThumb2, { MCK_CondCode, MCK_GPRnopc, MCK_T2SOImm }, },
    7976             :   { 134 /* cmp */, ARM::CMPrr, Convert__Reg1_1__Reg1_2__CondCode2_0, Feature_IsARM, { MCK_CondCode, MCK_GPR, MCK_GPR }, },
    7977             :   { 134 /* cmp */, ARM::tCMPhir, Convert__Reg1_1__Reg1_2__CondCode2_0, Feature_IsThumb, { MCK_CondCode, MCK_GPR, MCK_GPR }, },
    7978             :   { 134 /* cmp */, ARM::CMPri, Convert__Reg1_1__ModImm1_2__CondCode2_0, Feature_IsARM, { MCK_CondCode, MCK_GPR, MCK_ModImm }, },
    7979             :   { 134 /* cmp */, ARM::CMPrsi, Convert__Reg1_1__RegShiftedImm2_2__CondCode2_0, Feature_IsARM, { MCK_CondCode, MCK_GPR, MCK_RegShiftedImm }, },
    7980             :   { 134 /* cmp */, ARM::t2CMPrr, Convert__Reg1_2__Reg1_3__CondCode2_0, Feature_IsThumb2, { MCK_CondCode, MCK__DOT_w, MCK_GPRnopc, MCK_rGPR }, },
    7981             :   { 134 /* cmp */, ARM::t2CMPrs, Convert__Reg1_2__RegShiftedImm2_3__CondCode2_0, Feature_IsThumb2, { MCK_CondCode, MCK__DOT_w, MCK_GPRnopc, MCK_RegShiftedImm }, },
    7982             :   { 134 /* cmp */, ARM::t2CMPri, Convert__Reg1_2__T2SOImm1_3__CondCode2_0, Feature_IsThumb2, { MCK_CondCode, MCK__DOT_w, MCK_GPRnopc, MCK_T2SOImm }, },
    7983             :   { 138 /* cps */, ARM::t2CPS1p, Convert__Imm0_311_0, Feature_IsThumb2|Feature_IsNotMClass, { MCK_Imm0_31 }, },
    7984             :   { 138 /* cps */, ARM::CPS1p, Convert__Imm0_311_0, Feature_IsARM, { MCK_Imm0_31 }, },
    7985             :   { 138 /* cps */, ARM::t2CPS1p, Convert__Imm0_311_1, Feature_IsThumb2, { MCK__DOT_w, MCK_Imm0_31 }, },
    7986             :   { 138 /* cps */, ARM::CPS2p, Convert__Imm1_0__ProcIFlags1_1, Feature_IsARM, { MCK_Imm, MCK_ProcIFlags }, },
    7987             :   { 138 /* cps */, ARM::tCPS, Convert__Imm1_0__ProcIFlags1_1, Feature_IsThumb, { MCK_Imm, MCK_ProcIFlags }, },
    7988             :   { 138 /* cps */, ARM::t2CPS2p, Convert__Imm1_0__ProcIFlags1_2, Feature_IsThumb2|Feature_IsNotMClass, { MCK_Imm, MCK__DOT_w, MCK_ProcIFlags }, },
    7989             :   { 138 /* cps */, ARM::CPS3p, Convert__Imm1_0__ProcIFlags1_1__Imm0_311_2, Feature_IsARM, { MCK_Imm, MCK_ProcIFlags, MCK_Imm0_31 }, },
    7990             :   { 138 /* cps */, ARM::t2CPS3p, Convert__Imm1_0__ProcIFlags1_1__Imm1_2, Feature_IsThumb2|Feature_IsNotMClass, { MCK_Imm, MCK_ProcIFlags, MCK_Imm }, },
    7991             :   { 138 /* cps */, ARM::t2CPS3p, Convert__Imm1_0__ProcIFlags1_2__Imm1_3, Feature_IsThumb2, { MCK_Imm, MCK__DOT_w, MCK_ProcIFlags, MCK_Imm }, },
    7992             :   { 142 /* crc32b */, ARM::t2CRC32B, Convert__Reg1_0__Reg1_1__Reg1_2, Feature_IsThumb2|Feature_HasV8|Feature_HasCRC, { MCK_rGPR, MCK_rGPR, MCK_rGPR }, },
    7993             :   { 142 /* crc32b */, ARM::CRC32B, Convert__Reg1_0__Reg1_1__Reg1_2, Feature_IsARM|Feature_HasV8|Feature_HasCRC, { MCK_GPRnopc, MCK_GPRnopc, MCK_GPRnopc }, },
    7994             :   { 149 /* crc32cb */, ARM::t2CRC32CB, Convert__Reg1_0__Reg1_1__Reg1_2, Feature_IsThumb2|Feature_HasV8|Feature_HasCRC, { MCK_rGPR, MCK_rGPR, MCK_rGPR }, },
    7995             :   { 149 /* crc32cb */, ARM::CRC32CB, Convert__Reg1_0__Reg1_1__Reg1_2, Feature_IsARM|Feature_HasV8|Feature_HasCRC, { MCK_GPRnopc, MCK_GPRnopc, MCK_GPRnopc }, },
    7996             :   { 157 /* crc32ch */, ARM::t2CRC32CH, Convert__Reg1_0__Reg1_1__Reg1_2, Feature_IsThumb2|Feature_HasV8|Feature_HasCRC, { MCK_rGPR, MCK_rGPR, MCK_rGPR }, },
    7997             :   { 157 /* crc32ch */, ARM::CRC32CH, Convert__Reg1_0__Reg1_1__Reg1_2, Feature_IsARM|Feature_HasV8|Feature_HasCRC, { MCK_GPRnopc, MCK_GPRnopc, MCK_GPRnopc }, },
    7998             :   { 165 /* crc32cw */, ARM::t2CRC32CW, Convert__Reg1_0__Reg1_1__Reg1_2, Feature_IsThumb2|Feature_HasV8|Feature_HasCRC, { MCK_rGPR, MCK_rGPR, MCK_rGPR }, },
    7999             :   { 165 /* crc32cw */, ARM::CRC32CW, Convert__Reg1_0__Reg1_1__Reg1_2, Feature_IsARM|Feature_HasV8|Feature_HasCRC, { MCK_GPRnopc, MCK_GPRnopc, MCK_GPRnopc }, },
    8000             :   { 173 /* crc32h */, ARM::t2CRC32H, Convert__Reg1_0__Reg1_1__Reg1_2, Feature_IsThumb2|Feature_HasV8|Feature_HasCRC, { MCK_rGPR, MCK_rGPR, MCK_rGPR }, },
    8001             :   { 173 /* crc32h */, ARM::CRC32H, Convert__Reg1_0__Reg1_1__Reg1_2, Feature_IsARM|Feature_HasV8|Feature_HasCRC, { MCK_GPRnopc, MCK_GPRnopc, MCK_GPRnopc }, },
    8002             :   { 180 /* crc32w */, ARM::t2CRC32W, Convert__Reg1_0__Reg1_1__Reg1_2, Feature_IsThumb2|Feature_HasV8|Feature_HasCRC, { MCK_rGPR, MCK_rGPR, MCK_rGPR }, },
    8003             :   { 180 /* crc32w */, ARM::CRC32W, Convert__Reg1_0__Reg1_1__Reg1_2, Feature_IsARM|Feature_HasV8|Feature_HasCRC, { MCK_GPRnopc, MCK_GPRnopc, MCK_GPRnopc }, },
    8004             :   { 187 /* csdb */, ARM::HINT, Convert__imm_95_20__CondCode2_0, Feature_IsARM|Feature_HasV6K, { MCK_CondCode }, },
    8005             :   { 187 /* csdb */, ARM::t2HINT, Convert__imm_95_20__CondCode2_0, Feature_IsThumb2, { MCK_CondCode }, },
    8006             :   { 187 /* csdb */, ARM::t2HINT, Convert__imm_95_20__CondCode2_0, Feature_IsThumb2, { MCK_CondCode, MCK__DOT_w }, },
    8007             :   { 192 /* dbg */, ARM::DBG, Convert__Imm0_151_1__CondCode2_0, Feature_IsARM|Feature_HasV7, { MCK_CondCode, MCK_Imm0_15 }, },
    8008             :   { 192 /* dbg */, ARM::t2DBG, Convert__Imm0_151_1__CondCode2_0, Feature_IsThumb2, { MCK_CondCode, MCK_Imm0_15 }, },
    8009             :   { 196 /* dcps1 */, ARM::t2DCPS1, Convert__CondCode2_0, Feature_IsThumb2|Feature_HasV8, { MCK_CondCode }, },
    8010             :   { 202 /* dcps2 */, ARM::t2DCPS2, Convert__CondCode2_0, Feature_IsThumb2|Feature_HasV8, { MCK_CondCode }, },
    8011             :   { 208 /* dcps3 */, ARM::t2DCPS3, Convert__CondCode2_0, Feature_IsThumb2|Feature_HasV8, { MCK_CondCode }, },
    8012             :   { 214 /* dfb */, ARM::DSB, Convert__imm_95_12, Feature_IsARM|Feature_HasDFB, {  }, },
    8013             :   { 214 /* dfb */, ARM::t2DSB, Convert__imm_95_12__CondCode2_0, Feature_HasDFB, { MCK_CondCode }, },
    8014             :   { 218 /* dmb */, ARM::DMB, Convert__imm_95_15, Feature_IsARM|Feature_HasDB, {  }, },
    8015             :   { 218 /* dmb */, ARM::t2DMB, Convert__imm_95_15__CondCode2_0, Feature_HasDB, { MCK_CondCode }, },
    8016             :   { 218 /* dmb */, ARM::DMB, Convert__MemBarrierOpt1_0, Feature_IsARM|Feature_HasDB, { MCK_MemBarrierOpt }, },
    8017             :   { 218 /* dmb */, ARM::t2DMB, Convert__MemBarrierOpt1_1__CondCode2_0, Feature_IsThumb|Feature_HasDB, { MCK_CondCode, MCK_MemBarrierOpt }, },
    8018             :   { 222 /* dsb */, ARM::DSB, Convert__imm_95_15, Feature_IsARM|Feature_HasDB, {  }, },
    8019             :   { 222 /* dsb */, ARM::t2DSB, Convert__imm_95_15__CondCode2_0, Feature_HasDB, { MCK_CondCode }, },
    8020             :   { 222 /* dsb */, ARM::DSB, Convert__MemBarrierOpt1_0, Feature_IsARM|Feature_HasDB, { MCK_MemBarrierOpt }, },
    8021             :   { 222 /* dsb */, ARM::t2DSB, Convert__MemBarrierOpt1_1__CondCode2_0, Feature_IsThumb|Feature_HasDB, { MCK_CondCode, MCK_MemBarrierOpt }, },
    8022             :   { 226 /* eor */, ARM::tEOR, Convert__Reg1_2__CCOut1_0__Tie0_1_1__Reg1_3__CondCode2_1, Feature_IsThumb, { MCK_CCOut, MCK_CondCode, MCK_tGPR, MCK_tGPR }, },
    8023             :   { 226 /* eor */, ARM::t2EORrr, Convert__Reg1_2__Reg1_2__Reg1_3__CondCode2_1__CCOut1_0, Feature_IsThumb2, { MCK_CCOut, MCK_CondCode, MCK_rGPR, MCK_rGPR }, },
    8024             :   { 226 /* eor */, ARM::t2EORrs, Convert__Reg1_2__Reg1_2__RegShiftedImm2_3__CondCode2_1__CCOut1_0, Feature_IsThumb2, { MCK_CCOut, MCK_CondCode, MCK_rGPR, MCK_RegShiftedImm }, },
    8025             :   { 226 /* eor */, ARM::t2EORri, Convert__Reg1_2__Reg1_2__T2SOImm1_3__CondCode2_1__CCOut1_0, Feature_IsThumb2, { MCK_CCOut, MCK_CondCode, MCK_rGPR, MCK_T2SOImm }, },
    8026             :   { 226 /* eor */, ARM::EORrr, Convert__Reg1_2__Reg1_2__Reg1_3__CondCode2_1__CCOut1_0, Feature_IsARM, { MCK_CCOut, MCK_CondCode, MCK_GPR, MCK_GPR }, },
    8027             :   { 226 /* eor */, ARM::EORri, Convert__Reg1_2__Reg1_2__ModImm1_3__CondCode2_1__CCOut1_0, Feature_IsARM, { MCK_CCOut, MCK_CondCode, MCK_GPR, MCK_ModImm }, },
    8028             :   { 226 /* eor */, ARM::EORrsi, Convert__Reg1_2__Reg1_2__RegShiftedImm2_3__CondCode2_1__CCOut1_0, Feature_IsARM, { MCK_CCOut, MCK_CondCode, MCK_GPR, MCK_RegShiftedImm }, },
    8029             :   { 226 /* eor */, ARM::EORrsr, Convert__Reg1_2__Reg1_2__RegShiftedReg3_3__CondCode2_1__CCOut1_0, Feature_IsARM, { MCK_CCOut, MCK_CondCode, MCK_GPR, MCK_RegShiftedReg }, },
    8030             :   { 226 /* eor */, ARM::t2EORrr, Convert__Reg1_3__Reg1_3__Reg1_4__CondCode2_1__CCOut1_0, Feature_IsThumb2, { MCK_CCOut, MCK_CondCode, MCK__DOT_w, MCK_rGPR, MCK_rGPR }, },
    8031             :   { 226 /* eor */, ARM::t2EORrs, Convert__Reg1_3__Reg1_3__RegShiftedImm2_4__CondCode2_1__CCOut1_0, Feature_IsThumb2, { MCK_CCOut, MCK_CondCode, MCK__DOT_w, MCK_rGPR, MCK_RegShiftedImm }, },
    8032             :   { 226 /* eor */, ARM::t2EORri, Convert__Reg1_3__Reg1_3__T2SOImm1_4__CondCode2_1__CCOut1_0, Feature_IsThumb2, { MCK_CCOut, MCK_CondCode, MCK__DOT_w, MCK_rGPR, MCK_T2SOImm }, },
    8033             :   { 226 /* eor */, ARM::t2EORrr, Convert__Reg1_2__Reg1_3__Reg1_4__CondCode2_1__CCOut1_0, Feature_IsThumb2, { MCK_CCOut, MCK_CondCode, MCK_rGPR, MCK_rGPR, MCK_rGPR }, },
    8034             :   { 226 /* eor */, ARM::t2EORrs, Convert__Reg1_2__Reg1_3__RegShiftedImm2_4__CondCode2_1__CCOut1_0, Feature_IsThumb2, { MCK_CCOut, MCK_CondCode, MCK_rGPR, MCK_rGPR, MCK_RegShiftedImm }, },
    8035             :   { 226 /* eor */, ARM::t2EORri, Convert__Reg1_2__Reg1_3__T2SOImm1_4__CondCode2_1__CCOut1_0, Feature_IsThumb2, { MCK_CCOut, MCK_CondCode, MCK_rGPR, MCK_rGPR, MCK_T2SOImm }, },
    8036             :   { 226 /* eor */, ARM::EORrr, Convert__Reg1_2__Reg1_3__Reg1_4__CondCode2_1__CCOut1_0, Feature_IsARM, { MCK_CCOut, MCK_CondCode, MCK_GPR, MCK_GPR, MCK_GPR }, },
    8037             :   { 226 /* eor */, ARM::EORri, Convert__Reg1_2__Reg1_3__ModImm1_4__CondCode2_1__CCOut1_0, Feature_IsARM, { MCK_CCOut, MCK_CondCode, MCK_GPR, MCK_GPR, MCK_ModImm }, },
    8038             :   { 226 /* eor */, ARM::EORrsi, Convert__Reg1_2__Reg1_3__RegShiftedImm2_4__CondCode2_1__CCOut1_0, Feature_IsARM, { MCK_CCOut, MCK_CondCode, MCK_GPR, MCK_GPR, MCK_RegShiftedImm }, },
    8039             :   { 226 /* eor */, ARM::EORrsr, Convert__Reg1_2__Reg1_3__RegShiftedReg3_4__CondCode2_1__CCOut1_0, Feature_IsARM, { MCK_CCOut, MCK_CondCode, MCK_GPR, MCK_GPR, MCK_RegShiftedReg }, },
    8040             :   { 226 /* eor */, ARM::t2EORrr, Convert__Reg1_3__Reg1_4__Reg1_5__CondCode2_1__CCOut1_0, Feature_IsThumb2, { MCK_CCOut, MCK_CondCode, MCK__DOT_w, MCK_rGPR, MCK_rGPR, MCK_rGPR }, },
    8041             :   { 226 /* eor */, ARM::t2EORrs, Convert__Reg1_3__Reg1_4__RegShiftedImm2_5__CondCode2_1__CCOut1_0, Feature_IsThumb2, { MCK_CCOut, MCK_CondCode, MCK__DOT_w, MCK_rGPR, MCK_rGPR, MCK_RegShiftedImm }, },
    8042             :   { 226 /* eor */, ARM::t2EORri, Convert__Reg1_3__Reg1_4__T2SOImm1_5__CondCode2_1__CCOut1_0, Feature_IsThumb2, { MCK_CCOut, MCK_CondCode, MCK__DOT_w, MCK_rGPR, MCK_rGPR, MCK_T2SOImm }, },
    8043             :   { 230 /* eret */, ARM::ERET, Convert__CondCode2_0, Feature_IsARM|Feature_HasVirtualization, { MCK_CondCode }, },
    8044             :   { 230 /* eret */, ARM::t2SUBS_PC_LR, Convert__imm_95_0__CondCode2_0, Feature_IsThumb2|Feature_HasVirtualization, { MCK_CondCode }, },
    8045             :   { 235 /* esb */, ARM::HINT, Convert__imm_95_16__CondCode2_0, Feature_IsARM|Feature_HasRAS, { MCK_CondCode }, },
    8046             :   { 235 /* esb */, ARM::t2HINT, Convert__imm_95_16__CondCode2_0, Feature_IsThumb2|Feature_HasRAS, { MCK_CondCode }, },
    8047             :   { 235 /* esb */, ARM::t2HINT, Convert__imm_95_16__CondCode2_0, Feature_IsThumb2|Feature_HasRAS, { MCK_CondCode, MCK__DOT_w }, },
    8048             :   { 239 /* faddd */, ARM::VADDD, Convert__Reg1_1__Reg1_2__Reg1_3__CondCode2_0, Feature_HasVFP2|Feature_HasDPVFP, { MCK_CondCode, MCK_DPR, MCK_DPR, MCK_DPR }, },
    8049             :   { 245 /* fadds */, ARM::VADDS, Convert__Reg1_1__Reg1_2__Reg1_3__CondCode2_0, Feature_HasVFP2, { MCK_CondCode, MCK_HPR, MCK_HPR, MCK_HPR }, },
    8050             :   { 251 /* fcmpzd */, ARM::VCMPZD, Convert__Reg1_1__CondCode2_0, Feature_HasVFP2|Feature_HasDPVFP, { MCK_CondCode, MCK_DPR }, },
    8051             :   { 258 /* fcmpzs */, ARM::VCMPZS, Convert__Reg1_1__CondCode2_0, Feature_HasVFP2, { MCK_CondCode, MCK_HPR }, },
    8052             :   { 265 /* fconstd */, ARM::FCONSTD, Convert__Reg1_1__FPImm1_2__CondCode2_0, Feature_HasVFP3, { MCK_CondCode, MCK_DPR, MCK_FPImm }, },
    8053             :   { 273 /* fconsts */, ARM::FCONSTS, Convert__Reg1_1__FPImm1_2__CondCode2_0, Feature_HasVFP3, { MCK_CondCode, MCK_HPR, MCK_FPImm }, },
    8054             :   { 281 /* fldmdbx */, ARM::FLDMXDB_UPD, Convert__Reg1_1__Tie0_2_2__CondCode2_0__DPRRegList1_3, Feature_HasVFP2, { MCK_CondCode, MCK_GPR, MCK__EXCLAIM_, MCK_DPRRegList }, },
    8055             :   { 289 /* fldmiax */, ARM::FLDMXIA, Convert__Reg1_1__CondCode2_0__DPRRegList1_2, Feature_HasVFP2, { MCK_CondCode, MCK_GPR, MCK_DPRRegList }, },
    8056             :   { 289 /* fldmiax */, ARM::FLDMXIA_UPD, Convert__Reg1_1__Tie0_2_2__CondCode2_0__DPRRegList1_3, Feature_HasVFP2, { MCK_CondCode, MCK_GPR, MCK__EXCLAIM_, MCK_DPRRegList }, },
    8057             :   { 297 /* fmdhr */, ARM::VSETLNi32, Convert__Reg1_1__Tie0_2_2__Reg1_2__imm_95_1__CondCode2_0, Feature_HasVFP2, { MCK_CondCode, MCK_DPR, MCK_GPR }, },
    8058             :   { 303 /* fmdlr */, ARM::VSETLNi32, Convert__Reg1_1__Tie0_2_2__Reg1_2__imm_95_0__CondCode2_0, Feature_HasVFP2, { MCK_CondCode, MCK_DPR, MCK_GPR }, },
    8059             :   { 309 /* fmstat */, ARM::FMSTAT, Convert__CondCode2_0, Feature_HasVFP2, { MCK_CondCode }, },
    8060             :   { 316 /* fstmdbx */, ARM::FSTMXDB_UPD, Convert__Reg1_1__Tie0_2_2__CondCode2_0__DPRRegList1_3, Feature_HasVFP2, { MCK_CondCode, MCK_GPR, MCK__EXCLAIM_, MCK_DPRRegList }, },
    8061             :   { 324 /* fstmiax */, ARM::FSTMXIA, Convert__Reg1_1__CondCode2_0__DPRRegList1_2, Feature_HasVFP2, { MCK_CondCode, MCK_GPR, MCK_DPRRegList }, },
    8062             :   { 324 /* fstmiax */, ARM::FSTMXIA_UPD, Convert__Reg1_1__Tie0_2_2__CondCode2_0__DPRRegList1_3, Feature_HasVFP2, { MCK_CondCode, MCK_GPR, MCK__EXCLAIM_, MCK_DPRRegList }, },
    8063             :   { 332 /* fsubd */, ARM::VSUBD, Convert__Reg1_1__Reg1_2__Reg1_3__CondCode2_0, Feature_HasVFP2|Feature_HasDPVFP, { MCK_CondCode, MCK_DPR, MCK_DPR, MCK_DPR }, },
    8064             :   { 338 /* fsubs */, ARM::VSUBS, Convert__Reg1_1__Reg1_2__Reg1_3__CondCode2_0, Feature_HasVFP2, { MCK_CondCode, MCK_HPR, MCK_HPR, MCK_HPR }, },
    8065             :   { 344 /* hint */, ARM::tHINT, Convert__Imm0_151_1__CondCode2_0, Feature_IsThumb|Feature_HasV6M, { MCK_CondCode, MCK_Imm0_15 }, },
    8066             :   { 344 /* hint */, ARM::HINT, Convert__Imm0_2391_1__CondCode2_0, Feature_IsARM|Feature_HasV6, { MCK_CondCode, MCK_Imm0_239 }, },
    8067             :   { 344 /* hint */, ARM::t2HINT, Convert__Imm0_2391_1__CondCode2_0, Feature_IsThumb2, { MCK_CondCode, MCK_Imm0_239 }, },
    8068             :   { 344 /* hint */, ARM::t2HINT, Convert__Imm0_2391_2__CondCode2_0, Feature_IsThumb2, { MCK_CondCode, MCK__DOT_w, MCK_Imm0_239 }, },
    8069             :   { 349 /* hlt */, ARM::tHLT, Convert__Imm0_631_0, Feature_IsThumb|Feature_HasV8, { MCK_Imm0_63 }, },
    8070             :   { 349 /* hlt */, ARM::HLT, Convert__Imm0_655351_0, Feature_IsARM|Feature_HasV8, { MCK_Imm0_65535 }, },
    8071             :   { 353 /* hvc */, ARM::HVC, Convert__Imm0_655351_0, Feature_IsARM|Feature_HasVirtualization, { MCK_Imm0_65535 }, },
    8072             :   { 353 /* hvc */, ARM::t2HVC, Convert__Imm0_655351_0, Feature_IsThumb2, { MCK_Imm0_65535 }, },
    8073             :   { 353 /* hvc */, ARM::t2HVC, Convert__Imm0_655351_1, Feature_IsThumb2|Feature_HasVirtualization, { MCK__DOT_w, MCK_Imm0_65535 }, },
    8074             :   { 357 /* isb */, ARM::ISB, Convert__imm_95_15, Feature_IsARM|Feature_HasDB, {  }, },
    8075             :   { 357 /* isb */, ARM::t2ISB, Convert__imm_95_15__CondCode2_0, Feature_HasDB, { MCK_CondCode }, },
    8076             :   { 357 /* isb */, ARM::ISB, Convert__InstSyncBarrierOpt1_0, Feature_IsARM|Feature_HasDB, { MCK_InstSyncBarrierOpt }, },
    8077             :   { 357 /* isb */, ARM::t2ISB, Convert__InstSyncBarrierOpt1_1__CondCode2_0, Feature_IsThumb|Feature_HasDB, { MCK_CondCode, MCK_InstSyncBarrierOpt }, },
    8078             :   { 361 /* it */, ARM::ITasm, Convert__ITCondCode1_1__ITMask1_0, Feature_IsARM, { MCK_ITMask, MCK_ITCondCode }, },
    8079             :   { 361 /* it */, ARM::t2IT, Convert__ITCondCode1_1__ITMask1_0, Feature_IsThumb2, { MCK_ITMask, MCK_ITCondCode }, },
    8080             :   { 364 /* lda */, ARM::t2LDA, Convert__Reg1_1__MemNoOffset1_2__CondCode2_0, Feature_IsThumb|Feature_HasAcquireRelease, { MCK_CondCode, MCK_rGPR, MCK_MemNoOffset }, },
    8081             :   { 364 /* lda */, ARM::LDA, Convert__Reg1_1__MemNoOffset1_2__CondCode2_0, Feature_IsARM|Feature_HasAcquireRelease, { MCK_CondCode, MCK_GPR, MCK_MemNoOffset }, },
    8082             :   { 368 /* ldab */, ARM::t2LDAB, Convert__Reg1_1__MemNoOffset1_2__CondCode2_0, Feature_IsThumb|Feature_HasAcquireRelease, { MCK_CondCode, MCK_rGPR, MCK_MemNoOffset }, },
    8083             :   { 368 /* ldab */, ARM::LDAB, Convert__Reg1_1__MemNoOffset1_2__CondCode2_0, Feature_IsARM|Feature_HasAcquireRelease, { MCK_CondCode, MCK_GPR, MCK_MemNoOffset }, },
    8084             :   { 373 /* ldaex */, ARM::t2LDAEX, Convert__Reg1_1__MemNoOffset1_2__CondCode2_0, Feature_IsThumb|Feature_HasAcquireRelease|Feature_HasV7Clrex, { MCK_CondCode, MCK_rGPR, MCK_MemNoOffset }, },
    8085             :   { 373 /* ldaex */, ARM::LDAEX, Convert__Reg1_1__MemNoOffset1_2__CondCode2_0, Feature_IsARM|Feature_HasAcquireRelease|Feature_HasV7Clrex, { MCK_CondCode, MCK_GPR, MCK_MemNoOffset }, },
    8086             :   { 379 /* ldaexb */, ARM::t2LDAEXB, Convert__Reg1_1__MemNoOffset1_2__CondCode2_0, Feature_IsThumb|Feature_HasAcquireRelease|Feature_HasV7Clrex, { MCK_CondCode, MCK_rGPR, MCK_MemNoOffset }, },
    8087             :   { 379 /* ldaexb */, ARM::LDAEXB, Convert__Reg1_1__MemNoOffset1_2__CondCode2_0, Feature_IsARM|Feature_HasAcquireRelease|Feature_HasV7Clrex, { MCK_CondCode, MCK_GPR, MCK_MemNoOffset }, },
    8088             :   { 386 /* ldaexd */, ARM::LDAEXD, Convert__Reg1_1__MemNoOffset1_2__CondCode2_0, Feature_IsARM|Feature_HasAcquireRelease|Feature_HasV7Clrex, { MCK_CondCode, MCK_GPRPair, MCK_MemNoOffset }, },
    8089             :   { 386 /* ldaexd */, ARM::t2LDAEXD, Convert__Reg1_1__Reg1_2__MemNoOffset1_3__CondCode2_0, Feature_IsThumb|Feature_HasAcquireRelease|Feature_HasV7Clrex|Feature_IsNotMClass, { MCK_CondCode, MCK_rGPR, MCK_rGPR, MCK_MemNoOffset }, },
    8090             :   { 393 /* ldaexh */, ARM::t2LDAEXH, Convert__Reg1_1__MemNoOffset1_2__CondCode2_0, Feature_IsThumb|Feature_HasAcquireRelease|Feature_HasV7Clrex, { MCK_CondCode, MCK_rGPR, MCK_MemNoOffset }, },
    8091             :   { 393 /* ldaexh */, ARM::LDAEXH, Convert__Reg1_1__MemNoOffset1_2__CondCode2_0, Feature_IsARM|Feature_HasAcquireRelease|Feature_HasV7Clrex, { MCK_CondCode, MCK_GPR, MCK_MemNoOffset }, },
    8092             :   { 400 /* ldah */, ARM::t2LDAH, Convert__Reg1_1__MemNoOffset1_2__CondCode2_0, Feature_IsThumb|Feature_HasAcquireRelease, { MCK_CondCode, MCK_rGPR, MCK_MemNoOffset }, },
    8093             :   { 400 /* ldah */, ARM::LDAH, Convert__Reg1_1__MemNoOffset1_2__CondCode2_0, Feature_IsARM|Feature_HasAcquireRelease, { MCK_CondCode, MCK_GPR, MCK_MemNoOffset }, },
    8094             :   { 405 /* ldc */, ARM::LDC_OFFSET, Convert__CoprocNum1_1__CoprocReg1_2__AddrMode52_3__CondCode2_0, Feature_IsARM, { MCK_CondCode, MCK_CoprocNum, MCK_CoprocReg, MCK_AddrMode5 }, },
    8095             :   { 405 /* ldc */, ARM::t2LDC_OFFSET, Convert__CoprocNum1_1__CoprocReg1_2__AddrMode52_3__CondCode2_0, Feature_IsThumb2, { MCK_CondCode, MCK_CoprocNum, MCK_CoprocReg, MCK_AddrMode5 }, },
    8096             :   { 405 /* ldc */, ARM::LDC_PRE, Convert__CoprocNum1_1__CoprocReg1_2__AddrMode52_3__CondCode2_0, Feature_IsARM, { MCK_CondCode, MCK_CoprocNum, MCK_CoprocReg, MCK_AddrMode5, MCK__EXCLAIM_ }, },
    8097             :   { 405 /* ldc */, ARM::t2LDC_PRE, Convert__CoprocNum1_1__CoprocReg1_2__AddrMode52_3__CondCode2_0, Feature_IsThumb2, { MCK_CondCode, MCK_CoprocNum, MCK_CoprocReg, MCK_AddrMode5, MCK__EXCLAIM_ }, },
    8098             :   { 405 /* ldc */, ARM::LDC_OPTION, Convert__CoprocNum1_1__CoprocReg1_2__MemNoOffset1_3__CoprocOption1_4__CondCode2_0, Feature_IsARM, { MCK_CondCode, MCK_CoprocNum, MCK_CoprocReg, MCK_MemNoOffset, MCK_CoprocOption }, },
    8099             :   { 405 /* ldc */, ARM::t2LDC_OPTION, Convert__CoprocNum1_1__CoprocReg1_2__MemNoOffset1_3__CoprocOption1_4__CondCode2_0, Feature_IsThumb2, { MCK_CondCode, MCK_CoprocNum, MCK_CoprocReg, MCK_MemNoOffset, MCK_CoprocOption }, },
    8100             :   { 405 /* ldc */, ARM::LDC_POST, Convert__CoprocNum1_1__CoprocReg1_2__MemNoOffset1_3__PostIdxImm8s41_4__CondCode2_0, Feature_IsARM, { MCK_CondCode, MCK_CoprocNum, MCK_CoprocReg, MCK_MemNoOffset, MCK_PostIdxImm8s4 }, },
    8101             :   { 405 /* ldc */, ARM::t2LDC_POST, Convert__CoprocNum1_1__CoprocReg1_2__MemNoOffset1_3__PostIdxImm8s41_4__CondCode2_0, Feature_IsThumb2, { MCK_CondCode, MCK_CoprocNum, MCK_CoprocReg, MCK_MemNoOffset, MCK_PostIdxImm8s4 }, },
    8102             :   { 409 /* ldc2 */, ARM::LDC2_OFFSET, Convert__CoprocNum1_0__CoprocReg1_1__AddrMode52_2, Feature_IsARM|Feature_PreV8, { MCK_CoprocNum, MCK_CoprocReg, MCK_AddrMode5 }, },
    8103             :   { 409 /* ldc2 */, ARM::t2LDC2_OFFSET, Convert__CoprocNum1_1__CoprocReg1_2__AddrMode52_3__CondCode2_0, Feature_PreV8|Feature_IsThumb2, { MCK_CondCode, MCK_CoprocNum, MCK_CoprocReg, MCK_AddrMode5 }, },
    8104             :   { 409 /* ldc2 */, ARM::LDC2_PRE, Convert__CoprocNum1_0__CoprocReg1_1__AddrMode52_2, Feature_IsARM|Feature_PreV8, { MCK_CoprocNum, MCK_CoprocReg, MCK_AddrMode5, MCK__EXCLAIM_ }, },
    8105             :   { 409 /* ldc2 */, ARM::LDC2_OPTION, Convert__CoprocNum1_0__CoprocReg1_1__MemNoOffset1_2__CoprocOption1_3, Feature_IsARM|Feature_PreV8, { MCK_CoprocNum, MCK_CoprocReg, MCK_MemNoOffset, MCK_CoprocOption }, },
    8106             :   { 409 /* ldc2 */, ARM::LDC2_POST, Convert__CoprocNum1_0__CoprocReg1_1__MemNoOffset1_2__PostIdxImm8s41_3, Feature_IsARM|Feature_PreV8, { MCK_CoprocNum, MCK_CoprocReg, MCK_MemNoOffset, MCK_PostIdxImm8s4 }, },
    8107             :   { 409 /* ldc2 */, ARM::t2LDC2_PRE, Convert__CoprocNum1_1__CoprocReg1_2__AddrMode52_3__CondCode2_0, Feature_PreV8|Feature_IsThumb2, { MCK_CondCode, MCK_CoprocNum, MCK_CoprocReg, MCK_AddrMode5, MCK__EXCLAIM_ }, },
    8108             :   { 409 /* ldc2 */, ARM::t2LDC2_OPTION, Convert__CoprocNum1_1__CoprocReg1_2__MemNoOffset1_3__CoprocOption1_4__CondCode2_0, Feature_PreV8|Feature_IsThumb2, { MCK_CondCode, MCK_CoprocNum, MCK_CoprocReg, MCK_MemNoOffset, MCK_CoprocOption }, },
    8109             :   { 409 /* ldc2 */, ARM::t2LDC2_POST, Convert__CoprocNum1_1__CoprocReg1_2__MemNoOffset1_3__PostIdxImm8s41_4__CondCode2_0, Feature_PreV8|Feature_IsThumb2, { MCK_CondCode, MCK_CoprocNum, MCK_CoprocReg, MCK_MemNoOffset, MCK_PostIdxImm8s4 }, },
    8110             :   { 414 /* ldc2l */, ARM::LDC2L_OFFSET, Convert__CoprocNum1_0__CoprocReg1_1__AddrMode52_2, Feature_IsARM|Feature_PreV8, { MCK_CoprocNum, MCK_CoprocReg, MCK_AddrMode5 }, },
    8111             :   { 414 /* ldc2l */, ARM::t2LDC2L_OFFSET, Convert__CoprocNum1_1__CoprocReg1_2__AddrMode52_3__CondCode2_0, Feature_PreV8|Feature_IsThumb2, { MCK_CondCode, MCK_CoprocNum, MCK_CoprocReg, MCK_AddrMode5 }, },
    8112             :   { 414 /* ldc2l */, ARM::LDC2L_PRE, Convert__CoprocNum1_0__CoprocReg1_1__AddrMode52_2, Feature_IsARM|Feature_PreV8, { MCK_CoprocNum, MCK_CoprocReg, MCK_AddrMode5, MCK__EXCLAIM_ }, },
    8113             :   { 414 /* ldc2l */, ARM::LDC2L_OPTION, Convert__CoprocNum1_0__CoprocReg1_1__MemNoOffset1_2__CoprocOption1_3, Feature_IsARM|Feature_PreV8, { MCK_CoprocNum, MCK_CoprocReg, MCK_MemNoOffset, MCK_CoprocOption }, },
    8114             :   { 414 /* ldc2l */, ARM::LDC2L_POST, Convert__CoprocNum1_0__CoprocReg1_1__MemNoOffset1_2__PostIdxImm8s41_3, Feature_IsARM|Feature_PreV8, { MCK_CoprocNum, MCK_CoprocReg, MCK_MemNoOffset, MCK_PostIdxImm8s4 }, },
    8115             :   { 414 /* ldc2l */, ARM::t2LDC2L_PRE, Convert__CoprocNum1_1__CoprocReg1_2__AddrMode52_3__CondCode2_0, Feature_PreV8|Feature_IsThumb2, { MCK_CondCode, MCK_CoprocNum, MCK_CoprocReg, MCK_AddrMode5, MCK__EXCLAIM_ }, },
    8116             :   { 414 /* ldc2l */, ARM::t2LDC2L_OPTION, Convert__CoprocNum1_1__CoprocReg1_2__MemNoOffset1_3__CoprocOption1_4__CondCode2_0, Feature_PreV8|Feature_IsThumb2, { MCK_CondCode, MCK_CoprocNum, MCK_CoprocReg, MCK_MemNoOffset, MCK_CoprocOption }, },
    8117             :   { 414 /* ldc2l */, ARM::t2LDC2L_POST, Convert__CoprocNum1_1__CoprocReg1_2__MemNoOffset1_3__PostIdxImm8s41_4__CondCode2_0, Feature_PreV8|Feature_IsThumb2, { MCK_CondCode, MCK_CoprocNum, MCK_CoprocReg, MCK_MemNoOffset, MCK_PostIdxImm8s4 }, },
    8118             :   { 420 /* ldcl */, ARM::LDCL_OFFSET, Convert__CoprocNum1_1__CoprocReg1_2__AddrMode52_3__CondCode2_0, Feature_IsARM, { MCK_CondCode, MCK_CoprocNum, MCK_CoprocReg, MCK_AddrMode5 }, },
    8119             :   { 420 /* ldcl */, ARM::t2LDCL_OFFSET, Convert__CoprocNum1_1__CoprocReg1_2__AddrMode52_3__CondCode2_0, Feature_IsThumb2, { MCK_CondCode, MCK_CoprocNum, MCK_CoprocReg, MCK_AddrMode5 }, },
    8120             :   { 420 /* ldcl */, ARM::LDCL_PRE, Convert__CoprocNum1_1__CoprocReg1_2__AddrMode52_3__CondCode2_0, Feature_IsARM, { MCK_CondCode, MCK_CoprocNum, MCK_CoprocReg, MCK_AddrMode5, MCK__EXCLAIM_ }, },
    8121             :   { 420 /* ldcl */, ARM::t2LDCL_PRE, Convert__CoprocNum1_1__CoprocReg1_2__AddrMode52_3__CondCode2_0, Feature_IsThumb2, { MCK_CondCode, MCK_CoprocNum, MCK_CoprocReg, MCK_AddrMode5, MCK__EXCLAIM_ }, },
    8122             :   { 420 /* ldcl */, ARM::LDCL_OPTION, Convert__CoprocNum1_1__CoprocReg1_2__MemNoOffset1_3__CoprocOption1_4__CondCode2_0, Feature_IsARM, { MCK_CondCode, MCK_CoprocNum, MCK_CoprocReg, MCK_MemNoOffset, MCK_CoprocOption }, },
    8123             :   { 420 /* ldcl */, ARM::t2LDCL_OPTION, Convert__CoprocNum1_1__CoprocReg1_2__MemNoOffset1_3__CoprocOption1_4__CondCode2_0, Feature_IsThumb2, { MCK_CondCode, MCK_CoprocNum, MCK_CoprocReg, MCK_MemNoOffset, MCK_CoprocOption }, },
    8124             :   { 420 /* ldcl */, ARM::LDCL_POST, Convert__CoprocNum1_1__CoprocReg1_2__MemNoOffset1_3__PostIdxImm8s41_4__CondCode2_0, Feature_IsARM, { MCK_CondCode, MCK_CoprocNum, MCK_CoprocReg, MCK_MemNoOffset, MCK_PostIdxImm8s4 }, },
    8125             :   { 420 /* ldcl */, ARM::t2LDCL_POST, Convert__CoprocNum1_1__CoprocReg1_2__MemNoOffset1_3__PostIdxImm8s41_4__CondCode2_0, Feature_IsThumb2, { MCK_CondCode, MCK_CoprocNum, MCK_CoprocReg, MCK_MemNoOffset, MCK_PostIdxImm8s4 }, },
    8126             :   { 425 /* ldm */, ARM::tLDMIA, Convert__Reg1_1__CondCode2_0__RegList1_2, Feature_IsThumb, { MCK_CondCode, MCK_tGPR, MCK_RegList }, },
    8127             :   { 425 /* ldm */, ARM::LDMIA, Convert__Reg1_1__CondCode2_0__RegList1_2, Feature_IsARM, { MCK_CondCode, MCK_GPR, MCK_RegList }, },
    8128             :   { 425 /* ldm */, ARM::t2LDMIA, Convert__Reg1_1__CondCode2_0__RegList1_2, Feature_IsThumb2, { MCK_CondCode, MCK_GPR, MCK_RegList }, },
    8129             :   { 425 /* ldm */, ARM::t2LDMIA, Convert__Reg1_2__CondCode2_0__RegList1_3, Feature_IsThumb2, { MCK_CondCode, MCK__DOT_w, MCK_GPR, MCK_RegList }, },
    8130             :   { 425 /* ldm */, ARM::tLDMIA, Convert__Reg1_1__CondCode2_0__RegList1_3, Feature_IsThumb, { MCK_CondCode, MCK_tGPR, MCK__EXCLAIM_, MCK_RegList }, },
    8131             :   { 425 /* ldm */, ARM::LDMIA_UPD, Convert__Reg1_1__Tie0_2_2__CondCode2_0__RegList1_3, Feature_IsARM, { MCK_CondCode, MCK_GPR, MCK__EXCLAIM_, MCK_RegList }, },
    8132             :   { 425 /* ldm */, ARM::t2LDMIA_UPD, Convert__Reg1_1__Tie0_2_2__CondCode2_0__RegList1_3, Feature_IsThumb2, { MCK_CondCode, MCK_GPR, MCK__EXCLAIM_, MCK_RegList }, },
    8133             :   { 425 /* ldm */, ARM::sysLDMIA, Convert__Reg1_1__CondCode2_0__RegList1_2, Feature_IsARM, { MCK_CondCode, MCK_GPR, MCK_RegList, MCK__94_ }, },
    8134             :   { 425 /* ldm */, ARM::t2LDMIA_UPD, Convert__Reg1_2__Tie0_3_3__CondCode2_0__RegList1_4, Feature_IsThumb2, { MCK_CondCode, MCK__DOT_w, MCK_GPR, MCK__EXCLAIM_, MCK_RegList }, },
    8135             :   { 425 /* ldm */, ARM::sysLDMIA_UPD, Convert__Reg1_1__Tie0_2_2__CondCode2_0__RegList1_3, Feature_IsARM, { MCK_CondCode, MCK_GPR, MCK__EXCLAIM_, MCK_RegList, MCK__94_ }, },
    8136             :   { 429 /* ldmda */, ARM::LDMDA, Convert__Reg1_1__CondCode2_0__RegList1_2, Feature_IsARM, { MCK_CondCode, MCK_GPR, MCK_RegList }, },
    8137             :   { 429 /* ldmda */, ARM::LDMDA_UPD, Convert__Reg1_1__Tie0_2_2__CondCode2_0__RegList1_3, Feature_IsARM, { MCK_CondCode, MCK_GPR, MCK__EXCLAIM_, MCK_RegList }, },
    8138             :   { 429 /* ldmda */, ARM::sysLDMDA, Convert__Reg1_1__CondCode2_0__RegList1_2, Feature_IsARM, { MCK_CondCode, MCK_GPR, MCK_RegList, MCK__94_ }, },
    8139             :   { 429 /* ldmda */, ARM::sysLDMDA_UPD, Convert__Reg1_1__Tie0_2_2__CondCode2_0__RegList1_3, Feature_IsARM, { MCK_CondCode, MCK_GPR, MCK__EXCLAIM_, MCK_RegList, MCK__94_ }, },
    8140             :   { 435 /* ldmdb */, ARM::LDMDB, Convert__Reg1_1__CondCode2_0__RegList1_2, Feature_IsARM, { MCK_CondCode, MCK_GPR, MCK_RegList }, },
    8141             :   { 435 /* ldmdb */, ARM::t2LDMDB, Convert__Reg1_1__CondCode2_0__RegList1_2, Feature_IsThumb2, { MCK_CondCode, MCK_GPR, MCK_RegList }, },
    8142             :   { 435 /* ldmdb */, ARM::t2LDMDB, Convert__Reg1_2__CondCode2_0__RegList1_3, Feature_IsThumb2, { MCK_CondCode, MCK__DOT_w, MCK_GPR, MCK_RegList }, },
    8143             :   { 435 /* ldmdb */, ARM::LDMDB_UPD, Convert__Reg1_1__Tie0_2_2__CondCode2_0__RegList1_3, Feature_IsARM, { MCK_CondCode, MCK_GPR, MCK__EXCLAIM_, MCK_RegList }, },
    8144             :   { 435 /* ldmdb */, ARM::t2LDMDB_UPD, Convert__Reg1_1__Tie0_2_2__CondCode2_0__RegList1_3, Feature_IsThumb2, { MCK_CondCode, MCK_GPR, MCK__EXCLAIM_, MCK_RegList }, },
    8145             :   { 435 /* ldmdb */, ARM::sysLDMDB, Convert__Reg1_1__CondCode2_0__RegList1_2, Feature_IsARM, { MCK_CondCode, MCK_GPR, MCK_RegList, MCK__94_ }, },
    8146             :   { 435 /* ldmdb */, ARM::t2LDMDB_UPD, Convert__Reg1_2__Tie0_3_3__CondCode2_0__RegList1_4, Feature_IsThumb2, { MCK_CondCode, MCK__DOT_w, MCK_GPR, MCK__EXCLAIM_, MCK_RegList }, },
    8147             :   { 435 /* ldmdb */, ARM::sysLDMDB_UPD, Convert__Reg1_1__Tie0_2_2__CondCode2_0__RegList1_3, Feature_IsARM, { MCK_CondCode, MCK_GPR, MCK__EXCLAIM_, MCK_RegList, MCK__94_ }, },
    8148             :   { 441 /* ldmib */, ARM::LDMIB, Convert__Reg1_1__CondCode2_0__RegList1_2, Feature_IsARM, { MCK_CondCode, MCK_GPR, MCK_RegList }, },
    8149             :   { 441 /* ldmib */, ARM::LDMIB_UPD, Convert__Reg1_1__Tie0_2_2__CondCode2_0__RegList1_3, Feature_IsARM, { MCK_CondCode, MCK_GPR, MCK__EXCLAIM_, MCK_RegList }, },
    8150             :   { 441 /* ldmib */, ARM::sysLDMIB, Convert__Reg1_1__CondCode2_0__RegList1_2, Feature_IsARM, { MCK_CondCode, MCK_GPR, MCK_RegList, MCK__94_ }, },
    8151             :   { 441 /* ldmib */, ARM::sysLDMIB_UPD, Convert__Reg1_1__Tie0_2_2__CondCode2_0__RegList1_3, Feature_IsARM, { MCK_CondCode, MCK_GPR, MCK__EXCLAIM_, MCK_RegList, MCK__94_ }, },
    8152             :   { 447 /* ldr */, ARM::tLDRpci, Convert__Reg1_1__ThumbMemPC1_2__CondCode2_0, Feature_IsThumb, { MCK_CondCode, MCK_tGPR, MCK_ThumbMemPC }, },
    8153             :   { 447 /* ldr */, ARM::tLDRConstPool, Convert__Reg1_1__ConstPoolAsmImm1_2__CondCode2_0, Feature_IsThumb, { MCK_CondCode, MCK_tGPR, MCK_ConstPoolAsmImm }, },
    8154             :   { 447 /* ldr */, ARM::tLDRi, Convert__Reg1_1__MemThumbRIs42_2__CondCode2_0, Feature_IsThumb, { MCK_CondCode, MCK_tGPR, MCK_MemThumbRIs4 }, },
    8155             :   { 447 /* ldr */, ARM::tLDRr, Convert__Reg1_1__MemThumbRR2_2__CondCode2_0, Feature_IsThumb, { MCK_CondCode, MCK_tGPR, MCK_MemThumbRR }, },
    8156             :   { 447 /* ldr */, ARM::tLDRspi, Convert__Reg1_1__MemThumbSPI2_2__CondCode2_0, Feature_IsThumb, { MCK_CondCode, MCK_tGPR, MCK_MemThumbSPI }, },
    8157             :   { 447 /* ldr */, ARM::t2LDRpci, Convert__Reg1_1__Imm1_2__CondCode2_0, Feature_IsThumb2, { MCK_CondCode, MCK_GPR, MCK_Imm }, },
    8158             :   { 447 /* ldr */, ARM::LDRi12, Convert__Reg1_1__MemImm12Offset2_2__CondCode2_0, Feature_IsARM, { MCK_CondCode, MCK_GPR, MCK_MemImm12Offset }, },
    8159             :   { 447 /* ldr */, ARM::t2LDRi8, Convert__Reg1_1__MemNegImm8Offset2_2__CondCode2_0, Feature_IsThumb2, { MCK_CondCode, MCK_GPR, MCK_MemNegImm8Offset }, },
    8160             :   { 447 /* ldr */, ARM::LDRrs, Convert__Reg1_1__MemRegOffset3_2__CondCode2_0, Feature_IsARM, { MCK_CondCode, MCK_GPR, MCK_MemRegOffset }, },
    8161             :   { 447 /* ldr */, ARM::LDRConstPool, Convert__Reg1_1__ConstPoolAsmImm1_2__CondCode2_0, Feature_IsARM, { MCK_CondCode, MCK_GPR, MCK_ConstPoolAsmImm }, },
    8162             :   { 447 /* ldr */, ARM::t2LDRConstPool, Convert__Reg1_1__ConstPoolAsmImm1_2__CondCode2_0, Feature_IsThumb2, { MCK_CondCode, MCK_GPR, MCK_ConstPoolAsmImm }, },
    8163             :   { 447 /* ldr */, ARM::t2LDRi12, Convert__Reg1_1__MemUImm12Offset2_2__CondCode2_0, Feature_IsThumb2, { MCK_CondCode, MCK_GPR, MCK_MemUImm12Offset }, },
    8164             :   { 447 /* ldr */, ARM::t2LDRs, Convert__Reg1_1__T2MemRegOffset3_2__CondCode2_0, Feature_IsThumb2, { MCK_CondCode, MCK_GPR, MCK_T2MemRegOffset }, },
    8165             :   { 447 /* ldr */, ARM::t2LDRpcrel, Convert__Reg1_1__MemPCRelImm121_2__CondCode2_0, Feature_IsThumb2, { MCK_CondCode, MCK_GPR, MCK_MemPCRelImm12 }, },
    8166             :   { 447 /* ldr */, ARM::t2LDRConstPool, Convert__Reg1_2__ConstPoolAsmImm1_3__CondCode2_0, Feature_IsThumb2, { MCK_CondCode, MCK__DOT_w, MCK_GPRnopc, MCK_ConstPoolAsmImm }, },
    8167             :   { 447 /* ldr */, ARM::t2LDRpci, Convert__Reg1_2__Imm1_3__CondCode2_0, Feature_IsThumb2, { MCK_CondCode, MCK__DOT_w, MCK_GPR, MCK_Imm }, },
    8168             :   { 447 /* ldr */, ARM::t2LDRi12, Convert__Reg1_2__MemUImm12Offset2_3__CondCode2_0, Feature_IsThumb2, { MCK_CondCode, MCK__DOT_w, MCK_GPR, MCK_MemUImm12Offset }, },
    8169             :   { 447 /* ldr */, ARM::t2LDRs, Convert__Reg1_2__T2MemRegOffset3_3__CondCode2_0, Feature_IsThumb2, { MCK_CondCode, MCK__DOT_w, MCK_GPR, MCK_T2MemRegOffset }, },
    8170             :   { 447 /* ldr */, ARM::t2LDRpcrel, Convert__Reg1_2__MemPCRelImm121_3__CondCode2_0, Feature_IsThumb2, { MCK_CondCode, MCK__DOT_w, MCK_GPR, MCK_MemPCRelImm12 }, },
    8171             :   { 447 /* ldr */, ARM::LDR_PRE_IMM, Convert__Reg1_1__imm_95_0__MemImm12Offset2_2__CondCode2_0, Feature_IsARM, { MCK_CondCode, MCK_GPR, MCK_MemImm12Offset, MCK__EXCLAIM_ }, },
    8172             :   { 447 /* ldr */, ARM::t2LDR_PRE, Convert__Reg1_1__imm_95_0__MemImm8Offset2_2__CondCode2_0, Feature_IsThumb2, { MCK_CondCode, MCK_GPR, MCK_MemImm8Offset, MCK__EXCLAIM_ }, },
    8173             :   { 447 /* ldr */, ARM::LDR_POST_IMM, Convert__Reg1_1__MemNoOffset1_2__Tie1_3_3__AM2OffsetImm2_3__CondCode2_0, Feature_IsARM, { MCK_CondCode, MCK_GPR, MCK_MemNoOffset, MCK_AM2OffsetImm }, },
    8174             :   { 447 /* ldr */, ARM::t2LDR_POST, Convert__Reg1_1__MemNoOffset1_2__Tie1_3_3__Imm1_3__CondCode2_0, Feature_IsThumb2, { MCK_CondCode, MCK_GPR, MCK_MemNoOffset, MCK_Imm }, },
    8175             :   { 447 /* ldr */, ARM::LDR_POST_REG, Convert__Reg1_1__MemNoOffset1_2__Tie1_3_3__PostIdxRegShifted2_3__CondCode2_0, Feature_IsARM, { MCK_CondCode, MCK_GPR, MCK_MemNoOffset, MCK_PostIdxRegShifted }, },
    8176             :   { 447 /* ldr */, ARM::LDR_PRE_REG, Convert__Reg1_1__imm_95_0__MemRegOffset3_2__CondCode2_0, Feature_IsARM, { MCK_CondCode, MCK_GPR, MCK_MemRegOffset, MCK__EXCLAIM_ }, },
    8177             :   { 451 /* ldrb */, ARM::tLDRBi, Convert__Reg1_1__MemThumbRIs12_2__CondCode2_0, Feature_IsThumb, { MCK_CondCode, MCK_tGPR, MCK_MemThumbRIs1 }, },
    8178             :   { 451 /* ldrb */, ARM::tLDRBr, Convert__Reg1_1__MemThumbRR2_2__CondCode2_0, Feature_IsThumb, { MCK_CondCode, MCK_tGPR, MCK_MemThumbRR }, },
    8179             :   { 451 /* ldrb */, ARM::t2LDRBpci, Convert__Reg1_1__Imm1_2__CondCode2_0, Feature_IsThumb2, { MCK_CondCode, MCK_rGPR, MCK_Imm }, },
    8180             :   { 451 /* ldrb */, ARM::t2LDRBi12, Convert__Reg1_1__MemUImm12Offset2_2__CondCode2_0, Feature_IsThumb2, { MCK_CondCode, MCK_rGPR, MCK_MemUImm12Offset }, },
    8181             :   { 451 /* ldrb */, ARM::t2LDRBs, Convert__Reg1_1__T2MemRegOffset3_2__CondCode2_0, Feature_IsThumb2, { MCK_CondCode, MCK_rGPR, MCK_T2MemRegOffset }, },
    8182             :   { 451 /* ldrb */, ARM::LDRBi12, Convert__Reg1_1__MemImm12Offset2_2__CondCode2_0, Feature_IsARM, { MCK_CondCode, MCK_GPRnopc, MCK_MemImm12Offset }, },
    8183             :   { 451 /* ldrb */, ARM::t2LDRBi8, Convert__Reg1_1__MemNegImm8Offset2_2__CondCode2_0, Feature_IsThumb2, { MCK_CondCode, MCK_GPRnopc, MCK_MemNegImm8Offset }, },
    8184             :   { 451 /* ldrb */, ARM::LDRBrs, Convert__Reg1_1__MemRegOffset3_2__CondCode2_0, Feature_IsARM, { MCK_CondCode, MCK_GPRnopc, MCK_MemRegOffset }, },
    8185             :   { 451 /* ldrb */, ARM::t2LDRBpcrel, Convert__Reg1_1__MemPCRelImm121_2__CondCode2_0, Feature_IsThumb2, { MCK_CondCode, MCK_GPRnopc, MCK_MemPCRelImm12 }, },
    8186             :   { 451 /* ldrb */, ARM::t2LDRBpci, Convert__Reg1_2__Imm1_3__CondCode2_0, Feature_IsThumb2, { MCK_CondCode, MCK__DOT_w, MCK_GPRnopc, MCK_Imm }, },
    8187             :   { 451 /* ldrb */, ARM::t2LDRBi12, Convert__Reg1_2__MemUImm12Offset2_3__CondCode2_0, Feature_IsThumb2, { MCK_CondCode, MCK__DOT_w, MCK_GPRnopc, MCK_MemUImm12Offset }, },
    8188             :   { 451 /* ldrb */, ARM::t2LDRBs, Convert__Reg1_2__T2MemRegOffset3_3__CondCode2_0, Feature_IsThumb2, { MCK_CondCode, MCK__DOT_w, MCK_GPRnopc, MCK_T2MemRegOffset }, },
    8189             :   { 451 /* ldrb */, ARM::t2LDRBpcrel, Convert__Reg1_2__MemPCRelImm121_3__CondCode2_0, Feature_IsThumb2, { MCK_CondCode, MCK__DOT_w, MCK_GPRnopc, MCK_MemPCRelImm12 }, },
    8190             :   { 451 /* ldrb */, ARM::LDRB_PRE_IMM, Convert__Reg1_1__imm_95_0__MemImm12Offset2_2__CondCode2_0, Feature_IsARM, { MCK_CondCode, MCK_GPR, MCK_MemImm12Offset, MCK__EXCLAIM_ }, },
    8191             :   { 451 /* ldrb */, ARM::t2LDRB_PRE, Convert__Reg1_1__imm_95_0__MemImm8Offset2_2__CondCode2_0, Feature_IsThumb2, { MCK_CondCode, MCK_GPR, MCK_MemImm8Offset, MCK__EXCLAIM_ }, },
    8192             :   { 451 /* ldrb */, ARM::LDRB_POST_IMM, Convert__Reg1_1__MemNoOffset1_2__Tie1_3_3__AM2OffsetImm2_3__CondCode2_0, Feature_IsARM, { MCK_CondCode, MCK_GPR, MCK_MemNoOffset, MCK_AM2OffsetImm }, },
    8193             :   { 451 /* ldrb */, ARM::t2LDRB_POST, Convert__Reg1_1__MemNoOffset1_2__Tie1_3_3__Imm1_3__CondCode2_0, Feature_IsThumb2, { MCK_CondCode, MCK_GPR, MCK_MemNoOffset, MCK_Imm }, },
    8194             :   { 451 /* ldrb */, ARM::LDRB_POST_REG, Convert__Reg1_1__MemNoOffset1_2__Tie1_3_3__PostIdxRegShifted2_3__CondCode2_0, Feature_IsARM, { MCK_CondCode, MCK_GPR, MCK_MemNoOffset, MCK_PostIdxRegShifted }, },
    8195             :   { 451 /* ldrb */, ARM::LDRB_PRE_REG, Convert__Reg1_1__imm_95_0__MemRegOffset3_2__CondCode2_0, Feature_IsARM, { MCK_CondCode, MCK_GPR, MCK_MemRegOffset, MCK__EXCLAIM_ }, },
    8196             :   { 456 /* ldrbt */, ARM::t2LDRBT, Convert__Reg1_1__MemPosImm8Offset2_2__CondCode2_0, Feature_IsThumb2, { MCK_CondCode, MCK_rGPR, MCK_MemPosImm8Offset }, },
    8197             :   { 456 /* ldrbt */, ARM::LDRBT_POST, Convert__Reg1_1__MemNoOffset1_2__CondCode2_0, Feature_IsARM, { MCK_CondCode, MCK_GPR, MCK_MemNoOffset }, },
    8198             :   { 456 /* ldrbt */, ARM::LDRBT_POST_IMM, Convert__Reg1_1__MemNoOffset1_2__Tie1_3_3__AM2OffsetImm2_3__CondCode2_0, Feature_IsARM, { MCK_CondCode, MCK_GPR, MCK_MemNoOffset, MCK_AM2OffsetImm }, },
    8199             :   { 456 /* ldrbt */, ARM::LDRBT_POST_REG, Convert__Reg1_1__MemNoOffset1_2__Tie1_3_3__PostIdxRegShifted2_3__CondCode2_0, Feature_IsARM, { MCK_CondCode, MCK_GPR, MCK_MemNoOffset, MCK_PostIdxRegShifted }, },
    8200             :   { 462 /* ldrd */, ARM::t2LDRDi8, Convert__Reg1_1__Reg1_2__MemImm8s4Offset2_3__CondCode2_0, Feature_IsThumb2, { MCK_CondCode, MCK_rGPR, MCK_rGPR, MCK_MemImm8s4Offset }, },
    8201             :   { 462 /* ldrd */, ARM::LDRD, Convert__Reg1_1__Reg1_2__AddrMode33_3__CondCode2_0, Feature_IsARM|Feature_HasV5TE, { MCK_CondCode, MCK_GPR, MCK_GPR, MCK_AddrMode3 }, },
    8202             :   { 462 /* ldrd */, ARM::t2LDRD_PRE, Convert__Reg1_1__Reg1_2__imm_95_0__MemImm8s4Offset2_3__CondCode2_0, Feature_IsThumb2, { MCK_CondCode, MCK_rGPR, MCK_rGPR, MCK_MemImm8s4Offset, MCK__EXCLAIM_ }, },
    8203             :   { 462 /* ldrd */, ARM::t2LDRD_POST, Convert__Reg1_1__Reg1_2__MemNoOffset1_3__Tie2_4_4__Imm1_4__CondCode2_0, Feature_IsThumb2, { MCK_CondCode, MCK_rGPR, MCK_rGPR, MCK_MemNoOffset, MCK_Imm }, },
    8204             :   { 462 /* ldrd */, ARM::LDRD_PRE, Convert__Reg1_1__Reg1_2__imm_95_0__AddrMode33_3__CondCode2_0, Feature_IsARM, { MCK_CondCode, MCK_GPR, MCK_GPR, MCK_AddrMode3, MCK__EXCLAIM_ }, },
    8205             :   { 462 /* ldrd */, ARM::LDRD_POST, Convert__Reg1_1__Reg1_2__MemNoOffset1_3__Tie2_4_4__AM3Offset2_4__CondCode2_0, Feature_IsARM, { MCK_CondCode, MCK_GPR, MCK_GPR, MCK_MemNoOffset, MCK_AM3Offset }, },
    8206             :   { 467 /* ldrex */, ARM::t2LDREX, Convert__Reg1_1__MemImm0_1020s4Offset2_2__CondCode2_0, Feature_IsThumb|Feature_HasV8MBaseline, { MCK_CondCode, MCK_rGPR, MCK_MemImm0_1020s4Offset }, },
    8207             :   { 467 /* ldrex */, ARM::LDREX, Convert__Reg1_1__MemNoOffset1_2__CondCode2_0, Feature_IsARM, { MCK_CondCode, MCK_GPR, MCK_MemNoOffset }, },
    8208             :   { 473 /* ldrexb */, ARM::t2LDREXB, Convert__Reg1_1__MemNoOffset1_2__CondCode2_0, Feature_IsThumb|Feature_HasV8MBaseline, { MCK_CondCode, MCK_rGPR, MCK_MemNoOffset }, },
    8209             :   { 473 /* ldrexb */, ARM::LDREXB, Convert__Reg1_1__MemNoOffset1_2__CondCode2_0, Feature_IsARM, { MCK_CondCode, MCK_GPR, MCK_MemNoOffset }, },
    8210             :   { 480 /* ldrexd */, ARM::LDREXD, Convert__Reg1_1__MemNoOffset1_2__CondCode2_0, Feature_IsARM, { MCK_CondCode, MCK_GPRPair, MCK_MemNoOffset }, },
    8211             :   { 480 /* ldrexd */, ARM::t2LDREXD, Convert__Reg1_1__Reg1_2__MemNoOffset1_3__CondCode2_0, Feature_IsThumb2|Feature_IsNotMClass, { MCK_CondCode, MCK_rGPR, MCK_rGPR, MCK_MemNoOffset }, },
    8212             :   { 487 /* ldrexh */, ARM::t2LDREXH, Convert__Reg1_1__MemNoOffset1_2__CondCode2_0, Feature_IsThumb|Feature_HasV8MBaseline, { MCK_CondCode, MCK_rGPR, MCK_MemNoOffset }, },
    8213             :   { 487 /* ldrexh */, ARM::LDREXH, Convert__Reg1_1__MemNoOffset1_2__CondCode2_0, Feature_IsARM, { MCK_CondCode, MCK_GPR, MCK_MemNoOffset }, },
    8214             :   { 494 /* ldrh */, ARM::tLDRHi, Convert__Reg1_1__MemThumbRIs22_2__CondCode2_0, Feature_IsThumb, { MCK_CondCode, MCK_tGPR, MCK_MemThumbRIs2 }, },
    8215             :   { 494 /* ldrh */, ARM::tLDRHr, Convert__Reg1_1__MemThumbRR2_2__CondCode2_0, Feature_IsThumb, { MCK_CondCode, MCK_tGPR, MCK_MemThumbRR }, },
    8216             :   { 494 /* ldrh */, ARM::t2LDRHpci, Convert__Reg1_1__Imm1_2__CondCode2_0, Feature_IsThumb2, { MCK_CondCode, MCK_rGPR, MCK_Imm }, },
    8217             :   { 494 /* ldrh */, ARM::t2LDRHi12, Convert__Reg1_1__MemUImm12Offset2_2__CondCode2_0, Feature_IsThumb2, { MCK_CondCode, MCK_rGPR, MCK_MemUImm12Offset }, },
    8218             :   { 494 /* ldrh */, ARM::t2LDRHs, Convert__Reg1_1__T2MemRegOffset3_2__CondCode2_0, Feature_IsThumb2, { MCK_CondCode, MCK_rGPR, MCK_T2MemRegOffset }, },
    8219             :   { 494 /* ldrh */, ARM::t2LDRHi8, Convert__Reg1_1__MemNegImm8Offset2_2__CondCode2_0, Feature_IsThumb2, { MCK_CondCode, MCK_GPRnopc, MCK_MemNegImm8Offset }, },
    8220             :   { 494 /* ldrh */, ARM::t2LDRHpcrel, Convert__Reg1_1__MemPCRelImm121_2__CondCode2_0, Feature_IsThumb2, { MCK_CondCode, MCK_GPRnopc, MCK_MemPCRelImm12 }, },
    8221             :   { 494 /* ldrh */, ARM::LDRH, Convert__Reg1_1__AddrMode33_2__CondCode2_0, Feature_IsARM, { MCK_CondCode, MCK_GPR, MCK_AddrMode3 }, },
    8222             :   { 494 /* ldrh */, ARM::t2LDRHpci, Convert__Reg1_2__Imm1_3__CondCode2_0, Feature_IsThumb2, { MCK_CondCode, MCK__DOT_w, MCK_GPRnopc, MCK_Imm }, },
    8223             :   { 494 /* ldrh */, ARM::t2LDRHi12, Convert__Reg1_2__MemUImm12Offset2_3__CondCode2_0, Feature_IsThumb2, { MCK_CondCode, MCK__DOT_w, MCK_GPRnopc, MCK_MemUImm12Offset }, },
    8224             :   { 494 /* ldrh */, ARM::t2LDRHs, Convert__Reg1_2__T2MemRegOffset3_3__CondCode2_0, Feature_IsThumb2, { MCK_CondCode, MCK__DOT_w, MCK_GPRnopc, MCK_T2MemRegOffset }, },
    8225             :   { 494 /* ldrh */, ARM::t2LDRHpcrel, Convert__Reg1_2__MemPCRelImm121_3__CondCode2_0, Feature_IsThumb2, { MCK_CondCode, MCK__DOT_w, MCK_GPRnopc, MCK_MemPCRelImm12 }, },
    8226             :   { 494 /* ldrh */, ARM::LDRH_PRE, Convert__Reg1_1__imm_95_0__AddrMode33_2__CondCode2_0, Feature_IsARM, { MCK_CondCode, MCK_GPR, MCK_AddrMode3, MCK__EXCLAIM_ }, },
    8227             :   { 494 /* ldrh */, ARM::t2LDRH_PRE, Convert__Reg1_1__imm_95_0__MemImm8Offset2_2__CondCode2_0, Feature_IsThumb2, { MCK_CondCode, MCK_GPR, MCK_MemImm8Offset, MCK__EXCLAIM_ }, },
    8228             :   { 494 /* ldrh */, ARM::LDRH_POST, Convert__Reg1_1__MemNoOffset1_2__Tie1_3_3__AM3Offset2_3__CondCode2_0, Feature_IsARM, { MCK_CondCode, MCK_GPR, MCK_MemNoOffset, MCK_AM3Offset }, },
    8229             :   { 494 /* ldrh */, ARM::t2LDRH_POST, Convert__Reg1_1__MemNoOffset1_2__Tie1_3_3__Imm1_3__CondCode2_0, Feature_IsThumb2, { MCK_CondCode, MCK_GPR, MCK_MemNoOffset, MCK_Imm }, },
    8230             :   { 499 /* ldrht */, ARM::t2LDRHT, Convert__Reg1_1__MemPosImm8Offset2_2__CondCode2_0, Feature_IsThumb2, { MCK_CondCode, MCK_rGPR, MCK_MemPosImm8Offset }, },
    8231             :   { 499 /* ldrht */, ARM::LDRHTr, Convert__Reg1_1__MemNoOffset1_2__Tie1_3_3__PostIdxReg2_3__CondCode2_0, Feature_IsARM, { MCK_CondCode, MCK_GPRnopc, MCK_MemNoOffset, MCK_PostIdxReg }, },
    8232             :   { 499 /* ldrht */, ARM::LDRHTi, Convert__Reg1_1__MemNoOffset1_2__Tie1_3_3__PostIdxImm81_3__CondCode2_0, Feature_IsARM, { MCK_CondCode, MCK_GPR, MCK_MemNoOffset, MCK_PostIdxImm8 }, },
    8233             :   { 505 /* ldrsb */, ARM::tLDRSB, Convert__Reg1_1__MemThumbRR2_2__CondCode2_0, Feature_IsThumb, { MCK_CondCode, MCK_tGPR, MCK_MemThumbRR }, },
    8234             :   { 505 /* ldrsb */, ARM::t2LDRSBpci, Convert__Reg1_1__Imm1_2__CondCode2_0, Feature_IsThumb2, { MCK_CondCode, MCK_rGPR, MCK_Imm }, },
    8235             :   { 505 /* ldrsb */, ARM::t2LDRSBi12, Convert__Reg1_1__MemUImm12Offset2_2__CondCode2_0, Feature_IsThumb2, { MCK_CondCode, MCK_rGPR, MCK_MemUImm12Offset }, },
    8236             :   { 505 /* ldrsb */, ARM::t2LDRSBs, Convert__Reg1_1__T2MemRegOffset3_2__CondCode2_0, Feature_IsThumb2, { MCK_CondCode, MCK_rGPR, MCK_T2MemRegOffset }, },
    8237             :   { 505 /* ldrsb */, ARM::t2LDRSBi8, Convert__Reg1_1__MemNegImm8Offset2_2__CondCode2_0, Feature_IsThumb2, { MCK_CondCode, MCK_GPRnopc, MCK_MemNegImm8Offset }, },
    8238             :   { 505 /* ldrsb */, ARM::t2LDRSBpcrel, Convert__Reg1_1__MemPCRelImm121_2__CondCode2_0, Feature_IsThumb2, { MCK_CondCode, MCK_GPRnopc, MCK_MemPCRelImm12 }, },
    8239             :   { 505 /* ldrsb */, ARM::LDRSB, Convert__Reg1_1__AddrMode33_2__CondCode2_0, Feature_IsARM, { MCK_CondCode, MCK_GPR, MCK_AddrMode3 }, },
    8240             :   { 505 /* ldrsb */, ARM::t2LDRSBpci, Convert__Reg1_2__Imm1_3__CondCode2_0, Feature_IsThumb2, { MCK_CondCode, MCK__DOT_w, MCK_GPRnopc, MCK_Imm }, },
    8241             :   { 505 /* ldrsb */, ARM::t2LDRSBi12, Convert__Reg1_2__MemUImm12Offset2_3__CondCode2_0, Feature_IsThumb2, { MCK_CondCode, MCK__DOT_w, MCK_GPRnopc, MCK_MemUImm12Offset }, },
    8242             :   { 505 /* ldrsb */, ARM::t2LDRSBs, Convert__Reg1_2__T2MemRegOffset3_3__CondCode2_0, Feature_IsThumb2, { MCK_CondCode, MCK__DOT_w, MCK_GPRnopc, MCK_T2MemRegOffset }, },
    8243             :   { 505 /* ldrsb */, ARM::t2LDRSBpcrel, Convert__Reg1_2__MemPCRelImm121_3__CondCode2_0, Feature_IsThumb2, { MCK_CondCode, MCK__DOT_w, MCK_GPRnopc, MCK_MemPCRelImm12 }, },
    8244             :   { 505 /* ldrsb */, ARM::LDRSB_PRE, Convert__Reg1_1__imm_95_0__AddrMode33_2__CondCode2_0, Feature_IsARM, { MCK_CondCode, MCK_GPR, MCK_AddrMode3, MCK__EXCLAIM_ }, },
    8245             :   { 505 /* ldrsb */, ARM::t2LDRSB_PRE, Convert__Reg1_1__imm_95_0__MemImm8Offset2_2__CondCode2_0, Feature_IsThumb2, { MCK_CondCode, MCK_GPR, MCK_MemImm8Offset, MCK__EXCLAIM_ }, },
    8246             :   { 505 /* ldrsb */, ARM::LDRSB_POST, Convert__Reg1_1__MemNoOffset1_2__Tie1_3_3__AM3Offset2_3__CondCode2_0, Feature_IsARM, { MCK_CondCode, MCK_GPR, MCK_MemNoOffset, MCK_AM3Offset }, },
    8247             :   { 505 /* ldrsb */, ARM::t2LDRSB_POST, Convert__Reg1_1__MemNoOffset1_2__Tie1_3_3__Imm1_3__CondCode2_0, Feature_IsThumb2, { MCK_CondCode, MCK_GPR, MCK_MemNoOffset, MCK_Imm }, },
    8248             :   { 511 /* ldrsbt */, ARM::t2LDRSBT, Convert__Reg1_1__MemPosImm8Offset2_2__CondCode2_0, Feature_IsThumb2, { MCK_CondCode, MCK_rGPR, MCK_MemPosImm8Offset }, },
    8249             :   { 511 /* ldrsbt */, ARM::LDRSBTr, Convert__Reg1_1__MemNoOffset1_2__Tie1_3_3__PostIdxReg2_3__CondCode2_0, Feature_IsARM, { MCK_CondCode, MCK_GPRnopc, MCK_MemNoOffset, MCK_PostIdxReg }, },
    8250             :   { 511 /* ldrsbt */, ARM::LDRSBTi, Convert__Reg1_1__MemNoOffset1_2__Tie1_3_3__PostIdxImm81_3__CondCode2_0, Feature_IsARM, { MCK_CondCode, MCK_GPR, MCK_MemNoOffset, MCK_PostIdxImm8 }, },
    8251             :   { 518 /* ldrsh */, ARM::tLDRSH, Convert__Reg1_1__MemThumbRR2_2__CondCode2_0, Feature_IsThumb, { MCK_CondCode, MCK_tGPR, MCK_MemThumbRR }, },
    8252             :   { 518 /* ldrsh */, ARM::t2LDRSHpci, Convert__Reg1_1__Imm1_2__CondCode2_0, Feature_IsThumb2, { MCK_CondCode, MCK_rGPR, MCK_Imm }, },
    8253             :   { 518 /* ldrsh */, ARM::t2LDRSHi12, Convert__Reg1_1__MemUImm12Offset2_2__CondCode2_0, Feature_IsThumb2, { MCK_CondCode, MCK_rGPR, MCK_MemUImm12Offset }, },
    8254             :   { 518 /* ldrsh */, ARM::t2LDRSHs, Convert__Reg1_1__T2MemRegOffset3_2__CondCode2_0, Feature_IsThumb2, { MCK_CondCode, MCK_rGPR, MCK_T2MemRegOffset }, },
    8255             :   { 518 /* ldrsh */, ARM::t2LDRSHi8, Convert__Reg1_1__MemNegImm8Offset2_2__CondCode2_0, Feature_IsThumb2, { MCK_CondCode, MCK_GPRnopc, MCK_MemNegImm8Offset }, },
    8256             :   { 518 /* ldrsh */, ARM::t2LDRSHpcrel, Convert__Reg1_1__MemPCRelImm121_2__CondCode2_0, Feature_IsThumb2, { MCK_CondCode, MCK_GPRnopc, MCK_MemPCRelImm12 }, },
    8257             :   { 518 /* ldrsh */, ARM::LDRSH, Convert__Reg1_1__AddrMode33_2__CondCode2_0, Feature_IsARM, { MCK_CondCode, MCK_GPR, MCK_AddrMode3 }, },
    8258             :   { 518 /* ldrsh */, ARM::t2LDRSHpci, Convert__Reg1_2__Imm1_3__CondCode2_0, Feature_IsThumb2, { MCK_CondCode, MCK__DOT_w, MCK_GPRnopc, MCK_Imm }, },
    8259             :   { 518 /* ldrsh */, ARM::t2LDRSHi12, Convert__Reg1_2__MemUImm12Offset2_3__CondCode2_0, Feature_IsThumb2, { MCK_CondCode, MCK__DOT_w, MCK_GPRnopc, MCK_MemUImm12Offset }, },
    8260             :   { 518 /* ldrsh */, ARM::t2LDRSHs, Convert__Reg1_2__T2MemRegOffset3_3__CondCode2_0, Feature_IsThumb2, { MCK_CondCode, MCK__DOT_w, MCK_GPRnopc, MCK_T2MemRegOffset }, },
    8261             :   { 518 /* ldrsh */, ARM::t2LDRSHpcrel, Convert__Reg1_2__MemPCRelImm121_3__CondCode2_0, Feature_IsThumb2, { MCK_CondCode, MCK__DOT_w, MCK_GPRnopc, MCK_MemPCRelImm12 }, },
    8262             :   { 518 /* ldrsh */, ARM::LDRSH_PRE, Convert__Reg1_1__imm_95_0__AddrMode33_2__CondCode2_0, Feature_IsARM, { MCK_CondCode, MCK_GPR, MCK_AddrMode3, MCK__EXCLAIM_ }, },
    8263             :   { 518 /* ldrsh */, ARM::t2LDRSH_PRE, Convert__Reg1_1__imm_95_0__MemImm8Offset2_2__CondCode2_0, Feature_IsThumb2, { MCK_CondCode, MCK_GPR, MCK_MemImm8Offset, MCK__EXCLAIM_ }, },
    8264             :   { 518 /* ldrsh */, ARM::LDRSH_POST, Convert__Reg1_1__MemNoOffset1_2__Tie1_3_3__AM3Offset2_3__CondCode2_0, Feature_IsARM, { MCK_CondCode, MCK_GPR, MCK_MemNoOffset, MCK_AM3Offset }, },
    8265             :   { 518 /* ldrsh */, ARM::t2LDRSH_POST, Convert__Reg1_1__MemNoOffset1_2__Tie1_3_3__Imm1_3__CondCode2_0, Feature_IsThumb2, { MCK_CondCode, MCK_GPR, MCK_MemNoOffset, MCK_Imm }, },
    8266             :   { 524 /* ldrsht */, ARM::t2LDRSHT, Convert__Reg1_1__MemPosImm8Offset2_2__CondCode2_0, Feature_IsThumb2, { MCK_CondCode, MCK_rGPR, MCK_MemPosImm8Offset }, },
    8267             :   { 524 /* ldrsht */, ARM::LDRSHTr, Convert__Reg1_1__MemNoOffset1_2__Tie1_3_3__PostIdxReg2_3__CondCode2_0, Feature_IsARM, { MCK_CondCode, MCK_GPRnopc, MCK_MemNoOffset, MCK_PostIdxReg }, },
    8268             :   { 524 /* ldrsht */, ARM::LDRSHTi, Convert__Reg1_1__MemNoOffset1_2__Tie1_3_3__PostIdxImm81_3__CondCode2_0, Feature_IsARM, { MCK_CondCode, MCK_GPR, MCK_MemNoOffset, MCK_PostIdxImm8 }, },
    8269             :   { 531 /* ldrt */, ARM::t2LDRT, Convert__Reg1_1__MemPosImm8Offset2_2__CondCode2_0, Feature_IsThumb2, { MCK_CondCode, MCK_rGPR, MCK_MemPosImm8Offset }, },
    8270             :   { 531 /* ldrt */, ARM::LDRT_POST, Convert__Reg1_1__MemNoOffset1_2__CondCode2_0, Feature_IsARM, { MCK_CondCode, MCK_GPR, MCK_MemNoOffset }, },
    8271             :   { 531 /* ldrt */, ARM::LDRT_POST_IMM, Convert__Reg1_1__MemNoOffset1_2__Tie1_3_3__AM2OffsetImm2_3__CondCode2_0, Feature_IsARM, { MCK_CondCode, MCK_GPR, MCK_MemNoOffset, MCK_AM2OffsetImm }, },
    8272             :   { 531 /* ldrt */, ARM::LDRT_POST_REG, Convert__Reg1_1__MemNoOffset1_2__Tie1_3_3__PostIdxRegShifted2_3__CondCode2_0, Feature_IsARM, { MCK_CondCode, MCK_GPR, MCK_MemNoOffset, MCK_PostIdxRegShifted }, },
    8273             :   { 536 /* lsl */, ARM::tLSLrr, Convert__Reg1_2__CCOut1_0__Tie0_1_1__Reg1_3__CondCode2_1, Feature_IsThumb, { MCK_CCOut, MCK_CondCode, MCK_tGPR, MCK_tGPR }, },
    8274             :   { 536 /* lsl */, ARM::tLSLri, Convert__Reg1_2__CCOut1_0__Reg1_2__Imm0_311_3__CondCode2_1, Feature_IsThumb, { MCK_CCOut, MCK_CondCode, MCK_tGPR, MCK_Imm0_31 }, },
    8275             :   { 536 /* lsl */, ARM::t2LSLrr, Convert__Reg1_2__Reg1_2__Reg1_3__CondCode2_1__CCOut1_0, Feature_IsThumb2, { MCK_CCOut, MCK_CondCode, MCK_rGPR, MCK_rGPR }, },
    8276             :   { 536 /* lsl */, ARM::t2LSLri, Convert__Reg1_2__Reg1_2__Imm1_311_3__CondCode2_1__CCOut1_0, Feature_IsThumb2, { MCK_CCOut, MCK_CondCode, MCK_rGPR, MCK_Imm1_31 }, },
    8277             :   { 536 /* lsl */, ARM::LSLr, Convert__Reg1_2__Reg1_2__Reg1_3__CondCode2_1__CCOut1_0, Feature_IsARM, { MCK_CCOut, MCK_CondCode, MCK_GPRnopc, MCK_GPRnopc }, },
    8278             :   { 536 /* lsl */, ARM::LSLi, Convert__Reg1_2__Reg1_2__Imm0_311_3__CondCode2_1__CCOut1_0, Feature_IsARM, { MCK_CCOut, MCK_CondCode, MCK_GPR, MCK_Imm0_31 }, },
    8279             :   { 536 /* lsl */, ARM::t2LSLrr, Convert__Reg1_3__Reg1_3__Reg1_4__CondCode2_1__CCOut1_0, Feature_IsThumb2, { MCK_CCOut, MCK_CondCode, MCK__DOT_w, MCK_rGPR, MCK_rGPR }, },
    8280             :   { 536 /* lsl */, ARM::t2LSLri, Convert__Reg1_3__Reg1_3__Imm1_311_4__CondCode2_1__CCOut1_0, Feature_IsThumb2, { MCK_CCOut, MCK_CondCode, MCK__DOT_w, MCK_rGPR, MCK_Imm1_31 }, },
    8281             :   { 536 /* lsl */, ARM::tLSLri, Convert__Reg1_2__CCOut1_0__Reg1_3__Imm0_311_4__CondCode2_1, Feature_IsThumb, { MCK_CCOut, MCK_CondCode, MCK_tGPR, MCK_tGPR, MCK_Imm0_31 }, },
    8282             :   { 536 /* lsl */, ARM::t2LSLrr, Convert__Reg1_2__Reg1_3__Reg1_4__CondCode2_1__CCOut1_0, Feature_IsThumb2, { MCK_CCOut, MCK_CondCode, MCK_rGPR, MCK_rGPR, MCK_rGPR }, },
    8283             :   { 536 /* lsl */, ARM::t2LSLri, Convert__Reg1_2__Reg1_3__Imm1_311_4__CondCode2_1__CCOut1_0, Feature_IsThumb2, { MCK_CCOut, MCK_CondCode, MCK_rGPR, MCK_rGPR, MCK_Imm1_31 }, },
    8284             :   { 536 /* lsl */, ARM::t2MOVr, Convert__Reg1_2__Reg1_3__CondCode2_1__CCOut1_0, Feature_IsThumb2, { MCK_CCOut, MCK_CondCode, MCK_GPRnopc, MCK_GPRnopc, MCK__35_0 }, },
    8285             :   { 536 /* lsl */, ARM::LSLr, Convert__Reg1_2__Reg1_3__Reg1_4__CondCode2_1__CCOut1_0, Feature_IsARM, { MCK_CCOut, MCK_CondCode, MCK_GPRnopc, MCK_GPRnopc, MCK_GPRnopc }, },
    8286             :   { 536 /* lsl */, ARM::LSLi, Convert__Reg1_2__Reg1_3__Imm0_311_4__CondCode2_1__CCOut1_0, Feature_IsARM, { MCK_CCOut, MCK_CondCode, MCK_GPR, MCK_GPR, MCK_Imm0_31 }, },
    8287             :   { 536 /* lsl */, ARM::t2LSLrr, Convert__Reg1_3__Reg1_4__Reg1_5__CondCode2_1__CCOut1_0, Feature_IsThumb2, { MCK_CCOut, MCK_CondCode, MCK__DOT_w, MCK_rGPR, MCK_rGPR, MCK_rGPR }, },
    8288             :   { 536 /* lsl */, ARM::t2LSLri, Convert__Reg1_3__Reg1_4__Imm1_311_5__CondCode2_1__CCOut1_0, Feature_IsThumb2, { MCK_CCOut, MCK_CondCode, MCK__DOT_w, MCK_rGPR, MCK_rGPR, MCK_Imm1_31 }, },
    8289             :   { 536 /* lsl */, ARM::t2MOVr, Convert__Reg1_3__Reg1_4__CondCode2_1__CCOut1_0, Feature_IsThumb2, { MCK_CCOut, MCK_CondCode, MCK__DOT_w, MCK_GPRnopc, MCK_GPRnopc, MCK__35_0 }, },
    8290             :   { 540 /* lsr */, ARM::tLSRrr, Convert__Reg1_2__CCOut1_0__Tie0_1_1__Reg1_3__CondCode2_1, Feature_IsThumb, { MCK_CCOut, MCK_CondCode, MCK_tGPR, MCK_tGPR }, },
    8291             :   { 540 /* lsr */, ARM::tLSRri, Convert__Reg1_2__CCOut1_0__Reg1_2__ImmThumbSR1_3__CondCode2_1, Feature_IsThumb, { MCK_CCOut, MCK_CondCode, MCK_tGPR, MCK_ImmThumbSR }, },
    8292             :   { 540 /* lsr */, ARM::t2LSRrr, Convert__Reg1_2__Reg1_2__Reg1_3__CondCode2_1__CCOut1_0, Feature_IsThumb2, { MCK_CCOut, MCK_CondCode, MCK_rGPR, MCK_rGPR }, },
    8293             :   { 540 /* lsr */, ARM::t2LSRri, Convert__Reg1_2__Reg1_2__ImmThumbSR1_3__CondCode2_1__CCOut1_0, Feature_IsThumb2, { MCK_CCOut, MCK_CondCode, MCK_rGPR, MCK_ImmThumbSR }, },
    8294             :   { 540 /* lsr */, ARM::LSRr, Convert__Reg1_2__Reg1_2__Reg1_3__CondCode2_1__CCOut1_0, Feature_IsARM, { MCK_CCOut, MCK_CondCode, MCK_GPRnopc, MCK_GPRnopc }, },
    8295             :   { 540 /* lsr */, ARM::LSRi, Convert__Reg1_2__Reg1_2__Imm0_321_3__CondCode2_1__CCOut1_0, Feature_IsARM, { MCK_CCOut, MCK_CondCode, MCK_GPR, MCK_Imm0_32 }, },
    8296             :   { 540 /* lsr */, ARM::t2LSRrr, Convert__Reg1_3__Reg1_3__Reg1_4__CondCode2_1__CCOut1_0, Feature_IsThumb2, { MCK_CCOut, MCK_CondCode, MCK__DOT_w, MCK_rGPR, MCK_rGPR }, },
    8297             :   { 540 /* lsr */, ARM::t2LSRri, Convert__Reg1_3__Reg1_3__ImmThumbSR1_4__CondCode2_1__CCOut1_0, Feature_IsThumb2, { MCK_CCOut, MCK_CondCode, MCK__DOT_w, MCK_rGPR, MCK_ImmThumbSR }, },
    8298             :   { 540 /* lsr */, ARM::tLSRri, Convert__Reg1_2__CCOut1_0__Reg1_3__ImmThumbSR1_4__CondCode2_1, Feature_IsThumb, { MCK_CCOut, MCK_CondCode, MCK_tGPR, MCK_tGPR, MCK_ImmThumbSR }, },
    8299             :   { 540 /* lsr */, ARM::t2LSRrr, Convert__Reg1_2__Reg1_3__Reg1_4__CondCode2_1__CCOut1_0, Feature_IsThumb2, { MCK_CCOut, MCK_CondCode, MCK_rGPR, MCK_rGPR, MCK_rGPR }, },
    8300             :   { 540 /* lsr */, ARM::t2LSRri, Convert__Reg1_2__Reg1_3__ImmThumbSR1_4__CondCode2_1__CCOut1_0, Feature_IsThumb2, { MCK_CCOut, MCK_CondCode, MCK_rGPR, MCK_rGPR, MCK_ImmThumbSR }, },
    8301             :   { 540 /* lsr */, ARM::LSRr, Convert__Reg1_2__Reg1_3__Reg1_4__CondCode2_1__CCOut1_0, Feature_IsARM, { MCK_CCOut, MCK_CondCode, MCK_GPRnopc, MCK_GPRnopc, MCK_GPRnopc }, },
    8302             :   { 540 /* lsr */, ARM::LSRi, Convert__Reg1_2__Reg1_3__Imm0_321_4__CondCode2_1__CCOut1_0, Feature_IsARM, { MCK_CCOut, MCK_CondCode, MCK_GPR, MCK_GPR, MCK_Imm0_32 }, },
    8303             :   { 540 /* lsr */, ARM::t2LSRrr, Convert__Reg1_3__Reg1_4__Reg1_5__CondCode2_1__CCOut1_0, Feature_IsThumb2, { MCK_CCOut, MCK_CondCode, MCK__DOT_w, MCK_rGPR, MCK_rGPR, MCK_rGPR }, },
    8304             :   { 540 /* lsr */, ARM::t2LSRri, Convert__Reg1_3__Reg1_4__ImmThumbSR1_5__CondCode2_1__CCOut1_0, Feature_IsThumb2, { MCK_CCOut, MCK_CondCode, MCK__DOT_w, MCK_rGPR, MCK_rGPR, MCK_ImmThumbSR }, },
    8305             :   { 544 /* mcr */, ARM::MCR, Convert__CoprocNum1_1__Imm0_71_2__Reg1_3__CoprocReg1_4__CoprocReg1_5__imm_95_0__CondCode2_0, Feature_IsARM, { MCK_CondCode, MCK_CoprocNum, MCK_Imm0_7, MCK_GPR, MCK_CoprocReg, MCK_CoprocReg }, },
    8306             :   { 544 /* mcr */, ARM::t2MCR, Convert__CoprocNum1_1__Imm0_71_2__Reg1_3__CoprocReg1_4__CoprocReg1_5__imm_95_0__CondCode2_0, Feature_IsThumb2, { MCK_CondCode, MCK_CoprocNum, MCK_Imm0_7, MCK_GPR, MCK_CoprocReg, MCK_CoprocReg }, },
    8307             :   { 544 /* mcr */, ARM::MCR, Convert__CoprocNum1_1__Imm0_71_2__Reg1_3__CoprocReg1_4__CoprocReg1_5__Imm0_71_6__CondCode2_0, Feature_IsARM, { MCK_CondCode, MCK_CoprocNum, MCK_Imm0_7, MCK_GPR, MCK_CoprocReg, MCK_CoprocReg, MCK_Imm0_7 }, },
    8308             :   { 544 /* mcr */, ARM::t2MCR, Convert__CoprocNum1_1__Imm0_71_2__Reg1_3__CoprocReg1_4__CoprocReg1_5__Imm0_71_6__CondCode2_0, Feature_IsThumb2, { MCK_CondCode, MCK_CoprocNum, MCK_Imm0_7, MCK_GPR, MCK_CoprocReg, MCK_CoprocReg, MCK_Imm0_7 }, },
    8309             :   { 548 /* mcr2 */, ARM::MCR2, Convert__CoprocNum1_0__Imm0_71_1__Reg1_2__CoprocReg1_3__CoprocReg1_4__imm_95_0, Feature_IsARM, { MCK_CoprocNum, MCK_Imm0_7, MCK_GPR, MCK_CoprocReg, MCK_CoprocReg }, },
    8310             :   { 548 /* mcr2 */, ARM::t2MCR2, Convert__CoprocNum1_1__Imm0_71_2__Reg1_3__CoprocReg1_4__CoprocReg1_5__imm_95_0__CondCode2_0, Feature_IsThumb2, { MCK_CondCode, MCK_CoprocNum, MCK_Imm0_7, MCK_GPR, MCK_CoprocReg, MCK_CoprocReg }, },
    8311             :   { 548 /* mcr2 */, ARM::MCR2, Convert__CoprocNum1_0__Imm0_71_1__Reg1_2__CoprocReg1_3__CoprocReg1_4__Imm0_71_5, Feature_IsARM|Feature_PreV8, { MCK_CoprocNum, MCK_Imm0_7, MCK_GPR, MCK_CoprocReg, MCK_CoprocReg, MCK_Imm0_7 }, },
    8312             :   { 548 /* mcr2 */, ARM::t2MCR2, Convert__CoprocNum1_1__Imm0_71_2__Reg1_3__CoprocReg1_4__CoprocReg1_5__Imm0_71_6__CondCode2_0, Feature_IsThumb2|Feature_PreV8, { MCK_CondCode, MCK_CoprocNum, MCK_Imm0_7, MCK_GPR, MCK_CoprocReg, MCK_CoprocReg, MCK_Imm0_7 }, },
    8313             :   { 553 /* mcrr */, ARM::MCRR, Convert__CoprocNum1_1__Imm0_151_2__Reg1_3__Reg1_4__CoprocReg1_5__CondCode2_0, Feature_IsARM, { MCK_CondCode, MCK_CoprocNum, MCK_Imm0_15, MCK_GPRnopc, MCK_GPRnopc, MCK_CoprocReg }, },
    8314             :   { 553 /* mcrr */, ARM::t2MCRR, Convert__CoprocNum1_1__Imm0_151_2__Reg1_3__Reg1_4__CoprocReg1_5__CondCode2_0, Feature_IsThumb2, { MCK_CondCode, MCK_CoprocNum, MCK_Imm0_15, MCK_GPR, MCK_GPR, MCK_CoprocReg }, },
    8315             :   { 558 /* mcrr2 */, ARM::MCRR2, Convert__CoprocNum1_0__Imm0_151_1__Reg1_2__Reg1_3__CoprocReg1_4, Feature_IsARM|Feature_PreV8, { MCK_CoprocNum, MCK_Imm0_15, MCK_GPRnopc, MCK_GPRnopc, MCK_CoprocReg }, },
    8316             :   { 558 /* mcrr2 */, ARM::t2MCRR2, Convert__CoprocNum1_1__Imm0_151_2__Reg1_3__Reg1_4__CoprocReg1_5__CondCode2_0, Feature_IsThumb2|Feature_PreV8, { MCK_CondCode, MCK_CoprocNum, MCK_Imm0_15, MCK_GPR, MCK_GPR, MCK_CoprocReg }, },
    8317             :   { 564 /* mla */, ARM::t2MLA, Convert__Reg1_1__Reg1_2__Reg1_3__Reg1_4__CondCode2_0, Feature_IsThumb2, { MCK_CondCode, MCK_rGPR, MCK_rGPR, MCK_rGPR, MCK_rGPR }, },
    8318             :   { 564 /* mla */, ARM::MLA, Convert__Reg1_2__Reg1_3__Reg1_4__Reg1_5__CondCode2_1__CCOut1_0, Feature_IsARM|Feature_HasV6, { MCK_CCOut, MCK_CondCode, MCK_GPRnopc, MCK_GPRnopc, MCK_GPRnopc, MCK_GPRnopc }, },
    8319             :   { 564 /* mla */, ARM::MLA, Convert__Reg1_2__Reg1_3__Reg1_4__Reg1_5__CondCode2_1__CCOut1_0, Feature_IsARM, { MCK_CCOut, MCK_CondCode, MCK_GPRnopc, MCK_GPRnopc, MCK_GPRnopc, MCK_GPRnopc }, },
    8320             :   { 568 /* mls */, ARM::t2MLS, Convert__Reg1_1__Reg1_2__Reg1_3__Reg1_4__CondCode2_0, Feature_IsThumb2, { MCK_CondCode, MCK_rGPR, MCK_rGPR, MCK_rGPR, MCK_rGPR }, },
    8321             :   { 568 /* mls */, ARM::MLS, Convert__Reg1_1__Reg1_2__Reg1_3__Reg1_4__CondCode2_0, Feature_IsARM|Feature_HasV6T2, { MCK_CondCode, MCK_GPR, MCK_GPR, MCK_GPR, MCK_GPR }, },
    8322             :   { 572 /* mov */, ARM::MOVPCLR, Convert__CondCode2_0, Feature_IsARM, { MCK_CondCode, MCK_PC, MCK_LR }, },
    8323             :   { 572 /* mov */, ARM::t2MOVi16, Convert__Reg1_1__Imm256_65535Expr1_2__CondCode2_0, Feature_IsThumb|Feature_HasV8MBaseline, { MCK_CondCode, MCK_rGPR, MCK_Imm256_65535Expr }, },
    8324             :   { 572 /* mov */, ARM::t2MOVsi, Convert__Reg1_1__RegShiftedImm2_2__CondCode2_0, Feature_IsThumb2, { MCK_CondCode, MCK_rGPR, MCK_RegShiftedImm }, },
    8325             :   { 572 /* mov */, ARM::t2MOVsr, Convert__Reg1_1__RegShiftedReg3_2__CondCode2_0, Feature_IsThumb2, { MCK_CondCode, MCK_rGPR, MCK_RegShiftedReg }, },
    8326             :   { 572 /* mov */, ARM::t2MOVi, Convert__Reg1_1__T2SOImm1_2__CondCode2_0__reg0, Feature_IsThumb2, { MCK_CondCode, MCK_rGPR, MCK_T2SOImm }, },
    8327             :   { 572 /* mov */, ARM::t2MVNi, Convert__Reg1_1__T2SOImmNot1_2__CondCode2_0__reg0, Feature_IsThumb2|Feature_UseNegativeImmediates, { MCK_CondCode, MCK_rGPR, MCK_T2SOImmNot }, },
    8328             :   { 572 /* mov */, ARM::tMOVr, Convert__Reg1_1__Reg1_2__CondCode2_0, Feature_IsThumb, { MCK_CondCode, MCK_GPR, MCK_GPR }, },
    8329             :   { 572 /* mov */, ARM::MOVi16, Convert__Reg1_1__Imm0_65535Expr1_2__CondCode2_0, Feature_IsARM|Feature_HasV6T2, { MCK_CondCode, MCK_GPR, MCK_Imm0_65535Expr }, },
    8330             :   { 572 /* mov */, ARM::MOVr_TC, Convert__Reg1_2__Reg1_3__CondCode2_1__CCOut1_0, Feature_IsARM, { MCK_CCOut, MCK_CondCode, MCK_tcGPR, MCK_tcGPR }, },
    8331             :   { 572 /* mov */, ARM::tMOVi8, Convert__Reg1_2__CCOut1_0__Imm0_2551_3__CondCode2_1, Feature_IsThumb, { MCK_CCOut, MCK_CondCode, MCK_tGPR, MCK_Imm0_255 }, },
    8332             :   { 572 /* mov */, ARM::MVNi, Convert__Reg1_2__ModImmNot1_3__CondCode2_1__CCOut1_0, Feature_IsARM|Feature_UseNegativeImmediates, { MCK_CCOut, MCK_CondCode, MCK_rGPR, MCK_ModImmNot }, },
    8333             :   { 572 /* mov */, ARM::MOVsr, Convert__Reg1_2__RegShiftedReg3_3__CondCode2_1__CCOut1_0, Feature_IsARM, { MCK_CCOut, MCK_CondCode, MCK_GPRnopc, MCK_RegShiftedReg }, },
    8334             :   { 572 /* mov */, ARM::MOVr, Convert__Reg1_2__Reg1_3__CondCode2_1__CCOut1_0, Feature_IsARM, { MCK_CCOut, MCK_CondCode, MCK_GPR, MCK_GPR }, },
    8335             :   { 572 /* mov */, ARM::MOVi, Convert__Reg1_2__ModImm1_3__CondCode2_1__CCOut1_0, Feature_IsARM, { MCK_CCOut, MCK_CondCode, MCK_GPR, MCK_ModImm }, },
    8336             :   { 572 /* mov */, ARM::MOVsi, Convert__Reg1_2__RegShiftedImm2_3__CondCode2_1__CCOut1_0, Feature_IsARM, { MCK_CCOut, MCK_CondCode, MCK_GPR, MCK_RegShiftedImm }, },
    8337             :   { 572 /* mov */, ARM::t2MOVsi, Convert__Reg1_2__RegShiftedImm2_3__CondCode2_0, Feature_IsThumb2, { MCK_CondCode, MCK__DOT_w, MCK_rGPR, MCK_RegShiftedImm }, },
    8338             :   { 572 /* mov */, ARM::t2MOVsr, Convert__Reg1_2__RegShiftedReg3_3__CondCode2_0, Feature_IsThumb2, { MCK_CondCode, MCK__DOT_w, MCK_rGPR, MCK_RegShiftedReg }, },
    8339             :   { 572 /* mov */, ARM::t2MOVi, Convert__Reg1_2__T2SOImm1_3__CondCode2_0__reg0, Feature_IsThumb2, { MCK_CondCode, MCK__DOT_w, MCK_rGPR, MCK_T2SOImm }, },
    8340             :   { 572 /* mov */, ARM::t2MOVr, Convert__Reg1_2__Reg1_3__CondCode2_0__reg0, Feature_IsThumb2, { MCK_CondCode, MCK__DOT_w, MCK_GPRnopc, MCK_GPRnopc }, },
    8341             :   { 572 /* mov */, ARM::t2MOVi, Convert__Reg1_3__T2SOImm1_4__CondCode2_1__CCOut1_0, Feature_IsThumb2, { MCK_CCOut, MCK_CondCode, MCK__DOT_w, MCK_rGPR, MCK_T2SOImm }, },
    8342             :   { 572 /* mov */, ARM::t2MOVr, Convert__Reg1_3__Reg1_4__CondCode2_1__CCOut1_0, Feature_IsThumb2, { MCK_CCOut, MCK_CondCode, MCK__DOT_w, MCK_GPRnopc, MCK_GPRnopc }, },
    8343             :   { 576 /* movs */, ARM::tMOVSr, Convert__Reg1_0__Reg1_1, Feature_IsThumb, { MCK_tGPR, MCK_tGPR }, },
    8344             :   { 576 /* movs */, ARM::tMOVi8, Convert__Reg1_0__regCPSR__Imm0_2551_1__imm_95_14__imm_95_0, Feature_IsThumb, { MCK_tGPR, MCK_Imm0_255 }, },
    8345             :   { 576 /* movs */, ARM::t2MOVSsi, Convert__Reg1_1__RegShiftedImm2_2__CondCode2_0, Feature_IsThumb2, { MCK_CondCode, MCK_rGPR, MCK_RegShiftedImm }, },
    8346             :   { 576 /* movs */, ARM::t2MOVSsr, Convert__Reg1_1__RegShiftedReg3_2__CondCode2_0, Feature_IsThumb2, { MCK_CondCode, MCK_rGPR, MCK_RegShiftedReg }, },
    8347             :   { 576 /* movs */, ARM::t2MOVi, Convert__Reg1_1__T2SOImm1_2__CondCode2_0__regCPSR, Feature_IsThumb2, { MCK_CondCode, MCK_rGPR, MCK_T2SOImm }, },
    8348             :   { 576 /* movs */, ARM::t2MOVr, Convert__Reg1_1__Reg1_2__CondCode2_0__regCPSR, Feature_IsThumb2, { MCK_CondCode, MCK_GPRnopc, MCK_GPRnopc }, },
    8349             :   { 576 /* movs */, ARM::t2MOVSsi, Convert__Reg1_2__RegShiftedImm2_3__CondCode2_0, Feature_IsThumb2, { MCK_CondCode, MCK__DOT_w, MCK_rGPR, MCK_RegShiftedImm }, },
    8350             :   { 576 /* movs */, ARM::t2MOVSsr, Convert__Reg1_2__RegShiftedReg3_3__CondCode2_0, Feature_IsThumb2, { MCK_CondCode, MCK__DOT_w, MCK_rGPR, MCK_RegShiftedReg }, },
    8351             :   { 576 /* movs */, ARM::t2MOVi, Convert__Reg1_2__T2SOImm1_3__CondCode2_0__regCPSR, Feature_IsThumb2, { MCK_CondCode, MCK__DOT_w, MCK_rGPR, MCK_T2SOImm }, },
    8352             :   { 576 /* movs */, ARM::t2MOVr, Convert__Reg1_2__Reg1_3__CondCode2_0__regCPSR, Feature_IsThumb2, { MCK_CondCode, MCK__DOT_w, MCK_GPRnopc, MCK_GPRnopc }, },
    8353             :   { 581 /* movt */, ARM::t2MOVTi16, Convert__Reg1_1__Tie0_1_1__Imm0_65535Expr1_2__CondCode2_0, Feature_IsThumb|Feature_HasV8MBaseline, { MCK_CondCode, MCK_rGPR, MCK_Imm0_65535Expr }, },
    8354             :   { 581 /* movt */, ARM::MOVTi16, Convert__Reg1_1__Tie0_1_1__Imm0_65535Expr1_2__CondCode2_0, Feature_IsARM|Feature_HasV6T2, { MCK_CondCode, MCK_GPRnopc, MCK_Imm0_65535Expr }, },
    8355             :   { 586 /* movw */, ARM::t2MOVi16, Convert__Reg1_1__Imm0_65535Expr1_2__CondCode2_0, Feature_IsThumb|Feature_HasV8MBaseline, { MCK_CondCode, MCK_rGPR, MCK_Imm0_65535Expr }, },
    8356             :   { 586 /* movw */, ARM::MOVi16, Convert__Reg1_1__Imm0_65535Expr1_2__CondCode2_0, Feature_IsARM|Feature_HasV6T2, { MCK_CondCode, MCK_GPR, MCK_Imm0_65535Expr }, },
    8357             :   { 591 /* mrc */, ARM::MRC, Convert__Reg1_3__CoprocNum1_1__Imm0_71_2__CoprocReg1_4__CoprocReg1_5__imm_95_0__CondCode2_0, Feature_IsARM, { MCK_CondCode, MCK_CoprocNum, MCK_Imm0_7, MCK_GPRwithAPSR, MCK_CoprocReg, MCK_CoprocReg }, },
    8358             :   { 591 /* mrc */, ARM::t2MRC, Convert__Reg1_3__CoprocNum1_1__Imm0_71_2__CoprocReg1_4__CoprocReg1_5__imm_95_0__CondCode2_0, Feature_IsThumb2, { MCK_CondCode, MCK_CoprocNum, MCK_Imm0_7, MCK_GPRwithAPSR, MCK_CoprocReg, MCK_CoprocReg }, },
    8359             :   { 591 /* mrc */, ARM::MRC, Convert__Reg1_3__CoprocNum1_1__Imm0_71_2__CoprocReg1_4__CoprocReg1_5__Imm0_71_6__CondCode2_0, Feature_IsARM, { MCK_CondCode, MCK_CoprocNum, MCK_Imm0_7, MCK_GPRwithAPSR, MCK_CoprocReg, MCK_CoprocReg, MCK_Imm0_7 }, },
    8360             :   { 591 /* mrc */, ARM::t2MRC, Convert__Reg1_3__CoprocNum1_1__Imm0_71_2__CoprocReg1_4__CoprocReg1_5__Imm0_71_6__CondCode2_0, Feature_IsThumb2, { MCK_CondCode, MCK_CoprocNum, MCK_Imm0_7, MCK_GPRwithAPSR, MCK_CoprocReg, MCK_CoprocReg, MCK_Imm0_7 }, },
    8361             :   { 595 /* mrc2 */, ARM::MRC2, Convert__Reg1_2__CoprocNum1_0__Imm0_71_1__CoprocReg1_3__CoprocReg1_4__imm_95_0, Feature_IsARM, { MCK_CoprocNum, MCK_Imm0_7, MCK_GPRwithAPSR, MCK_CoprocReg, MCK_CoprocReg }, },
    8362             :   { 595 /* mrc2 */, ARM::t2MRC2, Convert__Reg1_3__CoprocNum1_1__Imm0_71_2__CoprocReg1_4__CoprocReg1_5__imm_95_0__CondCode2_0, Feature_IsThumb2, { MCK_CondCode, MCK_CoprocNum, MCK_Imm0_7, MCK_GPRwithAPSR, MCK_CoprocReg, MCK_CoprocReg }, },
    8363             :   { 595 /* mrc2 */, ARM::MRC2, Convert__Reg1_2__CoprocNum1_0__Imm0_71_1__CoprocReg1_3__CoprocReg1_4__Imm0_71_5, Feature_IsARM|Feature_PreV8, { MCK_CoprocNum, MCK_Imm0_7, MCK_GPRwithAPSR, MCK_CoprocReg, MCK_CoprocReg, MCK_Imm0_7 }, },
    8364             :   { 595 /* mrc2 */, ARM::t2MRC2, Convert__Reg1_3__CoprocNum1_1__Imm0_71_2__CoprocReg1_4__CoprocReg1_5__Imm0_71_6__CondCode2_0, Feature_IsThumb2|Feature_PreV8, { MCK_CondCode, MCK_CoprocNum, MCK_Imm0_7, MCK_GPRwithAPSR, MCK_CoprocReg, MCK_CoprocReg, MCK_Imm0_7 }, },
    8365             :   { 600 /* mrrc */, ARM::MRRC, Convert__Reg1_3__Reg1_4__CoprocNum1_1__Imm0_151_2__CoprocReg1_5__CondCode2_0, Feature_IsARM, { MCK_CondCode, MCK_CoprocNum, MCK_Imm0_15, MCK_GPRnopc, MCK_GPRnopc, MCK_CoprocReg }, },
    8366             :   { 600 /* mrrc */, ARM::t2MRRC, Convert__Reg1_3__Reg1_4__CoprocNum1_1__Imm0_151_2__CoprocReg1_5__CondCode2_0, Feature_IsThumb2, { MCK_CondCode, MCK_CoprocNum, MCK_Imm0_15, MCK_GPR, MCK_GPR, MCK_CoprocReg }, },
    8367             :   { 605 /* mrrc2 */, ARM::MRRC2, Convert__Reg1_2__Reg1_3__CoprocNum1_0__Imm0_151_1__CoprocReg1_4, Feature_IsARM|Feature_PreV8, { MCK_CoprocNum, MCK_Imm0_15, MCK_GPRnopc, MCK_GPRnopc, MCK_CoprocReg }, },
    8368             :   { 605 /* mrrc2 */, ARM::t2MRRC2, Convert__Reg1_3__Reg1_4__CoprocNum1_1__Imm0_151_2__CoprocReg1_5__CondCode2_0, Feature_IsThumb2|Feature_PreV8, { MCK_CondCode, MCK_CoprocNum, MCK_Imm0_15, MCK_GPR, MCK_GPR, MCK_CoprocReg }, },
    8369             :   { 611 /* mrs */, ARM::t2MRSbanked, Convert__Reg1_1__BankedReg1_2__CondCode2_0, Feature_IsThumb|Feature_HasVirtualization, { MCK_CondCode, MCK_rGPR, MCK_BankedReg }, },
    8370             :   { 611 /* mrs */, ARM::t2MRS_M, Convert__Reg1_1__MSRMask1_2__CondCode2_0, Feature_IsThumb|Feature_IsMClass, { MCK_CondCode, MCK_rGPR, MCK_MSRMask }, },
    8371             :   { 611 /* mrs */, ARM::MRS, Convert__Reg1_1__CondCode2_0, Feature_IsARM, { MCK_CondCode, MCK_GPRnopc, MCK_APSR }, },
    8372             :   { 611 /* mrs */, ARM::MRS, Convert__Reg1_1__CondCode2_0, Feature_IsARM, { MCK_CondCode, MCK_GPRnopc, MCK_CCR }, },
    8373             :   { 611 /* mrs */, ARM::MRSsys, Convert__Reg1_1__CondCode2_0, Feature_IsARM, { MCK_CondCode, MCK_GPRnopc, MCK_SPSR }, },
    8374             :   { 611 /* mrs */, ARM::MRSbanked, Convert__Reg1_1__BankedReg1_2__CondCode2_0, Feature_IsARM|Feature_HasVirtualization, { MCK_CondCode, MCK_GPRnopc, MCK_BankedReg }, },
    8375             :   { 611 /* mrs */, ARM::t2MRS_AR, Convert__Reg1_1__CondCode2_0, Feature_IsThumb2|Feature_IsNotMClass, { MCK_CondCode, MCK_GPR, MCK_APSR }, },
    8376             :   { 611 /* mrs */, ARM::t2MRS_AR, Convert__Reg1_1__CondCode2_0, Feature_IsThumb2, { MCK_CondCode, MCK_GPR, MCK_CCR }, },
    8377             :   { 611 /* mrs */, ARM::t2MRSsys_AR, Convert__Reg1_1__CondCode2_0, Feature_IsThumb2|Feature_IsNotMClass, { MCK_CondCode, MCK_GPR, MCK_SPSR }, },
    8378             :   { 615 /* msr */, ARM::t2MSRbanked, Convert__BankedReg1_1__Reg1_2__CondCode2_0, Feature_IsThumb|Feature_HasVirtualization, { MCK_CondCode, MCK_BankedReg, MCK_rGPR }, },
    8379             :   { 615 /* msr */, ARM::MSRbanked, Convert__BankedReg1_1__Reg1_2__CondCode2_0, Feature_IsARM|Feature_HasVirtualization, { MCK_CondCode, MCK_BankedReg, MCK_GPRnopc }, },
    8380             :   { 615 /* msr */, ARM::t2MSR_AR, Convert__MSRMask1_1__Reg1_2__CondCode2_0, Feature_IsThumb2|Feature_IsNotMClass, { MCK_CondCode, MCK_MSRMask, MCK_rGPR }, },
    8381             :   { 615 /* msr */, ARM::t2MSR_M, Convert__MSRMask1_1__Reg1_2__CondCode2_0, Feature_IsThumb|Feature_IsMClass, { MCK_CondCode, MCK_MSRMask, MCK_rGPR }, },
    8382             :   { 615 /* msr */, ARM::MSR, Convert__MSRMask1_1__Reg1_2__CondCode2_0, Feature_IsARM, { MCK_CondCode, MCK_MSRMask, MCK_GPR }, },
    8383             :   { 615 /* msr */, ARM::MSRi, Convert__MSRMask1_1__ModImm1_2__CondCode2_0, Feature_IsARM, { MCK_CondCode, MCK_MSRMask, MCK_ModImm }, },
    8384             :   { 619 /* mul */, ARM::t2MUL, Convert__Reg1_1__Reg1_2__Reg1_1__CondCode2_0, Feature_IsThumb2, { MCK_CondCode, MCK_rGPR, MCK_rGPR }, },
    8385             :   { 619 /* mul */, ARM::tMUL, ConvertCustom_cvtThumbMultiply, Feature_IsThumb, { MCK_CCOut, MCK_CondCode, MCK_tGPR, MCK_tGPR }, },
    8386             :   { 619 /* mul */, ARM::MUL, Convert__Reg1_2__Reg1_2__Reg1_3__CondCode2_1__CCOut1_0, Feature_IsARM|Feature_HasV6, { MCK_CCOut, MCK_CondCode, MCK_GPRnopc, MCK_GPRnopc }, },
    8387             :   { 619 /* mul */, ARM::t2MUL, Convert__Reg1_1__Reg1_2__Reg1_3__CondCode2_0, Feature_IsThumb2, { MCK_CondCode, MCK_rGPR, MCK_rGPR, MCK_rGPR }, },
    8388             :   { 619 /* mul */, ARM::tMUL, ConvertCustom_cvtThumbMultiply, Feature_IsThumb, { MCK_CCOut, MCK_CondCode, MCK_tGPR, MCK_tGPR, MCK_tGPR }, },
    8389             :   { 619 /* mul */, ARM::MUL, Convert__Reg1_2__Reg1_3__Reg1_4__CondCode2_1__CCOut1_0, Feature_IsARM|Feature_HasV6, { MCK_CCOut, MCK_CondCode, MCK_GPRnopc, MCK_GPRnopc, MCK_GPRnopc }, },
    8390             :   { 619 /* mul */, ARM::MUL, Convert__Reg1_2__Reg1_3__Reg1_4__CondCode2_1__CCOut1_0, Feature_IsARM, { MCK_CCOut, MCK_CondCode, MCK_GPRnopc, MCK_GPRnopc, MCK_GPRnopc }, },
    8391             :   { 623 /* mvn */, ARM::tMVN, Convert__Reg1_2__CCOut1_0__Reg1_3__CondCode2_1, Feature_IsThumb, { MCK_CCOut, MCK_CondCode, MCK_tGPR, MCK_tGPR }, },
    8392             :   { 623 /* mvn */, ARM::t2MVNr, Convert__Reg1_2__Reg1_3__CondCode2_1__CCOut1_0, Feature_IsThumb2, { MCK_CCOut, MCK_CondCode, MCK_rGPR, MCK_rGPR }, },
    8393             :   { 623 /* mvn */, ARM::MOVi, Convert__Reg1_2__ModImmNot1_3__CondCode2_1__CCOut1_0, Feature_IsARM|Feature_UseNegativeImmediates, { MCK_CCOut, MCK_CondCode, MCK_rGPR, MCK_ModImmNot }, },
    8394             :   { 623 /* mvn */, ARM::t2MVNs, Convert__Reg1_2__RegShiftedImm2_3__CondCode2_1__CCOut1_0, Feature_IsThumb2, { MCK_CCOut, MCK_CondCode, MCK_rGPR, MCK_RegShiftedImm }, },
    8395             :   { 623 /* mvn */, ARM::t2MVNi, Convert__Reg1_2__T2SOImm1_3__CondCode2_1__CCOut1_0, Feature_IsThumb2, { MCK_CCOut, MCK_CondCode, MCK_rGPR, MCK_T2SOImm }, },
    8396             :   { 623 /* mvn */, ARM::t2MOVi, Convert__Reg1_2__T2SOImmNot1_3__CondCode2_1__CCOut1_0, Feature_IsThumb2|Feature_UseNegativeImmediates, { MCK_CCOut, MCK_CondCode, MCK_rGPR, MCK_T2SOImmNot }, },
    8397             :   { 623 /* mvn */, ARM::MVNsr, Convert__Reg1_2__RegShiftedReg3_3__CondCode2_1__CCOut1_0, Feature_IsARM, { MCK_CCOut, MCK_CondCode, MCK_GPRnopc, MCK_RegShiftedReg }, },
    8398             :   { 623 /* mvn */, ARM::MVNr, Convert__Reg1_2__Reg1_3__CondCode2_1__CCOut1_0, Feature_IsARM, { MCK_CCOut, MCK_CondCode, MCK_GPR, MCK_GPR }, },
    8399             :   { 623 /* mvn */, ARM::MVNi, Convert__Reg1_2__ModImm1_3__CondCode2_1__CCOut1_0, Feature_IsARM, { MCK_CCOut, MCK_CondCode, MCK_GPR, MCK_ModImm }, },
    8400             :   { 623 /* mvn */, ARM::MVNsi, Convert__Reg1_2__RegShiftedImm2_3__CondCode2_1__CCOut1_0, Feature_IsARM, { MCK_CCOut, MCK_CondCode, MCK_GPR, MCK_RegShiftedImm }, },
    8401             :   { 623 /* mvn */, ARM::t2MVNr, Convert__Reg1_3__Reg1_4__CondCode2_1__CCOut1_0, Feature_IsThumb2, { MCK_CCOut, MCK_CondCode, MCK__DOT_w, MCK_rGPR, MCK_rGPR }, },
    8402             :   { 623 /* mvn */, ARM::t2MVNs, Convert__Reg1_3__RegShiftedImm2_4__CondCode2_1__CCOut1_0, Feature_IsThumb2, { MCK_CCOut, MCK_CondCode, MCK__DOT_w, MCK_rGPR, MCK_RegShiftedImm }, },
    8403             :   { 623 /* mvn */, ARM::t2MVNi, Convert__Reg1_3__T2SOImm1_4__CondCode2_1__CCOut1_0, Feature_IsThumb2, { MCK_CCOut, MCK_CondCode, MCK__DOT_w, MCK_rGPR, MCK_T2SOImm }, },
    8404             :   { 627 /* neg */, ARM::tRSB, Convert__Reg1_2__CCOut1_0__Reg1_3__CondCode2_1, Feature_IsThumb, { MCK_CCOut, MCK_CondCode, MCK_tGPR, MCK_tGPR }, },
    8405             :   { 627 /* neg */, ARM::t2RSBri, Convert__Reg1_2__Reg1_3__imm_95_0__CondCode2_1__CCOut1_0, Feature_IsThumb2, { MCK_CCOut, MCK_CondCode, MCK_rGPR, MCK_rGPR }, },
    8406             :   { 627 /* neg */, ARM::RSBri, Convert__Reg1_2__Reg1_3__imm_95_0__CondCode2_1__CCOut1_0, Feature_IsARM, { MCK_CCOut, MCK_CondCode, MCK_GPR, MCK_GPR }, },
    8407             :   { 631 /* nop */, ARM::tMOVr, Convert__regR8__regR8__imm_95_14__imm_95_0, Feature_IsThumb, {  }, },
    8408             :   { 631 /* nop */, ARM::HINT, Convert__imm_95_0__CondCode2_0, Feature_IsARM|Feature_HasV6K, { MCK_CondCode }, },
    8409             :   { 631 /* nop */, ARM::tHINT, Convert__imm_95_0__CondCode2_0, Feature_IsThumb|Feature_HasV6M, { MCK_CondCode }, },
    8410             :   { 631 /* nop */, ARM::MOVr, Convert__regR0__regR0__CondCode2_0__reg0, Feature_IsARM, { MCK_CondCode }, },
    8411             :   { 631 /* nop */, ARM::t2HINT, Convert__imm_95_0__CondCode2_0, Feature_IsThumb2, { MCK_CondCode, MCK__DOT_w }, },
    8412             :   { 635 /* orn */, ARM::t2ORNrr, Convert__Reg1_2__Reg1_2__Reg1_3__CondCode2_1__CCOut1_0, Feature_IsThumb2, { MCK_CCOut, MCK_CondCode, MCK_rGPR, MCK_rGPR }, },
    8413             :   { 635 /* orn */, ARM::t2ORNrs, Convert__Reg1_2__Reg1_2__RegShiftedImm2_3__CondCode2_1__CCOut1_0, Feature_IsThumb2, { MCK_CCOut, MCK_CondCode, MCK_rGPR, MCK_RegShiftedImm }, },
    8414             :   { 635 /* orn */, ARM::t2ORNri, Convert__Reg1_2__Reg1_2__T2SOImm1_3__CondCode2_1__CCOut1_0, Feature_IsThumb2, { MCK_CCOut, MCK_CondCode, MCK_rGPR, MCK_T2SOImm }, },
    8415             :   { 635 /* orn */, ARM::t2ORRri, Convert__Reg1_2__Reg1_2__T2SOImmNot1_3__CondCode2_1__CCOut1_0, Feature_IsThumb2|Feature_UseNegativeImmediates, { MCK_CCOut, MCK_CondCode, MCK_rGPR, MCK_T2SOImmNot }, },
    8416             :   { 635 /* orn */, ARM::t2ORNrr, Convert__Reg1_2__Reg1_3__Reg1_4__CondCode2_1__CCOut1_0, Feature_IsThumb2, { MCK_CCOut, MCK_CondCode, MCK_rGPR, MCK_rGPR, MCK_rGPR }, },
    8417             :   { 635 /* orn */, ARM::t2ORNrs, Convert__Reg1_2__Reg1_3__RegShiftedImm2_4__CondCode2_1__CCOut1_0, Feature_IsThumb2, { MCK_CCOut, MCK_CondCode, MCK_rGPR, MCK_rGPR, MCK_RegShiftedImm }, },
    8418             :   { 635 /* orn */, ARM::t2ORNri, Convert__Reg1_2__Reg1_3__T2SOImm1_4__CondCode2_1__CCOut1_0, Feature_IsThumb2, { MCK_CCOut, MCK_CondCode, MCK_rGPR, MCK_rGPR, MCK_T2SOImm }, },
    8419             :   { 635 /* orn */, ARM::t2ORRri, Convert__Reg1_2__Reg1_3__T2SOImmNot1_4__CondCode2_1__CCOut1_0, Feature_IsThumb2|Feature_UseNegativeImmediates, { MCK_CCOut, MCK_CondCode, MCK_rGPR, MCK_rGPR, MCK_T2SOImmNot }, },
    8420             :   { 639 /* orr */, ARM::tORR, Convert__Reg1_2__CCOut1_0__Tie0_1_1__Reg1_3__CondCode2_1, Feature_IsThumb, { MCK_CCOut, MCK_CondCode, MCK_tGPR, MCK_tGPR }, },
    8421             :   { 639 /* orr */, ARM::t2ORRrr, Convert__Reg1_2__Reg1_2__Reg1_3__CondCode2_1__CCOut1_0, Feature_IsThumb2, { MCK_CCOut, MCK_CondCode, MCK_rGPR, MCK_rGPR }, },
    8422             :   { 639 /* orr */, ARM::t2ORRrs, Convert__Reg1_2__Reg1_2__RegShiftedImm2_3__CondCode2_1__CCOut1_0, Feature_IsThumb2, { MCK_CCOut, MCK_CondCode, MCK_rGPR, MCK_RegShiftedImm }, },
    8423             :   { 639 /* orr */, ARM::t2ORRri, Convert__Reg1_2__Reg1_2__T2SOImm1_3__CondCode2_1__CCOut1_0, Feature_IsThumb2, { MCK_CCOut, MCK_CondCode, MCK_rGPR, MCK_T2SOImm }, },
    8424             :   { 639 /* orr */, ARM::t2ORNri, Convert__Reg1_2__Reg1_2__T2SOImmNot1_3__CondCode2_1__CCOut1_0, Feature_IsThumb2|Feature_UseNegativeImmediates, { MCK_CCOut, MCK_CondCode, MCK_rGPR, MCK_T2SOImmNot }, },
    8425             :   { 639 /* orr */, ARM::ORRrr, Convert__Reg1_2__Reg1_2__Reg1_3__CondCode2_1__CCOut1_0, Feature_IsARM, { MCK_CCOut, MCK_CondCode, MCK_GPR, MCK_GPR }, },
    8426             :   { 639 /* orr */, ARM::ORRri, Convert__Reg1_2__Reg1_2__ModImm1_3__CondCode2_1__CCOut1_0, Feature_IsARM, { MCK_CCOut, MCK_CondCode, MCK_GPR, MCK_ModImm }, },
    8427             :   { 639 /* orr */, ARM::ORRrsi, Convert__Reg1_2__Reg1_2__RegShiftedImm2_3__CondCode2_1__CCOut1_0, Feature_IsARM, { MCK_CCOut, MCK_CondCode, MCK_GPR, MCK_RegShiftedImm }, },
    8428             :   { 639 /* orr */, ARM::ORRrsr, Convert__Reg1_2__Reg1_2__RegShiftedReg3_3__CondCode2_1__CCOut1_0, Feature_IsARM, { MCK_CCOut, MCK_CondCode, MCK_GPR, MCK_RegShiftedReg }, },
    8429             :   { 639 /* orr */, ARM::t2ORRrr, Convert__Reg1_3__Reg1_3__Reg1_4__CondCode2_1__CCOut1_0, Feature_IsThumb2, { MCK_CCOut, MCK_CondCode, MCK__DOT_w, MCK_rGPR, MCK_rGPR }, },
    8430             :   { 639 /* orr */, ARM::t2ORRrs, Convert__Reg1_3__Reg1_3__RegShiftedImm2_4__CondCode2_1__CCOut1_0, Feature_IsThumb2, { MCK_CCOut, MCK_CondCode, MCK__DOT_w, MCK_rGPR, MCK_RegShiftedImm }, },
    8431             :   { 639 /* orr */, ARM::t2ORRri, Convert__Reg1_3__Reg1_3__T2SOImm1_4__CondCode2_1__CCOut1_0, Feature_IsThumb2, { MCK_CCOut, MCK_CondCode, MCK__DOT_w, MCK_rGPR, MCK_T2SOImm }, },
    8432             :   { 639 /* orr */, ARM::t2ORRrr, Convert__Reg1_2__Reg1_3__Reg1_4__CondCode2_1__CCOut1_0, Feature_IsThumb2, { MCK_CCOut, MCK_CondCode, MCK_rGPR, MCK_rGPR, MCK_rGPR }, },
    8433             :   { 639 /* orr */, ARM::t2ORRrs, Convert__Reg1_2__Reg1_3__RegShiftedImm2_4__CondCode2_1__CCOut1_0, Feature_IsThumb2, { MCK_CCOut, MCK_CondCode, MCK_rGPR, MCK_rGPR, MCK_RegShiftedImm }, },
    8434             :   { 639 /* orr */, ARM::t2ORRri, Convert__Reg1_2__Reg1_3__T2SOImm1_4__CondCode2_1__CCOut1_0, Feature_IsThumb2, { MCK_CCOut, MCK_CondCode, MCK_rGPR, MCK_rGPR, MCK_T2SOImm }, },
    8435             :   { 639 /* orr */, ARM::t2ORNri, Convert__Reg1_2__Reg1_3__T2SOImmNot1_4__CondCode2_1__CCOut1_0, Feature_IsThumb2|Feature_UseNegativeImmediates, { MCK_CCOut, MCK_CondCode, MCK_rGPR, MCK_rGPR, MCK_T2SOImmNot }, },
    8436             :   { 639 /* orr */, ARM::ORRrr, Convert__Reg1_2__Reg1_3__Reg1_4__CondCode2_1__CCOut1_0, Feature_IsARM, { MCK_CCOut, MCK_CondCode, MCK_GPR, MCK_GPR, MCK_GPR }, },
    8437             :   { 639 /* orr */, ARM::ORRri, Convert__Reg1_2__Reg1_3__ModImm1_4__CondCode2_1__CCOut1_0, Feature_IsARM, { MCK_CCOut, MCK_CondCode, MCK_GPR, MCK_GPR, MCK_ModImm }, },
    8438             :   { 639 /* orr */, ARM::ORRrsi, Convert__Reg1_2__Reg1_3__RegShiftedImm2_4__CondCode2_1__CCOut1_0, Feature_IsARM, { MCK_CCOut, MCK_CondCode, MCK_GPR, MCK_GPR, MCK_RegShiftedImm }, },
    8439             :   { 639 /* orr */, ARM::ORRrsr, Convert__Reg1_2__Reg1_3__RegShiftedReg3_4__CondCode2_1__CCOut1_0, Feature_IsARM, { MCK_CCOut, MCK_CondCode, MCK_GPR, MCK_GPR, MCK_RegShiftedReg }, },
    8440             :   { 639 /* orr */, ARM::t2ORRrr, Convert__Reg1_3__Reg1_4__Reg1_5__CondCode2_1__CCOut1_0, Feature_IsThumb2, { MCK_CCOut, MCK_CondCode, MCK__DOT_w, MCK_rGPR, MCK_rGPR, MCK_rGPR }, },
    8441             :   { 639 /* orr */, ARM::t2ORRrs, Convert__Reg1_3__Reg1_4__RegShiftedImm2_5__CondCode2_1__CCOut1_0, Feature_IsThumb2, { MCK_CCOut, MCK_CondCode, MCK__DOT_w, MCK_rGPR, MCK_rGPR, MCK_RegShiftedImm }, },
    8442             :   { 639 /* orr */, ARM::t2ORRri, Convert__Reg1_3__Reg1_4__T2SOImm1_5__CondCode2_1__CCOut1_0, Feature_IsThumb2, { MCK_CCOut, MCK_CondCode, MCK__DOT_w, MCK_rGPR, MCK_rGPR, MCK_T2SOImm }, },
    8443             :   { 643 /* pkhbt */, ARM::t2PKHBT, Convert__Reg1_1__Reg1_2__Reg1_3__imm_95_0__CondCode2_0, Feature_HasDSP|Feature_IsThumb2, { MCK_CondCode, MCK_rGPR, MCK_rGPR, MCK_rGPR }, },
    8444             :   { 643 /* pkhbt */, ARM::PKHBT, Convert__Reg1_1__Reg1_2__Reg1_3__imm_95_0__CondCode2_0, Feature_IsARM|Feature_HasV6, { MCK_CondCode, MCK_GPRnopc, MCK_GPRnopc, MCK_GPRnopc }, },
    8445             :   { 643 /* pkhbt */, ARM::t2PKHBT, Convert__Reg1_1__Reg1_2__Reg1_3__PKHLSLImm1_4__CondCode2_0, Feature_HasDSP|Feature_IsThumb2, { MCK_CondCode, MCK_rGPR, MCK_rGPR, MCK_rGPR, MCK_PKHLSLImm }, },
    8446             :   { 643 /* pkhbt */, ARM::PKHBT, Convert__Reg1_1__Reg1_2__Reg1_3__PKHLSLImm1_4__CondCode2_0, Feature_IsARM|Feature_HasV6, { MCK_CondCode, MCK_GPRnopc, MCK_GPRnopc, MCK_GPRnopc, MCK_PKHLSLImm }, },
    8447             :   { 649 /* pkhtb */, ARM::t2PKHBT, Convert__Reg1_1__Reg1_3__Reg1_2__imm_95_0__CondCode2_0, Feature_HasDSP|Feature_IsThumb2, { MCK_CondCode, MCK_rGPR, MCK_rGPR, MCK_rGPR }, },
    8448             :   { 649 /* pkhtb */, ARM::PKHBT, Convert__Reg1_1__Reg1_3__Reg1_2__imm_95_0__CondCode2_0, Feature_IsARM|Feature_HasV6, { MCK_CondCode, MCK_GPRnopc, MCK_GPRnopc, MCK_GPRnopc }, },
    8449             :   { 649 /* pkhtb */, ARM::t2PKHTB, Convert__Reg1_1__Reg1_2__Reg1_3__PKHASRImm1_4__CondCode2_0, Feature_HasDSP|Feature_IsThumb2, { MCK_CondCode, MCK_rGPR, MCK_rGPR, MCK_rGPR, MCK_PKHASRImm }, },
    8450             :   { 649 /* pkhtb */, ARM::PKHTB, Convert__Reg1_1__Reg1_2__Reg1_3__PKHASRImm1_4__CondCode2_0, Feature_IsARM|Feature_HasV6, { MCK_CondCode, MCK_GPRnopc, MCK_GPRnopc, MCK_GPRnopc, MCK_PKHASRImm }, },
    8451             :   { 655 /* pld */, ARM::PLDi12, Convert__MemImm12Offset2_0, Feature_IsARM, { MCK_MemImm12Offset }, },
    8452             :   { 655 /* pld */, ARM::PLDrs, Convert__MemRegOffset3_0, Feature_IsARM, { MCK_MemRegOffset }, },
    8453             :   { 655 /* pld */, ARM::t2PLDpci, Convert__Imm1_1__CondCode2_0, Feature_IsThumb2, { MCK_CondCode, MCK_Imm }, },
    8454             :   { 655 /* pld */, ARM::t2PLDi8, Convert__MemNegImm8Offset2_1__CondCode2_0, Feature_IsThumb2, { MCK_CondCode, MCK_MemNegImm8Offset }, },
    8455             :   { 655 /* pld */, ARM::t2PLDi12, Convert__MemUImm12Offset2_1__CondCode2_0, Feature_IsThumb2, { MCK_CondCode, MCK_MemUImm12Offset }, },
    8456             :   { 655 /* pld */, ARM::t2PLDs, Convert__T2MemRegOffset3_1__CondCode2_0, Feature_IsThumb2, { MCK_CondCode, MCK_T2MemRegOffset }, },
    8457             :   { 655 /* pld */, ARM::t2PLDpci, Convert__MemPCRelImm121_1__CondCode2_0, Feature_IsThumb2, { MCK_CondCode, MCK_MemPCRelImm12 }, },
    8458             :   { 659 /* pldw */, ARM::PLDWi12, Convert__MemImm12Offset2_0, Feature_IsARM|Feature_HasV7|Feature_HasMP, { MCK_MemImm12Offset }, },
    8459             :   { 659 /* pldw */, ARM::PLDWrs, Convert__MemRegOffset3_0, Feature_IsARM|Feature_HasV7|Feature_HasMP, { MCK_MemRegOffset }, },
    8460             :   { 659 /* pldw */, ARM::t2PLDWi8, Convert__MemNegImm8Offset2_1__CondCode2_0, Feature_IsThumb2|Feature_HasV7|Feature_HasMP, { MCK_CondCode, MCK_MemNegImm8Offset }, },
    8461             :   { 659 /* pldw */, ARM::t2PLDWi12, Convert__MemUImm12Offset2_1__CondCode2_0, Feature_IsThumb2|Feature_HasV7|Feature_HasMP, { MCK_CondCode, MCK_MemUImm12Offset }, },
    8462             :   { 659 /* pldw */, ARM::t2PLDWs, Convert__T2MemRegOffset3_1__CondCode2_0, Feature_IsThumb2|Feature_HasV7|Feature_HasMP, { MCK_CondCode, MCK_T2MemRegOffset }, },
    8463             :   { 664 /* pli */, ARM::PLIi12, Convert__MemImm12Offset2_0, Feature_IsARM|Feature_HasV7, { MCK_MemImm12Offset }, },
    8464             :   { 664 /* pli */, ARM::PLIrs, Convert__MemRegOffset3_0, Feature_IsARM|Feature_HasV7, { MCK_MemRegOffset }, },
    8465             :   { 664 /* pli */, ARM::t2PLIpci, Convert__Imm1_1__CondCode2_0, Feature_IsThumb2|Feature_HasV7, { MCK_CondCode, MCK_Imm }, },
    8466             :   { 664 /* pli */, ARM::t2PLIi8, Convert__MemNegImm8Offset2_1__CondCode2_0, Feature_IsThumb2|Feature_HasV7, { MCK_CondCode, MCK_MemNegImm8Offset }, },
    8467             :   { 664 /* pli */, ARM::t2PLIi12, Convert__MemUImm12Offset2_1__CondCode2_0, Feature_IsThumb2|Feature_HasV7, { MCK_CondCode, MCK_MemUImm12Offset }, },
    8468             :   { 664 /* pli */, ARM::t2PLIs, Convert__T2MemRegOffset3_1__CondCode2_0, Feature_IsThumb2|Feature_HasV7, { MCK_CondCode, MCK_T2MemRegOffset }, },
    8469             :   { 664 /* pli */, ARM::t2PLIpci, Convert__MemPCRelImm121_1__CondCode2_0, Feature_IsThumb2|Feature_HasV7, { MCK_CondCode, MCK_MemPCRelImm12 }, },
    8470             :   { 668 /* pop */, ARM::tPOP, Convert__CondCode2_0__RegList1_1, Feature_IsThumb, { MCK_CondCode, MCK_RegList }, },
    8471             :   { 668 /* pop */, ARM::t2LDMIA_UPD, Convert__regSP__Tie0_1_1__CondCode2_0__RegList1_1, Feature_IsThumb2, { MCK_CondCode, MCK_RegList }, },
    8472             :   { 668 /* pop */, ARM::LDMIA_UPD, Convert__regSP__Tie0_1_1__CondCode2_0__RegList1_1, Feature_IsARM, { MCK_CondCode, MCK_RegList }, },
    8473             :   { 668 /* pop */, ARM::t2LDMIA_UPD, Convert__regSP__Tie0_1_1__CondCode2_0__RegList1_2, Feature_IsThumb2, { MCK_CondCode, MCK__DOT_w, MCK_RegList }, },
    8474             :   { 672 /* push */, ARM::tPUSH, Convert__CondCode2_0__RegList1_1, Feature_IsThumb, { MCK_CondCode, MCK_RegList }, },
    8475             :   { 672 /* push */, ARM::t2STMDB_UPD, Convert__regSP__Tie0_1_1__CondCode2_0__RegList1_1, Feature_IsThumb2, { MCK_CondCode, MCK_RegList }, },
    8476             :   { 672 /* push */, ARM::STMDB_UPD, Convert__regSP__Tie0_1_1__CondCode2_0__RegList1_1, Feature_IsARM, { MCK_CondCode, MCK_RegList }, },
    8477             :   { 672 /* push */, ARM::t2STMDB_UPD, Convert__regSP__Tie0_1_1__CondCode2_0__RegList1_2, Feature_IsThumb2, { MCK_CondCode, MCK__DOT_w, MCK_RegList }, },
    8478             :   { 677 /* qadd */, ARM::t2QADD, Convert__Reg1_1__Reg1_2__Reg1_3__CondCode2_0, Feature_IsThumb2|Feature_HasDSP, { MCK_CondCode, MCK_rGPR, MCK_rGPR, MCK_rGPR }, },
    8479             :   { 677 /* qadd */, ARM::QADD, Convert__Reg1_1__Reg1_2__Reg1_3__CondCode2_0, Feature_IsARM, { MCK_CondCode, MCK_GPRnopc, MCK_GPRnopc, MCK_GPRnopc }, },
    8480             :   { 682 /* qadd16 */, ARM::t2QADD16, Convert__Reg1_1__Reg1_2__Reg1_3__CondCode2_0, Feature_IsThumb2|Feature_HasDSP, { MCK_CondCode, MCK_rGPR, MCK_rGPR, MCK_rGPR }, },
    8481             :   { 682 /* qadd16 */, ARM::QADD16, Convert__Reg1_1__Reg1_2__Reg1_3__CondCode2_0, Feature_IsARM, { MCK_CondCode, MCK_GPRnopc, MCK_GPRnopc, MCK_GPRnopc }, },
    8482             :   { 689 /* qadd8 */, ARM::t2QADD8, Convert__Reg1_1__Reg1_2__Reg1_3__CondCode2_0, Feature_IsThumb2|Feature_HasDSP, { MCK_CondCode, MCK_rGPR, MCK_rGPR, MCK_rGPR }, },
    8483             :   { 689 /* qadd8 */, ARM::QADD8, Convert__Reg1_1__Reg1_2__Reg1_3__CondCode2_0, Feature_IsARM, { MCK_CondCode, MCK_GPRnopc, MCK_GPRnopc, MCK_GPRnopc }, },
    8484             :   { 695 /* qasx */, ARM::t2QASX, Convert__Reg1_1__Reg1_2__Reg1_3__CondCode2_0, Feature_IsThumb2|Feature_HasDSP, { MCK_CondCode, MCK_rGPR, MCK_rGPR, MCK_rGPR }, },
    8485             :   { 695 /* qasx */, ARM::QASX, Convert__Reg1_1__Reg1_2__Reg1_3__CondCode2_0, Feature_IsARM, { MCK_CondCode, MCK_GPRnopc, MCK_GPRnopc, MCK_GPRnopc }, },
    8486             :   { 700 /* qdadd */, ARM::t2QDADD, Convert__Reg1_1__Reg1_2__Reg1_3__CondCode2_0, Feature_IsThumb2|Feature_HasDSP, { MCK_CondCode, MCK_rGPR, MCK_rGPR, MCK_rGPR }, },
    8487             :   { 700 /* qdadd */, ARM::QDADD, Convert__Reg1_1__Reg1_2__Reg1_3__CondCode2_0, Feature_IsARM, { MCK_CondCode, MCK_GPRnopc, MCK_GPRnopc, MCK_GPRnopc }, },
    8488             :   { 706 /* qdsub */, ARM::t2QDSUB, Convert__Reg1_1__Reg1_2__Reg1_3__CondCode2_0, Feature_IsThumb2|Feature_HasDSP, { MCK_CondCode, MCK_rGPR, MCK_rGPR, MCK_rGPR }, },
    8489             :   { 706 /* qdsub */, ARM::QDSUB, Convert__Reg1_1__Reg1_2__Reg1_3__CondCode2_0, Feature_IsARM, { MCK_CondCode, MCK_GPRnopc, MCK_GPRnopc, MCK_GPRnopc }, },
    8490             :   { 712 /* qsax */, ARM::t2QSAX, Convert__Reg1_1__Reg1_2__Reg1_3__CondCode2_0, Feature_IsThumb2|Feature_HasDSP, { MCK_CondCode, MCK_rGPR, MCK_rGPR, MCK_rGPR }, },
    8491             :   { 712 /* qsax */, ARM::QSAX, Convert__Reg1_1__Reg1_2__Reg1_3__CondCode2_0, Feature_IsARM, { MCK_CondCode, MCK_GPRnopc, MCK_GPRnopc, MCK_GPRnopc }, },
    8492             :   { 717 /* qsub */, ARM::t2QSUB, Convert__Reg1_1__Reg1_2__Reg1_3__CondCode2_0, Feature_IsThumb2|Feature_HasDSP, { MCK_CondCode, MCK_rGPR, MCK_rGPR, MCK_rGPR }, },
    8493             :   { 717 /* qsub */, ARM::QSUB, Convert__Reg1_1__Reg1_2__Reg1_3__CondCode2_0, Feature_IsARM, { MCK_CondCode, MCK_GPRnopc, MCK_GPRnopc, MCK_GPRnopc }, },
    8494             :   { 722 /* qsub16 */, ARM::t2QSUB16, Convert__Reg1_1__Reg1_2__Reg1_3__CondCode2_0, Feature_IsThumb2|Feature_HasDSP, { MCK_CondCode, MCK_rGPR, MCK_rGPR, MCK_rGPR }, },
    8495             :   { 722 /* qsub16 */, ARM::QSUB16, Convert__Reg1_1__Reg1_2__Reg1_3__CondCode2_0, Feature_IsARM, { MCK_CondCode, MCK_GPRnopc, MCK_GPRnopc, MCK_GPRnopc }, },
    8496             :   { 729 /* qsub8 */, ARM::t2QSUB8, Convert__Reg1_1__Reg1_2__Reg1_3__CondCode2_0, Feature_IsThumb2|Feature_HasDSP, { MCK_CondCode, MCK_rGPR, MCK_rGPR, MCK_rGPR }, },
    8497             :   { 729 /* qsub8 */, ARM::QSUB8, Convert__Reg1_1__Reg1_2__Reg1_3__CondCode2_0, Feature_IsARM, { MCK_CondCode, MCK_GPRnopc, MCK_GPRnopc, MCK_GPRnopc }, },
    8498             :   { 735 /* rbit */, ARM::t2RBIT, Convert__Reg1_1__Reg1_2__CondCode2_0, Feature_IsThumb2, { MCK_CondCode, MCK_rGPR, MCK_rGPR }, },
    8499             :   { 735 /* rbit */, ARM::RBIT, Convert__Reg1_1__Reg1_2__CondCode2_0, Feature_IsARM|Feature_HasV6T2, { MCK_CondCode, MCK_GPR, MCK_GPR }, },
    8500             :   { 740 /* rev */, ARM::tREV, Convert__Reg1_1__Reg1_2__CondCode2_0, Feature_IsThumb|Feature_HasV6, { MCK_CondCode, MCK_tGPR, MCK_tGPR }, },
    8501             :   { 740 /* rev */, ARM::t2REV, Convert__Reg1_1__Reg1_2__CondCode2_0, Feature_IsThumb2, { MCK_CondCode, MCK_rGPR, MCK_rGPR }, },
    8502             :   { 740 /* rev */, ARM::REV, Convert__Reg1_1__Reg1_2__CondCode2_0, Feature_IsARM|Feature_HasV6, { MCK_CondCode, MCK_GPR, MCK_GPR }, },
    8503             :   { 740 /* rev */, ARM::t2REV, Convert__Reg1_2__Reg1_3__CondCode2_0, Feature_IsThumb2, { MCK_CondCode, MCK__DOT_w, MCK_rGPR, MCK_rGPR }, },
    8504             :   { 744 /* rev16 */, ARM::tREV16, Convert__Reg1_1__Reg1_2__CondCode2_0, Feature_IsThumb|Feature_HasV6, { MCK_CondCode, MCK_tGPR, MCK_tGPR }, },
    8505             :   { 744 /* rev16 */, ARM::t2REV16, Convert__Reg1_1__Reg1_2__CondCode2_0, Feature_IsThumb2, { MCK_CondCode, MCK_rGPR, MCK_rGPR }, },
    8506             :   { 744 /* rev16 */, ARM::REV16, Convert__Reg1_1__Reg1_2__CondCode2_0, Feature_IsARM|Feature_HasV6, { MCK_CondCode, MCK_GPR, MCK_GPR }, },
    8507             :   { 744 /* rev16 */, ARM::t2REV16, Convert__Reg1_2__Reg1_3__CondCode2_0, Feature_IsThumb2, { MCK_CondCode, MCK__DOT_w, MCK_rGPR, MCK_rGPR }, },
    8508             :   { 750 /* revsh */, ARM::tREVSH, Convert__Reg1_1__Reg1_2__CondCode2_0, Feature_IsThumb|Feature_HasV6, { MCK_CondCode, MCK_tGPR, MCK_tGPR }, },
    8509             :   { 750 /* revsh */, ARM::t2REVSH, Convert__Reg1_1__Reg1_2__CondCode2_0, Feature_IsThumb2, { MCK_CondCode, MCK_rGPR, MCK_rGPR }, },
    8510             :   { 750 /* revsh */, ARM::REVSH, Convert__Reg1_1__Reg1_2__CondCode2_0, Feature_IsARM|Feature_HasV6, { MCK_CondCode, MCK_GPR, MCK_GPR }, },
    8511             :   { 750 /* revsh */, ARM::t2REVSH, Convert__Reg1_2__Reg1_3__CondCode2_0, Feature_IsThumb2, { MCK_CondCode, MCK__DOT_w, MCK_rGPR, MCK_rGPR }, },
    8512             :   { 756 /* rfeda */, ARM::RFEDA, Convert__Reg1_0, Feature_IsARM, { MCK_GPR }, },
    8513             :   { 756 /* rfeda */, ARM::RFEDA_UPD, Convert__Reg1_0, Feature_IsARM, { MCK_GPR, MCK__EXCLAIM_ }, },
    8514             :   { 762 /* rfedb */, ARM::RFEDB, Convert__Reg1_0, Feature_IsARM, { MCK_GPR }, },
    8515             :   { 762 /* rfedb */, ARM::RFEDB_UPD, Convert__Reg1_0, Feature_IsARM, { MCK_GPR, MCK__EXCLAIM_ }, },
    8516             :   { 762 /* rfedb */, ARM::t2RFEDB, Convert__Reg1_1__CondCode2_0, Feature_IsThumb2|Feature_IsNotMClass, { MCK_CondCode, MCK_GPR }, },
    8517             :   { 762 /* rfedb */, ARM::t2RFEDBW, Convert__Reg1_1__CondCode2_0, Feature_IsThumb2|Feature_IsNotMClass, { MCK_CondCode, MCK_GPR, MCK__EXCLAIM_ }, },
    8518             :   { 768 /* rfeia */, ARM::RFEIA, Convert__Reg1_0, Feature_IsARM, { MCK_GPR }, },
    8519             :   { 768 /* rfeia */, ARM::RFEIA_UPD, Convert__Reg1_0, Feature_IsARM, { MCK_GPR, MCK__EXCLAIM_ }, },
    8520             :   { 768 /* rfeia */, ARM::t2RFEIA, Convert__Reg1_1__CondCode2_0, Feature_IsThumb2|Feature_IsNotMClass, { MCK_CondCode, MCK_GPR }, },
    8521             :   { 768 /* rfeia */, ARM::t2RFEIAW, Convert__Reg1_1__CondCode2_0, Feature_IsThumb2|Feature_IsNotMClass, { MCK_CondCode, MCK_GPR, MCK__EXCLAIM_ }, },
    8522             :   { 774 /* rfeib */, ARM::RFEIB, Convert__Reg1_0, Feature_IsARM, { MCK_GPR }, },
    8523             :   { 774 /* rfeib */, ARM::RFEIB_UPD, Convert__Reg1_0, Feature_IsARM, { MCK_GPR, MCK__EXCLAIM_ }, },
    8524             :   { 780 /* ror */, ARM::tROR, Convert__Reg1_2__CCOut1_0__Tie0_1_1__Reg1_3__CondCode2_1, Feature_IsThumb, { MCK_CCOut, MCK_CondCode, MCK_tGPR, MCK_tGPR }, },
    8525             :   { 780 /* ror */, ARM::t2RORrr, Convert__Reg1_2__Reg1_2__Reg1_3__CondCode2_1__CCOut1_0, Feature_IsThumb2, { MCK_CCOut, MCK_CondCode, MCK_rGPR, MCK_rGPR }, },
    8526             :   { 780 /* ror */, ARM::t2RORri, Convert__Reg1_2__Reg1_2__Imm0_311_3__CondCode2_1__CCOut1_0, Feature_IsThumb2, { MCK_CCOut, MCK_CondCode, MCK_rGPR, MCK_Imm0_31 }, },
    8527             :   { 780 /* ror */, ARM::RORr, Convert__Reg1_2__Reg1_2__Reg1_3__CondCode2_1__CCOut1_0, Feature_IsARM, { MCK_CCOut, MCK_CondCode, MCK_GPRnopc, MCK_GPRnopc }, },
    8528             :   { 780 /* ror */, ARM::RORi, Convert__Reg1_2__Reg1_2__Imm0_311_3__CondCode2_1__CCOut1_0, Feature_IsARM, { MCK_CCOut, MCK_CondCode, MCK_GPR, MCK_Imm0_31 }, },
    8529             :   { 780 /* ror */, ARM::t2RORrr, Convert__Reg1_3__Reg1_3__Reg1_4__CondCode2_1__CCOut1_0, Feature_IsThumb2, { MCK_CCOut, MCK_CondCode, MCK__DOT_w, MCK_rGPR, MCK_rGPR }, },
    8530             :   { 780 /* ror */, ARM::t2RORri, Convert__Reg1_3__Reg1_3__Imm0_311_4__CondCode2_1__CCOut1_0, Feature_IsThumb2, { MCK_CCOut, MCK_CondCode, MCK__DOT_w, MCK_rGPR, MCK_Imm0_31 }, },
    8531             :   { 780 /* ror */, ARM::t2RORrr, Convert__Reg1_2__Reg1_3__Reg1_4__CondCode2_1__CCOut1_0, Feature_IsThumb2, { MCK_CCOut, MCK_CondCode, MCK_rGPR, MCK_rGPR, MCK_rGPR }, },
    8532             :   { 780 /* ror */, ARM::t2RORri, Convert__Reg1_2__Reg1_3__Imm0_311_4__CondCode2_1__CCOut1_0, Feature_IsThumb2, { MCK_CCOut, MCK_CondCode, MCK_rGPR, MCK_rGPR, MCK_Imm0_31 }, },
    8533             :   { 780 /* ror */, ARM::RORr, Convert__Reg1_2__Reg1_3__Reg1_4__CondCode2_1__CCOut1_0, Feature_IsARM, { MCK_CCOut, MCK_CondCode, MCK_GPRnopc, MCK_GPRnopc, MCK_GPRnopc }, },
    8534             :   { 780 /* ror */, ARM::RORi, Convert__Reg1_2__Reg1_3__Imm0_311_4__CondCode2_1__CCOut1_0, Feature_IsARM, { MCK_CCOut, MCK_CondCode, MCK_GPR, MCK_GPR, MCK_Imm0_31 }, },
    8535             :   { 780 /* ror */, ARM::t2RORrr, Convert__Reg1_3__Reg1_4__Reg1_5__CondCode2_1__CCOut1_0, Feature_IsThumb2, { MCK_CCOut, MCK_CondCode, MCK__DOT_w, MCK_rGPR, MCK_rGPR, MCK_rGPR }, },
    8536             :   { 780 /* ror */, ARM::t2RORri, Convert__Reg1_3__Reg1_4__Imm0_311_5__CondCode2_1__CCOut1_0, Feature_IsThumb2, { MCK_CCOut, MCK_CondCode, MCK__DOT_w, MCK_rGPR, MCK_rGPR, MCK_Imm0_31 }, },
    8537             :   { 784 /* rrx */, ARM::t2RRX, Convert__Reg1_2__Reg1_3__CondCode2_1__CCOut1_0, Feature_IsThumb2, { MCK_CCOut, MCK_CondCode, MCK_rGPR, MCK_rGPR }, },
    8538             :   { 784 /* rrx */, ARM::RRXi, Convert__Reg1_2__Reg1_3__CondCode2_1__CCOut1_0, Feature_IsARM, { MCK_CCOut, MCK_CondCode, MCK_GPR, MCK_GPR }, },
    8539             :   { 788 /* rsb */, ARM::t2RSBrr, Convert__Reg1_2__Reg1_2__Reg1_3__CondCode2_1__CCOut1_0, Feature_IsThumb2, { MCK_CCOut, MCK_CondCode, MCK_rGPR, MCK_rGPR }, },
    8540             :   { 788 /* rsb */, ARM::t2RSBrs, Convert__Reg1_2__Reg1_2__RegShiftedImm2_3__CondCode2_1__CCOut1_0, Feature_IsThumb2, { MCK_CCOut, MCK_CondCode, MCK_rGPR, MCK_RegShiftedImm }, },
    8541             :   { 788 /* rsb */, ARM::t2RSBri, Convert__Reg1_2__Reg1_2__T2SOImm1_3__CondCode2_1__CCOut1_0, Feature_IsThumb2, { MCK_CCOut, MCK_CondCode, MCK_rGPR, MCK_T2SOImm }, },
    8542             :   { 788 /* rsb */, ARM::RSBrr, Convert__Reg1_2__Reg1_2__Reg1_3__CondCode2_1__CCOut1_0, Feature_IsARM, { MCK_CCOut, MCK_CondCode, MCK_GPR, MCK_GPR }, },
    8543             :   { 788 /* rsb */, ARM::RSBri, Convert__Reg1_2__Reg1_2__ModImm1_3__CondCode2_1__CCOut1_0, Feature_IsARM, { MCK_CCOut, MCK_CondCode, MCK_GPR, MCK_ModImm }, },
    8544             :   { 788 /* rsb */, ARM::RSBrsi, Convert__Reg1_2__Reg1_2__RegShiftedImm2_3__CondCode2_1__CCOut1_0, Feature_IsARM, { MCK_CCOut, MCK_CondCode, MCK_GPR, MCK_RegShiftedImm }, },
    8545             :   { 788 /* rsb */, ARM::RSBrsr, Convert__Reg1_2__Reg1_2__RegShiftedReg3_3__CondCode2_1__CCOut1_0, Feature_IsARM, { MCK_CCOut, MCK_CondCode, MCK_GPR, MCK_RegShiftedReg }, },
    8546             :   { 788 /* rsb */, ARM::tRSB, Convert__Reg1_2__CCOut1_0__Reg1_3__CondCode2_1, Feature_IsThumb, { MCK_CCOut, MCK_CondCode, MCK_tGPR, MCK_tGPR, MCK__35_0 }, },
    8547             :   { 788 /* rsb */, ARM::t2RSBrr, Convert__Reg1_2__Reg1_3__Reg1_4__CondCode2_1__CCOut1_0, Feature_IsThumb2, { MCK_CCOut, MCK_CondCode, MCK_rGPR, MCK_rGPR, MCK_rGPR }, },
    8548             :   { 788 /* rsb */, ARM::t2RSBrs, Convert__Reg1_2__Reg1_3__RegShiftedImm2_4__CondCode2_1__CCOut1_0, Feature_IsThumb2, { MCK_CCOut, MCK_CondCode, MCK_rGPR, MCK_rGPR, MCK_RegShiftedImm }, },
    8549             :   { 788 /* rsb */, ARM::t2RSBri, Convert__Reg1_2__Reg1_3__T2SOImm1_4__CondCode2_1__CCOut1_0, Feature_IsThumb2, { MCK_CCOut, MCK_CondCode, MCK_rGPR, MCK_rGPR, MCK_T2SOImm }, },
    8550             :   { 788 /* rsb */, ARM::RSBrr, Convert__Reg1_2__Reg1_3__Reg1_4__CondCode2_1__CCOut1_0, Feature_IsARM, { MCK_CCOut, MCK_CondCode, MCK_GPR, MCK_GPR, MCK_GPR }, },
    8551             :   { 788 /* rsb */, ARM::RSBri, Convert__Reg1_2__Reg1_3__ModImm1_4__CondCode2_1__CCOut1_0, Feature_IsARM, { MCK_CCOut, MCK_CondCode, MCK_GPR, MCK_GPR, MCK_ModImm }, },
    8552             :   { 788 /* rsb */, ARM::RSBrsi, Convert__Reg1_2__Reg1_3__RegShiftedImm2_4__CondCode2_1__CCOut1_0, Feature_IsARM, { MCK_CCOut, MCK_CondCode, MCK_GPR, MCK_GPR, MCK_RegShiftedImm }, },
    8553             :   { 788 /* rsb */, ARM::RSBrsr, Convert__Reg1_2__Reg1_3__RegShiftedReg3_4__CondCode2_1__CCOut1_0, Feature_IsARM, { MCK_CCOut, MCK_CondCode, MCK_GPR, MCK_GPR, MCK_RegShiftedReg }, },
    8554             :   { 788 /* rsb */, ARM::t2RSBri, Convert__Reg1_3__Reg1_4__T2SOImm1_5__CondCode2_1__CCOut1_0, Feature_IsThumb2, { MCK_CCOut, MCK_CondCode, MCK__DOT_w, MCK_rGPR, MCK_rGPR, MCK_T2SOImm }, },
    8555             :   { 792 /* rsc */, ARM::RSCrr, Convert__Reg1_2__Reg1_2__Reg1_3__CondCode2_1__CCOut1_0, Feature_IsARM, { MCK_CCOut, MCK_CondCode, MCK_GPR, MCK_GPR }, },
    8556             :   { 792 /* rsc */, ARM::RSCri, Convert__Reg1_2__Reg1_2__ModImm1_3__CondCode2_1__CCOut1_0, Feature_IsARM, { MCK_CCOut, MCK_CondCode, MCK_GPR, MCK_ModImm }, },
    8557             :   { 792 /* rsc */, ARM::RSCrsi, Convert__Reg1_2__Reg1_2__RegShiftedImm2_3__CondCode2_1__CCOut1_0, Feature_IsARM, { MCK_CCOut, MCK_CondCode, MCK_GPR, MCK_RegShiftedImm }, },
    8558             :   { 792 /* rsc */, ARM::RSCrsr, Convert__Reg1_2__Reg1_2__RegShiftedReg3_3__CondCode2_1__CCOut1_0, Feature_IsARM, { MCK_CCOut, MCK_CondCode, MCK_GPR, MCK_RegShiftedReg }, },
    8559             :   { 792 /* rsc */, ARM::RSCrr, Convert__Reg1_2__Reg1_3__Reg1_4__CondCode2_1__CCOut1_0, Feature_IsARM, { MCK_CCOut, MCK_CondCode, MCK_GPR, MCK_GPR, MCK_GPR }, },
    8560             :   { 792 /* rsc */, ARM::RSCri, Convert__Reg1_2__Reg1_3__ModImm1_4__CondCode2_1__CCOut1_0, Feature_IsARM, { MCK_CCOut, MCK_CondCode, MCK_GPR, MCK_GPR, MCK_ModImm }, },
    8561             :   { 792 /* rsc */, ARM::RSCrsi, Convert__Reg1_2__Reg1_3__RegShiftedImm2_4__CondCode2_1__CCOut1_0, Feature_IsARM, { MCK_CCOut, MCK_CondCode, MCK_GPR, MCK_GPR, MCK_RegShiftedImm }, },
    8562             :   { 792 /* rsc */, ARM::RSCrsr, Convert__Reg1_2__Reg1_3__RegShiftedReg3_4__CondCode2_1__CCOut1_0, Feature_IsARM, { MCK_CCOut, MCK_CondCode, MCK_GPR, MCK_GPR, MCK_RegShiftedReg }, },
    8563             :   { 796 /* sadd16 */, ARM::t2SADD16, Convert__Reg1_1__Reg1_2__Reg1_3__CondCode2_0, Feature_IsThumb2|Feature_HasDSP, { MCK_CondCode, MCK_rGPR, MCK_rGPR, MCK_rGPR }, },
    8564             :   { 796 /* sadd16 */, ARM::SADD16, Convert__Reg1_1__Reg1_2__Reg1_3__CondCode2_0, Feature_IsARM, { MCK_CondCode, MCK_GPRnopc, MCK_GPRnopc, MCK_GPRnopc }, },
    8565             :   { 803 /* sadd8 */, ARM::t2SADD8, Convert__Reg1_1__Reg1_2__Reg1_3__CondCode2_0, Feature_IsThumb2|Feature_HasDSP, { MCK_CondCode, MCK_rGPR, MCK_rGPR, MCK_rGPR }, },
    8566             :   { 803 /* sadd8 */, ARM::SADD8, Convert__Reg1_1__Reg1_2__Reg1_3__CondCode2_0, Feature_IsARM, { MCK_CondCode, MCK_GPRnopc, MCK_GPRnopc, MCK_GPRnopc }, },
    8567             :   { 809 /* sasx */, ARM::t2SASX, Convert__Reg1_1__Reg1_2__Reg1_3__CondCode2_0, Feature_IsThumb2|Feature_HasDSP, { MCK_CondCode, MCK_rGPR, MCK_rGPR, MCK_rGPR }, },
    8568             :   { 809 /* sasx */, ARM::SASX, Convert__Reg1_1__Reg1_2__Reg1_3__CondCode2_0, Feature_IsARM, { MCK_CondCode, MCK_GPRnopc, MCK_GPRnopc, MCK_GPRnopc }, },
    8569             :   { 814 /* sbc */, ARM::tSBC, Convert__Reg1_2__CCOut1_0__Tie0_1_1__Reg1_3__CondCode2_1, Feature_IsThumb, { MCK_CCOut, MCK_CondCode, MCK_tGPR, MCK_tGPR }, },
    8570             :   { 814 /* sbc */, ARM::SBCrsr, Convert__Reg1_2__Reg1_2__RegShiftedReg3_3__CondCode2_1__CCOut1_0, Feature_IsARM, { MCK_CCOut, MCK_CondCode, MCK_GPRnopc, MCK_RegShiftedReg }, },
    8571             :   { 814 /* sbc */, ARM::SBCrr, Convert__Reg1_2__Reg1_2__Reg1_3__CondCode2_1__CCOut1_0, Feature_IsARM, { MCK_CCOut, MCK_CondCode, MCK_GPR, MCK_GPR }, },
    8572             :   { 814 /* sbc */, ARM::SBCri, Convert__Reg1_2__Reg1_2__ModImm1_3__CondCode2_1__CCOut1_0, Feature_IsARM, { MCK_CCOut, MCK_CondCode, MCK_GPR, MCK_ModImm }, },
    8573             :   { 814 /* sbc */, ARM::ADCri, Convert__Reg1_2__Reg1_2__ModImmNot1_3__CondCode2_1__CCOut1_0, Feature_IsARM|Feature_UseNegativeImmediates, { MCK_CCOut, MCK_CondCode, MCK_GPR, MCK_ModImmNot }, },
    8574             :   { 814 /* sbc */, ARM::SBCrsi, Convert__Reg1_2__Reg1_2__RegShiftedImm2_3__CondCode2_1__CCOut1_0, Feature_IsARM, { MCK_CCOut, MCK_CondCode, MCK_GPR, MCK_RegShiftedImm }, },
    8575             :   { 814 /* sbc */, ARM::t2SBCrr, Convert__Reg1_2__Reg1_3__Reg1_4__CondCode2_1__CCOut1_0, Feature_IsThumb2, { MCK_CCOut, MCK_CondCode, MCK_rGPR, MCK_rGPR, MCK_rGPR }, },
    8576             :   { 814 /* sbc */, ARM::t2SBCrs, Convert__Reg1_2__Reg1_3__RegShiftedImm2_4__CondCode2_1__CCOut1_0, Feature_IsThumb2, { MCK_CCOut, MCK_CondCode, MCK_rGPR, MCK_rGPR, MCK_RegShiftedImm }, },
    8577             :   { 814 /* sbc */, ARM::t2SBCri, Convert__Reg1_2__Reg1_3__T2SOImm1_4__CondCode2_1__CCOut1_0, Feature_IsThumb2, { MCK_CCOut, MCK_CondCode, MCK_rGPR, MCK_rGPR, MCK_T2SOImm }, },
    8578             :   { 814 /* sbc */, ARM::t2ADCri, Convert__Reg1_2__Reg1_3__T2SOImmNot1_4__CondCode2_1__CCOut1_0, Feature_IsThumb2|Feature_UseNegativeImmediates, { MCK_CCOut, MCK_CondCode, MCK_rGPR, MCK_rGPR, MCK_T2SOImmNot }, },
    8579             :   { 814 /* sbc */, ARM::SBCrsr, Convert__Reg1_2__Reg1_3__RegShiftedReg3_4__CondCode2_1__CCOut1_0, Feature_IsARM, { MCK_CCOut, MCK_CondCode, MCK_GPRnopc, MCK_GPRnopc, MCK_RegShiftedReg }, },
    8580             :   { 814 /* sbc */, ARM::SBCrr, Convert__Reg1_2__Reg1_3__Reg1_4__CondCode2_1__CCOut1_0, Feature_IsARM, { MCK_CCOut, MCK_CondCode, MCK_GPR, MCK_GPR, MCK_GPR }, },
    8581             :   { 814 /* sbc */, ARM::SBCri, Convert__Reg1_2__Reg1_3__ModImm1_4__CondCode2_1__CCOut1_0, Feature_IsARM, { MCK_CCOut, MCK_CondCode, MCK_GPR, MCK_GPR, MCK_ModImm }, },
    8582             :   { 814 /* sbc */, ARM::ADCri, Convert__Reg1_2__Reg1_3__ModImmNot1_4__CondCode2_1__CCOut1_0, Feature_IsARM|Feature_UseNegativeImmediates, { MCK_CCOut, MCK_CondCode, MCK_GPR, MCK_GPR, MCK_ModImmNot }, },
    8583             :   { 814 /* sbc */, ARM::SBCrsi, Convert__Reg1_2__Reg1_3__RegShiftedImm2_4__CondCode2_1__CCOut1_0, Feature_IsARM, { MCK_CCOut, MCK_CondCode, MCK_GPR, MCK_GPR, MCK_RegShiftedImm }, },
    8584             :   { 814 /* sbc */, ARM::t2SBCrr, Convert__Reg1_3__Reg1_4__Reg1_5__CondCode2_1__CCOut1_0, Feature_IsThumb2, { MCK_CCOut, MCK_CondCode, MCK__DOT_w, MCK_rGPR, MCK_rGPR, MCK_rGPR }, },
    8585             :   { 814 /* sbc */, ARM::t2SBCrs, Convert__Reg1_3__Reg1_4__RegShiftedImm2_5__CondCode2_1__CCOut1_0, Feature_IsThumb2, { MCK_CCOut, MCK_CondCode, MCK__DOT_w, MCK_rGPR, MCK_rGPR, MCK_RegShiftedImm }, },
    8586             :   { 818 /* sbfx */, ARM::t2SBFX, Convert__Reg1_1__Reg1_2__Imm0_311_3__Imm1_321_4__CondCode2_0, Feature_IsThumb2, { MCK_CondCode, MCK_rGPR, MCK_rGPR, MCK_Imm0_31, MCK_Imm1_32 }, },
    8587             :   { 818 /* sbfx */, ARM::SBFX, Convert__Reg1_1__Reg1_2__Imm0_311_3__Imm1_321_4__CondCode2_0, Feature_IsARM|Feature_HasV6T2, { MCK_CondCode, MCK_GPRnopc, MCK_GPRnopc, MCK_Imm0_31, MCK_Imm1_32 }, },
    8588             :   { 823 /* sdiv */, ARM::t2SDIV, Convert__Reg1_1__Reg1_2__Reg1_3__CondCode2_0, Feature_HasDivideInThumb|Feature_IsThumb|Feature_HasV8MBaseline, { MCK_CondCode, MCK_rGPR, MCK_rGPR, MCK_rGPR }, },
    8589             :   { 823 /* sdiv */, ARM::SDIV, Convert__Reg1_1__Reg1_2__Reg1_3__CondCode2_0, Feature_IsARM|Feature_HasDivideInARM, { MCK_CondCode, MCK_GPR, MCK_GPR, MCK_GPR }, },
    8590             :   { 828 /* sel */, ARM::SEL, Convert__Reg1_1__Reg1_2__Reg1_3__CondCode2_0, Feature_IsARM|Feature_HasV6, { MCK_CondCode, MCK_GPR, MCK_GPR, MCK_GPR }, },
    8591             :   { 828 /* sel */, ARM::t2SEL, Convert__Reg1_1__Reg1_2__Reg1_3__CondCode2_0, Feature_IsThumb2|Feature_HasDSP, { MCK_CondCode, MCK_GPR, MCK_GPR, MCK_GPR }, },
    8592             :   { 832 /* setend */, ARM::tSETEND, Convert__SetEndImm1_0, Feature_IsThumb|Feature_IsNotMClass, { MCK_SetEndImm }, },
    8593             :   { 832 /* setend */, ARM::SETEND, Convert__SetEndImm1_0, Feature_IsARM, { MCK_SetEndImm }, },
    8594             :   { 839 /* setpan */, ARM::SETPAN, Convert__Imm0_11_0, Feature_IsARM|Feature_HasV8|Feature_HasV8_1a, { MCK_Imm0_1 }, },
    8595             :   { 839 /* setpan */, ARM::t2SETPAN, Convert__Imm0_11_0, Feature_IsThumb2|Feature_HasV8|Feature_HasV8_1a, { MCK_Imm0_1 }, },
    8596             :   { 846 /* sev */, ARM::HINT, Convert__imm_95_4__CondCode2_0, Feature_IsARM|Feature_HasV6K, { MCK_CondCode }, },
    8597             :   { 846 /* sev */, ARM::tHINT, Convert__imm_95_4__CondCode2_0, Feature_IsThumb|Feature_HasV6M, { MCK_CondCode }, },
    8598             :   { 846 /* sev */, ARM::t2HINT, Convert__imm_95_4__CondCode2_0, Feature_IsThumb2, { MCK_CondCode, MCK__DOT_w }, },
    8599             :   { 850 /* sevl */, ARM::HINT, Convert__imm_95_5__CondCode2_0, Feature_IsARM|Feature_HasV8, { MCK_CondCode }, },
    8600             :   { 850 /* sevl */, ARM::tHINT, Convert__imm_95_5__CondCode2_0, Feature_IsThumb2|Feature_HasV8, { MCK_CondCode }, },
    8601             :   { 850 /* sevl */, ARM::t2HINT, Convert__imm_95_5__CondCode2_0, Feature_IsThumb2|Feature_HasV8, { MCK_CondCode, MCK__DOT_w }, },
    8602             :   { 855 /* sg */, ARM::t2SG, Convert__CondCode2_0, Feature_Has8MSecExt, { MCK_CondCode }, },
    8603             :   { 858 /* sha1c */, ARM::SHA1C, Convert__Reg1_1__Tie0_1_1__Reg1_2__Reg1_3, Feature_HasV8|Feature_HasCrypto, { MCK__DOT_32, MCK_QPR, MCK_QPR, MCK_QPR }, },
    8604             :   { 864 /* sha1h */, ARM::SHA1H, Convert__Reg1_1__Reg1_2, Feature_HasV8|Feature_HasCrypto, { MCK__DOT_32, MCK_QPR, MCK_QPR }, },
    8605             :   { 870 /* sha1m */, ARM::SHA1M, Convert__Reg1_1__Tie0_1_1__Reg1_2__Reg1_3, Feature_HasV8|Feature_HasCrypto, { MCK__DOT_32, MCK_QPR, MCK_QPR, MCK_QPR }, },
    8606             :   { 876 /* sha1p */, ARM::SHA1P, Convert__Reg1_1__Tie0_1_1__Reg1_2__Reg1_3, Feature_HasV8|Feature_HasCrypto, { MCK__DOT_32, MCK_QPR, MCK_QPR, MCK_QPR }, },
    8607             :   { 882 /* sha1su0 */, ARM::SHA1SU0, Convert__Reg1_1__Tie0_1_1__Reg1_2__Reg1_3, Feature_HasV8|Feature_HasCrypto, { MCK__DOT_32, MCK_QPR, MCK_QPR, MCK_QPR }, },
    8608             :   { 890 /* sha1su1 */, ARM::SHA1SU1, Convert__Reg1_1__Tie0_1_1__Reg1_2, Feature_HasV8|Feature_HasCrypto, { MCK__DOT_32, MCK_QPR, MCK_QPR }, },
    8609             :   { 898 /* sha256h */, ARM::SHA256H, Convert__Reg1_1__Tie0_1_1__Reg1_2__Reg1_3, Feature_HasV8|Feature_HasCrypto, { MCK__DOT_32, MCK_QPR, MCK_QPR, MCK_QPR }, },
    8610             :   { 906 /* sha256h2 */, ARM::SHA256H2, Convert__Reg1_1__Tie0_1_1__Reg1_2__Reg1_3, Feature_HasV8|Feature_HasCrypto, { MCK__DOT_32, MCK_QPR, MCK_QPR, MCK_QPR }, },
    8611             :   { 915 /* sha256su0 */, ARM::SHA256SU0, Convert__Reg1_1__Tie0_1_1__Reg1_2, Feature_HasV8|Feature_HasCrypto, { MCK__DOT_32, MCK_QPR, MCK_QPR }, },
    8612             :   { 925 /* sha256su1 */, ARM::SHA256SU1, Convert__Reg1_1__Tie0_1_1__Reg1_2__Reg1_3, Feature_HasV8|Feature_HasCrypto, { MCK__DOT_32, MCK_QPR, MCK_QPR, MCK_QPR }, },
    8613             :   { 935 /* shadd16 */, ARM::t2SHADD16, Convert__Reg1_1__Reg1_2__Reg1_3__CondCode2_0, Feature_IsThumb2|Feature_HasDSP, { MCK_CondCode, MCK_rGPR, MCK_rGPR, MCK_rGPR }, },
    8614             :   { 935 /* shadd16 */, ARM::SHADD16, Convert__Reg1_1__Reg1_2__Reg1_3__CondCode2_0, Feature_IsARM, { MCK_CondCode, MCK_GPRnopc, MCK_GPRnopc, MCK_GPRnopc }, },
    8615             :   { 943 /* shadd8 */, ARM::t2SHADD8, Convert__Reg1_1__Reg1_2__Reg1_3__CondCode2_0, Feature_IsThumb2|Feature_HasDSP, { MCK_CondCode, MCK_rGPR, MCK_rGPR, MCK_rGPR }, },
    8616             :   { 943 /* shadd8 */, ARM::SHADD8, Convert__Reg1_1__Reg1_2__Reg1_3__CondCode2_0, Feature_IsARM, { MCK_CondCode, MCK_GPRnopc, MCK_GPRnopc, MCK_GPRnopc }, },
    8617             :   { 950 /* shasx */, ARM::t2SHASX, Convert__Reg1_1__Reg1_2__Reg1_3__CondCode2_0, Feature_IsThumb2|Feature_HasDSP, { MCK_CondCode, MCK_rGPR, MCK_rGPR, MCK_rGPR }, },
    8618             :   { 950 /* shasx */, ARM::SHASX, Convert__Reg1_1__Reg1_2__Reg1_3__CondCode2_0, Feature_IsARM, { MCK_CondCode, MCK_GPRnopc, MCK_GPRnopc, MCK_GPRnopc }, },
    8619             :   { 956 /* shsax */, ARM::t2SHSAX, Convert__Reg1_1__Reg1_2__Reg1_3__CondCode2_0, Feature_IsThumb2|Feature_HasDSP, { MCK_CondCode, MCK_rGPR, MCK_rGPR, MCK_rGPR }, },
    8620             :   { 956 /* shsax */, ARM::SHSAX, Convert__Reg1_1__Reg1_2__Reg1_3__CondCode2_0, Feature_IsARM, { MCK_CondCode, MCK_GPRnopc, MCK_GPRnopc, MCK_GPRnopc }, },
    8621             :   { 962 /* shsub16 */, ARM::t2SHSUB16, Convert__Reg1_1__Reg1_2__Reg1_3__CondCode2_0, Feature_IsThumb2|Feature_HasDSP, { MCK_CondCode, MCK_rGPR, MCK_rGPR, MCK_rGPR }, },
    8622             :   { 962 /* shsub16 */, ARM::SHSUB16, Convert__Reg1_1__Reg1_2__Reg1_3__CondCode2_0, Feature_IsARM, { MCK_CondCode, MCK_GPRnopc, MCK_GPRnopc, MCK_GPRnopc }, },
    8623             :   { 970 /* shsub8 */, ARM::t2SHSUB8, Convert__Reg1_1__Reg1_2__Reg1_3__CondCode2_0, Feature_IsThumb2|Feature_HasDSP, { MCK_CondCode, MCK_rGPR, MCK_rGPR, MCK_rGPR }, },
    8624             :   { 970 /* shsub8 */, ARM::SHSUB8, Convert__Reg1_1__Reg1_2__Reg1_3__CondCode2_0, Feature_IsARM, { MCK_CondCode, MCK_GPRnopc, MCK_GPRnopc, MCK_GPRnopc }, },
    8625             :   { 977 /* smc */, ARM::SMC, Convert__Imm0_151_1__CondCode2_0, Feature_IsARM|Feature_HasTrustZone, { MCK_CondCode, MCK_Imm0_15 }, },
    8626             :   { 977 /* smc */, ARM::t2SMC, Convert__Imm0_151_1__CondCode2_0, Feature_IsThumb2|Feature_HasTrustZone, { MCK_CondCode, MCK_Imm0_15 }, },
    8627             :   { 981 /* smlabb */, ARM::t2SMLABB, Convert__Reg1_1__Reg1_2__Reg1_3__Reg1_4__CondCode2_0, Feature_IsThumb2|Feature_HasDSP, { MCK_CondCode, MCK_rGPR, MCK_rGPR, MCK_rGPR, MCK_rGPR }, },
    8628             :   { 981 /* smlabb */, ARM::SMLABB, Convert__Reg1_1__Reg1_2__Reg1_3__Reg1_4__CondCode2_0, Feature_IsARM|Feature_HasV5TE, { MCK_CondCode, MCK_GPRnopc, MCK_GPRnopc, MCK_GPRnopc, MCK_GPR }, },
    8629             :   { 988 /* smlabt */, ARM::t2SMLABT, Convert__Reg1_1__Reg1_2__Reg1_3__Reg1_4__CondCode2_0, Feature_IsThumb2|Feature_HasDSP, { MCK_CondCode, MCK_rGPR, MCK_rGPR, MCK_rGPR, MCK_rGPR }, },
    8630             :   { 988 /* smlabt */, ARM::SMLABT, Convert__Reg1_1__Reg1_2__Reg1_3__Reg1_4__CondCode2_0, Feature_IsARM|Feature_HasV5TE, { MCK_CondCode, MCK_GPRnopc, MCK_GPRnopc, MCK_GPRnopc, MCK_GPR }, },
    8631             :   { 995 /* smlad */, ARM::t2SMLAD, Convert__Reg1_1__Reg1_2__Reg1_3__Reg1_4__CondCode2_0, Feature_IsThumb2|Feature_HasDSP, { MCK_CondCode, MCK_rGPR, MCK_rGPR, MCK_rGPR, MCK_rGPR }, },
    8632             :   { 995 /* smlad */, ARM::SMLAD, Convert__Reg1_1__Reg1_2__Reg1_3__Reg1_4__CondCode2_0, Feature_IsARM|Feature_HasV6, { MCK_CondCode, MCK_GPRnopc, MCK_GPRnopc, MCK_GPRnopc, MCK_GPR }, },
    8633             :   { 1001 /* smladx */, ARM::t2SMLADX, Convert__Reg1_1__Reg1_2__Reg1_3__Reg1_4__CondCode2_0, Feature_IsThumb2|Feature_HasDSP, { MCK_CondCode, MCK_rGPR, MCK_rGPR, MCK_rGPR, MCK_rGPR }, },
    8634             :   { 1001 /* smladx */, ARM::SMLADX, Convert__Reg1_1__Reg1_2__Reg1_3__Reg1_4__CondCode2_0, Feature_IsARM|Feature_HasV6, { MCK_CondCode, MCK_GPRnopc, MCK_GPRnopc, MCK_GPRnopc, MCK_GPR }, },
    8635             :   { 1008 /* smlal */, ARM::t2SMLAL, Convert__Reg1_1__Reg1_2__Reg1_3__Reg1_4__Tie0_1_1__Tie1_1_1__CondCode2_0, Feature_IsThumb2, { MCK_CondCode, MCK_rGPR, MCK_rGPR, MCK_rGPR, MCK_rGPR }, },
    8636             :   { 1008 /* smlal */, ARM::SMLAL, Convert__Reg1_2__Reg1_3__Reg1_4__Reg1_5__Tie0_1_1__Tie1_1_1__CondCode2_1__CCOut1_0, Feature_IsARM|Feature_HasV6, { MCK_CCOut, MCK_CondCode, MCK_GPR, MCK_GPR, MCK_GPR, MCK_GPR }, },
    8637             :   { 1008 /* smlal */, ARM::SMLAL, Convert__Reg1_2__Reg1_3__Reg1_4__Reg1_5__Tie0_3_3__Tie1_4_4__CondCode2_1__CCOut1_0, Feature_IsARM, { MCK_CCOut, MCK_CondCode, MCK_GPR, MCK_GPR, MCK_GPR, MCK_GPR }, },
    8638             :   { 1014 /* smlalbb */, ARM::t2SMLALBB, Convert__Reg1_1__Reg1_2__Reg1_3__Reg1_4__Tie0_1_1__Tie1_1_1__CondCode2_0, Feature_IsThumb2|Feature_HasDSP, { MCK_CondCode, MCK_rGPR, MCK_rGPR, MCK_rGPR, MCK_rGPR }, },
    8639             :   { 1014 /* smlalbb */, ARM::SMLALBB, Convert__Reg1_1__Reg1_2__Reg1_3__Reg1_4__Tie0_1_1__Tie1_1_1__CondCode2_0, Feature_IsARM|Feature_HasV5TE, { MCK_CondCode, MCK_GPRnopc, MCK_GPRnopc, MCK_GPRnopc, MCK_GPRnopc }, },
    8640             :   { 1022 /* smlalbt */, ARM::t2SMLALBT, Convert__Reg1_1__Reg1_2__Reg1_3__Reg1_4__Tie0_1_1__Tie1_1_1__CondCode2_0, Feature_IsThumb2|Feature_HasDSP, { MCK_CondCode, MCK_rGPR, MCK_rGPR, MCK_rGPR, MCK_rGPR }, },
    8641             :   { 1022 /* smlalbt */, ARM::SMLALBT, Convert__Reg1_1__Reg1_2__Reg1_3__Reg1_4__Tie0_1_1__Tie1_1_1__CondCode2_0, Feature_IsARM|Feature_HasV5TE, { MCK_CondCode, MCK_GPRnopc, MCK_GPRnopc, MCK_GPRnopc, MCK_GPRnopc }, },
    8642             :   { 1030 /* smlald */, ARM::t2SMLALD, Convert__Reg1_1__Reg1_2__Reg1_3__Reg1_4__Tie0_1_1__Tie1_1_1__CondCode2_0, Feature_IsThumb2|Feature_HasDSP, { MCK_CondCode, MCK_rGPR, MCK_rGPR, MCK_rGPR, MCK_rGPR }, },
    8643             :   { 1030 /* smlald */, ARM::SMLALD, Convert__Reg1_1__Reg1_2__Reg1_3__Reg1_4__Tie0_1_1__Tie1_1_1__CondCode2_0, Feature_IsARM|Feature_HasV6, { MCK_CondCode, MCK_GPRnopc, MCK_GPRnopc, MCK_GPRnopc, MCK_GPRnopc }, },
    8644             :   { 1037 /* smlaldx */, ARM::t2SMLALDX, Convert__Reg1_1__Reg1_2__Reg1_3__Reg1_4__Tie0_1_1__Tie1_1_1__CondCode2_0, Feature_IsThumb2|Feature_HasDSP, { MCK_CondCode, MCK_rGPR, MCK_rGPR, MCK_rGPR, MCK_rGPR }, },
    8645             :   { 1037 /* smlaldx */, ARM::SMLALDX, Convert__Reg1_1__Reg1_2__Reg1_3__Reg1_4__Tie0_1_1__Tie1_1_1__CondCode2_0, Feature_IsARM|Feature_HasV6, { MCK_CondCode, MCK_GPRnopc, MCK_GPRnopc, MCK_GPRnopc, MCK_GPRnopc }, },
    8646             :   { 1045 /* smlaltb */, ARM::t2SMLALTB, Convert__Reg1_1__Reg1_2__Reg1_3__Reg1_4__Tie0_1_1__Tie1_1_1__CondCode2_0, Feature_IsThumb2|Feature_HasDSP, { MCK_CondCode, MCK_rGPR, MCK_rGPR, MCK_rGPR, MCK_rGPR }, },
    8647             :   { 1045 /* smlaltb */, ARM::SMLALTB, Convert__Reg1_1__Reg1_2__Reg1_3__Reg1_4__Tie0_1_1__Tie1_1_1__CondCode2_0, Feature_IsARM|Feature_HasV5TE, { MCK_CondCode, MCK_GPRnopc, MCK_GPRnopc, MCK_GPRnopc, MCK_GPRnopc }, },
    8648             :   { 1053 /* smlaltt */, ARM::t2SMLALTT, Convert__Reg1_1__Reg1_2__Reg1_3__Reg1_4__Tie0_1_1__Tie1_1_1__CondCode2_0, Feature_IsThumb2|Feature_HasDSP, { MCK_CondCode, MCK_rGPR, MCK_rGPR, MCK_rGPR, MCK_rGPR }, },
    8649             :   { 1053 /* smlaltt */, ARM::SMLALTT, Convert__Reg1_1__Reg1_2__Reg1_3__Reg1_4__Tie0_1_1__Tie1_1_1__CondCode2_0, Feature_IsARM|Feature_HasV5TE, { MCK_CondCode, MCK_GPRnopc, MCK_GPRnopc, MCK_GPRnopc, MCK_GPRnopc }, },
    8650             :   { 1061 /* smlatb */, ARM::t2SMLATB, Convert__Reg1_1__Reg1_2__Reg1_3__Reg1_4__CondCode2_0, Feature_IsThumb2|Feature_HasDSP, { MCK_CondCode, MCK_rGPR, MCK_rGPR, MCK_rGPR, MCK_rGPR }, },
    8651             :   { 1061 /* smlatb */, ARM::SMLATB, Convert__Reg1_1__Reg1_2__Reg1_3__Reg1_4__CondCode2_0, Feature_IsARM|Feature_HasV5TE, { MCK_CondCode, MCK_GPRnopc, MCK_GPRnopc, MCK_GPRnopc, MCK_GPR }, },
    8652             :   { 1068 /* smlatt */, ARM::t2SMLATT, Convert__Reg1_1__Reg1_2__Reg1_3__Reg1_4__CondCode2_0, Feature_IsThumb2|Feature_HasDSP, { MCK_CondCode, MCK_rGPR, MCK_rGPR, MCK_rGPR, MCK_rGPR }, },
    8653             :   { 1068 /* smlatt */, ARM::SMLATT, Convert__Reg1_1__Reg1_2__Reg1_3__Reg1_4__CondCode2_0, Feature_IsARM|Feature_HasV5TE, { MCK_CondCode, MCK_GPRnopc, MCK_GPRnopc, MCK_GPRnopc, MCK_GPR }, },
    8654             :   { 1075 /* smlawb */, ARM::t2SMLAWB, Convert__Reg1_1__Reg1_2__Reg1_3__Reg1_4__CondCode2_0, Feature_IsThumb2|Feature_HasDSP, { MCK_CondCode, MCK_rGPR, MCK_rGPR, MCK_rGPR, MCK_rGPR }, },
    8655             :   { 1075 /* smlawb */, ARM::SMLAWB, Convert__Reg1_1__Reg1_2__Reg1_3__Reg1_4__CondCode2_0, Feature_IsARM|Feature_HasV5TE, { MCK_CondCode, MCK_GPRnopc, MCK_GPRnopc, MCK_GPRnopc, MCK_GPR }, },
    8656             :   { 1082 /* smlawt */, ARM::t2SMLAWT, Convert__Reg1_1__Reg1_2__Reg1_3__Reg1_4__CondCode2_0, Feature_IsThumb2|Feature_HasDSP, { MCK_CondCode, MCK_rGPR, MCK_rGPR, MCK_rGPR, MCK_rGPR }, },
    8657             :   { 1082 /* smlawt */, ARM::SMLAWT, Convert__Reg1_1__Reg1_2__Reg1_3__Reg1_4__CondCode2_0, Feature_IsARM|Feature_HasV5TE, { MCK_CondCode, MCK_GPRnopc, MCK_GPRnopc, MCK_GPRnopc, MCK_GPR }, },
    8658             :   { 1089 /* smlsd */, ARM::t2SMLSD, Convert__Reg1_1__Reg1_2__Reg1_3__Reg1_4__CondCode2_0, Feature_IsThumb2|Feature_HasDSP, { MCK_CondCode, MCK_rGPR, MCK_rGPR, MCK_rGPR, MCK_rGPR }, },
    8659             :   { 1089 /* smlsd */, ARM::SMLSD, Convert__Reg1_1__Reg1_2__Reg1_3__Reg1_4__CondCode2_0, Feature_IsARM|Feature_HasV6, { MCK_CondCode, MCK_GPRnopc, MCK_GPRnopc, MCK_GPRnopc, MCK_GPR }, },
    8660             :   { 1095 /* smlsdx */, ARM::t2SMLSDX, Convert__Reg1_1__Reg1_2__Reg1_3__Reg1_4__CondCode2_0, Feature_IsThumb2|Feature_HasDSP, { MCK_CondCode, MCK_rGPR, MCK_rGPR, MCK_rGPR, MCK_rGPR }, },
    8661             :   { 1095 /* smlsdx */, ARM::SMLSDX, Convert__Reg1_1__Reg1_2__Reg1_3__Reg1_4__CondCode2_0, Feature_IsARM|Feature_HasV6, { MCK_CondCode, MCK_GPRnopc, MCK_GPRnopc, MCK_GPRnopc, MCK_GPR }, },
    8662             :   { 1102 /* smlsld */, ARM::t2SMLSLD, Convert__Reg1_1__Reg1_2__Reg1_3__Reg1_4__Tie0_1_1__Tie1_1_1__CondCode2_0, Feature_IsThumb2|Feature_HasDSP, { MCK_CondCode, MCK_rGPR, MCK_rGPR, MCK_rGPR, MCK_rGPR }, },
    8663             :   { 1102 /* smlsld */, ARM::SMLSLD, Convert__Reg1_1__Reg1_2__Reg1_3__Reg1_4__Tie0_1_1__Tie1_1_1__CondCode2_0, Feature_IsARM|Feature_HasV6, { MCK_CondCode, MCK_GPRnopc, MCK_GPRnopc, MCK_GPRnopc, MCK_GPRnopc }, },
    8664             :   { 1109 /* smlsldx */, ARM::t2SMLSLDX, Convert__Reg1_1__Reg1_2__Reg1_3__Reg1_4__Tie0_1_1__Tie1_1_1__CondCode2_0, Feature_IsThumb2|Feature_HasDSP, { MCK_CondCode, MCK_rGPR, MCK_rGPR, MCK_rGPR, MCK_rGPR }, },
    8665             :   { 1109 /* smlsldx */, ARM::SMLSLDX, Convert__Reg1_1__Reg1_2__Reg1_3__Reg1_4__Tie0_1_1__Tie1_1_1__CondCode2_0, Feature_IsARM|Feature_HasV6, { MCK_CondCode, MCK_GPRnopc, MCK_GPRnopc, MCK_GPRnopc, MCK_GPRnopc }, },
    8666             :   { 1117 /* smmla */, ARM::t2SMMLA, Convert__Reg1_1__Reg1_2__Reg1_3__Reg1_4__CondCode2_0, Feature_IsThumb2|Feature_HasDSP, { MCK_CondCode, MCK_rGPR, MCK_rGPR, MCK_rGPR, MCK_rGPR }, },
    8667             :   { 1117 /* smmla */, ARM::SMMLA, Convert__Reg1_1__Reg1_2__Reg1_3__Reg1_4__CondCode2_0, Feature_IsARM|Feature_HasV6, { MCK_CondCode, MCK_GPR, MCK_GPR, MCK_GPR, MCK_GPR }, },
    8668             :   { 1123 /* smmlar */, ARM::t2SMMLAR, Convert__Reg1_1__Reg1_2__Reg1_3__Reg1_4__CondCode2_0, Feature_IsThumb2|Feature_HasDSP, { MCK_CondCode, MCK_rGPR, MCK_rGPR, MCK_rGPR, MCK_rGPR }, },
    8669             :   { 1123 /* smmlar */, ARM::SMMLAR, Convert__Reg1_1__Reg1_2__Reg1_3__Reg1_4__CondCode2_0, Feature_IsARM|Feature_HasV6, { MCK_CondCode, MCK_GPR, MCK_GPR, MCK_GPR, MCK_GPR }, },
    8670             :   { 1130 /* smmls */, ARM::t2SMMLS, Convert__Reg1_1__Reg1_2__Reg1_3__Reg1_4__CondCode2_0, Feature_IsThumb2|Feature_HasDSP, { MCK_CondCode, MCK_rGPR, MCK_rGPR, MCK_rGPR, MCK_rGPR }, },
    8671             :   { 1130 /* smmls */, ARM::SMMLS, Convert__Reg1_1__Reg1_2__Reg1_3__Reg1_4__CondCode2_0, Feature_IsARM|Feature_HasV6, { MCK_CondCode, MCK_GPR, MCK_GPR, MCK_GPR, MCK_GPR }, },
    8672             :   { 1136 /* smmlsr */, ARM::t2SMMLSR, Convert__Reg1_1__Reg1_2__Reg1_3__Reg1_4__CondCode2_0, Feature_IsThumb2|Feature_HasDSP, { MCK_CondCode, MCK_rGPR, MCK_rGPR, MCK_rGPR, MCK_rGPR }, },
    8673             :   { 1136 /* smmlsr */, ARM::SMMLSR, Convert__Reg1_1__Reg1_2__Reg1_3__Reg1_4__CondCode2_0, Feature_IsARM|Feature_HasV6, { MCK_CondCode, MCK_GPR, MCK_GPR, MCK_GPR, MCK_GPR }, },
    8674             :   { 1143 /* smmul */, ARM::t2SMMUL, Convert__Reg1_1__Reg1_2__Reg1_3__CondCode2_0, Feature_IsThumb2|Feature_HasDSP, { MCK_CondCode, MCK_rGPR, MCK_rGPR, MCK_rGPR }, },
    8675             :   { 1143 /* smmul */, ARM::SMMUL, Convert__Reg1_1__Reg1_2__Reg1_3__CondCode2_0, Feature_IsARM|Feature_HasV6, { MCK_CondCode, MCK_GPR, MCK_GPR, MCK_GPR }, },
    8676             :   { 1149 /* smmulr */, ARM::t2SMMULR, Convert__Reg1_1__Reg1_2__Reg1_3__CondCode2_0, Feature_IsThumb2|Feature_HasDSP, { MCK_CondCode, MCK_rGPR, MCK_rGPR, MCK_rGPR }, },
    8677             :   { 1149 /* smmulr */, ARM::SMMULR, Convert__Reg1_1__Reg1_2__Reg1_3__CondCode2_0, Feature_IsARM|Feature_HasV6, { MCK_CondCode, MCK_GPR, MCK_GPR, MCK_GPR }, },
    8678             :   { 1156 /* smuad */, ARM::t2SMUAD, Convert__Reg1_1__Reg1_2__Reg1_3__CondCode2_0, Feature_IsThumb2|Feature_HasDSP, { MCK_CondCode, MCK_rGPR, MCK_rGPR, MCK_rGPR }, },
    8679             :   { 1156 /* smuad */, ARM::SMUAD, Convert__Reg1_1__Reg1_2__Reg1_3__CondCode2_0, Feature_IsARM|Feature_HasV6, { MCK_CondCode, MCK_GPRnopc, MCK_GPRnopc, MCK_GPRnopc }, },
    8680             :   { 1162 /* smuadx */, ARM::t2SMUADX, Convert__Reg1_1__Reg1_2__Reg1_3__CondCode2_0, Feature_IsThumb2|Feature_HasDSP, { MCK_CondCode, MCK_rGPR, MCK_rGPR, MCK_rGPR }, },
    8681             :   { 1162 /* smuadx */, ARM::SMUADX, Convert__Reg1_1__Reg1_2__Reg1_3__CondCode2_0, Feature_IsARM|Feature_HasV6, { MCK_CondCode, MCK_GPRnopc, MCK_GPRnopc, MCK_GPRnopc }, },
    8682             :   { 1169 /* smulbb */, ARM::t2SMULBB, Convert__Reg1_1__Reg1_2__Reg1_3__CondCode2_0, Feature_IsThumb2|Feature_HasDSP, { MCK_CondCode, MCK_rGPR, MCK_rGPR, MCK_rGPR }, },
    8683             :   { 1169 /* smulbb */, ARM::SMULBB, Convert__Reg1_1__Reg1_2__Reg1_3__CondCode2_0, Feature_IsARM|Feature_HasV5TE, { MCK_CondCode, MCK_GPR, MCK_GPR, MCK_GPR }, },
    8684             :   { 1176 /* smulbt */, ARM::t2SMULBT, Convert__Reg1_1__Reg1_2__Reg1_3__CondCode2_0, Feature_IsThumb2|Feature_HasDSP, { MCK_CondCode, MCK_rGPR, MCK_rGPR, MCK_rGPR }, },
    8685             :   { 1176 /* smulbt */, ARM::SMULBT, Convert__Reg1_1__Reg1_2__Reg1_3__CondCode2_0, Feature_IsARM|Feature_HasV5TE, { MCK_CondCode, MCK_GPR, MCK_GPR, MCK_GPR }, },
    8686             :   { 1183 /* smull */, ARM::t2SMULL, Convert__Reg1_1__Reg1_2__Reg1_3__Reg1_4__CondCode2_0, Feature_IsThumb2, { MCK_CondCode, MCK_rGPR, MCK_rGPR, MCK_rGPR, MCK_rGPR }, },
    8687             :   { 1183 /* smull */, ARM::SMULL, Convert__Reg1_2__Reg1_3__Reg1_4__Reg1_5__CondCode2_1__CCOut1_0, Feature_IsARM|Feature_HasV6, { MCK_CCOut, MCK_CondCode, MCK_GPR, MCK_GPR, MCK_GPR, MCK_GPR }, },
    8688             :   { 1183 /* smull */, ARM::SMULL, Convert__Reg1_2__Reg1_3__Reg1_4__Reg1_5__CondCode2_1__CCOut1_0, Feature_IsARM, { MCK_CCOut, MCK_CondCode, MCK_GPR, MCK_GPR, MCK_GPR, MCK_GPR }, },
    8689             :   { 1189 /* smultb */, ARM::t2SMULTB, Convert__Reg1_1__Reg1_2__Reg1_3__CondCode2_0, Feature_IsThumb2|Feature_HasDSP, { MCK_CondCode, MCK_rGPR, MCK_rGPR, MCK_rGPR }, },
    8690             :   { 1189 /* smultb */, ARM::SMULTB, Convert__Reg1_1__Reg1_2__Reg1_3__CondCode2_0, Feature_IsARM|Feature_HasV5TE, { MCK_CondCode, MCK_GPR, MCK_GPR, MCK_GPR }, },
    8691             :   { 1196 /* smultt */, ARM::t2SMULTT, Convert__Reg1_1__Reg1_2__Reg1_3__CondCode2_0, Feature_IsThumb2|Feature_HasDSP, { MCK_CondCode, MCK_rGPR, MCK_rGPR, MCK_rGPR }, },
    8692             :   { 1196 /* smultt */, ARM::SMULTT, Convert__Reg1_1__Reg1_2__Reg1_3__CondCode2_0, Feature_IsARM|Feature_HasV5TE, { MCK_CondCode, MCK_GPR, MCK_GPR, MCK_GPR }, },
    8693             :   { 1203 /* smulwb */, ARM::t2SMULWB, Convert__Reg1_1__Reg1_2__Reg1_3__CondCode2_0, Feature_IsThumb2|Feature_HasDSP, { MCK_CondCode, MCK_rGPR, MCK_rGPR, MCK_rGPR }, },
    8694             :   { 1203 /* smulwb */, ARM::SMULWB, Convert__Reg1_1__Reg1_2__Reg1_3__CondCode2_0, Feature_IsARM|Feature_HasV5TE, { MCK_CondCode, MCK_GPR, MCK_GPR, MCK_GPR }, },
    8695             :   { 1210 /* smulwt */, ARM::t2SMULWT, Convert__Reg1_1__Reg1_2__Reg1_3__CondCode2_0, Feature_IsThumb2|Feature_HasDSP, { MCK_CondCode, MCK_rGPR, MCK_rGPR, MCK_rGPR }, },
    8696             :   { 1210 /* smulwt */, ARM::SMULWT, Convert__Reg1_1__Reg1_2__Reg1_3__CondCode2_0, Feature_IsARM|Feature_HasV5TE, { MCK_CondCode, MCK_GPR, MCK_GPR, MCK_GPR }, },
    8697             :   { 1217 /* smusd */, ARM::t2SMUSD, Convert__Reg1_1__Reg1_2__Reg1_3__CondCode2_0, Feature_IsThumb2|Feature_HasDSP, { MCK_CondCode, MCK_rGPR, MCK_rGPR, MCK_rGPR }, },
    8698             :   { 1217 /* smusd */, ARM::SMUSD, Convert__Reg1_1__Reg1_2__Reg1_3__CondCode2_0, Feature_IsARM|Feature_HasV6, { MCK_CondCode, MCK_GPRnopc, MCK_GPRnopc, MCK_GPRnopc }, },
    8699             :   { 1223 /* smusdx */, ARM::t2SMUSDX, Convert__Reg1_1__Reg1_2__Reg1_3__CondCode2_0, Feature_IsThumb2|Feature_HasDSP, { MCK_CondCode, MCK_rGPR, MCK_rGPR, MCK_rGPR }, },
    8700             :   { 1223 /* smusdx */, ARM::SMUSDX, Convert__Reg1_1__Reg1_2__Reg1_3__CondCode2_0, Feature_IsARM|Feature_HasV6, { MCK_CondCode, MCK_GPRnopc, MCK_GPRnopc, MCK_GPRnopc }, },
    8701             :   { 1230 /* srsda */, ARM::SRSDA, Convert__Imm0_311_0, Feature_IsARM, { MCK_Imm0_31 }, },
    8702             :   { 1230 /* srsda */, ARM::SRSDA, Convert__Imm0_311_1, Feature_IsARM, { MCK_GPRsp, MCK_Imm0_31 }, },
    8703             :   { 1230 /* srsda */, ARM::SRSDA_UPD, Convert__Imm0_311_0, Feature_IsARM, { MCK_Imm0_31, MCK__EXCLAIM_ }, },
    8704             :   { 1230 /* srsda */, ARM::SRSDA_UPD, Convert__Imm0_311_2, Feature_IsARM, { MCK_GPRsp, MCK__EXCLAIM_, MCK_Imm0_31 }, },
    8705             :   { 1236 /* srsdb */, ARM::SRSDB, Convert__Imm0_311_0, Feature_IsARM, { MCK_Imm0_31 }, },
    8706             :   { 1236 /* srsdb */, ARM::SRSDB, Convert__Imm0_311_1, Feature_IsARM, { MCK_GPRsp, MCK_Imm0_31 }, },
    8707             :   { 1236 /* srsdb */, ARM::t2SRSDB, Convert__Imm0_311_1__CondCode2_0, Feature_IsThumb2, { MCK_CondCode, MCK_Imm0_31 }, },
    8708             :   { 1236 /* srsdb */, ARM::SRSDB_UPD, Convert__Imm0_311_0, Feature_IsARM, { MCK_Imm0_31, MCK__EXCLAIM_ }, },
    8709             :   { 1236 /* srsdb */, ARM::SRSDB_UPD, Convert__Imm0_311_2, Feature_IsARM, { MCK_GPRsp, MCK__EXCLAIM_, MCK_Imm0_31 }, },
    8710             :   { 1236 /* srsdb */, ARM::t2SRSDB, Convert__Imm0_311_2__CondCode2_0, Feature_IsThumb2|Feature_IsNotMClass, { MCK_CondCode, MCK_GPRsp, MCK_Imm0_31 }, },
    8711             :   { 1236 /* srsdb */, ARM::t2SRSDB_UPD, Convert__Imm0_311_1__CondCode2_0, Feature_IsThumb2, { MCK_CondCode, MCK_Imm0_31, MCK__EXCLAIM_ }, },
    8712             :   { 1236 /* srsdb */, ARM::t2SRSDB_UPD, Convert__Imm0_311_3__CondCode2_0, Feature_IsThumb2|Feature_IsNotMClass, { MCK_CondCode, MCK_GPRsp, MCK__EXCLAIM_, MCK_Imm0_31 }, },
    8713             :   { 1242 /* srsia */, ARM::SRSIA, Convert__Imm0_311_0, Feature_IsARM, { MCK_Imm0_31 }, },
    8714             :   { 1242 /* srsia */, ARM::SRSIA, Convert__Imm0_311_1, Feature_IsARM, { MCK_GPRsp, MCK_Imm0_31 }, },
    8715             :   { 1242 /* srsia */, ARM::t2SRSIA, Convert__Imm0_311_1__CondCode2_0, Feature_IsThumb2, { MCK_CondCode, MCK_Imm0_31 }, },
    8716             :   { 1242 /* srsia */, ARM::SRSIA_UPD, Convert__Imm0_311_0, Feature_IsARM, { MCK_Imm0_31, MCK__EXCLAIM_ }, },
    8717             :   { 1242 /* srsia */, ARM::SRSIA_UPD, Convert__Imm0_311_2, Feature_IsARM, { MCK_GPRsp, MCK__EXCLAIM_, MCK_Imm0_31 }, },
    8718             :   { 1242 /* srsia */, ARM::t2SRSIA, Convert__Imm0_311_2__CondCode2_0, Feature_IsThumb2|Feature_IsNotMClass, { MCK_CondCode, MCK_GPRsp, MCK_Imm0_31 }, },
    8719             :   { 1242 /* srsia */, ARM::t2SRSIA_UPD, Convert__Imm0_311_1__CondCode2_0, Feature_IsThumb2, { MCK_CondCode, MCK_Imm0_31, MCK__EXCLAIM_ }, },
    8720             :   { 1242 /* srsia */, ARM::t2SRSIA_UPD, Convert__Imm0_311_3__CondCode2_0, Feature_IsThumb2|Feature_IsNotMClass, { MCK_CondCode, MCK_GPRsp, MCK__EXCLAIM_, MCK_Imm0_31 }, },
    8721             :   { 1248 /* srsib */, ARM::SRSIB, Convert__Imm0_311_0, Feature_IsARM, { MCK_Imm0_31 }, },
    8722             :   { 1248 /* srsib */, ARM::SRSIB, Convert__Imm0_311_1, Feature_IsARM, { MCK_GPRsp, MCK_Imm0_31 }, },
    8723             :   { 1248 /* srsib */, ARM::SRSIB_UPD, Convert__Imm0_311_0, Feature_IsARM, { MCK_Imm0_31, MCK__EXCLAIM_ }, },
    8724             :   { 1248 /* srsib */, ARM::SRSIB_UPD, Convert__Imm0_311_2, Feature_IsARM, { MCK_GPRsp, MCK__EXCLAIM_, MCK_Imm0_31 }, },
    8725             :   { 1254 /* ssat */, ARM::t2SSAT, Convert__Reg1_1__Imm1_321_2__Reg1_3__imm_95_0__CondCode2_0, Feature_IsThumb2, { MCK_CondCode, MCK_rGPR, MCK_Imm1_32, MCK_rGPR }, },
    8726             :   { 1254 /* ssat */, ARM::SSAT, Convert__Reg1_1__Imm1_321_2__Reg1_3__imm_95_0__CondCode2_0, Feature_IsARM, { MCK_CondCode, MCK_GPRnopc, MCK_Imm1_32, MCK_GPRnopc }, },
    8727             :   { 1254 /* ssat */, ARM::t2SSAT, Convert__Reg1_1__Imm1_321_2__Reg1_3__ShifterImm1_4__CondCode2_0, Feature_IsThumb2, { MCK_CondCode, MCK_rGPR, MCK_Imm1_32, MCK_rGPR, MCK_ShifterImm }, },
    8728             :   { 1254 /* ssat */, ARM::SSAT, Convert__Reg1_1__Imm1_321_2__Reg1_3__ShifterImm1_4__CondCode2_0, Feature_IsARM|Feature_HasV6, { MCK_CondCode, MCK_GPRnopc, MCK_Imm1_32, MCK_GPRnopc, MCK_ShifterImm }, },
    8729             :   { 1259 /* ssat16 */, ARM::t2SSAT16, Convert__Reg1_1__Imm1_161_2__Reg1_3__CondCode2_0, Feature_IsThumb2|Feature_HasDSP, { MCK_CondCode, MCK_rGPR, MCK_Imm1_16, MCK_rGPR }, },
    8730             :   { 1259 /* ssat16 */, ARM::SSAT16, Convert__Reg1_1__Imm1_161_2__Reg1_3__CondCode2_0, Feature_IsARM|Feature_HasV6, { MCK_CondCode, MCK_GPRnopc, MCK_Imm1_16, MCK_GPRnopc }, },
    8731             :   { 1266 /* ssax */, ARM::t2SSAX, Convert__Reg1_1__Reg1_2__Reg1_3__CondCode2_0, Feature_IsThumb2|Feature_HasDSP, { MCK_CondCode, MCK_rGPR, MCK_rGPR, MCK_rGPR }, },
    8732             :   { 1266 /* ssax */, ARM::SSAX, Convert__Reg1_1__Reg1_2__Reg1_3__CondCode2_0, Feature_IsARM, { MCK_CondCode, MCK_GPRnopc, MCK_GPRnopc, MCK_GPRnopc }, },
    8733             :   { 1271 /* ssub16 */, ARM::t2SSUB16, Convert__Reg1_1__Reg1_2__Reg1_3__CondCode2_0, Feature_IsThumb2|Feature_HasDSP, { MCK_CondCode, MCK_rGPR, MCK_rGPR, MCK_rGPR }, },
    8734             :   { 1271 /* ssub16 */, ARM::SSUB16, Convert__Reg1_1__Reg1_2__Reg1_3__CondCode2_0, Feature_IsARM, { MCK_CondCode, MCK_GPRnopc, MCK_GPRnopc, MCK_GPRnopc }, },
    8735             :   { 1278 /* ssub8 */, ARM::t2SSUB8, Convert__Reg1_1__Reg1_2__Reg1_3__CondCode2_0, Feature_IsThumb2|Feature_HasDSP, { MCK_CondCode, MCK_rGPR, MCK_rGPR, MCK_rGPR }, },
    8736             :   { 1278 /* ssub8 */, ARM::SSUB8, Convert__Reg1_1__Reg1_2__Reg1_3__CondCode2_0, Feature_IsARM, { MCK_CondCode, MCK_GPRnopc, MCK_GPRnopc, MCK_GPRnopc }, },
    8737             :   { 1284 /* stc */, ARM::STC_OFFSET, Convert__CoprocNum1_1__CoprocReg1_2__AddrMode52_3__CondCode2_0, Feature_IsARM, { MCK_CondCode, MCK_CoprocNum, MCK_CoprocReg, MCK_AddrMode5 }, },
    8738             :   { 1284 /* stc */, ARM::t2STC_OFFSET, Convert__CoprocNum1_1__CoprocReg1_2__AddrMode52_3__CondCode2_0, Feature_IsThumb2, { MCK_CondCode, MCK_CoprocNum, MCK_CoprocReg, MCK_AddrMode5 }, },
    8739             :   { 1284 /* stc */, ARM::STC_PRE, Convert__CoprocNum1_1__CoprocReg1_2__AddrMode52_3__CondCode2_0, Feature_IsARM, { MCK_CondCode, MCK_CoprocNum, MCK_CoprocReg, MCK_AddrMode5, MCK__EXCLAIM_ }, },
    8740             :   { 1284 /* stc */, ARM::t2STC_PRE, Convert__CoprocNum1_1__CoprocReg1_2__AddrMode52_3__CondCode2_0, Feature_IsThumb2, { MCK_CondCode, MCK_CoprocNum, MCK_CoprocReg, MCK_AddrMode5, MCK__EXCLAIM_ }, },
    8741             :   { 1284 /* stc */, ARM::STC_OPTION, Convert__CoprocNum1_1__CoprocReg1_2__MemNoOffset1_3__CoprocOption1_4__CondCode2_0, Feature_IsARM, { MCK_CondCode, MCK_CoprocNum, MCK_CoprocReg, MCK_MemNoOffset, MCK_CoprocOption }, },
    8742             :   { 1284 /* stc */, ARM::t2STC_OPTION, Convert__CoprocNum1_1__CoprocReg1_2__MemNoOffset1_3__CoprocOption1_4__CondCode2_0, Feature_IsThumb2, { MCK_CondCode, MCK_CoprocNum, MCK_CoprocReg, MCK_MemNoOffset, MCK_CoprocOption }, },
    8743             :   { 1284 /* stc */, ARM::STC_POST, Convert__CoprocNum1_1__CoprocReg1_2__MemNoOffset1_3__PostIdxImm8s41_4__CondCode2_0, Feature_IsARM, { MCK_CondCode, MCK_CoprocNum, MCK_CoprocReg, MCK_MemNoOffset, MCK_PostIdxImm8s4 }, },
    8744             :   { 1284 /* stc */, ARM::t2STC_POST, Convert__CoprocNum1_1__CoprocReg1_2__MemNoOffset1_3__PostIdxImm8s41_4__CondCode2_0, Feature_IsThumb2, { MCK_CondCode, MCK_CoprocNum, MCK_CoprocReg, MCK_MemNoOffset, MCK_PostIdxImm8s4 }, },
    8745             :   { 1288 /* stc2 */, ARM::STC2_OFFSET, Convert__CoprocNum1_0__CoprocReg1_1__AddrMode52_2, Feature_IsARM|Feature_PreV8, { MCK_CoprocNum, MCK_CoprocReg, MCK_AddrMode5 }, },
    8746             :   { 1288 /* stc2 */, ARM::t2STC2_OFFSET, Convert__CoprocNum1_1__CoprocReg1_2__AddrMode52_3__CondCode2_0, Feature_PreV8|Feature_IsThumb2, { MCK_CondCode, MCK_CoprocNum, MCK_CoprocReg, MCK_AddrMode5 }, },
    8747             :   { 1288 /* stc2 */, ARM::STC2_PRE, Convert__CoprocNum1_0__CoprocReg1_1__AddrMode52_2, Feature_IsARM|Feature_PreV8, { MCK_CoprocNum, MCK_CoprocReg, MCK_AddrMode5, MCK__EXCLAIM_ }, },
    8748             :   { 1288 /* stc2 */, ARM::STC2_OPTION, Convert__CoprocNum1_0__CoprocReg1_1__MemNoOffset1_2__CoprocOption1_3, Feature_IsARM|Feature_PreV8, { MCK_CoprocNum, MCK_CoprocReg, MCK_MemNoOffset, MCK_CoprocOption }, },
    8749             :   { 1288 /* stc2 */, ARM::STC2_POST, Convert__CoprocNum1_0__CoprocReg1_1__MemNoOffset1_2__PostIdxImm8s41_3, Feature_IsARM|Feature_PreV8, { MCK_CoprocNum, MCK_CoprocReg, MCK_MemNoOffset, MCK_PostIdxImm8s4 }, },
    8750             :   { 1288 /* stc2 */, ARM::t2STC2_PRE, Convert__CoprocNum1_1__CoprocReg1_2__AddrMode52_3__CondCode2_0, Feature_PreV8|Feature_IsThumb2, { MCK_CondCode, MCK_CoprocNum, MCK_CoprocReg, MCK_AddrMode5, MCK__EXCLAIM_ }, },
    8751             :   { 1288 /* stc2 */, ARM::t2STC2_OPTION, Convert__CoprocNum1_1__CoprocReg1_2__MemNoOffset1_3__CoprocOption1_4__CondCode2_0, Feature_PreV8|Feature_IsThumb2, { MCK_CondCode, MCK_CoprocNum, MCK_CoprocReg, MCK_MemNoOffset, MCK_CoprocOption }, },
    8752             :   { 1288 /* stc2 */, ARM::t2STC2_POST, Convert__CoprocNum1_1__CoprocReg1_2__MemNoOffset1_3__PostIdxImm8s41_4__CondCode2_0, Feature_PreV8|Feature_IsThumb2, { MCK_CondCode, MCK_CoprocNum, MCK_CoprocReg, MCK_MemNoOffset, MCK_PostIdxImm8s4 }, },
    8753             :   { 1293 /* stc2l */, ARM::STC2L_OFFSET, Convert__CoprocNum1_0__CoprocReg1_1__AddrMode52_2, Feature_IsARM|Feature_PreV8, { MCK_CoprocNum, MCK_CoprocReg, MCK_AddrMode5 }, },
    8754             :   { 1293 /* stc2l */, ARM::t2STC2L_OFFSET, Convert__CoprocNum1_1__CoprocReg1_2__AddrMode52_3__CondCode2_0, Feature_PreV8|Feature_IsThumb2, { MCK_CondCode, MCK_CoprocNum, MCK_CoprocReg, MCK_AddrMode5 }, },
    8755             :   { 1293 /* stc2l */, ARM::STC2L_PRE, Convert__CoprocNum1_0__CoprocReg1_1__AddrMode52_2, Feature_IsARM|Feature_PreV8, { MCK_CoprocNum, MCK_CoprocReg, MCK_AddrMode5, MCK__EXCLAIM_ }, },
    8756             :   { 1293 /* stc2l */, ARM::STC2L_OPTION, Convert__CoprocNum1_0__CoprocReg1_1__MemNoOffset1_2__CoprocOption1_3, Feature_IsARM|Feature_PreV8, { MCK_CoprocNum, MCK_CoprocReg, MCK_MemNoOffset, MCK_CoprocOption }, },
    8757             :   { 1293 /* stc2l */, ARM::STC2L_POST, Convert__CoprocNum1_0__CoprocReg1_1__MemNoOffset1_2__PostIdxImm8s41_3, Feature_IsARM|Feature_PreV8, { MCK_CoprocNum, MCK_CoprocReg, MCK_MemNoOffset, MCK_PostIdxImm8s4 }, },
    8758             :   { 1293 /* stc2l */, ARM::t2STC2L_PRE, Convert__CoprocNum1_1__CoprocReg1_2__AddrMode52_3__CondCode2_0, Feature_PreV8|Feature_IsThumb2, { MCK_CondCode, MCK_CoprocNum, MCK_CoprocReg, MCK_AddrMode5, MCK__EXCLAIM_ }, },
    8759             :   { 1293 /* stc2l */, ARM::t2STC2L_OPTION, Convert__CoprocNum1_1__CoprocReg1_2__MemNoOffset1_3__CoprocOption1_4__CondCode2_0, Feature_PreV8|Feature_IsThumb2, { MCK_CondCode, MCK_CoprocNum, MCK_CoprocReg, MCK_MemNoOffset, MCK_CoprocOption }, },
    8760             :   { 1293 /* stc2l */, ARM::t2STC2L_POST, Convert__CoprocNum1_1__CoprocReg1_2__MemNoOffset1_3__PostIdxImm8s41_4__CondCode2_0, Feature_PreV8|Feature_IsThumb2, { MCK_CondCode, MCK_CoprocNum, MCK_CoprocReg, MCK_MemNoOffset, MCK_PostIdxImm8s4 }, },
    8761             :   { 1299 /* stcl */, ARM::STCL_OFFSET, Convert__CoprocNum1_1__CoprocReg1_2__AddrMode52_3__CondCode2_0, Feature_IsARM, { MCK_CondCode, MCK_CoprocNum, MCK_CoprocReg, MCK_AddrMode5 }, },
    8762             :   { 1299 /* stcl */, ARM::t2STCL_OFFSET, Convert__CoprocNum1_1__CoprocReg1_2__AddrMode52_3__CondCode2_0, Feature_IsThumb2, { MCK_CondCode, MCK_CoprocNum, MCK_CoprocReg, MCK_AddrMode5 }, },
    8763             :   { 1299 /* stcl */, ARM::STCL_PRE, Convert__CoprocNum1_1__CoprocReg1_2__AddrMode52_3__CondCode2_0, Feature_IsARM, { MCK_CondCode, MCK_CoprocNum, MCK_CoprocReg, MCK_AddrMode5, MCK__EXCLAIM_ }, },
    8764             :   { 1299 /* stcl */, ARM::t2STCL_PRE, Convert__CoprocNum1_1__CoprocReg1_2__AddrMode52_3__CondCode2_0, Feature_IsThumb2, { MCK_CondCode, MCK_CoprocNum, MCK_CoprocReg, MCK_AddrMode5, MCK__EXCLAIM_ }, },
    8765             :   { 1299 /* stcl */, ARM::STCL_OPTION, Convert__CoprocNum1_1__CoprocReg1_2__MemNoOffset1_3__CoprocOption1_4__CondCode2_0, Feature_IsARM, { MCK_CondCode, MCK_CoprocNum, MCK_CoprocReg, MCK_MemNoOffset, MCK_CoprocOption }, },
    8766             :   { 1299 /* stcl */, ARM::t2STCL_OPTION, Convert__CoprocNum1_1__CoprocReg1_2__MemNoOffset1_3__CoprocOption1_4__CondCode2_0, Feature_IsThumb2, { MCK_CondCode, MCK_CoprocNum, MCK_CoprocReg, MCK_MemNoOffset, MCK_CoprocOption }, },
    8767             :   { 1299 /* stcl */, ARM::STCL_POST, Convert__CoprocNum1_1__CoprocReg1_2__MemNoOffset1_3__PostIdxImm8s41_4__CondCode2_0, Feature_IsARM, { MCK_CondCode, MCK_CoprocNum, MCK_CoprocReg, MCK_MemNoOffset, MCK_PostIdxImm8s4 }, },
    8768             :   { 1299 /* stcl */, ARM::t2STCL_POST, Convert__CoprocNum1_1__CoprocReg1_2__MemNoOffset1_3__PostIdxImm8s41_4__CondCode2_0, Feature_IsThumb2, { MCK_CondCode, MCK_CoprocNum, MCK_CoprocReg, MCK_MemNoOffset, MCK_PostIdxImm8s4 }, },
    8769             :   { 1304 /* stl */, ARM::t2STL, Convert__Reg1_1__MemNoOffset1_2__CondCode2_0, Feature_IsThumb|Feature_HasAcquireRelease, { MCK_CondCode, MCK_rGPR, MCK_MemNoOffset }, },
    8770             :   { 1304 /* stl */, ARM::STL, Convert__Reg1_1__MemNoOffset1_2__CondCode2_0, Feature_IsARM|Feature_HasAcquireRelease, { MCK_CondCode, MCK_GPR, MCK_MemNoOffset }, },
    8771             :   { 1308 /* stlb */, ARM::t2STLB, Convert__Reg1_1__MemNoOffset1_2__CondCode2_0, Feature_IsThumb|Feature_HasAcquireRelease, { MCK_CondCode, MCK_rGPR, MCK_MemNoOffset }, },
    8772             :   { 1308 /* stlb */, ARM::STLB, Convert__Reg1_1__MemNoOffset1_2__CondCode2_0, Feature_IsARM|Feature_HasAcquireRelease, { MCK_CondCode, MCK_GPR, MCK_MemNoOffset }, },
    8773             :   { 1313 /* stlex */, ARM::t2STLEX, Convert__Reg1_1__Reg1_2__MemNoOffset1_3__CondCode2_0, Feature_IsThumb|Feature_HasAcquireRelease|Feature_HasV7Clrex, { MCK_CondCode, MCK_rGPR, MCK_rGPR, MCK_MemNoOffset }, },
    8774             :   { 1313 /* stlex */, ARM::STLEX, Convert__Reg1_1__Reg1_2__MemNoOffset1_3__CondCode2_0, Feature_IsARM|Feature_HasAcquireRelease|Feature_HasV7Clrex, { MCK_CondCode, MCK_GPR, MCK_GPR, MCK_MemNoOffset }, },
    8775             :   { 1319 /* stlexb */, ARM::t2STLEXB, Convert__Reg1_1__Reg1_2__MemNoOffset1_3__CondCode2_0, Feature_IsThumb|Feature_HasAcquireRelease|Feature_HasV7Clrex, { MCK_CondCode, MCK_rGPR, MCK_rGPR, MCK_MemNoOffset }, },
    8776             :   { 1319 /* stlexb */, ARM::STLEXB, Convert__Reg1_1__Reg1_2__MemNoOffset1_3__CondCode2_0, Feature_IsARM|Feature_HasAcquireRelease|Feature_HasV7Clrex, { MCK_CondCode, MCK_GPR, MCK_GPR, MCK_MemNoOffset }, },
    8777             :   { 1326 /* stlexd */, ARM::STLEXD, Convert__Reg1_1__Reg1_2__MemNoOffset1_3__CondCode2_0, Feature_IsARM|Feature_HasAcquireRelease|Feature_HasV7Clrex, { MCK_CondCode, MCK_GPR, MCK_GPRPair, MCK_MemNoOffset }, },
    8778             :   { 1326 /* stlexd */, ARM::t2STLEXD, Convert__Reg1_1__Reg1_2__Reg1_3__MemNoOffset1_4__CondCode2_0, Feature_IsThumb|Feature_HasAcquireRelease|Feature_HasV7Clrex|Feature_IsNotMClass, { MCK_CondCode, MCK_rGPR, MCK_rGPR, MCK_rGPR, MCK_MemNoOffset }, },
    8779             :   { 1333 /* stlexh */, ARM::t2STLEXH, Convert__Reg1_1__Reg1_2__MemNoOffset1_3__CondCode2_0, Feature_IsThumb|Feature_HasAcquireRelease|Feature_HasV7Clrex, { MCK_CondCode, MCK_rGPR, MCK_rGPR, MCK_MemNoOffset }, },
    8780             :   { 1333 /* stlexh */, ARM::STLEXH, Convert__Reg1_1__Reg1_2__MemNoOffset1_3__CondCode2_0, Feature_IsARM|Feature_HasAcquireRelease|Feature_HasV7Clrex, { MCK_CondCode, MCK_GPR, MCK_GPR, MCK_MemNoOffset }, },
    8781             :   { 1340 /* stlh */, ARM::t2STLH, Convert__Reg1_1__MemNoOffset1_2__CondCode2_0, Feature_IsThumb|Feature_HasAcquireRelease, { MCK_CondCode, MCK_rGPR, MCK_MemNoOffset }, },
    8782             :   { 1340 /* stlh */, ARM::STLH, Convert__Reg1_1__MemNoOffset1_2__CondCode2_0, Feature_IsARM|Feature_HasAcquireRelease, { MCK_CondCode, MCK_GPR, MCK_MemNoOffset }, },
    8783             :   { 1345 /* stm */, ARM::STMIA, Convert__Reg1_1__CondCode2_0__RegList1_2, Feature_IsARM, { MCK_CondCode, MCK_GPR, MCK_RegList }, },
    8784             :   { 1345 /* stm */, ARM::t2STMIA, Convert__Reg1_1__CondCode2_0__RegList1_2, Feature_IsThumb2, { MCK_CondCode, MCK_GPR, MCK_RegList }, },
    8785             :   { 1345 /* stm */, ARM::t2STMIA, Convert__Reg1_1__CondCode2_0__RegList1_2, Feature_IsThumb2, { MCK_CondCod