LCOV - code coverage report
Current view: top level - build-llvm/lib/Target/AMDGPU - AMDGPUGenAsmMatcher.inc (source / functions) Hit Total Coverage
Test: llvm-toolchain.info Lines: 947 6398 14.8 %
Date: 2017-09-14 15:23:50 Functions: 9 11 81.8 %
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             :                        const SmallBitVector &OptionalOperandsMask);
      18             :   void convertToMapAndConstraints(unsigned Kind,
      19             :                            const OperandVector &Operands) override;
      20             :   unsigned MatchInstructionImpl(const OperandVector &Operands,
      21             :                                 MCInst &Inst,
      22             :                                 uint64_t &ErrorInfo, bool matchingInlineAsm,
      23             :                                 unsigned VariantID = 0);
      24             :   OperandMatchResultTy MatchOperandParserImpl(
      25             :     OperandVector &Operands,
      26             :     StringRef Mnemonic);
      27             :   OperandMatchResultTy tryCustomParseOperand(
      28             :     OperandVector &Operands,
      29             :     unsigned MCK);
      30             : 
      31             : #endif // GET_ASSEMBLER_HEADER_INFO
      32             : 
      33             : 
      34             : #ifdef GET_OPERAND_DIAGNOSTIC_TYPES
      35             : #undef GET_OPERAND_DIAGNOSTIC_TYPES
      36             : 
      37             : #endif // GET_OPERAND_DIAGNOSTIC_TYPES
      38             : 
      39             : 
      40             : #ifdef GET_REGISTER_MATCHER
      41             : #undef GET_REGISTER_MATCHER
      42             : 
      43             : // Flags for subtarget features that participate in instruction matching.
      44             : enum SubtargetFeatureFlag : uint32_t {
      45             :   Feature_isSICI = (1ULL << 22),
      46             :   Feature_isVI = (1ULL << 23),
      47             :   Feature_isGFX9 = (1ULL << 20),
      48             :   Feature_isCIVI = (1ULL << 18),
      49             :   Feature_HasFlatAddressSpace = (1ULL << 6),
      50             :   Feature_HasFlatGlobalInsts = (1ULL << 7),
      51             :   Feature_HasFlatScratchInsts = (1ULL << 8),
      52             :   Feature_HasD16LoadStore = (1ULL << 3),
      53             :   Feature_HasDSAddTid = (1ULL << 5),
      54             :   Feature_HasAddNoCarryInsts = (1ULL << 2),
      55             :   Feature_NotHasAddNoCarryInsts = (1ULL << 16),
      56             :   Feature_Has16BitInsts = (1ULL << 1),
      57             :   Feature_HasVOP3PInsts = (1ULL << 15),
      58             :   Feature_HasSDWA = (1ULL << 12),
      59             :   Feature_HasSDWA9 = (1ULL << 13),
      60             :   Feature_HasDPP = (1ULL << 4),
      61             :   Feature_HasIntClamp = (1ULL << 9),
      62             :   Feature_HasMadMix = (1ULL << 10),
      63             :   Feature_isCIOnly = (1ULL << 17),
      64             :   Feature_isVIOnly = (1ULL << 24),
      65             :   Feature_DisableInst = (1ULL << 0),
      66             :   Feature_isGCN = (1ULL << 19),
      67             :   Feature_isSI = (1ULL << 21),
      68             :   Feature_HasVGPRIndexMode = (1ULL << 14),
      69             :   Feature_HasMovrel = (1ULL << 11),
      70             :   Feature_None = 0
      71             : };
      72             : 
      73             : #endif // GET_REGISTER_MATCHER
      74             : 
      75             : 
      76             : #ifdef GET_SUBTARGET_FEATURE_NAME
      77             : #undef GET_SUBTARGET_FEATURE_NAME
      78             : 
      79             : // User-level names for subtarget features that participate in
      80             : // instruction matching.
      81             : static const char *getSubtargetFeatureName(uint64_t Val) {
      82             :   switch(Val) {
      83             :   case Feature_isSICI: return "";
      84             :   case Feature_isVI: return "";
      85             :   case Feature_isGFX9: return "";
      86             :   case Feature_isCIVI: return "";
      87             :   case Feature_HasFlatAddressSpace: return "";
      88             :   case Feature_HasFlatGlobalInsts: return "";
      89             :   case Feature_HasFlatScratchInsts: return "";
      90             :   case Feature_HasD16LoadStore: return "";
      91             :   case Feature_HasDSAddTid: return "";
      92             :   case Feature_HasAddNoCarryInsts: return "";
      93             :   case Feature_NotHasAddNoCarryInsts: return "";
      94             :   case Feature_Has16BitInsts: return "";
      95             :   case Feature_HasVOP3PInsts: return "";
      96             :   case Feature_HasSDWA: return "";
      97             :   case Feature_HasSDWA9: return "";
      98             :   case Feature_HasDPP: return "";
      99             :   case Feature_HasIntClamp: return "";
     100             :   case Feature_HasMadMix: return "";
     101             :   case Feature_isCIOnly: return "";
     102             :   case Feature_isVIOnly: return "";
     103             :   case Feature_DisableInst: return "";
     104             :   case Feature_isGCN: return "";
     105             :   case Feature_isSI: return "";
     106             :   case Feature_HasVGPRIndexMode: return "";
     107             :   case Feature_HasMovrel: return "";
     108             :   default: return "(unknown)";
     109             :   }
     110             : }
     111             : 
     112             : #endif // GET_SUBTARGET_FEATURE_NAME
     113             : 
     114             : 
     115             : #ifdef GET_MATCHER_IMPLEMENTATION
     116             : #undef GET_MATCHER_IMPLEMENTATION
     117             : 
     118      145951 : static void applyMnemonicAliases(StringRef &Mnemonic, uint64_t Features, unsigned VariantID) {
     119      145951 :   switch (VariantID) {
     120       62459 :     case 0:
     121       62459 :       switch (Mnemonic.size()) {
     122             :       default: break;
     123       11070 :       case 9:    // 1 string to match.
     124       11070 :         if (memcmp(Mnemonic.data()+0, "v_nop_e32", 9) != 0)
     125             :           break;
     126           0 :         Mnemonic = "v_nop";    // "v_nop_e32"
     127           0 :         return;
     128        6600 :       case 10:   // 1 string to match.
     129        6600 :         if (memcmp(Mnemonic.data()+0, "v_swap_b32", 10) != 0)
     130             :           break;
     131          26 :         Mnemonic = "v_swap_b32";       // "v_swap_b32"
     132          26 :         return;
     133        3871 :       case 11:   // 4 strings to match.
     134        3871 :         if (memcmp(Mnemonic.data()+0, "v_mad", 5) != 0)
     135             :           break;
     136         280 :         switch (Mnemonic[5]) {
     137             :         default: break;
     138          75 :         case 'a':        // 2 strings to match.
     139          75 :           if (memcmp(Mnemonic.data()+6, "k_f", 3) != 0)
     140             :             break;
     141         150 :           switch (Mnemonic[9]) {
     142             :           default: break;
     143          26 :           case '1':      // 1 string to match.
     144          52 :             if (Mnemonic[10] != '6')
     145             :               break;
     146          26 :             Mnemonic = "v_madak_f16";  // "v_madak_f16"
     147          26 :             return;
     148          49 :           case '3':      // 1 string to match.
     149          98 :             if (Mnemonic[10] != '2')
     150             :               break;
     151          49 :             Mnemonic = "v_madak_f32";  // "v_madak_f32"
     152          49 :             return;
     153             :           }
     154             :           break;
     155          65 :         case 'm':        // 2 strings to match.
     156          65 :           if (memcmp(Mnemonic.data()+6, "k_f", 3) != 0)
     157             :             break;
     158         130 :           switch (Mnemonic[9]) {
     159             :           default: break;
     160          30 :           case '1':      // 1 string to match.
     161          60 :             if (Mnemonic[10] != '6')
     162             :               break;
     163          30 :             Mnemonic = "v_madmk_f16";  // "v_madmk_f16"
     164          30 :             return;
     165          35 :           case '3':      // 1 string to match.
     166          70 :             if (Mnemonic[10] != '2')
     167             :               break;
     168          35 :             Mnemonic = "v_madmk_f32";  // "v_madmk_f32"
     169          35 :             return;
     170             :           }
     171             :           break;
     172             :         }
     173             :         break;
     174        8629 :       case 12:   // 1 string to match.
     175        8629 :         if (memcmp(Mnemonic.data()+0, "v_or_b32_e32", 12) != 0)
     176             :           break;
     177           0 :         Mnemonic = "v_or_b32";         // "v_or_b32_e32"
     178           0 :         return;
     179       10519 :       case 13:   // 46 strings to match.
     180       10519 :         if (memcmp(Mnemonic.data()+0, "v_", 2) != 0)
     181             :           break;
     182       15128 :         switch (Mnemonic[2]) {
     183             :         default: break;
     184         221 :         case 'a':        // 6 strings to match.
     185         442 :           switch (Mnemonic[3]) {
     186             :           default: break;
     187           0 :           case 'd':      // 5 strings to match.
     188           0 :             if (memcmp(Mnemonic.data()+4, "d_", 2) != 0)
     189             :               break;
     190           0 :             switch (Mnemonic[6]) {
     191             :             default: break;
     192           0 :             case 'f':    // 2 strings to match.
     193           0 :               switch (Mnemonic[7]) {
     194             :               default: break;
     195           0 :               case '1':  // 1 string to match.
     196           0 :                 if (memcmp(Mnemonic.data()+8, "6_e32", 5) != 0)
     197             :                   break;
     198           0 :                 Mnemonic = "v_add_f16";        // "v_add_f16_e32"
     199           0 :                 return;
     200           0 :               case '3':  // 1 string to match.
     201           0 :                 if (memcmp(Mnemonic.data()+8, "2_e32", 5) != 0)
     202             :                   break;
     203           0 :                 Mnemonic = "v_add_f32";        // "v_add_f32_e32"
     204           0 :                 return;
     205             :               }
     206             :               break;
     207           0 :             case 'i':    // 1 string to match.
     208           0 :               if (memcmp(Mnemonic.data()+7, "32_e32", 6) != 0)
     209             :                 break;
     210           0 :               Mnemonic = "v_add_i32";  // "v_add_i32_e32"
     211           0 :               return;
     212           0 :             case 'u':    // 2 strings to match.
     213           0 :               switch (Mnemonic[7]) {
     214             :               default: break;
     215           0 :               case '1':  // 1 string to match.
     216           0 :                 if (memcmp(Mnemonic.data()+8, "6_e32", 5) != 0)
     217             :                   break;
     218           0 :                 Mnemonic = "v_add_u16";        // "v_add_u16_e32"
     219           0 :                 return;
     220           0 :               case '3':  // 1 string to match.
     221           0 :                 if (memcmp(Mnemonic.data()+8, "2_e32", 5) != 0)
     222             :                   break;
     223           0 :                 Mnemonic = "v_add_u32";        // "v_add_u32_e32"
     224           0 :                 return;
     225             :               }
     226             :               break;
     227             :             }
     228             :             break;
     229           0 :           case 'n':      // 1 string to match.
     230           0 :             if (memcmp(Mnemonic.data()+4, "d_b32_e32", 9) != 0)
     231             :               break;
     232           0 :             Mnemonic = "v_and_b32";    // "v_and_b32_e32"
     233           0 :             return;
     234             :           }
     235             :           break;
     236           0 :         case 'b':        // 1 string to match.
     237           0 :           if (memcmp(Mnemonic.data()+3, "fm_b32_e32", 10) != 0)
     238             :             break;
     239           0 :           Mnemonic = "v_bfm_b32";      // "v_bfm_b32_e32"
     240           0 :           return;
     241        5577 :         case 'c':        // 3 strings to match.
     242       11154 :           switch (Mnemonic[3]) {
     243             :           default: break;
     244           0 :           case 'l':      // 1 string to match.
     245           0 :             if (memcmp(Mnemonic.data()+4, "rexcp_e32", 9) != 0)
     246             :               break;
     247           0 :             Mnemonic = "v_clrexcp";    // "v_clrexcp_e32"
     248           0 :             return;
     249           0 :           case 'o':      // 2 strings to match.
     250           0 :             if (memcmp(Mnemonic.data()+4, "s_f", 3) != 0)
     251             :               break;
     252           0 :             switch (Mnemonic[7]) {
     253             :             default: break;
     254           0 :             case '1':    // 1 string to match.
     255           0 :               if (memcmp(Mnemonic.data()+8, "6_e32", 5) != 0)
     256             :                 break;
     257           0 :               Mnemonic = "v_cos_f16";  // "v_cos_f16_e32"
     258           0 :               return;
     259           0 :             case '3':    // 1 string to match.
     260           0 :               if (memcmp(Mnemonic.data()+8, "2_e32", 5) != 0)
     261             :                 break;
     262           0 :               Mnemonic = "v_cos_f32";  // "v_cos_f32_e32"
     263           0 :               return;
     264             :             }
     265             :             break;
     266             :           }
     267             :           break;
     268           0 :         case 'e':        // 2 strings to match.
     269           0 :           if (memcmp(Mnemonic.data()+3, "xp_f", 4) != 0)
     270             :             break;
     271           0 :           switch (Mnemonic[7]) {
     272             :           default: break;
     273           0 :           case '1':      // 1 string to match.
     274           0 :             if (memcmp(Mnemonic.data()+8, "6_e32", 5) != 0)
     275             :               break;
     276           0 :             Mnemonic = "v_exp_f16";    // "v_exp_f16_e32"
     277           0 :             return;
     278           0 :           case '3':      // 1 string to match.
     279           0 :             if (memcmp(Mnemonic.data()+8, "2_e32", 5) != 0)
     280             :               break;
     281           0 :             Mnemonic = "v_exp_f32";    // "v_exp_f32_e32"
     282           0 :             return;
     283             :           }
     284             :           break;
     285         492 :         case 'l':        // 2 strings to match.
     286         492 :           if (memcmp(Mnemonic.data()+3, "og_f", 4) != 0)
     287             :             break;
     288           0 :           switch (Mnemonic[7]) {
     289             :           default: break;
     290           0 :           case '1':      // 1 string to match.
     291           0 :             if (memcmp(Mnemonic.data()+8, "6_e32", 5) != 0)
     292             :               break;
     293           0 :             Mnemonic = "v_log_f16";    // "v_log_f16_e32"
     294           0 :             return;
     295           0 :           case '3':      // 1 string to match.
     296           0 :             if (memcmp(Mnemonic.data()+8, "2_e32", 5) != 0)
     297             :               break;
     298           0 :             Mnemonic = "v_log_f32";    // "v_log_f32_e32"
     299           0 :             return;
     300             :           }
     301             :           break;
     302        1238 :         case 'm':        // 17 strings to match.
     303        2476 :           switch (Mnemonic[3]) {
     304             :           default: break;
     305         818 :           case 'a':      // 8 strings to match.
     306        1636 :             switch (Mnemonic[4]) {
     307             :             default: break;
     308           0 :             case 'c':    // 2 strings to match.
     309           0 :               if (memcmp(Mnemonic.data()+5, "_f", 2) != 0)
     310             :                 break;
     311           0 :               switch (Mnemonic[7]) {
     312             :               default: break;
     313           0 :               case '1':  // 1 string to match.
     314           0 :                 if (memcmp(Mnemonic.data()+8, "6_e32", 5) != 0)
     315             :                   break;
     316           0 :                 Mnemonic = "v_mac_f16";        // "v_mac_f16_e32"
     317           0 :                 return;
     318           0 :               case '3':  // 1 string to match.
     319           0 :                 if (memcmp(Mnemonic.data()+8, "2_e32", 5) != 0)
     320             :                   break;
     321           0 :                 Mnemonic = "v_mac_f32";        // "v_mac_f32_e32"
     322           0 :                 return;
     323             :               }
     324             :               break;
     325           0 :             case 'x':    // 6 strings to match.
     326           0 :               if (Mnemonic[5] != '_')
     327             :                 break;
     328           0 :               switch (Mnemonic[6]) {
     329             :               default: break;
     330           0 :               case 'f':  // 2 strings to match.
     331           0 :                 switch (Mnemonic[7]) {
     332             :                 default: break;
     333           0 :                 case '1':        // 1 string to match.
     334           0 :                   if (memcmp(Mnemonic.data()+8, "6_e32", 5) != 0)
     335             :                     break;
     336           0 :                   Mnemonic = "v_max_f16";      // "v_max_f16_e32"
     337           0 :                   return;
     338           0 :                 case '3':        // 1 string to match.
     339           0 :                   if (memcmp(Mnemonic.data()+8, "2_e32", 5) != 0)
     340             :                     break;
     341           0 :                   Mnemonic = "v_max_f32";      // "v_max_f32_e32"
     342           0 :                   return;
     343             :                 }
     344             :                 break;
     345           0 :               case 'i':  // 2 strings to match.
     346           0 :                 switch (Mnemonic[7]) {
     347             :                 default: break;
     348           0 :                 case '1':        // 1 string to match.
     349           0 :                   if (memcmp(Mnemonic.data()+8, "6_e32", 5) != 0)
     350             :                     break;
     351           0 :                   Mnemonic = "v_max_i16";      // "v_max_i16_e32"
     352           0 :                   return;
     353           0 :                 case '3':        // 1 string to match.
     354           0 :                   if (memcmp(Mnemonic.data()+8, "2_e32", 5) != 0)
     355             :                     break;
     356           0 :                   Mnemonic = "v_max_i32";      // "v_max_i32_e32"
     357           0 :                   return;
     358             :                 }
     359             :                 break;
     360           0 :               case 'u':  // 2 strings to match.
     361           0 :                 switch (Mnemonic[7]) {
     362             :                 default: break;
     363           0 :                 case '1':        // 1 string to match.
     364           0 :                   if (memcmp(Mnemonic.data()+8, "6_e32", 5) != 0)
     365             :                     break;
     366           0 :                   Mnemonic = "v_max_u16";      // "v_max_u16_e32"
     367           0 :                   return;
     368           0 :                 case '3':        // 1 string to match.
     369           0 :                   if (memcmp(Mnemonic.data()+8, "2_e32", 5) != 0)
     370             :                     break;
     371           0 :                   Mnemonic = "v_max_u32";      // "v_max_u32_e32"
     372           0 :                   return;
     373             :                 }
     374             :                 break;
     375             :               }
     376             :               break;
     377             :             }
     378             :             break;
     379           0 :           case 'i':      // 6 strings to match.
     380           0 :             if (memcmp(Mnemonic.data()+4, "n_", 2) != 0)
     381             :               break;
     382           0 :             switch (Mnemonic[6]) {
     383             :             default: break;
     384           0 :             case 'f':    // 2 strings to match.
     385           0 :               switch (Mnemonic[7]) {
     386             :               default: break;
     387           0 :               case '1':  // 1 string to match.
     388           0 :                 if (memcmp(Mnemonic.data()+8, "6_e32", 5) != 0)
     389             :                   break;
     390           0 :                 Mnemonic = "v_min_f16";        // "v_min_f16_e32"
     391           0 :                 return;
     392           0 :               case '3':  // 1 string to match.
     393           0 :                 if (memcmp(Mnemonic.data()+8, "2_e32", 5) != 0)
     394             :                   break;
     395           0 :                 Mnemonic = "v_min_f32";        // "v_min_f32_e32"
     396           0 :                 return;
     397             :               }
     398             :               break;
     399           0 :             case 'i':    // 2 strings to match.
     400           0 :               switch (Mnemonic[7]) {
     401             :               default: break;
     402           0 :               case '1':  // 1 string to match.
     403           0 :                 if (memcmp(Mnemonic.data()+8, "6_e32", 5) != 0)
     404             :                   break;
     405           0 :                 Mnemonic = "v_min_i16";        // "v_min_i16_e32"
     406           0 :                 return;
     407           0 :               case '3':  // 1 string to match.
     408           0 :                 if (memcmp(Mnemonic.data()+8, "2_e32", 5) != 0)
     409             :                   break;
     410           0 :                 Mnemonic = "v_min_i32";        // "v_min_i32_e32"
     411           0 :                 return;
     412             :               }
     413             :               break;
     414           0 :             case 'u':    // 2 strings to match.
     415           0 :               switch (Mnemonic[7]) {
     416             :               default: break;
     417           0 :               case '1':  // 1 string to match.
     418           0 :                 if (memcmp(Mnemonic.data()+8, "6_e32", 5) != 0)
     419             :                   break;
     420           0 :                 Mnemonic = "v_min_u16";        // "v_min_u16_e32"
     421           0 :                 return;
     422           0 :               case '3':  // 1 string to match.
     423           0 :                 if (memcmp(Mnemonic.data()+8, "2_e32", 5) != 0)
     424             :                   break;
     425           0 :                 Mnemonic = "v_min_u32";        // "v_min_u32_e32"
     426           0 :                 return;
     427             :               }
     428             :               break;
     429             :             }
     430             :             break;
     431         146 :           case 'o':      // 1 string to match.
     432         146 :             if (memcmp(Mnemonic.data()+4, "v_b32_e32", 9) != 0)
     433             :               break;
     434           0 :             Mnemonic = "v_mov_b32";    // "v_mov_b32_e32"
     435           0 :             return;
     436         274 :           case 'u':      // 2 strings to match.
     437         274 :             if (memcmp(Mnemonic.data()+4, "l_f", 3) != 0)
     438             :               break;
     439           0 :             switch (Mnemonic[7]) {
     440             :             default: break;
     441           0 :             case '1':    // 1 string to match.
     442           0 :               if (memcmp(Mnemonic.data()+8, "6_e32", 5) != 0)
     443             :                 break;
     444           0 :               Mnemonic = "v_mul_f16";  // "v_mul_f16_e32"
     445           0 :               return;
     446           0 :             case '3':    // 1 string to match.
     447           0 :               if (memcmp(Mnemonic.data()+8, "2_e32", 5) != 0)
     448             :                 break;
     449           0 :               Mnemonic = "v_mul_f32";  // "v_mul_f32_e32"
     450           0 :               return;
     451             :             }
     452             :             break;
     453             :           }
     454             :           break;
     455           0 :         case 'n':        // 1 string to match.
     456           0 :           if (memcmp(Mnemonic.data()+3, "ot_b32_e32", 10) != 0)
     457             :             break;
     458           0 :           Mnemonic = "v_not_b32";      // "v_not_b32_e32"
     459           0 :           return;
     460           0 :         case 'r':        // 6 strings to match.
     461           0 :           switch (Mnemonic[3]) {
     462             :           default: break;
     463           0 :           case 'c':      // 3 strings to match.
     464           0 :             if (memcmp(Mnemonic.data()+4, "p_f", 3) != 0)
     465             :               break;
     466           0 :             switch (Mnemonic[7]) {
     467             :             default: break;
     468           0 :             case '1':    // 1 string to match.
     469           0 :               if (memcmp(Mnemonic.data()+8, "6_e32", 5) != 0)
     470             :                 break;
     471           0 :               Mnemonic = "v_rcp_f16";  // "v_rcp_f16_e32"
     472           0 :               return;
     473           0 :             case '3':    // 1 string to match.
     474           0 :               if (memcmp(Mnemonic.data()+8, "2_e32", 5) != 0)
     475             :                 break;
     476           0 :               Mnemonic = "v_rcp_f32";  // "v_rcp_f32_e32"
     477           0 :               return;
     478           0 :             case '6':    // 1 string to match.
     479           0 :               if (memcmp(Mnemonic.data()+8, "4_e32", 5) != 0)
     480             :                 break;
     481           0 :               Mnemonic = "v_rcp_f64";  // "v_rcp_f64_e32"
     482           0 :               return;
     483             :             }
     484             :             break;
     485           0 :           case 's':      // 3 strings to match.
     486           0 :             if (memcmp(Mnemonic.data()+4, "q_f", 3) != 0)
     487             :               break;
     488           0 :             switch (Mnemonic[7]) {
     489             :             default: break;
     490           0 :             case '1':    // 1 string to match.
     491           0 :               if (memcmp(Mnemonic.data()+8, "6_e32", 5) != 0)
     492             :                 break;
     493           0 :               Mnemonic = "v_rsq_f16";  // "v_rsq_f16_e32"
     494           0 :               return;
     495           0 :             case '3':    // 1 string to match.
     496           0 :               if (memcmp(Mnemonic.data()+8, "2_e32", 5) != 0)
     497             :                 break;
     498           0 :               Mnemonic = "v_rsq_f32";  // "v_rsq_f32_e32"
     499           0 :               return;
     500           0 :             case '6':    // 1 string to match.
     501           0 :               if (memcmp(Mnemonic.data()+8, "4_e32", 5) != 0)
     502             :                 break;
     503           0 :               Mnemonic = "v_rsq_f64";  // "v_rsq_f64_e32"
     504           0 :               return;
     505             :             }
     506             :             break;
     507             :           }
     508             :           break;
     509          36 :         case 's':        // 7 strings to match.
     510          72 :           switch (Mnemonic[3]) {
     511             :           default: break;
     512           0 :           case 'i':      // 2 strings to match.
     513           0 :             if (memcmp(Mnemonic.data()+4, "n_f", 3) != 0)
     514             :               break;
     515           0 :             switch (Mnemonic[7]) {
     516             :             default: break;
     517           0 :             case '1':    // 1 string to match.
     518           0 :               if (memcmp(Mnemonic.data()+8, "6_e32", 5) != 0)
     519             :                 break;
     520           0 :               Mnemonic = "v_sin_f16";  // "v_sin_f16_e32"
     521           0 :               return;
     522           0 :             case '3':    // 1 string to match.
     523           0 :               if (memcmp(Mnemonic.data()+8, "2_e32", 5) != 0)
     524             :                 break;
     525           0 :               Mnemonic = "v_sin_f32";  // "v_sin_f32_e32"
     526           0 :               return;
     527             :             }
     528             :             break;
     529          36 :           case 'u':      // 5 strings to match.
     530          36 :             if (memcmp(Mnemonic.data()+4, "b_", 2) != 0)
     531             :               break;
     532           0 :             switch (Mnemonic[6]) {
     533             :             default: break;
     534           0 :             case 'f':    // 2 strings to match.
     535           0 :               switch (Mnemonic[7]) {
     536             :               default: break;
     537           0 :               case '1':  // 1 string to match.
     538           0 :                 if (memcmp(Mnemonic.data()+8, "6_e32", 5) != 0)
     539             :                   break;
     540           0 :                 Mnemonic = "v_sub_f16";        // "v_sub_f16_e32"
     541           0 :                 return;
     542           0 :               case '3':  // 1 string to match.
     543           0 :                 if (memcmp(Mnemonic.data()+8, "2_e32", 5) != 0)
     544             :                   break;
     545           0 :                 Mnemonic = "v_sub_f32";        // "v_sub_f32_e32"
     546           0 :                 return;
     547             :               }
     548             :               break;
     549           0 :             case 'i':    // 1 string to match.
     550           0 :               if (memcmp(Mnemonic.data()+7, "32_e32", 6) != 0)
     551             :                 break;
     552           0 :               Mnemonic = "v_sub_i32";  // "v_sub_i32_e32"
     553           0 :               return;
     554           0 :             case 'u':    // 2 strings to match.
     555           0 :               switch (Mnemonic[7]) {
     556             :               default: break;
     557           0 :               case '1':  // 1 string to match.
     558           0 :                 if (memcmp(Mnemonic.data()+8, "6_e32", 5) != 0)
     559             :                   break;
     560           0 :                 Mnemonic = "v_sub_u16";        // "v_sub_u16_e32"
     561           0 :                 return;
     562           0 :               case '3':  // 1 string to match.
     563           0 :                 if (memcmp(Mnemonic.data()+8, "2_e32", 5) != 0)
     564             :                   break;
     565           0 :                 Mnemonic = "v_sub_u32";        // "v_sub_u32_e32"
     566           0 :                 return;
     567             :               }
     568             :               break;
     569             :             }
     570             :             break;
     571             :           }
     572             :           break;
     573           0 :         case 'x':        // 1 string to match.
     574           0 :           if (memcmp(Mnemonic.data()+3, "or_b32_e32", 10) != 0)
     575             :             break;
     576           0 :           Mnemonic = "v_xor_b32";      // "v_xor_b32_e32"
     577           0 :           return;
     578             :         }
     579             :         break;
     580        4518 :       case 14:   // 15 strings to match.
     581        4518 :         if (memcmp(Mnemonic.data()+0, "v_", 2) != 0)
     582             :           break;
     583        4874 :         switch (Mnemonic[2]) {
     584             :         default: break;
     585         198 :         case 'a':        // 2 strings to match.
     586         396 :           switch (Mnemonic[3]) {
     587             :           default: break;
     588          48 :           case 'd':      // 1 string to match.
     589          48 :             if (memcmp(Mnemonic.data()+4, "dc_u32_e32", 10) != 0)
     590             :               break;
     591           0 :             Mnemonic = "v_addc_u32";   // "v_addc_u32_e32"
     592           0 :             return;
     593           0 :           case 's':      // 1 string to match.
     594           0 :             if (memcmp(Mnemonic.data()+4, "hr_i32_e32", 10) != 0)
     595             :               break;
     596           0 :             Mnemonic = "v_ashr_i32";   // "v_ashr_i32_e32"
     597           0 :             return;
     598             :           }
     599             :           break;
     600        1646 :         case 'c':        // 3 strings to match.
     601        1646 :           if (memcmp(Mnemonic.data()+3, "eil_f", 5) != 0)
     602             :             break;
     603           0 :           switch (Mnemonic[8]) {
     604             :           default: break;
     605           0 :           case '1':      // 1 string to match.
     606           0 :             if (memcmp(Mnemonic.data()+9, "6_e32", 5) != 0)
     607             :               break;
     608           0 :             Mnemonic = "v_ceil_f16";   // "v_ceil_f16_e32"
     609           0 :             return;
     610           0 :           case '3':      // 1 string to match.
     611           0 :             if (memcmp(Mnemonic.data()+9, "2_e32", 5) != 0)
     612             :               break;
     613           0 :             Mnemonic = "v_ceil_f32";   // "v_ceil_f32_e32"
     614           0 :             return;
     615           0 :           case '6':      // 1 string to match.
     616           0 :             if (memcmp(Mnemonic.data()+9, "4_e32", 5) != 0)
     617             :               break;
     618           0 :             Mnemonic = "v_ceil_f64";   // "v_ceil_f64_e32"
     619           0 :             return;
     620             :           }
     621             :           break;
     622           0 :         case 'f':        // 3 strings to match.
     623           0 :           if (memcmp(Mnemonic.data()+3, "fb", 2) != 0)
     624             :             break;
     625           0 :           switch (Mnemonic[5]) {
     626             :           default: break;
     627           0 :           case 'h':      // 2 strings to match.
     628           0 :             if (Mnemonic[6] != '_')
     629             :               break;
     630           0 :             switch (Mnemonic[7]) {
     631             :             default: break;
     632           0 :             case 'i':    // 1 string to match.
     633           0 :               if (memcmp(Mnemonic.data()+8, "32_e32", 6) != 0)
     634             :                 break;
     635           0 :               Mnemonic = "v_ffbh_i32";         // "v_ffbh_i32_e32"
     636           0 :               return;
     637           0 :             case 'u':    // 1 string to match.
     638           0 :               if (memcmp(Mnemonic.data()+8, "32_e32", 6) != 0)
     639             :                 break;
     640           0 :               Mnemonic = "v_ffbh_u32";         // "v_ffbh_u32_e32"
     641           0 :               return;
     642             :             }
     643             :             break;
     644           0 :           case 'l':      // 1 string to match.
     645           0 :             if (memcmp(Mnemonic.data()+6, "_b32_e32", 8) != 0)
     646             :               break;
     647           0 :             Mnemonic = "v_ffbl_b32";   // "v_ffbl_b32_e32"
     648           0 :             return;
     649             :           }
     650             :           break;
     651          48 :         case 'l':        // 2 strings to match.
     652          48 :           if (memcmp(Mnemonic.data()+3, "sh", 2) != 0)
     653             :             break;
     654          96 :           switch (Mnemonic[5]) {
     655             :           default: break;
     656          48 :           case 'l':      // 1 string to match.
     657          48 :             if (memcmp(Mnemonic.data()+6, "_b32_e32", 8) != 0)
     658             :               break;
     659           0 :             Mnemonic = "v_lshl_b32";   // "v_lshl_b32_e32"
     660           0 :             return;
     661           0 :           case 'r':      // 1 string to match.
     662           0 :             if (memcmp(Mnemonic.data()+6, "_b32_e32", 8) != 0)
     663             :               break;
     664           0 :             Mnemonic = "v_lshr_b32";   // "v_lshr_b32_e32"
     665           0 :             return;
     666             :           }
     667             :           break;
     668          62 :         case 'r':        // 1 string to match.
     669          62 :           if (memcmp(Mnemonic.data()+3, "eadlane_b32", 11) != 0)
     670             :             break;
     671          62 :           Mnemonic = "v_readlane_b32";         // "v_readlane_b32"
     672          62 :           return;
     673           0 :         case 's':        // 4 strings to match.
     674           0 :           switch (Mnemonic[3]) {
     675             :           default: break;
     676           0 :           case 'q':      // 3 strings to match.
     677           0 :             if (memcmp(Mnemonic.data()+4, "rt_f", 4) != 0)
     678             :               break;
     679           0 :             switch (Mnemonic[8]) {
     680             :             default: break;
     681           0 :             case '1':    // 1 string to match.
     682           0 :               if (memcmp(Mnemonic.data()+9, "6_e32", 5) != 0)
     683             :                 break;
     684           0 :               Mnemonic = "v_sqrt_f16";         // "v_sqrt_f16_e32"
     685           0 :               return;
     686           0 :             case '3':    // 1 string to match.
     687           0 :               if (memcmp(Mnemonic.data()+9, "2_e32", 5) != 0)
     688             :                 break;
     689           0 :               Mnemonic = "v_sqrt_f32";         // "v_sqrt_f32_e32"
     690           0 :               return;
     691           0 :             case '6':    // 1 string to match.
     692           0 :               if (memcmp(Mnemonic.data()+9, "4_e32", 5) != 0)
     693             :                 break;
     694           0 :               Mnemonic = "v_sqrt_f64";         // "v_sqrt_f64_e32"
     695           0 :               return;
     696             :             }
     697             :             break;
     698           0 :           case 'u':      // 1 string to match.
     699           0 :             if (memcmp(Mnemonic.data()+4, "bb_u32_e32", 10) != 0)
     700             :               break;
     701           0 :             Mnemonic = "v_subb_u32";   // "v_subb_u32_e32"
     702           0 :             return;
     703             :           }
     704             :           break;
     705             :         }
     706             :         break;
     707        4170 :       case 15:   // 16 strings to match.
     708        4170 :         if (memcmp(Mnemonic.data()+0, "v_", 2) != 0)
     709             :           break;
     710        4138 :         switch (Mnemonic[2]) {
     711             :         default: break;
     712           0 :         case 'b':        // 1 string to match.
     713           0 :           if (memcmp(Mnemonic.data()+3, "frev_b32_e32", 12) != 0)
     714             :             break;
     715           0 :           Mnemonic = "v_bfrev_b32";    // "v_bfrev_b32_e32"
     716           0 :           return;
     717           0 :         case 'f':        // 6 strings to match.
     718           0 :           switch (Mnemonic[3]) {
     719             :           default: break;
     720           0 :           case 'l':      // 3 strings to match.
     721           0 :             if (memcmp(Mnemonic.data()+4, "oor_f", 5) != 0)
     722             :               break;
     723           0 :             switch (Mnemonic[9]) {
     724             :             default: break;
     725           0 :             case '1':    // 1 string to match.
     726           0 :               if (memcmp(Mnemonic.data()+10, "6_e32", 5) != 0)
     727             :                 break;
     728           0 :               Mnemonic = "v_floor_f16";        // "v_floor_f16_e32"
     729           0 :               return;
     730           0 :             case '3':    // 1 string to match.
     731           0 :               if (memcmp(Mnemonic.data()+10, "2_e32", 5) != 0)
     732             :                 break;
     733           0 :               Mnemonic = "v_floor_f32";        // "v_floor_f32_e32"
     734           0 :               return;
     735           0 :             case '6':    // 1 string to match.
     736           0 :               if (memcmp(Mnemonic.data()+10, "4_e32", 5) != 0)
     737             :                 break;
     738           0 :               Mnemonic = "v_floor_f64";        // "v_floor_f64_e32"
     739           0 :               return;
     740             :             }
     741             :             break;
     742           0 :           case 'r':      // 3 strings to match.
     743           0 :             if (memcmp(Mnemonic.data()+4, "act_f", 5) != 0)
     744             :               break;
     745           0 :             switch (Mnemonic[9]) {
     746             :             default: break;
     747           0 :             case '1':    // 1 string to match.
     748           0 :               if (memcmp(Mnemonic.data()+10, "6_e32", 5) != 0)
     749             :                 break;
     750           0 :               Mnemonic = "v_fract_f16";        // "v_fract_f16_e32"
     751           0 :               return;
     752           0 :             case '3':    // 1 string to match.
     753           0 :               if (memcmp(Mnemonic.data()+10, "2_e32", 5) != 0)
     754             :                 break;
     755           0 :               Mnemonic = "v_fract_f32";        // "v_fract_f32_e32"
     756           0 :               return;
     757           0 :             case '6':    // 1 string to match.
     758           0 :               if (memcmp(Mnemonic.data()+10, "4_e32", 5) != 0)
     759             :                 break;
     760           0 :               Mnemonic = "v_fract_f64";        // "v_fract_f64_e32"
     761           0 :               return;
     762             :             }
     763             :             break;
     764             :           }
     765             :           break;
     766          39 :         case 'l':        // 2 strings to match.
     767          39 :           if (memcmp(Mnemonic.data()+3, "dexp_f", 6) != 0)
     768             :             break;
     769           0 :           switch (Mnemonic[9]) {
     770             :           default: break;
     771           0 :           case '1':      // 1 string to match.
     772           0 :             if (memcmp(Mnemonic.data()+10, "6_e32", 5) != 0)
     773             :               break;
     774           0 :             Mnemonic = "v_ldexp_f16";  // "v_ldexp_f16_e32"
     775           0 :             return;
     776           0 :           case '3':      // 1 string to match.
     777           0 :             if (memcmp(Mnemonic.data()+10, "2_e32", 5) != 0)
     778             :               break;
     779           0 :             Mnemonic = "v_ldexp_f32";  // "v_ldexp_f32_e32"
     780           0 :             return;
     781             :           }
     782             :           break;
     783         194 :         case 'r':        // 3 strings to match.
     784         194 :           if (memcmp(Mnemonic.data()+3, "ndne_f", 6) != 0)
     785             :             break;
     786           0 :           switch (Mnemonic[9]) {
     787             :           default: break;
     788           0 :           case '1':      // 1 string to match.
     789           0 :             if (memcmp(Mnemonic.data()+10, "6_e32", 5) != 0)
     790             :               break;
     791           0 :             Mnemonic = "v_rndne_f16";  // "v_rndne_f16_e32"
     792           0 :             return;
     793           0 :           case '3':      // 1 string to match.
     794           0 :             if (memcmp(Mnemonic.data()+10, "2_e32", 5) != 0)
     795             :               break;
     796           0 :             Mnemonic = "v_rndne_f32";  // "v_rndne_f32_e32"
     797           0 :             return;
     798           0 :           case '6':      // 1 string to match.
     799           0 :             if (memcmp(Mnemonic.data()+10, "4_e32", 5) != 0)
     800             :               break;
     801           0 :             Mnemonic = "v_rndne_f64";  // "v_rndne_f64_e32"
     802           0 :             return;
     803             :           }
     804             :           break;
     805           0 :         case 't':        // 3 strings to match.
     806           0 :           if (memcmp(Mnemonic.data()+3, "runc_f", 6) != 0)
     807             :             break;
     808           0 :           switch (Mnemonic[9]) {
     809             :           default: break;
     810           0 :           case '1':      // 1 string to match.
     811           0 :             if (memcmp(Mnemonic.data()+10, "6_e32", 5) != 0)
     812             :               break;
     813           0 :             Mnemonic = "v_trunc_f16";  // "v_trunc_f16_e32"
     814           0 :             return;
     815           0 :           case '3':      // 1 string to match.
     816           0 :             if (memcmp(Mnemonic.data()+10, "2_e32", 5) != 0)
     817             :               break;
     818           0 :             Mnemonic = "v_trunc_f32";  // "v_trunc_f32_e32"
     819           0 :             return;
     820           0 :           case '6':      // 1 string to match.
     821           0 :             if (memcmp(Mnemonic.data()+10, "4_e32", 5) != 0)
     822             :               break;
     823           0 :             Mnemonic = "v_trunc_f64";  // "v_trunc_f64_e32"
     824           0 :             return;
     825             :           }
     826             :           break;
     827          70 :         case 'w':        // 1 string to match.
     828          70 :           if (memcmp(Mnemonic.data()+3, "ritelane_b32", 12) != 0)
     829             :             break;
     830          70 :           Mnemonic = "v_writelane_b32";        // "v_writelane_b32"
     831          70 :           return;
     832             :         }
     833             :         break;
     834        3337 :       case 16:   // 6 strings to match.
     835        3337 :         if (memcmp(Mnemonic.data()+0, "v_", 2) != 0)
     836             :           break;
     837        4542 :         switch (Mnemonic[2]) {
     838             :         default: break;
     839         610 :         case 'm':        // 1 string to match.
     840         610 :           if (memcmp(Mnemonic.data()+3, "ul_lo_u16_e32", 13) != 0)
     841             :             break;
     842           0 :           Mnemonic = "v_mul_lo_u16";   // "v_mul_lo_u16_e32"
     843           0 :           return;
     844           0 :         case 's':        // 5 strings to match.
     845           0 :           if (memcmp(Mnemonic.data()+3, "ubrev_", 6) != 0)
     846             :             break;
     847           0 :           switch (Mnemonic[9]) {
     848             :           default: break;
     849           0 :           case 'f':      // 2 strings to match.
     850           0 :             switch (Mnemonic[10]) {
     851             :             default: break;
     852           0 :             case '1':    // 1 string to match.
     853           0 :               if (memcmp(Mnemonic.data()+11, "6_e32", 5) != 0)
     854             :                 break;
     855           0 :               Mnemonic = "v_subrev_f16";       // "v_subrev_f16_e32"
     856           0 :               return;
     857           0 :             case '3':    // 1 string to match.
     858           0 :               if (memcmp(Mnemonic.data()+11, "2_e32", 5) != 0)
     859             :                 break;
     860           0 :               Mnemonic = "v_subrev_f32";       // "v_subrev_f32_e32"
     861           0 :               return;
     862             :             }
     863             :             break;
     864           0 :           case 'i':      // 1 string to match.
     865           0 :             if (memcmp(Mnemonic.data()+10, "32_e32", 6) != 0)
     866             :               break;
     867           0 :             Mnemonic = "v_subrev_i32";         // "v_subrev_i32_e32"
     868           0 :             return;
     869           0 :           case 'u':      // 2 strings to match.
     870           0 :             switch (Mnemonic[10]) {
     871             :             default: break;
     872           0 :             case '1':    // 1 string to match.
     873           0 :               if (memcmp(Mnemonic.data()+11, "6_e32", 5) != 0)
     874             :                 break;
     875           0 :               Mnemonic = "v_subrev_u16";       // "v_subrev_u16_e32"
     876           0 :               return;
     877           0 :             case '3':    // 1 string to match.
     878           0 :               if (memcmp(Mnemonic.data()+11, "2_e32", 5) != 0)
     879             :                 break;
     880           0 :               Mnemonic = "v_subrev_u32";       // "v_subrev_u32_e32"
     881           0 :               return;
     882             :             }
     883             :             break;
     884             :           }
     885             :           break;
     886             :         }
     887             :         break;
     888        2728 :       case 17:   // 29 strings to match.
     889        2728 :         if (memcmp(Mnemonic.data()+0, "v_", 2) != 0)
     890             :           break;
     891         848 :         switch (Mnemonic[2]) {
     892             :         default: break;
     893           0 :         case 'a':        // 2 strings to match.
     894           0 :           if (memcmp(Mnemonic.data()+3, "shrrev_i", 8) != 0)
     895             :             break;
     896           0 :           switch (Mnemonic[11]) {
     897             :           default: break;
     898           0 :           case '1':      // 1 string to match.
     899           0 :             if (memcmp(Mnemonic.data()+12, "6_e32", 5) != 0)
     900             :               break;
     901           0 :             Mnemonic = "v_ashrrev_i16";        // "v_ashrrev_i16_e32"
     902           0 :             return;
     903           0 :           case '3':      // 1 string to match.
     904           0 :             if (memcmp(Mnemonic.data()+12, "2_e32", 5) != 0)
     905             :               break;
     906           0 :             Mnemonic = "v_ashrrev_i32";        // "v_ashrrev_i32_e32"
     907           0 :             return;
     908             :           }
     909             :           break;
     910         168 :         case 'c':        // 17 strings to match.
     911         336 :           switch (Mnemonic[3]) {
     912             :           default: break;
     913           0 :           case 'n':      // 1 string to match.
     914           0 :             if (memcmp(Mnemonic.data()+4, "dmask_b32_e32", 13) != 0)
     915             :               break;
     916           0 :             Mnemonic = "v_cndmask_b32";        // "v_cndmask_b32_e32"
     917           0 :             return;
     918         168 :           case 'v':      // 16 strings to match.
     919         168 :             if (memcmp(Mnemonic.data()+4, "t_", 2) != 0)
     920             :               break;
     921         336 :             switch (Mnemonic[6]) {
     922             :             default: break;
     923          88 :             case 'f':    // 10 strings to match.
     924         176 :               switch (Mnemonic[7]) {
     925             :               default: break;
     926           0 :               case '1':  // 3 strings to match.
     927           0 :                 if (memcmp(Mnemonic.data()+8, "6_", 2) != 0)
     928             :                   break;
     929           0 :                 switch (Mnemonic[10]) {
     930             :                 default: break;
     931           0 :                 case 'f':        // 1 string to match.
     932           0 :                   if (memcmp(Mnemonic.data()+11, "32_e32", 6) != 0)
     933             :                     break;
     934           0 :                   Mnemonic = "v_cvt_f16_f32";  // "v_cvt_f16_f32_e32"
     935           0 :                   return;
     936           0 :                 case 'i':        // 1 string to match.
     937           0 :                   if (memcmp(Mnemonic.data()+11, "16_e32", 6) != 0)
     938             :                     break;
     939           0 :                   Mnemonic = "v_cvt_f16_i16";  // "v_cvt_f16_i16_e32"
     940           0 :                   return;
     941           0 :                 case 'u':        // 1 string to match.
     942           0 :                   if (memcmp(Mnemonic.data()+11, "16_e32", 6) != 0)
     943             :                     break;
     944           0 :                   Mnemonic = "v_cvt_f16_u16";  // "v_cvt_f16_u16_e32"
     945           0 :                   return;
     946             :                 }
     947             :                 break;
     948           0 :               case '3':  // 4 strings to match.
     949           0 :                 if (memcmp(Mnemonic.data()+8, "2_", 2) != 0)
     950             :                   break;
     951           0 :                 switch (Mnemonic[10]) {
     952             :                 default: break;
     953           0 :                 case 'f':        // 2 strings to match.
     954           0 :                   switch (Mnemonic[11]) {
     955             :                   default: break;
     956           0 :                   case '1':      // 1 string to match.
     957           0 :                     if (memcmp(Mnemonic.data()+12, "6_e32", 5) != 0)
     958             :                       break;
     959           0 :                     Mnemonic = "v_cvt_f32_f16";        // "v_cvt_f32_f16_e32"
     960           0 :                     return;
     961           0 :                   case '6':      // 1 string to match.
     962           0 :                     if (memcmp(Mnemonic.data()+12, "4_e32", 5) != 0)
     963             :                       break;
     964           0 :                     Mnemonic = "v_cvt_f32_f64";        // "v_cvt_f32_f64_e32"
     965           0 :                     return;
     966             :                   }
     967             :                   break;
     968           0 :                 case 'i':        // 1 string to match.
     969           0 :                   if (memcmp(Mnemonic.data()+11, "32_e32", 6) != 0)
     970             :                     break;
     971           0 :                   Mnemonic = "v_cvt_f32_i32";  // "v_cvt_f32_i32_e32"
     972           0 :                   return;
     973           0 :                 case 'u':        // 1 string to match.
     974           0 :                   if (memcmp(Mnemonic.data()+11, "32_e32", 6) != 0)
     975             :                     break;
     976           0 :                   Mnemonic = "v_cvt_f32_u32";  // "v_cvt_f32_u32_e32"
     977           0 :                   return;
     978             :                 }
     979             :                 break;
     980           0 :               case '6':  // 3 strings to match.
     981           0 :                 if (memcmp(Mnemonic.data()+8, "4_", 2) != 0)
     982             :                   break;
     983           0 :                 switch (Mnemonic[10]) {
     984             :                 default: break;
     985           0 :                 case 'f':        // 1 string to match.
     986           0 :                   if (memcmp(Mnemonic.data()+11, "32_e32", 6) != 0)
     987             :                     break;
     988           0 :                   Mnemonic = "v_cvt_f64_f32";  // "v_cvt_f64_f32_e32"
     989           0 :                   return;
     990           0 :                 case 'i':        // 1 string to match.
     991           0 :                   if (memcmp(Mnemonic.data()+11, "32_e32", 6) != 0)
     992             :                     break;
     993           0 :                   Mnemonic = "v_cvt_f64_i32";  // "v_cvt_f64_i32_e32"
     994           0 :                   return;
     995           0 :                 case 'u':        // 1 string to match.
     996           0 :                   if (memcmp(Mnemonic.data()+11, "32_e32", 6) != 0)
     997             :                     break;
     998           0 :                   Mnemonic = "v_cvt_f64_u32";  // "v_cvt_f64_u32_e32"
     999           0 :                   return;
    1000             :                 }
    1001             :                 break;
    1002             :               }
    1003             :               break;
    1004           0 :             case 'i':    // 3 strings to match.
    1005           0 :               switch (Mnemonic[7]) {
    1006             :               default: break;
    1007           0 :               case '1':  // 1 string to match.
    1008           0 :                 if (memcmp(Mnemonic.data()+8, "6_f16_e32", 9) != 0)
    1009             :                   break;
    1010           0 :                 Mnemonic = "v_cvt_i16_f16";    // "v_cvt_i16_f16_e32"
    1011           0 :                 return;
    1012           0 :               case '3':  // 2 strings to match.
    1013           0 :                 if (memcmp(Mnemonic.data()+8, "2_f", 3) != 0)
    1014             :                   break;
    1015           0 :                 switch (Mnemonic[11]) {
    1016             :                 default: break;
    1017           0 :                 case '3':        // 1 string to match.
    1018           0 :                   if (memcmp(Mnemonic.data()+12, "2_e32", 5) != 0)
    1019             :                     break;
    1020           0 :                   Mnemonic = "v_cvt_i32_f32";  // "v_cvt_i32_f32_e32"
    1021           0 :                   return;
    1022           0 :                 case '6':        // 1 string to match.
    1023           0 :                   if (memcmp(Mnemonic.data()+12, "4_e32", 5) != 0)
    1024             :                     break;
    1025           0 :                   Mnemonic = "v_cvt_i32_f64";  // "v_cvt_i32_f64_e32"
    1026           0 :                   return;
    1027             :                 }
    1028             :                 break;
    1029             :               }
    1030             :               break;
    1031           0 :             case 'u':    // 3 strings to match.
    1032           0 :               switch (Mnemonic[7]) {
    1033             :               default: break;
    1034           0 :               case '1':  // 1 string to match.
    1035           0 :                 if (memcmp(Mnemonic.data()+8, "6_f16_e32", 9) != 0)
    1036             :                   break;
    1037           0 :                 Mnemonic = "v_cvt_u16_f16";    // "v_cvt_u16_f16_e32"
    1038           0 :                 return;
    1039           0 :               case '3':  // 2 strings to match.
    1040           0 :                 if (memcmp(Mnemonic.data()+8, "2_f", 3) != 0)
    1041             :                   break;
    1042           0 :                 switch (Mnemonic[11]) {
    1043             :                 default: break;
    1044           0 :                 case '3':        // 1 string to match.
    1045           0 :                   if (memcmp(Mnemonic.data()+12, "2_e32", 5) != 0)
    1046             :                     break;
    1047           0 :                   Mnemonic = "v_cvt_u32_f32";  // "v_cvt_u32_f32_e32"
    1048           0 :                   return;
    1049           0 :                 case '6':        // 1 string to match.
    1050           0 :                   if (memcmp(Mnemonic.data()+12, "4_e32", 5) != 0)
    1051             :                     break;
    1052           0 :                   Mnemonic = "v_cvt_u32_f64";  // "v_cvt_u32_f64_e32"
    1053           0 :                   return;
    1054             :                 }
    1055             :                 break;
    1056             :               }
    1057             :               break;
    1058             :             }
    1059             :             break;
    1060             :           }
    1061             :           break;
    1062           0 :         case 'l':        // 4 strings to match.
    1063           0 :           if (memcmp(Mnemonic.data()+3, "sh", 2) != 0)
    1064             :             break;
    1065           0 :           switch (Mnemonic[5]) {
    1066             :           default: break;
    1067           0 :           case 'l':      // 2 strings to match.
    1068           0 :             if (memcmp(Mnemonic.data()+6, "rev_b", 5) != 0)
    1069             :               break;
    1070           0 :             switch (Mnemonic[11]) {
    1071             :             default: break;
    1072           0 :             case '1':    // 1 string to match.
    1073           0 :               if (memcmp(Mnemonic.data()+12, "6_e32", 5) != 0)
    1074             :                 break;
    1075           0 :               Mnemonic = "v_lshlrev_b16";      // "v_lshlrev_b16_e32"
    1076           0 :               return;
    1077           0 :             case '3':    // 1 string to match.
    1078           0 :               if (memcmp(Mnemonic.data()+12, "2_e32", 5) != 0)
    1079             :                 break;
    1080           0 :               Mnemonic = "v_lshlrev_b32";      // "v_lshlrev_b32_e32"
    1081           0 :               return;
    1082             :             }
    1083             :             break;
    1084           0 :           case 'r':      // 2 strings to match.
    1085           0 :             if (memcmp(Mnemonic.data()+6, "rev_b", 5) != 0)
    1086             :               break;
    1087           0 :             switch (Mnemonic[11]) {
    1088             :             default: break;
    1089           0 :             case '1':    // 1 string to match.
    1090           0 :               if (memcmp(Mnemonic.data()+12, "6_e32", 5) != 0)
    1091             :                 break;
    1092           0 :               Mnemonic = "v_lshrrev_b16";      // "v_lshrrev_b16_e32"
    1093           0 :               return;
    1094           0 :             case '3':    // 1 string to match.
    1095           0 :               if (memcmp(Mnemonic.data()+12, "2_e32", 5) != 0)
    1096             :                 break;
    1097           0 :               Mnemonic = "v_lshrrev_b32";      // "v_lshrrev_b32_e32"
    1098           0 :               return;
    1099             :             }
    1100             :             break;
    1101             :           }
    1102             :           break;
    1103         170 :         case 'm':        // 5 strings to match.
    1104         340 :           switch (Mnemonic[3]) {
    1105             :           default: break;
    1106           0 :           case 'o':      // 3 strings to match.
    1107           0 :             if (Mnemonic[4] != 'v')
    1108             :               break;
    1109           0 :             switch (Mnemonic[5]) {
    1110             :             default: break;
    1111           0 :             case '_':    // 1 string to match.
    1112           0 :               if (memcmp(Mnemonic.data()+6, "fed_b32_e32", 11) != 0)
    1113             :                 break;
    1114           0 :               Mnemonic = "v_mov_fed_b32";      // "v_mov_fed_b32_e32"
    1115           0 :               return;
    1116           0 :             case 'r':    // 2 strings to match.
    1117           0 :               if (memcmp(Mnemonic.data()+6, "el", 2) != 0)
    1118             :                 break;
    1119           0 :               switch (Mnemonic[8]) {
    1120             :               default: break;
    1121           0 :               case 'd':  // 1 string to match.
    1122           0 :                 if (memcmp(Mnemonic.data()+9, "_b32_e32", 8) != 0)
    1123             :                   break;
    1124           0 :                 Mnemonic = "v_movreld_b32";    // "v_movreld_b32_e32"
    1125           0 :                 return;
    1126           0 :               case 's':  // 1 string to match.
    1127           0 :                 if (memcmp(Mnemonic.data()+9, "_b32_e32", 8) != 0)
    1128             :                   break;
    1129           0 :                 Mnemonic = "v_movrels_b32";    // "v_movrels_b32_e32"
    1130           0 :                 return;
    1131             :               }
    1132             :               break;
    1133             :             }
    1134             :             break;
    1135           0 :           case 'u':      // 2 strings to match.
    1136           0 :             if (memcmp(Mnemonic.data()+4, "l_", 2) != 0)
    1137             :               break;
    1138           0 :             switch (Mnemonic[6]) {
    1139             :             default: break;
    1140           0 :             case 'i':    // 1 string to match.
    1141           0 :               if (memcmp(Mnemonic.data()+7, "32_i24_e32", 10) != 0)
    1142             :                 break;
    1143           0 :               Mnemonic = "v_mul_i32_i24";      // "v_mul_i32_i24_e32"
    1144           0 :               return;
    1145           0 :             case 'u':    // 1 string to match.
    1146           0 :               if (memcmp(Mnemonic.data()+7, "32_u24_e32", 10) != 0)
    1147             :                 break;
    1148           0 :               Mnemonic = "v_mul_u32_u24";      // "v_mul_u32_u24_e32"
    1149           0 :               return;
    1150             :             }
    1151             :             break;
    1152             :           }
    1153             :           break;
    1154           0 :         case 's':        // 1 string to match.
    1155           0 :           if (memcmp(Mnemonic.data()+3, "ubbrev_u32_e32", 14) != 0)
    1156             :             break;
    1157           0 :           Mnemonic = "v_subbrev_u32";  // "v_subbrev_u32_e32"
    1158           0 :           return;
    1159             :         }
    1160             :         break;
    1161        1870 :       case 18:   // 2 strings to match.
    1162        1870 :         if (memcmp(Mnemonic.data()+0, "v_", 2) != 0)
    1163             :           break;
    1164         408 :         switch (Mnemonic[2]) {
    1165             :         default: break;
    1166           0 :         case 'b':        // 1 string to match.
    1167           0 :           if (memcmp(Mnemonic.data()+3, "cnt_u32_b32_e32", 15) != 0)
    1168             :             break;
    1169           0 :           Mnemonic = "v_bcnt_u32_b32";         // "v_bcnt_u32_b32_e32"
    1170           0 :           return;
    1171         204 :         case 'm':        // 1 string to match.
    1172         204 :           if (memcmp(Mnemonic.data()+3, "ovrelsd_b32_e32", 15) != 0)
    1173             :             break;
    1174           0 :           Mnemonic = "v_movrelsd_b32";         // "v_movrelsd_b32_e32"
    1175           0 :           return;
    1176             :         }
    1177             :         break;
    1178        1334 :       case 19:   // 6 strings to match.
    1179        1334 :         if (memcmp(Mnemonic.data()+0, "v_", 2) != 0)
    1180             :           break;
    1181         740 :         switch (Mnemonic[2]) {
    1182             :         default: break;
    1183           0 :         case 'l':        // 1 string to match.
    1184           0 :           if (memcmp(Mnemonic.data()+3, "og_clamp_f32_e32", 16) != 0)
    1185             :             break;
    1186           0 :           Mnemonic = "v_log_clamp_f32";        // "v_log_clamp_f32_e32"
    1187           0 :           return;
    1188          34 :         case 'r':        // 5 strings to match.
    1189          68 :           switch (Mnemonic[3]) {
    1190             :           default: break;
    1191           0 :           case 'c':      // 3 strings to match.
    1192           0 :             if (memcmp(Mnemonic.data()+4, "p_", 2) != 0)
    1193             :               break;
    1194           0 :             switch (Mnemonic[6]) {
    1195             :             default: break;
    1196           0 :             case 'c':    // 2 strings to match.
    1197           0 :               if (memcmp(Mnemonic.data()+7, "lamp_f", 6) != 0)
    1198             :                 break;
    1199           0 :               switch (Mnemonic[13]) {
    1200             :               default: break;
    1201           0 :               case '3':  // 1 string to match.
    1202           0 :                 if (memcmp(Mnemonic.data()+14, "2_e32", 5) != 0)
    1203             :                   break;
    1204           0 :                 Mnemonic = "v_rcp_clamp_f32";  // "v_rcp_clamp_f32_e32"
    1205           0 :                 return;
    1206           0 :               case '6':  // 1 string to match.
    1207           0 :                 if (memcmp(Mnemonic.data()+14, "4_e32", 5) != 0)
    1208             :                   break;
    1209           0 :                 Mnemonic = "v_rcp_clamp_f64";  // "v_rcp_clamp_f64_e32"
    1210           0 :                 return;
    1211             :               }
    1212             :               break;
    1213           0 :             case 'i':    // 1 string to match.
    1214           0 :               if (memcmp(Mnemonic.data()+7, "flag_f32_e32", 12) != 0)
    1215             :                 break;
    1216           0 :               Mnemonic = "v_rcp_iflag_f32";    // "v_rcp_iflag_f32_e32"
    1217           0 :               return;
    1218             :             }
    1219             :             break;
    1220           0 :           case 's':      // 2 strings to match.
    1221           0 :             if (memcmp(Mnemonic.data()+4, "q_clamp_f", 9) != 0)
    1222             :               break;
    1223           0 :             switch (Mnemonic[13]) {
    1224             :             default: break;
    1225           0 :             case '3':    // 1 string to match.
    1226           0 :               if (memcmp(Mnemonic.data()+14, "2_e32", 5) != 0)
    1227             :                 break;
    1228           0 :               Mnemonic = "v_rsq_clamp_f32";    // "v_rsq_clamp_f32_e32"
    1229           0 :               return;
    1230           0 :             case '6':    // 1 string to match.
    1231           0 :               if (memcmp(Mnemonic.data()+14, "4_e32", 5) != 0)
    1232             :                 break;
    1233           0 :               Mnemonic = "v_rsq_clamp_f64";    // "v_rsq_clamp_f64_e32"
    1234           0 :               return;
    1235             :             }
    1236             :             break;
    1237             :           }
    1238             :           break;
    1239             :         }
    1240             :         break;
    1241        1412 :       case 20:   // 20 strings to match.
    1242        1412 :         if (memcmp(Mnemonic.data()+0, "v_", 2) != 0)
    1243             :           break;
    1244         898 :         switch (Mnemonic[2]) {
    1245             :         default: break;
    1246         449 :         case 'c':        // 7 strings to match.
    1247         449 :           if (memcmp(Mnemonic.data()+3, "vt_", 3) != 0)
    1248             :             break;
    1249         898 :           switch (Mnemonic[6]) {
    1250             :           default: break;
    1251           0 :           case 'f':      // 4 strings to match.
    1252           0 :             if (memcmp(Mnemonic.data()+7, "32_ubyte", 8) != 0)
    1253             :               break;
    1254           0 :             switch (Mnemonic[15]) {
    1255             :             default: break;
    1256           0 :             case '0':    // 1 string to match.
    1257           0 :               if (memcmp(Mnemonic.data()+16, "_e32", 4) != 0)
    1258             :                 break;
    1259           0 :               Mnemonic = "v_cvt_f32_ubyte0";   // "v_cvt_f32_ubyte0_e32"
    1260           0 :               return;
    1261           0 :             case '1':    // 1 string to match.
    1262           0 :               if (memcmp(Mnemonic.data()+16, "_e32", 4) != 0)
    1263             :                 break;
    1264           0 :               Mnemonic = "v_cvt_f32_ubyte1";   // "v_cvt_f32_ubyte1_e32"
    1265           0 :               return;
    1266           0 :             case '2':    // 1 string to match.
    1267           0 :               if (memcmp(Mnemonic.data()+16, "_e32", 4) != 0)
    1268             :                 break;
    1269           0 :               Mnemonic = "v_cvt_f32_ubyte2";   // "v_cvt_f32_ubyte2_e32"
    1270           0 :               return;
    1271           0 :             case '3':    // 1 string to match.
    1272           0 :               if (memcmp(Mnemonic.data()+16, "_e32", 4) != 0)
    1273             :                 break;
    1274           0 :               Mnemonic = "v_cvt_f32_ubyte3";   // "v_cvt_f32_ubyte3_e32"
    1275           0 :               return;
    1276             :             }
    1277             :             break;
    1278           0 :           case 'o':      // 1 string to match.
    1279           0 :             if (memcmp(Mnemonic.data()+7, "ff_f32_i4_e32", 13) != 0)
    1280             :               break;
    1281           0 :             Mnemonic = "v_cvt_off_f32_i4";     // "v_cvt_off_f32_i4_e32"
    1282           0 :             return;
    1283         449 :           case 'p':      // 2 strings to match.
    1284         449 :             if (memcmp(Mnemonic.data()+7, "k_", 2) != 0)
    1285             :               break;
    1286           0 :             switch (Mnemonic[9]) {
    1287             :             default: break;
    1288           0 :             case 'i':    // 1 string to match.
    1289           0 :               if (memcmp(Mnemonic.data()+10, "16_i32_e32", 10) != 0)
    1290             :                 break;
    1291           0 :               Mnemonic = "v_cvt_pk_i16_i32";   // "v_cvt_pk_i16_i32_e32"
    1292           0 :               return;
    1293           0 :             case 'u':    // 1 string to match.
    1294           0 :               if (memcmp(Mnemonic.data()+10, "16_u32_e32", 10) != 0)
    1295             :                 break;
    1296           0 :               Mnemonic = "v_cvt_pk_u16_u32";   // "v_cvt_pk_u16_u32_e32"
    1297           0 :               return;
    1298             :             }
    1299             :             break;
    1300             :           }
    1301             :           break;
    1302           0 :         case 'e':        // 1 string to match.
    1303           0 :           if (memcmp(Mnemonic.data()+3, "xp_legacy_f32_e32", 17) != 0)
    1304             :             break;
    1305           0 :           Mnemonic = "v_exp_legacy_f32";       // "v_exp_legacy_f32_e32"
    1306           0 :           return;
    1307           0 :         case 'f':        // 3 strings to match.
    1308           0 :           if (memcmp(Mnemonic.data()+3, "rexp_mant_f", 11) != 0)
    1309             :             break;
    1310           0 :           switch (Mnemonic[14]) {
    1311             :           default: break;
    1312           0 :           case '1':      // 1 string to match.
    1313           0 :             if (memcmp(Mnemonic.data()+15, "6_e32", 5) != 0)
    1314             :               break;
    1315           0 :             Mnemonic = "v_frexp_mant_f16";     // "v_frexp_mant_f16_e32"
    1316           0 :             return;
    1317           0 :           case '3':      // 1 string to match.
    1318           0 :             if (memcmp(Mnemonic.data()+15, "2_e32", 5) != 0)
    1319             :               break;
    1320           0 :             Mnemonic = "v_frexp_mant_f32";     // "v_frexp_mant_f32_e32"
    1321           0 :             return;
    1322           0 :           case '6':      // 1 string to match.
    1323           0 :             if (memcmp(Mnemonic.data()+15, "4_e32", 5) != 0)
    1324             :               break;
    1325           0 :             Mnemonic = "v_frexp_mant_f64";     // "v_frexp_mant_f64_e32"
    1326           0 :             return;
    1327             :           }
    1328             :           break;
    1329           0 :         case 'l':        // 1 string to match.
    1330           0 :           if (memcmp(Mnemonic.data()+3, "og_legacy_f32_e32", 17) != 0)
    1331             :             break;
    1332           0 :           Mnemonic = "v_log_legacy_f32";       // "v_log_legacy_f32_e32"
    1333           0 :           return;
    1334           0 :         case 'm':        // 6 strings to match.
    1335           0 :           switch (Mnemonic[3]) {
    1336             :           default: break;
    1337           0 :           case 'a':      // 2 strings to match.
    1338           0 :             switch (Mnemonic[4]) {
    1339             :             default: break;
    1340           0 :             case 'c':    // 1 string to match.
    1341           0 :               if (memcmp(Mnemonic.data()+5, "_legacy_f32_e32", 15) != 0)
    1342             :                 break;
    1343           0 :               Mnemonic = "v_mac_legacy_f32";   // "v_mac_legacy_f32_e32"
    1344           0 :               return;
    1345           0 :             case 'x':    // 1 string to match.
    1346           0 :               if (memcmp(Mnemonic.data()+5, "_legacy_f32_e32", 15) != 0)
    1347             :                 break;
    1348           0 :               Mnemonic = "v_max_legacy_f32";   // "v_max_legacy_f32_e32"
    1349           0 :               return;
    1350             :             }
    1351             :             break;
    1352           0 :           case 'i':      // 1 string to match.
    1353           0 :             if (memcmp(Mnemonic.data()+4, "n_legacy_f32_e32", 16) != 0)
    1354             :               break;
    1355           0 :             Mnemonic = "v_min_legacy_f32";     // "v_min_legacy_f32_e32"
    1356           0 :             return;
    1357           0 :           case 'u':      // 3 strings to match.
    1358           0 :             if (memcmp(Mnemonic.data()+4, "l_", 2) != 0)
    1359             :               break;
    1360           0 :             switch (Mnemonic[6]) {
    1361             :             default: break;
    1362           0 :             case 'h':    // 2 strings to match.
    1363           0 :               if (memcmp(Mnemonic.data()+7, "i_", 2) != 0)
    1364             :                 break;
    1365           0 :               switch (Mnemonic[9]) {
    1366             :               default: break;
    1367           0 :               case 'i':  // 1 string to match.
    1368           0 :                 if (memcmp(Mnemonic.data()+10, "32_i24_e32", 10) != 0)
    1369             :                   break;
    1370           0 :                 Mnemonic = "v_mul_hi_i32_i24";         // "v_mul_hi_i32_i24_e32"
    1371           0 :                 return;
    1372           0 :               case 'u':  // 1 string to match.
    1373           0 :                 if (memcmp(Mnemonic.data()+10, "32_u24_e32", 10) != 0)
    1374             :                   break;
    1375           0 :                 Mnemonic = "v_mul_hi_u32_u24";         // "v_mul_hi_u32_u24_e32"
    1376           0 :                 return;
    1377             :               }
    1378             :               break;
    1379           0 :             case 'l':    // 1 string to match.
    1380           0 :               if (memcmp(Mnemonic.data()+7, "egacy_f32_e32", 13) != 0)
    1381             :                 break;
    1382           0 :               Mnemonic = "v_mul_legacy_f32";   // "v_mul_legacy_f32_e32"
    1383           0 :               return;
    1384             :             }
    1385             :             break;
    1386             :           }
    1387             :           break;
    1388           0 :         case 'r':        // 2 strings to match.
    1389           0 :           switch (Mnemonic[3]) {
    1390             :           default: break;
    1391           0 :           case 'c':      // 1 string to match.
    1392           0 :             if (memcmp(Mnemonic.data()+4, "p_legacy_f32_e32", 16) != 0)
    1393             :               break;
    1394           0 :             Mnemonic = "v_rcp_legacy_f32";     // "v_rcp_legacy_f32_e32"
    1395           0 :             return;
    1396           0 :           case 's':      // 1 string to match.
    1397           0 :             if (memcmp(Mnemonic.data()+4, "q_legacy_f32_e32", 16) != 0)
    1398             :               break;
    1399           0 :             Mnemonic = "v_rsq_legacy_f32";     // "v_rsq_legacy_f32_e32"
    1400           0 :             return;
    1401             :           }
    1402             :           break;
    1403             :         }
    1404             :         break;
    1405         767 :       case 21:   // 2 strings to match.
    1406         767 :         if (memcmp(Mnemonic.data()+0, "v_cvt_", 6) != 0)
    1407             :           break;
    1408           0 :         switch (Mnemonic[6]) {
    1409             :         default: break;
    1410           0 :         case 'f':        // 1 string to match.
    1411           0 :           if (memcmp(Mnemonic.data()+7, "lr_i32_f32_e32", 14) != 0)
    1412             :             break;
    1413           0 :           Mnemonic = "v_cvt_flr_i32_f32";      // "v_cvt_flr_i32_f32_e32"
    1414           0 :           return;
    1415           0 :         case 'r':        // 1 string to match.
    1416           0 :           if (memcmp(Mnemonic.data()+7, "pi_i32_f32_e32", 14) != 0)
    1417             :             break;
    1418           0 :           Mnemonic = "v_cvt_rpi_i32_f32";      // "v_cvt_rpi_i32_f32_e32"
    1419           0 :           return;
    1420             :         }
    1421             :         break;
    1422         484 :       case 22:   // 2 strings to match.
    1423         484 :         if (memcmp(Mnemonic.data()+0, "v_mbcnt_", 8) != 0)
    1424             :           break;
    1425           0 :         switch (Mnemonic[8]) {
    1426             :         default: break;
    1427           0 :         case 'h':        // 1 string to match.
    1428           0 :           if (memcmp(Mnemonic.data()+9, "i_u32_b32_e32", 13) != 0)
    1429             :             break;
    1430           0 :           Mnemonic = "v_mbcnt_hi_u32_b32";     // "v_mbcnt_hi_u32_b32_e32"
    1431           0 :           return;
    1432           0 :         case 'l':        // 1 string to match.
    1433           0 :           if (memcmp(Mnemonic.data()+9, "o_u32_b32_e32", 13) != 0)
    1434             :             break;
    1435           0 :           Mnemonic = "v_mbcnt_lo_u32_b32";     // "v_mbcnt_lo_u32_b32_e32"
    1436           0 :           return;
    1437             :         }
    1438             :         break;
    1439         154 :       case 23:   // 4 strings to match.
    1440         154 :         if (memcmp(Mnemonic.data()+0, "v_", 2) != 0)
    1441             :           break;
    1442           0 :         switch (Mnemonic[2]) {
    1443             :         default: break;
    1444           0 :         case 'c':        // 1 string to match.
    1445           0 :           if (memcmp(Mnemonic.data()+3, "vt_pkrtz_f16_f32_e32", 20) != 0)
    1446             :             break;
    1447           0 :           Mnemonic = "v_cvt_pkrtz_f16_f32";    // "v_cvt_pkrtz_f16_f32_e32"
    1448           0 :           return;
    1449           0 :         case 'f':        // 3 strings to match.
    1450           0 :           if (memcmp(Mnemonic.data()+3, "rexp_exp_i", 10) != 0)
    1451             :             break;
    1452           0 :           switch (Mnemonic[13]) {
    1453             :           default: break;
    1454           0 :           case '1':      // 1 string to match.
    1455           0 :             if (memcmp(Mnemonic.data()+14, "6_f16_e32", 9) != 0)
    1456             :               break;
    1457           0 :             Mnemonic = "v_frexp_exp_i16_f16";  // "v_frexp_exp_i16_f16_e32"
    1458           0 :             return;
    1459           0 :           case '3':      // 2 strings to match.
    1460           0 :             if (memcmp(Mnemonic.data()+14, "2_f", 3) != 0)
    1461             :               break;
    1462           0 :             switch (Mnemonic[17]) {
    1463             :             default: break;
    1464           0 :             case '3':    // 1 string to match.
    1465           0 :               if (memcmp(Mnemonic.data()+18, "2_e32", 5) != 0)
    1466             :                 break;
    1467           0 :               Mnemonic = "v_frexp_exp_i32_f32";        // "v_frexp_exp_i32_f32_e32"
    1468           0 :               return;
    1469           0 :             case '6':    // 1 string to match.
    1470           0 :               if (memcmp(Mnemonic.data()+18, "4_e32", 5) != 0)
    1471             :                 break;
    1472           0 :               Mnemonic = "v_frexp_exp_i32_f64";        // "v_frexp_exp_i32_f64_e32"
    1473           0 :               return;
    1474             :             }
    1475             :             break;
    1476             :           }
    1477             :           break;
    1478             :         }
    1479             :         break;
    1480         146 :       case 24:   // 3 strings to match.
    1481         146 :         if (memcmp(Mnemonic.data()+0, "v_cvt_pk", 8) != 0)
    1482             :           break;
    1483           0 :         switch (Mnemonic[8]) {
    1484             :         default: break;
    1485           0 :         case 'a':        // 1 string to match.
    1486           0 :           if (memcmp(Mnemonic.data()+9, "ccum_u8_f32_e32", 15) != 0)
    1487             :             break;
    1488           0 :           Mnemonic = "v_cvt_pkaccum_u8_f32";   // "v_cvt_pkaccum_u8_f32_e32"
    1489           0 :           return;
    1490           0 :         case 'n':        // 2 strings to match.
    1491           0 :           if (memcmp(Mnemonic.data()+9, "orm_", 4) != 0)
    1492             :             break;
    1493           0 :           switch (Mnemonic[13]) {
    1494             :           default: break;
    1495           0 :           case 'i':      // 1 string to match.
    1496           0 :             if (memcmp(Mnemonic.data()+14, "16_f32_e32", 10) != 0)
    1497             :               break;
    1498           0 :             Mnemonic = "v_cvt_pknorm_i16_f32";         // "v_cvt_pknorm_i16_f32_e32"
    1499           0 :             return;
    1500           0 :           case 'u':      // 1 string to match.
    1501           0 :             if (memcmp(Mnemonic.data()+14, "16_f32_e32", 10) != 0)
    1502             :               break;
    1503           0 :             Mnemonic = "v_cvt_pknorm_u16_f32";         // "v_cvt_pknorm_u16_f32_e32"
    1504           0 :             return;
    1505             :           }
    1506             :           break;
    1507             :         }
    1508             :         break;
    1509             :       }
    1510             :     break;
    1511       49374 :     case 1:
    1512       49374 :       switch (Mnemonic.size()) {
    1513             :       default: break;
    1514        7579 :       case 9:    // 1 string to match.
    1515        7579 :         if (memcmp(Mnemonic.data()+0, "v_nop_e64", 9) != 0)
    1516             :           break;
    1517           0 :         Mnemonic = "v_nop";    // "v_nop_e64"
    1518           0 :         return;
    1519       10632 :       case 12:   // 2 strings to match.
    1520       10632 :         if (memcmp(Mnemonic.data()+0, "v_", 2) != 0)
    1521             :           break;
    1522       21202 :         switch (Mnemonic[2]) {
    1523             :         default: break;
    1524           0 :         case 'o':        // 1 string to match.
    1525           0 :           if (memcmp(Mnemonic.data()+3, "r_b32_e64", 9) != 0)
    1526             :             break;
    1527           0 :           Mnemonic = "v_or_b32";       // "v_or_b32_e64"
    1528           0 :           return;
    1529         465 :         case 's':        // 1 string to match.
    1530         465 :           if (memcmp(Mnemonic.data()+3, "ad_u8_e64", 9) != 0)
    1531             :             break;
    1532           0 :           Mnemonic = "v_sad_u8";       // "v_sad_u8_e64"
    1533           0 :           return;
    1534             :         }
    1535             :         break;
    1536       12272 :       case 13:   // 68 strings to match.
    1537       12272 :         if (memcmp(Mnemonic.data()+0, "v_", 2) != 0)
    1538             :           break;
    1539       24374 :         switch (Mnemonic[2]) {
    1540             :         default: break;
    1541         264 :         case 'a':        // 8 strings to match.
    1542         528 :           switch (Mnemonic[3]) {
    1543             :           default: break;
    1544           0 :           case 'd':      // 7 strings to match.
    1545           0 :             if (memcmp(Mnemonic.data()+4, "d_", 2) != 0)
    1546             :               break;
    1547           0 :             switch (Mnemonic[6]) {
    1548             :             default: break;
    1549           0 :             case 'f':    // 3 strings to match.
    1550           0 :               switch (Mnemonic[7]) {
    1551             :               default: break;
    1552           0 :               case '1':  // 1 string to match.
    1553           0 :                 if (memcmp(Mnemonic.data()+8, "6_e64", 5) != 0)
    1554             :                   break;
    1555           0 :                 Mnemonic = "v_add_f16";        // "v_add_f16_e64"
    1556           0 :                 return;
    1557           0 :               case '3':  // 1 string to match.
    1558           0 :                 if (memcmp(Mnemonic.data()+8, "2_e64", 5) != 0)
    1559             :                   break;
    1560           0 :                 Mnemonic = "v_add_f32";        // "v_add_f32_e64"
    1561           0 :                 return;
    1562           0 :               case '6':  // 1 string to match.
    1563           0 :                 if (memcmp(Mnemonic.data()+8, "4_e64", 5) != 0)
    1564             :                   break;
    1565           0 :                 Mnemonic = "v_add_f64";        // "v_add_f64_e64"
    1566           0 :                 return;
    1567             :               }
    1568             :               break;
    1569           0 :             case 'i':    // 2 strings to match.
    1570           0 :               switch (Mnemonic[7]) {
    1571             :               default: break;
    1572           0 :               case '1':  // 1 string to match.
    1573           0 :                 if (memcmp(Mnemonic.data()+8, "6_e64", 5) != 0)
    1574             :                   break;
    1575           0 :                 Mnemonic = "v_add_i16";        // "v_add_i16_e64"
    1576           0 :                 return;
    1577           0 :               case '3':  // 1 string to match.
    1578           0 :                 if (memcmp(Mnemonic.data()+8, "2_e64", 5) != 0)
    1579             :                   break;
    1580           0 :                 Mnemonic = "v_add_i32";        // "v_add_i32_e64"
    1581           0 :                 return;
    1582             :               }
    1583             :               break;
    1584           0 :             case 'u':    // 2 strings to match.
    1585           0 :               switch (Mnemonic[7]) {
    1586             :               default: break;
    1587           0 :               case '1':  // 1 string to match.
    1588           0 :                 if (memcmp(Mnemonic.data()+8, "6_e64", 5) != 0)
    1589             :                   break;
    1590           0 :                 Mnemonic = "v_add_u16";        // "v_add_u16_e64"
    1591           0 :                 return;
    1592           0 :               case '3':  // 1 string to match.
    1593           0 :                 if (memcmp(Mnemonic.data()+8, "2_e64", 5) != 0)
    1594             :                   break;
    1595           0 :                 Mnemonic = "v_add_u32";        // "v_add_u32_e64"
    1596           0 :                 return;
    1597             :               }
    1598             :               break;
    1599             :             }
    1600             :             break;
    1601           0 :           case 'n':      // 1 string to match.
    1602           0 :             if (memcmp(Mnemonic.data()+4, "d_b32_e64", 9) != 0)
    1603             :               break;
    1604           0 :             Mnemonic = "v_and_b32";    // "v_and_b32_e64"
    1605           0 :             return;
    1606             :           }
    1607             :           break;
    1608           0 :         case 'b':        // 4 strings to match.
    1609           0 :           if (Mnemonic[3] != 'f')
    1610             :             break;
    1611           0 :           switch (Mnemonic[4]) {
    1612             :           default: break;
    1613           0 :           case 'e':      // 2 strings to match.
    1614           0 :             if (Mnemonic[5] != '_')
    1615             :               break;
    1616           0 :             switch (Mnemonic[6]) {
    1617             :             default: break;
    1618           0 :             case 'i':    // 1 string to match.
    1619           0 :               if (memcmp(Mnemonic.data()+7, "32_e64", 6) != 0)
    1620             :                 break;
    1621           0 :               Mnemonic = "v_bfe_i32";  // "v_bfe_i32_e64"
    1622           0 :               return;
    1623           0 :             case 'u':    // 1 string to match.
    1624           0 :               if (memcmp(Mnemonic.data()+7, "32_e64", 6) != 0)
    1625             :                 break;
    1626           0 :               Mnemonic = "v_bfe_u32";  // "v_bfe_u32_e64"
    1627           0 :               return;
    1628             :             }
    1629             :             break;
    1630           0 :           case 'i':      // 1 string to match.
    1631           0 :             if (memcmp(Mnemonic.data()+5, "_b32_e64", 8) != 0)
    1632             :               break;
    1633           0 :             Mnemonic = "v_bfi_b32";    // "v_bfi_b32_e64"
    1634           0 :             return;
    1635           0 :           case 'm':      // 1 string to match.
    1636           0 :             if (memcmp(Mnemonic.data()+5, "_b32_e64", 8) != 0)
    1637             :               break;
    1638           0 :             Mnemonic = "v_bfm_b32";    // "v_bfm_b32_e64"
    1639           0 :             return;
    1640             :           }
    1641             :           break;
    1642       10058 :         case 'c':        // 3 strings to match.
    1643       20116 :           switch (Mnemonic[3]) {
    1644             :           default: break;
    1645           0 :           case 'l':      // 1 string to match.
    1646           0 :             if (memcmp(Mnemonic.data()+4, "rexcp_e64", 9) != 0)
    1647             :               break;
    1648           0 :             Mnemonic = "v_clrexcp";    // "v_clrexcp_e64"
    1649           0 :             return;
    1650           0 :           case 'o':      // 2 strings to match.
    1651           0 :             if (memcmp(Mnemonic.data()+4, "s_f", 3) != 0)
    1652             :               break;
    1653           0 :             switch (Mnemonic[7]) {
    1654             :             default: break;
    1655           0 :             case '1':    // 1 string to match.
    1656           0 :               if (memcmp(Mnemonic.data()+8, "6_e64", 5) != 0)
    1657             :                 break;
    1658           0 :               Mnemonic = "v_cos_f16";  // "v_cos_f16_e64"
    1659           0 :               return;
    1660           0 :             case '3':    // 1 string to match.
    1661           0 :               if (memcmp(Mnemonic.data()+8, "2_e64", 5) != 0)
    1662             :                 break;
    1663           0 :               Mnemonic = "v_cos_f32";  // "v_cos_f32_e64"
    1664           0 :               return;
    1665             :             }
    1666             :             break;
    1667             :           }
    1668             :           break;
    1669           0 :         case 'e':        // 2 strings to match.
    1670           0 :           if (memcmp(Mnemonic.data()+3, "xp_f", 4) != 0)
    1671             :             break;
    1672           0 :           switch (Mnemonic[7]) {
    1673             :           default: break;
    1674           0 :           case '1':      // 1 string to match.
    1675           0 :             if (memcmp(Mnemonic.data()+8, "6_e64", 5) != 0)
    1676             :               break;
    1677           0 :             Mnemonic = "v_exp_f16";    // "v_exp_f16_e64"
    1678           0 :             return;
    1679           0 :           case '3':      // 1 string to match.
    1680           0 :             if (memcmp(Mnemonic.data()+8, "2_e64", 5) != 0)
    1681             :               break;
    1682           0 :             Mnemonic = "v_exp_f32";    // "v_exp_f32_e64"
    1683           0 :             return;
    1684             :           }
    1685             :           break;
    1686           0 :         case 'f':        // 3 strings to match.
    1687           0 :           if (memcmp(Mnemonic.data()+3, "ma_f", 4) != 0)
    1688             :             break;
    1689           0 :           switch (Mnemonic[7]) {
    1690             :           default: break;
    1691           0 :           case '1':      // 1 string to match.
    1692           0 :             if (memcmp(Mnemonic.data()+8, "6_e64", 5) != 0)
    1693             :               break;
    1694           0 :             Mnemonic = "v_fma_f16";    // "v_fma_f16_e64"
    1695           0 :             return;
    1696           0 :           case '3':      // 1 string to match.
    1697           0 :             if (memcmp(Mnemonic.data()+8, "2_e64", 5) != 0)
    1698             :               break;
    1699           0 :             Mnemonic = "v_fma_f32";    // "v_fma_f32_e64"
    1700           0 :             return;
    1701           0 :           case '6':      // 1 string to match.
    1702           0 :             if (memcmp(Mnemonic.data()+8, "4_e64", 5) != 0)
    1703             :               break;
    1704           0 :             Mnemonic = "v_fma_f64";    // "v_fma_f64_e64"
    1705           0 :             return;
    1706             :           }
    1707             :           break;
    1708         577 :         case 'l':        // 3 strings to match.
    1709        1154 :           switch (Mnemonic[3]) {
    1710             :           default: break;
    1711           0 :           case 'e':      // 1 string to match.
    1712           0 :             if (memcmp(Mnemonic.data()+4, "rp_u8_e64", 9) != 0)
    1713             :               break;
    1714           0 :             Mnemonic = "v_lerp_u8";    // "v_lerp_u8_e64"
    1715           0 :             return;
    1716           0 :           case 'o':      // 2 strings to match.
    1717           0 :             if (memcmp(Mnemonic.data()+4, "g_f", 3) != 0)
    1718             :               break;
    1719           0 :             switch (Mnemonic[7]) {
    1720             :             default: break;
    1721           0 :             case '1':    // 1 string to match.
    1722           0 :               if (memcmp(Mnemonic.data()+8, "6_e64", 5) != 0)
    1723             :                 break;
    1724           0 :               Mnemonic = "v_log_f16";  // "v_log_f16_e64"
    1725           0 :               return;
    1726           0 :             case '3':    // 1 string to match.
    1727           0 :               if (memcmp(Mnemonic.data()+8, "2_e64", 5) != 0)
    1728             :                 break;
    1729           0 :               Mnemonic = "v_log_f32";  // "v_log_f32_e64"
    1730           0 :               return;
    1731             :             }
    1732             :             break;
    1733             :           }
    1734             :           break;
    1735        1224 :         case 'm':        // 25 strings to match.
    1736        2448 :           switch (Mnemonic[3]) {
    1737             :           default: break;
    1738         818 :           case 'a':      // 13 strings to match.
    1739        1636 :             switch (Mnemonic[4]) {
    1740             :             default: break;
    1741           0 :             case 'c':    // 2 strings to match.
    1742           0 :               if (memcmp(Mnemonic.data()+5, "_f", 2) != 0)
    1743             :                 break;
    1744           0 :               switch (Mnemonic[7]) {
    1745             :               default: break;
    1746           0 :               case '1':  // 1 string to match.
    1747           0 :                 if (memcmp(Mnemonic.data()+8, "6_e64", 5) != 0)
    1748             :                   break;
    1749           0 :                 Mnemonic = "v_mac_f16";        // "v_mac_f16_e64"
    1750           0 :                 return;
    1751           0 :               case '3':  // 1 string to match.
    1752           0 :                 if (memcmp(Mnemonic.data()+8, "2_e64", 5) != 0)
    1753             :                   break;
    1754           0 :                 Mnemonic = "v_mac_f32";        // "v_mac_f32_e64"
    1755           0 :                 return;
    1756             :               }
    1757             :               break;
    1758         818 :             case 'd':    // 4 strings to match.
    1759        1636 :               if (Mnemonic[5] != '_')
    1760             :                 break;
    1761        1636 :               switch (Mnemonic[6]) {
    1762             :               default: break;
    1763           0 :               case 'f':  // 2 strings to match.
    1764           0 :                 switch (Mnemonic[7]) {
    1765             :                 default: break;
    1766           0 :                 case '1':        // 1 string to match.
    1767           0 :                   if (memcmp(Mnemonic.data()+8, "6_e64", 5) != 0)
    1768             :                     break;
    1769           0 :                   Mnemonic = "v_mad_f16";      // "v_mad_f16_e64"
    1770           0 :                   return;
    1771           0 :                 case '3':        // 1 string to match.
    1772           0 :                   if (memcmp(Mnemonic.data()+8, "2_e64", 5) != 0)
    1773             :                     break;
    1774           0 :                   Mnemonic = "v_mad_f32";      // "v_mad_f32_e64"
    1775           0 :                   return;
    1776             :                 }
    1777             :                 break;
    1778         397 :               case 'i':  // 1 string to match.
    1779         397 :                 if (memcmp(Mnemonic.data()+7, "16_e64", 6) != 0)
    1780             :                   break;
    1781           0 :                 Mnemonic = "v_mad_i16";        // "v_mad_i16_e64"
    1782           0 :                 return;
    1783         401 :               case 'u':  // 1 string to match.
    1784         401 :                 if (memcmp(Mnemonic.data()+7, "16_e64", 6) != 0)
    1785             :                   break;
    1786           0 :                 Mnemonic = "v_mad_u16";        // "v_mad_u16_e64"
    1787           0 :                 return;
    1788             :               }
    1789             :               break;
    1790           0 :             case 'x':    // 7 strings to match.
    1791           0 :               if (Mnemonic[5] != '_')
    1792             :                 break;
    1793           0 :               switch (Mnemonic[6]) {
    1794             :               default: break;
    1795           0 :               case 'f':  // 3 strings to match.
    1796           0 :                 switch (Mnemonic[7]) {
    1797             :                 default: break;
    1798           0 :                 case '1':        // 1 string to match.
    1799           0 :                   if (memcmp(Mnemonic.data()+8, "6_e64", 5) != 0)
    1800             :                     break;
    1801           0 :                   Mnemonic = "v_max_f16";      // "v_max_f16_e64"
    1802           0 :                   return;
    1803           0 :                 case '3':        // 1 string to match.
    1804           0 :                   if (memcmp(Mnemonic.data()+8, "2_e64", 5) != 0)
    1805             :                     break;
    1806           0 :                   Mnemonic = "v_max_f32";      // "v_max_f32_e64"
    1807           0 :                   return;
    1808           0 :                 case '6':        // 1 string to match.
    1809           0 :                   if (memcmp(Mnemonic.data()+8, "4_e64", 5) != 0)
    1810             :                     break;
    1811           0 :                   Mnemonic = "v_max_f64";      // "v_max_f64_e64"
    1812           0 :                   return;
    1813             :                 }
    1814             :                 break;
    1815           0 :               case 'i':  // 2 strings to match.
    1816           0 :                 switch (Mnemonic[7]) {
    1817             :                 default: break;
    1818           0 :                 case '1':        // 1 string to match.
    1819           0 :                   if (memcmp(Mnemonic.data()+8, "6_e64", 5) != 0)
    1820             :                     break;
    1821           0 :                   Mnemonic = "v_max_i16";      // "v_max_i16_e64"
    1822           0 :                   return;
    1823           0 :                 case '3':        // 1 string to match.
    1824           0 :                   if (memcmp(Mnemonic.data()+8, "2_e64", 5) != 0)
    1825             :                     break;
    1826           0 :                   Mnemonic = "v_max_i32";      // "v_max_i32_e64"
    1827           0 :                   return;
    1828             :                 }
    1829             :                 break;
    1830           0 :               case 'u':  // 2 strings to match.
    1831           0 :                 switch (Mnemonic[7]) {
    1832             :                 default: break;
    1833           0 :                 case '1':        // 1 string to match.
    1834           0 :                   if (memcmp(Mnemonic.data()+8, "6_e64", 5) != 0)
    1835             :                     break;
    1836           0 :                   Mnemonic = "v_max_u16";      // "v_max_u16_e64"
    1837           0 :                   return;
    1838           0 :                 case '3':        // 1 string to match.
    1839           0 :                   if (memcmp(Mnemonic.data()+8, "2_e64", 5) != 0)
    1840             :                     break;
    1841           0 :                   Mnemonic = "v_max_u32";      // "v_max_u32_e64"
    1842           0 :                   return;
    1843             :                 }
    1844             :                 break;
    1845             :               }
    1846             :               break;
    1847             :             }
    1848             :             break;
    1849           0 :           case 'i':      // 7 strings to match.
    1850           0 :             if (memcmp(Mnemonic.data()+4, "n_", 2) != 0)
    1851             :               break;
    1852           0 :             switch (Mnemonic[6]) {
    1853             :             default: break;
    1854           0 :             case 'f':    // 3 strings to match.
    1855           0 :               switch (Mnemonic[7]) {
    1856             :               default: break;
    1857           0 :               case '1':  // 1 string to match.
    1858           0 :                 if (memcmp(Mnemonic.data()+8, "6_e64", 5) != 0)
    1859             :                   break;
    1860           0 :                 Mnemonic = "v_min_f16";        // "v_min_f16_e64"
    1861           0 :                 return;
    1862           0 :               case '3':  // 1 string to match.
    1863           0 :                 if (memcmp(Mnemonic.data()+8, "2_e64", 5) != 0)
    1864             :                   break;
    1865           0 :                 Mnemonic = "v_min_f32";        // "v_min_f32_e64"
    1866           0 :                 return;
    1867           0 :               case '6':  // 1 string to match.
    1868           0 :                 if (memcmp(Mnemonic.data()+8, "4_e64", 5) != 0)
    1869             :                   break;
    1870           0 :                 Mnemonic = "v_min_f64";        // "v_min_f64_e64"
    1871           0 :                 return;
    1872             :               }
    1873             :               break;
    1874           0 :             case 'i':    // 2 strings to match.
    1875           0 :               switch (Mnemonic[7]) {
    1876             :               default: break;
    1877           0 :               case '1':  // 1 string to match.
    1878           0 :                 if (memcmp(Mnemonic.data()+8, "6_e64", 5) != 0)
    1879             :                   break;
    1880           0 :                 Mnemonic = "v_min_i16";        // "v_min_i16_e64"
    1881           0 :                 return;
    1882           0 :               case '3':  // 1 string to match.
    1883           0 :                 if (memcmp(Mnemonic.data()+8, "2_e64", 5) != 0)
    1884             :                   break;
    1885           0 :                 Mnemonic = "v_min_i32";        // "v_min_i32_e64"
    1886           0 :                 return;
    1887             :               }
    1888             :               break;
    1889           0 :             case 'u':    // 2 strings to match.
    1890           0 :               switch (Mnemonic[7]) {
    1891             :               default: break;
    1892           0 :               case '1':  // 1 string to match.
    1893           0 :                 if (memcmp(Mnemonic.data()+8, "6_e64", 5) != 0)
    1894             :                   break;
    1895           0 :                 Mnemonic = "v_min_u16";        // "v_min_u16_e64"
    1896           0 :                 return;
    1897           0 :               case '3':  // 1 string to match.
    1898           0 :                 if (memcmp(Mnemonic.data()+8, "2_e64", 5) != 0)
    1899             :                   break;
    1900           0 :                 Mnemonic = "v_min_u32";        // "v_min_u32_e64"
    1901           0 :                 return;
    1902             :               }
    1903             :               break;
    1904             :             }
    1905             :             break;
    1906          86 :           case 'o':      // 1 string to match.
    1907          86 :             if (memcmp(Mnemonic.data()+4, "v_b32_e64", 9) != 0)
    1908             :               break;
    1909           0 :             Mnemonic = "v_mov_b32";    // "v_mov_b32_e64"
    1910           0 :             return;
    1911           0 :           case 's':      // 1 string to match.
    1912           0 :             if (memcmp(Mnemonic.data()+4, "ad_u8_e64", 9) != 0)
    1913             :               break;
    1914           0 :             Mnemonic = "v_msad_u8";    // "v_msad_u8_e64"
    1915           0 :             return;
    1916         320 :           case 'u':      // 3 strings to match.
    1917         320 :             if (memcmp(Mnemonic.data()+4, "l_f", 3) != 0)
    1918             :               break;
    1919           0 :             switch (Mnemonic[7]) {
    1920             :             default: break;
    1921           0 :             case '1':    // 1 string to match.
    1922           0 :               if (memcmp(Mnemonic.data()+8, "6_e64", 5) != 0)
    1923             :                 break;
    1924           0 :               Mnemonic = "v_mul_f16";  // "v_mul_f16_e64"
    1925           0 :               return;
    1926           0 :             case '3':    // 1 string to match.
    1927           0 :               if (memcmp(Mnemonic.data()+8, "2_e64", 5) != 0)
    1928             :                 break;
    1929           0 :               Mnemonic = "v_mul_f32";  // "v_mul_f32_e64"
    1930           0 :               return;
    1931           0 :             case '6':    // 1 string to match.
    1932           0 :               if (memcmp(Mnemonic.data()+8, "4_e64", 5) != 0)
    1933             :                 break;
    1934           0 :               Mnemonic = "v_mul_f64";  // "v_mul_f64_e64"
    1935           0 :               return;
    1936             :             }
    1937             :             break;
    1938             :           }
    1939             :           break;
    1940           0 :         case 'n':        // 1 string to match.
    1941           0 :           if (memcmp(Mnemonic.data()+3, "ot_b32_e64", 10) != 0)
    1942             :             break;
    1943           0 :           Mnemonic = "v_not_b32";      // "v_not_b32_e64"
    1944           0 :           return;
    1945           0 :         case 'o':        // 1 string to match.
    1946           0 :           if (memcmp(Mnemonic.data()+3, "r3_b32_e64", 10) != 0)
    1947             :             break;
    1948           0 :           Mnemonic = "v_or3_b32";      // "v_or3_b32_e64"
    1949           0 :           return;
    1950           0 :         case 'r':        // 6 strings to match.
    1951           0 :           switch (Mnemonic[3]) {
    1952             :           default: break;
    1953           0 :           case 'c':      // 3 strings to match.
    1954           0 :             if (memcmp(Mnemonic.data()+4, "p_f", 3) != 0)
    1955             :               break;
    1956           0 :             switch (Mnemonic[7]) {
    1957             :             default: break;
    1958           0 :             case '1':    // 1 string to match.
    1959           0 :               if (memcmp(Mnemonic.data()+8, "6_e64", 5) != 0)
    1960             :                 break;
    1961           0 :               Mnemonic = "v_rcp_f16";  // "v_rcp_f16_e64"
    1962           0 :               return;
    1963           0 :             case '3':    // 1 string to match.
    1964           0 :               if (memcmp(Mnemonic.data()+8, "2_e64", 5) != 0)
    1965             :                 break;
    1966           0 :               Mnemonic = "v_rcp_f32";  // "v_rcp_f32_e64"
    1967           0 :               return;
    1968           0 :             case '6':    // 1 string to match.
    1969           0 :               if (memcmp(Mnemonic.data()+8, "4_e64", 5) != 0)
    1970             :                 break;
    1971           0 :               Mnemonic = "v_rcp_f64";  // "v_rcp_f64_e64"
    1972           0 :               return;
    1973             :             }
    1974             :             break;
    1975           0 :           case 's':      // 3 strings to match.
    1976           0 :             if (memcmp(Mnemonic.data()+4, "q_f", 3) != 0)
    1977             :               break;
    1978           0 :             switch (Mnemonic[7]) {
    1979             :             default: break;
    1980           0 :             case '1':    // 1 string to match.
    1981           0 :               if (memcmp(Mnemonic.data()+8, "6_e64", 5) != 0)
    1982             :                 break;
    1983           0 :               Mnemonic = "v_rsq_f16";  // "v_rsq_f16_e64"
    1984           0 :               return;
    1985           0 :             case '3':    // 1 string to match.
    1986           0 :               if (memcmp(Mnemonic.data()+8, "2_e64", 5) != 0)
    1987             :                 break;
    1988           0 :               Mnemonic = "v_rsq_f32";  // "v_rsq_f32_e64"
    1989           0 :               return;
    1990           0 :             case '6':    // 1 string to match.
    1991           0 :               if (memcmp(Mnemonic.data()+8, "4_e64", 5) != 0)
    1992             :                 break;
    1993           0 :               Mnemonic = "v_rsq_f64";  // "v_rsq_f64_e64"
    1994           0 :               return;
    1995             :             }
    1996             :             break;
    1997             :           }
    1998             :           break;
    1999          64 :         case 's':        // 10 strings to match.
    2000         128 :           switch (Mnemonic[3]) {
    2001             :           default: break;
    2002           0 :           case 'a':      // 2 strings to match.
    2003           0 :             if (memcmp(Mnemonic.data()+4, "d_u", 3) != 0)
    2004             :               break;
    2005           0 :             switch (Mnemonic[7]) {
    2006             :             default: break;
    2007           0 :             case '1':    // 1 string to match.
    2008           0 :               if (memcmp(Mnemonic.data()+8, "6_e64", 5) != 0)
    2009             :                 break;
    2010           0 :               Mnemonic = "v_sad_u16";  // "v_sad_u16_e64"
    2011           0 :               return;
    2012           0 :             case '3':    // 1 string to match.
    2013           0 :               if (memcmp(Mnemonic.data()+8, "2_e64", 5) != 0)
    2014             :                 break;
    2015           0 :               Mnemonic = "v_sad_u32";  // "v_sad_u32_e64"
    2016           0 :               return;
    2017             :             }
    2018             :             break;
    2019           0 :           case 'i':      // 2 strings to match.
    2020           0 :             if (memcmp(Mnemonic.data()+4, "n_f", 3) != 0)
    2021             :               break;
    2022           0 :             switch (Mnemonic[7]) {
    2023             :             default: break;
    2024           0 :             case '1':    // 1 string to match.
    2025           0 :               if (memcmp(Mnemonic.data()+8, "6_e64", 5) != 0)
    2026             :                 break;
    2027           0 :               Mnemonic = "v_sin_f16";  // "v_sin_f16_e64"
    2028           0 :               return;
    2029           0 :             case '3':    // 1 string to match.
    2030           0 :               if (memcmp(Mnemonic.data()+8, "2_e64", 5) != 0)
    2031             :                 break;
    2032           0 :               Mnemonic = "v_sin_f32";  // "v_sin_f32_e64"
    2033           0 :               return;
    2034             :             }
    2035             :             break;
    2036          64 :           case 'u':      // 6 strings to match.
    2037          64 :             if (memcmp(Mnemonic.data()+4, "b_", 2) != 0)
    2038             :               break;
    2039           0 :             switch (Mnemonic[6]) {
    2040             :             default: break;
    2041           0 :             case 'f':    // 2 strings to match.
    2042           0 :               switch (Mnemonic[7]) {
    2043             :               default: break;
    2044           0 :               case '1':  // 1 string to match.
    2045           0 :                 if (memcmp(Mnemonic.data()+8, "6_e64", 5) != 0)
    2046             :                   break;
    2047           0 :                 Mnemonic = "v_sub_f16";        // "v_sub_f16_e64"
    2048           0 :                 return;
    2049           0 :               case '3':  // 1 string to match.
    2050           0 :                 if (memcmp(Mnemonic.data()+8, "2_e64", 5) != 0)
    2051             :                   break;
    2052           0 :                 Mnemonic = "v_sub_f32";        // "v_sub_f32_e64"
    2053           0 :                 return;
    2054             :               }
    2055             :               break;
    2056           0 :             case 'i':    // 2 strings to match.
    2057           0 :               switch (Mnemonic[7]) {
    2058             :               default: break;
    2059           0 :               case '1':  // 1 string to match.
    2060           0 :                 if (memcmp(Mnemonic.data()+8, "6_e64", 5) != 0)
    2061             :                   break;
    2062           0 :                 Mnemonic = "v_sub_i16";        // "v_sub_i16_e64"
    2063           0 :                 return;
    2064           0 :               case '3':  // 1 string to match.
    2065           0 :                 if (memcmp(Mnemonic.data()+8, "2_e64", 5) != 0)
    2066             :                   break;
    2067           0 :                 Mnemonic = "v_sub_i32";        // "v_sub_i32_e64"
    2068           0 :                 return;
    2069             :               }
    2070             :               break;
    2071           0 :             case 'u':    // 2 strings to match.
    2072           0 :               switch (Mnemonic[7]) {
    2073             :               default: break;
    2074           0 :               case '1':  // 1 string to match.
    2075           0 :                 if (memcmp(Mnemonic.data()+8, "6_e64", 5) != 0)
    2076             :                   break;
    2077           0 :                 Mnemonic = "v_sub_u16";        // "v_sub_u16_e64"
    2078           0 :                 return;
    2079           0 :               case '3':  // 1 string to match.
    2080           0 :                 if (memcmp(Mnemonic.data()+8, "2_e64", 5) != 0)
    2081             :                   break;
    2082           0 :                 Mnemonic = "v_sub_u32";        // "v_sub_u32_e64"
    2083           0 :                 return;
    2084             :               }
    2085             :               break;
    2086             :             }
    2087             :             break;
    2088             :           }
    2089             :           break;
    2090           0 :         case 'x':        // 2 strings to match.
    2091           0 :           switch (Mnemonic[3]) {
    2092             :           default: break;
    2093           0 :           case 'a':      // 1 string to match.
    2094           0 :             if (memcmp(Mnemonic.data()+4, "d_u32_e64", 9) != 0)
    2095             :               break;
    2096           0 :             Mnemonic = "v_xad_u32";    // "v_xad_u32_e64"
    2097           0 :             return;
    2098           0 :           case 'o':      // 1 string to match.
    2099           0 :             if (memcmp(Mnemonic.data()+4, "r_b32_e64", 9) != 0)
    2100             :               break;
    2101           0 :             Mnemonic = "v_xor_b32";    // "v_xor_b32_e64"
    2102           0 :             return;
    2103             :           }
    2104             :           break;
    2105             :         }
    2106             :         break;
    2107        4264 :       case 14:   // 37 strings to match.
    2108        4264 :         if (memcmp(Mnemonic.data()+0, "v_", 2) != 0)
    2109             :           break;
    2110        8482 :         switch (Mnemonic[2]) {
    2111             :         default: break;
    2112         198 :         case 'a':        // 4 strings to match.
    2113         396 :           switch (Mnemonic[3]) {
    2114             :           default: break;
    2115          48 :           case 'd':      // 2 strings to match.
    2116          96 :             if (Mnemonic[4] != 'd')
    2117             :               break;
    2118          96 :             switch (Mnemonic[5]) {
    2119             :             default: break;
    2120           0 :             case '3':    // 1 string to match.
    2121           0 :               if (memcmp(Mnemonic.data()+6, "_u32_e64", 8) != 0)
    2122             :                 break;
    2123           0 :               Mnemonic = "v_add3_u32";         // "v_add3_u32_e64"
    2124           0 :               return;
    2125           0 :             case 'c':    // 1 string to match.
    2126           0 :               if (memcmp(Mnemonic.data()+6, "_u32_e64", 8) != 0)
    2127             :                 break;
    2128           0 :               Mnemonic = "v_addc_u32";         // "v_addc_u32_e64"
    2129           0 :               return;
    2130             :             }
    2131             :             break;
    2132           0 :           case 's':      // 2 strings to match.
    2133           0 :             if (memcmp(Mnemonic.data()+4, "hr_i", 4) != 0)
    2134             :               break;
    2135           0 :             switch (Mnemonic[8]) {
    2136             :             default: break;
    2137           0 :             case '3':    // 1 string to match.
    2138           0 :               if (memcmp(Mnemonic.data()+9, "2_e64", 5) != 0)
    2139             :                 break;
    2140           0 :               Mnemonic = "v_ashr_i32";         // "v_ashr_i32_e64"
    2141           0 :               return;
    2142           0 :             case '6':    // 1 string to match.
    2143           0 :               if (memcmp(Mnemonic.data()+9, "4_e64", 5) != 0)
    2144             :                 break;
    2145           0 :               Mnemonic = "v_ashr_i64";         // "v_ashr_i64_e64"
    2146           0 :               return;
    2147             :             }
    2148             :             break;
    2149             :           }
    2150             :           break;
    2151        3510 :         case 'c':        // 3 strings to match.
    2152        3510 :           if (memcmp(Mnemonic.data()+3, "eil_f", 5) != 0)
    2153             :             break;
    2154           0 :           switch (Mnemonic[8]) {
    2155             :           default: break;
    2156           0 :           case '1':      // 1 string to match.
    2157           0 :             if (memcmp(Mnemonic.data()+9, "6_e64", 5) != 0)
    2158             :               break;
    2159           0 :             Mnemonic = "v_ceil_f16";   // "v_ceil_f16_e64"
    2160           0 :             return;
    2161           0 :           case '3':      // 1 string to match.
    2162           0 :             if (memcmp(Mnemonic.data()+9, "2_e64", 5) != 0)
    2163             :               break;
    2164           0 :             Mnemonic = "v_ceil_f32";   // "v_ceil_f32_e64"
    2165           0 :             return;
    2166           0 :           case '6':      // 1 string to match.
    2167           0 :             if (memcmp(Mnemonic.data()+9, "4_e64", 5) != 0)
    2168             :               break;
    2169           0 :             Mnemonic = "v_ceil_f64";   // "v_ceil_f64_e64"
    2170           0 :             return;
    2171             :           }
    2172             :           break;
    2173           0 :         case 'f':        // 3 strings to match.
    2174           0 :           if (memcmp(Mnemonic.data()+3, "fb", 2) != 0)
    2175             :             break;
    2176           0 :           switch (Mnemonic[5]) {
    2177             :           default: break;
    2178           0 :           case 'h':      // 2 strings to match.
    2179           0 :             if (Mnemonic[6] != '_')
    2180             :               break;
    2181           0 :             switch (Mnemonic[7]) {
    2182             :             default: break;
    2183           0 :             case 'i':    // 1 string to match.
    2184           0 :               if (memcmp(Mnemonic.data()+8, "32_e64", 6) != 0)
    2185             :                 break;
    2186           0 :               Mnemonic = "v_ffbh_i32";         // "v_ffbh_i32_e64"
    2187           0 :               return;
    2188           0 :             case 'u':    // 1 string to match.
    2189           0 :               if (memcmp(Mnemonic.data()+8, "32_e64", 6) != 0)
    2190             :                 break;
    2191           0 :               Mnemonic = "v_ffbh_u32";         // "v_ffbh_u32_e64"
    2192           0 :               return;
    2193             :             }
    2194             :             break;
    2195           0 :           case 'l':      // 1 string to match.
    2196           0 :             if (memcmp(Mnemonic.data()+6, "_b32_e64", 8) != 0)
    2197             :               break;
    2198           0 :             Mnemonic = "v_ffbl_b32";   // "v_ffbl_b32_e64"
    2199           0 :             return;
    2200             :           }
    2201             :           break;
    2202          48 :         case 'l':        // 4 strings to match.
    2203          48 :           if (memcmp(Mnemonic.data()+3, "sh", 2) != 0)
    2204             :             break;
    2205          96 :           switch (Mnemonic[5]) {
    2206             :           default: break;
    2207          48 :           case 'l':      // 2 strings to match.
    2208          48 :             if (memcmp(Mnemonic.data()+6, "_b", 2) != 0)
    2209             :               break;
    2210           0 :             switch (Mnemonic[8]) {
    2211             :             default: break;
    2212           0 :             case '3':    // 1 string to match.
    2213           0 :               if (memcmp(Mnemonic.data()+9, "2_e64", 5) != 0)
    2214             :                 break;
    2215           0 :               Mnemonic = "v_lshl_b32";         // "v_lshl_b32_e64"
    2216           0 :               return;
    2217           0 :             case '6':    // 1 string to match.
    2218           0 :               if (memcmp(Mnemonic.data()+9, "4_e64", 5) != 0)
    2219             :                 break;
    2220           0 :               Mnemonic = "v_lshl_b64";         // "v_lshl_b64_e64"
    2221           0 :               return;
    2222             :             }
    2223             :             break;
    2224           0 :           case 'r':      // 2 strings to match.
    2225           0 :             if (memcmp(Mnemonic.data()+6, "_b", 2) != 0)
    2226             :               break;
    2227           0 :             switch (Mnemonic[8]) {
    2228             :             default: break;
    2229           0 :             case '3':    // 1 string to match.
    2230           0 :               if (memcmp(Mnemonic.data()+9, "2_e64", 5) != 0)
    2231             :                 break;
    2232           0 :               Mnemonic = "v_lshr_b32";         // "v_lshr_b32_e64"
    2233           0 :               return;
    2234           0 :             case '6':    // 1 string to match.
    2235           0 :               if (memcmp(Mnemonic.data()+9, "4_e64", 5) != 0)
    2236             :                 break;
    2237           0 :               Mnemonic = "v_lshr_b64";         // "v_lshr_b64_e64"
    2238           0 :               return;
    2239             :             }
    2240             :             break;
    2241             :           }
    2242             :           break;
    2243         106 :         case 'm':        // 18 strings to match.
    2244         212 :           switch (Mnemonic[3]) {
    2245             :           default: break;
    2246           0 :           case 'a':      // 6 strings to match.
    2247           0 :             if (memcmp(Mnemonic.data()+4, "x3_", 3) != 0)
    2248             :               break;
    2249           0 :             switch (Mnemonic[7]) {
    2250             :             default: break;
    2251           0 :             case 'f':    // 2 strings to match.
    2252           0 :               switch (Mnemonic[8]) {
    2253             :               default: break;
    2254           0 :               case '1':  // 1 string to match.
    2255           0 :                 if (memcmp(Mnemonic.data()+9, "6_e64", 5) != 0)
    2256             :                   break;
    2257           0 :                 Mnemonic = "v_max3_f16";       // "v_max3_f16_e64"
    2258           0 :                 return;
    2259           0 :               case '3':  // 1 string to match.
    2260           0 :                 if (memcmp(Mnemonic.data()+9, "2_e64", 5) != 0)
    2261             :                   break;
    2262           0 :                 Mnemonic = "v_max3_f32";       // "v_max3_f32_e64"
    2263           0 :                 return;
    2264             :               }
    2265             :               break;
    2266           0 :             case 'i':    // 2 strings to match.
    2267           0 :               switch (Mnemonic[8]) {
    2268             :               default: break;
    2269           0 :               case '1':  // 1 string to match.
    2270           0 :                 if (memcmp(Mnemonic.data()+9, "6_e64", 5) != 0)
    2271             :                   break;
    2272           0 :                 Mnemonic = "v_max3_i16";       // "v_max3_i16_e64"
    2273           0 :                 return;
    2274           0 :               case '3':  // 1 string to match.
    2275           0 :                 if (memcmp(Mnemonic.data()+9, "2_e64", 5) != 0)
    2276             :                   break;
    2277           0 :                 Mnemonic = "v_max3_i32";       // "v_max3_i32_e64"
    2278           0 :                 return;
    2279             :               }
    2280             :               break;
    2281           0 :             case 'u':    // 2 strings to match.
    2282           0 :               switch (Mnemonic[8]) {
    2283             :               default: break;
    2284           0 :               case '1':  // 1 string to match.
    2285           0 :                 if (memcmp(Mnemonic.data()+9, "6_e64", 5) != 0)
    2286             :                   break;
    2287           0 :                 Mnemonic = "v_max3_u16";       // "v_max3_u16_e64"
    2288           0 :                 return;
    2289           0 :               case '3':  // 1 string to match.
    2290           0 :                 if (memcmp(Mnemonic.data()+9, "2_e64", 5) != 0)
    2291             :                   break;
    2292           0 :                 Mnemonic = "v_max3_u32";       // "v_max3_u32_e64"
    2293           0 :                 return;
    2294             :               }
    2295             :               break;
    2296             :             }
    2297             :             break;
    2298           0 :           case 'e':      // 6 strings to match.
    2299           0 :             if (memcmp(Mnemonic.data()+4, "d3_", 3) != 0)
    2300             :               break;
    2301           0 :             switch (Mnemonic[7]) {
    2302             :             default: break;
    2303           0 :             case 'f':    // 2 strings to match.
    2304           0 :               switch (Mnemonic[8]) {
    2305             :               default: break;
    2306           0 :               case '1':  // 1 string to match.
    2307           0 :                 if (memcmp(Mnemonic.data()+9, "6_e64", 5) != 0)
    2308             :                   break;
    2309           0 :                 Mnemonic = "v_med3_f16";       // "v_med3_f16_e64"
    2310           0 :                 return;
    2311           0 :               case '3':  // 1 string to match.
    2312           0 :                 if (memcmp(Mnemonic.data()+9, "2_e64", 5) != 0)
    2313             :                   break;
    2314           0 :                 Mnemonic = "v_med3_f32";       // "v_med3_f32_e64"
    2315           0 :                 return;
    2316             :               }
    2317             :               break;
    2318           0 :             case 'i':    // 2 strings to match.
    2319           0 :               switch (Mnemonic[8]) {
    2320             :               default: break;
    2321           0 :               case '1':  // 1 string to match.
    2322           0 :                 if (memcmp(Mnemonic.data()+9, "6_e64", 5) != 0)
    2323             :                   break;
    2324           0 :                 Mnemonic = "v_med3_i16";       // "v_med3_i16_e64"
    2325           0 :                 return;
    2326           0 :               case '3':  // 1 string to match.
    2327           0 :                 if (memcmp(Mnemonic.data()+9, "2_e64", 5) != 0)
    2328             :                   break;
    2329           0 :                 Mnemonic = "v_med3_i32";       // "v_med3_i32_e64"
    2330           0 :                 return;
    2331             :               }
    2332             :               break;
    2333           0 :             case 'u':    // 2 strings to match.
    2334           0 :               switch (Mnemonic[8]) {
    2335             :               default: break;
    2336           0 :               case '1':  // 1 string to match.
    2337           0 :                 if (memcmp(Mnemonic.data()+9, "6_e64", 5) != 0)
    2338             :                   break;
    2339           0 :                 Mnemonic = "v_med3_u16";       // "v_med3_u16_e64"
    2340           0 :                 return;
    2341           0 :               case '3':  // 1 string to match.
    2342           0 :                 if (memcmp(Mnemonic.data()+9, "2_e64", 5) != 0)
    2343             :                   break;
    2344           0 :                 Mnemonic = "v_med3_u32";       // "v_med3_u32_e64"
    2345           0 :                 return;
    2346             :               }
    2347             :               break;
    2348             :             }
    2349             :             break;
    2350           0 :           case 'i':      // 6 strings to match.
    2351           0 :             if (memcmp(Mnemonic.data()+4, "n3_", 3) != 0)
    2352             :               break;
    2353           0 :             switch (Mnemonic[7]) {
    2354             :             default: break;
    2355           0 :             case 'f':    // 2 strings to match.
    2356           0 :               switch (Mnemonic[8]) {
    2357             :               default: break;
    2358           0 :               case '1':  // 1 string to match.
    2359           0 :                 if (memcmp(Mnemonic.data()+9, "6_e64", 5) != 0)
    2360             :                   break;
    2361           0 :                 Mnemonic = "v_min3_f16";       // "v_min3_f16_e64"
    2362           0 :                 return;
    2363           0 :               case '3':  // 1 string to match.
    2364           0 :                 if (memcmp(Mnemonic.data()+9, "2_e64", 5) != 0)
    2365             :                   break;
    2366           0 :                 Mnemonic = "v_min3_f32";       // "v_min3_f32_e64"
    2367           0 :                 return;
    2368             :               }
    2369             :               break;
    2370           0 :             case 'i':    // 2 strings to match.
    2371           0 :               switch (Mnemonic[8]) {
    2372             :               default: break;
    2373           0 :               case '1':  // 1 string to match.
    2374           0 :                 if (memcmp(Mnemonic.data()+9, "6_e64", 5) != 0)
    2375             :                   break;
    2376           0 :                 Mnemonic = "v_min3_i16";       // "v_min3_i16_e64"
    2377           0 :                 return;
    2378           0 :               case '3':  // 1 string to match.
    2379           0 :                 if (memcmp(Mnemonic.data()+9, "2_e64", 5) != 0)
    2380             :                   break;
    2381           0 :                 Mnemonic = "v_min3_i32";       // "v_min3_i32_e64"
    2382           0 :                 return;
    2383             :               }
    2384             :               break;
    2385           0 :             case 'u':    // 2 strings to match.
    2386           0 :               switch (Mnemonic[8]) {
    2387             :               default: break;
    2388           0 :               case '1':  // 1 string to match.
    2389           0 :                 if (memcmp(Mnemonic.data()+9, "6_e64", 5) != 0)
    2390             :                   break;
    2391           0 :                 Mnemonic = "v_min3_u16";       // "v_min3_u16_e64"
    2392           0 :                 return;
    2393           0 :               case '3':  // 1 string to match.
    2394           0 :                 if (memcmp(Mnemonic.data()+9, "2_e64", 5) != 0)
    2395             :                   break;
    2396           0 :                 Mnemonic = "v_min3_u32";       // "v_min3_u32_e64"
    2397           0 :                 return;
    2398             :               }
    2399             :               break;
    2400             :             }
    2401             :             break;
    2402             :           }
    2403             :           break;
    2404          48 :         case 'p':        // 1 string to match.
    2405          48 :           if (memcmp(Mnemonic.data()+3, "erm_b32_e64", 11) != 0)
    2406             :             break;
    2407           0 :           Mnemonic = "v_perm_b32";     // "v_perm_b32_e64"
    2408           0 :           return;
    2409           0 :         case 's':        // 4 strings to match.
    2410           0 :           switch (Mnemonic[3]) {
    2411             :           default: break;
    2412           0 :           case 'q':      // 3 strings to match.
    2413           0 :             if (memcmp(Mnemonic.data()+4, "rt_f", 4) != 0)
    2414             :               break;
    2415           0 :             switch (Mnemonic[8]) {
    2416             :             default: break;
    2417           0 :             case '1':    // 1 string to match.
    2418           0 :               if (memcmp(Mnemonic.data()+9, "6_e64", 5) != 0)
    2419             :                 break;
    2420           0 :               Mnemonic = "v_sqrt_f16";         // "v_sqrt_f16_e64"
    2421           0 :               return;
    2422           0 :             case '3':    // 1 string to match.
    2423           0 :               if (memcmp(Mnemonic.data()+9, "2_e64", 5) != 0)
    2424             :                 break;
    2425           0 :               Mnemonic = "v_sqrt_f32";         // "v_sqrt_f32_e64"
    2426           0 :               return;
    2427           0 :             case '6':    // 1 string to match.
    2428           0 :               if (memcmp(Mnemonic.data()+9, "4_e64", 5) != 0)
    2429             :                 break;
    2430           0 :               Mnemonic = "v_sqrt_f64";         // "v_sqrt_f64_e64"
    2431           0 :               return;
    2432             :             }
    2433             :             break;
    2434           0 :           case 'u':      // 1 string to match.
    2435           0 :             if (memcmp(Mnemonic.data()+4, "bb_u32_e64", 10) != 0)
    2436             :               break;
    2437           0 :             Mnemonic = "v_subb_u32";   // "v_subb_u32_e64"
    2438           0 :             return;
    2439             :           }
    2440             :           break;
    2441             :         }
    2442             :         break;
    2443        2584 :       case 15:   // 38 strings to match.
    2444        2584 :         if (memcmp(Mnemonic.data()+0, "v_", 2) != 0)
    2445             :           break;
    2446        4986 :         switch (Mnemonic[2]) {
    2447             :         default: break;
    2448           0 :         case 'b':        // 1 string to match.
    2449           0 :           if (memcmp(Mnemonic.data()+3, "frev_b32_e64", 12) != 0)
    2450             :             break;
    2451           0 :           Mnemonic = "v_bfrev_b32";    // "v_bfrev_b32_e64"
    2452           0 :           return;
    2453        1128 :         case 'c':        // 21 strings to match.
    2454        1128 :           if (memcmp(Mnemonic.data()+3, "mp_", 3) != 0)
    2455             :             break;
    2456         688 :           switch (Mnemonic[6]) {
    2457             :           default: break;
    2458           0 :           case 'f':      // 9 strings to match.
    2459           0 :             if (Mnemonic[7] != '_')
    2460             :               break;
    2461           0 :             switch (Mnemonic[8]) {
    2462             :             default: break;
    2463           0 :             case 'f':    // 3 strings to match.
    2464           0 :               switch (Mnemonic[9]) {
    2465             :               default: break;
    2466           0 :               case '1':  // 1 string to match.
    2467           0 :                 if (memcmp(Mnemonic.data()+10, "6_e64", 5) != 0)
    2468             :                   break;
    2469           0 :                 Mnemonic = "v_cmp_f_f16";      // "v_cmp_f_f16_e64"
    2470           0 :                 return;
    2471           0 :               case '3':  // 1 string to match.
    2472           0 :                 if (memcmp(Mnemonic.data()+10, "2_e64", 5) != 0)
    2473             :                   break;
    2474           0 :                 Mnemonic = "v_cmp_f_f32";      // "v_cmp_f_f32_e64"
    2475           0 :                 return;
    2476           0 :               case '6':  // 1 string to match.
    2477           0 :                 if (memcmp(Mnemonic.data()+10, "4_e64", 5) != 0)
    2478             :                   break;
    2479           0 :                 Mnemonic = "v_cmp_f_f64";      // "v_cmp_f_f64_e64"
    2480           0 :                 return;
    2481             :               }
    2482             :               break;
    2483           0 :             case 'i':    // 3 strings to match.
    2484           0 :               switch (Mnemonic[9]) {
    2485             :               default: break;
    2486           0 :               case '1':  // 1 string to match.
    2487           0 :                 if (memcmp(Mnemonic.data()+10, "6_e64", 5) != 0)
    2488             :                   break;
    2489           0 :                 Mnemonic = "v_cmp_f_i16";      // "v_cmp_f_i16_e64"
    2490           0 :                 return;
    2491           0 :               case '3':  // 1 string to match.
    2492           0 :                 if (memcmp(Mnemonic.data()+10, "2_e64", 5) != 0)
    2493             :                   break;
    2494           0 :                 Mnemonic = "v_cmp_f_i32";      // "v_cmp_f_i32_e64"
    2495           0 :                 return;
    2496           0 :               case '6':  // 1 string to match.
    2497           0 :                 if (memcmp(Mnemonic.data()+10, "4_e64", 5) != 0)
    2498             :                   break;
    2499           0 :                 Mnemonic = "v_cmp_f_i64";      // "v_cmp_f_i64_e64"
    2500           0 :                 return;
    2501             :               }
    2502             :               break;
    2503           0 :             case 'u':    // 3 strings to match.
    2504           0 :               switch (Mnemonic[9]) {
    2505             :               default: break;
    2506           0 :               case '1':  // 1 string to match.
    2507           0 :                 if (memcmp(Mnemonic.data()+10, "6_e64", 5) != 0)
    2508             :                   break;
    2509           0 :                 Mnemonic = "v_cmp_f_u16";      // "v_cmp_f_u16_e64"
    2510           0 :                 return;
    2511           0 :               case '3':  // 1 string to match.
    2512           0 :                 if (memcmp(Mnemonic.data()+10, "2_e64", 5) != 0)
    2513             :                   break;
    2514           0 :                 Mnemonic = "v_cmp_f_u32";      // "v_cmp_f_u32_e64"
    2515           0 :                 return;
    2516           0 :               case '6':  // 1 string to match.
    2517           0 :                 if (memcmp(Mnemonic.data()+10, "4_e64", 5) != 0)
    2518             :                   break;
    2519           0 :                 Mnemonic = "v_cmp_f_u64";      // "v_cmp_f_u64_e64"
    2520           0 :                 return;
    2521             :               }
    2522             :               break;
    2523             :             }
    2524             :             break;
    2525           0 :           case 'o':      // 3 strings to match.
    2526           0 :             if (memcmp(Mnemonic.data()+7, "_f", 2) != 0)
    2527             :               break;
    2528           0 :             switch (Mnemonic[9]) {
    2529             :             default: break;
    2530           0 :             case '1':    // 1 string to match.
    2531           0 :               if (memcmp(Mnemonic.data()+10, "6_e64", 5) != 0)
    2532             :                 break;
    2533           0 :               Mnemonic = "v_cmp_o_f16";        // "v_cmp_o_f16_e64"
    2534           0 :               return;
    2535           0 :             case '3':    // 1 string to match.
    2536           0 :               if (memcmp(Mnemonic.data()+10, "2_e64", 5) != 0)
    2537             :                 break;
    2538           0 :               Mnemonic = "v_cmp_o_f32";        // "v_cmp_o_f32_e64"
    2539           0 :               return;
    2540           0 :             case '6':    // 1 string to match.
    2541           0 :               if (memcmp(Mnemonic.data()+10, "4_e64", 5) != 0)
    2542             :                 break;
    2543           0 :               Mnemonic = "v_cmp_o_f64";        // "v_cmp_o_f64_e64"
    2544           0 :               return;
    2545             :             }
    2546             :             break;
    2547           0 :           case 't':      // 6 strings to match.
    2548           0 :             if (Mnemonic[7] != '_')
    2549             :               break;
    2550           0 :             switch (Mnemonic[8]) {
    2551             :             default: break;
    2552           0 :             case 'i':    // 3 strings to match.
    2553           0 :               switch (Mnemonic[9]) {
    2554             :               default: break;
    2555           0 :               case '1':  // 1 string to match.
    2556           0 :                 if (memcmp(Mnemonic.data()+10, "6_e64", 5) != 0)
    2557             :                   break;
    2558           0 :                 Mnemonic = "v_cmp_t_i16";      // "v_cmp_t_i16_e64"
    2559           0 :                 return;
    2560           0 :               case '3':  // 1 string to match.
    2561           0 :                 if (memcmp(Mnemonic.data()+10, "2_e64", 5) != 0)
    2562             :                   break;
    2563           0 :                 Mnemonic = "v_cmp_t_i32";      // "v_cmp_t_i32_e64"
    2564           0 :                 return;
    2565           0 :               case '6':  // 1 string to match.
    2566           0 :                 if (memcmp(Mnemonic.data()+10, "4_e64", 5) != 0)
    2567             :                   break;
    2568           0 :                 Mnemonic = "v_cmp_t_i64";      // "v_cmp_t_i64_e64"
    2569           0 :                 return;
    2570             :               }
    2571             :               break;
    2572           0 :             case 'u':    // 3 strings to match.
    2573           0 :               switch (Mnemonic[9]) {
    2574             :               default: break;
    2575           0 :               case '1':  // 1 string to match.
    2576           0 :                 if (memcmp(Mnemonic.data()+10, "6_e64", 5) != 0)
    2577             :                   break;
    2578           0 :                 Mnemonic = "v_cmp_t_u16";      // "v_cmp_t_u16_e64"
    2579           0 :                 return;
    2580           0 :               case '3':  // 1 string to match.
    2581           0 :                 if (memcmp(Mnemonic.data()+10, "2_e64", 5) != 0)
    2582             :                   break;
    2583           0 :                 Mnemonic = "v_cmp_t_u32";      // "v_cmp_t_u32_e64"
    2584           0 :                 return;
    2585           0 :               case '6':  // 1 string to match.
    2586           0 :                 if (memcmp(Mnemonic.data()+10, "4_e64", 5) != 0)
    2587             :                   break;
    2588           0 :                 Mnemonic = "v_cmp_t_u64";      // "v_cmp_t_u64_e64"
    2589           0 :                 return;
    2590             :               }
    2591             :               break;
    2592             :             }
    2593             :             break;
    2594           0 :           case 'u':      // 3 strings to match.
    2595           0 :             if (memcmp(Mnemonic.data()+7, "_f", 2) != 0)
    2596             :               break;
    2597           0 :             switch (Mnemonic[9]) {
    2598             :             default: break;
    2599           0 :             case '1':    // 1 string to match.
    2600           0 :               if (memcmp(Mnemonic.data()+10, "6_e64", 5) != 0)
    2601             :                 break;
    2602           0 :               Mnemonic = "v_cmp_u_f16";        // "v_cmp_u_f16_e64"
    2603           0 :               return;
    2604           0 :             case '3':    // 1 string to match.
    2605           0 :               if (memcmp(Mnemonic.data()+10, "2_e64", 5) != 0)
    2606             :                 break;
    2607           0 :               Mnemonic = "v_cmp_u_f32";        // "v_cmp_u_f32_e64"
    2608           0 :               return;
    2609           0 :             case '6':    // 1 string to match.
    2610           0 :               if (memcmp(Mnemonic.data()+10, "4_e64", 5) != 0)
    2611             :                 break;
    2612           0 :               Mnemonic = "v_cmp_u_f64";        // "v_cmp_u_f64_e64"
    2613           0 :               return;
    2614             :             }
    2615             :             break;
    2616             :           }
    2617             :           break;
    2618           0 :         case 'f':        // 6 strings to match.
    2619           0 :           switch (Mnemonic[3]) {
    2620             :           default: break;
    2621           0 :           case 'l':      // 3 strings to match.
    2622           0 :             if (memcmp(Mnemonic.data()+4, "oor_f", 5) != 0)
    2623             :               break;
    2624           0 :             switch (Mnemonic[9]) {
    2625             :             default: break;
    2626           0 :             case '1':    // 1 string to match.
    2627           0 :               if (memcmp(Mnemonic.data()+10, "6_e64", 5) != 0)
    2628             :                 break;
    2629           0 :               Mnemonic = "v_floor_f16";        // "v_floor_f16_e64"
    2630           0 :               return;
    2631           0 :             case '3':    // 1 string to match.
    2632           0 :               if (memcmp(Mnemonic.data()+10, "2_e64", 5) != 0)
    2633             :                 break;
    2634           0 :               Mnemonic = "v_floor_f32";        // "v_floor_f32_e64"
    2635           0 :               return;
    2636           0 :             case '6':    // 1 string to match.
    2637           0 :               if (memcmp(Mnemonic.data()+10, "4_e64", 5) != 0)
    2638             :                 break;
    2639           0 :               Mnemonic = "v_floor_f64";        // "v_floor_f64_e64"
    2640           0 :               return;
    2641             :             }
    2642             :             break;
    2643           0 :           case 'r':      // 3 strings to match.
    2644           0 :             if (memcmp(Mnemonic.data()+4, "act_f", 5) != 0)
    2645             :               break;
    2646           0 :             switch (Mnemonic[9]) {
    2647             :             default: break;
    2648           0 :             case '1':    // 1 string to match.
    2649           0 :               if (memcmp(Mnemonic.data()+10, "6_e64", 5) != 0)
    2650             :                 break;
    2651           0 :               Mnemonic = "v_fract_f16";        // "v_fract_f16_e64"
    2652           0 :               return;
    2653           0 :             case '3':    // 1 string to match.
    2654           0 :               if (memcmp(Mnemonic.data()+10, "2_e64", 5) != 0)
    2655             :                 break;
    2656           0 :               Mnemonic = "v_fract_f32";        // "v_fract_f32_e64"
    2657           0 :               return;
    2658           0 :             case '6':    // 1 string to match.
    2659           0 :               if (memcmp(Mnemonic.data()+10, "4_e64", 5) != 0)
    2660             :                 break;
    2661           0 :               Mnemonic = "v_fract_f64";        // "v_fract_f64_e64"
    2662           0 :               return;
    2663             :             }
    2664             :             break;
    2665             :           }
    2666             :           break;
    2667          29 :         case 'l':        // 3 strings to match.
    2668          29 :           if (memcmp(Mnemonic.data()+3, "dexp_f", 6) != 0)
    2669             :             break;
    2670           0 :           switch (Mnemonic[9]) {
    2671             :           default: break;
    2672           0 :           case '1':      // 1 string to match.
    2673           0 :             if (memcmp(Mnemonic.data()+10, "6_e64", 5) != 0)
    2674             :               break;
    2675           0 :             Mnemonic = "v_ldexp_f16";  // "v_ldexp_f16_e64"
    2676           0 :             return;
    2677           0 :           case '3':      // 1 string to match.
    2678           0 :             if (memcmp(Mnemonic.data()+10, "2_e64", 5) != 0)
    2679             :               break;
    2680           0 :             Mnemonic = "v_ldexp_f32";  // "v_ldexp_f32_e64"
    2681           0 :             return;
    2682           0 :           case '6':      // 1 string to match.
    2683           0 :             if (memcmp(Mnemonic.data()+10, "4_e64", 5) != 0)
    2684             :               break;
    2685           0 :             Mnemonic = "v_ldexp_f64";  // "v_ldexp_f64_e64"
    2686           0 :             return;
    2687             :           }
    2688             :           break;
    2689         188 :         case 'r':        // 3 strings to match.
    2690         188 :           if (memcmp(Mnemonic.data()+3, "ndne_f", 6) != 0)
    2691             :             break;
    2692           0 :           switch (Mnemonic[9]) {
    2693             :           default: break;
    2694           0 :           case '1':      // 1 string to match.
    2695           0 :             if (memcmp(Mnemonic.data()+10, "6_e64", 5) != 0)
    2696             :               break;
    2697           0 :             Mnemonic = "v_rndne_f16";  // "v_rndne_f16_e64"
    2698           0 :             return;
    2699           0 :           case '3':      // 1 string to match.
    2700           0 :             if (memcmp(Mnemonic.data()+10, "2_e64", 5) != 0)
    2701             :               break;
    2702           0 :             Mnemonic = "v_rndne_f32";  // "v_rndne_f32_e64"
    2703           0 :             return;
    2704           0 :           case '6':      // 1 string to match.
    2705           0 :             if (memcmp(Mnemonic.data()+10, "4_e64", 5) != 0)
    2706             :               break;
    2707           0 :             Mnemonic = "v_rndne_f64";  // "v_rndne_f64_e64"
    2708           0 :             return;
    2709             :           }
    2710             :           break;
    2711           0 :         case 's':        // 1 string to match.
    2712           0 :           if (memcmp(Mnemonic.data()+3, "ad_hi_u8_e64", 12) != 0)
    2713             :             break;
    2714           0 :           Mnemonic = "v_sad_hi_u8";    // "v_sad_hi_u8_e64"
    2715           0 :           return;
    2716           0 :         case 't':        // 3 strings to match.
    2717           0 :           if (memcmp(Mnemonic.data()+3, "runc_f", 6) != 0)
    2718             :             break;
    2719           0 :           switch (Mnemonic[9]) {
    2720             :           default: break;
    2721           0 :           case '1':      // 1 string to match.
    2722           0 :             if (memcmp(Mnemonic.data()+10, "6_e64", 5) != 0)
    2723             :               break;
    2724           0 :             Mnemonic = "v_trunc_f16";  // "v_trunc_f16_e64"
    2725           0 :             return;
    2726           0 :           case '3':      // 1 string to match.
    2727           0 :             if (memcmp(Mnemonic.data()+10, "2_e64", 5) != 0)
    2728             :               break;
    2729           0 :             Mnemonic = "v_trunc_f32";  // "v_trunc_f32_e64"
    2730           0 :             return;
    2731           0 :           case '6':      // 1 string to match.
    2732           0 :             if (memcmp(Mnemonic.data()+10, "4_e64", 5) != 0)
    2733             :               break;
    2734           0 :             Mnemonic = "v_trunc_f64";  // "v_trunc_f64_e64"
    2735           0 :             return;
    2736             :           }
    2737             :           break;
    2738             :         }
    2739             :         break;
    2740        2702 :       case 16:   // 112 strings to match.
    2741        2702 :         if (memcmp(Mnemonic.data()+0, "v_", 2) != 0)
    2742             :           break;
    2743        5256 :         switch (Mnemonic[2]) {
    2744             :         default: break;
    2745           0 :         case 'a':        // 1 string to match.
    2746           0 :           if (memcmp(Mnemonic.data()+3, "nd_or_b32_e64", 13) != 0)
    2747             :             break;
    2748           0 :           Mnemonic = "v_and_or_b32";   // "v_and_or_b32_e64"
    2749           0 :           return;
    2750         985 :         case 'c':        // 85 strings to match.
    2751        1970 :           switch (Mnemonic[3]) {
    2752             :           default: break;
    2753         351 :           case 'm':      // 81 strings to match.
    2754         702 :             if (Mnemonic[4] != 'p')
    2755             :               break;
    2756         702 :             switch (Mnemonic[5]) {
    2757             :             default: break;
    2758           0 :             case '_':    // 54 strings to match.
    2759           0 :               switch (Mnemonic[6]) {
    2760             :               default: break;
    2761           0 :               case 'e':  // 9 strings to match.
    2762           0 :                 if (memcmp(Mnemonic.data()+7, "q_", 2) != 0)
    2763             :                   break;
    2764           0 :                 switch (Mnemonic[9]) {
    2765             :                 default: break;
    2766           0 :                 case 'f':        // 3 strings to match.
    2767           0 :                   switch (Mnemonic[10]) {
    2768             :                   default: break;
    2769           0 :                   case '1':      // 1 string to match.
    2770           0 :                     if (memcmp(Mnemonic.data()+11, "6_e64", 5) != 0)
    2771             :                       break;
    2772           0 :                     Mnemonic = "v_cmp_eq_f16";         // "v_cmp_eq_f16_e64"
    2773           0 :                     return;
    2774           0 :                   case '3':      // 1 string to match.
    2775           0 :                     if (memcmp(Mnemonic.data()+11, "2_e64", 5) != 0)
    2776             :                       break;
    2777           0 :                     Mnemonic = "v_cmp_eq_f32";         // "v_cmp_eq_f32_e64"
    2778           0 :                     return;
    2779           0 :                   case '6':      // 1 string to match.
    2780           0 :                     if (memcmp(Mnemonic.data()+11, "4_e64", 5) != 0)
    2781             :                       break;
    2782           0 :                     Mnemonic = "v_cmp_eq_f64";         // "v_cmp_eq_f64_e64"
    2783           0 :                     return;
    2784             :                   }
    2785             :                   break;
    2786           0 :                 case 'i':        // 3 strings to match.
    2787           0 :                   switch (Mnemonic[10]) {
    2788             :                   default: break;
    2789           0 :                   case '1':      // 1 string to match.
    2790           0 :                     if (memcmp(Mnemonic.data()+11, "6_e64", 5) != 0)
    2791             :                       break;
    2792           0 :                     Mnemonic = "v_cmp_eq_i16";         // "v_cmp_eq_i16_e64"
    2793           0 :                     return;
    2794           0 :                   case '3':      // 1 string to match.
    2795           0 :                     if (memcmp(Mnemonic.data()+11, "2_e64", 5) != 0)
    2796             :                       break;
    2797           0 :                     Mnemonic = "v_cmp_eq_i32";         // "v_cmp_eq_i32_e64"
    2798           0 :                     return;
    2799           0 :                   case '6':      // 1 string to match.
    2800           0 :                     if (memcmp(Mnemonic.data()+11, "4_e64", 5) != 0)
    2801             :                       break;
    2802           0 :                     Mnemonic = "v_cmp_eq_i64";         // "v_cmp_eq_i64_e64"
    2803           0 :                     return;
    2804             :                   }
    2805             :                   break;
    2806           0 :                 case 'u':        // 3 strings to match.
    2807           0 :                   switch (Mnemonic[10]) {
    2808             :                   default: break;
    2809           0 :                   case '1':      // 1 string to match.
    2810           0 :                     if (memcmp(Mnemonic.data()+11, "6_e64", 5) != 0)
    2811             :                       break;
    2812           0 :                     Mnemonic = "v_cmp_eq_u16";         // "v_cmp_eq_u16_e64"
    2813           0 :                     return;
    2814           0 :                   case '3':      // 1 string to match.
    2815           0 :                     if (memcmp(Mnemonic.data()+11, "2_e64", 5) != 0)
    2816             :                       break;
    2817           0 :                     Mnemonic = "v_cmp_eq_u32";         // "v_cmp_eq_u32_e64"
    2818           0 :                     return;
    2819           0 :                   case '6':      // 1 string to match.
    2820           0 :                     if (memcmp(Mnemonic.data()+11, "4_e64", 5) != 0)
    2821             :                       break;
    2822           0 :                     Mnemonic = "v_cmp_eq_u64";         // "v_cmp_eq_u64_e64"
    2823           0 :                     return;
    2824             :                   }
    2825             :                   break;
    2826             :                 }
    2827             :                 break;
    2828           0 :               case 'g':  // 18 strings to match.
    2829           0 :                 switch (Mnemonic[7]) {
    2830             :                 default: break;
    2831           0 :                 case 'e':        // 9 strings to match.
    2832           0 :                   if (Mnemonic[8] != '_')
    2833             :                     break;
    2834           0 :                   switch (Mnemonic[9]) {
    2835             :                   default: break;
    2836           0 :                   case 'f':      // 3 strings to match.
    2837           0 :                     switch (Mnemonic[10]) {
    2838             :                     default: break;
    2839           0 :                     case '1':    // 1 string to match.
    2840           0 :                       if (memcmp(Mnemonic.data()+11, "6_e64", 5) != 0)
    2841             :                         break;
    2842           0 :                       Mnemonic = "v_cmp_ge_f16";       // "v_cmp_ge_f16_e64"
    2843           0 :                       return;
    2844           0 :                     case '3':    // 1 string to match.
    2845           0 :                       if (memcmp(Mnemonic.data()+11, "2_e64", 5) != 0)
    2846             :                         break;
    2847           0 :                       Mnemonic = "v_cmp_ge_f32";       // "v_cmp_ge_f32_e64"
    2848           0 :                       return;
    2849           0 :                     case '6':    // 1 string to match.
    2850           0 :                       if (memcmp(Mnemonic.data()+11, "4_e64", 5) != 0)
    2851             :                         break;
    2852           0 :                       Mnemonic = "v_cmp_ge_f64";       // "v_cmp_ge_f64_e64"
    2853           0 :                       return;
    2854             :                     }
    2855             :                     break;
    2856           0 :                   case 'i':      // 3 strings to match.
    2857           0 :                     switch (Mnemonic[10]) {
    2858             :                     default: break;
    2859           0 :                     case '1':    // 1 string to match.
    2860           0 :                       if (memcmp(Mnemonic.data()+11, "6_e64", 5) != 0)
    2861             :                         break;
    2862           0 :                       Mnemonic = "v_cmp_ge_i16";       // "v_cmp_ge_i16_e64"
    2863           0 :                       return;
    2864           0 :                     case '3':    // 1 string to match.
    2865           0 :                       if (memcmp(Mnemonic.data()+11, "2_e64", 5) != 0)
    2866             :                         break;
    2867           0 :                       Mnemonic = "v_cmp_ge_i32";       // "v_cmp_ge_i32_e64"
    2868           0 :                       return;
    2869           0 :                     case '6':    // 1 string to match.
    2870           0 :                       if (memcmp(Mnemonic.data()+11, "4_e64", 5) != 0)
    2871             :                         break;
    2872           0 :                       Mnemonic = "v_cmp_ge_i64";       // "v_cmp_ge_i64_e64"
    2873           0 :                       return;
    2874             :                     }
    2875             :                     break;
    2876           0 :                   case 'u':      // 3 strings to match.
    2877           0 :                     switch (Mnemonic[10]) {
    2878             :                     default: break;
    2879           0 :                     case '1':    // 1 string to match.
    2880           0 :                       if (memcmp(Mnemonic.data()+11, "6_e64", 5) != 0)
    2881             :                         break;
    2882           0 :                       Mnemonic = "v_cmp_ge_u16";       // "v_cmp_ge_u16_e64"
    2883           0 :                       return;
    2884           0 :                     case '3':    // 1 string to match.
    2885           0 :                       if (memcmp(Mnemonic.data()+11, "2_e64", 5) != 0)
    2886             :                         break;
    2887           0 :                       Mnemonic = "v_cmp_ge_u32";       // "v_cmp_ge_u32_e64"
    2888           0 :                       return;
    2889           0 :                     case '6':    // 1 string to match.
    2890           0 :                       if (memcmp(Mnemonic.data()+11, "4_e64", 5) != 0)
    2891             :                         break;
    2892           0 :                       Mnemonic = "v_cmp_ge_u64";       // "v_cmp_ge_u64_e64"
    2893           0 :                       return;
    2894             :                     }
    2895             :                     break;
    2896             :                   }
    2897             :                   break;
    2898           0 :                 case 't':        // 9 strings to match.
    2899           0 :                   if (Mnemonic[8] != '_')
    2900             :                     break;
    2901           0 :                   switch (Mnemonic[9]) {
    2902             :                   default: break;
    2903           0 :                   case 'f':      // 3 strings to match.
    2904           0 :                     switch (Mnemonic[10]) {
    2905             :                     default: break;
    2906           0 :                     case '1':    // 1 string to match.
    2907           0 :                       if (memcmp(Mnemonic.data()+11, "6_e64", 5) != 0)
    2908             :                         break;
    2909           0 :                       Mnemonic = "v_cmp_gt_f16";       // "v_cmp_gt_f16_e64"
    2910           0 :                       return;
    2911           0 :                     case '3':    // 1 string to match.
    2912           0 :                       if (memcmp(Mnemonic.data()+11, "2_e64", 5) != 0)
    2913             :                         break;
    2914           0 :                       Mnemonic = "v_cmp_gt_f32";       // "v_cmp_gt_f32_e64"
    2915           0 :                       return;
    2916           0 :                     case '6':    // 1 string to match.
    2917           0 :                       if (memcmp(Mnemonic.data()+11, "4_e64", 5) != 0)
    2918             :                         break;
    2919           0 :                       Mnemonic = "v_cmp_gt_f64";       // "v_cmp_gt_f64_e64"
    2920           0 :                       return;
    2921             :                     }
    2922             :                     break;
    2923           0 :                   case 'i':      // 3 strings to match.
    2924           0 :                     switch (Mnemonic[10]) {
    2925             :                     default: break;
    2926           0 :                     case '1':    // 1 string to match.
    2927           0 :                       if (memcmp(Mnemonic.data()+11, "6_e64", 5) != 0)
    2928             :                         break;
    2929           0 :                       Mnemonic = "v_cmp_gt_i16";       // "v_cmp_gt_i16_e64"
    2930           0 :                       return;
    2931           0 :                     case '3':    // 1 string to match.
    2932           0 :                       if (memcmp(Mnemonic.data()+11, "2_e64", 5) != 0)
    2933             :                         break;
    2934           0 :                       Mnemonic = "v_cmp_gt_i32";       // "v_cmp_gt_i32_e64"
    2935           0 :                       return;
    2936           0 :                     case '6':    // 1 string to match.
    2937           0 :                       if (memcmp(Mnemonic.data()+11, "4_e64", 5) != 0)
    2938             :                         break;
    2939           0 :                       Mnemonic = "v_cmp_gt_i64";       // "v_cmp_gt_i64_e64"
    2940           0 :                       return;
    2941             :                     }
    2942             :                     break;
    2943           0 :                   case 'u':      // 3 strings to match.
    2944           0 :                     switch (Mnemonic[10]) {
    2945             :                     default: break;
    2946           0 :                     case '1':    // 1 string to match.
    2947           0 :                       if (memcmp(Mnemonic.data()+11, "6_e64", 5) != 0)
    2948             :                         break;
    2949           0 :                       Mnemonic = "v_cmp_gt_u16";       // "v_cmp_gt_u16_e64"
    2950           0 :                       return;
    2951           0 :                     case '3':    // 1 string to match.
    2952           0 :                       if (memcmp(Mnemonic.data()+11, "2_e64", 5) != 0)
    2953             :                         break;
    2954           0 :                       Mnemonic = "v_cmp_gt_u32";       // "v_cmp_gt_u32_e64"
    2955           0 :                       return;
    2956           0 :                     case '6':    // 1 string to match.
    2957           0 :                       if (memcmp(Mnemonic.data()+11, "4_e64", 5) != 0)
    2958             :                         break;
    2959           0 :                       Mnemonic = "v_cmp_gt_u64";       // "v_cmp_gt_u64_e64"
    2960           0 :                       return;
    2961             :                     }
    2962             :                     break;
    2963             :                   }
    2964             :                   break;
    2965             :                 }
    2966             :                 break;
    2967           0 :               case 'l':  // 21 strings to match.
    2968           0 :                 switch (Mnemonic[7]) {
    2969             :                 default: break;
    2970           0 :                 case 'e':        // 9 strings to match.
    2971           0 :                   if (Mnemonic[8] != '_')
    2972             :                     break;
    2973           0 :                   switch (Mnemonic[9]) {
    2974             :                   default: break;
    2975           0 :                   case 'f':      // 3 strings to match.
    2976           0 :                     switch (Mnemonic[10]) {
    2977             :                     default: break;
    2978           0 :                     case '1':    // 1 string to match.
    2979           0 :                       if (memcmp(Mnemonic.data()+11, "6_e64", 5) != 0)
    2980             :                         break;
    2981           0 :                       Mnemonic = "v_cmp_le_f16";       // "v_cmp_le_f16_e64"
    2982           0 :                       return;
    2983           0 :                     case '3':    // 1 string to match.
    2984           0 :                       if (memcmp(Mnemonic.data()+11, "2_e64", 5) != 0)
    2985             :                         break;
    2986           0 :                       Mnemonic = "v_cmp_le_f32";       // "v_cmp_le_f32_e64"
    2987           0 :                       return;
    2988           0 :                     case '6':    // 1 string to match.
    2989           0 :                       if (memcmp(Mnemonic.data()+11, "4_e64", 5) != 0)
    2990             :                         break;
    2991           0 :                       Mnemonic = "v_cmp_le_f64";       // "v_cmp_le_f64_e64"
    2992           0 :                       return;
    2993             :                     }
    2994             :                     break;
    2995           0 :                   case 'i':      // 3 strings to match.
    2996           0 :                     switch (Mnemonic[10]) {
    2997             :                     default: break;
    2998           0 :                     case '1':    // 1 string to match.
    2999           0 :                       if (memcmp(Mnemonic.data()+11, "6_e64", 5) != 0)
    3000             :                         break;
    3001           0 :                       Mnemonic = "v_cmp_le_i16";       // "v_cmp_le_i16_e64"
    3002           0 :                       return;
    3003           0 :                     case '3':    // 1 string to match.
    3004           0 :                       if (memcmp(Mnemonic.data()+11, "2_e64", 5) != 0)
    3005             :                         break;
    3006           0 :                       Mnemonic = "v_cmp_le_i32";       // "v_cmp_le_i32_e64"
    3007           0 :                       return;
    3008           0 :                     case '6':    // 1 string to match.
    3009           0 :                       if (memcmp(Mnemonic.data()+11, "4_e64", 5) != 0)
    3010             :                         break;
    3011           0 :                       Mnemonic = "v_cmp_le_i64";       // "v_cmp_le_i64_e64"
    3012           0 :                       return;
    3013             :                     }
    3014             :                     break;
    3015           0 :                   case 'u':      // 3 strings to match.
    3016           0 :                     switch (Mnemonic[10]) {
    3017             :                     default: break;
    3018           0 :                     case '1':    // 1 string to match.
    3019           0 :                       if (memcmp(Mnemonic.data()+11, "6_e64", 5) != 0)
    3020             :                         break;
    3021           0 :                       Mnemonic = "v_cmp_le_u16";       // "v_cmp_le_u16_e64"
    3022           0 :                       return;
    3023           0 :                     case '3':    // 1 string to match.
    3024           0 :                       if (memcmp(Mnemonic.data()+11, "2_e64", 5) != 0)
    3025             :                         break;
    3026           0 :                       Mnemonic = "v_cmp_le_u32";       // "v_cmp_le_u32_e64"
    3027           0 :                       return;
    3028           0 :                     case '6':    // 1 string to match.
    3029           0 :                       if (memcmp(Mnemonic.data()+11, "4_e64", 5) != 0)
    3030             :                         break;
    3031           0 :                       Mnemonic = "v_cmp_le_u64";       // "v_cmp_le_u64_e64"
    3032           0 :                       return;
    3033             :                     }
    3034             :                     break;
    3035             :                   }
    3036             :                   break;
    3037           0 :                 case 'g':        // 3 strings to match.
    3038           0 :                   if (memcmp(Mnemonic.data()+8, "_f", 2) != 0)
    3039             :                     break;
    3040           0 :                   switch (Mnemonic[10]) {
    3041             :                   default: break;
    3042           0 :                   case '1':      // 1 string to match.
    3043           0 :                     if (memcmp(Mnemonic.data()+11, "6_e64", 5) != 0)
    3044             :                       break;
    3045           0 :                     Mnemonic = "v_cmp_lg_f16";         // "v_cmp_lg_f16_e64"
    3046           0 :                     return;
    3047           0 :                   case '3':      // 1 string to match.
    3048           0 :                     if (memcmp(Mnemonic.data()+11, "2_e64", 5) != 0)
    3049             :                       break;
    3050           0 :                     Mnemonic = "v_cmp_lg_f32";         // "v_cmp_lg_f32_e64"
    3051           0 :                     return;
    3052           0 :                   case '6':      // 1 string to match.
    3053           0 :                     if (memcmp(Mnemonic.data()+11, "4_e64", 5) != 0)
    3054             :                       break;
    3055           0 :                     Mnemonic = "v_cmp_lg_f64";         // "v_cmp_lg_f64_e64"
    3056           0 :                     return;
    3057             :                   }
    3058             :                   break;
    3059           0 :                 case 't':        // 9 strings to match.
    3060           0 :                   if (Mnemonic[8] != '_')
    3061             :                     break;
    3062           0 :                   switch (Mnemonic[9]) {
    3063             :                   default: break;
    3064           0 :                   case 'f':      // 3 strings to match.
    3065           0 :                     switch (Mnemonic[10]) {
    3066             :                     default: break;
    3067           0 :                     case '1':    // 1 string to match.
    3068           0 :                       if (memcmp(Mnemonic.data()+11, "6_e64", 5) != 0)
    3069             :                         break;
    3070           0 :                       Mnemonic = "v_cmp_lt_f16";       // "v_cmp_lt_f16_e64"
    3071           0 :                       return;
    3072           0 :                     case '3':    // 1 string to match.
    3073           0 :                       if (memcmp(Mnemonic.data()+11, "2_e64", 5) != 0)
    3074             :                         break;
    3075           0 :                       Mnemonic = "v_cmp_lt_f32";       // "v_cmp_lt_f32_e64"
    3076           0 :                       return;
    3077           0 :                     case '6':    // 1 string to match.
    3078           0 :                       if (memcmp(Mnemonic.data()+11, "4_e64", 5) != 0)
    3079             :                         break;
    3080           0 :                       Mnemonic = "v_cmp_lt_f64";       // "v_cmp_lt_f64_e64"
    3081           0 :                       return;
    3082             :                     }
    3083             :                     break;
    3084           0 :                   case 'i':      // 3 strings to match.
    3085           0 :                     switch (Mnemonic[10]) {
    3086             :                     default: break;
    3087           0 :                     case '1':    // 1 string to match.
    3088           0 :                       if (memcmp(Mnemonic.data()+11, "6_e64", 5) != 0)
    3089             :                         break;
    3090           0 :                       Mnemonic = "v_cmp_lt_i16";       // "v_cmp_lt_i16_e64"
    3091           0 :                       return;
    3092           0 :                     case '3':    // 1 string to match.
    3093           0 :                       if (memcmp(Mnemonic.data()+11, "2_e64", 5) != 0)
    3094             :                         break;
    3095           0 :                       Mnemonic = "v_cmp_lt_i32";       // "v_cmp_lt_i32_e64"
    3096           0 :                       return;
    3097           0 :                     case '6':    // 1 string to match.
    3098           0 :                       if (memcmp(Mnemonic.data()+11, "4_e64", 5) != 0)
    3099             :                         break;
    3100           0 :                       Mnemonic = "v_cmp_lt_i64";       // "v_cmp_lt_i64_e64"
    3101           0 :                       return;
    3102             :                     }
    3103             :                     break;
    3104           0 :                   case 'u':      // 3 strings to match.
    3105           0 :                     switch (Mnemonic[10]) {
    3106             :                     default: break;
    3107           0 :                     case '1':    // 1 string to match.
    3108           0 :                       if (memcmp(Mnemonic.data()+11, "6_e64", 5) != 0)
    3109             :                         break;
    3110           0 :                       Mnemonic = "v_cmp_lt_u16";       // "v_cmp_lt_u16_e64"
    3111           0 :                       return;
    3112           0 :                     case '3':    // 1 string to match.
    3113           0 :                       if (memcmp(Mnemonic.data()+11, "2_e64", 5) != 0)
    3114             :                         break;
    3115           0 :                       Mnemonic = "v_cmp_lt_u32";       // "v_cmp_lt_u32_e64"
    3116           0 :                       return;
    3117           0 :                     case '6':    // 1 string to match.
    3118           0 :                       if (memcmp(Mnemonic.data()+11, "4_e64", 5) != 0)
    3119             :                         break;
    3120           0 :                       Mnemonic = "v_cmp_lt_u64";       // "v_cmp_lt_u64_e64"
    3121           0 :                       return;
    3122             :                     }
    3123             :                     break;
    3124             :                   }
    3125             :                   break;
    3126             :                 }
    3127             :                 break;
    3128           0 :               case 'n':  // 6 strings to match.
    3129           0 :                 if (memcmp(Mnemonic.data()+7, "e_", 2) != 0)
    3130             :                   break;
    3131           0 :                 switch (Mnemonic[9]) {
    3132             :                 default: break;
    3133           0 :                 case 'i':        // 3 strings to match.
    3134           0 :                   switch (Mnemonic[10]) {
    3135             :                   default: break;
    3136           0 :                   case '1':      // 1 string to match.
    3137           0 :                     if (memcmp(Mnemonic.data()+11, "6_e64", 5) != 0)
    3138             :                       break;
    3139           0 :                     Mnemonic = "v_cmp_ne_i16";         // "v_cmp_ne_i16_e64"
    3140           0 :                     return;
    3141           0 :                   case '3':      // 1 string to match.
    3142           0 :                     if (memcmp(Mnemonic.data()+11, "2_e64", 5) != 0)
    3143             :                       break;
    3144           0 :                     Mnemonic = "v_cmp_ne_i32";         // "v_cmp_ne_i32_e64"
    3145           0 :                     return;
    3146           0 :                   case '6':      // 1 string to match.
    3147           0 :                     if (memcmp(Mnemonic.data()+11, "4_e64", 5) != 0)
    3148             :                       break;
    3149           0 :                     Mnemonic = "v_cmp_ne_i64";         // "v_cmp_ne_i64_e64"
    3150           0 :                     return;
    3151             :                   }
    3152             :                   break;
    3153           0 :                 case 'u':        // 3 strings to match.
    3154           0 :                   switch (Mnemonic[10]) {
    3155             :                   default: break;
    3156           0 :                   case '1':      // 1 string to match.
    3157           0 :                     if (memcmp(Mnemonic.data()+11, "6_e64", 5) != 0)
    3158             :                       break;
    3159           0 :                     Mnemonic = "v_cmp_ne_u16";         // "v_cmp_ne_u16_e64"
    3160           0 :                     return;
    3161           0 :                   case '3':      // 1 string to match.
    3162           0 :                     if (memcmp(Mnemonic.data()+11, "2_e64", 5) != 0)
    3163             :                       break;
    3164           0 :                     Mnemonic = "v_cmp_ne_u32";         // "v_cmp_ne_u32_e64"
    3165           0 :                     return;
    3166           0 :                   case '6':      // 1 string to match.
    3167           0 :                     if (memcmp(Mnemonic.data()+11, "4_e64", 5) != 0)
    3168             :                       break;
    3169           0 :                     Mnemonic = "v_cmp_ne_u64";         // "v_cmp_ne_u64_e64"
    3170           0 :                     return;
    3171             :                   }
    3172             :                   break;
    3173             :                 }
    3174             :                 break;
    3175             :               }
    3176             :               break;
    3177           0 :             case 's':    // 6 strings to match.
    3178           0 :               if (Mnemonic[6] != '_')
    3179             :                 break;
    3180           0 :               switch (Mnemonic[7]) {
    3181             :               default: break;
    3182           0 :               case 'f':  // 2 strings to match.
    3183           0 :                 if (memcmp(Mnemonic.data()+8, "_f", 2) != 0)
    3184             :                   break;
    3185           0 :                 switch (Mnemonic[10]) {
    3186             :                 default: break;
    3187           0 :                 case '3':        // 1 string to match.
    3188           0 :                   if (memcmp(Mnemonic.data()+11, "2_e64", 5) != 0)
    3189             :                     break;
    3190           0 :                   Mnemonic = "v_cmps_f_f32";   // "v_cmps_f_f32_e64"
    3191           0 :                   return;
    3192           0 :                 case '6':        // 1 string to match.
    3193           0 :                   if (memcmp(Mnemonic.data()+11, "4_e64", 5) != 0)
    3194             :                     break;
    3195           0 :                   Mnemonic = "v_cmps_f_f64";   // "v_cmps_f_f64_e64"
    3196           0 :                   return;
    3197             :                 }
    3198             :                 break;
    3199           0 :               case 'o':  // 2 strings to match.
    3200           0 :                 if (memcmp(Mnemonic.data()+8, "_f", 2) != 0)
    3201             :                   break;
    3202           0 :                 switch (Mnemonic[10]) {
    3203             :                 default: break;
    3204           0 :                 case '3':        // 1 string to match.
    3205           0 :                   if (memcmp(Mnemonic.data()+11, "2_e64", 5) != 0)
    3206             :                     break;
    3207           0 :                   Mnemonic = "v_cmps_o_f32";   // "v_cmps_o_f32_e64"
    3208           0 :                   return;
    3209           0 :                 case '6':        // 1 string to match.
    3210           0 :                   if (memcmp(Mnemonic.data()+11, "4_e64", 5) != 0)
    3211             :                     break;
    3212           0 :                   Mnemonic = "v_cmps_o_f64";   // "v_cmps_o_f64_e64"
    3213           0 :                   return;
    3214             :                 }
    3215             :                 break;
    3216           0 :               case 'u':  // 2 strings to match.
    3217           0 :                 if (memcmp(Mnemonic.data()+8, "_f", 2) != 0)
    3218             :                   break;
    3219           0 :                 switch (Mnemonic[10]) {
    3220             :                 default: break;
    3221           0 :                 case '3':        // 1 string to match.
    3222           0 :                   if (memcmp(Mnemonic.data()+11, "2_e64", 5) != 0)
    3223             :                     break;
    3224           0 :                   Mnemonic = "v_cmps_u_f32";   // "v_cmps_u_f32_e64"
    3225           0 :                   return;
    3226           0 :                 case '6':        // 1 string to match.
    3227           0 :                   if (memcmp(Mnemonic.data()+11, "4_e64", 5) != 0)
    3228             :                     break;
    3229           0 :                   Mnemonic = "v_cmps_u_f64";   // "v_cmps_u_f64_e64"
    3230           0 :                   return;
    3231             :                 }
    3232             :                 break;
    3233             :               }
    3234             :               break;
    3235         351 :             case 'x':    // 21 strings to match.
    3236         702 :               if (Mnemonic[6] != '_')
    3237             :                 break;
    3238         702 :               switch (Mnemonic[7]) {
    3239             :               default: break;
    3240           0 :               case 'f':  // 9 strings to match.
    3241           0 :                 if (Mnemonic[8] != '_')
    3242             :                   break;
    3243           0 :                 switch (Mnemonic[9]) {
    3244             :                 default: break;
    3245           0 :                 case 'f':        // 3 strings to match.
    3246           0 :                   switch (Mnemonic[10]) {
    3247             :                   default: break;
    3248           0 :                   case '1':      // 1 string to match.
    3249           0 :                     if (memcmp(Mnemonic.data()+11, "6_e64", 5) != 0)
    3250             :                       break;
    3251           0 :                     Mnemonic = "v_cmpx_f_f16";         // "v_cmpx_f_f16_e64"
    3252           0 :                     return;
    3253           0 :                   case '3':      // 1 string to match.
    3254           0 :                     if (memcmp(Mnemonic.data()+11, "2_e64", 5) != 0)
    3255             :                       break;
    3256           0 :                     Mnemonic = "v_cmpx_f_f32";         // "v_cmpx_f_f32_e64"
    3257           0 :                     return;
    3258           0 :                   case '6':      // 1 string to match.
    3259           0 :                     if (memcmp(Mnemonic.data()+11, "4_e64", 5) != 0)
    3260             :                       break;
    3261           0 :                     Mnemonic = "v_cmpx_f_f64";         // "v_cmpx_f_f64_e64"
    3262           0 :                     return;
    3263             :                   }
    3264             :                   break;
    3265           0 :                 case 'i':        // 3 strings to match.
    3266           0 :                   switch (Mnemonic[10]) {
    3267             :                   default: break;
    3268           0 :                   case '1':      // 1 string to match.
    3269           0 :                     if (memcmp(Mnemonic.data()+11, "6_e64", 5) != 0)
    3270             :                       break;
    3271           0 :                     Mnemonic = "v_cmpx_f_i16";         // "v_cmpx_f_i16_e64"
    3272           0 :                     return;
    3273           0 :                   case '3':      // 1 string to match.
    3274           0 :                     if (memcmp(Mnemonic.data()+11, "2_e64", 5) != 0)
    3275             :                       break;
    3276           0 :                     Mnemonic = "v_cmpx_f_i32";         // "v_cmpx_f_i32_e64"
    3277           0 :                     return;
    3278           0 :                   case '6':      // 1 string to match.
    3279           0 :                     if (memcmp(Mnemonic.data()+11, "4_e64", 5) != 0)
    3280             :                       break;
    3281           0 :                     Mnemonic = "v_cmpx_f_i64";         // "v_cmpx_f_i64_e64"
    3282           0 :                     return;
    3283             :                   }
    3284             :                   break;
    3285           0 :                 case 'u':        // 3 strings to match.
    3286           0 :                   switch (Mnemonic[10]) {
    3287             :                   default: break;
    3288           0 :                   case '1':      // 1 string to match.
    3289           0 :                     if (memcmp(Mnemonic.data()+11, "6_e64", 5) != 0)
    3290             :                       break;
    3291           0 :                     Mnemonic = "v_cmpx_f_u16";         // "v_cmpx_f_u16_e64"
    3292           0 :                     return;
    3293           0 :                   case '3':      // 1 string to match.
    3294           0 :                     if (memcmp(Mnemonic.data()+11, "2_e64", 5) != 0)
    3295             :                       break;
    3296           0 :                     Mnemonic = "v_cmpx_f_u32";         // "v_cmpx_f_u32_e64"
    3297           0 :                     return;
    3298           0 :                   case '6':      // 1 string to match.
    3299           0 :                     if (memcmp(Mnemonic.data()+11, "4_e64", 5) != 0)
    3300             :                       break;
    3301           0 :                     Mnemonic = "v_cmpx_f_u64";         // "v_cmpx_f_u64_e64"
    3302           0 :                     return;
    3303             :                   }
    3304             :                   break;
    3305             :                 }
    3306             :                 break;
    3307           0 :               case 'o':  // 3 strings to match.
    3308           0 :                 if (memcmp(Mnemonic.data()+8, "_f", 2) != 0)
    3309             :                   break;
    3310           0 :                 switch (Mnemonic[10]) {
    3311             :                 default: break;
    3312           0 :                 case '1':        // 1 string to match.
    3313           0 :                   if (memcmp(Mnemonic.data()+11, "6_e64", 5) != 0)
    3314             :                     break;
    3315           0 :                   Mnemonic = "v_cmpx_o_f16";   // "v_cmpx_o_f16_e64"
    3316           0 :                   return;
    3317           0 :                 case '3':        // 1 string to match.
    3318           0 :                   if (memcmp(Mnemonic.data()+11, "2_e64", 5) != 0)
    3319             :                     break;
    3320           0 :                   Mnemonic = "v_cmpx_o_f32";   // "v_cmpx_o_f32_e64"
    3321           0 :                   return;
    3322           0 :                 case '6':        // 1 string to match.
    3323           0 :                   if (memcmp(Mnemonic.data()+11, "4_e64", 5) != 0)
    3324             :                     break;
    3325           0 :                   Mnemonic = "v_cmpx_o_f64";   // "v_cmpx_o_f64_e64"
    3326           0 :                   return;
    3327             :                 }
    3328             :                 break;
    3329           0 :               case 't':  // 6 strings to match.
    3330           0 :                 if (Mnemonic[8] != '_')
    3331             :                   break;
    3332           0 :                 switch (Mnemonic[9]) {
    3333             :                 default: break;
    3334           0 :                 case 'i':        // 3 strings to match.
    3335           0 :                   switch (Mnemonic[10]) {
    3336             :                   default: break;
    3337           0 :                   case '1':      // 1 string to match.
    3338           0 :                     if (memcmp(Mnemonic.data()+11, "6_e64", 5) != 0)
    3339             :                       break;
    3340           0 :                     Mnemonic = "v_cmpx_t_i16";         // "v_cmpx_t_i16_e64"
    3341           0 :                     return;
    3342           0 :                   case '3':      // 1 string to match.
    3343           0 :                     if (memcmp(Mnemonic.data()+11, "2_e64", 5) != 0)
    3344             :                       break;
    3345           0 :                     Mnemonic = "v_cmpx_t_i32";         // "v_cmpx_t_i32_e64"
    3346           0 :                     return;
    3347           0 :                   case '6':      // 1 string to match.
    3348           0 :                     if (memcmp(Mnemonic.data()+11, "4_e64", 5) != 0)
    3349             :                       break;
    3350           0 :                     Mnemonic = "v_cmpx_t_i64";         // "v_cmpx_t_i64_e64"
    3351           0 :                     return;
    3352             :                   }
    3353             :                   break;
    3354           0 :                 case 'u':        // 3 strings to match.
    3355           0 :                   switch (Mnemonic[10]) {
    3356             :                   default: break;
    3357           0 :                   case '1':      // 1 string to match.
    3358           0 :                     if (memcmp(Mnemonic.data()+11, "6_e64", 5) != 0)
    3359             :                       break;
    3360           0 :                     Mnemonic = "v_cmpx_t_u16";         // "v_cmpx_t_u16_e64"
    3361           0 :                     return;
    3362           0 :                   case '3':      // 1 string to match.
    3363           0 :                     if (memcmp(Mnemonic.data()+11, "2_e64", 5) != 0)
    3364             :                       break;
    3365           0 :                     Mnemonic = "v_cmpx_t_u32";         // "v_cmpx_t_u32_e64"
    3366           0 :                     return;
    3367           0 :                   case '6':      // 1 string to match.
    3368           0 :                     if (memcmp(Mnemonic.data()+11, "4_e64", 5) != 0)
    3369             :                       break;
    3370           0 :                     Mnemonic = "v_cmpx_t_u64";         // "v_cmpx_t_u64_e64"
    3371           0 :                     return;
    3372             :                   }
    3373             :                   break;
    3374             :                 }
    3375             :                 break;
    3376           0 :               case 'u':  // 3 strings to match.
    3377           0 :                 if (memcmp(Mnemonic.data()+8, "_f", 2) != 0)
    3378             :                   break;
    3379           0 :                 switch (Mnemonic[10]) {
    3380             :                 default: break;
    3381           0 :                 case '1':        // 1 string to match.
    3382           0 :                   if (memcmp(Mnemonic.data()+11, "6_e64", 5) != 0)
    3383             :                     break;
    3384           0 :                   Mnemonic = "v_cmpx_u_f16";   // "v_cmpx_u_f16_e64"
    3385           0 :                   return;
    3386           0 :                 case '3':        // 1 string to match.
    3387           0 :                   if (memcmp(Mnemonic.data()+11, "2_e64", 5) != 0)
    3388             :                     break;
    3389           0 :                   Mnemonic = "v_cmpx_u_f32";   // "v_cmpx_u_f32_e64"
    3390           0 :                   return;
    3391           0 :                 case '6':        // 1 string to match.
    3392           0 :                   if (memcmp(Mnemonic.data()+11, "4_e64", 5) != 0)
    3393             :                     break;
    3394           0 :                   Mnemonic = "v_cmpx_u_f64";   // "v_cmpx_u_f64_e64"
    3395           0 :                   return;
    3396             :                 }
    3397             :                 break;
    3398             :               }
    3399             :               break;
    3400             :             }
    3401             :             break;
    3402           0 :           case 'u':      // 4 strings to match.
    3403           0 :             if (memcmp(Mnemonic.data()+4, "be", 2) != 0)
    3404             :               break;
    3405           0 :             switch (Mnemonic[6]) {
    3406             :             default: break;
    3407           0 :             case 'i':    // 1 string to match.
    3408           0 :               if (memcmp(Mnemonic.data()+7, "d_f32_e64", 9) != 0)
    3409             :                 break;
    3410           0 :               Mnemonic = "v_cubeid_f32";       // "v_cubeid_f32_e64"
    3411           0 :               return;
    3412           0 :             case 'm':    // 1 string to match.
    3413           0 :               if (memcmp(Mnemonic.data()+7, "a_f32_e64", 9) != 0)
    3414             :                 break;
    3415           0 :               Mnemonic = "v_cubema_f32";       // "v_cubema_f32_e64"
    3416           0 :               return;
    3417           0 :             case 's':    // 1 string to match.
    3418           0 :               if (memcmp(Mnemonic.data()+7, "c_f32_e64", 9) != 0)
    3419             :                 break;
    3420           0 :               Mnemonic = "v_cubesc_f32";       // "v_cubesc_f32_e64"
    3421           0 :               return;
    3422           0 :             case 't':    // 1 string to match.
    3423           0 :               if (memcmp(Mnemonic.data()+7, "c_f32_e64", 9) != 0)
    3424             :                 break;
    3425           0 :               Mnemonic = "v_cubetc_f32";       // "v_cubetc_f32_e64"
    3426           0 :               return;
    3427             :             }
    3428             :             break;
    3429             :           }
    3430             :           break;
    3431         799 :         case 'm':        // 6 strings to match.
    3432         799 :           if (memcmp(Mnemonic.data()+3, "ul", 2) != 0)
    3433             :             break;
    3434         764 :           switch (Mnemonic[5]) {
    3435             :           default: break;
    3436         382 :           case '_':      // 5 strings to match.
    3437         764 :             switch (Mnemonic[6]) {
    3438             :             default: break;
    3439         236 :             case 'h':    // 2 strings to match.
    3440         236 :               if (memcmp(Mnemonic.data()+7, "i_", 2) != 0)
    3441             :                 break;
    3442         472 :               switch (Mnemonic[9]) {
    3443             :               default: break;
    3444         118 :               case 'i':  // 1 string to match.
    3445         118 :                 if (memcmp(Mnemonic.data()+10, "32_e64", 6) != 0)
    3446             :                   break;
    3447           0 :                 Mnemonic = "v_mul_hi_i32";     // "v_mul_hi_i32_e64"
    3448           0 :                 return;
    3449         118 :               case 'u':  // 1 string to match.
    3450         118 :                 if (memcmp(Mnemonic.data()+10, "32_e64", 6) != 0)
    3451             :                   break;
    3452           0 :                 Mnemonic = "v_mul_hi_u32";     // "v_mul_hi_u32_e64"
    3453           0 :                 return;
    3454             :               }
    3455             :               break;
    3456         146 :             case 'l':    // 3 strings to match.
    3457         146 :               if (memcmp(Mnemonic.data()+7, "o_", 2) != 0)
    3458             :                 break;
    3459           0 :               switch (Mnemonic[9]) {
    3460             :               default: break;
    3461           0 :               case 'i':  // 1 string to match.
    3462           0 :                 if (memcmp(Mnemonic.data()+10, "32_e64", 6) != 0)
    3463             :                   break;
    3464           0 :                 Mnemonic = "v_mul_lo_i32";     // "v_mul_lo_i32_e64"
    3465           0 :                 return;
    3466           0 :               case 'u':  // 2 strings to match.
    3467           0 :                 switch (Mnemonic[10]) {
    3468             :                 default: break;
    3469           0 :                 case '1':        // 1 string to match.
    3470           0 :                   if (memcmp(Mnemonic.data()+11, "6_e64", 5) != 0)
    3471             :                     break;
    3472           0 :                   Mnemonic = "v_mul_lo_u16";   // "v_mul_lo_u16_e64"
    3473           0 :                   return;
    3474           0 :                 case '3':        // 1 string to match.
    3475           0 :                   if (memcmp(Mnemonic.data()+11, "2_e64", 5) != 0)
    3476             :                     break;
    3477           0 :                   Mnemonic = "v_mul_lo_u32";   // "v_mul_lo_u32_e64"
    3478           0 :                   return;
    3479             :                 }
    3480             :                 break;
    3481             :               }
    3482             :               break;
    3483             :             }
    3484             :             break;
    3485           0 :           case 'l':      // 1 string to match.
    3486           0 :             if (memcmp(Mnemonic.data()+6, "it_f32_e64", 10) != 0)
    3487             :               break;
    3488           0 :             Mnemonic = "v_mullit_f32";         // "v_mullit_f32_e64"
    3489           0 :             return;
    3490             :           }
    3491             :           break;
    3492          96 :         case 'p':        // 15 strings to match.
    3493          96 :           if (memcmp(Mnemonic.data()+3, "k_", 2) != 0)
    3494             :             break;
    3495         192 :           switch (Mnemonic[5]) {
    3496             :           default: break;
    3497          32 :           case 'a':      // 3 strings to match.
    3498          32 :             if (memcmp(Mnemonic.data()+6, "dd_", 3) != 0)
    3499             :               break;
    3500           0 :             switch (Mnemonic[9]) {
    3501             :             default: break;
    3502           0 :             case 'f':    // 1 string to match.
    3503           0 :               if (memcmp(Mnemonic.data()+10, "16_e64", 6) != 0)
    3504             :                 break;
    3505           0 :               Mnemonic = "v_pk_add_f16";       // "v_pk_add_f16_e64"
    3506           0 :               return;
    3507           0 :             case 'i':    // 1 string to match.
    3508           0 :               if (memcmp(Mnemonic.data()+10, "16_e64", 6) != 0)
    3509             :                 break;
    3510           0 :               Mnemonic = "v_pk_add_i16";       // "v_pk_add_i16_e64"
    3511           0 :               return;
    3512           0 :             case 'u':    // 1 string to match.
    3513           0 :               if (memcmp(Mnemonic.data()+10, "16_e64", 6) != 0)
    3514             :                 break;
    3515           0 :               Mnemonic = "v_pk_add_u16";       // "v_pk_add_u16_e64"
    3516           0 :               return;
    3517             :             }
    3518             :             break;
    3519           0 :           case 'f':      // 1 string to match.
    3520           0 :             if (memcmp(Mnemonic.data()+6, "ma_f16_e64", 10) != 0)
    3521             :               break;
    3522           0 :             Mnemonic = "v_pk_fma_f16";         // "v_pk_fma_f16_e64"
    3523           0 :             return;
    3524           0 :           case 'm':      // 9 strings to match.
    3525           0 :             switch (Mnemonic[6]) {
    3526             :             default: break;
    3527           0 :             case 'a':    // 5 strings to match.
    3528           0 :               switch (Mnemonic[7]) {
    3529             :               default: break;
    3530           0 :               case 'd':  // 2 strings to match.
    3531           0 :                 if (Mnemonic[8] != '_')
    3532             :                   break;
    3533           0 :                 switch (Mnemonic[9]) {
    3534             :                 default: break;
    3535           0 :                 case 'i':        // 1 string to match.
    3536           0 :                   if (memcmp(Mnemonic.data()+10, "16_e64", 6) != 0)
    3537             :                     break;
    3538           0 :                   Mnemonic = "v_pk_mad_i16";   // "v_pk_mad_i16_e64"
    3539           0 :                   return;
    3540           0 :                 case 'u':        // 1 string to match.
    3541           0 :                   if (memcmp(Mnemonic.data()+10, "16_e64", 6) != 0)
    3542             :                     break;
    3543           0 :                   Mnemonic = "v_pk_mad_u16";   // "v_pk_mad_u16_e64"
    3544           0 :                   return;
    3545             :                 }
    3546             :                 break;
    3547           0 :               case 'x':  // 3 strings to match.
    3548           0 :                 if (Mnemonic[8] != '_')
    3549             :                   break;
    3550           0 :                 switch (Mnemonic[9]) {
    3551             :                 default: break;
    3552           0 :                 case 'f':        // 1 string to match.
    3553           0 :                   if (memcmp(Mnemonic.data()+10, "16_e64", 6) != 0)
    3554             :                     break;
    3555           0 :                   Mnemonic = "v_pk_max_f16";   // "v_pk_max_f16_e64"
    3556           0 :                   return;
    3557           0 :                 case 'i':        // 1 string to match.
    3558           0 :                   if (memcmp(Mnemonic.data()+10, "16_e64", 6) != 0)
    3559             :                     break;
    3560           0 :                   Mnemonic = "v_pk_max_i16";   // "v_pk_max_i16_e64"
    3561           0 :                   return;
    3562           0 :                 case 'u':        // 1 string to match.
    3563           0 :                   if (memcmp(Mnemonic.data()+10, "16_e64", 6) != 0)
    3564             :                     break;
    3565           0 :                   Mnemonic = "v_pk_max_u16";   // "v_pk_max_u16_e64"
    3566           0 :                   return;
    3567             :                 }
    3568             :                 break;
    3569             :               }
    3570             :               break;
    3571           0 :             case 'i':    // 3 strings to match.
    3572           0 :               if (memcmp(Mnemonic.data()+7, "n_", 2) != 0)
    3573             :                 break;
    3574           0 :               switch (Mnemonic[9]) {
    3575             :               default: break;
    3576           0 :               case 'f':  // 1 string to match.
    3577           0 :                 if (memcmp(Mnemonic.data()+10, "16_e64", 6) != 0)
    3578             :                   break;
    3579           0 :                 Mnemonic = "v_pk_min_f16";     // "v_pk_min_f16_e64"
    3580           0 :                 return;
    3581           0 :               case 'i':  // 1 string to match.
    3582           0 :                 if (memcmp(Mnemonic.data()+10, "16_e64", 6) != 0)
    3583             :                   break;
    3584           0 :                 Mnemonic = "v_pk_min_i16";     // "v_pk_min_i16_e64"
    3585           0 :                 return;
    3586           0 :               case 'u':  // 1 string to match.
    3587           0 :                 if (memcmp(Mnemonic.data()+10, "16_e64", 6) != 0)
    3588             :                   break;
    3589           0 :                 Mnemonic = "v_pk_min_u16";     // "v_pk_min_u16_e64"
    3590           0 :                 return;
    3591             :               }
    3592             :               break;
    3593           0 :             case 'u':    // 1 string to match.
    3594           0 :               if (memcmp(Mnemonic.data()+7, "l_f16_e64", 9) != 0)
    3595             :                 break;
    3596           0 :               Mnemonic = "v_pk_mul_f16";       // "v_pk_mul_f16_e64"
    3597           0 :               return;
    3598             :             }
    3599             :             break;
    3600           0 :           case 's':      // 2 strings to match.
    3601           0 :             if (memcmp(Mnemonic.data()+6, "ub_", 3) != 0)
    3602             :               break;
    3603           0 :             switch (Mnemonic[9]) {
    3604             :             default: break;
    3605           0 :             case 'i':    // 1 string to match.
    3606           0 :               if (memcmp(Mnemonic.data()+10, "16_e64", 6) != 0)
    3607             :                 break;
    3608           0 :               Mnemonic = "v_pk_sub_i16";       // "v_pk_sub_i16_e64"
    3609           0 :               return;
    3610           0 :             case 'u':    // 1 string to match.
    3611           0 :               if (memcmp(Mnemonic.data()+10, "16_e64", 6) != 0)
    3612             :                 break;
    3613           0 :               Mnemonic = "v_pk_sub_u16";       // "v_pk_sub_u16_e64"
    3614           0 :               return;
    3615             :             }
    3616             :             break;
    3617             :           }
    3618             :           break;
    3619           0 :         case 's':        // 5 strings to match.
    3620           0 :           if (memcmp(Mnemonic.data()+3, "ubrev_", 6) != 0)
    3621             :             break;
    3622           0 :           switch (Mnemonic[9]) {
    3623             :           default: break;
    3624           0 :           case 'f':      // 2 strings to match.
    3625           0 :             switch (Mnemonic[10]) {
    3626             :             default: break;
    3627           0 :             case '1':    // 1 string to match.
    3628           0 :               if (memcmp(Mnemonic.data()+11, "6_e64", 5) != 0)
    3629             :                 break;
    3630           0 :               Mnemonic = "v_subrev_f16";       // "v_subrev_f16_e64"
    3631           0 :               return;
    3632           0 :             case '3':    // 1 string to match.
    3633           0 :               if (memcmp(Mnemonic.data()+11, "2_e64", 5) != 0)
    3634             :                 break;
    3635           0 :               Mnemonic = "v_subrev_f32";       // "v_subrev_f32_e64"
    3636           0 :               return;
    3637             :             }
    3638             :             break;
    3639           0 :           case 'i':      // 1 string to match.
    3640           0 :             if (memcmp(Mnemonic.data()+10, "32_e64", 6) != 0)
    3641             :               break;
    3642           0 :             Mnemonic = "v_subrev_i32";         // "v_subrev_i32_e64"
    3643           0 :             return;
    3644           0 :           case 'u':      // 2 strings to match.
    3645           0 :             switch (Mnemonic[10]) {
    3646             :             default: break;
    3647           0 :             case '1':    // 1 string to match.
    3648           0 :               if (memcmp(Mnemonic.data()+11, "6_e64", 5) != 0)
    3649             :                 break;
    3650           0 :               Mnemonic = "v_subrev_u16";       // "v_subrev_u16_e64"
    3651           0 :               return;
    3652           0 :             case '3':    // 1 string to match.
    3653           0 :               if (memcmp(Mnemonic.data()+11, "2_e64", 5) != 0)
    3654             :                 break;
    3655           0 :               Mnemonic = "v_subrev_u32";       // "v_subrev_u32_e64"
    3656           0 :               return;
    3657             :             }
    3658             :             break;
    3659             :           }
    3660             :           break;
    3661             :         }
    3662             :         break;
    3663         490 :       case 17:   // 133 strings to match.
    3664         490 :         if (memcmp(Mnemonic.data()+0, "v_", 2) != 0)
    3665             :           break;
    3666         808 :         switch (Mnemonic[2]) {
    3667             :         default: break;
    3668           0 :         case 'a':        // 3 strings to match.
    3669           0 :           if (memcmp(Mnemonic.data()+3, "shrrev_i", 8) != 0)
    3670             :             break;
    3671           0 :           switch (Mnemonic[11]) {
    3672             :           default: break;
    3673           0 :           case '1':      // 1 string to match.
    3674           0 :             if (memcmp(Mnemonic.data()+12, "6_e64", 5) != 0)
    3675             :               break;
    3676           0 :             Mnemonic = "v_ashrrev_i16";        // "v_ashrrev_i16_e64"
    3677           0 :             return;
    3678           0 :           case '3':      // 1 string to match.
    3679           0 :             if (memcmp(Mnemonic.data()+12, "2_e64", 5) != 0)
    3680             :               break;
    3681           0 :             Mnemonic = "v_ashrrev_i32";        // "v_ashrrev_i32_e64"
    3682           0 :             return;
    3683           0 :           case '6':      // 1 string to match.
    3684           0 :             if (memcmp(Mnemonic.data()+12, "4_e64", 5) != 0)
    3685             :               break;
    3686           0 :             Mnemonic = "v_ashrrev_i64";        // "v_ashrrev_i64_e64"
    3687           0 :             return;
    3688             :           }
    3689             :           break;
    3690         148 :         case 'c':        // 110 strings to match.
    3691         296 :           switch (Mnemonic[3]) {
    3692             :           default: break;
    3693           0 :           case 'm':      // 93 strings to match.
    3694           0 :             if (Mnemonic[4] != 'p')
    3695             :               break;
    3696           0 :             switch (Mnemonic[5]) {
    3697             :             default: break;
    3698           0 :             case '_':    // 21 strings to match.
    3699           0 :               switch (Mnemonic[6]) {
    3700             :               default: break;
    3701           0 :               case 'n':  // 18 strings to match.
    3702           0 :                 switch (Mnemonic[7]) {
    3703             :                 default: break;
    3704           0 :                 case 'e':        // 3 strings to match.
    3705           0 :                   if (memcmp(Mnemonic.data()+8, "q_f", 3) != 0)
    3706             :                     break;
    3707           0 :                   switch (Mnemonic[11]) {
    3708             :                   default: break;
    3709           0 :                   case '1':      // 1 string to match.
    3710           0 :                     if (memcmp(Mnemonic.data()+12, "6_e64", 5) != 0)
    3711             :                       break;
    3712           0 :                     Mnemonic = "v_cmp_neq_f16";        // "v_cmp_neq_f16_e64"
    3713           0 :                     return;
    3714           0 :                   case '3':      // 1 string to match.
    3715           0 :                     if (memcmp(Mnemonic.data()+12, "2_e64", 5) != 0)
    3716             :                       break;
    3717           0 :                     Mnemonic = "v_cmp_neq_f32";        // "v_cmp_neq_f32_e64"
    3718           0 :                     return;
    3719           0 :                   case '6':      // 1 string to match.
    3720           0 :                     if (memcmp(Mnemonic.data()+12, "4_e64", 5) != 0)
    3721             :                       break;
    3722           0 :                     Mnemonic = "v_cmp_neq_f64";        // "v_cmp_neq_f64_e64"
    3723           0 :                     return;
    3724             :                   }
    3725             :                   break;
    3726           0 :                 case 'g':        // 6 strings to match.
    3727           0 :                   switch (Mnemonic[8]) {
    3728             :                   default: break;
    3729           0 :                   case 'e':      // 3 strings to match.
    3730           0 :                     if (memcmp(Mnemonic.data()+9, "_f", 2) != 0)
    3731             :                       break;
    3732           0 :                     switch (Mnemonic[11]) {
    3733             :                     default: break;
    3734           0 :                     case '1':    // 1 string to match.
    3735           0 :                       if (memcmp(Mnemonic.data()+12, "6_e64", 5) != 0)
    3736             :                         break;
    3737           0 :                       Mnemonic = "v_cmp_nge_f16";      // "v_cmp_nge_f16_e64"
    3738           0 :                       return;
    3739           0 :                     case '3':    // 1 string to match.
    3740           0 :                       if (memcmp(Mnemonic.data()+12, "2_e64", 5) != 0)
    3741             :                         break;
    3742           0 :                       Mnemonic = "v_cmp_nge_f32";      // "v_cmp_nge_f32_e64"
    3743           0 :                       return;
    3744           0 :                     case '6':    // 1 string to match.
    3745           0 :                       if (memcmp(Mnemonic.data()+12, "4_e64", 5) != 0)
    3746             :                         break;
    3747           0 :                       Mnemonic = "v_cmp_nge_f64";      // "v_cmp_nge_f64_e64"
    3748           0 :                       return;
    3749             :                     }
    3750             :                     break;
    3751           0 :                   case 't':      // 3 strings to match.
    3752           0 :                     if (memcmp(Mnemonic.data()+9, "_f", 2) != 0)
    3753             :                       break;
    3754           0 :                     switch (Mnemonic[11]) {
    3755             :                     default: break;
    3756           0 :                     case '1':    // 1 string to match.
    3757           0 :                       if (memcmp(Mnemonic.data()+12, "6_e64", 5) != 0)
    3758             :                         break;
    3759           0 :                       Mnemonic = "v_cmp_ngt_f16";      // "v_cmp_ngt_f16_e64"
    3760           0 :                       return;
    3761           0 :                     case '3':    // 1 string to match.
    3762           0 :                       if (memcmp(Mnemonic.data()+12, "2_e64", 5) != 0)
    3763             :                         break;
    3764           0 :                       Mnemonic = "v_cmp_ngt_f32";      // "v_cmp_ngt_f32_e64"
    3765           0 :                       return;
    3766           0 :                     case '6':    // 1 string to match.
    3767           0 :                       if (memcmp(Mnemonic.data()+12, "4_e64", 5) != 0)
    3768             :                         break;
    3769           0 :                       Mnemonic = "v_cmp_ngt_f64";      // "v_cmp_ngt_f64_e64"
    3770           0 :                       return;
    3771             :                     }
    3772             :                     break;
    3773             :                   }
    3774             :                   break;
    3775           0 :                 case 'l':        // 9 strings to match.
    3776           0 :                   switch (Mnemonic[8]) {
    3777             :                   default: break;
    3778           0 :                   case 'e':      // 3 strings to match.
    3779           0 :                     if (memcmp(Mnemonic.data()+9, "_f", 2) != 0)
    3780             :                       break;
    3781           0 :                     switch (Mnemonic[11]) {
    3782             :                     default: break;
    3783           0 :                     case '1':    // 1 string to match.
    3784           0 :                       if (memcmp(Mnemonic.data()+12, "6_e64", 5) != 0)
    3785             :                         break;
    3786           0 :                       Mnemonic = "v_cmp_nle_f16";      // "v_cmp_nle_f16_e64"
    3787           0 :                       return;
    3788           0 :                     case '3':    // 1 string to match.
    3789           0 :                       if (memcmp(Mnemonic.data()+12, "2_e64", 5) != 0)
    3790             :                         break;
    3791           0 :                       Mnemonic = "v_cmp_nle_f32";      // "v_cmp_nle_f32_e64"
    3792           0 :                       return;
    3793           0 :                     case '6':    // 1 string to match.
    3794           0 :                       if (memcmp(Mnemonic.data()+12, "4_e64", 5) != 0)
    3795             :                         break;
    3796           0 :                       Mnemonic = "v_cmp_nle_f64";      // "v_cmp_nle_f64_e64"
    3797           0 :                       return;
    3798             :                     }
    3799             :                     break;
    3800           0 :                   case 'g':      // 3 strings to match.
    3801           0 :                     if (memcmp(Mnemonic.data()+9, "_f", 2) != 0)
    3802             :                       break;
    3803           0 :                     switch (Mnemonic[11]) {
    3804             :                     default: break;
    3805           0 :                     case '1':    // 1 string to match.
    3806           0 :                       if (memcmp(Mnemonic.data()+12, "6_e64", 5) != 0)
    3807             :                         break;
    3808           0 :                       Mnemonic = "v_cmp_nlg_f16";      // "v_cmp_nlg_f16_e64"
    3809           0 :                       return;
    3810           0 :                     case '3':    // 1 string to match.
    3811           0 :                       if (memcmp(Mnemonic.data()+12, "2_e64", 5) != 0)
    3812             :                         break;
    3813           0 :                       Mnemonic = "v_cmp_nlg_f32";      // "v_cmp_nlg_f32_e64"
    3814           0 :                       return;
    3815           0 :                     case '6':    // 1 string to match.
    3816           0 :                       if (memcmp(Mnemonic.data()+12, "4_e64", 5) != 0)
    3817             :                         break;
    3818           0 :                       Mnemonic = "v_cmp_nlg_f64";      // "v_cmp_nlg_f64_e64"
    3819           0 :                       return;
    3820             :                     }
    3821             :                     break;
    3822           0 :                   case 't':      // 3 strings to match.
    3823           0 :                     if (memcmp(Mnemonic.data()+9, "_f", 2) != 0)
    3824             :                       break;
    3825           0 :                     switch (Mnemonic[11]) {
    3826             :                     default: break;
    3827           0 :                     case '1':    // 1 string to match.
    3828           0 :                       if (memcmp(Mnemonic.data()+12, "6_e64", 5) != 0)
    3829             :                         break;
    3830           0 :                       Mnemonic = "v_cmp_nlt_f16";      // "v_cmp_nlt_f16_e64"
    3831           0 :                       return;
    3832           0 :                     case '3':    // 1 string to match.
    3833           0 :                       if (memcmp(Mnemonic.data()+12, "2_e64", 5) != 0)
    3834             :                         break;
    3835           0 :                       Mnemonic = "v_cmp_nlt_f32";      // "v_cmp_nlt_f32_e64"
    3836           0 :                       return;
    3837           0 :                     case '6':    // 1 string to match.
    3838           0 :                       if (memcmp(Mnemonic.data()+12, "4_e64", 5) != 0)
    3839             :                         break;
    3840           0 :                       Mnemonic = "v_cmp_nlt_f64";      // "v_cmp_nlt_f64_e64"
    3841           0 :                       return;
    3842             :                     }
    3843             :                     break;
    3844             :                   }
    3845             :                   break;
    3846             :                 }
    3847             :                 break;
    3848           0 :               case 't':  // 3 strings to match.
    3849           0 :                 if (memcmp(Mnemonic.data()+7, "ru_f", 4) != 0)
    3850             :                   break;
    3851           0 :                 switch (Mnemonic[11]) {
    3852             :                 default: break;
    3853           0 :                 case '1':        // 1 string to match.
    3854           0 :                   if (memcmp(Mnemonic.data()+12, "6_e64", 5) != 0)
    3855             :                     break;
    3856           0 :                   Mnemonic = "v_cmp_tru_f16";  // "v_cmp_tru_f16_e64"
    3857           0 :                   return;
    3858           0 :                 case '3':        // 1 string to match.
    3859           0 :                   if (memcmp(Mnemonic.data()+12, "2_e64", 5) != 0)
    3860             :                     break;
    3861           0 :                   Mnemonic = "v_cmp_tru_f32";  // "v_cmp_tru_f32_e64"
    3862           0 :                   return;
    3863           0 :                 case '6':        // 1 string to match.
    3864           0 :                   if (memcmp(Mnemonic.data()+12, "4_e64", 5) != 0)
    3865             :                     break;
    3866           0 :                   Mnemonic = "v_cmp_tru_f64";  // "v_cmp_tru_f64_e64"
    3867           0 :                   return;
    3868             :                 }
    3869             :                 break;
    3870             :               }
    3871             :               break;
    3872           0 :             case 's':    // 18 strings to match.
    3873           0 :               switch (Mnemonic[6]) {
    3874             :               default: break;
    3875           0 :               case '_':  // 12 strings to match.
    3876           0 :                 switch (Mnemonic[7]) {
    3877             :                 default: break;
    3878           0 :                 case 'e':        // 2 strings to match.
    3879           0 :                   if (memcmp(Mnemonic.data()+8, "q_f", 3) != 0)
    3880             :                     break;
    3881           0 :                   switch (Mnemonic[11]) {
    3882             :                   default: break;
    3883           0 :                   case '3':      // 1 string to match.
    3884           0 :                     if (memcmp(Mnemonic.data()+12, "2_e64", 5) != 0)
    3885             :                       break;
    3886           0 :                     Mnemonic = "v_cmps_eq_f32";        // "v_cmps_eq_f32_e64"
    3887           0 :                     return;
    3888           0 :                   case '6':      // 1 string to match.
    3889           0 :                     if (memcmp(Mnemonic.data()+12, "4_e64", 5) != 0)
    3890             :                       break;
    3891           0 :                     Mnemonic = "v_cmps_eq_f64";        // "v_cmps_eq_f64_e64"
    3892           0 :                     return;
    3893             :                   }
    3894             :                   break;
    3895           0 :                 case 'g':        // 4 strings to match.
    3896           0 :                   switch (Mnemonic[8]) {
    3897             :                   default: break;
    3898           0 :                   case 'e':      // 2 strings to match.
    3899           0 :                     if (memcmp(Mnemonic.data()+9, "_f", 2) != 0)
    3900             :                       break;
    3901           0 :                     switch (Mnemonic[11]) {
    3902             :                     default: break;
    3903           0 :                     case '3':    // 1 string to match.
    3904           0 :                       if (memcmp(Mnemonic.data()+12, "2_e64", 5) != 0)
    3905             :                         break;
    3906           0 :                       Mnemonic = "v_cmps_ge_f32";      // "v_cmps_ge_f32_e64"
    3907           0 :                       return;
    3908           0 :                     case '6':    // 1 string to match.
    3909           0 :                       if (memcmp(Mnemonic.data()+12, "4_e64", 5) != 0)
    3910             :                         break;
    3911           0 :                       Mnemonic = "v_cmps_ge_f64";      // "v_cmps_ge_f64_e64"
    3912           0 :                       return;
    3913             :                     }
    3914             :                     break;
    3915           0 :                   case 't':      // 2 strings to match.
    3916           0 :                     if (memcmp(Mnemonic.data()+9, "_f", 2) != 0)
    3917             :                       break;
    3918           0 :                     switch (Mnemonic[11]) {
    3919             :                     default: break;
    3920           0 :                     case '3':    // 1 string to match.
    3921           0 :                       if (memcmp(Mnemonic.data()+12, "2_e64", 5) != 0)
    3922             :                         break;
    3923           0 :                       Mnemonic = "v_cmps_gt_f32";      // "v_cmps_gt_f32_e64"
    3924           0 :                       return;
    3925           0 :                     case '6':    // 1 string to match.
    3926           0 :                       if (memcmp(Mnemonic.data()+12, "4_e64", 5) != 0)
    3927             :                         break;
    3928           0 :                       Mnemonic = "v_cmps_gt_f64";      // "v_cmps_gt_f64_e64"
    3929           0 :                       return;
    3930             :                     }
    3931             :                     break;
    3932             :                   }
    3933             :                   break;
    3934           0 :                 case 'l':        // 6 strings to match.
    3935           0 :                   switch (Mnemonic[8]) {
    3936             :                   default: break;
    3937           0 :                   case 'e':      // 2 strings to match.
    3938           0 :                     if (memcmp(Mnemonic.data()+9, "_f", 2) != 0)
    3939             :                       break;
    3940           0 :                     switch (Mnemonic[11]) {
    3941             :                     default: break;
    3942           0 :                     case '3':    // 1 string to match.
    3943           0 :                       if (memcmp(Mnemonic.data()+12, "2_e64", 5) != 0)
    3944             :                         break;
    3945           0 :                       Mnemonic = "v_cmps_le_f32";      // "v_cmps_le_f32_e64"
    3946           0 :                       return;
    3947           0 :                     case '6':    // 1 string to match.
    3948           0 :                       if (memcmp(Mnemonic.data()+12, "4_e64", 5) != 0)
    3949             :                         break;
    3950           0 :                       Mnemonic = "v_cmps_le_f64";      // "v_cmps_le_f64_e64"
    3951           0 :                       return;
    3952             :                     }
    3953             :                     break;
    3954           0 :                   case 'g':      // 2 strings to match.
    3955           0 :                     if (memcmp(Mnemonic.data()+9, "_f", 2) != 0)
    3956             :                       break;
    3957           0 :                     switch (Mnemonic[11]) {
    3958             :                     default: break;
    3959           0 :                     case '3':    // 1 string to match.
    3960           0 :                       if (memcmp(Mnemonic.data()+12, "2_e64", 5) != 0)
    3961             :                         break;
    3962           0 :                       Mnemonic = "v_cmps_lg_f32";      // "v_cmps_lg_f32_e64"
    3963           0 :                       return;
    3964           0 :                     case '6':    // 1 string to match.
    3965           0 :                       if (memcmp(Mnemonic.data()+12, "4_e64", 5) != 0)
    3966             :                         break;
    3967           0 :                       Mnemonic = "v_cmps_lg_f64";      // "v_cmps_lg_f64_e64"
    3968           0 :                       return;
    3969             :                     }
    3970             :                     break;
    3971           0 :                   case 't':      // 2 strings to match.
    3972           0 :                     if (memcmp(Mnemonic.data()+9, "_f", 2) != 0)
    3973             :                       break;
    3974           0 :                     switch (Mnemonic[11]) {
    3975             :                     default: break;
    3976           0 :                     case '3':    // 1 string to match.
    3977           0 :                       if (memcmp(Mnemonic.data()+12, "2_e64", 5) != 0)
    3978             :                         break;
    3979           0 :                       Mnemonic = "v_cmps_lt_f32";      // "v_cmps_lt_f32_e64"
    3980           0 :                       return;
    3981           0 :                     case '6':    // 1 string to match.
    3982           0 :                       if (memcmp(Mnemonic.data()+12, "4_e64", 5) != 0)
    3983             :                         break;
    3984           0 :                       Mnemonic = "v_cmps_lt_f64";      // "v_cmps_lt_f64_e64"
    3985           0 :                       return;
    3986             :                     }
    3987             :                     break;
    3988             :                   }
    3989             :                   break;
    3990             :                 }
    3991             :                 break;
    3992           0 :               case 'x':  // 6 strings to match.
    3993           0 :                 if (Mnemonic[7] != '_')
    3994             :                   break;
    3995           0 :                 switch (Mnemonic[8]) {
    3996             :                 default: break;
    3997           0 :                 case 'f':        // 2 strings to match.
    3998           0 :                   if (memcmp(Mnemonic.data()+9, "_f", 2) != 0)
    3999             :                     break;
    4000           0 :                   switch (Mnemonic[11]) {
    4001             :                   default: break;
    4002           0 :                   case '3':      // 1 string to match.
    4003           0 :                     if (memcmp(Mnemonic.data()+12, "2_e64", 5) != 0)
    4004             :                       break;
    4005           0 :                     Mnemonic = "v_cmpsx_f_f32";        // "v_cmpsx_f_f32_e64"
    4006           0 :                     return;
    4007           0 :                   case '6':      // 1 string to match.
    4008           0 :                     if (memcmp(Mnemonic.data()+12, "4_e64", 5) != 0)
    4009             :                       break;
    4010           0 :                     Mnemonic = "v_cmpsx_f_f64";        // "v_cmpsx_f_f64_e64"
    4011           0 :                     return;
    4012             :                   }
    4013             :                   break;
    4014           0 :                 case 'o':        // 2 strings to match.
    4015           0 :                   if (memcmp(Mnemonic.data()+9, "_f", 2) != 0)
    4016             :                     break;
    4017           0 :                   switch (Mnemonic[11]) {
    4018             :                   default: break;
    4019           0 :                   case '3':      // 1 string to match.
    4020           0 :                     if (memcmp(Mnemonic.data()+12, "2_e64", 5) != 0)
    4021             :                       break;
    4022           0 :                     Mnemonic = "v_cmpsx_o_f32";        // "v_cmpsx_o_f32_e64"
    4023           0 :                     return;
    4024           0 :                   case '6':      // 1 string to match.
    4025           0 :                     if (memcmp(Mnemonic.data()+12, "4_e64", 5) != 0)
    4026             :                       break;
    4027           0 :                     Mnemonic = "v_cmpsx_o_f64";        // "v_cmpsx_o_f64_e64"
    4028           0 :                     return;
    4029             :                   }
    4030             :                   break;
    4031           0 :                 case 'u':        // 2 strings to match.
    4032           0 :                   if (memcmp(Mnemonic.data()+9, "_f", 2) != 0)
    4033             :                     break;
    4034           0 :                   switch (Mnemonic[11]) {
    4035             :                   default: break;
    4036           0 :                   case '3':      // 1 string to match.
    4037           0 :                     if (memcmp(Mnemonic.data()+12, "2_e64", 5) != 0)
    4038             :                       break;
    4039           0 :                     Mnemonic = "v_cmpsx_u_f32";        // "v_cmpsx_u_f32_e64"
    4040           0 :                     return;
    4041           0 :                   case '6':      // 1 string to match.
    4042           0 :                     if (memcmp(Mnemonic.data()+12, "4_e64", 5) != 0)
    4043             :                       break;
    4044           0 :                     Mnemonic = "v_cmpsx_u_f64";        // "v_cmpsx_u_f64_e64"
    4045           0 :                     return;
    4046             :                   }
    4047             :                   break;
    4048             :                 }
    4049             :                 break;
    4050             :               }
    4051             :               break;
    4052           0 :             case 'x':    // 54 strings to match.
    4053           0 :               if (Mnemonic[6] != '_')
    4054             :                 break;
    4055           0 :               switch (Mnemonic[7]) {
    4056             :               default: break;
    4057           0 :               case 'e':  // 9 strings to match.
    4058           0 :                 if (memcmp(Mnemonic.data()+8, "q_", 2) != 0)
    4059             :                   break;
    4060           0 :                 switch (Mnemonic[10]) {
    4061             :                 default: break;
    4062           0 :                 case 'f':        // 3 strings to match.
    4063           0 :                   switch (Mnemonic[11]) {
    4064             :                   default: break;
    4065           0 :                   case '1':      // 1 string to match.
    4066           0 :                     if (memcmp(Mnemonic.data()+12, "6_e64", 5) != 0)
    4067             :                       break;
    4068           0 :                     Mnemonic = "v_cmpx_eq_f16";        // "v_cmpx_eq_f16_e64"
    4069           0 :                     return;
    4070           0 :                   case '3':      // 1 string to match.
    4071           0 :                     if (memcmp(Mnemonic.data()+12, "2_e64", 5) != 0)
    4072             :                       break;
    4073           0 :                     Mnemonic = "v_cmpx_eq_f32";        // "v_cmpx_eq_f32_e64"
    4074           0 :                     return;
    4075           0 :                   case '6':      // 1 string to match.
    4076           0 :                     if (memcmp(Mnemonic.data()+12, "4_e64", 5) != 0)
    4077             :                       break;
    4078           0 :                     Mnemonic = "v_cmpx_eq_f64";        // "v_cmpx_eq_f64_e64"
    4079           0 :                     return;
    4080             :                   }
    4081             :                   break;
    4082           0 :                 case 'i':        // 3 strings to match.
    4083           0 :                   switch (Mnemonic[11]) {
    4084             :                   default: break;
    4085           0 :                   case '1':      // 1 string to match.
    4086           0 :                     if (memcmp(Mnemonic.data()+12, "6_e64", 5) != 0)
    4087             :                       break;
    4088           0 :                     Mnemonic = "v_cmpx_eq_i16";        // "v_cmpx_eq_i16_e64"
    4089           0 :                     return;
    4090           0 :                   case '3':      // 1 string to match.
    4091           0 :                     if (memcmp(Mnemonic.data()+12, "2_e64", 5) != 0)
    4092             :                       break;
    4093           0 :                     Mnemonic = "v_cmpx_eq_i32";        // "v_cmpx_eq_i32_e64"
    4094           0 :                     return;
    4095           0 :                   case '6':      // 1 string to match.
    4096           0 :                     if (memcmp(Mnemonic.data()+12, "4_e64", 5) != 0)
    4097             :                       break;
    4098           0 :                     Mnemonic = "v_cmpx_eq_i64";        // "v_cmpx_eq_i64_e64"
    4099           0 :                     return;
    4100             :                   }
    4101             :                   break;
    4102           0 :                 case 'u':        // 3 strings to match.
    4103           0 :                   switch (Mnemonic[11]) {
    4104             :                   default: break;
    4105           0 :                   case '1':      // 1 string to match.
    4106           0 :                     if (memcmp(Mnemonic.data()+12, "6_e64", 5) != 0)
    4107             :                       break;
    4108           0 :                     Mnemonic = "v_cmpx_eq_u16";        // "v_cmpx_eq_u16_e64"
    4109           0 :                     return;
    4110           0 :                   case '3':      // 1 string to match.
    4111           0 :                     if (memcmp(Mnemonic.data()+12, "2_e64", 5) != 0)
    4112             :                       break;
    4113           0 :                     Mnemonic = "v_cmpx_eq_u32";        // "v_cmpx_eq_u32_e64"
    4114           0 :                     return;
    4115           0 :                   case '6':      // 1 string to match.
    4116           0 :                     if (memcmp(Mnemonic.data()+12, "4_e64", 5) != 0)
    4117             :                       break;
    4118           0 :                     Mnemonic = "v_cmpx_eq_u64";        // "v_cmpx_eq_u64_e64"
    4119           0 :                     return;
    4120             :                   }
    4121             :                   break;
    4122             :                 }
    4123             :                 break;
    4124           0 :               case 'g':  // 18 strings to match.
    4125           0 :                 switch (Mnemonic[8]) {
    4126             :                 default: break;
    4127           0 :                 case 'e':        // 9 strings to match.
    4128           0 :                   if (Mnemonic[9] != '_')
    4129             :                     break;
    4130           0 :                   switch (Mnemonic[10]) {
    4131             :                   default: break;
    4132           0 :                   case 'f':      // 3 strings to match.
    4133           0 :                     switch (Mnemonic[11]) {
    4134             :                     default: break;
    4135           0 :                     case '1':    // 1 string to match.
    4136           0 :                       if (memcmp(Mnemonic.data()+12, "6_e64", 5) != 0)
    4137             :                         break;
    4138           0 :                       Mnemonic = "v_cmpx_ge_f16";      // "v_cmpx_ge_f16_e64"
    4139           0 :                       return;
    4140           0 :                     case '3':    // 1 string to match.
    4141           0 :                       if (memcmp(Mnemonic.data()+12, "2_e64", 5) != 0)
    4142             :                         break;
    4143           0 :                       Mnemonic = "v_cmpx_ge_f32";      // "v_cmpx_ge_f32_e64"
    4144           0 :                       return;
    4145           0 :                     case '6':    // 1 string to match.
    4146           0 :                       if (memcmp(Mnemonic.data()+12, "4_e64", 5) != 0)
    4147             :                         break;
    4148           0 :                       Mnemonic = "v_cmpx_ge_f64";      // "v_cmpx_ge_f64_e64"
    4149           0 :                       return;
    4150             :                     }
    4151             :                     break;
    4152           0 :                   case 'i':      // 3 strings to match.
    4153           0 :                     switch (Mnemonic[11]) {
    4154             :                     default: break;
    4155           0 :                     case '1':    // 1 string to match.
    4156           0 :                       if (memcmp(Mnemonic.data()+12, "6_e64", 5) != 0)
    4157             :                         break;
    4158           0 :                       Mnemonic = "v_cmpx_ge_i16";      // "v_cmpx_ge_i16_e64"
    4159           0 :                       return;
    4160           0 :                     case '3':    // 1 string to match.
    4161           0 :                       if (memcmp(Mnemonic.data()+12, "2_e64", 5) != 0)
    4162             :                         break;
    4163           0 :                       Mnemonic = "v_cmpx_ge_i32";      // "v_cmpx_ge_i32_e64"
    4164           0 :                       return;
    4165           0 :                     case '6':    // 1 string to match.
    4166           0 :                       if (memcmp(Mnemonic.data()+12, "4_e64", 5) != 0)
    4167             :                         break;
    4168           0 :                       Mnemonic = "v_cmpx_ge_i64";      // "v_cmpx_ge_i64_e64"
    4169           0 :                       return;
    4170             :                     }
    4171             :                     break;
    4172           0 :                   case 'u':      // 3 strings to match.
    4173           0 :                     switch (Mnemonic[11]) {
    4174             :                     default: break;
    4175           0 :                     case '1':    // 1 string to match.
    4176           0 :                       if (memcmp(Mnemonic.data()+12, "6_e64", 5) != 0)
    4177             :                         break;
    4178           0 :                       Mnemonic = "v_cmpx_ge_u16";      // "v_cmpx_ge_u16_e64"
    4179           0 :                       return;
    4180           0 :                     case '3':    // 1 string to match.
    4181           0 :                       if (memcmp(Mnemonic.data()+12, "2_e64", 5) != 0)
    4182             :                         break;
    4183           0 :                       Mnemonic = "v_cmpx_ge_u32";      // "v_cmpx_ge_u32_e64"
    4184           0 :                       return;
    4185           0 :                     case '6':    // 1 string to match.
    4186           0 :                       if (memcmp(Mnemonic.data()+12, "4_e64", 5) != 0)
    4187             :                         break;
    4188           0 :                       Mnemonic = "v_cmpx_ge_u64";      // "v_cmpx_ge_u64_e64"
    4189           0 :                       return;
    4190             :                     }
    4191             :                     break;
    4192             :                   }
    4193             :                   break;
    4194           0 :                 case 't':        // 9 strings to match.
    4195           0 :                   if (Mnemonic[9] != '_')
    4196             :                     break;
    4197           0 :                   switch (Mnemonic[10]) {
    4198             :                   default: break;
    4199           0 :                   case 'f':      // 3 strings to match.
    4200           0 :                     switch (Mnemonic[11]) {
    4201             :                     default: break;
    4202           0 :                     case '1':    // 1 string to match.
    4203           0 :                       if (memcmp(Mnemonic.data()+12, "6_e64", 5) != 0)
    4204             :                         break;
    4205           0 :                       Mnemonic = "v_cmpx_gt_f16";      // "v_cmpx_gt_f16_e64"
    4206           0 :                       return;
    4207           0 :                     case '3':    // 1 string to match.
    4208           0 :                       if (memcmp(Mnemonic.data()+12, "2_e64", 5) != 0)
    4209             :                         break;
    4210           0 :                       Mnemonic = "v_cmpx_gt_f32";      // "v_cmpx_gt_f32_e64"
    4211           0 :                       return;
    4212           0 :                     case '6':    // 1 string to match.
    4213           0 :                       if (memcmp(Mnemonic.data()+12, "4_e64", 5) != 0)
    4214             :                         break;
    4215           0 :                       Mnemonic = "v_cmpx_gt_f64";      // "v_cmpx_gt_f64_e64"
    4216           0 :                       return;
    4217             :                     }
    4218             :                     break;
    4219           0 :                   case 'i':      // 3 strings to match.
    4220           0 :                     switch (Mnemonic[11]) {
    4221             :                     default: break;
    4222           0 :                     case '1':    // 1 string to match.
    4223           0 :                       if (memcmp(Mnemonic.data()+12, "6_e64", 5) != 0)
    4224             :                         break;
    4225           0 :                       Mnemonic = "v_cmpx_gt_i16";      // "v_cmpx_gt_i16_e64"
    4226           0 :                       return;
    4227           0 :                     case '3':    // 1 string to match.
    4228           0 :                       if (memcmp(Mnemonic.data()+12, "2_e64", 5) != 0)
    4229             :                         break;
    4230           0 :                       Mnemonic = "v_cmpx_gt_i32";      // "v_cmpx_gt_i32_e64"
    4231           0 :                       return;
    4232           0 :                     case '6':    // 1 string to match.
    4233           0 :                       if (memcmp(Mnemonic.data()+12, "4_e64", 5) != 0)
    4234             :                         break;
    4235           0 :                       Mnemonic = "v_cmpx_gt_i64";      // "v_cmpx_gt_i64_e64"
    4236           0 :                       return;
    4237             :                     }
    4238             :                     break;
    4239           0 :                   case 'u':      // 3 strings to match.
    4240           0 :                     switch (Mnemonic[11]) {
    4241             :                     default: break;
    4242           0 :                     case '1':    // 1 string to match.
    4243           0 :                       if (memcmp(Mnemonic.data()+12, "6_e64", 5) != 0)
    4244             :                         break;
    4245           0 :                       Mnemonic = "v_cmpx_gt_u16";      // "v_cmpx_gt_u16_e64"
    4246           0 :                       return;
    4247           0 :                     case '3':    // 1 string to match.
    4248           0 :                       if (memcmp(Mnemonic.data()+12, "2_e64", 5) != 0)
    4249             :                         break;
    4250           0 :                       Mnemonic = "v_cmpx_gt_u32";      // "v_cmpx_gt_u32_e64"
    4251           0 :                       return;
    4252           0 :                     case '6':    // 1 string to match.
    4253           0 :                       if (memcmp(Mnemonic.data()+12, "4_e64", 5) != 0)
    4254             :                         break;
    4255           0 :                       Mnemonic = "v_cmpx_gt_u64";      // "v_cmpx_gt_u64_e64"
    4256           0 :                       return;
    4257             :                     }
    4258             :                     break;
    4259             :                   }
    4260             :                   break;
    4261             :                 }
    4262             :                 break;
    4263           0 :               case 'l':  // 21 strings to match.
    4264           0 :                 switch (Mnemonic[8]) {
    4265             :                 default: break;
    4266           0 :                 case 'e':        // 9 strings to match.
    4267           0 :                   if (Mnemonic[9] != '_')
    4268             :                     break;
    4269           0 :                   switch (Mnemonic[10]) {
    4270             :                   default: break;
    4271           0 :                   case 'f':      // 3 strings to match.
    4272           0 :                     switch (Mnemonic[11]) {
    4273             :                     default: break;
    4274           0 :                     case '1':    // 1 string to match.
    4275           0 :                       if (memcmp(Mnemonic.data()+12, "6_e64", 5) != 0)
    4276             :                         break;
    4277           0 :                       Mnemonic = "v_cmpx_le_f16";      // "v_cmpx_le_f16_e64"
    4278           0 :                       return;
    4279           0 :                     case '3':    // 1 string to match.
    4280           0 :                       if (memcmp(Mnemonic.data()+12, "2_e64", 5) != 0)
    4281             :                         break;
    4282           0 :                       Mnemonic = "v_cmpx_le_f32";      // "v_cmpx_le_f32_e64"
    4283           0 :                       return;
    4284           0 :                     case '6':    // 1 string to match.
    4285           0 :                       if (memcmp(Mnemonic.data()+12, "4_e64", 5) != 0)
    4286             :                         break;
    4287           0 :                       Mnemonic = "v_cmpx_le_f64";      // "v_cmpx_le_f64_e64"
    4288           0 :                       return;
    4289             :                     }
    4290             :                     break;
    4291           0 :                   case 'i':      // 3 strings to match.
    4292           0 :                     switch (Mnemonic[11]) {
    4293             :                     default: break;
    4294           0 :                     case '1':    // 1 string to match.
    4295           0 :                       if (memcmp(Mnemonic.data()+12, "6_e64", 5) != 0)
    4296             :                         break;
    4297           0 :                       Mnemonic = "v_cmpx_le_i16";      // "v_cmpx_le_i16_e64"
    4298           0 :                       return;
    4299           0 :                     case '3':    // 1 string to match.
    4300           0 :                       if (memcmp(Mnemonic.data()+12, "2_e64", 5) != 0)
    4301             :                         break;
    4302           0 :                       Mnemonic = "v_cmpx_le_i32";      // "v_cmpx_le_i32_e64"
    4303           0 :                       return;
    4304           0 :                     case '6':    // 1 string to match.
    4305           0 :                       if (memcmp(Mnemonic.data()+12, "4_e64", 5) != 0)
    4306             :                         break;
    4307           0 :                       Mnemonic = "v_cmpx_le_i64";      // "v_cmpx_le_i64_e64"
    4308           0 :                       return;
    4309             :                     }
    4310             :                     break;
    4311           0 :                   case 'u':      // 3 strings to match.
    4312           0 :                     switch (Mnemonic[11]) {
    4313             :                     default: break;
    4314           0 :                     case '1':    // 1 string to match.
    4315           0 :                       if (memcmp(Mnemonic.data()+12, "6_e64", 5) != 0)
    4316             :                         break;
    4317           0 :                       Mnemonic = "v_cmpx_le_u16";      // "v_cmpx_le_u16_e64"
    4318           0 :                       return;
    4319           0 :                     case '3':    // 1 string to match.
    4320           0 :                       if (memcmp(Mnemonic.data()+12, "2_e64", 5) != 0)
    4321             :                         break;
    4322           0 :                       Mnemonic = "v_cmpx_le_u32";      // "v_cmpx_le_u32_e64"
    4323           0 :                       return;
    4324           0 :                     case '6':    // 1 string to match.
    4325           0 :                       if (memcmp(Mnemonic.data()+12, "4_e64", 5) != 0)
    4326             :                         break;
    4327           0 :                       Mnemonic = "v_cmpx_le_u64";      // "v_cmpx_le_u64_e64"
    4328           0 :                       return;
    4329             :                     }
    4330             :                     break;
    4331             :                   }
    4332             :                   break;
    4333           0 :                 case 'g':        // 3 strings to match.
    4334           0 :                   if (memcmp(Mnemonic.data()+9, "_f", 2) != 0)
    4335             :                     break;
    4336           0 :                   switch (Mnemonic[11]) {
    4337             :                   default: break;
    4338           0 :                   case '1':      // 1 string to match.
    4339           0 :                     if (memcmp(Mnemonic.data()+12, "6_e64", 5) != 0)
    4340             :                       break;
    4341           0 :                     Mnemonic = "v_cmpx_lg_f16";        // "v_cmpx_lg_f16_e64"
    4342           0 :                     return;
    4343           0 :                   case '3':      // 1 string to match.
    4344           0 :                     if (memcmp(Mnemonic.data()+12, "2_e64", 5) != 0)
    4345             :                       break;
    4346           0 :                     Mnemonic = "v_cmpx_lg_f32";        // "v_cmpx_lg_f32_e64"
    4347           0 :                     return;
    4348           0 :                   case '6':      // 1 string to match.
    4349           0 :                     if (memcmp(Mnemonic.data()+12, "4_e64", 5) != 0)
    4350             :                       break;
    4351           0 :                     Mnemonic = "v_cmpx_lg_f64";        // "v_cmpx_lg_f64_e64"
    4352           0 :                     return;
    4353             :                   }
    4354             :                   break;
    4355           0 :                 case 't':        // 9 strings to match.
    4356           0 :                   if (Mnemonic[9] != '_')
    4357             :                     break;
    4358           0 :                   switch (Mnemonic[10]) {
    4359             :                   default: break;
    4360           0 :                   case 'f':      // 3 strings to match.
    4361           0 :                     switch (Mnemonic[11]) {
    4362             :                     default: break;
    4363           0 :                     case '1':    // 1 string to match.
    4364           0 :                       if (memcmp(Mnemonic.data()+12, "6_e64", 5) != 0)
    4365             :                         break;
    4366           0 :                       Mnemonic = "v_cmpx_lt_f16";      // "v_cmpx_lt_f16_e64"
    4367           0 :                       return;
    4368           0 :                     case '3':    // 1 string to match.
    4369           0 :                       if (memcmp(Mnemonic.data()+12, "2_e64", 5) != 0)
    4370             :                         break;
    4371           0 :                       Mnemonic = "v_cmpx_lt_f32";      // "v_cmpx_lt_f32_e64"
    4372           0 :                       return;
    4373           0 :                     case '6':    // 1 string to match.
    4374           0 :                       if (memcmp(Mnemonic.data()+12, "4_e64", 5) != 0)
    4375             :                         break;
    4376           0 :                       Mnemonic = "v_cmpx_lt_f64";      // "v_cmpx_lt_f64_e64"
    4377           0 :                       return;
    4378             :                     }
    4379             :                     break;
    4380           0 :                   case 'i':      // 3 strings to match.
    4381           0 :                     switch (Mnemonic[11]) {
    4382             :                     default: break;
    4383           0 :                     case '1':    // 1 string to match.
    4384           0 :                       if (memcmp(Mnemonic.data()+12, "6_e64", 5) != 0)
    4385             :                         break;
    4386           0 :                       Mnemonic = "v_cmpx_lt_i16";      // "v_cmpx_lt_i16_e64"
    4387           0 :                       return;
    4388           0 :                     case '3':    // 1 string to match.
    4389           0 :                       if (memcmp(Mnemonic.data()+12, "2_e64", 5) != 0)
    4390             :                         break;
    4391           0 :                       Mnemonic = "v_cmpx_lt_i32";      // "v_cmpx_lt_i32_e64"
    4392           0 :                       return;
    4393           0 :                     case '6':    // 1 string to match.
    4394           0 :                       if (memcmp(Mnemonic.data()+12, "4_e64", 5) != 0)
    4395             :                         break;
    4396           0 :                       Mnemonic = "v_cmpx_lt_i64";      // "v_cmpx_lt_i64_e64"
    4397           0 :                       return;
    4398             :                     }
    4399             :                     break;
    4400           0 :                   case 'u':      // 3 strings to match.
    4401           0 :                     switch (Mnemonic[11]) {
    4402             :                     default: break;
    4403           0 :                     case '1':    // 1 string to match.
    4404           0 :                       if (memcmp(Mnemonic.data()+12, "6_e64", 5) != 0)
    4405             :                         break;
    4406           0 :                       Mnemonic = "v_cmpx_lt_u16";      // "v_cmpx_lt_u16_e64"
    4407           0 :                       return;
    4408           0 :                     case '3':    // 1 string to match.
    4409           0 :                       if (memcmp(Mnemonic.data()+12, "2_e64", 5) != 0)
    4410             :                         break;
    4411           0 :                       Mnemonic = "v_cmpx_lt_u32";      // "v_cmpx_lt_u32_e64"
    4412           0 :                       return;
    4413           0 :                     case '6':    // 1 string to match.
    4414           0 :                       if (memcmp(Mnemonic.data()+12, "4_e64", 5) != 0)
    4415             :                         break;
    4416           0 :                       Mnemonic = "v_cmpx_lt_u64";      // "v_cmpx_lt_u64_e64"
    4417           0 :                       return;
    4418             :                     }
    4419             :                     break;
    4420             :                   }
    4421             :                   break;
    4422             :                 }
    4423             :                 break;
    4424           0 :               case 'n':  // 6 strings to match.
    4425           0 :                 if (memcmp(Mnemonic.data()+8, "e_", 2) != 0)
    4426             :                   break;
    4427           0 :                 switch (Mnemonic[10]) {
    4428             :                 default: break;
    4429           0 :                 case 'i':        // 3 strings to match.
    4430           0 :                   switch (Mnemonic[11]) {
    4431             :                   default: break;
    4432           0 :                   case '1':      // 1 string to match.
    4433           0 :                     if (memcmp(Mnemonic.data()+12, "6_e64", 5) != 0)
    4434             :                       break;
    4435           0 :                     Mnemonic = "v_cmpx_ne_i16";        // "v_cmpx_ne_i16_e64"
    4436           0 :                     return;
    4437           0 :                   case '3':      // 1 string to match.
    4438           0 :                     if (memcmp(Mnemonic.data()+12, "2_e64", 5) != 0)
    4439             :                       break;
    4440           0 :                     Mnemonic = "v_cmpx_ne_i32";        // "v_cmpx_ne_i32_e64"
    4441           0 :                     return;
    4442           0 :                   case '6':      // 1 string to match.
    4443           0 :                     if (memcmp(Mnemonic.data()+12, "4_e64", 5) != 0)
    4444             :                       break;
    4445           0 :                     Mnemonic = "v_cmpx_ne_i64";        // "v_cmpx_ne_i64_e64"
    4446           0 :                     return;
    4447             :                   }
    4448             :                   break;
    4449           0 :                 case 'u':        // 3 strings to match.
    4450           0 :                   switch (Mnemonic[11]) {
    4451             :                   default: break;
    4452           0 :                   case '1':      // 1 string to match.
    4453           0 :                     if (memcmp(Mnemonic.data()+12, "6_e64", 5) != 0)
    4454             :                       break;
    4455           0 :                     Mnemonic = "v_cmpx_ne_u16";        // "v_cmpx_ne_u16_e64"
    4456           0 :                     return;
    4457           0 :                   case '3':      // 1 string to match.
    4458           0 :                     if (memcmp(Mnemonic.data()+12, "2_e64", 5) != 0)
    4459             :                       break;
    4460           0 :                     Mnemonic = "v_cmpx_ne_u32";        // "v_cmpx_ne_u32_e64"
    4461           0 :                     return;
    4462           0 :                   case '6':      // 1 string to match.
    4463           0 :                     if (memcmp(Mnemonic.data()+12, "4_e64", 5) != 0)
    4464             :                       break;
    4465           0 :                     Mnemonic = "v_cmpx_ne_u64";        // "v_cmpx_ne_u64_e64"
    4466           0 :                     return;
    4467             :                   }
    4468             :                   break;
    4469             :                 }
    4470             :                 break;
    4471             :               }
    4472             :               break;
    4473             :             }
    4474             :             break;
    4475           0 :           case 'n':      // 1 string to match.
    4476           0 :             if (memcmp(Mnemonic.data()+4, "dmask_b32_e64", 13) != 0)
    4477             :               break;
    4478           0 :             Mnemonic = "v_cndmask_b32";        // "v_cndmask_b32_e64"
    4479           0 :             return;
    4480         148 :           case 'v':      // 16 strings to match.
    4481         148 :             if (memcmp(Mnemonic.data()+4, "t_", 2) != 0)
    4482             :               break;
    4483         296 :             switch (Mnemonic[6]) {
    4484             :             default: break;
    4485          74 :             case 'f':    // 10 strings to match.
    4486         148 :               switch (Mnemonic[7]) {
    4487             :               default: break;
    4488           0 :               case '1':  // 3 strings to match.
    4489           0 :                 if (memcmp(Mnemonic.data()+8, "6_", 2) != 0)
    4490             :                   break;
    4491           0 :                 switch (Mnemonic[10]) {
    4492             :                 default: break;
    4493           0 :                 case 'f':        // 1 string to match.
    4494           0 :                   if (memcmp(Mnemonic.data()+11, "32_e64", 6) != 0)
    4495             :                     break;
    4496           0 :                   Mnemonic = "v_cvt_f16_f32";  // "v_cvt_f16_f32_e64"
    4497           0 :                   return;
    4498           0 :                 case 'i':        // 1 string to match.
    4499           0 :                   if (memcmp(Mnemonic.data()+11, "16_e64", 6) != 0)
    4500             :                     break;
    4501           0 :                   Mnemonic = "v_cvt_f16_i16";  // "v_cvt_f16_i16_e64"
    4502           0 :                   return;
    4503           0 :                 case 'u':        // 1 string to match.
    4504           0 :                   if (memcmp(Mnemonic.data()+11, "16_e64", 6) != 0)
    4505             :                     break;
    4506           0 :                   Mnemonic = "v_cvt_f16_u16";  // "v_cvt_f16_u16_e64"
    4507           0 :                   return;
    4508             :                 }
    4509             :                 break;
    4510           0 :               case '3':  // 4 strings to match.
    4511           0 :                 if (memcmp(Mnemonic.data()+8, "2_", 2) != 0)
    4512             :                   break;
    4513           0 :                 switch (Mnemonic[10]) {
    4514             :                 default: break;
    4515           0 :                 case 'f':        // 2 strings to match.
    4516           0 :                   switch (Mnemonic[11]) {
    4517             :                   default: break;
    4518           0 :                   case '1':      // 1 string to match.
    4519           0 :                     if (memcmp(Mnemonic.data()+12, "6_e64", 5) != 0)
    4520             :                       break;
    4521           0 :                     Mnemonic = "v_cvt_f32_f16";        // "v_cvt_f32_f16_e64"
    4522           0 :                     return;
    4523           0 :                   case '6':      // 1 string to match.
    4524           0 :                     if (memcmp(Mnemonic.data()+12, "4_e64", 5) != 0)
    4525             :                       break;
    4526           0 :                     Mnemonic = "v_cvt_f32_f64";        // "v_cvt_f32_f64_e64"
    4527           0 :                     return;
    4528             :                   }
    4529             :                   break;
    4530           0 :                 case 'i':        // 1 string to match.
    4531           0 :                   if (memcmp(Mnemonic.data()+11, "32_e64", 6) != 0)
    4532             :                     break;
    4533           0 :                   Mnemonic = "v_cvt_f32_i32";  // "v_cvt_f32_i32_e64"
    4534           0 :                   return;
    4535           0 :                 case 'u':        // 1 string to match.
    4536           0 :                   if (memcmp(Mnemonic.data()+11, "32_e64", 6) != 0)
    4537             :                     break;
    4538           0 :                   Mnemonic = "v_cvt_f32_u32";  // "v_cvt_f32_u32_e64"
    4539           0 :                   return;
    4540             :                 }
    4541             :                 break;
    4542           0 :               case '6':  // 3 strings to match.
    4543           0 :                 if (memcmp(Mnemonic.data()+8, "4_", 2) != 0)
    4544             :                   break;
    4545           0 :                 switch (Mnemonic[10]) {
    4546             :                 default: break;
    4547           0 :                 case 'f':        // 1 string to match.
    4548           0 :                   if (memcmp(Mnemonic.data()+11, "32_e64", 6) != 0)
    4549             :                     break;
    4550           0 :                   Mnemonic = "v_cvt_f64_f32";  // "v_cvt_f64_f32_e64"
    4551           0 :                   return;
    4552           0 :                 case 'i':        // 1 string to match.
    4553           0 :                   if (memcmp(Mnemonic.data()+11, "32_e64", 6) != 0)
    4554             :                     break;
    4555           0 :                   Mnemonic = "v_cvt_f64_i32";  // "v_cvt_f64_i32_e64"
    4556           0 :                   return;
    4557           0 :                 case 'u':        // 1 string to match.
    4558           0 :                   if (memcmp(Mnemonic.data()+11, "32_e64", 6) != 0)
    4559             :                     break;
    4560           0 :                   Mnemonic = "v_cvt_f64_u32";  // "v_cvt_f64_u32_e64"
    4561           0 :                   return;
    4562             :                 }
    4563             :                 break;
    4564             :               }
    4565             :               break;
    4566           0 :             case 'i':    // 3 strings to match.
    4567           0 :               switch (Mnemonic[7]) {
    4568             :               default: break;
    4569           0 :               case '1':  // 1 string to match.
    4570           0 :                 if (memcmp(Mnemonic.data()+8, "6_f16_e64", 9) != 0)
    4571             :                   break;
    4572           0 :                 Mnemonic = "v_cvt_i16_f16";    // "v_cvt_i16_f16_e64"
    4573           0 :                 return;
    4574           0 :               case '3':  // 2 strings to match.
    4575           0 :                 if (memcmp(Mnemonic.data()+8, "2_f", 3) != 0)
    4576             :                   break;
    4577           0 :                 switch (Mnemonic[11]) {
    4578             :                 default: break;
    4579           0 :                 case '3':        // 1 string to match.
    4580           0 :                   if (memcmp(Mnemonic.data()+12, "2_e64", 5) != 0)
    4581             :                     break;
    4582           0 :                   Mnemonic = "v_cvt_i32_f32";  // "v_cvt_i32_f32_e64"
    4583           0 :                   return;
    4584           0 :                 case '6':        // 1 string to match.
    4585           0 :                   if (memcmp(Mnemonic.data()+12, "4_e64", 5) != 0)
    4586             :                     break;
    4587           0 :                   Mnemonic = "v_cvt_i32_f64";  // "v_cvt_i32_f64_e64"
    4588           0 :                   return;
    4589             :                 }
    4590             :                 break;
    4591             :               }
    4592             :               break;
    4593           0 :             case 'u':    // 3 strings to match.
    4594           0 :               switch (Mnemonic[7]) {
    4595             :               default: break;
    4596           0 :               case '1':  // 1 string to match.
    4597           0 :                 if (memcmp(Mnemonic.data()+8, "6_f16_e64", 9) != 0)
    4598             :                   break;
    4599           0 :                 Mnemonic = "v_cvt_u16_f16";    // "v_cvt_u16_f16_e64"
    4600           0 :                 return;
    4601           0 :               case '3':  // 2 strings to match.
    4602           0 :                 if (memcmp(Mnemonic.data()+8, "2_f", 3) != 0)
    4603             :                   break;
    4604           0 :                 switch (Mnemonic[11]) {
    4605             :                 default: break;
    4606           0 :                 case '3':        // 1 string to match.
    4607           0 :                   if (memcmp(Mnemonic.data()+12, "2_e64", 5) != 0)
    4608             :                     break;
    4609           0 :                   Mnemonic = "v_cvt_u32_f32";  // "v_cvt_u32_f32_e64"
    4610           0 :                   return;
    4611           0 :                 case '6':        // 1 string to match.
    4612           0 :                   if (memcmp(Mnemonic.data()+12, "4_e64", 5) != 0)
    4613             :                     break;
    4614           0 :                   Mnemonic = "v_cvt_u32_f64";  // "v_cvt_u32_f64_e64"
    4615           0 :                   return;
    4616             :                 }
    4617             :                 break;
    4618             :               }
    4619             :               break;
    4620             :             }
    4621             :             break;
    4622             :           }
    4623             :           break;
    4624           0 :         case 'l':        // 7 strings to match.
    4625           0 :           if (memcmp(Mnemonic.data()+3, "sh", 2) != 0)
    4626             :             break;
    4627           0 :           switch (Mnemonic[5]) {
    4628             :           default: break;
    4629           0 :           case 'l':      // 4 strings to match.
    4630           0 :             switch (Mnemonic[6]) {
    4631             :             default: break;
    4632           0 :             case '_':    // 1 string to match.
    4633           0 :               if (memcmp(Mnemonic.data()+7, "or_b32_e64", 10) != 0)
    4634             :                 break;
    4635           0 :               Mnemonic = "v_lshl_or_b32";      // "v_lshl_or_b32_e64"
    4636           0 :               return;
    4637           0 :             case 'r':    // 3 strings to match.
    4638           0 :               if (memcmp(Mnemonic.data()+7, "ev_b", 4) != 0)
    4639             :                 break;
    4640           0 :               switch (Mnemonic[11]) {
    4641             :               default: break;
    4642           0 :               case '1':  // 1 string to match.
    4643           0 :                 if (memcmp(Mnemonic.data()+12, "6_e64", 5) != 0)
    4644             :                   break;
    4645           0 :                 Mnemonic = "v_lshlrev_b16";    // "v_lshlrev_b16_e64"
    4646           0 :                 return;
    4647           0 :               case '3':  // 1 string to match.
    4648           0 :                 if (memcmp(Mnemonic.data()+12, "2_e64", 5) != 0)
    4649             :                   break;
    4650           0 :                 Mnemonic = "v_lshlrev_b32";    // "v_lshlrev_b32_e64"
    4651           0 :                 return;
    4652           0 :               case '6':  // 1 string to match.
    4653           0 :                 if (memcmp(Mnemonic.data()+12, "4_e64", 5) != 0)
    4654             :                   break;
    4655           0 :                 Mnemonic = "v_lshlrev_b64";    // "v_lshlrev_b64_e64"
    4656           0 :                 return;
    4657             :               }
    4658             :               break;
    4659             :             }
    4660             :             break;
    4661           0 :           case 'r':      // 3 strings to match.
    4662           0 :             if (memcmp(Mnemonic.data()+6, "rev_b", 5) != 0)
    4663             :               break;
    4664           0 :             switch (Mnemonic[11]) {
    4665             :             default: break;
    4666           0 :             case '1':    // 1 string to match.
    4667           0 :               if (memcmp(Mnemonic.data()+12, "6_e64", 5) != 0)
    4668             :                 break;
    4669           0 :               Mnemonic = "v_lshrrev_b16";      // "v_lshrrev_b16_e64"
    4670           0 :               return;
    4671           0 :             case '3':    // 1 string to match.
    4672           0 :               if (memcmp(Mnemonic.data()+12, "2_e64", 5) != 0)
    4673             :                 break;
    4674           0 :               Mnemonic = "v_lshrrev_b32";      // "v_lshrrev_b32_e64"
    4675           0 :               return;
    4676           0 :             case '6':    // 1 string to match.
    4677           0 :               if (memcmp(Mnemonic.data()+12, "4_e64", 5) != 0)
    4678             :                 break;
    4679           0 :               Mnemonic = "v_lshrrev_b64";      // "v_lshrrev_b64_e64"
    4680           0 :               return;
    4681             :             }
    4682             :             break;
    4683             :           }
    4684             :           break;
    4685         170 :         case 'm':        // 12 strings to match.
    4686         340 :           switch (Mnemonic[3]) {
    4687             :           default: break;
    4688           0 :           case 'a':      // 7 strings to match.
    4689           0 :             if (memcmp(Mnemonic.data()+4, "d_", 2) != 0)
    4690             :               break;
    4691           0 :             switch (Mnemonic[6]) {
    4692             :             default: break;
    4693           0 :             case 'i':    // 3 strings to match.
    4694           0 :               switch (Mnemonic[7]) {
    4695             :               default: break;
    4696           0 :               case '3':  // 2 strings to match.
    4697           0 :                 if (memcmp(Mnemonic.data()+8, "2_i", 3) != 0)
    4698             :                   break;
    4699           0 :                 switch (Mnemonic[11]) {
    4700             :                 default: break;
    4701           0 :                 case '1':        // 1 string to match.
    4702           0 :                   if (memcmp(Mnemonic.data()+12, "6_e64", 5) != 0)
    4703             :                     break;
    4704           0 :                   Mnemonic = "v_mad_i32_i16";  // "v_mad_i32_i16_e64"
    4705           0 :                   return;
    4706           0 :                 case '2':        // 1 string to match.
    4707           0 :                   if (memcmp(Mnemonic.data()+12, "4_e64", 5) != 0)
    4708             :                     break;
    4709           0 :                   Mnemonic = "v_mad_i32_i24";  // "v_mad_i32_i24_e64"
    4710           0 :                   return;
    4711             :                 }
    4712             :                 break;
    4713           0 :               case '6':  // 1 string to match.
    4714           0 :                 if (memcmp(Mnemonic.data()+8, "4_i32_e64", 9) != 0)
    4715             :                   break;
    4716           0 :                 Mnemonic = "v_mad_i64_i32";    // "v_mad_i64_i32_e64"
    4717           0 :                 return;
    4718             :               }
    4719             :               break;
    4720           0 :             case 'm':    // 1 string to match.
    4721           0 :               if (memcmp(Mnemonic.data()+7, "ix_f32_e64", 10) != 0)
    4722             :                 break;
    4723           0 :               Mnemonic = "v_mad_mix_f32";      // "v_mad_mix_f32_e64"
    4724           0 :               return;
    4725           0 :             case 'u':    // 3 strings to match.
    4726           0 :               switch (Mnemonic[7]) {
    4727             :               default: break;
    4728           0 :               case '3':  // 2 strings to match.
    4729           0 :                 if (memcmp(Mnemonic.data()+8, "2_u", 3) != 0)
    4730             :                   break;
    4731           0 :                 switch (Mnemonic[11]) {
    4732             :                 default: break;
    4733           0 :                 case '1':        // 1 string to match.
    4734           0 :                   if (memcmp(Mnemonic.data()+12, "6_e64", 5) != 0)
    4735             :                     break;
    4736           0 :                   Mnemonic = "v_mad_u32_u16";  // "v_mad_u32_u16_e64"
    4737           0 :                   return;
    4738           0 :                 case '2':        // 1 string to match.
    4739           0 :                   if (memcmp(Mnemonic.data()+12, "4_e64", 5) != 0)
    4740             :                     break;
    4741           0 :                   Mnemonic = "v_mad_u32_u24";  // "v_mad_u32_u24_e64"
    4742           0 :                   return;
    4743             :                 }
    4744             :                 break;
    4745           0 :               case '6':  // 1 string to match.
    4746           0 :                 if (memcmp(Mnemonic.data()+8, "4_u32_e64", 9) != 0)
    4747             :                   break;
    4748           0 :                 Mnemonic = "v_mad_u64_u32";    // "v_mad_u64_u32_e64"
    4749           0 :                 return;
    4750             :               }
    4751             :               break;
    4752             :             }
    4753             :             break;
    4754           0 :           case 'o':      // 3 strings to match.
    4755           0 :             if (Mnemonic[4] != 'v')
    4756             :               break;
    4757           0 :             switch (Mnemonic[5]) {
    4758             :             default: break;
    4759           0 :             case '_':    // 1 string to match.
    4760           0 :               if (memcmp(Mnemonic.data()+6, "fed_b32_e64", 11) != 0)
    4761             :                 break;
    4762           0 :               Mnemonic = "v_mov_fed_b32";      // "v_mov_fed_b32_e64"
    4763           0 :               return;
    4764           0 :             case 'r':    // 2 strings to match.
    4765           0 :               if (memcmp(Mnemonic.data()+6, "el", 2) != 0)
    4766             :                 break;
    4767           0 :               switch (Mnemonic[8]) {
    4768             :               default: break;
    4769           0 :               case 'd':  // 1 string to match.
    4770           0 :                 if (memcmp(Mnemonic.data()+9, "_b32_e64", 8) != 0)
    4771             :                   break;
    4772           0 :                 Mnemonic = "v_movreld_b32";    // "v_movreld_b32_e64"
    4773           0 :                 return;
    4774           0 :               case 's':  // 1 string to match.
    4775           0 :                 if (memcmp(Mnemonic.data()+9, "_b32_e64", 8) != 0)
    4776             :                   break;
    4777           0 :                 Mnemonic = "v_movrels_b32";    // "v_movrels_b32_e64"
    4778           0 :                 return;
    4779             :               }
    4780             :               break;
    4781             :             }
    4782             :             break;
    4783           0 :           case 'u':      // 2 strings to match.
    4784           0 :             if (memcmp(Mnemonic.data()+4, "l_", 2) != 0)
    4785             :               break;
    4786           0 :             switch (Mnemonic[6]) {
    4787             :             default: break;
    4788           0 :             case 'i':    // 1 string to match.
    4789           0 :               if (memcmp(Mnemonic.data()+7, "32_i24_e64", 10) != 0)
    4790             :                 break;
    4791           0 :               Mnemonic = "v_mul_i32_i24";      // "v_mul_i32_i24_e64"
    4792           0 :               return;
    4793           0 :             case 'u':    // 1 string to match.
    4794           0 :               if (memcmp(Mnemonic.data()+7, "32_u24_e64", 10) != 0)
    4795             :                 break;
    4796           0 :               Mnemonic = "v_mul_u32_u24";      // "v_mul_u32_u24_e64"
    4797           0 :               return;
    4798             :             }
    4799             :             break;
    4800             :           }
    4801             :           break;
    4802           0 :         case 's':        // 1 string to match.
    4803           0 :           if (memcmp(Mnemonic.data()+3, "ubbrev_u32_e64", 14) != 0)
    4804             :             break;
    4805           0 :           Mnemonic = "v_subbrev_u32";  // "v_subbrev_u32_e64"
    4806           0 :           return;
    4807             :         }
    4808             :         break;
    4809         325 :       case 18:   // 60 strings to match.
    4810         325 :         if (memcmp(Mnemonic.data()+0, "v_", 2) != 0)
    4811             :           break;
    4812         480 :         switch (Mnemonic[2]) {
    4813             :         default: break;
    4814           0 :         case 'a':        // 2 strings to match.
    4815           0 :           switch (Mnemonic[3]) {
    4816             :           default: break;
    4817           0 :           case 'd':      // 1 string to match.
    4818           0 :             if (memcmp(Mnemonic.data()+4, "d_lshl_u32_e64", 14) != 0)
    4819             :               break;
    4820           0 :             Mnemonic = "v_add_lshl_u32";       // "v_add_lshl_u32_e64"
    4821           0 :             return;
    4822           0 :           case 'l':      // 1 string to match.
    4823           0 :             if (memcmp(Mnemonic.data()+4, "ignbit_b32_e64", 14) != 0)
    4824             :               break;
    4825           0 :             Mnemonic = "v_alignbit_b32";       // "v_alignbit_b32_e64"
    4826           0 :             return;
    4827             :           }
    4828             :           break;
    4829           0 :         case 'b':        // 1 string to match.
    4830           0 :           if (memcmp(Mnemonic.data()+3, "cnt_u32_b32_e64", 15) != 0)
    4831             :             break;
    4832           0 :           Mnemonic = "v_bcnt_u32_b32";         // "v_bcnt_u32_b32_e64"
    4833           0 :           return;
    4834           0 :         case 'c':        // 47 strings to match.
    4835           0 :           if (memcmp(Mnemonic.data()+3, "mp", 2) != 0)
    4836             :             break;
    4837           0 :           switch (Mnemonic[5]) {
    4838             :           default: break;
    4839           0 :           case 's':      // 26 strings to match.
    4840           0 :             switch (Mnemonic[6]) {
    4841             :             default: break;
    4842           0 :             case '_':    // 14 strings to match.
    4843           0 :               switch (Mnemonic[7]) {
    4844             :               default: break;
    4845           0 :               case 'n':  // 12 strings to match.
    4846           0 :                 switch (Mnemonic[8]) {
    4847             :                 default: break;
    4848           0 :                 case 'e':        // 2 strings to match.
    4849           0 :                   if (memcmp(Mnemonic.data()+9, "q_f", 3) != 0)
    4850             :                     break;
    4851           0 :                   switch (Mnemonic[12]) {
    4852             :                   default: break;
    4853           0 :                   case '3':      // 1 string to match.
    4854           0 :                     if (memcmp(Mnemonic.data()+13, "2_e64", 5) != 0)
    4855             :                       break;
    4856           0 :                     Mnemonic = "v_cmps_neq_f32";       // "v_cmps_neq_f32_e64"
    4857           0 :                     return;
    4858           0 :                   case '6':      // 1 string to match.
    4859           0 :                     if (memcmp(Mnemonic.data()+13, "4_e64", 5) != 0)
    4860             :                       break;
    4861           0 :                     Mnemonic = "v_cmps_neq_f64";       // "v_cmps_neq_f64_e64"
    4862           0 :                     return;
    4863             :                   }
    4864             :                   break;
    4865           0 :                 case 'g':        // 4 strings to match.
    4866           0 :                   switch (Mnemonic[9]) {
    4867             :                   default: break;
    4868           0 :                   case 'e':      // 2 strings to match.
    4869           0 :                     if (memcmp(Mnemonic.data()+10, "_f", 2) != 0)
    4870             :                       break;
    4871           0 :                     switch (Mnemonic[12]) {
    4872             :                     default: break;
    4873           0 :                     case '3':    // 1 string to match.
    4874           0 :                       if (memcmp(Mnemonic.data()+13, "2_e64", 5) != 0)
    4875             :                         break;
    4876           0 :                       Mnemonic = "v_cmps_nge_f32";     // "v_cmps_nge_f32_e64"
    4877           0 :                       return;
    4878           0 :                     case '6':    // 1 string to match.
    4879           0 :                       if (memcmp(Mnemonic.data()+13, "4_e64", 5) != 0)
    4880             :                         break;
    4881           0 :                       Mnemonic = "v_cmps_nge_f64";     // "v_cmps_nge_f64_e64"
    4882           0 :                       return;
    4883             :                     }
    4884             :                     break;
    4885           0 :                   case 't':      // 2 strings to match.
    4886           0 :                     if (memcmp(Mnemonic.data()+10, "_f", 2) != 0)
    4887             :                       break;
    4888           0 :                     switch (Mnemonic[12]) {
    4889             :                     default: break;
    4890           0 :                     case '3':    // 1 string to match.
    4891           0 :                       if (memcmp(Mnemonic.data()+13, "2_e64", 5) != 0)
    4892             :                         break;
    4893           0 :                       Mnemonic = "v_cmps_ngt_f32";     // "v_cmps_ngt_f32_e64"
    4894           0 :                       return;
    4895           0 :                     case '6':    // 1 string to match.
    4896           0 :                       if (memcmp(Mnemonic.data()+13, "4_e64", 5) != 0)
    4897             :                         break;
    4898           0 :                       Mnemonic = "v_cmps_ngt_f64";     // "v_cmps_ngt_f64_e64"
    4899           0 :                       return;
    4900             :                     }
    4901             :                     break;
    4902             :                   }
    4903             :                   break;
    4904           0 :                 case 'l':        // 6 strings to match.
    4905           0 :                   switch (Mnemonic[9]) {
    4906             :                   default: break;
    4907           0 :                   case 'e':      // 2 strings to match.
    4908           0 :                     if (memcmp(Mnemonic.data()+10, "_f", 2) != 0)
    4909             :                       break;
    4910           0 :                     switch (Mnemonic[12]) {
    4911             :                     default: break;
    4912           0 :                     case '3':    // 1 string to match.
    4913           0 :                       if (memcmp(Mnemonic.data()+13, "2_e64", 5) != 0)
    4914             :                         break;
    4915           0 :                       Mnemonic = "v_cmps_nle_f32";     // "v_cmps_nle_f32_e64"
    4916           0 :                       return;
    4917           0 :                     case '6':    // 1 string to match.
    4918           0 :                       if (memcmp(Mnemonic.data()+13, "4_e64", 5) != 0)
    4919             :                         break;
    4920           0 :                       Mnemonic = "v_cmps_nle_f64";     // "v_cmps_nle_f64_e64"
    4921           0 :                       return;
    4922             :                     }
    4923             :                     break;
    4924           0 :                   case 'g':      // 2 strings to match.
    4925           0 :                     if (memcmp(Mnemonic.data()+10, "_f", 2) != 0)
    4926             :                       break;
    4927           0 :                     switch (Mnemonic[12]) {
    4928             :                     default: break;
    4929           0 :                     case '3':    // 1 string to match.
    4930           0 :                       if (memcmp(Mnemonic.data()+13, "2_e64", 5) != 0)
    4931             :                         break;
    4932           0 :                       Mnemonic = "v_cmps_nlg_f32";     // "v_cmps_nlg_f32_e64"
    4933           0 :                       return;
    4934           0 :                     case '6':    // 1 string to match.
    4935           0 :                       if (memcmp(Mnemonic.data()+13, "4_e64", 5) != 0)
    4936             :                         break;
    4937           0 :                       Mnemonic = "v_cmps_nlg_f64";     // "v_cmps_nlg_f64_e64"
    4938           0 :                       return;
    4939             :                     }
    4940             :                     break;
    4941           0 :                   case 't':      // 2 strings to match.
    4942           0 :                     if (memcmp(Mnemonic.data()+10, "_f", 2) != 0)
    4943             :                       break;
    4944           0 :                     switch (Mnemonic[12]) {
    4945             :                     default: break;
    4946           0 :                     case '3':    // 1 string to match.
    4947           0 :                       if (memcmp(Mnemonic.data()+13, "2_e64", 5) != 0)
    4948             :                         break;
    4949           0 :                       Mnemonic = "v_cmps_nlt_f32";     // "v_cmps_nlt_f32_e64"
    4950           0 :                       return;
    4951           0 :                     case '6':    // 1 string to match.
    4952           0 :                       if (memcmp(Mnemonic.data()+13, "4_e64", 5) != 0)
    4953             :                         break;
    4954           0 :                       Mnemonic = "v_cmps_nlt_f64";     // "v_cmps_nlt_f64_e64"
    4955           0 :                       return;
    4956             :                     }
    4957             :                     break;
    4958             :                   }
    4959             :                   break;
    4960             :                 }
    4961             :                 break;
    4962           0 :               case 't':  // 2 strings to match.
    4963           0 :                 if (memcmp(Mnemonic.data()+8, "ru_f", 4) != 0)
    4964             :                   break;
    4965           0 :                 switch (Mnemonic[12]) {
    4966             :                 default: break;
    4967           0 :                 case '3':        // 1 string to match.
    4968           0 :                   if (memcmp(Mnemonic.data()+13, "2_e64", 5) != 0)
    4969             :                     break;
    4970           0 :                   Mnemonic = "v_cmps_tru_f32";         // "v_cmps_tru_f32_e64"
    4971           0 :                   return;
    4972           0 :                 case '6':        // 1 string to match.
    4973           0 :                   if (memcmp(Mnemonic.data()+13, "4_e64", 5) != 0)
    4974             :                     break;
    4975           0 :                   Mnemonic = "v_cmps_tru_f64";         // "v_cmps_tru_f64_e64"
    4976           0 :                   return;
    4977             :                 }
    4978             :                 break;
    4979             :               }
    4980             :               break;
    4981           0 :             case 'x':    // 12 strings to match.
    4982           0 :               if (Mnemonic[7] != '_')
    4983             :                 break;
    4984           0 :               switch (Mnemonic[8]) {
    4985             :               default: break;
    4986           0 :               case 'e':  // 2 strings to match.
    4987           0 :                 if (memcmp(Mnemonic.data()+9, "q_f", 3) != 0)
    4988             :                   break;
    4989           0 :                 switch (Mnemonic[12]) {
    4990             :                 default: break;
    4991           0 :                 case '3':        // 1 string to match.
    4992           0 :                   if (memcmp(Mnemonic.data()+13, "2_e64", 5) != 0)
    4993             :                     break;
    4994           0 :                   Mnemonic = "v_cmpsx_eq_f32";         // "v_cmpsx_eq_f32_e64"
    4995           0 :                   return;
    4996           0 :                 case '6':        // 1 string to match.
    4997           0 :                   if (memcmp(Mnemonic.data()+13, "4_e64", 5) != 0)
    4998             :                     break;
    4999           0 :                   Mnemonic = "v_cmpsx_eq_f64";         // "v_cmpsx_eq_f64_e64"
    5000           0 :                   return;
    5001             :                 }
    5002             :                 break;
    5003           0 :               case 'g':  // 4 strings to match.
    5004           0 :                 switch (Mnemonic[9]) {
    5005             :                 default: break;
    5006           0 :                 case 'e':        // 2 strings to match.
    5007           0 :                   if (memcmp(Mnemonic.data()+10, "_f", 2) != 0)
    5008             :                     break;
    5009           0 :                   switch (Mnemonic[12]) {
    5010             :                   default: break;
    5011           0 :                   case '3':      // 1 string to match.
    5012           0 :                     if (memcmp(Mnemonic.data()+13, "2_e64", 5) != 0)
    5013             :                       break;
    5014           0 :                     Mnemonic = "v_cmpsx_ge_f32";       // "v_cmpsx_ge_f32_e64"
    5015           0 :                     return;
    5016           0 :                   case '6':      // 1 string to match.
    5017           0 :                     if (memcmp(Mnemonic.data()+13, "4_e64", 5) != 0)
    5018             :                       break;
    5019           0 :                     Mnemonic = "v_cmpsx_ge_f64";       // "v_cmpsx_ge_f64_e64"
    5020           0 :                     return;
    5021             :                   }
    5022             :                   break;
    5023           0 :                 case 't':        // 2 strings to match.
    5024           0 :                   if (memcmp(Mnemonic.data()+10, "_f", 2) != 0)
    5025             :                     break;
    5026           0 :                   switch (Mnemonic[12]) {
    5027             :                   default: break;
    5028           0 :                   case '3':      // 1 string to match.
    5029           0 :                     if (memcmp(Mnemonic.data()+13, "2_e64", 5) != 0)
    5030             :                       break;
    5031           0 :                     Mnemonic = "v_cmpsx_gt_f32";       // "v_cmpsx_gt_f32_e64"
    5032           0 :                     return;
    5033           0 :                   case '6':      // 1 string to match.
    5034           0 :                     if (memcmp(Mnemonic.data()+13, "4_e64", 5) != 0)
    5035             :                       break;
    5036           0 :                     Mnemonic = "v_cmpsx_gt_f64";       // "v_cmpsx_gt_f64_e64"
    5037           0 :                     return;
    5038             :                   }
    5039             :                   break;
    5040             :                 }
    5041             :                 break;
    5042           0 :               case 'l':  // 6 strings to match.
    5043           0 :                 switch (Mnemonic[9]) {
    5044             :                 default: break;
    5045           0 :                 case 'e':        // 2 strings to match.
    5046           0 :                   if (memcmp(Mnemonic.data()+10, "_f", 2) != 0)
    5047             :                     break;
    5048           0 :                   switch (Mnemonic[12]) {
    5049             :                   default: break;
    5050           0 :                   case '3':      // 1 string to match.
    5051           0 :                     if (memcmp(Mnemonic.data()+13, "2_e64", 5) != 0)
    5052             :                       break;
    5053           0 :                     Mnemonic = "v_cmpsx_le_f32";       // "v_cmpsx_le_f32_e64"
    5054           0 :                     return;
    5055           0 :                   case '6':      // 1 string to match.
    5056           0 :                     if (memcmp(Mnemonic.data()+13, "4_e64", 5) != 0)
    5057             :                       break;
    5058           0 :                     Mnemonic = "v_cmpsx_le_f64";       // "v_cmpsx_le_f64_e64"
    5059           0 :                     return;
    5060             :                   }
    5061             :                   break;
    5062           0 :                 case 'g':        // 2 strings to match.
    5063           0 :                   if (memcmp(Mnemonic.data()+10, "_f", 2) != 0)
    5064             :                     break;
    5065           0 :                   switch (Mnemonic[12]) {
    5066             :                   default: break;
    5067           0 :                   case '3':      // 1 string to match.
    5068           0 :                     if (memcmp(Mnemonic.data()+13, "2_e64", 5) != 0)
    5069             :                       break;
    5070           0 :                     Mnemonic = "v_cmpsx_lg_f32";       // "v_cmpsx_lg_f32_e64"
    5071           0 :                     return;
    5072           0 :                   case '6':      // 1 string to match.
    5073           0 :                     if (memcmp(Mnemonic.data()+13, "4_e64", 5) != 0)
    5074             :                       break;
    5075           0 :                     Mnemonic = "v_cmpsx_lg_f64";       // "v_cmpsx_lg_f64_e64"
    5076           0 :                     return;
    5077             :                   }
    5078             :                   break;
    5079           0 :                 case 't':        // 2 strings to match.
    5080           0 :                   if (memcmp(Mnemonic.data()+10, "_f", 2) != 0)
    5081             :                     break;
    5082           0 :                   switch (Mnemonic[12]) {
    5083             :                   default: break;
    5084           0 :                   case '3':      // 1 string to match.
    5085           0 :                     if (memcmp(Mnemonic.data()+13, "2_e64", 5) != 0)
    5086             :                       break;
    5087           0 :                     Mnemonic = "v_cmpsx_lt_f32";       // "v_cmpsx_lt_f32_e64"
    5088           0 :                     return;
    5089           0 :                   case '6':      // 1 string to match.
    5090           0 :                     if (memcmp(Mnemonic.data()+13, "4_e64", 5) != 0)
    5091             :                       break;
    5092           0 :                     Mnemonic = "v_cmpsx_lt_f64";       // "v_cmpsx_lt_f64_e64"
    5093           0 :                     return;
    5094             :                   }
    5095             :                   break;
    5096             :                 }
    5097             :                 break;
    5098             :               }
    5099             :               break;
    5100             :             }
    5101             :             break;
    5102           0 :           case 'x':      // 21 strings to match.
    5103           0 :             if (Mnemonic[6] != '_')
    5104             :               break;
    5105           0 :             switch (Mnemonic[7]) {
    5106             :             default: break;
    5107           0 :             case 'n':    // 18 strings to match.
    5108           0 :               switch (Mnemonic[8]) {
    5109             :               default: break;
    5110           0 :               case 'e':  // 3 strings to match.
    5111           0 :                 if (memcmp(Mnemonic.data()+9, "q_f", 3) != 0)
    5112             :                   break;
    5113           0 :                 switch (Mnemonic[12]) {
    5114             :                 default: break;
    5115           0 :                 case '1':        // 1 string to match.
    5116           0 :                   if (memcmp(Mnemonic.data()+13, "6_e64", 5) != 0)
    5117             :                     break;
    5118           0 :                   Mnemonic = "v_cmpx_neq_f16";         // "v_cmpx_neq_f16_e64"
    5119           0 :                   return;
    5120           0 :                 case '3':        // 1 string to match.
    5121           0 :                   if (memcmp(Mnemonic.data()+13, "2_e64", 5) != 0)
    5122             :                     break;
    5123           0 :                   Mnemonic = "v_cmpx_neq_f32";         // "v_cmpx_neq_f32_e64"
    5124           0 :                   return;
    5125           0 :                 case '6':        // 1 string to match.
    5126           0 :                   if (memcmp(Mnemonic.data()+13, "4_e64", 5) != 0)
    5127             :                     break;
    5128           0 :                   Mnemonic = "v_cmpx_neq_f64";         // "v_cmpx_neq_f64_e64"
    5129           0 :                   return;
    5130             :                 }
    5131             :                 break;
    5132           0 :               case 'g':  // 6 strings to match.
    5133           0 :                 switch (Mnemonic[9]) {
    5134             :                 default: break;
    5135           0 :                 case 'e':        // 3 strings to match.
    5136           0 :                   if (memcmp(Mnemonic.data()+10, "_f", 2) != 0)
    5137             :                     break;
    5138           0 :                   switch (Mnemonic[12]) {
    5139             :                   default: break;
    5140           0 :                   case '1':      // 1 string to match.
    5141           0 :                     if (memcmp(Mnemonic.data()+13, "6_e64", 5) != 0)
    5142             :                       break;
    5143           0 :                     Mnemonic = "v_cmpx_nge_f16";       // "v_cmpx_nge_f16_e64"
    5144           0 :                     return;
    5145           0 :                   case '3':      // 1 string to match.
    5146           0 :                     if (memcmp(Mnemonic.data()+13, "2_e64", 5) != 0)
    5147             :                       break;
    5148           0 :                     Mnemonic = "v_cmpx_nge_f32";       // "v_cmpx_nge_f32_e64"
    5149           0 :                     return;
    5150           0 :                   case '6':      // 1 string to match.
    5151           0 :                     if (memcmp(Mnemonic.data()+13, "4_e64", 5) != 0)
    5152             :                       break;
    5153           0 :                     Mnemonic = "v_cmpx_nge_f64";       // "v_cmpx_nge_f64_e64"
    5154           0 :                     return;
    5155             :                   }
    5156             :                   break;
    5157           0 :                 case 't':        // 3 strings to match.
    5158           0 :                   if (memcmp(Mnemonic.data()+10, "_f", 2) != 0)
    5159             :                     break;
    5160           0 :                   switch (Mnemonic[12]) {
    5161             :                   default: break;
    5162           0 :                   case '1':      // 1 string to match.
    5163           0 :                     if (memcmp(Mnemonic.data()+13, "6_e64", 5) != 0)
    5164             :                       break;
    5165           0 :                     Mnemonic = "v_cmpx_ngt_f16";       // "v_cmpx_ngt_f16_e64"
    5166           0 :                     return;
    5167           0 :                   case '3':      // 1 string to match.
    5168           0 :                     if (memcmp(Mnemonic.data()+13, "2_e64", 5) != 0)
    5169             :                       break;
    5170           0 :                     Mnemonic = "v_cmpx_ngt_f32";       // "v_cmpx_ngt_f32_e64"
    5171           0 :                     return;
    5172           0 :                   case '6':      // 1 string to match.
    5173           0 :                     if (memcmp(Mnemonic.data()+13, "4_e64", 5) != 0)
    5174             :                       break;
    5175           0 :                     Mnemonic = "v_cmpx_ngt_f64";       // "v_cmpx_ngt_f64_e64"
    5176           0 :                     return;
    5177             :                   }
    5178             :                   break;
    5179             :                 }
    5180             :                 break;
    5181           0 :               case 'l':  // 9 strings to match.
    5182           0 :                 switch (Mnemonic[9]) {
    5183             :                 default: break;
    5184           0 :                 case 'e':        // 3 strings to match.
    5185           0 :                   if (memcmp(Mnemonic.data()+10, "_f", 2) != 0)
    5186             :                     break;
    5187           0 :                   switch (Mnemonic[12]) {
    5188             :                   default: break;
    5189           0 :                   case '1':      // 1 string to match.
    5190           0 :                     if (memcmp(Mnemonic.data()+13, "6_e64", 5) != 0)
    5191             :                       break;
    5192           0 :                     Mnemonic = "v_cmpx_nle_f16";       // "v_cmpx_nle_f16_e64"
    5193           0 :                     return;
    5194           0 :                   case '3':      // 1 string to match.
    5195           0 :                     if (memcmp(Mnemonic.data()+13, "2_e64", 5) != 0)
    5196             :                       break;
    5197           0 :                     Mnemonic = "v_cmpx_nle_f32";       // "v_cmpx_nle_f32_e64"
    5198           0 :                     return;
    5199           0 :                   case '6':      // 1 string to match.
    5200           0 :                     if (memcmp(Mnemonic.data()+13, "4_e64", 5) != 0)
    5201             :                       break;
    5202           0 :                     Mnemonic = "v_cmpx_nle_f64";       // "v_cmpx_nle_f64_e64"
    5203           0 :                     return;
    5204             :                   }
    5205             :                   break;
    5206           0 :                 case 'g':        // 3 strings to match.
    5207           0 :                   if (memcmp(Mnemonic.data()+10, "_f", 2) != 0)
    5208             :                     break;
    5209           0 :                   switch (Mnemonic[12]) {
    5210             :                   default: break;
    5211           0 :                   case '1':      // 1 string to match.
    5212           0 :                     if (memcmp(Mnemonic.data()+13, "6_e64", 5) != 0)
    5213             :                       break;
    5214           0 :                     Mnemonic = "v_cmpx_nlg_f16";       // "v_cmpx_nlg_f16_e64"
    5215           0 :                     return;
    5216           0 :                   case '3':      // 1 string to match.
    5217           0 :                     if (memcmp(Mnemonic.data()+13, "2_e64", 5) != 0)
    5218             :                       break;
    5219           0 :                     Mnemonic = "v_cmpx_nlg_f32";       // "v_cmpx_nlg_f32_e64"
    5220           0 :                     return;
    5221           0 :                   case '6':      // 1 string to match.
    5222           0 :                     if (memcmp(Mnemonic.data()+13, "4_e64", 5) != 0)
    5223             :                       break;
    5224           0 :                     Mnemonic = "v_cmpx_nlg_f64";       // "v_cmpx_nlg_f64_e64"
    5225           0 :                     return;
    5226             :                   }
    5227             :                   break;
    5228           0 :                 case 't':        // 3 strings to match.
    5229           0 :                   if (memcmp(Mnemonic.data()+10, "_f", 2) != 0)
    5230             :                     break;
    5231           0 :                   switch (Mnemonic[12]) {
    5232             :                   default: break;
    5233           0 :                   case '1':      // 1 string to match.
    5234           0 :                     if (memcmp(Mnemonic.data()+13, "6_e64", 5) != 0)
    5235             :                       break;
    5236           0 :                     Mnemonic = "v_cmpx_nlt_f16";       // "v_cmpx_nlt_f16_e64"
    5237           0 :                     return;
    5238           0 :                   case '3':      // 1 string to match.
    5239           0 :                     if (memcmp(Mnemonic.data()+13, "2_e64", 5) != 0)
    5240             :                       break;
    5241           0 :                     Mnemonic = "v_cmpx_nlt_f32";       // "v_cmpx_nlt_f32_e64"
    5242           0 :                     return;
    5243           0 :                   case '6':      // 1 string to match.
    5244           0 :                     if (memcmp(Mnemonic.data()+13, "4_e64", 5) != 0)
    5245             :                       break;
    5246           0 :                     Mnemonic = "v_cmpx_nlt_f64";       // "v_cmpx_nlt_f64_e64"
    5247           0 :                     return;
    5248             :                   }
    5249             :                   break;
    5250             :                 }
    5251             :                 break;
    5252             :               }
    5253             :               break;
    5254           0 :             case 't':    // 3 strings to match.
    5255           0 :               if (memcmp(Mnemonic.data()+8, "ru_f", 4) != 0)
    5256             :                 break;
    5257           0 :               switch (Mnemonic[12]) {
    5258             :               default: break;
    5259           0 :               case '1':  // 1 string to match.
    5260           0 :                 if (memcmp(Mnemonic.data()+13, "6_e64", 5) != 0)
    5261             :                   break;
    5262           0 :                 Mnemonic = "v_cmpx_tru_f16";   // "v_cmpx_tru_f16_e64"
    5263           0 :                 return;
    5264           0 :               case '3':  // 1 string to match.
    5265           0 :                 if (memcmp(Mnemonic.data()+13, "2_e64", 5) != 0)
    5266             :                   break;
    5267           0 :                 Mnemonic = "v_cmpx_tru_f32";   // "v_cmpx_tru_f32_e64"
    5268           0 :                 return;
    5269           0 :               case '6':  // 1 string to match.
    5270           0 :                 if (memcmp(Mnemonic.data()+13, "4_e64", 5) != 0)
    5271             :                   break;
    5272           0 :                 Mnemonic = "v_cmpx_tru_f64";   // "v_cmpx_tru_f64_e64"
    5273           0 :                 return;
    5274             :               }
    5275             :               break;
    5276             :             }
    5277             :             break;
    5278             :           }
    5279             :           break;
    5280           0 :         case 'd':        // 2 strings to match.
    5281           0 :           if (memcmp(Mnemonic.data()+3, "iv_fmas_f", 9) != 0)
    5282             :             break;
    5283           0 :           switch (Mnemonic[12]) {
    5284             :           default: break;
    5285           0 :           case '3':      // 1 string to match.
    5286           0 :             if (memcmp(Mnemonic.data()+13, "2_e64", 5) != 0)
    5287             :               break;
    5288           0 :             Mnemonic = "v_div_fmas_f32";       // "v_div_fmas_f32_e64"
    5289           0 :             return;
    5290           0 :           case '6':      // 1 string to match.
    5291           0 :             if (memcmp(Mnemonic.data()+13, "4_e64", 5) != 0)
    5292             :               break;
    5293           0 :             Mnemonic = "v_div_fmas_f64";       // "v_div_fmas_f64_e64"
    5294           0 :             return;
    5295             :           }
    5296             :           break;
    5297           0 :         case 'f':        // 1 string to match.
    5298           0 :           if (memcmp(Mnemonic.data()+3, "ma_f16_gfx9_e64", 15) != 0)
    5299             :             break;
    5300           0 :           Mnemonic = "v_fma_f16_gfx9";         // "v_fma_f16_gfx9_e64"
    5301           0 :           return;
    5302           0 :         case 'l':        // 1 string to match.
    5303           0 :           if (memcmp(Mnemonic.data()+3, "shl_add_u32_e64", 15) != 0)
    5304             :             break;
    5305           0 :           Mnemonic = "v_lshl_add_u32";         // "v_lshl_add_u32_e64"
    5306           0 :           return;
    5307         240 :         case 'm':        // 5 strings to match.
    5308         480 :           switch (Mnemonic[3]) {
    5309             :           default: break;
    5310           0 :           case 'a':      // 3 strings to match.
    5311           0 :             if (memcmp(Mnemonic.data()+4, "d_", 2) != 0)
    5312             :               break;
    5313           0 :             switch (Mnemonic[6]) {
    5314             :             default: break;
    5315           0 :             case 'f':    // 1 string to match.
    5316           0 :               if (memcmp(Mnemonic.data()+7, "16_gfx9_e64", 11) != 0)
    5317             :                 break;
    5318           0 :               Mnemonic = "v_mad_f16_gfx9";     // "v_mad_f16_gfx9_e64"
    5319           0 :               return;
    5320           0 :             case 'i':    // 1 string to match.
    5321           0 :               if (memcmp(Mnemonic.data()+7, "16_gfx9_e64", 11) != 0)
    5322             :                 break;
    5323           0 :               Mnemonic = "v_mad_i16_gfx9";     // "v_mad_i16_gfx9_e64"
    5324           0 :               return;
    5325           0 :             case 'u':    // 1 string to match.
    5326           0 :               if (memcmp(Mnemonic.data()+7, "16_gfx9_e64", 11) != 0)
    5327             :                 break;
    5328           0 :               Mnemonic = "v_mad_u16_gfx9";     // "v_mad_u16_gfx9_e64"
    5329           0 :               return;
    5330             :             }
    5331             :             break;
    5332           0 :           case 'o':      // 1 string to match.
    5333           0 :             if (memcmp(Mnemonic.data()+4, "vrelsd_b32_e64", 14) != 0)
    5334             :               break;
    5335           0 :             Mnemonic = "v_movrelsd_b32";       // "v_movrelsd_b32_e64"
    5336           0 :             return;
    5337           0 :           case 'q':      // 1 string to match.
    5338           0 :             if (memcmp(Mnemonic.data()+4, "sad_u32_u8_e64", 14) != 0)
    5339             :               break;
    5340           0 :             Mnemonic = "v_mqsad_u32_u8";       // "v_mqsad_u32_u8_e64"
    5341           0 :             return;
    5342             :           }
    5343             :           break;
    5344           0 :         case 'p':        // 1 string to match.
    5345           0 :           if (memcmp(Mnemonic.data()+3, "ack_b32_f16_e64", 15) != 0)
    5346             :             break;
    5347           0 :           Mnemonic = "v_pack_b32_f16";         // "v_pack_b32_f16_e64"
    5348           0 :           return;
    5349             :         }
    5350             :         break;
    5351         384 :       case 19:   // 36 strings to match.
    5352         384 :         if (memcmp(Mnemonic.data()+0, "v_", 2) != 0)
    5353             :           break;
    5354         628 :         switch (Mnemonic[2]) {
    5355             :         default: break;
    5356           0 :         case 'a':        // 1 string to match.
    5357           0 :           if (memcmp(Mnemonic.data()+3, "lignbyte_b32_e64", 16) != 0)
    5358             :             break;
    5359           0 :           Mnemonic = "v_alignbyte_b32";        // "v_alignbyte_b32_e64"
    5360           0 :           return;
    5361         132 :         case 'c':        // 18 strings to match.
    5362         264 :           switch (Mnemonic[3]) {
    5363             :           default: break;
    5364           0 :           case 'm':      // 17 strings to match.
    5365           0 :             if (Mnemonic[4] != 'p')
    5366             :               break;
    5367           0 :             switch (Mnemonic[5]) {
    5368             :             default: break;
    5369           0 :             case '_':    // 3 strings to match.
    5370           0 :               if (memcmp(Mnemonic.data()+6, "class_f", 7) != 0)
    5371             :                 break;
    5372           0 :               switch (Mnemonic[13]) {
    5373             :               default: break;
    5374           0 :               case '1':  // 1 string to match.
    5375           0 :                 if (memcmp(Mnemonic.data()+14, "6_e64", 5) != 0)
    5376             :                   break;
    5377           0 :                 Mnemonic = "v_cmp_class_f16";  // "v_cmp_class_f16_e64"
    5378           0 :                 return;
    5379           0 :               case '3':  // 1 string to match.
    5380           0 :                 if (memcmp(Mnemonic.data()+14, "2_e64", 5) != 0)
    5381             :                   break;
    5382           0 :                 Mnemonic = "v_cmp_class_f32";  // "v_cmp_class_f32_e64"
    5383           0 :                 return;
    5384           0 :               case '6':  // 1 string to match.
    5385           0 :                 if (memcmp(Mnemonic.data()+14, "4_e64", 5) != 0)
    5386             :                   break;
    5387           0 :                 Mnemonic = "v_cmp_class_f64";  // "v_cmp_class_f64_e64"
    5388           0 :                 return;
    5389             :               }
    5390             :               break;
    5391           0 :             case 's':    // 14 strings to match.
    5392           0 :               if (memcmp(Mnemonic.data()+6, "x_", 2) != 0)
    5393             :                 break;
    5394           0 :               switch (Mnemonic[8]) {
    5395             :               default: break;
    5396           0 :               case 'n':  // 12 strings to match.
    5397           0 :                 switch (Mnemonic[9]) {
    5398             :                 default: break;
    5399           0 :                 case 'e':        // 2 strings to match.
    5400           0 :                   if (memcmp(Mnemonic.data()+10, "q_f", 3) != 0)
    5401             :                     break;
    5402           0 :                   switch (Mnemonic[13]) {
    5403             :                   default: break;
    5404           0 :                   case '3':      // 1 string to match.
    5405           0 :                     if (memcmp(Mnemonic.data()+14, "2_e64", 5) != 0)
    5406             :                       break;
    5407           0 :                     Mnemonic = "v_cmpsx_neq_f32";      // "v_cmpsx_neq_f32_e64"
    5408           0 :                     return;
    5409           0 :                   case '6':      // 1 string to match.
    5410           0 :                     if (memcmp(Mnemonic.data()+14, "4_e64", 5) != 0)
    5411             :                       break;
    5412           0 :                     Mnemonic = "v_cmpsx_neq_f64";      // "v_cmpsx_neq_f64_e64"
    5413           0 :                     return;
    5414             :                   }
    5415             :                   break;
    5416           0 :                 case 'g':        // 4 strings to match.
    5417           0 :                   switch (Mnemonic[10]) {
    5418             :                   default: break;
    5419           0 :                   case 'e':      // 2 strings to match.
    5420           0 :                     if (memcmp(Mnemonic.data()+11, "_f", 2) != 0)
    5421             :                       break;
    5422           0 :                     switch (Mnemonic[13]) {
    5423             :                     default: break;
    5424           0 :                     case '3':    // 1 string to match.
    5425           0 :                       if (memcmp(Mnemonic.data()+14, "2_e64", 5) != 0)
    5426             :                         break;
    5427           0 :                       Mnemonic = "v_cmpsx_nge_f32";    // "v_cmpsx_nge_f32_e64"
    5428           0 :                       return;
    5429           0 :                     case '6':    // 1 string to match.
    5430           0 :                       if (memcmp(Mnemonic.data()+14, "4_e64", 5) != 0)
    5431             :                         break;
    5432           0 :                       Mnemonic = "v_cmpsx_nge_f64";    // "v_cmpsx_nge_f64_e64"
    5433           0 :                       return;
    5434             :                     }
    5435             :                     break;
    5436           0 :                   case 't':      // 2 strings to match.
    5437           0 :                     if (memcmp(Mnemonic.data()+11, "_f", 2) != 0)
    5438             :                       break;
    5439           0 :                     switch (Mnemonic[13]) {
    5440             :                     default: break;
    5441           0 :                     case '3':    // 1 string to match.
    5442           0 :                       if (memcmp(Mnemonic.data()+14, "2_e64", 5) != 0)
    5443             :                         break;
    5444           0 :                       Mnemonic = "v_cmpsx_ngt_f32";    // "v_cmpsx_ngt_f32_e64"
    5445           0 :                       return;
    5446           0 :                     case '6':    // 1 string to match.
    5447           0 :                       if (memcmp(Mnemonic.data()+14, "4_e64", 5) != 0)
    5448             :                         break;
    5449           0 :                       Mnemonic = "v_cmpsx_ngt_f64";    // "v_cmpsx_ngt_f64_e64"
    5450           0 :                       return;
    5451             :                     }
    5452             :                     break;
    5453             :                   }
    5454             :                   break;
    5455           0 :                 case 'l':        // 6 strings to match.
    5456           0 :                   switch (Mnemonic[10]) {
    5457             :                   default: break;
    5458           0 :                   case 'e':      // 2 strings to match.
    5459           0 :                     if (memcmp(Mnemonic.data()+11, "_f", 2) != 0)
    5460             :                       break;
    5461           0 :                     switch (Mnemonic[13]) {
    5462             :                     default: break;
    5463           0 :                     case '3':    // 1 string to match.
    5464           0 :                       if (memcmp(Mnemonic.data()+14, "2_e64", 5) != 0)
    5465             :                         break;
    5466           0 :                       Mnemonic = "v_cmpsx_nle_f32";    // "v_cmpsx_nle_f32_e64"
    5467           0 :                       return;
    5468           0 :                     case '6':    // 1 string to match.
    5469           0 :                       if (memcmp(Mnemonic.data()+14, "4_e64", 5) != 0)
    5470             :                         break;
    5471           0 :                       Mnemonic = "v_cmpsx_nle_f64";    // "v_cmpsx_nle_f64_e64"
    5472           0 :                       return;
    5473             :                     }
    5474             :                     break;
    5475           0 :                   case 'g':      // 2 strings to match.
    5476           0 :                     if (memcmp(Mnemonic.data()+11, "_f", 2) != 0)
    5477             :                       break;
    5478           0 :                     switch (Mnemonic[13]) {
    5479             :                     default: break;
    5480           0 :                     case '3':    // 1 string to match.
    5481           0 :                       if (memcmp(Mnemonic.data()+14, "2_e64", 5) != 0)
    5482             :                         break;
    5483           0 :                       Mnemonic = "v_cmpsx_nlg_f32";    // "v_cmpsx_nlg_f32_e64"
    5484           0 :                       return;
    5485           0 :                     case '6':    // 1 string to match.
    5486           0 :                       if (memcmp(Mnemonic.data()+14, "4_e64", 5) != 0)
    5487             :                         break;
    5488           0 :                       Mnemonic = "v_cmpsx_nlg_f64";    // "v_cmpsx_nlg_f64_e64"
    5489           0 :                       return;
    5490             :                     }
    5491             :                     break;
    5492           0 :                   case 't':      // 2 strings to match.
    5493           0 :                     if (memcmp(Mnemonic.data()+11, "_f", 2) != 0)
    5494             :                       break;
    5495           0 :                     switch (Mnemonic[13]) {
    5496             :                     default: break;
    5497           0 :                     case '3':    // 1 string to match.
    5498           0 :                       if (memcmp(Mnemonic.data()+14, "2_e64", 5) != 0)
    5499             :                         break;
    5500           0 :                       Mnemonic = "v_cmpsx_nlt_f32";    // "v_cmpsx_nlt_f32_e64"
    5501           0 :                       return;
    5502           0 :                     case '6':    // 1 string to match.
    5503           0 :                       if (memcmp(Mnemonic.data()+14, "4_e64", 5) != 0)
    5504             :                         break;
    5505           0 :                       Mnemonic = "v_cmpsx_nlt_f64";    // "v_cmpsx_nlt_f64_e64"
    5506           0 :                       return;
    5507             :                     }
    5508             :                     break;
    5509             :                   }
    5510             :                   break;
    5511             :                 }
    5512             :                 break;
    5513           0 :               case 't':  // 2 strings to match.
    5514           0 :                 if (memcmp(Mnemonic.data()+9, "ru_f", 4) != 0)
    5515             :                   break;
    5516           0 :                 switch (Mnemonic[13]) {
    5517             :                 default: break;
    5518           0 :                 case '3':        // 1 string to match.
    5519           0 :                   if (memcmp(Mnemonic.data()+14, "2_e64", 5) != 0)
    5520             :                     break;
    5521           0 :                   Mnemonic = "v_cmpsx_tru_f32";        // "v_cmpsx_tru_f32_e64"
    5522           0 :                   return;
    5523           0 :                 case '6':        // 1 string to match.
    5524           0 :                   if (memcmp(Mnemonic.data()+14, "4_e64", 5) != 0)
    5525             :                     break;
    5526           0 :                   Mnemonic = "v_cmpsx_tru_f64";        // "v_cmpsx_tru_f64_e64"
    5527           0 :                   return;
    5528             :                 }
    5529             :                 break;
    5530             :               }
    5531             :               break;
    5532             :             }
    5533             :             break;
    5534         132 :           case 'v':      // 1 string to match.
    5535         132 :             if (memcmp(Mnemonic.data()+4, "t_pk_u8_f32_e64", 15) != 0)
    5536             :               break;
    5537           0 :             Mnemonic = "v_cvt_pk_u8_f32";      // "v_cvt_pk_u8_f32_e64"
    5538           0 :             return;
    5539             :           }
    5540             :           break;
    5541           0 :         case 'd':        // 5 strings to match.
    5542           0 :           if (memcmp(Mnemonic.data()+3, "iv_", 3) != 0)
    5543             :             break;
    5544           0 :           switch (Mnemonic[6]) {
    5545             :           default: break;
    5546           0 :           case 'f':      // 3 strings to match.
    5547           0 :             if (memcmp(Mnemonic.data()+7, "ixup_f", 6) != 0)
    5548             :               break;
    5549           0 :             switch (Mnemonic[13]) {
    5550             :             default: break;
    5551           0 :             case '1':    // 1 string to match.
    5552           0 :               if (memcmp(Mnemonic.data()+14, "6_e64", 5) != 0)
    5553             :                 break;
    5554           0 :               Mnemonic = "v_div_fixup_f16";    // "v_div_fixup_f16_e64"
    5555           0 :               return;
    5556           0 :             case '3':    // 1 string to match.
    5557           0 :               if (memcmp(Mnemonic.data()+14, "2_e64", 5) != 0)
    5558             :                 break;
    5559           0 :               Mnemonic = "v_div_fixup_f32";    // "v_div_fixup_f32_e64"
    5560           0 :               return;
    5561           0 :             case '6':    // 1 string to match.
    5562           0 :               if (memcmp(Mnemonic.data()+14, "4_e64", 5) != 0)
    5563             :                 break;
    5564           0 :               Mnemonic = "v_div_fixup_f64";    // "v_div_fixup_f64_e64"
    5565           0 :               return;
    5566             :             }
    5567             :             break;
    5568           0 :           case 's':      // 2 strings to match.
    5569           0 :             if (memcmp(Mnemonic.data()+7, "cale_f", 6) != 0)
    5570             :               break;
    5571           0 :             switch (Mnemonic[13]) {
    5572             :             default: break;
    5573           0 :             case '3':    // 1 string to match.
    5574           0 :               if (memcmp(Mnemonic.data()+14, "2_e64", 5) != 0)
    5575             :                 break;
    5576           0 :               Mnemonic = "v_div_scale_f32";    // "v_div_scale_f32_e64"
    5577           0 :               return;
    5578           0 :             case '6':    // 1 string to match.
    5579           0 :               if (memcmp(Mnemonic.data()+14, "4_e64", 5) != 0)
    5580             :                 break;
    5581           0 :               Mnemonic = "v_div_scale_f64";    // "v_div_scale_f64_e64"
    5582           0 :               return;
    5583             :             }
    5584             :             break;
    5585             :           }
    5586             :           break;
    5587           0 :         case 'i':        // 3 strings to match.
    5588           0 :           if (memcmp(Mnemonic.data()+3, "nterp_p", 7) != 0)
    5589             :             break;
    5590           0 :           switch (Mnemonic[10]) {
    5591             :           default: break;
    5592           0 :           case '1':      // 1 string to match.
    5593           0 :             if (memcmp(Mnemonic.data()+11, "_f32_e64", 8) != 0)
    5594             :               break;
    5595           0 :             Mnemonic = "v_interp_p1_f32";      // "v_interp_p1_f32_e64"
    5596           0 :             return;
    5597           0 :           case '2':      // 2 strings to match.
    5598           0 :             if (memcmp(Mnemonic.data()+11, "_f", 2) != 0)
    5599             :               break;
    5600           0 :             switch (Mnemonic[13]) {
    5601             :             default: break;
    5602           0 :             case '1':    // 1 string to match.
    5603           0 :               if (memcmp(Mnemonic.data()+14, "6_e64", 5) != 0)
    5604             :                 break;
    5605           0 :               Mnemonic = "v_interp_p2_f16";    // "v_interp_p2_f16_e64"
    5606           0 :               return;
    5607           0 :             case '3':    // 1 string to match.
    5608           0 :               if (memcmp(Mnemonic.data()+14, "2_e64", 5) != 0)
    5609             :                 break;
    5610           0 :               Mnemonic = "v_interp_p2_f32";    // "v_interp_p2_f32_e64"
    5611           0 :               return;
    5612             :             }
    5613             :             break;
    5614             :           }
    5615             :           break;
    5616           0 :         case 'l':        // 1 string to match.
    5617           0 :           if (memcmp(Mnemonic.data()+3, "og_clamp_f32_e64", 16) != 0)
    5618             :             break;
    5619           0 :           Mnemonic = "v_log_clamp_f32";        // "v_log_clamp_f32_e64"
    5620           0 :           return;
    5621           0 :         case 'm':        // 2 strings to match.
    5622           0 :           if (memcmp(Mnemonic.data()+3, "ad_mix", 6) != 0)
    5623             :             break;
    5624           0 :           switch (Mnemonic[9]) {
    5625             :           default: break;
    5626           0 :           case 'h':      // 1 string to match.
    5627           0 :             if (memcmp(Mnemonic.data()+10, "i_f16_e64", 9) != 0)
    5628             :               break;
    5629           0 :             Mnemonic = "v_mad_mixhi_f16";      // "v_mad_mixhi_f16_e64"
    5630           0 :             return;
    5631           0 :           case 'l':      // 1 string to match.
    5632           0 :             if (memcmp(Mnemonic.data()+10, "o_f16_e64", 9) != 0)
    5633             :               break;
    5634           0 :             Mnemonic = "v_mad_mixlo_f16";      // "v_mad_mixlo_f16_e64"
    5635           0 :             return;
    5636             :           }
    5637             :           break;
    5638           0 :         case 'p':        // 1 string to match.
    5639           0 :           if (memcmp(Mnemonic.data()+3, "k_mul_lo_u16_e64", 16) != 0)
    5640             :             break;
    5641           0 :           Mnemonic = "v_pk_mul_lo_u16";        // "v_pk_mul_lo_u16_e64"
    5642           0 :           return;
    5643           0 :         case 'r':        // 5 strings to match.
    5644           0 :           switch (Mnemonic[3]) {
    5645             :           default: break;
    5646           0 :           case 'c':      // 3 strings to match.
    5647           0 :             if (memcmp(Mnemonic.data()+4, "p_", 2) != 0)
    5648             :               break;
    5649           0 :             switch (Mnemonic[6]) {
    5650             :             default: break;
    5651           0 :             case 'c':    // 2 strings to match.
    5652           0 :               if (memcmp(Mnemonic.data()+7, "lamp_f", 6) != 0)
    5653             :                 break;
    5654           0 :               switch (Mnemonic[13]) {
    5655             :               default: break;
    5656           0 :               case '3':  // 1 string to match.
    5657           0 :                 if (memcmp(Mnemonic.data()+14, "2_e64", 5) != 0)
    5658             :                   break;
    5659           0 :                 Mnemonic = "v_rcp_clamp_f32";  // "v_rcp_clamp_f32_e64"
    5660           0 :                 return;
    5661           0 :               case '6':  // 1 string to match.
    5662           0 :                 if (memcmp(Mnemonic.data()+14, "4_e64", 5) != 0)
    5663             :                   break;
    5664           0 :                 Mnemonic = "v_rcp_clamp_f64";  // "v_rcp_clamp_f64_e64"
    5665           0 :                 return;
    5666             :               }
    5667             :               break;
    5668           0 :             case 'i':    // 1 string to match.
    5669           0 :               if (memcmp(Mnemonic.data()+7, "flag_f32_e64", 12) != 0)
    5670             :                 break;
    5671           0 :               Mnemonic = "v_rcp_iflag_f32";    // "v_rcp_iflag_f32_e64"
    5672           0 :               return;
    5673             :             }
    5674             :             break;
    5675           0 :           case 's':      // 2 strings to match.
    5676           0 :             if (memcmp(Mnemonic.data()+4, "q_clamp_f", 9) != 0)
    5677             :               break;
    5678           0 :             switch (Mnemonic[13]) {
    5679             :             default: break;
    5680           0 :             case '3':    // 1 string to match.
    5681           0 :               if (memcmp(Mnemonic.data()+14, "2_e64", 5) != 0)
    5682             :                 break;
    5683           0 :               Mnemonic = "v_rsq_clamp_f32";    // "v_rsq_clamp_f32_e64"
    5684           0 :               return;
    5685           0 :             case '6':    // 1 string to match.
    5686           0 :               if (memcmp(Mnemonic.data()+14, "4_e64", 5) != 0)
    5687             :                 break;
    5688           0 :               Mnemonic = "v_rsq_clamp_f64";    // "v_rsq_clamp_f64_e64"
    5689           0 :               return;
    5690             :             }
    5691             :             break;
    5692             :           }
    5693             :           break;
    5694             :         }
    5695             :         break;
    5696         546 :       case 20:   // 30 strings to match.
    5697         546 :         if (memcmp(Mnemonic.data()+0, "v_", 2) != 0)
    5698             :           break;
    5699         986 :         switch (Mnemonic[2]) {
    5700             :         default: break;
    5701         493 :         case 'c':        // 10 strings to match.
    5702         986 :           switch (Mnemonic[3]) {
    5703             :           default: break;
    5704           0 :           case 'm':      // 3 strings to match.
    5705           0 :             if (memcmp(Mnemonic.data()+4, "px_class_f", 10) != 0)
    5706             :               break;
    5707           0 :             switch (Mnemonic[14]) {
    5708             :             default: break;
    5709           0 :             case '1':    // 1 string to match.
    5710           0 :               if (memcmp(Mnemonic.data()+15, "6_e64", 5) != 0)
    5711             :                 break;
    5712           0 :               Mnemonic = "v_cmpx_class_f16";   // "v_cmpx_class_f16_e64"
    5713           0 :               return;
    5714           0 :             case '3':    // 1 string to match.
    5715           0 :               if (memcmp(Mnemonic.data()+15, "2_e64", 5) != 0)
    5716             :                 break;
    5717           0 :               Mnemonic = "v_cmpx_class_f32";   // "v_cmpx_class_f32_e64"
    5718           0 :               return;
    5719           0 :             case '6':    // 1 string to match.
    5720           0 :               if (memcmp(Mnemonic.data()+15, "4_e64", 5) != 0)
    5721             :                 break;
    5722           0 :               Mnemonic = "v_cmpx_class_f64";   // "v_cmpx_class_f64_e64"
    5723           0 :               return;
    5724             :             }
    5725             :             break;
    5726         493 :           case 'v':      // 7 strings to match.
    5727         493 :             if (memcmp(Mnemonic.data()+4, "t_", 2) != 0)
    5728             :               break;
    5729         986 :             switch (Mnemonic[6]) {
    5730             :             default: break;
    5731           0 :             case 'f':    // 4 strings to match.
    5732           0 :               if (memcmp(Mnemonic.data()+7, "32_ubyte", 8) != 0)
    5733             :                 break;
    5734           0 :               switch (Mnemonic[15]) {
    5735             :               default: break;
    5736           0 :               case '0':  // 1 string to match.
    5737           0 :                 if (memcmp(Mnemonic.data()+16, "_e64", 4) != 0)
    5738             :                   break;
    5739           0 :                 Mnemonic = "v_cvt_f32_ubyte0";         // "v_cvt_f32_ubyte0_e64"
    5740           0 :                 return;
    5741           0 :               case '1':  // 1 string to match.
    5742           0 :                 if (memcmp(Mnemonic.data()+16, "_e64", 4) != 0)
    5743             :                   break;
    5744           0 :                 Mnemonic = "v_cvt_f32_ubyte1";         // "v_cvt_f32_ubyte1_e64"
    5745           0 :                 return;
    5746           0 :               case '2':  // 1 string to match.
    5747           0 :                 if (memcmp(Mnemonic.data()+16, "_e64", 4) != 0)
    5748             :                   break;
    5749           0 :                 Mnemonic = "v_cvt_f32_ubyte2";         // "v_cvt_f32_ubyte2_e64"
    5750           0 :                 return;
    5751           0 :               case '3':  // 1 string to match.
    5752           0 :                 if (memcmp(Mnemonic.data()+16, "_e64", 4) != 0)
    5753             :                   break;
    5754           0 :                 Mnemonic = "v_cvt_f32_ubyte3";         // "v_cvt_f32_ubyte3_e64"
    5755           0 :                 return;
    5756             :               }
    5757             :               break;
    5758           0 :             case 'o':    // 1 string to match.
    5759           0 :               if (memcmp(Mnemonic.data()+7, "ff_f32_i4_e64", 13) != 0)
    5760             :                 break;
    5761           0 :               Mnemonic = "v_cvt_off_f32_i4";   // "v_cvt_off_f32_i4_e64"
    5762           0 :               return;
    5763         493 :             case 'p':    // 2 strings to match.
    5764         493 :               if (memcmp(Mnemonic.data()+7, "k_", 2) != 0)
    5765             :                 break;
    5766           0 :               switch (Mnemonic[9]) {
    5767             :               default: break;
    5768           0 :               case 'i':  // 1 string to match.
    5769           0 :                 if (memcmp(Mnemonic.data()+10, "16_i32_e64", 10) != 0)
    5770             :                   break;
    5771           0 :                 Mnemonic = "v_cvt_pk_i16_i32";         // "v_cvt_pk_i16_i32_e64"
    5772           0 :                 return;
    5773           0 :               case 'u':  // 1 string to match.
    5774           0 :                 if (memcmp(Mnemonic.data()+10, "16_u32_e64", 10) != 0)
    5775             :                   break;
    5776           0 :                 Mnemonic = "v_cvt_pk_u16_u32";         // "v_cvt_pk_u16_u32_e64"
    5777           0 :                 return;
    5778             :               }
    5779             :               break;
    5780             :             }
    5781             :             break;
    5782             :           }
    5783             :           break;
    5784           0 :         case 'e':        // 1 string to match.
    5785           0 :           if (memcmp(Mnemonic.data()+3, "xp_legacy_f32_e64", 17) != 0)
    5786             :             break;
    5787           0 :           Mnemonic = "v_exp_legacy_f32";       // "v_exp_legacy_f32_e64"
    5788           0 :           return;
    5789           0 :         case 'f':        // 3 strings to match.
    5790           0 :           if (memcmp(Mnemonic.data()+3, "rexp_mant_f", 11) != 0)
    5791             :             break;
    5792           0 :           switch (Mnemonic[14]) {
    5793             :           default: break;
    5794           0 :           case '1':      // 1 string to match.
    5795           0 :             if (memcmp(Mnemonic.data()+15, "6_e64", 5) != 0)
    5796             :               break;
    5797           0 :             Mnemonic = "v_frexp_mant_f16";     // "v_frexp_mant_f16_e64"
    5798           0 :             return;
    5799           0 :           case '3':      // 1 string to match.
    5800           0 :             if (memcmp(Mnemonic.data()+15, "2_e64", 5) != 0)
    5801             :               break;
    5802           0 :             Mnemonic = "v_frexp_mant_f32";     // "v_frexp_mant_f32_e64"
    5803           0 :             return;
    5804           0 :           case '6':      // 1 string to match.
    5805           0 :             if (memcmp(Mnemonic.data()+15, "4_e64", 5) != 0)
    5806             :               break;
    5807           0 :             Mnemonic = "v_frexp_mant_f64";     // "v_frexp_mant_f64_e64"
    5808           0 :             return;
    5809             :           }
    5810             :           break;
    5811           0 :         case 'i':        // 1 string to match.
    5812           0 :           if (memcmp(Mnemonic.data()+3, "nterp_mov_f32_e64", 17) != 0)
    5813             :             break;
    5814           0 :           Mnemonic = "v_interp_mov_f32";       // "v_interp_mov_f32_e64"
    5815           0 :           return;
    5816           0 :         case 'l':        // 1 string to match.
    5817           0 :           if (memcmp(Mnemonic.data()+3, "og_legacy_f32_e64", 17) != 0)
    5818             :             break;
    5819           0 :           Mnemonic = "v_log_legacy_f32";       // "v_log_legacy_f32_e64"
    5820           0 :           return;
    5821           0 :         case 'm':        // 7 strings to match.
    5822           0 :           switch (Mnemonic[3]) {
    5823             :           default: break;
    5824           0 :           case 'a':      // 3 strings to match.
    5825           0 :             switch (Mnemonic[4]) {
    5826             :             default: break;
    5827           0 :             case 'c':    // 1 string to match.
    5828           0 :               if (memcmp(Mnemonic.data()+5, "_legacy_f32_e64", 15) != 0)
    5829             :                 break;
    5830           0 :               Mnemonic = "v_mac_legacy_f32";   // "v_mac_legacy_f32_e64"
    5831           0 :               return;
    5832           0 :             case 'd':    // 1 string to match.
    5833           0 :               if (memcmp(Mnemonic.data()+5, "_legacy_f32_e64", 15) != 0)
    5834             :                 break;
    5835           0 :               Mnemonic = "v_mad_legacy_f32";   // "v_mad_legacy_f32_e64"
    5836           0 :               return;
    5837           0 :             case 'x':    // 1 string to match.
    5838           0 :               if (memcmp(Mnemonic.data()+5, "_legacy_f32_e64", 15) != 0)
    5839             :                 break;
    5840           0 :               Mnemonic = "v_max_legacy_f32";   // "v_max_legacy_f32_e64"
    5841           0 :               return;
    5842             :             }
    5843             :             break;
    5844           0 :           case 'i':      // 1 string to match.
    5845           0 :             if (memcmp(Mnemonic.data()+4, "n_legacy_f32_e64", 16) != 0)
    5846             :               break;
    5847           0 :             Mnemonic = "v_min_legacy_f32";     // "v_min_legacy_f32_e64"
    5848           0 :             return;
    5849           0 :           case 'u':      // 3 strings to match.
    5850           0 :             if (memcmp(Mnemonic.data()+4, "l_", 2) != 0)
    5851             :               break;
    5852           0 :             switch (Mnemonic[6]) {
    5853             :             default: break;
    5854           0 :             case 'h':    // 2 strings to match.
    5855           0 :               if (memcmp(Mnemonic.data()+7, "i_", 2) != 0)
    5856             :                 break;
    5857           0 :               switch (Mnemonic[9]) {
    5858             :               default: break;
    5859           0 :               case 'i':  // 1 string to match.
    5860           0 :                 if (memcmp(Mnemonic.data()+10, "32_i24_e64", 10) != 0)
    5861             :                   break;
    5862           0 :                 Mnemonic = "v_mul_hi_i32_i24";         // "v_mul_hi_i32_i24_e64"
    5863           0 :                 return;
    5864           0 :               case 'u':  // 1 string to match.
    5865           0 :                 if (memcmp(Mnemonic.data()+10, "32_u24_e64", 10) != 0)
    5866             :                   break;
    5867           0 :                 Mnemonic = "v_mul_hi_u32_u24";         // "v_mul_hi_u32_u24_e64"
    5868           0 :                 return;
    5869             :               }
    5870             :               break;
    5871           0 :             case 'l':    // 1 string to match.
    5872           0 :               if (memcmp(Mnemonic.data()+7, "egacy_f32_e64", 13) != 0)
    5873             :                 break;
    5874           0 :               Mnemonic = "v_mul_legacy_f32";   // "v_mul_legacy_f32_e64"
    5875           0 :               return;
    5876             :             }
    5877             :             break;
    5878             :           }
    5879             :           break;
    5880           0 :         case 'p':        // 3 strings to match.
    5881           0 :           if (memcmp(Mnemonic.data()+3, "k_", 2) != 0)
    5882             :             break;
    5883           0 :           switch (Mnemonic[5]) {
    5884             :           default: break;
    5885           0 :           case 'a':      // 1 string to match.
    5886           0 :             if (memcmp(Mnemonic.data()+6, "shrrev_i16_e64", 14) != 0)
    5887             :               break;
    5888           0 :             Mnemonic = "v_pk_ashrrev_i16";     // "v_pk_ashrrev_i16_e64"
    5889           0 :             return;
    5890           0 :           case 'l':      // 2 strings to match.
    5891           0 :             if (memcmp(Mnemonic.data()+6, "sh", 2) != 0)
    5892             :               break;
    5893           0 :             switch (Mnemonic[8]) {
    5894             :             default: break;
    5895           0 :             case 'l':    // 1 string to match.
    5896           0 :               if (memcmp(Mnemonic.data()+9, "rev_b16_e64", 11) != 0)
    5897             :                 break;
    5898           0 :               Mnemonic = "v_pk_lshlrev_b16";   // "v_pk_lshlrev_b16_e64"
    5899           0 :               return;
    5900           0 :             case 'r':    // 1 string to match.
    5901           0 :               if (memcmp(Mnemonic.data()+9, "rev_b16_e64", 11) != 0)
    5902             :                 break;
    5903           0 :               Mnemonic = "v_pk_lshrrev_b16";   // "v_pk_lshrrev_b16_e64"
    5904           0 :               return;
    5905             :             }
    5906             :             break;
    5907             :           }
    5908             :           break;
    5909           0 :         case 'q':        // 1 string to match.
    5910           0 :           if (memcmp(Mnemonic.data()+3, "sad_pk_u16_u8_e64", 17) != 0)
    5911             :             break;
    5912           0 :           Mnemonic = "v_qsad_pk_u16_u8";       // "v_qsad_pk_u16_u8_e64"
    5913           0 :           return;
    5914           0 :         case 'r':        // 2 strings to match.
    5915           0 :           switch (Mnemonic[3]) {
    5916             :           default: break;
    5917           0 :           case 'c':      // 1 string to match.
    5918           0 :             if (memcmp(Mnemonic.data()+4, "p_legacy_f32_e64", 16) != 0)
    5919             :               break;
    5920           0 :             Mnemonic = "v_rcp_legacy_f32";     // "v_rcp_legacy_f32_e64"
    5921           0 :             return;
    5922           0 :           case 's':      // 1 string to match.
    5923           0 :             if (memcmp(Mnemonic.data()+4, "q_legacy_f32_e64", 16) != 0)
    5924             :               break;
    5925           0 :             Mnemonic = "v_rsq_legacy_f32";     // "v_rsq_legacy_f32_e64"
    5926           0 :             return;
    5927             :           }
    5928             :           break;
    5929           0 :         case 't':        // 1 string to match.
    5930           0 :           if (memcmp(Mnemonic.data()+3, "rig_preop_f64_e64", 17) != 0)
    5931             :             break;
    5932           0 :           Mnemonic = "v_trig_preop_f64";       // "v_trig_preop_f64_e64"
    5933           0 :           return;
    5934             :         }
    5935             :         break;
    5936          16 :       case 21:   // 5 strings to match.
    5937          16 :         if (memcmp(Mnemonic.data()+0, "v_", 2) != 0)
    5938             :           break;
    5939           0 :         switch (Mnemonic[2]) {
    5940             :         default: break;
    5941           0 :         case 'c':        // 2 strings to match.
    5942           0 :           if (memcmp(Mnemonic.data()+3, "vt_", 3) != 0)
    5943             :             break;
    5944           0 :           switch (Mnemonic[6]) {
    5945             :           default: break;
    5946           0 :           case 'f':      // 1 string to match.
    5947           0 :             if (memcmp(Mnemonic.data()+7, "lr_i32_f32_e64", 14) != 0)
    5948             :               break;
    5949           0 :             Mnemonic = "v_cvt_flr_i32_f32";    // "v_cvt_flr_i32_f32_e64"
    5950           0 :             return;
    5951           0 :           case 'r':      // 1 string to match.
    5952           0 :             if (memcmp(Mnemonic.data()+7, "pi_i32_f32_e64", 14) != 0)
    5953             :               break;
    5954           0 :             Mnemonic = "v_cvt_rpi_i32_f32";    // "v_cvt_rpi_i32_f32_e64"
    5955           0 :             return;
    5956             :           }
    5957             :           break;
    5958           0 :         case 'i':        // 2 strings to match.
    5959           0 :           if (memcmp(Mnemonic.data()+3, "nterp_p1l", 9) != 0)
    5960             :             break;
    5961           0 :           switch (Mnemonic[12]) {
    5962             :           default: break;
    5963           0 :           case 'l':      // 1 string to match.
    5964           0 :             if (memcmp(Mnemonic.data()+13, "_f16_e64", 8) != 0)
    5965             :               break;
    5966           0 :             Mnemonic = "v_interp_p1ll_f16";    // "v_interp_p1ll_f16_e64"
    5967           0 :             return;
    5968           0 :           case 'v':      // 1 string to match.
    5969           0 :             if (memcmp(Mnemonic.data()+13, "_f16_e64", 8) != 0)
    5970             :               break;
    5971           0 :             Mnemonic = "v_interp_p1lv_f16";    // "v_interp_p1lv_f16_e64"
    5972           0 :             return;
    5973             :           }
    5974             :           break;
    5975           0 :         case 'm':        // 1 string to match.
    5976           0 :           if (memcmp(Mnemonic.data()+3, "qsad_pk_u16_u8_e64", 18) != 0)
    5977             :             break;
    5978           0 :           Mnemonic = "v_mqsad_pk_u16_u8";      // "v_mqsad_pk_u16_u8_e64"
    5979           0 :           return;
    5980             :         }
    5981             :         break;
    5982          52 :       case 22:   // 2 strings to match.
    5983          52 :         if (memcmp(Mnemonic.data()+0, "v_mbcnt_", 8) != 0)
    5984             :           break;
    5985           0 :         switch (Mnemonic[8]) {
    5986             :         default: break;
    5987           0 :         case 'h':        // 1 string to match.
    5988           0 :           if (memcmp(Mnemonic.data()+9, "i_u32_b32_e64", 13) != 0)
    5989             :             break;
    5990           0 :           Mnemonic = "v_mbcnt_hi_u32_b32";     // "v_mbcnt_hi_u32_b32_e64"
    5991           0 :           return;
    5992           0 :         case 'l':        // 1 string to match.
    5993           0 :           if (memcmp(Mnemonic.data()+9, "o_u32_b32_e64", 13) != 0)
    5994             :             break;
    5995           0 :           Mnemonic = "v_mbcnt_lo_u32_b32";     // "v_mbcnt_lo_u32_b32_e64"
    5996           0 :           return;
    5997             :         }
    5998             :         break;
    5999          10 :       case 23:   // 4 strings to match.
    6000          10 :         if (memcmp(Mnemonic.data()+0, "v_", 2) != 0)
    6001             :           break;
    6002           0 :         switch (Mnemonic[2]) {
    6003             :         default: break;
    6004           0 :         case 'c':        // 1 string to match.
    6005           0 :           if (memcmp(Mnemonic.data()+3, "vt_pkrtz_f16_f32_e64", 20) != 0)
    6006             :             break;
    6007           0 :           Mnemonic = "v_cvt_pkrtz_f16_f32";    // "v_cvt_pkrtz_f16_f32_e64"
    6008           0 :           return;
    6009           0 :         case 'f':        // 3 strings to match.
    6010           0 :           if (memcmp(Mnemonic.data()+3, "rexp_exp_i", 10) != 0)
    6011             :             break;
    6012           0 :           switch (Mnemonic[13]) {
    6013             :           default: break;
    6014           0 :           case '1':      // 1 string to match.
    6015           0 :             if (memcmp(Mnemonic.data()+14, "6_f16_e64", 9) != 0)
    6016             :               break;
    6017           0 :             Mnemonic = "v_frexp_exp_i16_f16";  // "v_frexp_exp_i16_f16_e64"
    6018           0 :             return;
    6019           0 :           case '3':      // 2 strings to match.
    6020           0 :             if (memcmp(Mnemonic.data()+14, "2_f", 3) != 0)
    6021             :               break;
    6022           0 :             switch (Mnemonic[17]) {
    6023             :             default: break;
    6024           0 :             case '3':    // 1 string to match.
    6025           0 :               if (memcmp(Mnemonic.data()+18, "2_e64", 5) != 0)
    6026             :                 break;
    6027           0 :               Mnemonic = "v_frexp_exp_i32_f32";        // "v_frexp_exp_i32_f32_e64"
    6028           0 :               return;
    6029           0 :             case '6':    // 1 string to match.
    6030           0 :               if (memcmp(Mnemonic.data()+18, "4_e64", 5) != 0)
    6031             :                 break;
    6032           0 :               Mnemonic = "v_frexp_exp_i32_f64";        // "v_frexp_exp_i32_f64_e64"
    6033           0 :               return;
    6034             :             }
    6035             :             break;
    6036             :           }
    6037             :           break;
    6038             :         }
    6039             :         break;
    6040           9 :       case 24:   // 6 strings to match.
    6041           9 :         if (memcmp(Mnemonic.data()+0, "v_", 2) != 0)
    6042             :           break;
    6043           0 :         switch (Mnemonic[2]) {
    6044             :         default: break;
    6045           0 :         case 'c':        // 5 strings to match.
    6046           0 :           if (memcmp(Mnemonic.data()+3, "vt_pk", 5) != 0)
    6047             :             break;
    6048           0 :           switch (Mnemonic[8]) {
    6049             :           default: break;
    6050           0 :           case 'a':      // 1 string to match.
    6051           0 :             if (memcmp(Mnemonic.data()+9, "ccum_u8_f32_e64", 15) != 0)
    6052             :               break;
    6053           0 :             Mnemonic = "v_cvt_pkaccum_u8_f32";         // "v_cvt_pkaccum_u8_f32_e64"
    6054           0 :             return;
    6055           0 :           case 'n':      // 4 strings to match.
    6056           0 :             if (memcmp(Mnemonic.data()+9, "orm_", 4) != 0)
    6057             :               break;
    6058           0 :             switch (Mnemonic[13]) {
    6059             :             default: break;
    6060           0 :             case 'i':    // 2 strings to match.
    6061           0 :               if (memcmp(Mnemonic.data()+14, "16_f", 4) != 0)
    6062             :                 break;
    6063           0 :               switch (Mnemonic[18]) {
    6064             :               default: break;
    6065           0 :               case '1':  // 1 string to match.
    6066           0 :                 if (memcmp(Mnemonic.data()+19, "6_e64", 5) != 0)
    6067             :                   break;
    6068           0 :                 Mnemonic = "v_cvt_pknorm_i16_f16";     // "v_cvt_pknorm_i16_f16_e64"
    6069           0 :                 return;
    6070           0 :               case '3':  // 1 string to match.
    6071           0 :                 if (memcmp(Mnemonic.data()+19, "2_e64", 5) != 0)
    6072             :                   break;
    6073           0 :                 Mnemonic = "v_cvt_pknorm_i16_f32";     // "v_cvt_pknorm_i16_f32_e64"
    6074           0 :                 return;
    6075             :               }
    6076             :               break;
    6077           0 :             case 'u':    // 2 strings to match.
    6078           0 :               if (memcmp(Mnemonic.data()+14, "16_f", 4) != 0)
    6079             :                 break;
    6080           0 :               switch (Mnemonic[18]) {
    6081             :               default: break;
    6082           0 :               case '1':  // 1 string to match.
    6083           0 :                 if (memcmp(Mnemonic.data()+19, "6_e64", 5) != 0)
    6084             :                   break;
    6085           0 :                 Mnemonic = "v_cvt_pknorm_u16_f16";     // "v_cvt_pknorm_u16_f16_e64"
    6086           0 :                 return;
    6087           0 :               case '3':  // 1 string to match.
    6088           0 :                 if (memcmp(Mnemonic.data()+19, "2_e64", 5) != 0)
    6089             :                   break;
    6090           0 :                 Mnemonic = "v_cvt_pknorm_u16_f32";     // "v_cvt_pknorm_u16_f32_e64"
    6091           0 :                 return;
    6092             :               }
    6093             :               break;
    6094             :             }
    6095             :             break;
    6096             :           }
    6097             :           break;
    6098           0 :         case 'd':        // 1 string to match.
    6099           0 :           if (memcmp(Mnemonic.data()+3, "iv_fixup_f16_gfx9_e64", 21) != 0)
    6100             :             break;
    6101           0 :           Mnemonic = "v_div_fixup_f16_gfx9";   // "v_div_fixup_f16_gfx9_e64"
    6102           0 :           return;
    6103             :         }
    6104             :         break;
    6105             :       }
    6106             :     break;
    6107       15934 :     case 2:
    6108       15934 :       switch (Mnemonic.size()) {
    6109             :       default: break;
    6110         601 :       case 10:   // 1 string to match.
    6111         601 :         if (memcmp(Mnemonic.data()+0, "v_nop_sdwa", 10) != 0)
    6112             :           break;
    6113           0 :         Mnemonic = "v_nop";    // "v_nop_sdwa"
    6114           0 :         return;
    6115        4257 :       case 13:   // 1 string to match.
    6116        4257 :         if (memcmp(Mnemonic.data()+0, "v_or_b32_sdwa", 13) != 0)
    6117             :           break;
    6118           0 :         Mnemonic = "v_or_b32";         // "v_or_b32_sdwa"
    6119           0 :         return;
    6120         840 :       case 14:   // 42 strings to match.
    6121         840 :         if (memcmp(Mnemonic.data()+0, "v_", 2) != 0)
    6122             :           break;
    6123        1634 :         switch (Mnemonic[2]) {
    6124             :         default: break;
    6125           3 :         case 'a':        // 6 strings to match.
    6126           6 :           switch (Mnemonic[3]) {
    6127             :           default: break;
    6128           3 :           case 'd':      // 5 strings to match.
    6129           3 :             if (memcmp(Mnemonic.data()+4, "d_", 2) != 0)
    6130             :               break;
    6131           6 :             switch (Mnemonic[6]) {
    6132             :             default: break;
    6133           0 :             case 'f':    // 2 strings to match.
    6134           0 :               switch (Mnemonic[7]) {
    6135             :               default: break;
    6136           0 :               case '1':  // 1 string to match.
    6137           0 :                 if (memcmp(Mnemonic.data()+8, "6_sdwa", 6) != 0)
    6138             :                   break;
    6139           0 :                 Mnemonic = "v_add_f16";        // "v_add_f16_sdwa"
    6140           0 :                 return;
    6141           0 :               case '3':  // 1 string to match.
    6142           0 :                 if (memcmp(Mnemonic.data()+8, "2_sdwa", 6) != 0)
    6143             :                   break;
    6144           0 :                 Mnemonic = "v_add_f32";        // "v_add_f32_sdwa"
    6145           0 :                 return;
    6146             :               }
    6147             :               break;
    6148           0 :             case 'i':    // 1 string to match.
    6149           0 :               if (memcmp(Mnemonic.data()+7, "32_sdwa", 7) != 0)
    6150             :                 break;
    6151           0 :               Mnemonic = "v_add_i32";  // "v_add_i32_sdwa"
    6152           0 :               return;
    6153           0 :             case 'u':    // 2 strings to match.
    6154           0 :               switch (Mnemonic[7]) {
    6155             :               default: break;
    6156           0 :               case '1':  // 1 string to match.
    6157           0 :                 if (memcmp(Mnemonic.data()+8, "6_sdwa", 6) != 0)
    6158             :                   break;
    6159           0 :                 Mnemonic = "v_add_u16";        // "v_add_u16_sdwa"
    6160           0 :                 return;
    6161           0 :               case '3':  // 1 string to match.
    6162           0 :                 if (memcmp(Mnemonic.data()+8, "2_sdwa", 6) != 0)
    6163             :                   break;
    6164           0 :                 Mnemonic = "v_add_u32";        // "v_add_u32_sdwa"
    6165           0 :                 return;
    6166             :               }
    6167             :               break;
    6168             :             }
    6169             :             break;
    6170           0 :           case 'n':      // 1 string to match.
    6171           0 :             if (memcmp(Mnemonic.data()+4, "d_b32_sdwa", 10) != 0)
    6172             :               break;
    6173           0 :             Mnemonic = "v_and_b32";    // "v_and_b32_sdwa"
    6174           0 :             return;
    6175             :           }
    6176             :           break;
    6177         802 :         case 'c':        // 2 strings to match.
    6178         802 :           if (memcmp(Mnemonic.data()+3, "os_f", 4) != 0)
    6179             :             break;
    6180           0 :           switch (Mnemonic[7]) {
    6181             :           default: break;
    6182           0 :           case '1':      // 1 string to match.
    6183           0 :             if (memcmp(Mnemonic.data()+8, "6_sdwa", 6) != 0)
    6184             :               break;
    6185           0 :             Mnemonic = "v_cos_f16";    // "v_cos_f16_sdwa"
    6186           0 :             return;
    6187           0 :           case '3':      // 1 string to match.
    6188           0 :             if (memcmp(Mnemonic.data()+8, "2_sdwa", 6) != 0)
    6189             :               break;
    6190           0 :             Mnemonic = "v_cos_f32";    // "v_cos_f32_sdwa"
    6191           0 :             return;
    6192             :           }
    6193             :           break;
    6194           0 :         case 'e':        // 2 strings to match.
    6195           0 :           if (memcmp(Mnemonic.data()+3, "xp_f", 4) != 0)
    6196             :             break;
    6197           0 :           switch (Mnemonic[7]) {
    6198             :           default: break;
    6199           0 :           case '1':      // 1 string to match.
    6200           0 :             if (memcmp(Mnemonic.data()+8, "6_sdwa", 6) != 0)
    6201             :               break;
    6202           0 :             Mnemonic = "v_exp_f16";    // "v_exp_f16_sdwa"
    6203           0 :             return;
    6204           0 :           case '3':      // 1 string to match.
    6205           0 :             if (memcmp(Mnemonic.data()+8, "2_sdwa", 6) != 0)
    6206             :               break;
    6207           0 :             Mnemonic = "v_exp_f32";    // "v_exp_f32_sdwa"
    6208           0 :             return;
    6209             :           }
    6210             :           break;
    6211           3 :         case 'l':        // 2 strings to match.
    6212           3 :           if (memcmp(Mnemonic.data()+3, "og_f", 4) != 0)
    6213             :             break;
    6214           0 :           switch (Mnemonic[7]) {
    6215             :           default: break;
    6216           0 :           case '1':      // 1 string to match.
    6217           0 :             if (memcmp(Mnemonic.data()+8, "6_sdwa", 6) != 0)
    6218             :               break;
    6219           0 :             Mnemonic = "v_log_f16";    // "v_log_f16_sdwa"
    6220           0 :             return;
    6221           0 :           case '3':      // 1 string to match.
    6222           0 :             if (memcmp(Mnemonic.data()+8, "2_sdwa", 6) != 0)
    6223             :               break;
    6224           0 :             Mnemonic = "v_log_f32";    // "v_log_f32_sdwa"
    6225           0 :             return;
    6226             :           }
    6227             :           break;
    6228           6 :         case 'm':        // 17 strings to match.
    6229          12 :           switch (Mnemonic[3]) {
    6230             :           default: break;
    6231           0 :           case 'a':      // 8 strings to match.
    6232           0 :             switch (Mnemonic[4]) {
    6233             :             default: break;
    6234           0 :             case 'c':    // 2 strings to match.
    6235           0 :               if (memcmp(Mnemonic.data()+5, "_f", 2) != 0)
    6236             :                 break;
    6237           0 :               switch (Mnemonic[7]) {
    6238             :               default: break;
    6239           0 :               case '1':  // 1 string to match.
    6240           0 :                 if (memcmp(Mnemonic.data()+8, "6_sdwa", 6) != 0)
    6241             :                   break;
    6242           0 :                 Mnemonic = "v_mac_f16";        // "v_mac_f16_sdwa"
    6243           0 :                 return;
    6244           0 :               case '3':  // 1 string to match.
    6245           0 :                 if (memcmp(Mnemonic.data()+8, "2_sdwa", 6) != 0)
    6246             :                   break;
    6247           0 :                 Mnemonic = "v_mac_f32";        // "v_mac_f32_sdwa"
    6248           0 :                 return;
    6249             :               }
    6250             :               break;
    6251           0 :             case 'x':    // 6 strings to match.
    6252           0 :               if (Mnemonic[5] != '_')
    6253             :                 break;
    6254           0 :               switch (Mnemonic[6]) {
    6255             :               default: break;
    6256           0 :               case 'f':  // 2 strings to match.
    6257           0 :                 switch (Mnemonic[7]) {
    6258             :                 default: break;
    6259           0 :                 case '1':        // 1 string to match.
    6260           0 :                   if (memcmp(Mnemonic.data()+8, "6_sdwa", 6) != 0)
    6261             :                     break;
    6262           0 :                   Mnemonic = "v_max_f16";      // "v_max_f16_sdwa"
    6263           0 :                   return;
    6264           0 :                 case '3':        // 1 string to match.
    6265           0 :                   if (memcmp(Mnemonic.data()+8, "2_sdwa", 6) != 0)
    6266             :                     break;
    6267           0 :                   Mnemonic = "v_max_f32";      // "v_max_f32_sdwa"
    6268           0 :                   return;
    6269             :                 }
    6270             :                 break;
    6271           0 :               case 'i':  // 2 strings to match.
    6272           0 :                 switch (Mnemonic[7]) {
    6273             :                 default: break;
    6274           0 :                 case '1':        // 1 string to match.
    6275           0 :                   if (memcmp(Mnemonic.data()+8, "6_sdwa", 6) != 0)
    6276             :                     break;
    6277           0 :                   Mnemonic = "v_max_i16";      // "v_max_i16_sdwa"
    6278           0 :                   return;
    6279           0 :                 case '3':        // 1 string to match.
    6280           0 :                   if (memcmp(Mnemonic.data()+8, "2_sdwa", 6) != 0)
    6281             :                     break;
    6282           0 :                   Mnemonic = "v_max_i32";      // "v_max_i32_sdwa"
    6283           0 :                   return;
    6284             :                 }
    6285             :                 break;
    6286           0 :               case 'u':  // 2 strings to match.
    6287           0 :                 switch (Mnemonic[7]) {
    6288             :                 default: break;
    6289           0 :                 case '1':        // 1 string to match.
    6290           0 :                   if (memcmp(Mnemonic.data()+8, "6_sdwa", 6) != 0)
    6291             :                     break;
    6292           0 :                   Mnemonic = "v_max_u16";      // "v_max_u16_sdwa"
    6293           0 :                   return;
    6294           0 :                 case '3':        // 1 string to match.
    6295           0 :                   if (memcmp(Mnemonic.data()+8, "2_sdwa", 6) != 0)
    6296             :                     break;
    6297           0 :                   Mnemonic = "v_max_u32";      // "v_max_u32_sdwa"
    6298           0 :                   return;
    6299             :                 }
    6300             :                 break;
    6301             :               }
    6302             :               break;
    6303             :             }
    6304             :             break;
    6305           0 :           case 'i':      // 6 strings to match.
    6306           0 :             if (memcmp(Mnemonic.data()+4, "n_", 2) != 0)
    6307             :               break;
    6308           0 :             switch (Mnemonic[6]) {
    6309             :             default: break;
    6310           0 :             case 'f':    // 2 strings to match.
    6311           0 :               switch (Mnemonic[7]) {
    6312             :               default: break;
    6313           0 :               case '1':  // 1 string to match.
    6314           0 :                 if (memcmp(Mnemonic.data()+8, "6_sdwa", 6) != 0)
    6315             :                   break;
    6316           0 :                 Mnemonic = "v_min_f16";        // "v_min_f16_sdwa"
    6317           0 :                 return;
    6318           0 :               case '3':  // 1 string to match.
    6319           0 :                 if (memcmp(Mnemonic.data()+8, "2_sdwa", 6) != 0)
    6320             :                   break;
    6321           0 :                 Mnemonic = "v_min_f32";        // "v_min_f32_sdwa"
    6322           0 :                 return;
    6323             :               }
    6324             :               break;
    6325           0 :             case 'i':    // 2 strings to match.
    6326           0 :               switch (Mnemonic[7]) {
    6327             :               default: break;
    6328           0 :               case '1':  // 1 string to match.
    6329           0 :                 if (memcmp(Mnemonic.data()+8, "6_sdwa", 6) != 0)
    6330             :                   break;
    6331           0 :                 Mnemonic = "v_min_i16";        // "v_min_i16_sdwa"
    6332           0 :                 return;
    6333           0 :               case '3':  // 1 string to match.
    6334           0 :                 if (memcmp(Mnemonic.data()+8, "2_sdwa", 6) != 0)
    6335             :                   break;
    6336           0 :                 Mnemonic = "v_min_i32";        // "v_min_i32_sdwa"
    6337           0 :                 return;
    6338             :               }
    6339             :               break;
    6340           0 :             case 'u':    // 2 strings to match.
    6341           0 :               switch (Mnemonic[7]) {
    6342             :               default: break;
    6343           0 :               case '1':  // 1 string to match.
    6344           0 :                 if (memcmp(Mnemonic.data()+8, "6_sdwa", 6) != 0)
    6345             :                   break;
    6346           0 :                 Mnemonic = "v_min_u16";        // "v_min_u16_sdwa"
    6347           0 :                 return;
    6348           0 :               case '3':  // 1 string to match.
    6349           0 :                 if (memcmp(Mnemonic.data()+8, "2_sdwa", 6) != 0)
    6350             :                   break;
    6351           0 :                 Mnemonic = "v_min_u32";        // "v_min_u32_sdwa"
    6352           0 :                 return;
    6353             :               }
    6354             :               break;
    6355             :             }
    6356             :             break;
    6357           0 :           case 'o':      // 1 string to match.
    6358           0 :             if (memcmp(Mnemonic.data()+4, "v_b32_sdwa", 10) != 0)
    6359             :               break;
    6360           0 :             Mnemonic = "v_mov_b32";    // "v_mov_b32_sdwa"
    6361           0 :             return;
    6362           0 :           case 'u':      // 2 strings to match.
    6363           0 :             if (memcmp(Mnemonic.data()+4, "l_f", 3) != 0)
    6364             :               break;
    6365           0 :             switch (Mnemonic[7]) {
    6366             :             default: break;
    6367           0 :             case '1':    // 1 string to match.
    6368           0 :               if (memcmp(Mnemonic.data()+8, "6_sdwa", 6) != 0)
    6369             :                 break;
    6370           0 :               Mnemonic = "v_mul_f16";  // "v_mul_f16_sdwa"
    6371           0 :               return;
    6372           0 :             case '3':    // 1 string to match.
    6373           0 :               if (memcmp(Mnemonic.data()+8, "2_sdwa", 6) != 0)
    6374             :                 break;
    6375           0 :               Mnemonic = "v_mul_f32";  // "v_mul_f32_sdwa"
    6376           0 :               return;
    6377             :             }
    6378             :             break;
    6379             :           }
    6380             :           break;
    6381           0 :         case 'n':        // 1 string to match.
    6382           0 :           if (memcmp(Mnemonic.data()+3, "ot_b32_sdwa", 11) != 0)
    6383             :             break;
    6384           0 :           Mnemonic = "v_not_b32";      // "v_not_b32_sdwa"
    6385           0 :           return;
    6386           0 :         case 'r':        // 4 strings to match.
    6387           0 :           switch (Mnemonic[3]) {
    6388             :           default: break;
    6389           0 :           case 'c':      // 2 strings to match.
    6390           0 :             if (memcmp(Mnemonic.data()+4, "p_f", 3) != 0)
    6391             :               break;
    6392           0 :             switch (Mnemonic[7]) {
    6393             :             default: break;
    6394           0 :             case '1':    // 1 string to match.
    6395           0 :               if (memcmp(Mnemonic.data()+8, "6_sdwa", 6) != 0)
    6396             :                 break;
    6397           0 :               Mnemonic = "v_rcp_f16";  // "v_rcp_f16_sdwa"
    6398           0 :               return;
    6399           0 :             case '3':    // 1 string to match.
    6400           0 :               if (memcmp(Mnemonic.data()+8, "2_sdwa", 6) != 0)
    6401             :                 break;
    6402           0 :               Mnemonic = "v_rcp_f32";  // "v_rcp_f32_sdwa"
    6403           0 :               return;
    6404             :             }
    6405             :             break;
    6406           0 :           case 's':      // 2 strings to match.
    6407           0 :             if (memcmp(Mnemonic.data()+4, "q_f", 3) != 0)
    6408             :               break;
    6409           0 :             switch (Mnemonic[7]) {
    6410             :             default: break;
    6411           0 :             case '1':    // 1 string to match.
    6412           0 :               if (memcmp(Mnemonic.data()+8, "6_sdwa", 6) != 0)
    6413             :                 break;
    6414           0 :               Mnemonic = "v_rsq_f16";  // "v_rsq_f16_sdwa"
    6415           0 :               return;
    6416           0 :             case '3':    // 1 string to match.
    6417           0 :               if (memcmp(Mnemonic.data()+8, "2_sdwa", 6) != 0)
    6418             :                 break;
    6419           0 :               Mnemonic = "v_rsq_f32";  // "v_rsq_f32_sdwa"
    6420           0 :               return;
    6421             :             }
    6422             :             break;
    6423             :           }
    6424             :           break;
    6425           0 :         case 's':        // 7 strings to match.
    6426           0 :           switch (Mnemonic[3]) {
    6427             :           default: break;
    6428           0 :           case 'i':      // 2 strings to match.
    6429           0 :             if (memcmp(Mnemonic.data()+4, "n_f", 3) != 0)
    6430             :               break;
    6431           0 :             switch (Mnemonic[7]) {
    6432             :             default: break;
    6433           0 :             case '1':    // 1 string to match.
    6434           0 :               if (memcmp(Mnemonic.data()+8, "6_sdwa", 6) != 0)
    6435             :                 break;
    6436           0 :               Mnemonic = "v_sin_f16";  // "v_sin_f16_sdwa"
    6437           0 :               return;
    6438           0 :             case '3':    // 1 string to match.
    6439           0 :               if (memcmp(Mnemonic.data()+8, "2_sdwa", 6) != 0)
    6440             :                 break;
    6441           0 :               Mnemonic = "v_sin_f32";  // "v_sin_f32_sdwa"
    6442           0 :               return;
    6443             :             }
    6444             :             break;
    6445           0 :           case 'u':      // 5 strings to match.
    6446           0 :             if (memcmp(Mnemonic.data()+4, "b_", 2) != 0)
    6447             :               break;
    6448           0 :             switch (Mnemonic[6]) {
    6449             :             default: break;
    6450           0 :             case 'f':    // 2 strings to match.
    6451           0 :               switch (Mnemonic[7]) {
    6452             :               default: break;
    6453           0 :               case '1':  // 1 string to match.
    6454           0 :                 if (memcmp(Mnemonic.data()+8, "6_sdwa", 6) != 0)
    6455             :                   break;
    6456           0 :                 Mnemonic = "v_sub_f16";        // "v_sub_f16_sdwa"
    6457           0 :                 return;
    6458           0 :               case '3':  // 1 string to match.
    6459           0 :                 if (memcmp(Mnemonic.data()+8, "2_sdwa", 6) != 0)
    6460             :                   break;
    6461           0 :                 Mnemonic = "v_sub_f32";        // "v_sub_f32_sdwa"
    6462           0 :                 return;
    6463             :               }
    6464             :               break;
    6465           0 :             case 'i':    // 1 string to match.
    6466           0 :               if (memcmp(Mnemonic.data()+7, "32_sdwa", 7) != 0)
    6467             :                 break;
    6468           0 :               Mnemonic = "v_sub_i32";  // "v_sub_i32_sdwa"
    6469           0 :               return;
    6470           0 :             case 'u':    // 2 strings to match.
    6471           0 :               switch (Mnemonic[7]) {
    6472             :               default: break;
    6473           0 :               case '1':  // 1 string to match.
    6474           0 :                 if (memcmp(Mnemonic.data()+8, "6_sdwa", 6) != 0)
    6475             :                   break;
    6476           0 :                 Mnemonic = "v_sub_u16";        // "v_sub_u16_sdwa"
    6477           0 :                 return;
    6478           0 :               case '3':  // 1 string to match.
    6479           0 :                 if (memcmp(Mnemonic.data()+8, "2_sdwa", 6) != 0)
    6480             :                   break;
    6481           0 :                 Mnemonic = "v_sub_u32";        // "v_sub_u32_sdwa"
    6482           0 :                 return;
    6483             :               }
    6484             :               break;
    6485             :             }
    6486             :             break;
    6487             :           }
    6488             :           break;
    6489           0 :         case 'x':        // 1 string to match.
    6490           0 :           if (memcmp(Mnemonic.data()+3, "or_b32_sdwa", 11) != 0)
    6491             :             break;
    6492           0 :           Mnemonic = "v_xor_b32";      // "v_xor_b32_sdwa"
    6493           0 :           return;
    6494             :         }
    6495             :         break;
    6496         362 :       case 15:   // 12 strings to match.
    6497         362 :         if (memcmp(Mnemonic.data()+0, "v_", 2) != 0)
    6498             :           break;
    6499         542 :         switch (Mnemonic[2]) {
    6500             :         default: break;
    6501           0 :         case 'a':        // 2 strings to match.
    6502           0 :           switch (Mnemonic[3]) {
    6503             :           default: break;
    6504           0 :           case 'd':      // 1 string to match.
    6505           0 :             if (memcmp(Mnemonic.data()+4, "dc_u32_sdwa", 11) != 0)
    6506             :               break;
    6507           0 :             Mnemonic = "v_addc_u32";   // "v_addc_u32_sdwa"
    6508           0 :             return;
    6509           0 :           case 's':      // 1 string to match.
    6510           0 :             if (memcmp(Mnemonic.data()+4, "hr_i32_sdwa", 11) != 0)
    6511             :               break;
    6512           0 :             Mnemonic = "v_ashr_i32";   // "v_ashr_i32_sdwa"
    6513           0 :             return;
    6514             :           }
    6515             :           break;
    6516         116 :         case 'c':        // 2 strings to match.
    6517         116 :           if (memcmp(Mnemonic.data()+3, "eil_f", 5) != 0)
    6518             :             break;
    6519           0 :           switch (Mnemonic[8]) {
    6520             :           default: break;
    6521           0 :           case '1':      // 1 string to match.
    6522           0 :             if (memcmp(Mnemonic.data()+9, "6_sdwa", 6) != 0)
    6523             :               break;
    6524           0 :             Mnemonic = "v_ceil_f16";   // "v_ceil_f16_sdwa"
    6525           0 :             return;
    6526           0 :           case '3':      // 1 string to match.
    6527           0 :             if (memcmp(Mnemonic.data()+9, "2_sdwa", 6) != 0)
    6528             :               break;
    6529           0 :             Mnemonic = "v_ceil_f32";   // "v_ceil_f32_sdwa"
    6530           0 :             return;
    6531             :           }
    6532             :           break;
    6533           0 :         case 'f':        // 3 strings to match.
    6534           0 :           if (memcmp(Mnemonic.data()+3, "fb", 2) != 0)
    6535             :             break;
    6536           0 :           switch (Mnemonic[5]) {
    6537             :           default: break;
    6538           0 :           case 'h':      // 2 strings to match.
    6539           0 :             if (Mnemonic[6] != '_')
    6540             :               break;
    6541           0 :             switch (Mnemonic[7]) {
    6542             :             default: break;
    6543           0 :             case 'i':    // 1 string to match.
    6544           0 :               if (memcmp(Mnemonic.data()+8, "32_sdwa", 7) != 0)
    6545             :                 break;
    6546           0 :               Mnemonic = "v_ffbh_i32";         // "v_ffbh_i32_sdwa"
    6547           0 :               return;
    6548           0 :             case 'u':    // 1 string to match.
    6549           0 :               if (memcmp(Mnemonic.data()+8, "32_sdwa", 7) != 0)
    6550             :                 break;
    6551           0 :               Mnemonic = "v_ffbh_u32";         // "v_ffbh_u32_sdwa"
    6552           0 :               return;
    6553             :             }
    6554             :             break;
    6555           0 :           case 'l':      // 1 string to match.
    6556           0 :             if (memcmp(Mnemonic.data()+6, "_b32_sdwa", 9) != 0)
    6557             :               break;
    6558           0 :             Mnemonic = "v_ffbl_b32";   // "v_ffbl_b32_sdwa"
    6559           0 :             return;
    6560             :           }
    6561             :           break;
    6562           4 :         case 'l':        // 2 strings to match.
    6563           4 :           if (memcmp(Mnemonic.data()+3, "sh", 2) != 0)
    6564             :             break;
    6565           0 :           switch (Mnemonic[5]) {
    6566             :           default: break;
    6567           0 :           case 'l':      // 1 string to match.
    6568           0 :             if (memcmp(Mnemonic.data()+6, "_b32_sdwa", 9) != 0)
    6569             :               break;
    6570           0 :             Mnemonic = "v_lshl_b32";   // "v_lshl_b32_sdwa"
    6571           0 :             return;
    6572           0 :           case 'r':      // 1 string to match.
    6573           0 :             if (memcmp(Mnemonic.data()+6, "_b32_sdwa", 9) != 0)
    6574             :               break;
    6575           0 :             Mnemonic = "v_lshr_b32";   // "v_lshr_b32_sdwa"
    6576           0 :             return;
    6577             :           }
    6578             :           break;
    6579           0 :         case 's':        // 3 strings to match.
    6580           0 :           switch (Mnemonic[3]) {
    6581             :           default: break;
    6582           0 :           case 'q':      // 2 strings to match.
    6583           0 :             if (memcmp(Mnemonic.data()+4, "rt_f", 4) != 0)
    6584             :               break;
    6585           0 :             switch (Mnemonic[8]) {
    6586             :             default: break;
    6587           0 :             case '1':    // 1 string to match.
    6588           0 :               if (memcmp(Mnemonic.data()+9, "6_sdwa", 6) != 0)
    6589             :                 break;
    6590           0 :               Mnemonic = "v_sqrt_f16";         // "v_sqrt_f16_sdwa"
    6591           0 :               return;
    6592           0 :             case '3':    // 1 string to match.
    6593           0 :               if (memcmp(Mnemonic.data()+9, "2_sdwa", 6) != 0)
    6594             :                 break;
    6595           0 :               Mnemonic = "v_sqrt_f32";         // "v_sqrt_f32_sdwa"
    6596           0 :               return;
    6597             :             }
    6598             :             break;
    6599           0 :           case 'u':      // 1 string to match.
    6600           0 :             if (memcmp(Mnemonic.data()+4, "bb_u32_sdwa", 11) != 0)
    6601             :               break;
    6602           0 :             Mnemonic = "v_subb_u32";   // "v_subb_u32_sdwa"
    6603           0 :             return;
    6604             :           }
    6605             :           break;
    6606             :         }
    6607             :         break;
    6608        1073 :       case 16:   // 24 strings to match.
    6609        1073 :         if (memcmp(Mnemonic.data()+0, "v_", 2) != 0)
    6610             :           break;
    6611        1998 :         switch (Mnemonic[2]) {
    6612             :         default: break;
    6613           0 :         case 'b':        // 1 string to match.
    6614           0 :           if (memcmp(Mnemonic.data()+3, "frev_b32_sdwa", 13) != 0)
    6615             :             break;
    6616           0 :           Mnemonic = "v_bfrev_b32";    // "v_bfrev_b32_sdwa"
    6617           0 :           return;
    6618         436 :         case 'c':        // 14 strings to match.
    6619         436 :           if (memcmp(Mnemonic.data()+3, "mp_", 3) != 0)
    6620             :             break;
    6621           0 :           switch (Mnemonic[6]) {
    6622             :           default: break;
    6623           0 :           case 'f':      // 6 strings to match.
    6624           0 :             if (Mnemonic[7] != '_')
    6625             :               break;
    6626           0 :             switch (Mnemonic[8]) {
    6627             :             default: break;
    6628           0 :             case 'f':    // 2 strings to match.
    6629           0 :               switch (Mnemonic[9]) {
    6630             :               default: break;
    6631           0 :               case '1':  // 1 string to match.
    6632           0 :                 if (memcmp(Mnemonic.data()+10, "6_sdwa", 6) != 0)
    6633             :                   break;
    6634           0 :                 Mnemonic = "v_cmp_f_f16";      // "v_cmp_f_f16_sdwa"
    6635           0 :                 return;
    6636           0 :               case '3':  // 1 string to match.
    6637           0 :                 if (memcmp(Mnemonic.data()+10, "2_sdwa", 6) != 0)
    6638             :                   break;
    6639           0 :                 Mnemonic = "v_cmp_f_f32";      // "v_cmp_f_f32_sdwa"
    6640           0 :                 return;
    6641             :               }
    6642             :               break;
    6643           0 :             case 'i':    // 2 strings to match.
    6644           0 :               switch (Mnemonic[9]) {
    6645             :               default: break;
    6646           0 :               case '1':  // 1 string to match.
    6647           0 :                 if (memcmp(Mnemonic.data()+10, "6_sdwa", 6) != 0)
    6648             :                   break;
    6649           0 :                 Mnemonic = "v_cmp_f_i16";      // "v_cmp_f_i16_sdwa"
    6650           0 :                 return;
    6651           0 :               case '3':  // 1 string to match.
    6652           0 :                 if (memcmp(Mnemonic.data()+10, "2_sdwa", 6) != 0)
    6653             :                   break;
    6654           0 :                 Mnemonic = "v_cmp_f_i32";      // "v_cmp_f_i32_sdwa"
    6655           0 :                 return;
    6656             :               }
    6657             :               break;
    6658           0 :             case 'u':    // 2 strings to match.
    6659           0 :               switch (Mnemonic[9]) {
    6660             :               default: break;
    6661           0 :               case '1':  // 1 string to match.
    6662           0 :                 if (memcmp(Mnemonic.data()+10, "6_sdwa", 6) != 0)
    6663             :                   break;
    6664           0 :                 Mnemonic = "v_cmp_f_u16";      // "v_cmp_f_u16_sdwa"
    6665           0 :                 return;
    6666           0 :               case '3':  // 1 string to match.
    6667           0 :                 if (memcmp(Mnemonic.data()+10, "2_sdwa", 6) != 0)
    6668             :                   break;
    6669           0 :                 Mnemonic = "v_cmp_f_u32";      // "v_cmp_f_u32_sdwa"
    6670           0 :                 return;
    6671             :               }
    6672             :               break;
    6673             :             }
    6674             :             break;
    6675           0 :           case 'o':      // 2 strings to match.
    6676           0 :             if (memcmp(Mnemonic.data()+7, "_f", 2) != 0)
    6677             :               break;
    6678           0 :             switch (Mnemonic[9]) {
    6679             :             default: break;
    6680           0 :             case '1':    // 1 string to match.
    6681           0 :               if (memcmp(Mnemonic.data()+10, "6_sdwa", 6) != 0)
    6682             :                 break;
    6683           0 :               Mnemonic = "v_cmp_o_f16";        // "v_cmp_o_f16_sdwa"
    6684           0 :               return;
    6685           0 :             case '3':    // 1 string to match.
    6686           0 :               if (memcmp(Mnemonic.data()+10, "2_sdwa", 6) != 0)
    6687             :                 break;
    6688           0 :               Mnemonic = "v_cmp_o_f32";        // "v_cmp_o_f32_sdwa"
    6689           0 :               return;
    6690             :             }
    6691             :             break;
    6692           0 :           case 't':      // 4 strings to match.
    6693           0 :             if (Mnemonic[7] != '_')
    6694             :               break;
    6695           0 :             switch (Mnemonic[8]) {
    6696             :             default: break;
    6697           0 :             case 'i':    // 2 strings to match.
    6698           0 :               switch (Mnemonic[9]) {
    6699             :               default: break;
    6700           0 :               case '1':  // 1 string to match.
    6701           0 :                 if (memcmp(Mnemonic.data()+10, "6_sdwa", 6) != 0)
    6702             :                   break;
    6703           0 :                 Mnemonic = "v_cmp_t_i16";      // "v_cmp_t_i16_sdwa"
    6704           0 :                 return;
    6705           0 :               case '3':  // 1 string to match.
    6706           0 :                 if (memcmp(Mnemonic.data()+10, "2_sdwa", 6) != 0)
    6707             :                   break;
    6708           0 :                 Mnemonic = "v_cmp_t_i32";      // "v_cmp_t_i32_sdwa"
    6709           0 :                 return;
    6710             :               }
    6711             :               break;
    6712           0 :             case 'u':    // 2 strings to match.
    6713           0 :               switch (Mnemonic[9]) {
    6714             :               default: break;
    6715           0 :               case '1':  // 1 string to match.
    6716           0 :                 if (memcmp(Mnemonic.data()+10, "6_sdwa", 6) != 0)
    6717             :                   break;
    6718           0 :                 Mnemonic = "v_cmp_t_u16";      // "v_cmp_t_u16_sdwa"
    6719           0 :                 return;
    6720           0 :               case '3':  // 1 string to match.
    6721           0 :                 if (memcmp(Mnemonic.data()+10, "2_sdwa", 6) != 0)
    6722             :                   break;
    6723           0 :                 Mnemonic = "v_cmp_t_u32";      // "v_cmp_t_u32_sdwa"
    6724           0 :                 return;
    6725             :               }
    6726             :               break;
    6727             :             }
    6728             :             break;
    6729           0 :           case 'u':      // 2 strings to match.
    6730           0 :             if (memcmp(Mnemonic.data()+7, "_f", 2) != 0)
    6731             :               break;
    6732           0 :             switch (Mnemonic[9]) {
    6733             :             default: break;
    6734           0 :             case '1':    // 1 string to match.
    6735           0 :               if (memcmp(Mnemonic.data()+10, "6_sdwa", 6) != 0)
    6736             :                 break;
    6737           0 :               Mnemonic = "v_cmp_u_f16";        // "v_cmp_u_f16_sdwa"
    6738           0 :               return;
    6739           0 :             case '3':    // 1 string to match.
    6740           0 :               if (memcmp(Mnemonic.data()+10, "2_sdwa", 6) != 0)
    6741             :                 break;
    6742           0 :               Mnemonic = "v_cmp_u_f32";        // "v_cmp_u_f32_sdwa"
    6743           0 :               return;
    6744             :             }
    6745             :             break;
    6746             :           }
    6747             :           break;
    6748         141 :         case 'f':        // 4 strings to match.
    6749         282 :           switch (Mnemonic[3]) {
    6750             :           default: break;
    6751           0 :           case 'l':      // 2 strings to match.
    6752           0 :             if (memcmp(Mnemonic.data()+4, "oor_f", 5) != 0)
    6753             :               break;
    6754           0 :             switch (Mnemonic[9]) {
    6755             :             default: break;
    6756           0 :             case '1':    // 1 string to match.
    6757           0 :               if (memcmp(Mnemonic.data()+10, "6_sdwa", 6) != 0)
    6758             :                 break;
    6759           0 :               Mnemonic = "v_floor_f16";        // "v_floor_f16_sdwa"
    6760           0 :               return;
    6761           0 :             case '3':    // 1 string to match.
    6762           0 :               if (memcmp(Mnemonic.data()+10, "2_sdwa", 6) != 0)
    6763             :                 break;
    6764           0 :               Mnemonic = "v_floor_f32";        // "v_floor_f32_sdwa"
    6765           0 :               return;
    6766             :             }
    6767             :             break;
    6768         135 :           case 'r':      // 2 strings to match.
    6769         135 :             if (memcmp(Mnemonic.data()+4, "act_f", 5) != 0)
    6770             :               break;
    6771           0 :             switch (Mnemonic[9]) {
    6772             :             default: break;
    6773           0 :             case '1':    // 1 string to match.
    6774           0 :               if (memcmp(Mnemonic.data()+10, "6_sdwa", 6) != 0)
    6775             :                 break;
    6776           0 :               Mnemonic = "v_fract_f16";        // "v_fract_f16_sdwa"
    6777           0 :               return;
    6778           0 :             case '3':    // 1 string to match.
    6779           0 :               if (memcmp(Mnemonic.data()+10, "2_sdwa", 6) != 0)
    6780             :                 break;
    6781           0 :               Mnemonic = "v_fract_f32";        // "v_fract_f32_sdwa"
    6782           0 :               return;
    6783             :             }
    6784             :             break;
    6785             :           }
    6786             :           break;
    6787          70 :         case 'l':        // 1 string to match.
    6788          70 :           if (memcmp(Mnemonic.data()+3, "dexp_f16_sdwa", 13) != 0)
    6789             :             break;
    6790           0 :           Mnemonic = "v_ldexp_f16";    // "v_ldexp_f16_sdwa"
    6791           0 :           return;
    6792           4 :         case 'r':        // 2 strings to match.
    6793           4 :           if (memcmp(Mnemonic.data()+3, "ndne_f", 6) != 0)
    6794             :             break;
    6795           0 :           switch (Mnemonic[9]) {
    6796             :           default: break;
    6797           0 :           case '1':      // 1 string to match.
    6798           0 :             if (memcmp(Mnemonic.data()+10, "6_sdwa", 6) != 0)
    6799             :               break;
    6800           0 :             Mnemonic = "v_rndne_f16";  // "v_rndne_f16_sdwa"
    6801           0 :             return;
    6802           0 :           case '3':      // 1 string to match.
    6803           0 :             if (memcmp(Mnemonic.data()+10, "2_sdwa", 6) != 0)
    6804             :               break;
    6805           0 :             Mnemonic = "v_rndne_f32";  // "v_rndne_f32_sdwa"
    6806           0 :             return;
    6807             :           }
    6808             :           break;
    6809           0 :         case 't':        // 2 strings to match.
    6810           0 :           if (memcmp(Mnemonic.data()+3, "runc_f", 6) != 0)
    6811             :             break;
    6812           0 :           switch (Mnemonic[9]) {
    6813             :           default: break;
    6814           0 :           case '1':      // 1 string to match.
    6815           0 :             if (memcmp(Mnemonic.data()+10, "6_sdwa", 6) != 0)
    6816             :               break;
    6817           0 :             Mnemonic = "v_trunc_f16";  // "v_trunc_f16_sdwa"
    6818           0 :             return;
    6819           0 :           case '3':      // 1 string to match.
    6820           0 :             if (memcmp(Mnemonic.data()+10, "2_sdwa", 6) != 0)
    6821             :               break;
    6822           0 :             Mnemonic = "v_trunc_f32";  // "v_trunc_f32_sdwa"
    6823           0 :             return;
    6824             :           }
    6825             :           break;
    6826             :         }
    6827             :         break;
    6828         264 :       case 17:   // 59 strings to match.
    6829         264 :         if (memcmp(Mnemonic.data()+0, "v_", 2) != 0)
    6830             :           break;
    6831         356 :         switch (Mnemonic[2]) {
    6832             :         default: break;
    6833         126 :         case 'c':        // 53 strings to match.
    6834         126 :           if (memcmp(Mnemonic.data()+3, "mp", 2) != 0)
    6835             :             break;
    6836           0 :           switch (Mnemonic[5]) {
    6837             :           default: break;
    6838           0 :           case '_':      // 36 strings to match.
    6839           0 :             switch (Mnemonic[6]) {
    6840             :             default: break;
    6841           0 :             case 'e':    // 6 strings to match.
    6842           0 :               if (memcmp(Mnemonic.data()+7, "q_", 2) != 0)
    6843             :                 break;
    6844           0 :               switch (Mnemonic[9]) {
    6845             :               default: break;
    6846           0 :               case 'f':  // 2 strings to match.
    6847           0 :                 switch (Mnemonic[10]) {
    6848             :                 default: break;
    6849           0 :                 case '1':        // 1 string to match.
    6850           0 :                   if (memcmp(Mnemonic.data()+11, "6_sdwa", 6) != 0)
    6851             :                     break;
    6852           0 :                   Mnemonic = "v_cmp_eq_f16";   // "v_cmp_eq_f16_sdwa"
    6853           0 :                   return;
    6854           0 :                 case '3':        // 1 string to match.
    6855           0 :                   if (memcmp(Mnemonic.data()+11, "2_sdwa", 6) != 0)
    6856             :                     break;
    6857           0 :                   Mnemonic = "v_cmp_eq_f32";   // "v_cmp_eq_f32_sdwa"
    6858           0 :                   return;
    6859             :                 }
    6860             :                 break;
    6861           0 :               case 'i':  // 2 strings to match.
    6862           0 :                 switch (Mnemonic[10]) {
    6863             :                 default: break;
    6864           0 :                 case '1':        // 1 string to match.
    6865           0 :                   if (memcmp(Mnemonic.data()+11, "6_sdwa", 6) != 0)
    6866             :                     break;
    6867           0 :                   Mnemonic = "v_cmp_eq_i16";   // "v_cmp_eq_i16_sdwa"
    6868           0 :                   return;
    6869           0 :                 case '3':        // 1 string to match.
    6870           0 :                   if (memcmp(Mnemonic.data()+11, "2_sdwa", 6) != 0)
    6871             :                     break;
    6872           0 :                   Mnemonic = "v_cmp_eq_i32";   // "v_cmp_eq_i32_sdwa"
    6873           0 :                   return;
    6874             :                 }
    6875             :                 break;
    6876           0 :               case 'u':  // 2 strings to match.
    6877           0 :                 switch (Mnemonic[10]) {
    6878             :                 default: break;
    6879           0 :                 case '1':        // 1 string to match.
    6880           0 :                   if (memcmp(Mnemonic.data()+11, "6_sdwa", 6) != 0)
    6881             :                     break;
    6882           0 :                   Mnemonic = "v_cmp_eq_u16";   // "v_cmp_eq_u16_sdwa"
    6883           0 :                   return;
    6884           0 :                 case '3':        // 1 string to match.
    6885           0 :                   if (memcmp(Mnemonic.data()+11, "2_sdwa", 6) != 0)
    6886             :                     break;
    6887           0 :                   Mnemonic = "v_cmp_eq_u32";   // "v_cmp_eq_u32_sdwa"
    6888           0 :                   return;
    6889             :                 }
    6890             :                 break;
    6891             :               }
    6892             :               break;
    6893           0 :             case 'g':    // 12 strings to match.
    6894           0 :               switch (Mnemonic[7]) {
    6895             :               default: break;
    6896           0 :               case 'e':  // 6 strings to match.
    6897           0 :                 if (Mnemonic[8] != '_')
    6898             :                   break;
    6899           0 :                 switch (Mnemonic[9]) {
    6900             :                 default: break;
    6901           0 :                 case 'f':        // 2 strings to match.
    6902           0 :                   switch (Mnemonic[10]) {
    6903             :                   default: break;
    6904           0 :                   case '1':      // 1 string to match.
    6905           0 :                     if (memcmp(Mnemonic.data()+11, "6_sdwa", 6) != 0)
    6906             :                       break;
    6907           0 :                     Mnemonic = "v_cmp_ge_f16";         // "v_cmp_ge_f16_sdwa"
    6908           0 :                     return;
    6909           0 :                   case '3':      // 1 string to match.
    6910           0 :                     if (memcmp(Mnemonic.data()+11, "2_sdwa", 6) != 0)
    6911             :                       break;
    6912           0 :                     Mnemonic = "v_cmp_ge_f32";         // "v_cmp_ge_f32_sdwa"
    6913           0 :                     return;
    6914             :                   }
    6915             :                   break;
    6916           0 :                 case 'i':        // 2 strings to match.
    6917           0 :                   switch (Mnemonic[10]) {
    6918             :                   default: break;
    6919           0 :                   case '1':      // 1 string to match.
    6920           0 :                     if (memcmp(Mnemonic.data()+11, "6_sdwa", 6) != 0)
    6921             :                       break;
    6922           0 :                     Mnemonic = "v_cmp_ge_i16";         // "v_cmp_ge_i16_sdwa"
    6923           0 :                     return;
    6924           0 :                   case '3':      // 1 string to match.
    6925           0 :                     if (memcmp(Mnemonic.data()+11, "2_sdwa", 6) != 0)
    6926             :                       break;
    6927           0 :                     Mnemonic = "v_cmp_ge_i32";         // "v_cmp_ge_i32_sdwa"
    6928           0 :                     return;
    6929             :                   }
    6930             :                   break;
    6931           0 :                 case 'u':        // 2 strings to match.
    6932           0 :                   switch (Mnemonic[10]) {
    6933             :                   default: break;
    6934           0 :                   case '1':      // 1 string to match.
    6935           0 :                     if (memcmp(Mnemonic.data()+11, "6_sdwa", 6) != 0)
    6936             :                       break;
    6937           0 :                     Mnemonic = "v_cmp_ge_u16";         // "v_cmp_ge_u16_sdwa"
    6938           0 :                     return;
    6939           0 :                   case '3':      // 1 string to match.
    6940           0 :                     if (memcmp(Mnemonic.data()+11, "2_sdwa", 6) != 0)
    6941             :                       break;
    6942           0 :                     Mnemonic = "v_cmp_ge_u32";         // "v_cmp_ge_u32_sdwa"
    6943           0 :                     return;
    6944             :                   }
    6945             :                   break;
    6946             :                 }
    6947             :                 break;
    6948           0 :               case 't':  // 6 strings to match.
    6949           0 :                 if (Mnemonic[8] != '_')
    6950             :                   break;
    6951           0 :                 switch (Mnemonic[9]) {
    6952             :                 default: break;
    6953           0 :                 case 'f':        // 2 strings to match.
    6954           0 :                   switch (Mnemonic[10]) {
    6955             :                   default: break;
    6956           0 :                   case '1':      // 1 string to match.
    6957           0 :                     if (memcmp(Mnemonic.data()+11, "6_sdwa", 6) != 0)
    6958             :                       break;
    6959           0 :                     Mnemonic = "v_cmp_gt_f16";         // "v_cmp_gt_f16_sdwa"
    6960           0 :                     return;
    6961           0 :                   case '3':      // 1 string to match.
    6962           0 :                     if (memcmp(Mnemonic.data()+11, "2_sdwa", 6) != 0)
    6963             :                       break;
    6964           0 :                     Mnemonic = "v_cmp_gt_f32";         // "v_cmp_gt_f32_sdwa"
    6965           0 :                     return;
    6966             :                   }
    6967             :                   break;
    6968           0 :                 case 'i':        // 2 strings to match.
    6969           0 :                   switch (Mnemonic[10]) {
    6970             :                   default: break;
    6971           0 :                   case '1':      // 1 string to match.
    6972           0 :                     if (memcmp(Mnemonic.data()+11, "6_sdwa", 6) != 0)
    6973             :                       break;
    6974           0 :                     Mnemonic = "v_cmp_gt_i16";         // "v_cmp_gt_i16_sdwa"
    6975           0 :                     return;
    6976           0 :                   case '3':      // 1 string to match.
    6977           0 :                     if (memcmp(Mnemonic.data()+11, "2_sdwa", 6) != 0)
    6978             :                       break;
    6979           0 :                     Mnemonic = "v_cmp_gt_i32";         // "v_cmp_gt_i32_sdwa"
    6980           0 :                     return;
    6981             :                   }
    6982             :                   break;
    6983           0 :                 case 'u':        // 2 strings to match.
    6984           0 :                   switch (Mnemonic[10]) {
    6985             :                   default: break;
    6986           0 :                   case '1':      // 1 string to match.
    6987           0 :                     if (memcmp(Mnemonic.data()+11, "6_sdwa", 6) != 0)
    6988             :                       break;
    6989           0 :                     Mnemonic = "v_cmp_gt_u16";         // "v_cmp_gt_u16_sdwa"
    6990           0 :                     return;
    6991           0 :                   case '3':      // 1 string to match.
    6992           0 :                     if (memcmp(Mnemonic.data()+11, "2_sdwa", 6) != 0)
    6993             :                       break;
    6994           0 :                     Mnemonic = "v_cmp_gt_u32";         // "v_cmp_gt_u32_sdwa"
    6995           0 :                     return;
    6996             :                   }
    6997             :                   break;
    6998             :                 }
    6999             :                 break;
    7000             :               }
    7001             :               break;
    7002           0 :             case 'l':    // 14 strings to match.
    7003           0 :               switch (Mnemonic[7]) {
    7004             :               default: break;
    7005           0 :               case 'e':  // 6 strings to match.
    7006           0 :                 if (Mnemonic[8] != '_')
    7007             :                   break;
    7008           0 :                 switch (Mnemonic[9]) {
    7009             :                 default: break;
    7010           0 :                 case 'f':        // 2 strings to match.
    7011           0 :                   switch (Mnemonic[10]) {
    7012             :                   default: break;
    7013           0 :                   case '1':      // 1 string to match.
    7014           0 :                     if (memcmp(Mnemonic.data()+11, "6_sdwa", 6) != 0)
    7015             :                       break;
    7016           0 :                     Mnemonic = "v_cmp_le_f16";         // "v_cmp_le_f16_sdwa"
    7017           0 :                     return;
    7018           0 :                   case '3':      // 1 string to match.
    7019           0 :                     if (memcmp(Mnemonic.data()+11, "2_sdwa", 6) != 0)
    7020             :                       break;
    7021           0 :                     Mnemonic = "v_cmp_le_f32";         // "v_cmp_le_f32_sdwa"
    7022           0 :                     return;
    7023             :                   }
    7024             :                   break;
    7025           0 :                 case 'i':        // 2 strings to match.
    7026           0 :                   switch (Mnemonic[10]) {
    7027             :                   default: break;
    7028           0 :                   case '1':      // 1 string to match.
    7029           0 :                     if (memcmp(Mnemonic.data()+11, "6_sdwa", 6) != 0)
    7030             :                       break;
    7031           0 :                     Mnemonic = "v_cmp_le_i16";         // "v_cmp_le_i16_sdwa"
    7032           0 :                     return;
    7033           0 :                   case '3':      // 1 string to match.
    7034           0 :                     if (memcmp(Mnemonic.data()+11, "2_sdwa", 6) != 0)
    7035             :                       break;
    7036           0 :                     Mnemonic = "v_cmp_le_i32";         // "v_cmp_le_i32_sdwa"
    7037           0 :                     return;
    7038             :                   }
    7039             :                   break;
    7040           0 :                 case 'u':        // 2 strings to match.
    7041           0 :                   switch (Mnemonic[10]) {
    7042             :                   default: break;
    7043           0 :                   case '1':      // 1 string to match.
    7044           0 :                     if (memcmp(Mnemonic.data()+11, "6_sdwa", 6) != 0)
    7045             :                       break;
    7046           0 :                     Mnemonic = "v_cmp_le_u16";         // "v_cmp_le_u16_sdwa"
    7047           0 :                     return;
    7048           0 :                   case '3':      // 1 string to match.
    7049           0 :                     if (memcmp(Mnemonic.data()+11, "2_sdwa", 6) != 0)
    7050             :                       break;
    7051           0 :                     Mnemonic = "v_cmp_le_u32";         // "v_cmp_le_u32_sdwa"
    7052           0 :                     return;
    7053             :                   }
    7054             :                   break;
    7055             :                 }
    7056             :                 break;
    7057           0 :               case 'g':  // 2 strings to match.
    7058           0 :                 if (memcmp(Mnemonic.data()+8, "_f", 2) != 0)
    7059             :                   break;
    7060           0 :                 switch (Mnemonic[10]) {
    7061             :                 default: break;
    7062           0 :                 case '1':        // 1 string to match.
    7063           0 :                   if (memcmp(Mnemonic.data()+11, "6_sdwa", 6) != 0)
    7064             :                     break;
    7065           0 :                   Mnemonic = "v_cmp_lg_f16";   // "v_cmp_lg_f16_sdwa"
    7066           0 :                   return;
    7067           0 :                 case '3':        // 1 string to match.
    7068           0 :                   if (memcmp(Mnemonic.data()+11, "2_sdwa", 6) != 0)
    7069             :                     break;
    7070           0 :                   Mnemonic = "v_cmp_lg_f32";   // "v_cmp_lg_f32_sdwa"
    7071           0 :                   return;
    7072             :                 }
    7073             :                 break;
    7074           0 :               case 't':  // 6 strings to match.
    7075           0 :                 if (Mnemonic[8] != '_')
    7076             :                   break;
    7077           0 :                 switch (Mnemonic[9]) {
    7078             :                 default: break;
    7079           0 :                 case 'f':        // 2 strings to match.
    7080           0 :                   switch (Mnemonic[10]) {
    7081             :                   default: break;
    7082           0 :                   case '1':      // 1 string to match.
    7083           0 :                     if (memcmp(Mnemonic.data()+11, "6_sdwa", 6) != 0)
    7084             :                       break;
    7085           0 :                     Mnemonic = "v_cmp_lt_f16";         // "v_cmp_lt_f16_sdwa"
    7086           0 :                     return;
    7087           0 :                   case '3':      // 1 string to match.
    7088           0 :                     if (memcmp(Mnemonic.data()+11, "2_sdwa", 6) != 0)
    7089             :                       break;
    7090           0 :                     Mnemonic = "v_cmp_lt_f32";         // "v_cmp_lt_f32_sdwa"
    7091           0 :                     return;
    7092             :                   }
    7093             :                   break;
    7094           0 :                 case 'i':        // 2 strings to match.
    7095           0 :                   switch (Mnemonic[10]) {
    7096             :                   default: break;
    7097           0 :                   case '1':      // 1 string to match.
    7098           0 :                     if (memcmp(Mnemonic.data()+11, "6_sdwa", 6) != 0)
    7099             :                       break;
    7100           0 :                     Mnemonic = "v_cmp_lt_i16";         // "v_cmp_lt_i16_sdwa"
    7101           0 :                     return;
    7102           0 :                   case '3':      // 1 string to match.
    7103           0 :                     if (memcmp(Mnemonic.data()+11, "2_sdwa", 6) != 0)
    7104             :                       break;
    7105           0 :                     Mnemonic = "v_cmp_lt_i32";         // "v_cmp_lt_i32_sdwa"
    7106           0 :                     return;
    7107             :                   }
    7108             :                   break;
    7109           0 :                 case 'u':        // 2 strings to match.
    7110           0 :                   switch (Mnemonic[10]) {
    7111             :                   default: break;
    7112           0 :                   case '1':      // 1 string to match.
    7113           0 :                     if (memcmp(Mnemonic.data()+11, "6_sdwa", 6) != 0)
    7114             :                       break;
    7115           0 :                     Mnemonic = "v_cmp_lt_u16";         // "v_cmp_lt_u16_sdwa"
    7116           0 :                     return;
    7117           0 :                   case '3':      // 1 string to match.
    7118           0 :                     if (memcmp(Mnemonic.data()+11, "2_sdwa", 6) != 0)
    7119             :                       break;
    7120           0 :                     Mnemonic = "v_cmp_lt_u32";         // "v_cmp_lt_u32_sdwa"
    7121           0 :                     return;
    7122             :                   }
    7123             :                   break;
    7124             :                 }
    7125             :                 break;
    7126             :               }
    7127             :               break;
    7128           0 :             case 'n':    // 4 strings to match.
    7129           0 :               if (memcmp(Mnemonic.data()+7, "e_", 2) != 0)
    7130             :                 break;
    7131           0 :               switch (Mnemonic[9]) {
    7132             :               default: break;
    7133           0 :               case 'i':  // 2 strings to match.
    7134           0 :                 switch (Mnemonic[10]) {
    7135             :                 default: break;
    7136           0 :                 case '1':        // 1 string to match.
    7137           0 :                   if (memcmp(Mnemonic.data()+11, "6_sdwa", 6) != 0)
    7138             :                     break;
    7139           0 :                   Mnemonic = "v_cmp_ne_i16";   // "v_cmp_ne_i16_sdwa"
    7140           0 :                   return;
    7141           0 :                 case '3':        // 1 string to match.
    7142           0 :                   if (memcmp(Mnemonic.data()+11, "2_sdwa", 6) != 0)
    7143             :                     break;
    7144           0 :                   Mnemonic = "v_cmp_ne_i32";   // "v_cmp_ne_i32_sdwa"
    7145           0 :                   return;
    7146             :                 }
    7147             :                 break;
    7148           0 :               case 'u':  // 2 strings to match.
    7149           0 :                 switch (Mnemonic[10]) {
    7150             :                 default: break;
    7151           0 :                 case '1':        // 1 string to match.
    7152           0 :                   if (memcmp(Mnemonic.data()+11, "6_sdwa", 6) != 0)
    7153             :                     break;
    7154           0 :                   Mnemonic = "v_cmp_ne_u16";   // "v_cmp_ne_u16_sdwa"
    7155           0 :                   return;
    7156           0 :                 case '3':        // 1 string to match.
    7157           0 :                   if (memcmp(Mnemonic.data()+11, "2_sdwa", 6) != 0)
    7158             :                     break;
    7159           0 :                   Mnemonic = "v_cmp_ne_u32";   // "v_cmp_ne_u32_sdwa"
    7160           0 :                   return;
    7161             :                 }
    7162             :                 break;
    7163             :               }
    7164             :               break;
    7165             :             }
    7166             :             break;
    7167           0 :           case 's':      // 3 strings to match.
    7168           0 :             if (Mnemonic[6] != '_')
    7169             :               break;
    7170           0 :             switch (Mnemonic[7]) {
    7171             :             default: break;
    7172           0 :             case 'f':    // 1 string to match.
    7173           0 :               if (memcmp(Mnemonic.data()+8, "_f32_sdwa", 9) != 0)
    7174             :                 break;
    7175           0 :               Mnemonic = "v_cmps_f_f32";       // "v_cmps_f_f32_sdwa"
    7176           0 :               return;
    7177           0 :             case 'o':    // 1 string to match.
    7178           0 :               if (memcmp(Mnemonic.data()+8, "_f32_sdwa", 9) != 0)
    7179             :                 break;
    7180           0 :               Mnemonic = "v_cmps_o_f32";       // "v_cmps_o_f32_sdwa"
    7181           0 :               return;
    7182           0 :             case 'u':    // 1 string to match.
    7183           0 :               if (memcmp(Mnemonic.data()+8, "_f32_sdwa", 9) != 0)
    7184             :                 break;
    7185           0 :               Mnemonic = "v_cmps_u_f32";       // "v_cmps_u_f32_sdwa"
    7186           0 :               return;
    7187             :             }
    7188             :             break;
    7189           0 :           case 'x':      // 14 strings to match.
    7190           0 :             if (Mnemonic[6] != '_')
    7191             :               break;
    7192           0 :             switch (Mnemonic[7]) {
    7193             :             default: break;
    7194           0 :             case 'f':    // 6 strings to match.
    7195           0 :               if (Mnemonic[8] != '_')
    7196             :                 break;
    7197           0 :               switch (Mnemonic[9]) {
    7198             :               default: break;
    7199           0 :               case 'f':  // 2 strings to match.
    7200           0 :                 switch (Mnemonic[10]) {
    7201             :                 default: break;
    7202           0 :                 case '1':        // 1 string to match.
    7203           0 :                   if (memcmp(Mnemonic.data()+11, "6_sdwa", 6) != 0)
    7204             :                     break;
    7205           0 :                   Mnemonic = "v_cmpx_f_f16";   // "v_cmpx_f_f16_sdwa"
    7206           0 :                   return;
    7207           0 :                 case '3':        // 1 string to match.
    7208           0 :                   if (memcmp(Mnemonic.data()+11, "2_sdwa", 6) != 0)
    7209             :                     break;
    7210           0 :                   Mnemonic = "v_cmpx_f_f32";   // "v_cmpx_f_f32_sdwa"
    7211           0 :                   return;
    7212             :                 }
    7213             :                 break;
    7214           0 :               case 'i':  // 2 strings to match.
    7215           0 :                 switch (Mnemonic[10]) {
    7216             :                 default: break;
    7217           0 :                 case '1':        // 1 string to match.
    7218           0 :                   if (memcmp(Mnemonic.data()+11, "6_sdwa", 6) != 0)
    7219             :                     break;
    7220           0 :                   Mnemonic = "v_cmpx_f_i16";   // "v_cmpx_f_i16_sdwa"
    7221           0 :                   return;
    7222           0 :                 case '3':        // 1 string to match.
    7223           0 :                   if (memcmp(Mnemonic.data()+11, "2_sdwa", 6) != 0)
    7224             :                     break;
    7225           0 :                   Mnemonic = "v_cmpx_f_i32";   // "v_cmpx_f_i32_sdwa"
    7226           0 :                   return;
    7227             :                 }
    7228             :                 break;
    7229           0 :               case 'u':  // 2 strings to match.
    7230           0 :                 switch (Mnemonic[10]) {
    7231             :                 default: break;
    7232           0 :                 case '1':        // 1 string to match.
    7233           0 :                   if (memcmp(Mnemonic.data()+11, "6_sdwa", 6) != 0)
    7234             :                     break;
    7235           0 :                   Mnemonic = "v_cmpx_f_u16";   // "v_cmpx_f_u16_sdwa"
    7236           0 :                   return;
    7237           0 :                 case '3':        // 1 string to match.
    7238           0 :                   if (memcmp(Mnemonic.data()+11, "2_sdwa", 6) != 0)
    7239             :                     break;
    7240           0 :                   Mnemonic = "v_cmpx_f_u32";   // "v_cmpx_f_u32_sdwa"
    7241           0 :                   return;
    7242             :                 }
    7243             :                 break;
    7244             :               }
    7245             :               break;
    7246           0 :             case 'o':    // 2 strings to match.
    7247           0 :               if (memcmp(Mnemonic.data()+8, "_f", 2) != 0)
    7248             :                 break;
    7249           0 :               switch (Mnemonic[10]) {
    7250             :               default: break;
    7251           0 :               case '1':  // 1 string to match.
    7252           0 :                 if (memcmp(Mnemonic.data()+11, "6_sdwa", 6) != 0)
    7253             :                   break;
    7254           0 :                 Mnemonic = "v_cmpx_o_f16";     // "v_cmpx_o_f16_sdwa"
    7255           0 :                 return;
    7256           0 :               case '3':  // 1 string to match.
    7257           0 :                 if (memcmp(Mnemonic.data()+11, "2_sdwa", 6) != 0)
    7258             :                   break;
    7259           0 :                 Mnemonic = "v_cmpx_o_f32";     // "v_cmpx_o_f32_sdwa"
    7260           0 :                 return;
    7261             :               }
    7262             :               break;
    7263           0 :             case 't':    // 4 strings to match.
    7264           0 :               if (Mnemonic[8] != '_')
    7265             :                 break;
    7266           0 :               switch (Mnemonic[9]) {
    7267             :               default: break;
    7268           0 :               case 'i':  // 2 strings to match.
    7269           0 :                 switch (Mnemonic[10]) {
    7270             :                 default: break;
    7271           0 :                 case '1':        // 1 string to match.
    7272           0 :                   if (memcmp(Mnemonic.data()+11, "6_sdwa", 6) != 0)
    7273             :                     break;
    7274           0 :                   Mnemonic = "v_cmpx_t_i16";   // "v_cmpx_t_i16_sdwa"
    7275           0 :                   return;
    7276           0 :                 case '3':        // 1 string to match.
    7277           0 :                   if (memcmp(Mnemonic.data()+11, "2_sdwa", 6) != 0)
    7278             :                     break;
    7279           0 :                   Mnemonic = "v_cmpx_t_i32";   // "v_cmpx_t_i32_sdwa"
    7280           0 :                   return;
    7281             :                 }
    7282             :                 break;
    7283           0 :               case 'u':  // 2 strings to match.
    7284           0 :                 switch (Mnemonic[10]) {
    7285             :                 default: break;
    7286           0 :                 case '1':        // 1 string to match.
    7287           0 :                   if (memcmp(Mnemonic.data()+11, "6_sdwa", 6) != 0)
    7288             :                     break;
    7289           0 :                   Mnemonic = "v_cmpx_t_u16";   // "v_cmpx_t_u16_sdwa"
    7290           0 :                   return;
    7291           0 :                 case '3':        // 1 string to match.
    7292           0 :                   if (memcmp(Mnemonic.data()+11, "2_sdwa", 6) != 0)
    7293             :                     break;
    7294           0 :                   Mnemonic = "v_cmpx_t_u32";   // "v_cmpx_t_u32_sdwa"
    7295           0 :                   return;
    7296             :                 }
    7297             :                 break;
    7298             :               }
    7299             :               break;
    7300           0 :             case 'u':    // 2 strings to match.
    7301           0 :               if (memcmp(Mnemonic.data()+8, "_f", 2) != 0)
    7302             :                 break;
    7303           0 :               switch (Mnemonic[10]) {
    7304             :               default: break;
    7305           0 :               case '1':  // 1 string to match.
    7306           0 :                 if (memcmp(Mnemonic.data()+11, "6_sdwa", 6) != 0)
    7307             :                   break;
    7308           0 :                 Mnemonic = "v_cmpx_u_f16";     // "v_cmpx_u_f16_sdwa"
    7309           0 :                 return;
    7310           0 :               case '3':  // 1 string to match.
    7311           0 :                 if (memcmp(Mnemonic.data()+11, "2_sdwa", 6) != 0)
    7312             :                   break;
    7313           0 :                 Mnemonic = "v_cmpx_u_f32";     // "v_cmpx_u_f32_sdwa"
    7314           0 :                 return;
    7315             :               }
    7316             :               break;
    7317             :             }
    7318             :             break;
    7319             :           }
    7320             :           break;
    7321           0 :         case 'm':        // 1 string to match.
    7322           0 :           if (memcmp(Mnemonic.data()+3, "ul_lo_u16_sdwa", 14) != 0)
    7323             :             break;
    7324           0 :           Mnemonic = "v_mul_lo_u16";   // "v_mul_lo_u16_sdwa"
    7325           0 :           return;
    7326           0 :         case 's':        // 5 strings to match.
    7327           0 :           if (memcmp(Mnemonic.data()+3, "ubrev_", 6) != 0)
    7328             :             break;
    7329           0 :           switch (Mnemonic[9]) {
    7330             :           default: break;
    7331           0 :           case 'f':      // 2 strings to match.
    7332           0 :             switch (Mnemonic[10]) {
    7333             :             default: break;
    7334           0 :             case '1':    // 1 string to match.
    7335           0 :               if (memcmp(Mnemonic.data()+11, "6_sdwa", 6) != 0)
    7336             :                 break;
    7337           0 :               Mnemonic = "v_subrev_f16";       // "v_subrev_f16_sdwa"
    7338           0 :               return;
    7339           0 :             case '3':    // 1 string to match.
    7340           0 :               if (memcmp(Mnemonic.data()+11, "2_sdwa", 6) != 0)
    7341             :                 break;
    7342           0 :               Mnemonic = "v_subrev_f32";       // "v_subrev_f32_sdwa"
    7343           0 :               return;
    7344             :             }
    7345             :             break;
    7346           0 :           case 'i':      // 1 string to match.
    7347           0 :             if (memcmp(Mnemonic.data()+10, "32_sdwa", 7) != 0)
    7348             :               break;
    7349           0 :             Mnemonic = "v_subrev_i32";         // "v_subrev_i32_sdwa"
    7350           0 :             return;
    7351           0 :           case 'u':      // 2 strings to match.
    7352           0 :             switch (Mnemonic[10]) {
    7353             :             default: break;
    7354           0 :             case '1':    // 1 string to match.
    7355           0 :               if (memcmp(Mnemonic.data()+11, "6_sdwa", 6) != 0)
    7356             :                 break;
    7357           0 :               Mnemonic = "v_subrev_u16";       // "v_subrev_u16_sdwa"
    7358           0 :               return;
    7359           0 :             case '3':    // 1 string to match.
    7360           0 :               if (memcmp(Mnemonic.data()+11, "2_sdwa", 6) != 0)
    7361             :                 break;
    7362           0 :               Mnemonic = "v_subrev_u32";       // "v_subrev_u32_sdwa"
    7363           0 :               return;
    7364             :             }
    7365             :             break;
    7366             :           }
    7367             :           break;
    7368             :         }
    7369             :         break;
    7370          85 :       case 18:   // 79 strings to match.
    7371          85 :         if (memcmp(Mnemonic.data()+0, "v_", 2) != 0)
    7372             :           break;
    7373           0 :         switch (Mnemonic[2]) {
    7374             :         default: break;
    7375           0 :         case 'a':        // 2 strings to match.
    7376           0 :           if (memcmp(Mnemonic.data()+3, "shrrev_i", 8) != 0)
    7377             :             break;
    7378           0 :           switch (Mnemonic[11]) {
    7379             :           default: break;
    7380           0 :           case '1':      // 1 string to match.
    7381           0 :             if (memcmp(Mnemonic.data()+12, "6_sdwa", 6) != 0)
    7382             :               break;
    7383           0 :             Mnemonic = "v_ashrrev_i16";        // "v_ashrrev_i16_sdwa"
    7384           0 :             return;
    7385           0 :           case '3':      // 1 string to match.
    7386           0 :             if (memcmp(Mnemonic.data()+12, "2_sdwa", 6) != 0)
    7387             :               break;
    7388           0 :             Mnemonic = "v_ashrrev_i32";        // "v_ashrrev_i32_sdwa"
    7389           0 :             return;
    7390             :           }
    7391             :           break;
    7392           0 :         case 'c':        // 69 strings to match.
    7393           0 :           switch (Mnemonic[3]) {
    7394             :           default: break;
    7395           0 :           case 'm':      // 59 strings to match.
    7396           0 :             if (Mnemonic[4] != 'p')
    7397             :               break;
    7398           0 :             switch (Mnemonic[5]) {
    7399             :             default: break;
    7400           0 :             case '_':    // 14 strings to match.
    7401           0 :               switch (Mnemonic[6]) {
    7402             :               default: break;
    7403           0 :               case 'n':  // 12 strings to match.
    7404           0 :                 switch (Mnemonic[7]) {
    7405             :                 default: break;
    7406           0 :                 case 'e':        // 2 strings to match.
    7407           0 :                   if (memcmp(Mnemonic.data()+8, "q_f", 3) != 0)
    7408             :                     break;
    7409           0 :                   switch (Mnemonic[11]) {
    7410             :                   default: break;
    7411           0 :                   case '1':      // 1 string to match.
    7412           0 :                     if (memcmp(Mnemonic.data()+12, "6_sdwa", 6) != 0)
    7413             :                       break;
    7414           0 :                     Mnemonic = "v_cmp_neq_f16";        // "v_cmp_neq_f16_sdwa"
    7415           0 :                     return;
    7416           0 :                   case '3':      // 1 string to match.
    7417           0 :                     if (memcmp(Mnemonic.data()+12, "2_sdwa", 6) != 0)
    7418             :                       break;
    7419           0 :                     Mnemonic = "v_cmp_neq_f32";        // "v_cmp_neq_f32_sdwa"
    7420           0 :                     return;
    7421             :                   }
    7422             :                   break;
    7423           0 :                 case 'g':        // 4 strings to match.
    7424           0 :                   switch (Mnemonic[8]) {
    7425             :                   default: break;
    7426           0 :                   case 'e':      // 2 strings to match.
    7427           0 :                     if (memcmp(Mnemonic.data()+9, "_f", 2) != 0)
    7428             :                       break;
    7429           0 :                     switch (Mnemonic[11]) {
    7430             :                     default: break;
    7431           0 :                     case '1':    // 1 string to match.
    7432           0 :                       if (memcmp(Mnemonic.data()+12, "6_sdwa", 6) != 0)
    7433             :                         break;
    7434           0 :                       Mnemonic = "v_cmp_nge_f16";      // "v_cmp_nge_f16_sdwa"
    7435           0 :                       return;
    7436           0 :                     case '3':    // 1 string to match.
    7437           0 :                       if (memcmp(Mnemonic.data()+12, "2_sdwa", 6) != 0)
    7438             :                         break;
    7439           0 :                       Mnemonic = "v_cmp_nge_f32";      // "v_cmp_nge_f32_sdwa"
    7440           0 :                       return;
    7441             :                     }
    7442             :                     break;
    7443           0 :                   case 't':      // 2 strings to match.
    7444           0 :                     if (memcmp(Mnemonic.data()+9, "_f", 2) != 0)
    7445             :                       break;
    7446           0 :                     switch (Mnemonic[11]) {
    7447             :                     default: break;
    7448           0 :                     case '1':    // 1 string to match.
    7449           0 :                       if (memcmp(Mnemonic.data()+12, "6_sdwa", 6) != 0)
    7450             :                         break;
    7451           0 :                       Mnemonic = "v_cmp_ngt_f16";      // "v_cmp_ngt_f16_sdwa"
    7452           0 :                       return;
    7453           0 :                     case '3':    // 1 string to match.
    7454           0 :                       if (memcmp(Mnemonic.data()+12, "2_sdwa", 6) != 0)
    7455             :                         break;
    7456           0 :                       Mnemonic = "v_cmp_ngt_f32";      // "v_cmp_ngt_f32_sdwa"
    7457           0 :                       return;
    7458             :                     }
    7459             :                     break;
    7460             :                   }
    7461             :                   break;
    7462           0 :                 case 'l':        // 6 strings to match.
    7463           0 :                   switch (Mnemonic[8]) {
    7464             :                   default: break;
    7465           0 :                   case 'e':      // 2 strings to match.
    7466           0 :                     if (memcmp(Mnemonic.data()+9, "_f", 2) != 0)
    7467             :                       break;
    7468           0 :                     switch (Mnemonic[11]) {
    7469             :                     default: break;
    7470           0 :                     case '1':    // 1 string to match.
    7471           0 :                       if (memcmp(Mnemonic.data()+12, "6_sdwa", 6) != 0)
    7472             :                         break;
    7473           0 :                       Mnemonic = "v_cmp_nle_f16";      // "v_cmp_nle_f16_sdwa"
    7474           0 :                       return;
    7475           0 :                     case '3':    // 1 string to match.
    7476           0 :                       if (memcmp(Mnemonic.data()+12, "2_sdwa", 6) != 0)
    7477             :                         break;
    7478           0 :                       Mnemonic = "v_cmp_nle_f32";      // "v_cmp_nle_f32_sdwa"
    7479           0 :                       return;
    7480             :                     }
    7481             :                     break;
    7482           0 :                   case 'g':      // 2 strings to match.
    7483           0 :                     if (memcmp(Mnemonic.data()+9, "_f", 2) != 0)
    7484             :                       break;
    7485           0 :                     switch (Mnemonic[11]) {
    7486             :                     default: break;
    7487           0 :                     case '1':    // 1 string to match.
    7488           0 :                       if (memcmp(Mnemonic.data()+12, "6_sdwa", 6) != 0)
    7489             :                         break;
    7490           0 :                       Mnemonic = "v_cmp_nlg_f16";      // "v_cmp_nlg_f16_sdwa"
    7491           0 :                       return;
    7492           0 :                     case '3':    // 1 string to match.
    7493           0 :                       if (memcmp(Mnemonic.data()+12, "2_sdwa", 6) != 0)
    7494             :                         break;
    7495           0 :                       Mnemonic = "v_cmp_nlg_f32";      // "v_cmp_nlg_f32_sdwa"
    7496           0 :                       return;
    7497             :                     }
    7498             :                     break;
    7499           0 :                   case 't':      // 2 strings to match.
    7500           0 :                     if (memcmp(Mnemonic.data()+9, "_f", 2) != 0)
    7501             :                       break;
    7502           0 :                     switch (Mnemonic[11]) {
    7503             :                     default: break;
    7504           0 :                     case '1':    // 1 string to match.
    7505           0 :                       if (memcmp(Mnemonic.data()+12, "6_sdwa", 6) != 0)
    7506             :                         break;
    7507           0 :                       Mnemonic = "v_cmp_nlt_f16";      // "v_cmp_nlt_f16_sdwa"
    7508           0 :                       return;
    7509           0 :                     case '3':    // 1 string to match.
    7510           0 :                       if (memcmp(Mnemonic.data()+12, "2_sdwa", 6) != 0)
    7511             :                         break;
    7512           0 :                       Mnemonic = "v_cmp_nlt_f32";      // "v_cmp_nlt_f32_sdwa"
    7513           0 :                       return;
    7514             :                     }
    7515             :                     break;
    7516             :                   }
    7517             :                   break;
    7518             :                 }
    7519             :                 break;
    7520           0 :               case 't':  // 2 strings to match.
    7521           0 :                 if (memcmp(Mnemonic.data()+7, "ru_f", 4) != 0)
    7522             :                   break;
    7523           0 :                 switch (Mnemonic[11]) {
    7524             :                 default: break;
    7525           0 :                 case '1':        // 1 string to match.
    7526           0 :                   if (memcmp(Mnemonic.data()+12, "6_sdwa", 6) != 0)
    7527             :                     break;
    7528           0 :                   Mnemonic = "v_cmp_tru_f16";  // "v_cmp_tru_f16_sdwa"
    7529           0 :                   return;
    7530           0 :                 case '3':        // 1 string to match.
    7531           0 :                   if (memcmp(Mnemonic.data()+12, "2_sdwa", 6) != 0)
    7532             :                     break;
    7533           0 :                   Mnemonic = "v_cmp_tru_f32";  // "v_cmp_tru_f32_sdwa"
    7534           0 :                   return;
    7535             :                 }
    7536             :                 break;
    7537             :               }
    7538             :               break;
    7539           0 :             case 's':    // 9 strings to match.
    7540           0 :               switch (Mnemonic[6]) {
    7541             :               default: break;
    7542           0 :               case '_':  // 6 strings to match.
    7543           0 :                 switch (Mnemonic[7]) {
    7544             :                 default: break;
    7545           0 :                 case 'e':        // 1 string to match.
    7546           0 :                   if (memcmp(Mnemonic.data()+8, "q_f32_sdwa", 10) != 0)
    7547             :                     break;
    7548           0 :                   Mnemonic = "v_cmps_eq_f32";  // "v_cmps_eq_f32_sdwa"
    7549           0 :                   return;
    7550           0 :                 case 'g':        // 2 strings to match.
    7551           0 :                   switch (Mnemonic[8]) {
    7552             :                   default: break;
    7553           0 :                   case 'e':      // 1 string to match.
    7554           0 :                     if (memcmp(Mnemonic.data()+9, "_f32_sdwa", 9) != 0)
    7555             :                       break;
    7556           0 :                     Mnemonic = "v_cmps_ge_f32";        // "v_cmps_ge_f32_sdwa"
    7557           0 :                     return;
    7558           0 :                   case 't':      // 1 string to match.
    7559           0 :                     if (memcmp(Mnemonic.data()+9, "_f32_sdwa", 9) != 0)
    7560             :                       break;
    7561           0 :                     Mnemonic = "v_cmps_gt_f32";        // "v_cmps_gt_f32_sdwa"
    7562           0 :                     return;
    7563             :                   }
    7564             :                   break;
    7565           0 :                 case 'l':        // 3 strings to match.
    7566           0 :                   switch (Mnemonic[8]) {
    7567             :                   default: break;
    7568           0 :                   case 'e':      // 1 string to match.
    7569           0 :                     if (memcmp(Mnemonic.data()+9, "_f32_sdwa", 9) != 0)
    7570             :                       break;
    7571           0 :                     Mnemonic = "v_cmps_le_f32";        // "v_cmps_le_f32_sdwa"
    7572           0 :                     return;
    7573           0 :                   case 'g':      // 1 string to match.
    7574           0 :                     if (memcmp(Mnemonic.data()+9, "_f32_sdwa", 9) != 0)
    7575             :                       break;
    7576           0 :                     Mnemonic = "v_cmps_lg_f32";        // "v_cmps_lg_f32_sdwa"
    7577           0 :                     return;
    7578           0 :                   case 't':      // 1 string to match.
    7579           0 :                     if (memcmp(Mnemonic.data()+9, "_f32_sdwa", 9) != 0)
    7580             :                       break;
    7581           0 :                     Mnemonic = "v_cmps_lt_f32";        // "v_cmps_lt_f32_sdwa"
    7582           0 :                     return;
    7583             :                   }
    7584             :                   break;
    7585             :                 }
    7586             :                 break;
    7587           0 :               case 'x':  // 3 strings to match.
    7588           0 :                 if (Mnemonic[7] != '_')
    7589             :                   break;
    7590           0 :                 switch (Mnemonic[8]) {
    7591             :                 default: break;
    7592           0 :                 case 'f':        // 1 string to match.
    7593           0 :                   if (memcmp(Mnemonic.data()+9, "_f32_sdwa", 9) != 0)
    7594             :                     break;
    7595           0 :                   Mnemonic = "v_cmpsx_f_f32";  // "v_cmpsx_f_f32_sdwa"
    7596           0 :                   return;
    7597           0 :                 case 'o':        // 1 string to match.
    7598           0 :                   if (memcmp(Mnemonic.data()+9, "_f32_sdwa", 9) != 0)
    7599             :                     break;
    7600           0 :                   Mnemonic = "v_cmpsx_o_f32";  // "v_cmpsx_o_f32_sdwa"
    7601           0 :                   return;
    7602           0 :                 case 'u':        // 1 string to match.
    7603           0 :                   if (memcmp(Mnemonic.data()+9, "_f32_sdwa", 9) != 0)
    7604             :                     break;
    7605           0 :                   Mnemonic = "v_cmpsx_u_f32";  // "v_cmpsx_u_f32_sdwa"
    7606           0 :                   return;
    7607             :                 }
    7608             :                 break;
    7609             :               }
    7610             :               break;
    7611           0 :             case 'x':    // 36 strings to match.
    7612           0 :               if (Mnemonic[6] != '_')
    7613             :                 break;
    7614           0 :               switch (Mnemonic[7]) {
    7615             :               default: break;
    7616           0 :               case 'e':  // 6 strings to match.
    7617           0 :                 if (memcmp(Mnemonic.data()+8, "q_", 2) != 0)
    7618             :                   break;
    7619           0 :                 switch (Mnemonic[10]) {
    7620             :                 default: break;
    7621           0 :                 case 'f':        // 2 strings to match.
    7622           0 :                   switch (Mnemonic[11]) {
    7623             :                   default: break;
    7624           0 :                   case '1':      // 1 string to match.
    7625           0 :                     if (memcmp(Mnemonic.data()+12, "6_sdwa", 6) != 0)
    7626             :                       break;
    7627           0 :                     Mnemonic = "v_cmpx_eq_f16";        // "v_cmpx_eq_f16_sdwa"
    7628           0 :                     return;
    7629           0 :                   case '3':      // 1 string to match.
    7630           0 :                     if (memcmp(Mnemonic.data()+12, "2_sdwa", 6) != 0)
    7631             :                       break;
    7632           0 :                     Mnemonic = "v_cmpx_eq_f32";        // "v_cmpx_eq_f32_sdwa"
    7633           0 :                     return;
    7634             :                   }
    7635             :                   break;
    7636           0 :                 case 'i':        // 2 strings to match.
    7637           0 :                   switch (Mnemonic[11]) {
    7638             :                   default: break;
    7639           0 :                   case '1':      // 1 string to match.
    7640           0 :                     if (memcmp(Mnemonic.data()+12, "6_sdwa", 6) != 0)
    7641             :                       break;
    7642           0 :                     Mnemonic = "v_cmpx_eq_i16";        // "v_cmpx_eq_i16_sdwa"
    7643           0 :                     return;
    7644           0 :                   case '3':      // 1 string to match.
    7645           0 :                     if (memcmp(Mnemonic.data()+12, "2_sdwa", 6) != 0)
    7646             :                       break;
    7647           0 :                     Mnemonic = "v_cmpx_eq_i32";        // "v_cmpx_eq_i32_sdwa"
    7648           0 :                     return;
    7649             :                   }
    7650             :                   break;
    7651           0 :                 case 'u':        // 2 strings to match.
    7652           0 :                   switch (Mnemonic[11]) {
    7653             :                   default: break;
    7654           0 :                   case '1':      // 1 string to match.
    7655           0 :                     if (memcmp(Mnemonic.data()+12, "6_sdwa", 6) != 0)
    7656             :                       break;
    7657           0 :                     Mnemonic = "v_cmpx_eq_u16";        // "v_cmpx_eq_u16_sdwa"
    7658           0 :                     return;
    7659           0 :                   case '3':      // 1 string to match.
    7660           0 :                     if (memcmp(Mnemonic.data()+12, "2_sdwa", 6) != 0)
    7661             :                       break;
    7662           0 :                     Mnemonic = "v_cmpx_eq_u32";        // "v_cmpx_eq_u32_sdwa"
    7663           0 :                     return;
    7664             :                   }
    7665             :                   break;
    7666             :                 }
    7667             :                 break;
    7668           0 :               case 'g':  // 12 strings to match.
    7669           0 :                 switch (Mnemonic[8]) {
    7670             :                 default: break;
    7671           0 :                 case 'e':        // 6 strings to match.
    7672           0 :                   if (Mnemonic[9] != '_')
    7673             :                     break;
    7674           0 :                   switch (Mnemonic[10]) {
    7675             :                   default: break;
    7676           0 :                   case 'f':      // 2 strings to match.
    7677           0 :                     switch (Mnemonic[11]) {
    7678             :                     default: break;
    7679           0 :                     case '1':    // 1 string to match.
    7680           0 :                       if (memcmp(Mnemonic.data()+12, "6_sdwa", 6) != 0)
    7681             :                         break;
    7682           0 :                       Mnemonic = "v_cmpx_ge_f16";      // "v_cmpx_ge_f16_sdwa"
    7683           0 :                       return;
    7684           0 :                     case '3':    // 1 string to match.
    7685           0 :                       if (memcmp(Mnemonic.data()+12, "2_sdwa", 6) != 0)
    7686             :                         break;
    7687           0 :                       Mnemonic = "v_cmpx_ge_f32";      // "v_cmpx_ge_f32_sdwa"
    7688           0 :                       return;
    7689             :                     }
    7690             :                     break;
    7691           0 :                   case 'i':      // 2 strings to match.
    7692           0 :                     switch (Mnemonic[11]) {
    7693             :                     default: break;
    7694           0 :                     case '1':    // 1 string to match.
    7695           0 :                       if (memcmp(Mnemonic.data()+12, "6_sdwa", 6) != 0)
    7696             :                         break;
    7697           0 :                       Mnemonic = "v_cmpx_ge_i16";      // "v_cmpx_ge_i16_sdwa"
    7698           0 :                       return;
    7699           0 :                     case '3':    // 1 string to match.
    7700           0 :                       if (memcmp(Mnemonic.data()+12, "2_sdwa", 6) != 0)
    7701             :                         break;
    7702           0 :                       Mnemonic = "v_cmpx_ge_i32";      // "v_cmpx_ge_i32_sdwa"
    7703           0 :                       return;
    7704             :                     }
    7705             :                     break;
    7706           0 :                   case 'u':      // 2 strings to match.
    7707           0 :                     switch (Mnemonic[11]) {
    7708             :                     default: break;
    7709           0 :                     case '1':    // 1 string to match.
    7710           0 :                       if (memcmp(Mnemonic.data()+12, "6_sdwa", 6) != 0)
    7711             :                         break;
    7712           0 :                       Mnemonic = "v_cmpx_ge_u16";      // "v_cmpx_ge_u16_sdwa"
    7713           0 :                       return;
    7714           0 :                     case '3':    // 1 string to match.
    7715           0 :                       if (memcmp(Mnemonic.data()+12, "2_sdwa", 6) != 0)
    7716             :                         break;
    7717           0 :                       Mnemonic = "v_cmpx_ge_u32";      // "v_cmpx_ge_u32_sdwa"
    7718           0 :                       return;
    7719             :                     }
    7720             :                     break;
    7721             :                   }
    7722             :                   break;
    7723           0 :                 case 't':        // 6 strings to match.
    7724           0 :                   if (Mnemonic[9] != '_')
    7725             :                     break;
    7726           0 :                   switch (Mnemonic[10]) {
    7727             :                   default: break;
    7728           0 :                   case 'f':      // 2 strings to match.
    7729           0 :                     switch (Mnemonic[11]) {
    7730             :                     default: break;
    7731           0 :                     case '1':    // 1 string to match.
    7732           0 :                       if (memcmp(Mnemonic.data()+12, "6_sdwa", 6) != 0)
    7733             :                         break;
    7734           0 :                       Mnemonic = "v_cmpx_gt_f16";      // "v_cmpx_gt_f16_sdwa"
    7735           0 :                       return;
    7736           0 :                     case '3':    // 1 string to match.
    7737           0 :                       if (memcmp(Mnemonic.data()+12, "2_sdwa", 6) != 0)
    7738             :                         break;
    7739           0 :                       Mnemonic = "v_cmpx_gt_f32";      // "v_cmpx_gt_f32_sdwa"
    7740           0 :                       return;
    7741             :                     }
    7742             :                     break;
    7743           0 :                   case 'i':      // 2 strings to match.
    7744           0 :                     switch (Mnemonic[11]) {
    7745             :                     default: break;
    7746           0 :                     case '1':    // 1 string to match.
    7747           0 :                       if (memcmp(Mnemonic.data()+12, "6_sdwa", 6) != 0)
    7748             :                         break;
    7749           0 :                       Mnemonic = "v_cmpx_gt_i16";      // "v_cmpx_gt_i16_sdwa"
    7750           0 :                       return;
    7751           0 :                     case '3':    // 1 string to match.
    7752           0 :                       if (memcmp(Mnemonic.data()+12, "2_sdwa", 6) != 0)
    7753             :                         break;
    7754           0 :                       Mnemonic = "v_cmpx_gt_i32";      // "v_cmpx_gt_i32_sdwa"
    7755           0 :                       return;
    7756             :                     }
    7757             :                     break;
    7758           0 :                   case 'u':      // 2 strings to match.
    7759           0 :                     switch (Mnemonic[11]) {
    7760             :                     default: break;
    7761           0 :                     case '1':    // 1 string to match.
    7762           0 :                       if (memcmp(Mnemonic.data()+12, "6_sdwa", 6) != 0)
    7763             :                         break;
    7764           0 :                       Mnemonic = "v_cmpx_gt_u16";      // "v_cmpx_gt_u16_sdwa"
    7765           0 :                       return;
    7766           0 :                     case '3':    // 1 string to match.
    7767           0 :                       if (memcmp(Mnemonic.data()+12, "2_sdwa", 6) != 0)
    7768             :                         break;
    7769           0 :                       Mnemonic = "v_cmpx_gt_u32";      // "v_cmpx_gt_u32_sdwa"
    7770           0 :                       return;
    7771             :                     }
    7772             :                     break;
    7773             :                   }
    7774             :                   break;
    7775             :                 }
    7776             :                 break;
    7777           0 :               case 'l':  // 14 strings to match.
    7778           0 :                 switch (Mnemonic[8]) {
    7779             :                 default: break;
    7780           0 :                 case 'e':        // 6 strings to match.
    7781           0 :                   if (Mnemonic[9] != '_')
    7782             :                     break;
    7783           0 :                   switch (Mnemonic[10]) {
    7784             :                   default: break;
    7785           0 :                   case 'f':      // 2 strings to match.
    7786           0 :                     switch (Mnemonic[11]) {
    7787             :                     default: break;
    7788           0 :                     case '1':    // 1 string to match.
    7789           0 :                       if (memcmp(Mnemonic.data()+12, "6_sdwa", 6) != 0)
    7790             :                         break;
    7791           0 :                       Mnemonic = "v_cmpx_le_f16";      // "v_cmpx_le_f16_sdwa"
    7792           0 :                       return;
    7793           0 :                     case '3':    // 1 string to match.
    7794           0 :                       if (memcmp(Mnemonic.data()+12, "2_sdwa", 6) != 0)
    7795             :                         break;
    7796           0 :                       Mnemonic = "v_cmpx_le_f32";      // "v_cmpx_le_f32_sdwa"
    7797           0 :                       return;
    7798             :                     }
    7799             :                     break;
    7800           0 :                   case 'i':      // 2 strings to match.
    7801           0 :                     switch (Mnemonic[11]) {
    7802             :                     default: break;
    7803           0 :                     case '1':    // 1 string to match.
    7804           0 :                       if (memcmp(Mnemonic.data()+12, "6_sdwa", 6) != 0)
    7805             :                         break;
    7806           0 :                       Mnemonic = "v_cmpx_le_i16";      // "v_cmpx_le_i16_sdwa"
    7807           0 :                       return;
    7808           0 :                     case '3':    // 1 string to match.
    7809           0 :                       if (memcmp(Mnemonic.data()+12, "2_sdwa", 6) != 0)
    7810             :                         break;
    7811           0 :                       Mnemonic = "v_cmpx_le_i32";      // "v_cmpx_le_i32_sdwa"
    7812           0 :                       return;
    7813             :                     }
    7814             :                     break;
    7815           0 :                   case 'u':      // 2 strings to match.
    7816           0 :                     switch (Mnemonic[11]) {
    7817             :                     default: break;
    7818           0 :                     case '1':    // 1 string to match.
    7819           0 :                       if (memcmp(Mnemonic.data()+12, "6_sdwa", 6) != 0)
    7820             :                         break;
    7821           0 :                       Mnemonic = "v_cmpx_le_u16";      // "v_cmpx_le_u16_sdwa"
    7822           0 :                       return;
    7823           0 :                     case '3':    // 1 string to match.
    7824           0 :                       if (memcmp(Mnemonic.data()+12, "2_sdwa", 6) != 0)
    7825             :                         break;
    7826           0 :                       Mnemonic = "v_cmpx_le_u32";      // "v_cmpx_le_u32_sdwa"
    7827           0 :                       return;
    7828             :                     }
    7829             :                     break;
    7830             :                   }
    7831             :                   break;
    7832           0 :                 case 'g':        // 2 strings to match.
    7833           0 :                   if (memcmp(Mnemonic.data()+9, "_f", 2) != 0)
    7834             :                     break;
    7835           0 :                   switch (Mnemonic[11]) {
    7836             :                   default: break;
    7837           0 :                   case '1':      // 1 string to match.
    7838           0 :                     if (memcmp(Mnemonic.data()+12, "6_sdwa", 6) != 0)
    7839             :                       break;
    7840           0 :                     Mnemonic = "v_cmpx_lg_f16";        // "v_cmpx_lg_f16_sdwa"
    7841           0 :                     return;
    7842           0 :                   case '3':      // 1 string to match.
    7843           0 :                     if (memcmp(Mnemonic.data()+12, "2_sdwa", 6) != 0)
    7844             :                       break;
    7845           0 :                     Mnemonic = "v_cmpx_lg_f32";        // "v_cmpx_lg_f32_sdwa"
    7846           0 :                     return;
    7847             :                   }
    7848             :                   break;
    7849           0 :                 case 't':        // 6 strings to match.
    7850           0 :                   if (Mnemonic[9] != '_')
    7851             :                     break;
    7852           0 :                   switch (Mnemonic[10]) {
    7853             :                   default: break;
    7854           0 :                   case 'f':      // 2 strings to match.
    7855           0 :                     switch (Mnemonic[11]) {
    7856             :                     default: break;
    7857           0 :                     case '1':    // 1 string to match.
    7858           0 :                       if (memcmp(Mnemonic.data()+12, "6_sdwa", 6) != 0)
    7859             :                         break;
    7860           0 :                       Mnemonic = "v_cmpx_lt_f16";      // "v_cmpx_lt_f16_sdwa"
    7861           0 :                       return;
    7862           0 :                     case '3':    // 1 string to match.
    7863           0 :                       if (memcmp(Mnemonic.data()+12, "2_sdwa", 6) != 0)
    7864             :                         break;
    7865           0 :                       Mnemonic = "v_cmpx_lt_f32";      // "v_cmpx_lt_f32_sdwa"
    7866           0 :                       return;
    7867             :                     }
    7868             :                     break;
    7869           0 :                   case 'i':      // 2 strings to match.
    7870           0 :                     switch (Mnemonic[11]) {
    7871             :                     default: break;
    7872           0 :                     case '1':    // 1 string to match.
    7873           0 :                       if (memcmp(Mnemonic.data()+12, "6_sdwa", 6) != 0)
    7874             :                         break;
    7875           0 :                       Mnemonic = "v_cmpx_lt_i16";      // "v_cmpx_lt_i16_sdwa"
    7876           0 :                       return;
    7877           0 :                     case '3':    // 1 string to match.
    7878           0 :                       if (memcmp(Mnemonic.data()+12, "2_sdwa", 6) != 0)
    7879             :                         break;
    7880           0 :                       Mnemonic = "v_cmpx_lt_i32";      // "v_cmpx_lt_i32_sdwa"
    7881           0 :                       return;
    7882             :                     }
    7883             :                     break;
    7884           0 :                   case 'u':      // 2 strings to match.
    7885           0 :                     switch (Mnemonic[11]) {
    7886             :                     default: break;
    7887           0 :                     case '1':    // 1 string to match.
    7888           0 :                       if (memcmp(Mnemonic.data()+12, "6_sdwa", 6) != 0)
    7889             :                         break;
    7890           0 :                       Mnemonic = "v_cmpx_lt_u16";      // "v_cmpx_lt_u16_sdwa"
    7891           0 :                       return;
    7892           0 :                     case '3':    // 1 string to match.
    7893           0 :                       if (memcmp(Mnemonic.data()+12, "2_sdwa", 6) != 0)
    7894             :                         break;
    7895           0 :                       Mnemonic = "v_cmpx_lt_u32";      // "v_cmpx_lt_u32_sdwa"
    7896           0 :                       return;
    7897             :                     }
    7898             :                     break;
    7899             :                   }
    7900             :                   break;
    7901             :                 }
    7902             :                 break;
    7903           0 :               case 'n':  // 4 strings to match.
    7904           0 :                 if (memcmp(Mnemonic.data()+8, "e_", 2) != 0)
    7905             :                   break;
    7906           0 :                 switch (Mnemonic[10]) {
    7907             :                 default: break;
    7908           0 :                 case 'i':        // 2 strings to match.
    7909           0 :                   switch (Mnemonic[11]) {
    7910             :                   default: break;
    7911           0 :                   case '1':      // 1 string to match.
    7912           0 :                     if (memcmp(Mnemonic.data()+12, "6_sdwa", 6) != 0)
    7913             :                       break;
    7914           0 :                     Mnemonic = "v_cmpx_ne_i16";        // "v_cmpx_ne_i16_sdwa"
    7915           0 :                     return;
    7916           0 :                   case '3':      // 1 string to match.
    7917           0 :                     if (memcmp(Mnemonic.data()+12, "2_sdwa", 6) != 0)
    7918             :                       break;
    7919           0 :                     Mnemonic = "v_cmpx_ne_i32";        // "v_cmpx_ne_i32_sdwa"
    7920           0 :                     return;
    7921             :                   }
    7922             :                   break;
    7923           0 :                 case 'u':        // 2 strings to match.
    7924           0 :                   switch (Mnemonic[11]) {
    7925             :                   default: break;
    7926           0 :                   case '1':      // 1 string to match.
    7927           0 :                     if (memcmp(Mnemonic.data()+12, "6_sdwa", 6) != 0)
    7928             :                       break;
    7929           0 :                     Mnemonic = "v_cmpx_ne_u16";        // "v_cmpx_ne_u16_sdwa"
    7930           0 :                     return;
    7931           0 :                   case '3':      // 1 string to match.
    7932           0 :                     if (memcmp(Mnemonic.data()+12, "2_sdwa", 6) != 0)
    7933             :                       break;
    7934           0 :                     Mnemonic = "v_cmpx_ne_u32";        // "v_cmpx_ne_u32_sdwa"
    7935           0 :                     return;
    7936             :                   }
    7937             :                   break;
    7938             :                 }
    7939             :                 break;
    7940             :               }
    7941             :               break;
    7942             :             }
    7943             :             break;
    7944           0 :           case 'v':      // 10 strings to match.
    7945           0 :             if (memcmp(Mnemonic.data()+4, "t_", 2) != 0)
    7946             :               break;
    7947           0 :             switch (Mnemonic[6]) {
    7948             :             default: break;
    7949           0 :             case 'f':    // 6 strings to match.
    7950           0 :               switch (Mnemonic[7]) {
    7951             :               default: break;
    7952           0 :               case '1':  // 3 strings to match.
    7953           0 :                 if (memcmp(Mnemonic.data()+8, "6_", 2) != 0)
    7954             :                   break;
    7955           0 :                 switch (Mnemonic[10]) {
    7956             :                 default: break;
    7957           0 :                 case 'f':        // 1 string to match.
    7958           0 :                   if (memcmp(Mnemonic.data()+11, "32_sdwa", 7) != 0)
    7959             :                     break;
    7960           0 :                   Mnemonic = "v_cvt_f16_f32";  // "v_cvt_f16_f32_sdwa"
    7961           0 :                   return;
    7962           0 :                 case 'i':        // 1 string to match.
    7963           0 :                   if (memcmp(Mnemonic.data()+11, "16_sdwa", 7) != 0)
    7964             :                     break;
    7965           0 :                   Mnemonic = "v_cvt_f16_i16";  // "v_cvt_f16_i16_sdwa"
    7966           0 :                   return;
    7967           0 :                 case 'u':        // 1 string to match.
    7968           0 :                   if (memcmp(Mnemonic.data()+11, "16_sdwa", 7) != 0)
    7969             :                     break;
    7970           0 :                   Mnemonic = "v_cvt_f16_u16";  // "v_cvt_f16_u16_sdwa"
    7971           0 :                   return;
    7972             :                 }
    7973             :                 break;
    7974           0 :               case '3':  // 3 strings to match.
    7975           0 :                 if (memcmp(Mnemonic.data()+8, "2_", 2) != 0)
    7976             :                   break;
    7977           0 :                 switch (Mnemonic[10]) {
    7978             :                 default: break;
    7979           0 :                 case 'f':        // 1 string to match.
    7980           0 :                   if (memcmp(Mnemonic.data()+11, "16_sdwa", 7) != 0)
    7981             :                     break;
    7982           0 :                   Mnemonic = "v_cvt_f32_f16";  // "v_cvt_f32_f16_sdwa"
    7983           0 :                   return;
    7984           0 :                 case 'i':        // 1 string to match.
    7985           0 :                   if (memcmp(Mnemonic.data()+11, "32_sdwa", 7) != 0)
    7986             :                     break;
    7987           0 :                   Mnemonic = "v_cvt_f32_i32";  // "v_cvt_f32_i32_sdwa"
    7988           0 :                   return;
    7989           0 :                 case 'u':        // 1 string to match.
    7990           0 :                   if (memcmp(Mnemonic.data()+11, "32_sdwa", 7) != 0)
    7991             :                     break;
    7992           0 :                   Mnemonic = "v_cvt_f32_u32";  // "v_cvt_f32_u32_sdwa"
    7993           0 :                   return;
    7994             :                 }
    7995             :                 break;
    7996             :               }
    7997             :               break;
    7998           0 :             case 'i':    // 2 strings to match.
    7999           0 :               switch (Mnemonic[7]) {
    8000             :               default: break;
    8001           0 :               case '1':  // 1 string to match.
    8002           0 :                 if (memcmp(Mnemonic.data()+8, "6_f16_sdwa", 10) != 0)
    8003             :                   break;
    8004           0 :                 Mnemonic = "v_cvt_i16_f16";    // "v_cvt_i16_f16_sdwa"
    8005           0 :                 return;
    8006           0 :               case '3':  // 1 string to match.
    8007           0 :                 if (memcmp(Mnemonic.data()+8, "2_f32_sdwa", 10) != 0)
    8008             :                   break;
    8009           0 :                 Mnemonic = "v_cvt_i32_f32";    // "v_cvt_i32_f32_sdwa"
    8010           0 :                 return;
    8011             :               }
    8012             :               break;
    8013           0 :             case 'u':    // 2 strings to match.
    8014           0 :               switch (Mnemonic[7]) {
    8015             :               default: break;
    8016           0 :               case '1':  // 1 string to match.
    8017           0 :                 if (memcmp(Mnemonic.data()+8, "6_f16_sdwa", 10) != 0)
    8018             :                   break;
    8019           0 :                 Mnemonic = "v_cvt_u16_f16";    // "v_cvt_u16_f16_sdwa"
    8020           0 :                 return;
    8021           0 :               case '3':  // 1 string to match.
    8022           0 :                 if (memcmp(Mnemonic.data()+8, "2_f32_sdwa", 10) != 0)
    8023             :                   break;
    8024           0 :                 Mnemonic = "v_cvt_u32_f32";    // "v_cvt_u32_f32_sdwa"
    8025           0 :                 return;
    8026             :               }
    8027             :               break;
    8028             :             }
    8029             :             break;
    8030             :           }
    8031             :           break;
    8032           0 :         case 'l':        // 4 strings to match.
    8033           0 :           if (memcmp(Mnemonic.data()+3, "sh", 2) != 0)
    8034             :             break;
    8035           0 :           switch (Mnemonic[5]) {
    8036             :           default: break;
    8037           0 :           case 'l':      // 2 strings to match.
    8038           0 :             if (memcmp(Mnemonic.data()+6, "rev_b", 5) != 0)
    8039             :               break;
    8040           0 :             switch (Mnemonic[11]) {
    8041             :             default: break;
    8042           0 :             case '1':    // 1 string to match.
    8043           0 :               if (memcmp(Mnemonic.data()+12, "6_sdwa", 6) != 0)
    8044             :                 break;
    8045           0 :               Mnemonic = "v_lshlrev_b16";      // "v_lshlrev_b16_sdwa"
    8046           0 :               return;
    8047           0 :             case '3':    // 1 string to match.
    8048           0 :               if (memcmp(Mnemonic.data()+12, "2_sdwa", 6) != 0)
    8049             :                 break;
    8050           0 :               Mnemonic = "v_lshlrev_b32";      // "v_lshlrev_b32_sdwa"
    8051           0 :               return;
    8052             :             }
    8053             :             break;
    8054           0 :           case 'r':      // 2 strings to match.
    8055           0 :             if (memcmp(Mnemonic.data()+6, "rev_b", 5) != 0)
    8056             :               break;
    8057           0 :             switch (Mnemonic[11]) {
    8058             :             default: break;
    8059           0 :             case '1':    // 1 string to match.
    8060           0 :               if (memcmp(Mnemonic.data()+12, "6_sdwa", 6) != 0)
    8061             :                 break;
    8062           0 :               Mnemonic = "v_lshrrev_b16";      // "v_lshrrev_b16_sdwa"
    8063           0 :               return;
    8064           0 :             case '3':    // 1 string to match.
    8065           0 :               if (memcmp(Mnemonic.data()+12, "2_sdwa", 6) != 0)
    8066             :                 break;
    8067           0 :               Mnemonic = "v_lshrrev_b32";      // "v_lshrrev_b32_sdwa"
    8068           0 :               return;
    8069             :             }
    8070             :             break;
    8071             :           }
    8072             :           break;
    8073           0 :         case 'm':        // 3 strings to match.
    8074           0 :           switch (Mnemonic[3]) {
    8075             :           default: break;
    8076           0 :           case 'o':      // 1 string to match.
    8077           0 :             if (memcmp(Mnemonic.data()+4, "v_fed_b32_sdwa", 14) != 0)
    8078             :               break;
    8079           0 :             Mnemonic = "v_mov_fed_b32";        // "v_mov_fed_b32_sdwa"
    8080           0 :             return;
    8081           0 :           case 'u':      // 2 strings to match.
    8082           0 :             if (memcmp(Mnemonic.data()+4, "l_", 2) != 0)
    8083             :               break;
    8084           0 :             switch (Mnemonic[6]) {
    8085             :             default: break;
    8086           0 :             case 'i':    // 1 string to match.
    8087           0 :               if (memcmp(Mnemonic.data()+7, "32_i24_sdwa", 11) != 0)
    8088             :                 break;
    8089           0 :               Mnemonic = "v_mul_i32_i24";      // "v_mul_i32_i24_sdwa"
    8090           0 :               return;
    8091           0 :             case 'u':    // 1 string to match.
    8092           0 :               if (memcmp(Mnemonic.data()+7, "32_u24_sdwa", 11) != 0)
    8093             :                 break;
    8094           0 :               Mnemonic = "v_mul_u32_u24";      // "v_mul_u32_u24_sdwa"
    8095           0 :               return;
    8096             :             }
    8097             :             break;
    8098             :           }
    8099             :           break;
    8100           0 :         case 's':        // 1 string to match.
    8101           0 :           if (memcmp(Mnemonic.data()+3, "ubbrev_u32_sdwa", 15) != 0)
    8102             :             break;
    8103           0 :           Mnemonic = "v_subbrev_u32";  // "v_subbrev_u32_sdwa"
    8104           0 :           return;
    8105             :         }
    8106             :         break;
    8107         202 :       case 19:   // 27 strings to match.
    8108         202 :         if (memcmp(Mnemonic.data()+0, "v_cmp", 5) != 0)
    8109             :           break;
    8110           0 :         switch (Mnemonic[5]) {
    8111             :         default: break;
    8112           0 :         case 's':        // 13 strings to match.
    8113           0 :           switch (Mnemonic[6]) {
    8114             :           default: break;
    8115           0 :           case '_':      // 7 strings to match.
    8116           0 :             switch (Mnemonic[7]) {
    8117             :             default: break;
    8118           0 :             case 'n':    // 6 strings to match.
    8119           0 :               switch (Mnemonic[8]) {
    8120             :               default: break;
    8121           0 :               case 'e':  // 1 string to match.
    8122           0 :                 if (memcmp(Mnemonic.data()+9, "q_f32_sdwa", 10) != 0)
    8123             :                   break;
    8124           0 :                 Mnemonic = "v_cmps_neq_f32";   // "v_cmps_neq_f32_sdwa"
    8125           0 :                 return;
    8126           0 :               case 'g':  // 2 strings to match.
    8127           0 :                 switch (Mnemonic[9]) {
    8128             :                 default: break;
    8129           0 :                 case 'e':        // 1 string to match.
    8130           0 :                   if (memcmp(Mnemonic.data()+10, "_f32_sdwa", 9) != 0)
    8131             :                     break;
    8132           0 :                   Mnemonic = "v_cmps_nge_f32";         // "v_cmps_nge_f32_sdwa"
    8133           0 :                   return;
    8134           0 :                 case 't':        // 1 string to match.
    8135           0 :                   if (memcmp(Mnemonic.data()+10, "_f32_sdwa", 9) != 0)
    8136             :                     break;
    8137           0 :                   Mnemonic = "v_cmps_ngt_f32";         // "v_cmps_ngt_f32_sdwa"
    8138           0 :                   return;
    8139             :                 }
    8140             :                 break;
    8141           0 :               case 'l':  // 3 strings to match.
    8142           0 :                 switch (Mnemonic[9]) {
    8143             :                 default: break;
    8144           0 :                 case 'e':        // 1 string to match.
    8145           0 :                   if (memcmp(Mnemonic.data()+10, "_f32_sdwa", 9) != 0)
    8146             :                     break;
    8147           0 :                   Mnemonic = "v_cmps_nle_f32";         // "v_cmps_nle_f32_sdwa"
    8148           0 :                   return;
    8149           0 :                 case 'g':        // 1 string to match.
    8150           0 :                   if (memcmp(Mnemonic.data()+10, "_f32_sdwa", 9) != 0)
    8151             :                     break;
    8152           0 :                   Mnemonic = "v_cmps_nlg_f32";         // "v_cmps_nlg_f32_sdwa"
    8153           0 :                   return;
    8154           0 :                 case 't':        // 1 string to match.
    8155           0 :                   if (memcmp(Mnemonic.data()+10, "_f32_sdwa", 9) != 0)
    8156             :                     break;
    8157           0 :                   Mnemonic = "v_cmps_nlt_f32";         // "v_cmps_nlt_f32_sdwa"
    8158           0 :                   return;
    8159             :                 }
    8160             :                 break;
    8161             :               }
    8162             :               break;
    8163           0 :             case 't':    // 1 string to match.
    8164           0 :               if (memcmp(Mnemonic.data()+8, "ru_f32_sdwa", 11) != 0)
    8165             :                 break;
    8166           0 :               Mnemonic = "v_cmps_tru_f32";     // "v_cmps_tru_f32_sdwa"
    8167           0 :               return;
    8168             :             }
    8169             :             break;
    8170           0 :           case 'x':      // 6 strings to match.
    8171           0 :             if (Mnemonic[7] != '_')
    8172             :               break;
    8173           0 :             switch (Mnemonic[8]) {
    8174             :             default: break;
    8175           0 :             case 'e':    // 1 string to match.
    8176           0 :               if (memcmp(Mnemonic.data()+9, "q_f32_sdwa", 10) != 0)
    8177             :                 break;
    8178           0 :               Mnemonic = "v_cmpsx_eq_f32";     // "v_cmpsx_eq_f32_sdwa"
    8179           0 :               return;
    8180           0 :             case 'g':    // 2 strings to match.
    8181           0 :               switch (Mnemonic[9]) {
    8182             :               default: break;
    8183           0 :               case 'e':  // 1 string to match.
    8184           0 :                 if (memcmp(Mnemonic.data()+10, "_f32_sdwa", 9) != 0)
    8185             :                   break;
    8186           0 :                 Mnemonic = "v_cmpsx_ge_f32";   // "v_cmpsx_ge_f32_sdwa"
    8187           0 :                 return;
    8188           0 :               case 't':  // 1 string to match.
    8189           0 :                 if (memcmp(Mnemonic.data()+10, "_f32_sdwa", 9) != 0)
    8190             :                   break;
    8191           0 :                 Mnemonic = "v_cmpsx_gt_f32";   // "v_cmpsx_gt_f32_sdwa"
    8192           0 :                 return;
    8193             :               }
    8194             :               break;
    8195           0 :             case 'l':    // 3 strings to match.
    8196           0 :               switch (Mnemonic[9]) {
    8197             :               default: break;
    8198           0 :               case 'e':  // 1 string to match.
    8199           0 :                 if (memcmp(Mnemonic.data()+10, "_f32_sdwa", 9) != 0)
    8200             :                   break;
    8201           0 :                 Mnemonic = "v_cmpsx_le_f32";   // "v_cmpsx_le_f32_sdwa"
    8202           0 :                 return;
    8203           0 :               case 'g':  // 1 string to match.
    8204           0 :                 if (memcmp(Mnemonic.data()+10, "_f32_sdwa", 9) != 0)
    8205             :                   break;
    8206           0 :                 Mnemonic = "v_cmpsx_lg_f32";   // "v_cmpsx_lg_f32_sdwa"
    8207           0 :                 return;
    8208           0 :               case 't':  // 1 string to match.
    8209           0 :                 if (memcmp(Mnemonic.data()+10, "_f32_sdwa", 9) != 0)
    8210             :                   break;
    8211           0 :                 Mnemonic = "v_cmpsx_lt_f32";   // "v_cmpsx_lt_f32_sdwa"
    8212           0 :                 return;
    8213             :               }
    8214             :               break;
    8215             :             }
    8216             :             break;
    8217             :           }
    8218             :           break;
    8219           0 :         case 'x':        // 14 strings to match.
    8220           0 :           if (Mnemonic[6] != '_')
    8221             :             break;
    8222           0 :           switch (Mnemonic[7]) {
    8223             :           default: break;
    8224           0 :           case 'n':      // 12 strings to match.
    8225           0 :             switch (Mnemonic[8]) {
    8226             :             default: break;
    8227           0 :             case 'e':    // 2 strings to match.
    8228           0 :               if (memcmp(Mnemonic.data()+9, "q_f", 3) != 0)
    8229             :                 break;
    8230           0 :               switch (Mnemonic[12]) {
    8231             :               default: break;
    8232           0 :               case '1':  // 1 string to match.
    8233           0 :                 if (memcmp(Mnemonic.data()+13, "6_sdwa", 6) != 0)
    8234             :                   break;
    8235           0 :                 Mnemonic = "v_cmpx_neq_f16";   // "v_cmpx_neq_f16_sdwa"
    8236           0 :                 return;
    8237           0 :               case '3':  // 1 string to match.
    8238           0 :                 if (memcmp(Mnemonic.data()+13, "2_sdwa", 6) != 0)
    8239             :                   break;
    8240           0 :                 Mnemonic = "v_cmpx_neq_f32";   // "v_cmpx_neq_f32_sdwa"
    8241           0 :                 return;
    8242             :               }
    8243             :               break;
    8244           0 :             case 'g':    // 4 strings to match.
    8245           0 :               switch (Mnemonic[9]) {
    8246             :               default: break;
    8247           0 :               case 'e':  // 2 strings to match.
    8248           0 :                 if (memcmp(Mnemonic.data()+10, "_f", 2) != 0)
    8249             :                   break;
    8250           0 :                 switch (Mnemonic[12]) {
    8251             :                 default: break;
    8252           0 :                 case '1':        // 1 string to match.
    8253           0 :                   if (memcmp(Mnemonic.data()+13, "6_sdwa", 6) != 0)
    8254             :                     break;
    8255           0 :                   Mnemonic = "v_cmpx_nge_f16";         // "v_cmpx_nge_f16_sdwa"
    8256           0 :                   return;
    8257           0 :                 case '3':        // 1 string to match.
    8258           0 :                   if (memcmp(Mnemonic.data()+13, "2_sdwa", 6) != 0)
    8259             :                     break;
    8260           0 :                   Mnemonic = "v_cmpx_nge_f32";         // "v_cmpx_nge_f32_sdwa"
    8261           0 :                   return;
    8262             :                 }
    8263             :                 break;
    8264           0 :               case 't':  // 2 strings to match.
    8265           0 :                 if (memcmp(Mnemonic.data()+10, "_f", 2) != 0)
    8266             :                   break;
    8267           0 :                 switch (Mnemonic[12]) {
    8268             :                 default: break;
    8269           0 :                 case '1':        // 1 string to match.
    8270           0 :                   if (memcmp(Mnemonic.data()+13, "6_sdwa", 6) != 0)
    8271             :                     break;
    8272           0 :                   Mnemonic = "v_cmpx_ngt_f16";         // "v_cmpx_ngt_f16_sdwa"
    8273           0 :                   return;
    8274           0 :                 case '3':        // 1 string to match.
    8275           0 :                   if (memcmp(Mnemonic.data()+13, "2_sdwa", 6) != 0)
    8276             :                     break;
    8277           0 :                   Mnemonic = "v_cmpx_ngt_f32";         // "v_cmpx_ngt_f32_sdwa"
    8278           0 :                   return;
    8279             :                 }
    8280             :                 break;
    8281             :               }
    8282             :               break;
    8283           0 :             case 'l':    // 6 strings to match.
    8284           0 :               switch (Mnemonic[9]) {
    8285             :               default: break;
    8286           0 :               case 'e':  // 2 strings to match.
    8287           0 :                 if (memcmp(Mnemonic.data()+10, "_f", 2) != 0)
    8288             :                   break;
    8289           0 :                 switch (Mnemonic[12]) {
    8290             :                 default: break;
    8291           0 :                 case '1':        // 1 string to match.
    8292           0 :                   if (memcmp(Mnemonic.data()+13, "6_sdwa", 6) != 0)
    8293             :                     break;
    8294           0 :                   Mnemonic = "v_cmpx_nle_f16";         // "v_cmpx_nle_f16_sdwa"
    8295           0 :                   return;
    8296           0 :                 case '3':        // 1 string to match.
    8297           0 :                   if (memcmp(Mnemonic.data()+13, "2_sdwa", 6) != 0)
    8298             :                     break;
    8299           0 :                   Mnemonic = "v_cmpx_nle_f32";         // "v_cmpx_nle_f32_sdwa"
    8300           0 :                   return;
    8301             :                 }
    8302             :                 break;
    8303           0 :               case 'g':  // 2 strings to match.
    8304           0 :                 if (memcmp(Mnemonic.data()+10, "_f", 2) != 0)
    8305             :                   break;
    8306           0 :                 switch (Mnemonic[12]) {
    8307             :                 default: break;
    8308           0 :                 case '1':        // 1 string to match.
    8309           0 :                   if (memcmp(Mnemonic.data()+13, "6_sdwa", 6) != 0)
    8310             :                     break;
    8311           0 :                   Mnemonic = "v_cmpx_nlg_f16";         // "v_cmpx_nlg_f16_sdwa"
    8312           0 :                   return;
    8313           0 :                 case '3':        // 1 string to match.
    8314           0 :                   if (memcmp(Mnemonic.data()+13, "2_sdwa", 6) != 0)
    8315             :                     break;
    8316           0 :                   Mnemonic = "v_cmpx_nlg_f32";         // "v_cmpx_nlg_f32_sdwa"
    8317           0 :                   return;
    8318             :                 }
    8319             :                 break;
    8320           0 :               case 't':  // 2 strings to match.
    8321           0 :                 if (memcmp(Mnemonic.data()+10, "_f", 2) != 0)
    8322             :                   break;
    8323           0 :                 switch (Mnemonic[12]) {
    8324             :                 default: break;
    8325           0 :                 case '1':        // 1 string to match.
    8326           0 :                   if (memcmp(Mnemonic.data()+13, "6_sdwa", 6) != 0)
    8327             :                     break;
    8328           0 :                   Mnemonic = "v_cmpx_nlt_f16";         // "v_cmpx_nlt_f16_sdwa"
    8329           0 :                   return;
    8330           0 :                 case '3':        // 1 string to match.
    8331           0 :                   if (memcmp(Mnemonic.data()+13, "2_sdwa", 6) != 0)
    8332             :                     break;
    8333           0 :                   Mnemonic = "v_cmpx_nlt_f32";         // "v_cmpx_nlt_f32_sdwa"
    8334           0 :                   return;
    8335             :                 }
    8336             :                 break;
    8337             :               }
    8338             :               break;
    8339             :             }
    8340             :             break;
    8341           0 :           case 't':      // 2 strings to match.
    8342           0 :             if (memcmp(Mnemonic.data()+8, "ru_f", 4) != 0)
    8343             :               break;
    8344           0 :             switch (Mnemonic[12]) {
    8345             :             default: break;
    8346           0 :             case '1':    // 1 string to match.
    8347           0 :               if (memcmp(Mnemonic.data()+13, "6_sdwa", 6) != 0)
    8348             :                 break;
    8349           0 :               Mnemonic = "v_cmpx_tru_f16";     // "v_cmpx_tru_f16_sdwa"
    8350           0 :               return;
    8351           0 :             case '3':    // 1 string to match.
    8352           0 :               if (memcmp(Mnemonic.data()+13, "2_sdwa", 6) != 0)
    8353             :                 break;
    8354           0 :               Mnemonic = "v_cmpx_tru_f32";     // "v_cmpx_tru_f32_sdwa"
    8355           0 :               return;
    8356             :             }
    8357             :             break;
    8358             :           }
    8359             :           break;
    8360             :         }
    8361             :         break;
    8362          68 :       case 20:   // 13 strings to match.
    8363          68 :         if (memcmp(Mnemonic.data()+0, "v_", 2) != 0)
    8364             :           break;
    8365          30 :         switch (Mnemonic[2]) {
    8366             :         default: break;
    8367          15 :         case 'c':        // 9 strings to match.
    8368          15 :           if (memcmp(Mnemonic.data()+3, "mp", 2) != 0)
    8369             :             break;
    8370           0 :           switch (Mnemonic[5]) {
    8371             :           default: break;
    8372           0 :           case '_':      // 2 strings to match.
    8373           0 :             if (memcmp(Mnemonic.data()+6, "class_f", 7) != 0)
    8374             :               break;
    8375           0 :             switch (Mnemonic[13]) {
    8376             :             default: break;
    8377           0 :             case '1':    // 1 string to match.
    8378           0 :               if (memcmp(Mnemonic.data()+14, "6_sdwa", 6) != 0)
    8379             :                 break;
    8380           0 :               Mnemonic = "v_cmp_class_f16";    // "v_cmp_class_f16_sdwa"
    8381           0 :               return;
    8382           0 :             case '3':    // 1 string to match.
    8383           0 :               if (memcmp(Mnemonic.data()+14, "2_sdwa", 6) != 0)
    8384             :                 break;
    8385           0 :               Mnemonic = "v_cmp_class_f32";    // "v_cmp_class_f32_sdwa"
    8386           0 :               return;
    8387             :             }
    8388             :             break;
    8389           0 :           case 's':      // 7 strings to match.
    8390           0 :             if (memcmp(Mnemonic.data()+6, "x_", 2) != 0)
    8391             :               break;
    8392           0 :             switch (Mnemonic[8]) {
    8393             :             default: break;
    8394           0 :             case 'n':    // 6 strings to match.
    8395           0 :               switch (Mnemonic[9]) {
    8396             :               default: break;
    8397           0 :               case 'e':  // 1 string to match.
    8398           0 :                 if (memcmp(Mnemonic.data()+10, "q_f32_sdwa", 10) != 0)
    8399             :                   break;
    8400           0 :                 Mnemonic = "v_cmpsx_neq_f32";  // "v_cmpsx_neq_f32_sdwa"
    8401           0 :                 return;
    8402           0 :               case 'g':  // 2 strings to match.
    8403           0 :                 switch (Mnemonic[10]) {
    8404             :                 default: break;
    8405           0 :                 case 'e':        // 1 string to match.
    8406           0 :                   if (memcmp(Mnemonic.data()+11, "_f32_sdwa", 9) != 0)
    8407             :                     break;
    8408           0 :                   Mnemonic = "v_cmpsx_nge_f32";        // "v_cmpsx_nge_f32_sdwa"
    8409           0 :                   return;
    8410           0 :                 case 't':        // 1 string to match.
    8411           0 :                   if (memcmp(Mnemonic.data()+11, "_f32_sdwa", 9) != 0)
    8412             :                     break;
    8413           0 :                   Mnemonic = "v_cmpsx_ngt_f32";        // "v_cmpsx_ngt_f32_sdwa"
    8414           0 :                   return;
    8415             :                 }
    8416             :                 break;
    8417           0 :               case 'l':  // 3 strings to match.
    8418           0 :                 switch (Mnemonic[10]) {
    8419             :                 default: break;
    8420           0 :                 case 'e':        // 1 string to match.
    8421           0 :                   if (memcmp(Mnemonic.data()+11, "_f32_sdwa", 9) != 0)
    8422             :                     break;
    8423           0 :                   Mnemonic = "v_cmpsx_nle_f32";        // "v_cmpsx_nle_f32_sdwa"
    8424           0 :                   return;
    8425           0 :                 case 'g':        // 1 string to match.
    8426           0 :                   if (memcmp(Mnemonic.data()+11, "_f32_sdwa", 9) != 0)
    8427             :                     break;
    8428           0 :                   Mnemonic = "v_cmpsx_nlg_f32";        // "v_cmpsx_nlg_f32_sdwa"
    8429           0 :                   return;
    8430           0 :                 case 't':        // 1 string to match.
    8431           0 :                   if (memcmp(Mnemonic.data()+11, "_f32_sdwa", 9) != 0)
    8432             :                     break;
    8433           0 :                   Mnemonic = "v_cmpsx_nlt_f32";        // "v_cmpsx_nlt_f32_sdwa"
    8434           0 :                   return;
    8435             :                 }
    8436             :                 break;
    8437             :               }
    8438             :               break;
    8439           0 :             case 't':    // 1 string to match.
    8440           0 :               if (memcmp(Mnemonic.data()+9, "ru_f32_sdwa", 11) != 0)
    8441             :                 break;
    8442           0 :               Mnemonic = "v_cmpsx_tru_f32";    // "v_cmpsx_tru_f32_sdwa"
    8443           0 :               return;
    8444             :             }
    8445             :             break;
    8446             :           }
    8447             :           break;
    8448           0 :         case 'l':        // 1 string to match.
    8449           0 :           if (memcmp(Mnemonic.data()+3, "og_clamp_f32_sdwa", 17) != 0)
    8450             :             break;
    8451           0 :           Mnemonic = "v_log_clamp_f32";        // "v_log_clamp_f32_sdwa"
    8452           0 :           return;
    8453           0 :         case 'r':        // 3 strings to match.
    8454           0 :           switch (Mnemonic[3]) {
    8455             :           default: break;
    8456           0 :           case 'c':      // 2 strings to match.
    8457           0 :             if (memcmp(Mnemonic.data()+4, "p_", 2) != 0)
    8458             :               break;
    8459           0 :             switch (Mnemonic[6]) {
    8460             :             default: break;
    8461           0 :             case 'c':    // 1 string to match.
    8462           0 :               if (memcmp(Mnemonic.data()+7, "lamp_f32_sdwa", 13) != 0)
    8463             :                 break;
    8464           0 :               Mnemonic = "v_rcp_clamp_f32";    // "v_rcp_clamp_f32_sdwa"
    8465           0 :               return;
    8466           0 :             case 'i':    // 1 string to match.
    8467           0 :               if (memcmp(Mnemonic.data()+7, "flag_f32_sdwa", 13) != 0)
    8468             :                 break;
    8469           0 :               Mnemonic = "v_rcp_iflag_f32";    // "v_rcp_iflag_f32_sdwa"
    8470           0 :               return;
    8471             :             }
    8472             :             break;
    8473           0 :           case 's':      // 1 string to match.
    8474           0 :             if (memcmp(Mnemonic.data()+4, "q_clamp_f32_sdwa", 16) != 0)
    8475             :               break;
    8476           0 :             Mnemonic = "v_rsq_clamp_f32";      // "v_rsq_clamp_f32_sdwa"
    8477           0 :             return;
    8478             :           }
    8479             :           break;
    8480             :         }
    8481             :         break;
    8482          16 :       case 21:   // 19 strings to match.
    8483          16 :         if (memcmp(Mnemonic.data()+0, "v_", 2) != 0)
    8484             :           break;
    8485           0 :         switch (Mnemonic[2]) {
    8486             :         default: break;
    8487           0 :         case 'c':        // 7 strings to match.
    8488           0 :           switch (Mnemonic[3]) {
    8489             :           default: break;
    8490           0 :           case 'm':      // 2 strings to match.
    8491           0 :             if (memcmp(Mnemonic.data()+4, "px_class_f", 10) != 0)
    8492             :               break;
    8493           0 :             switch (Mnemonic[14]) {
    8494             :             default: break;
    8495           0 :             case '1':    // 1 string to match.
    8496           0 :               if (memcmp(Mnemonic.data()+15, "6_sdwa", 6) != 0)
    8497             :                 break;
    8498           0 :               Mnemonic = "v_cmpx_class_f16";   // "v_cmpx_class_f16_sdwa"
    8499           0 :               return;
    8500           0 :             case '3':    // 1 string to match.
    8501           0 :               if (memcmp(Mnemonic.data()+15, "2_sdwa", 6) != 0)
    8502             :                 break;
    8503           0 :               Mnemonic = "v_cmpx_class_f32";   // "v_cmpx_class_f32_sdwa"
    8504           0 :               return;
    8505             :             }
    8506             :             break;
    8507           0 :           case 'v':      // 5 strings to match.
    8508           0 :             if (memcmp(Mnemonic.data()+4, "t_", 2) != 0)
    8509             :               break;
    8510           0 :             switch (Mnemonic[6]) {
    8511             :             default: break;
    8512           0 :             case 'f':    // 4 strings to match.
    8513           0 :               if (memcmp(Mnemonic.data()+7, "32_ubyte", 8) != 0)
    8514             :                 break;
    8515           0 :               switch (Mnemonic[15]) {
    8516             :               default: break;
    8517           0 :               case '0':  // 1 string to match.
    8518           0 :                 if (memcmp(Mnemonic.data()+16, "_sdwa", 5) != 0)
    8519             :                   break;
    8520           0 :                 Mnemonic = "v_cvt_f32_ubyte0";         // "v_cvt_f32_ubyte0_sdwa"
    8521           0 :                 return;
    8522           0 :               case '1':  // 1 string to match.
    8523           0 :                 if (memcmp(Mnemonic.data()+16, "_sdwa", 5) != 0)
    8524             :                   break;
    8525           0 :                 Mnemonic = "v_cvt_f32_ubyte1";         // "v_cvt_f32_ubyte1_sdwa"
    8526           0 :                 return;
    8527           0 :               case '2':  // 1 string to match.
    8528           0 :                 if (memcmp(Mnemonic.data()+16, "_sdwa", 5) != 0)
    8529             :                   break;
    8530           0 :                 Mnemonic = "v_cvt_f32_ubyte2";         // "v_cvt_f32_ubyte2_sdwa"
    8531           0 :                 return;
    8532           0 :               case '3':  // 1 string to match.
    8533           0 :                 if (memcmp(Mnemonic.data()+16, "_sdwa", 5) != 0)
    8534             :                   break;
    8535           0 :                 Mnemonic = "v_cvt_f32_ubyte3";         // "v_cvt_f32_ubyte3_sdwa"
    8536           0 :                 return;
    8537             :               }
    8538             :               break;
    8539           0 :             case 'o':    // 1 string to match.
    8540           0 :               if (memcmp(Mnemonic.data()+7, "ff_f32_i4_sdwa", 14) != 0)
    8541             :                 break;
    8542           0 :               Mnemonic = "v_cvt_off_f32_i4";   // "v_cvt_off_f32_i4_sdwa"
    8543           0 :               return;
    8544             :             }
    8545             :             break;
    8546             :           }
    8547             :           break;
    8548           0 :         case 'e':        // 1 string to match.
    8549           0 :           if (memcmp(Mnemonic.data()+3, "xp_legacy_f32_sdwa", 18) != 0)
    8550             :             break;
    8551           0 :           Mnemonic = "v_exp_legacy_f32";       // "v_exp_legacy_f32_sdwa"
    8552           0 :           return;
    8553           0 :         case 'f':        // 2 strings to match.
    8554           0 :           if (memcmp(Mnemonic.data()+3, "rexp_mant_f", 11) != 0)
    8555             :             break;
    8556           0 :           switch (Mnemonic[14]) {
    8557             :           default: break;
    8558           0 :           case '1':      // 1 string to match.
    8559           0 :             if (memcmp(Mnemonic.data()+15, "6_sdwa", 6) != 0)
    8560             :               break;
    8561           0 :             Mnemonic = "v_frexp_mant_f16";     // "v_frexp_mant_f16_sdwa"
    8562           0 :             return;
    8563           0 :           case '3':      // 1 string to match.
    8564           0 :             if (memcmp(Mnemonic.data()+15, "2_sdwa", 6) != 0)
    8565             :               break;
    8566           0 :             Mnemonic = "v_frexp_mant_f32";     // "v_frexp_mant_f32_sdwa"
    8567           0 :             return;
    8568             :           }
    8569             :           break;
    8570           0 :         case 'l':        // 1 string to match.
    8571           0 :           if (memcmp(Mnemonic.data()+3, "og_legacy_f32_sdwa", 18) != 0)
    8572             :             break;
    8573           0 :           Mnemonic = "v_log_legacy_f32";       // "v_log_legacy_f32_sdwa"
    8574           0 :           return;
    8575           0 :         case 'm':        // 6 strings to match.
    8576           0 :           switch (Mnemonic[3]) {
    8577             :           default: break;
    8578           0 :           case 'a':      // 2 strings to match.
    8579           0 :             switch (Mnemonic[4]) {
    8580             :             default: break;
    8581           0 :             case 'c':    // 1 string to match.
    8582           0 :               if (memcmp(Mnemonic.data()+5, "_legacy_f32_sdwa", 16) != 0)
    8583             :                 break;
    8584           0 :               Mnemonic = "v_mac_legacy_f32";   // "v_mac_legacy_f32_sdwa"
    8585           0 :               return;
    8586           0 :             case 'x':    // 1 string to match.
    8587           0 :               if (memcmp(Mnemonic.data()+5, "_legacy_f32_sdwa", 16) != 0)
    8588             :                 break;
    8589           0 :               Mnemonic = "v_max_legacy_f32";   // "v_max_legacy_f32_sdwa"
    8590           0 :               return;
    8591             :             }
    8592             :             break;
    8593           0 :           case 'i':      // 1 string to match.
    8594           0 :             if (memcmp(Mnemonic.data()+4, "n_legacy_f32_sdwa", 17) != 0)
    8595             :               break;
    8596           0 :             Mnemonic = "v_min_legacy_f32";     // "v_min_legacy_f32_sdwa"
    8597           0 :             return;
    8598           0 :           case 'u':      // 3 strings to match.
    8599           0 :             if (memcmp(Mnemonic.data()+4, "l_", 2) != 0)
    8600             :               break;
    8601           0 :             switch (Mnemonic[6]) {
    8602             :             default: break;
    8603           0 :             case 'h':    // 2 strings to match.
    8604           0 :               if (memcmp(Mnemonic.data()+7, "i_", 2) != 0)
    8605             :                 break;
    8606           0 :               switch (Mnemonic[9]) {
    8607             :               default: break;
    8608           0 :               case 'i':  // 1 string to match.
    8609           0 :                 if (memcmp(Mnemonic.data()+10, "32_i24_sdwa", 11) != 0)
    8610             :                   break;
    8611           0 :                 Mnemonic = "v_mul_hi_i32_i24";         // "v_mul_hi_i32_i24_sdwa"
    8612           0 :                 return;
    8613           0 :               case 'u':  // 1 string to match.
    8614           0 :                 if (memcmp(Mnemonic.data()+10, "32_u24_sdwa", 11) != 0)
    8615             :                   break;
    8616           0 :                 Mnemonic = "v_mul_hi_u32_u24";         // "v_mul_hi_u32_u24_sdwa"
    8617           0 :                 return;
    8618             :               }
    8619             :               break;
    8620           0 :             case 'l':    // 1 string to match.
    8621           0 :               if (memcmp(Mnemonic.data()+7, "egacy_f32_sdwa", 14) != 0)
    8622             :                 break;
    8623           0 :               Mnemonic = "v_mul_legacy_f32";   // "v_mul_legacy_f32_sdwa"
    8624           0 :               return;
    8625             :             }
    8626             :             break;
    8627             :           }
    8628             :           break;
    8629           0 :         case 'r':        // 2 strings to match.
    8630           0 :           switch (Mnemonic[3]) {
    8631             :           default: break;
    8632           0 :           case 'c':      // 1 string to match.
    8633           0 :             if (memcmp(Mnemonic.data()+4, "p_legacy_f32_sdwa", 17) != 0)
    8634             :               break;
    8635           0 :             Mnemonic = "v_rcp_legacy_f32";     // "v_rcp_legacy_f32_sdwa"
    8636           0 :             return;
    8637           0 :           case 's':      // 1 string to match.
    8638           0 :             if (memcmp(Mnemonic.data()+4, "q_legacy_f32_sdwa", 17) != 0)
    8639             :               break;
    8640           0 :             Mnemonic = "v_rsq_legacy_f32";     // "v_rsq_legacy_f32_sdwa"
    8641           0 :             return;
    8642             :           }
    8643             :           break;
    8644             :         }
    8645             :         break;
    8646          43 :       case 22:   // 2 strings to match.
    8647          43 :         if (memcmp(Mnemonic.data()+0, "v_cvt_", 6) != 0)
    8648             :           break;
    8649           0 :         switch (Mnemonic[6]) {
    8650             :         default: break;
    8651           0 :         case 'f':        // 1 string to match.
    8652           0 :           if (memcmp(Mnemonic.data()+7, "lr_i32_f32_sdwa", 15) != 0)
    8653             :             break;
    8654           0 :           Mnemonic = "v_cvt_flr_i32_f32";      // "v_cvt_flr_i32_f32_sdwa"
    8655           0 :           return;
    8656           0 :         case 'r':        // 1 string to match.
    8657           0 :           if (memcmp(Mnemonic.data()+7, "pi_i32_f32_sdwa", 15) != 0)
    8658             :             break;
    8659           0 :           Mnemonic = "v_cvt_rpi_i32_f32";      // "v_cvt_rpi_i32_f32_sdwa"
    8660           0 :           return;
    8661             :         }
    8662             :         break;
    8663           9 :       case 24:   // 2 strings to match.
    8664           9 :         if (memcmp(Mnemonic.data()+0, "v_frexp_exp_i", 13) != 0)
    8665             :           break;
    8666           0 :         switch (Mnemonic[13]) {
    8667             :         default: break;
    8668           0 :         case '1':        // 1 string to match.
    8669           0 :           if (memcmp(Mnemonic.data()+14, "6_f16_sdwa", 10) != 0)
    8670             :             break;
    8671           0 :           Mnemonic = "v_frexp_exp_i16_f16";    // "v_frexp_exp_i16_f16_sdwa"
    8672           0 :           return;
    8673           0 :         case '3':        // 1 string to match.
    8674           0 :           if (memcmp(Mnemonic.data()+14, "2_f32_sdwa", 10) != 0)
    8675             :             break;
    8676           0 :           Mnemonic = "v_frexp_exp_i32_f32";    // "v_frexp_exp_i32_f32_sdwa"
    8677           0 :           return;
    8678             :         }
    8679             :         break;
    8680             :       }
    8681             :     break;
    8682             :     case 3:
    8683             :     break;
    8684             :     case 4:
    8685             :     break;
    8686             :   }
    8687      145653 :   switch (Mnemonic.size()) {
    8688             :   default: break;
    8689       26975 :   case 9:        // 2 strings to match.
    8690       26975 :     if (memcmp(Mnemonic.data()+0, "v_", 2) != 0)
    8691             :       break;
    8692       45348 :     switch (Mnemonic[2]) {
    8693             :     default: break;
    8694        3168 :     case 'a':    // 1 string to match.
    8695        3168 :       if (memcmp(Mnemonic.data()+3, "dd_u32", 6) != 0)
    8696             :         break;
    8697         194 :       if ((Features & Feature_NotHasAddNoCarryInsts) == Feature_NotHasAddNoCarryInsts)       // "v_add_u32"
    8698         185 :         Mnemonic = "v_add_i32";
    8699             :       return;
    8700        2939 :     case 's':    // 1 string to match.
    8701        2939 :       if (memcmp(Mnemonic.data()+3, "ub_u32", 6) != 0)
    8702             :         break;
    8703         183 :       if ((Features & Feature_NotHasAddNoCarryInsts) == Feature_NotHasAddNoCarryInsts)       // "v_sub_u32"
    8704         176 :         Mnemonic = "v_sub_i32";
    8705             :       return;
    8706             :     }
    8707             :     break;
    8708       24785 :   case 12:       // 1 string to match.
    8709       24785 :     if (memcmp(Mnemonic.data()+0, "v_subrev_u32", 12) != 0)
    8710             :       break;
    8711         183 :     if ((Features & Feature_NotHasAddNoCarryInsts) == Feature_NotHasAddNoCarryInsts)         // "v_subrev_u32"
    8712         176 :       Mnemonic = "v_subrev_i32";
    8713             :     return;
    8714             :   }
    8715             : }
    8716             : 
    8717             : namespace {
    8718             : enum OperatorConversionKind {
    8719             :   CVT_Done,
    8720             :   CVT_Reg,
    8721             :   CVT_Tied,
    8722             :   CVT_95_addImmOperands,
    8723             :   CVT_95_Reg,
    8724             :   CVT_imm_95_0,
    8725             :   CVT_cvtMubufAtomic,
    8726             :   CVT_cvtMubufAtomicReturn,
    8727             :   CVT_cvtMubuf,
    8728             :   CVT_cvtDS,
    8729             :   CVT_cvtDSGds,
    8730             :   CVT_cvtDSOffset01,
    8731             :   CVT_cvtExp,
    8732             :   CVT_95_addImmOperands_95_defaultOffsetU12,
    8733             :   CVT_95_addImmOperands_95_defaultSLC,
    8734             :   CVT_95_addImmOperands_95_defaultGLC,
    8735             :   CVT_95_addImmOperands_95_defaultOffsetS13,
    8736             :   CVT_cvtMIMGAtomic,
    8737             :   CVT_95_addImmOperands_95_defaultDMask,
    8738             :   CVT_95_addImmOperands_95_defaultUNorm,
    8739             :   CVT_95_addImmOperands_95_defaultR128,
    8740             :   CVT_95_addImmOperands_95_defaultTFE,
    8741             :   CVT_95_addImmOperands_95_defaultLWE,
    8742             :   CVT_95_addImmOperands_95_defaultDA,
    8743             :   CVT_cvtMIMG,
    8744             :   CVT_95_addRegOrImmOperands,
    8745             :   CVT_95_addSoppBrTargetOperands,
    8746             :   CVT_95_addImmOperands_95_defaultSMRDOffset8,
    8747             :   CVT_95_addImmOperands_95_defaultSMRDOffset20,
    8748             :   CVT_95_addImmOperands_95_defaultSMRDLiteralOffset,
    8749             :   CVT_cvtMtbuf,
    8750             :   CVT_cvtVOP3,
    8751             :   CVT_cvtDPP,
    8752             :   CVT_cvtSdwaVOP2,
    8753             :   CVT_cvtVOP3OpSel,
    8754             :   CVT_95_addImmOperands_95_defaultRowMask,
    8755             :   CVT_95_addImmOperands_95_defaultBankMask,
    8756             :   CVT_95_addImmOperands_95_defaultBoundCtrl,
    8757             :   CVT_cvtSdwaVOP2b,
    8758             :   CVT_cvtSdwaVOP1,
    8759             :   CVT_cvtSdwaVOPC,
    8760             :   CVT_cvtVOP3Interp,
    8761             :   CVT_cvtVOP3P_95_NotPacked,
    8762             :   CVT_95_addKImmFP16Operands,
    8763             :   CVT_95_addKImmFP32Operands,
    8764             :   CVT_cvtVOP3P,
    8765             :   CVT_NUM_CONVERTERS
    8766             : };
    8767             : 
    8768             : enum InstructionConversionKind {
    8769             :   Convert_NoOperands,
    8770             :   Convert__Imm1_1,
    8771             :   Convert__Imm1_1__Imm1_3,
    8772             :   Convert__Reg1_2__Imm1_0,
    8773             :   Convert__Reg1_4__imm_95_0__Imm1_0__Reg1_1__Reg1_2,
    8774             :   Convert__Reg1_0,
    8775             :   Convert__Imm1_2__Imm1_0,
    8776             :   ConvertCustom_cvtMubufAtomic,
    8777             :   ConvertCustom_cvtMubufAtomicReturn,
    8778             :   ConvertCustom_cvtMubuf,
    8779             :   ConvertCustom_cvtDS,
    8780             :   ConvertCustom_cvtDSGds,
    8781             :   ConvertCustom_cvtDSOffset01,
    8782             :   ConvertCustom_cvtExp,
    8783             :   Convert__Reg1_0__Reg1_1__ImmOffsetU121_2__ImmSLC1_3,
    8784             :   Convert__Reg1_0__Reg1_1__Reg1_2__ImmOffsetU121_3__ImmSLC1_5,
    8785             :   Convert__Reg1_0__Reg1_1__ImmOffsetU121_2__ImmGLC1_3__ImmSLC1_4,
    8786             :   Convert__Reg1_0__Reg1_1__ImmOffsetS131_3__ImmSLC1_4,
    8787             :   Convert__Reg1_0__Reg1_1__Reg1_2__ImmOffsetS131_3__ImmSLC1_4,
    8788             :   Convert__Reg1_0__Reg1_1__Reg1_2__ImmOffsetS131_4__ImmSLC1_6,
    8789             :   Convert__Reg1_0__Reg1_1__Reg1_2__Reg1_3__ImmOffsetS131_4__ImmSLC1_6,
    8790             :   Convert__Reg1_0__Reg1_1__ImmOffsetS131_3__ImmGLC1_4__ImmSLC1_5,
    8791             :   Convert__Reg1_0__Reg1_1__Reg1_2__ImmOffsetS131_3__ImmGLC1_4__ImmSLC1_5,
    8792             :   ConvertCustom_cvtMIMGAtomic,
    8793             :   Convert__Reg1_0__Reg1_1__Reg1_2__Reg1_3__ImmDMask1_4__ImmUNorm1_5__ImmGLC1_6__ImmSLC1_7__ImmR1281_8__ImmTFE1_9__ImmLWE1_10__ImmDA1_11,
    8794             :   ConvertCustom_cvtMIMG,
    8795             :   Convert__Reg1_0__SSrcB321_1,
    8796             :   Convert__Reg1_0__SSrcB321_1__SSrcB321_2,
    8797             :   Convert__Reg1_0__Tie0__S16Imm1_1,
    8798             :   Convert__Reg1_0__SSrcB641_1__SSrcB641_2,
    8799             :   Convert__Reg1_0__SSrcB641_1,
    8800             :   Convert__Reg1_0__SSrcB641_1__SSrcB321_2,
    8801             :   Convert__SSrcB321_0__SSrcB321_1,
    8802             :   Convert__SSrcB641_0__SSrcB321_1,
    8803             :   Convert__SoppBrTarget1_0,
    8804             :   Convert__Reg1_0__Reg1_1__Reg1_2__ImmGLC1_3,
    8805             :   Convert__Reg1_0__Reg1_1__ImmSMRDOffset81_2__ImmGLC1_3,
    8806             :   Convert__Reg1_0__Reg1_1__ImmSMRDOffset201_2__ImmGLC1_3,
    8807             :   Convert__Reg1_0__Reg1_1__ImmSMRDLiteralOffset1_2__ImmGLC1_3,
    8808             :   Convert__SCSrcB641_0__SCSrcB641_1,
    8809             :   Convert__Reg1_0__S16Imm1_1,
    8810             :   Convert__SSrcB641_0__SSrcB641_1,
    8811             :   Convert__Reg1_0__U16Imm1_1,
    8812             :   Convert__Imm1_0,
    8813             :   Convert__Reg1_0__ImmHwreg1_1,
    8814             :   Convert__SendMsg1_0,
    8815             :   Convert__SSrcB321_0,
    8816             :   Convert__GPRIdxMode1_0,
    8817             :   Convert__SSrcB321_0__GPRIdxMode1_1,
    8818             :   Convert__Reg1_1__ImmHwreg1_0,
    8819             :   Convert__Imm1_1__ImmHwreg1_0,
    8820             :   Convert__SWaitCnt1_0,
    8821             :   Convert__Reg1_0__Reg1_2__ImmOffsetS131_3__ImmGLC1_4__ImmSLC1_5,
    8822             :   Convert__Reg1_1__Reg1_2__ImmOffsetS131_3__ImmGLC1_4__ImmSLC1_5,
    8823             :   Convert__Reg1_1__Reg1_0__ImmOffsetS131_3__ImmGLC1_4__ImmSLC1_5,
    8824             :   ConvertCustom_cvtMtbuf,
    8825             :   Convert__Reg1_0__VCSrcB321_1__VCSrcB321_2__VCSrcB321_3,
    8826             :   Convert__Reg1_0__VSrcF161_1__Reg1_2,
    8827             :   ConvertCustom_cvtVOP3,
    8828             :   ConvertCustom_cvtDPP,
    8829             :   ConvertCustom_cvtSdwaVOP2,
    8830             :   Convert__Reg1_0__VSrcF321_1__Reg1_2,
    8831             :   ConvertCustom_cvtVOP3OpSel,
    8832             :   Convert__Reg1_0__VSrcB321_2__Reg1_3,
    8833             :   Convert__Reg1_0__Reg1_1__VCSrcB321_2__VCSrcB321_3,
    8834             :   Convert__Reg1_0__Tie0__Reg1_2__Reg1_3__ImmDPPCtrl1_4__ImmRowMask1_5__ImmBankMask1_6__ImmBoundCtrl1_7,
    8835             :   ConvertCustom_cvtSdwaVOP2b,
    8836             :   Convert__Reg1_0__VCSrcB161_1__VCSrcB161_2,
    8837             :   Convert__Reg1_0__VSrcB161_1__Reg1_2,
    8838             :   Convert__Reg1_0__Tie0__Reg1_1__Reg1_2__ImmDPPCtrl1_3__ImmRowMask1_4__ImmBankMask1_5__ImmBoundCtrl1_6,
    8839             :   Convert__Reg1_0__VCSrcB321_1__VCSrcB321_2,
    8840             :   Convert__Reg1_0__VSrcB321_1__Reg1_2,
    8841             :   Convert__Reg1_0__Reg1_1__VSrcB321_2__Reg1_3,
    8842             :   Convert__Reg1_0__VCSrcB321_2__Reg1_3,
    8843             :   Convert__Reg1_0__Reg1_1__VCSrcB321_2__VCSrcB321_3__SCSrcB641_4,
    8844             :   Convert__Reg1_0__Tie0__imm_95_0__Reg1_2__imm_95_0__Reg1_3__ImmDPPCtrl1_5__ImmRowMask1_6__ImmBankMask1_7__ImmBoundCtrl1_8,
    8845             :   Convert__Reg1_0__VCSrcB641_1__VCSrcB321_2,
    8846             :   Convert__Reg1_0__VCSrcB321_1__VCSrcB641_2,
    8847             :   Convert__Reg1_0__VCSrcB321_1,
    8848             :   Convert__Reg1_0__VSrcB321_1,
    8849             :   Convert__Reg1_0__Tie0__Reg1_1__ImmDPPCtrl1_2__ImmRowMask1_3__ImmBankMask1_4__ImmBoundCtrl1_5,
    8850             :   ConvertCustom_cvtSdwaVOP1,
    8851             :   Convert__Reg1_0__VSrcF161_1,
    8852             :   Convert__Reg1_0__VSrcF321_1,
    8853             :   Convert__Reg1_0__VSrcF641_1,
    8854             :   Convert__VSrcF161_1__Reg1_2,
    8855             :   ConvertCustom_cvtSdwaVOPC,
    8856             :   Convert__VSrcF321_1__Reg1_2,
    8857             :   Convert__VSrcF641_1__Reg1_2,
    8858             :   Convert__VSrcB161_1__Reg1_2,
    8859             :   Convert__VSrcB321_1__Reg1_2,
    8860             :   Convert__VSrcB641_1__Reg1_2,
    8861             :   Convert__Reg1_0__VCSrcB641_1__VCSrcB641_2,
    8862             :   Convert__Reg1_0__VCSrcB321_1__Reg1_2,
    8863             :   Convert__Reg1_0__VCSrcB321_1__VCSrcB321_2__SCSrcB641_3,
    8864             :   Convert__Reg1_0__VSrcB161_1,
    8865             :   Convert__Reg1_0__imm_95_0__VCSrcF321_1__imm_95_0__VCSrcF321_2__imm_95_0,
    8866             :   Convert__Reg1_0__Reg1_1__VCSrcF321_2__VCSrcF321_3__VCSrcF321_4,
    8867             :   Convert__Reg1_0__Reg1_1__VCSrcF641_2__VCSrcF641_3__VCSrcF641_4,
    8868             :   Convert__Reg1_0__InterpSlot1_1__Attr1_2__AttrChan1_3,
    8869             :   ConvertCustom_cvtVOP3Interp,
    8870             :   Convert__Reg1_0__Reg1_1__Attr1_2__AttrChan1_3,
    8871             :   Convert__Reg1_0__Tie0__Reg1_1__Attr1_2__AttrChan1_3,
    8872             :   Convert__Reg1_0__imm_95_0__VCSrcF321_1__imm_95_0__VCSrcF321_2__imm_95_0__imm_95_0,
    8873             :   Convert__Reg1_0__VSrcF161_1__Reg1_2__Tie0,
    8874             :   Convert__Reg1_0__VSrcF321_1__Reg1_2__Tie0,
    8875             :   ConvertCustom_cvtVOP3P_NotPacked,
    8876             :   Convert__Reg1_0__VCSrcF321_1__Reg1_2__KImmFP161_3,
    8877             :   Convert__Reg1_0__VCSrcF321_1__Reg1_2__KImmFP321_3,
    8878             :   Convert__Reg1_0__VCSrcF321_1__KImmFP161_2__Reg1_3,
    8879             :   Convert__Reg1_0__VCSrcF321_1__KImmFP321_2__Reg1_3,
    8880             :   Convert__Reg1_0__Reg1_1,
    8881             :   Convert__ImmDPPCtrl1_0__ImmRowMask1_1__ImmBankMask1_2__ImmBoundCtrl1_3,
    8882             :   ConvertCustom_cvtVOP3P,
    8883             :   Convert__Reg1_0__Reg1_1__SCSrcB321_2,
    8884             :   Convert__Reg1_0__Reg1_1__Tie1__Tie0,
    8885             :   Convert__Reg1_0__SCSrcB321_1__SCSrcB321_2,
    8886             :   Convert__Reg1_0__SSrcB321_1__SCSrcB321_2,
    8887             :   CVT_NUM_SIGNATURES
    8888             : };
    8889             : 
    8890             : } // end anonymous namespace
    8891             : 
    8892             : static const uint8_t ConversionTable[CVT_NUM_SIGNATURES][25] = {
    8893             :   // Convert_NoOperands
    8894             :   { CVT_Done },
    8895             :   // Convert__Imm1_1
    8896             :   { CVT_95_addImmOperands, 2, CVT_Done },
    8897             :   // Convert__Imm1_1__Imm1_3
    8898             :   { CVT_95_addImmOperands, 2, CVT_95_addImmOperands, 4, CVT_Done },
    8899             :   // Convert__Reg1_2__Imm1_0
    8900             :   { CVT_95_Reg, 3, CVT_95_addImmOperands, 1, CVT_Done },
    8901             :   // Convert__Reg1_4__imm_95_0__Imm1_0__Reg1_1__Reg1_2
    8902             :   { CVT_95_Reg, 5, CVT_imm_95_0, 0, CVT_95_addImmOperands, 1, CVT_95_Reg, 2, CVT_95_Reg, 3, CVT_Done },
    8903             :   // Convert__Reg1_0
    8904             :   { CVT_95_Reg, 1, CVT_Done },
    8905             :   // Convert__Imm1_2__Imm1_0
    8906             :   { CVT_95_addImmOperands, 3, CVT_95_addImmOperands, 1, CVT_Done },
    8907             :   // ConvertCustom_cvtMubufAtomic
    8908             :   { CVT_cvtMubufAtomic, 0, CVT_Done },
    8909             :   // ConvertCustom_cvtMubufAtomicReturn
    8910             :   { CVT_cvtMubufAtomicReturn, 0, CVT_Done },
    8911             :   // ConvertCustom_cvtMubuf
    8912             :   { CVT_cvtMubuf, 0, CVT_Done },
    8913             :   // ConvertCustom_cvtDS
    8914             :   { CVT_cvtDS, 0, CVT_Done },
    8915             :   // ConvertCustom_cvtDSGds
    8916             :   { CVT_cvtDSGds, 0, CVT_Done },
    8917             :   // ConvertCustom_cvtDSOffset01
    8918             :   { CVT_cvtDSOffset01, 0, CVT_Done },
    8919             :   // ConvertCustom_cvtExp
    8920             :   { CVT_cvtExp, 0, CVT_Done },
    8921             :   // Convert__Reg1_0__Reg1_1__ImmOffsetU121_2__ImmSLC1_3
    8922             :   { CVT_95_Reg, 1, CVT_95_Reg, 2, CVT_95_addImmOperands_95_defaultOffsetU12, 3, CVT_95_addImmOperands_95_defaultSLC, 4, CVT_Done },
    8923             :   // Convert__Reg1_0__Reg1_1__Reg1_2__ImmOffsetU121_3__ImmSLC1_5
    8924             :   { CVT_95_Reg, 1, CVT_95_Reg, 2, CVT_95_Reg, 3, CVT_95_addImmOperands_95_defaultOffsetU12, 4, CVT_95_addImmOperands_95_defaultSLC, 6, CVT_Done },
    8925             :   // Convert__Reg1_0__Reg1_1__ImmOffsetU121_2__ImmGLC1_3__ImmSLC1_4
    8926             :   { CVT_95_Reg, 1, CVT_95_Reg, 2, CVT_95_addImmOperands_95_defaultOffsetU12, 3, CVT_95_addImmOperands_95_defaultGLC, 4, CVT_95_addImmOperands_95_defaultSLC, 5, CVT_Done },
    8927             :   // Convert__Reg1_0__Reg1_1__ImmOffsetS131_3__ImmSLC1_4
    8928             :   { CVT_95_Reg, 1, CVT_95_Reg, 2, CVT_95_addImmOperands_95_defaultOffsetS13, 4, CVT_95_addImmOperands_95_defaultSLC, 5, CVT_Done },
    8929             :   // Convert__Reg1_0__Reg1_1__Reg1_2__ImmOffsetS131_3__ImmSLC1_4
    8930             :   { CVT_95_Reg, 1, CVT_95_Reg, 2, CVT_95_Reg, 3, CVT_95_addImmOperands_95_defaultOffsetS13, 4, CVT_95_addImmOperands_95_defaultSLC, 5, CVT_Done },
    8931             :   // Convert__Reg1_0__Reg1_1__Reg1_2__ImmOffsetS131_4__ImmSLC1_6
    8932             :   { CVT_95_Reg, 1, CVT_95_Reg, 2, CVT_95_Reg, 3, CVT_95_addImmOperands_95_defaultOffsetS13, 5, CVT_95_addImmOperands_95_defaultSLC, 7, CVT_Done },
    8933             :   // Convert__Reg1_0__Reg1_1__Reg1_2__Reg1_3__ImmOffsetS131_4__ImmSLC1_6
    8934             :   { CVT_95_Reg, 1, CVT_95_Reg, 2, CVT_95_Reg, 3, CVT_95_Reg, 4, CVT_95_addImmOperands_95_defaultOffsetS13, 5, CVT_95_addImmOperands_95_defaultSLC, 7, CVT_Done },
    8935             :   // Convert__Reg1_0__Reg1_1__ImmOffsetS131_3__ImmGLC1_4__ImmSLC1_5
    8936             :   { CVT_95_Reg, 1, CVT_95_Reg, 2, CVT_95_addImmOperands_95_defaultOffsetS13, 4, CVT_95_addImmOperands_95_defaultGLC, 5, CVT_95_addImmOperands_95_defaultSLC, 6, CVT_Done },
    8937             :   // Convert__Reg1_0__Reg1_1__Reg1_2__ImmOffsetS131_3__ImmGLC1_4__ImmSLC1_5
    8938             :   { CVT_95_Reg, 1, CVT_95_Reg, 2, CVT_95_Reg, 3, CVT_95_addImmOperands_95_defaultOffsetS13, 4, CVT_95_addImmOperands_95_defaultGLC, 5, CVT_95_addImmOperands_95_defaultSLC, 6, CVT_Done },
    8939             :   // ConvertCustom_cvtMIMGAtomic
    8940             :   { CVT_cvtMIMGAtomic, 0, CVT_Done },
    8941             :   // Convert__Reg1_0__Reg1_1__Reg1_2__Reg1_3__ImmDMask1_4__ImmUNorm1_5__ImmGLC1_6__ImmSLC1_7__ImmR1281_8__ImmTFE1_9__ImmLWE1_10__ImmDA1_11
    8942             :   { CVT_95_Reg, 1, CVT_95_Reg, 2, CVT_95_Reg, 3, CVT_95_Reg, 4, CVT_95_addImmOperands_95_defaultDMask, 5, CVT_95_addImmOperands_95_defaultUNorm, 6, CVT_95_addImmOperands_95_defaultGLC, 7, CVT_95_addImmOperands_95_defaultSLC, 8, CVT_95_addImmOperands_95_defaultR128, 9, CVT_95_addImmOperands_95_defaultTFE, 10, CVT_95_addImmOperands_95_defaultLWE, 11, CVT_95_addImmOperands_95_defaultDA, 12, CVT_Done },
    8943             :   // ConvertCustom_cvtMIMG
    8944             :   { CVT_cvtMIMG, 0, CVT_Done },
    8945             :   // Convert__Reg1_0__SSrcB321_1
    8946             :   { CVT_95_Reg, 1, CVT_95_addRegOrImmOperands, 2, CVT_Done },
    8947             :   // Convert__Reg1_0__SSrcB321_1__SSrcB321_2
    8948             :   { CVT_95_Reg, 1, CVT_95_addRegOrImmOperands, 2, CVT_95_addRegOrImmOperands, 3, CVT_Done },
    8949             :   // Convert__Reg1_0__Tie0__S16Imm1_1
    8950             :   { CVT_95_Reg, 1, CVT_Tied, 0, CVT_95_addImmOperands, 2, CVT_Done },
    8951             :   // Convert__Reg1_0__SSrcB641_1__SSrcB641_2
    8952             :   { CVT_95_Reg, 1, CVT_95_addRegOrImmOperands, 2, CVT_95_addRegOrImmOperands, 3, CVT_Done },
    8953             :   // Convert__Reg1_0__SSrcB641_1
    8954             :   { CVT_95_Reg, 1, CVT_95_addRegOrImmOperands, 2, CVT_Done },
    8955             :   // Convert__Reg1_0__SSrcB641_1__SSrcB321_2
    8956             :   { CVT_95_Reg, 1, CVT_95_addRegOrImmOperands, 2, CVT_95_addRegOrImmOperands, 3, CVT_Done },
    8957             :   // Convert__SSrcB321_0__SSrcB321_1
    8958             :   { CVT_95_addRegOrImmOperands, 1, CVT_95_addRegOrImmOperands, 2, CVT_Done },
    8959             :   // Convert__SSrcB641_0__SSrcB321_1
    8960             :   { CVT_95_addRegOrImmOperands, 1, CVT_95_addRegOrImmOperands, 2, CVT_Done },
    8961             :   // Convert__SoppBrTarget1_0
    8962             :   { CVT_95_addSoppBrTargetOperands, 1, CVT_Done },
    8963             :   // Convert__Reg1_0__Reg1_1__Reg1_2__ImmGLC1_3
    8964             :   { CVT_95_Reg, 1, CVT_95_Reg, 2, CVT_95_Reg, 3, CVT_95_addImmOperands_95_defaultGLC, 4, CVT_Done },
    8965             :   // Convert__Reg1_0__Reg1_1__ImmSMRDOffset81_2__ImmGLC1_3
    8966             :   { CVT_95_Reg, 1, CVT_95_Reg, 2, CVT_95_addImmOperands_95_defaultSMRDOffset8, 3, CVT_95_addImmOperands_95_defaultGLC, 4, CVT_Done },
    8967             :   // Convert__Reg1_0__Reg1_1__ImmSMRDOffset201_2__ImmGLC1_3
    8968             :   { CVT_95_Reg, 1, CVT_95_Reg, 2, CVT_95_addImmOperands_95_defaultSMRDOffset20, 3, CVT_95_addImmOperands_95_defaultGLC, 4, CVT_Done },
    8969             :   // Convert__Reg1_0__Reg1_1__ImmSMRDLiteralOffset1_2__ImmGLC1_3
    8970             :   { CVT_95_Reg, 1, CVT_95_Reg, 2, CVT_95_addImmOperands_95_defaultSMRDLiteralOffset, 3, CVT_95_addImmOperands_95_defaultGLC, 4, CVT_Done },
    8971             :   // Convert__SCSrcB641_0__SCSrcB641_1
    8972             :   { CVT_95_addRegOrImmOperands, 1, CVT_95_addRegOrImmOperands, 2, CVT_Done },
    8973             :   // Convert__Reg1_0__S16Imm1_1
    8974             :   { CVT_95_Reg, 1, CVT_95_addImmOperands, 2, CVT_Done },
    8975             :   // Convert__SSrcB641_0__SSrcB641_1
    8976             :   { CVT_95_addRegOrImmOperands, 1, CVT_95_addRegOrImmOperands, 2, CVT_Done },
    8977             :   // Convert__Reg1_0__U16Imm1_1
    8978             :   { CVT_95_Reg, 1, CVT_95_addImmOperands, 2, CVT_Done },
    8979             :   // Convert__Imm1_0
    8980             :   { CVT_95_addImmOperands, 1, CVT_Done },
    8981             :   // Convert__Reg1_0__ImmHwreg1_1
    8982             :   { CVT_95_Reg, 1, CVT_95_addImmOperands, 2, CVT_Done },
    8983             :   // Convert__SendMsg1_0
    8984             :   { CVT_95_addImmOperands, 1, CVT_Done },
    8985             :   // Convert__SSrcB321_0
    8986             :   { CVT_95_addRegOrImmOperands, 1, CVT_Done },
    8987             :   // Convert__GPRIdxMode1_0
    8988             :   { CVT_95_addImmOperands, 1, CVT_Done },
    8989             :   // Convert__SSrcB321_0__GPRIdxMode1_1
    8990             :   { CVT_95_addRegOrImmOperands, 1, CVT_95_addImmOperands, 2, CVT_Done },
    8991             :   // Convert__Reg1_1__ImmHwreg1_0
    8992             :   { CVT_95_Reg, 2, CVT_95_addImmOperands, 1, CVT_Done },
    8993             :   // Convert__Imm1_1__ImmHwreg1_0
    8994             :   { CVT_95_addImmOperands, 2, CVT_95_addImmOperands, 1, CVT_Done },
    8995             :   // Convert__SWaitCnt1_0
    8996             :   { CVT_95_addImmOperands, 1, CVT_Done },
    8997             :   // Convert__Reg1_0__Reg1_2__ImmOffsetS131_3__ImmGLC1_4__ImmSLC1_5
    8998             :   { CVT_95_Reg, 1, CVT_95_Reg, 3, CVT_95_addImmOperands_95_defaultOffsetS13, 4, CVT_95_addImmOperands_95_defaultGLC, 5, CVT_95_addImmOperands_95_defaultSLC, 6, CVT_Done },
    8999             :   // Convert__Reg1_1__Reg1_2__ImmOffsetS131_3__ImmGLC1_4__ImmSLC1_5
    9000             :   { CVT_95_Reg, 2, CVT_95_Reg, 3, CVT_95_addImmOperands_95_defaultOffsetS13, 4, CVT_95_addImmOperands_95_defaultGLC, 5, CVT_95_addImmOperands_95_defaultSLC, 6, CVT_Done },
    9001             :   // Convert__Reg1_1__Reg1_0__ImmOffsetS131_3__ImmGLC1_4__ImmSLC1_5
    9002             :   { CVT_95_Reg, 2, CVT_95_Reg, 1, CVT_95_addImmOperands_95_defaultOffsetS13, 4, CVT_95_addImmOperands_95_defaultGLC, 5, CVT_95_addImmOperands_95_defaultSLC, 6, CVT_Done },
    9003             :   // ConvertCustom_cvtMtbuf
    9004             :   { CVT_cvtMtbuf, 0, CVT_Done },
    9005             :   // Convert__Reg1_0__VCSrcB321_1__VCSrcB321_2__VCSrcB321_3
    9006             :   { CVT_95_Reg, 1, CVT_95_addRegOrImmOperands, 2, CVT_95_addRegOrImmOperands, 3, CVT_95_addRegOrImmOperands, 4, CVT_Done },
    9007             :   // Convert__Reg1_0__VSrcF161_1__Reg1_2
    9008             :   { CVT_95_Reg, 1, CVT_95_addRegOrImmOperands, 2, CVT_95_Reg, 3, CVT_Done },
    9009             :   // ConvertCustom_cvtVOP3
    9010             :   { CVT_cvtVOP3, 0, CVT_Done },
    9011             :   // ConvertCustom_cvtDPP
    9012             :   { CVT_cvtDPP, 0, CVT_Done },
    9013             :   // ConvertCustom_cvtSdwaVOP2
    9014             :   { CVT_cvtSdwaVOP2, 0, CVT_Done },
    9015             :   // Convert__Reg1_0__VSrcF321_1__Reg1_2
    9016             :   { CVT_95_Reg, 1, CVT_95_addRegOrImmOperands, 2, CVT_95_Reg, 3, CVT_Done },
    9017             :   // ConvertCustom_cvtVOP3OpSel
    9018             :   { CVT_cvtVOP3OpSel, 0, CVT_Done },
    9019             :   // Convert__Reg1_0__VSrcB321_2__Reg1_3
    9020             :   { CVT_95_Reg, 1, CVT_95_addRegOrImmOperands, 3, CVT_95_Reg, 4, CVT_Done },
    9021             :   // Convert__Reg1_0__Reg1_1__VCSrcB321_2__VCSrcB321_3
    9022             :   { CVT_95_Reg, 1, CVT_95_Reg, 2, CVT_95_addRegOrImmOperands, 3, CVT_95_addRegOrImmOperands, 4, CVT_Done },
    9023             :   // Convert__Reg1_0__Tie0__Reg1_2__Reg1_3__ImmDPPCtrl1_4__ImmRowMask1_5__ImmBankMask1_6__ImmBoundCtrl1_7
    9024             :   { CVT_95_Reg, 1, CVT_Tied, 0, CVT_95_Reg, 3, CVT_95_Reg, 4, CVT_95_addImmOperands, 5, CVT_95_addImmOperands_95_defaultRowMask, 6, CVT_95_addImmOperands_95_defaultBankMask, 7, CVT_95_addImmOperands_95_defaultBoundCtrl, 8, CVT_Done },
    9025             :   // ConvertCustom_cvtSdwaVOP2b
    9026             :   { CVT_cvtSdwaVOP2b, 0, CVT_Done },
    9027             :   // Convert__Reg1_0__VCSrcB161_1__VCSrcB161_2
    9028             :   { CVT_95_Reg, 1, CVT_95_addRegOrImmOperands, 2, CVT_95_addRegOrImmOperands, 3, CVT_Done },
    9029             :   // Convert__Reg1_0__VSrcB161_1__Reg1_2
    9030             :   { CVT_95_Reg, 1, CVT_95_addRegOrImmOperands, 2, CVT_95_Reg, 3, CVT_Done },
    9031             :   // Convert__Reg1_0__Tie0__Reg1_1__Reg1_2__ImmDPPCtrl1_3__ImmRowMask1_4__ImmBankMask1_5__ImmBoundCtrl1_6
    9032             :   { CVT_95_Reg, 1, CVT_Tied, 0, CVT_95_Reg, 2, CVT_95_Reg, 3, CVT_95_addImmOperands, 4, CVT_95_addImmOperands_95_defaultRowMask, 5, CVT_95_addImmOperands_95_defaultBankMask, 6, CVT_95_addImmOperands_95_defaultBoundCtrl, 7, CVT_Done },
    9033             :   // Convert__Reg1_0__VCSrcB321_1__VCSrcB321_2
    9034             :   { CVT_95_Reg, 1, CVT_95_addRegOrImmOperands, 2, CVT_95_addRegOrImmOperands, 3, CVT_Done },
    9035             :   // Convert__Reg1_0__VSrcB321_1__Reg1_2
    9036             :   { CVT_95_Reg, 1, CVT_95_addRegOrImmOperands, 2, CVT_95_Reg, 3, CVT_Done },
    9037             :   // Convert__Reg1_0__Reg1_1__VSrcB321_2__Reg1_3
    9038             :   { CVT_95_Reg, 1, CVT_95_Reg, 2, CVT_95_addRegOrImmOperands, 3, CVT_95_Reg, 4, CVT_Done },
    9039             :   // Convert__Reg1_0__VCSrcB321_2__Reg1_3
    9040             :   { CVT_95_Reg, 1, CVT_95_addRegOrImmOperands, 3, CVT_95_Reg, 4, CVT_Done },
    9041             :   // Convert__Reg1_0__Reg1_1__VCSrcB321_2__VCSrcB321_3__SCSrcB641_4
    9042             :   { CVT_95_Reg, 1, CVT_95_Reg, 2, CVT_95_addRegOrImmOperands, 3, CVT_95_addRegOrImmOperands, 4, CVT_95_addRegOrImmOperands, 5, CVT_Done },
    9043             :   // Convert__Reg1_0__Tie0__imm_95_0__Reg1_2__imm_95_0__Reg1_3__ImmDPPCtrl1_5__ImmRowMask1_6__ImmBankMask1_7__ImmBoundCtrl1_8
    9044             :   { CVT_95_Reg, 1, CVT_Tied, 0, CVT_imm_95_0, 0, CVT_95_Reg, 3, CVT_imm_95_0, 0, CVT_95_Reg, 4, CVT_95_addImmOperands, 6, CVT_95_addImmOperands_95_defaultRowMask, 7, CVT_95_addImmOperands_95_defaultBankMask, 8, CVT_95_addImmOperands_95_defaultBoundCtrl, 9, CVT_Done },
    9045             :   // Convert__Reg1_0__VCSrcB641_1__VCSrcB321_2
    9046             :   { CVT_95_Reg, 1, CVT_95_addRegOrImmOperands, 2, CVT_95_addRegOrImmOperands, 3, CVT_Done },
    9047             :   // Convert__Reg1_0__VCSrcB321_1__VCSrcB641_2
    9048             :   { CVT_95_Reg, 1, CVT_95_addRegOrImmOperands, 2, CVT_95_addRegOrImmOperands, 3, CVT_Done },
    9049             :   // Convert__Reg1_0__VCSrcB321_1
    9050             :   { CVT_95_Reg, 1, CVT_95_addRegOrImmOperands, 2, CVT_Done