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: 870 5259 16.5 %
Date: 2018-06-17 00:07:59 Functions: 11 12 91.7 %
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,
      23             :                                 bool matchingInlineAsm,
      24             :                                 unsigned VariantID = 0);
      25             :   OperandMatchResultTy MatchOperandParserImpl(
      26             :     OperandVector &Operands,
      27             :     StringRef Mnemonic,
      28             :     bool ParseForAllFeatures = false);
      29             :   OperandMatchResultTy tryCustomParseOperand(
      30             :     OperandVector &Operands,
      31             :     unsigned MCK);
      32             : 
      33             : #endif // GET_ASSEMBLER_HEADER_INFO
      34             : 
      35             : 
      36             : #ifdef GET_OPERAND_DIAGNOSTIC_TYPES
      37             : #undef GET_OPERAND_DIAGNOSTIC_TYPES
      38             : 
      39             : #endif // GET_OPERAND_DIAGNOSTIC_TYPES
      40             : 
      41             : 
      42             : #ifdef GET_REGISTER_MATCHER
      43             : #undef GET_REGISTER_MATCHER
      44             : 
      45             : // Flags for subtarget features that participate in instruction matching.
      46             : enum SubtargetFeatureFlag : uint32_t {
      47             :   Feature_isSICI = (1ULL << 29),
      48             :   Feature_isVI = (1ULL << 30),
      49             :   Feature_isGFX9 = (1ULL << 27),
      50             :   Feature_isCIVI = (1ULL << 25),
      51             :   Feature_HasFlatAddressSpace = (1ULL << 8),
      52             :   Feature_HasFlatGlobalInsts = (1ULL << 9),
      53             :   Feature_HasFlatScratchInsts = (1ULL << 10),
      54             :   Feature_HasD16LoadStore = (1ULL << 4),
      55             :   Feature_HasUnpackedD16VMem = (1ULL << 19),
      56             :   Feature_HasPackedD16VMem = (1ULL << 15),
      57             :   Feature_D16PreservesUnusedBits = (1ULL << 0),
      58             :   Feature_HasDSAddTid = (1ULL << 7),
      59             :   Feature_HasAddNoCarryInsts = (1ULL << 3),
      60             :   Feature_NotHasAddNoCarryInsts = (1ULL << 22),
      61             :   Feature_Has16BitInsts = (1ULL << 2),
      62             :   Feature_HasVOP3PInsts = (1ULL << 21),
      63             :   Feature_NotHasVOP3PInsts = (1ULL << 23),
      64             :   Feature_HasSDWA = (1ULL << 16),
      65             :   Feature_HasSDWA9 = (1ULL << 17),
      66             :   Feature_HasDPP = (1ULL << 6),
      67             :   Feature_HasIntClamp = (1ULL << 12),
      68             :   Feature_HasMadMixInsts = (1ULL << 13),
      69             :   Feature_HasScalarAtomics = (1ULL << 18),
      70             :   Feature_HasVGPRIndexMode = (1ULL << 20),
      71             :   Feature_HasMovrel = (1ULL << 14),
      72             :   Feature_HasFmaMixInsts = (1ULL << 11),
      73             :   Feature_HasDLInsts = (1ULL << 5),
      74             :   Feature_isCIOnly = (1ULL << 24),
      75             :   Feature_isVIOnly = (1ULL << 31),
      76             :   Feature_DisableInst = (1ULL << 1),
      77             :   Feature_isGCN = (1ULL << 26),
      78             :   Feature_isSI = (1ULL << 28),
      79             :   Feature_None = 0
      80             : };
      81             : 
      82             : #endif // GET_REGISTER_MATCHER
      83             : 
      84             : 
      85             : #ifdef GET_SUBTARGET_FEATURE_NAME
      86             : #undef GET_SUBTARGET_FEATURE_NAME
      87             : 
      88             : // User-level names for subtarget features that participate in
      89             : // instruction matching.
      90             : static const char *getSubtargetFeatureName(uint64_t Val) {
      91             :   switch(Val) {
      92             :   case Feature_isSICI: return "";
      93             :   case Feature_isVI: return "";
      94             :   case Feature_isGFX9: return "";
      95             :   case Feature_isCIVI: return "";
      96             :   case Feature_HasFlatAddressSpace: return "";
      97             :   case Feature_HasFlatGlobalInsts: return "";
      98             :   case Feature_HasFlatScratchInsts: return "";
      99             :   case Feature_HasD16LoadStore: return "";
     100             :   case Feature_HasUnpackedD16VMem: return "";
     101             :   case Feature_HasPackedD16VMem: return "";
     102             :   case Feature_D16PreservesUnusedBits: return "";
     103             :   case Feature_HasDSAddTid: return "";
     104             :   case Feature_HasAddNoCarryInsts: return "";
     105             :   case Feature_NotHasAddNoCarryInsts: return "";
     106             :   case Feature_Has16BitInsts: return "";
     107             :   case Feature_HasVOP3PInsts: return "";
     108             :   case Feature_NotHasVOP3PInsts: return "";
     109             :   case Feature_HasSDWA: return "";
     110             :   case Feature_HasSDWA9: return "";
     111             :   case Feature_HasDPP: return "";
     112             :   case Feature_HasIntClamp: return "";
     113             :   case Feature_HasMadMixInsts: return "";
     114             :   case Feature_HasScalarAtomics: return "";
     115             :   case Feature_HasVGPRIndexMode: return "";
     116             :   case Feature_HasMovrel: return "";
     117             :   case Feature_HasFmaMixInsts: return "";
     118             :   case Feature_HasDLInsts: return "";
     119             :   case Feature_isCIOnly: return "";
     120             :   case Feature_isVIOnly: return "";
     121             :   case Feature_DisableInst: return "";
     122             :   case Feature_isGCN: return "";
     123             :   case Feature_isSI: return "";
     124             :   default: return "(unknown)";
     125             :   }
     126             : }
     127             : 
     128             : #endif // GET_SUBTARGET_FEATURE_NAME
     129             : 
     130             : 
     131             : #ifdef GET_MATCHER_IMPLEMENTATION
     132             : #undef GET_MATCHER_IMPLEMENTATION
     133             : 
     134      216669 : static void applyMnemonicAliases(StringRef &Mnemonic, uint64_t Features, unsigned VariantID) {
     135      216669 :   switch (VariantID) {
     136             :     case 0:
     137       86573 :       switch (Mnemonic.size()) {
     138             :       default: break;
     139             :       case 9:    // 1 string to match.
     140       14492 :         if (memcmp(Mnemonic.data()+0, "v_nop_e32", 9) != 0)
     141             :           break;
     142           0 :         Mnemonic = "v_nop";    // "v_nop_e32"
     143           0 :         return;
     144             :       case 10:   // 1 string to match.
     145        9021 :         if (memcmp(Mnemonic.data()+0, "v_swap_b32", 10) != 0)
     146             :           break;
     147          29 :         Mnemonic = "v_swap_b32";       // "v_swap_b32"
     148          29 :         return;
     149             :       case 11:   // 4 strings to match.
     150        5025 :         if (memcmp(Mnemonic.data()+0, "v_mad", 5) != 0)
     151             :           break;
     152         176 :         switch (Mnemonic[5]) {
     153             :         default: break;
     154             :         case 'a':        // 2 strings to match.
     155          93 :           if (memcmp(Mnemonic.data()+6, "k_f", 3) != 0)
     156             :             break;
     157          93 :           switch (Mnemonic[9]) {
     158             :           default: break;
     159          35 :           case '1':      // 1 string to match.
     160          35 :             if (Mnemonic[10] != '6')
     161             :               break;
     162          35 :             Mnemonic = "v_madak_f16";  // "v_madak_f16"
     163          35 :             return;
     164          58 :           case '3':      // 1 string to match.
     165          58 :             if (Mnemonic[10] != '2')
     166             :               break;
     167          58 :             Mnemonic = "v_madak_f32";  // "v_madak_f32"
     168          58 :             return;
     169             :           }
     170             :           break;
     171             :         case 'm':        // 2 strings to match.
     172          83 :           if (memcmp(Mnemonic.data()+6, "k_f", 3) != 0)
     173             :             break;
     174          83 :           switch (Mnemonic[9]) {
     175             :           default: break;
     176          39 :           case '1':      // 1 string to match.
     177          39 :             if (Mnemonic[10] != '6')
     178             :               break;
     179          39 :             Mnemonic = "v_madmk_f16";  // "v_madmk_f16"
     180          39 :             return;
     181          44 :           case '3':      // 1 string to match.
     182          44 :             if (Mnemonic[10] != '2')
     183             :               break;
     184          44 :             Mnemonic = "v_madmk_f32";  // "v_madmk_f32"
     185          44 :             return;
     186             :           }
     187             :           break;
     188             :         }
     189             :         break;
     190             :       case 12:   // 1 string to match.
     191       11824 :         if (memcmp(Mnemonic.data()+0, "v_or_b32_e32", 12) != 0)
     192             :           break;
     193           0 :         Mnemonic = "v_or_b32";         // "v_or_b32_e32"
     194           0 :         return;
     195             :       case 13:   // 46 strings to match.
     196       13988 :         if (memcmp(Mnemonic.data()+0, "v_", 2) != 0)
     197             :           break;
     198       10083 :         switch (Mnemonic[2]) {
     199             :         default: break;
     200         304 :         case 'a':        // 6 strings to match.
     201         304 :           switch (Mnemonic[3]) {
     202             :           default: break;
     203             :           case 'd':      // 5 strings to match.
     204          18 :             if (memcmp(Mnemonic.data()+4, "d_", 2) != 0)
     205             :               break;
     206           0 :             switch (Mnemonic[6]) {
     207             :             default: break;
     208           0 :             case 'f':    // 2 strings to match.
     209           0 :               switch (Mnemonic[7]) {
     210             :               default: break;
     211             :               case '1':  // 1 string to match.
     212           0 :                 if (memcmp(Mnemonic.data()+8, "6_e32", 5) != 0)
     213             :                   break;
     214           0 :                 Mnemonic = "v_add_f16";        // "v_add_f16_e32"
     215           0 :                 return;
     216             :               case '3':  // 1 string to match.
     217           0 :                 if (memcmp(Mnemonic.data()+8, "2_e32", 5) != 0)
     218             :                   break;
     219           0 :                 Mnemonic = "v_add_f32";        // "v_add_f32_e32"
     220           0 :                 return;
     221             :               }
     222             :               break;
     223             :             case 'i':    // 1 string to match.
     224           0 :               if (memcmp(Mnemonic.data()+7, "32_e32", 6) != 0)
     225             :                 break;
     226           0 :               Mnemonic = "v_add_i32";  // "v_add_i32_e32"
     227           0 :               return;
     228           0 :             case 'u':    // 2 strings to match.
     229           0 :               switch (Mnemonic[7]) {
     230             :               default: break;
     231             :               case '1':  // 1 string to match.
     232           0 :                 if (memcmp(Mnemonic.data()+8, "6_e32", 5) != 0)
     233             :                   break;
     234           0 :                 Mnemonic = "v_add_u16";        // "v_add_u16_e32"
     235           0 :                 return;
     236             :               case '3':  // 1 string to match.
     237           0 :                 if (memcmp(Mnemonic.data()+8, "2_e32", 5) != 0)
     238             :                   break;
     239           0 :                 Mnemonic = "v_add_u32";        // "v_add_u32_e32"
     240           0 :                 return;
     241             :               }
     242             :               break;
     243             :             }
     244             :             break;
     245             :           case 'n':      // 1 string to match.
     246           0 :             if (memcmp(Mnemonic.data()+4, "d_b32_e32", 9) != 0)
     247             :               break;
     248           0 :             Mnemonic = "v_and_b32";    // "v_and_b32_e32"
     249           0 :             return;
     250             :           }
     251             :           break;
     252             :         case 'b':        // 1 string to match.
     253           0 :           if (memcmp(Mnemonic.data()+3, "fm_b32_e32", 10) != 0)
     254             :             break;
     255           0 :           Mnemonic = "v_bfm_b32";      // "v_bfm_b32_e32"
     256           0 :           return;
     257        7160 :         case 'c':        // 3 strings to match.
     258        7160 :           switch (Mnemonic[3]) {
     259             :           default: break;
     260             :           case 'l':      // 1 string to match.
     261           0 :             if (memcmp(Mnemonic.data()+4, "rexcp_e32", 9) != 0)
     262             :               break;
     263           0 :             Mnemonic = "v_clrexcp";    // "v_clrexcp_e32"
     264           0 :             return;
     265             :           case 'o':      // 2 strings to match.
     266           0 :             if (memcmp(Mnemonic.data()+4, "s_f", 3) != 0)
     267             :               break;
     268           0 :             switch (Mnemonic[7]) {
     269             :             default: break;
     270             :             case '1':    // 1 string to match.
     271           0 :               if (memcmp(Mnemonic.data()+8, "6_e32", 5) != 0)
     272             :                 break;
     273           0 :               Mnemonic = "v_cos_f16";  // "v_cos_f16_e32"
     274           0 :               return;
     275             :             case '3':    // 1 string to match.
     276           0 :               if (memcmp(Mnemonic.data()+8, "2_e32", 5) != 0)
     277             :                 break;
     278           0 :               Mnemonic = "v_cos_f32";  // "v_cos_f32_e32"
     279           0 :               return;
     280             :             }
     281             :             break;
     282             :           }
     283             :           break;
     284             :         case 'e':        // 2 strings to match.
     285           0 :           if (memcmp(Mnemonic.data()+3, "xp_f", 4) != 0)
     286             :             break;
     287           0 :           switch (Mnemonic[7]) {
     288             :           default: break;
     289             :           case '1':      // 1 string to match.
     290           0 :             if (memcmp(Mnemonic.data()+8, "6_e32", 5) != 0)
     291             :               break;
     292           0 :             Mnemonic = "v_exp_f16";    // "v_exp_f16_e32"
     293           0 :             return;
     294             :           case '3':      // 1 string to match.
     295           0 :             if (memcmp(Mnemonic.data()+8, "2_e32", 5) != 0)
     296             :               break;
     297           0 :             Mnemonic = "v_exp_f32";    // "v_exp_f32_e32"
     298           0 :             return;
     299             :           }
     300             :           break;
     301             :         case 'l':        // 2 strings to match.
     302         666 :           if (memcmp(Mnemonic.data()+3, "og_f", 4) != 0)
     303             :             break;
     304           0 :           switch (Mnemonic[7]) {
     305             :           default: break;
     306             :           case '1':      // 1 string to match.
     307           0 :             if (memcmp(Mnemonic.data()+8, "6_e32", 5) != 0)
     308             :               break;
     309           0 :             Mnemonic = "v_log_f16";    // "v_log_f16_e32"
     310           0 :             return;
     311             :           case '3':      // 1 string to match.
     312           0 :             if (memcmp(Mnemonic.data()+8, "2_e32", 5) != 0)
     313             :               break;
     314           0 :             Mnemonic = "v_log_f32";    // "v_log_f32_e32"
     315           0 :             return;
     316             :           }
     317             :           break;
     318        1734 :         case 'm':        // 17 strings to match.
     319        1734 :           switch (Mnemonic[3]) {
     320             :           default: break;
     321        1258 :           case 'a':      // 8 strings to match.
     322        1258 :             switch (Mnemonic[4]) {
     323             :             default: break;
     324             :             case 'c':    // 2 strings to match.
     325           0 :               if (memcmp(Mnemonic.data()+5, "_f", 2) != 0)
     326             :                 break;
     327           0 :               switch (Mnemonic[7]) {
     328             :               default: break;
     329             :               case '1':  // 1 string to match.
     330           0 :                 if (memcmp(Mnemonic.data()+8, "6_e32", 5) != 0)
     331             :                   break;
     332           0 :                 Mnemonic = "v_mac_f16";        // "v_mac_f16_e32"
     333           0 :                 return;
     334             :               case '3':  // 1 string to match.
     335           0 :                 if (memcmp(Mnemonic.data()+8, "2_e32", 5) != 0)
     336             :                   break;
     337           0 :                 Mnemonic = "v_mac_f32";        // "v_mac_f32_e32"
     338           0 :                 return;
     339             :               }
     340             :               break;
     341           0 :             case 'x':    // 6 strings to match.
     342           0 :               if (Mnemonic[5] != '_')
     343             :                 break;
     344           0 :               switch (Mnemonic[6]) {
     345             :               default: break;
     346           0 :               case 'f':  // 2 strings to match.
     347           0 :                 switch (Mnemonic[7]) {
     348             :                 default: break;
     349             :                 case '1':        // 1 string to match.
     350           0 :                   if (memcmp(Mnemonic.data()+8, "6_e32", 5) != 0)
     351             :                     break;
     352           0 :                   Mnemonic = "v_max_f16";      // "v_max_f16_e32"
     353           0 :                   return;
     354             :                 case '3':        // 1 string to match.
     355           0 :                   if (memcmp(Mnemonic.data()+8, "2_e32", 5) != 0)
     356             :                     break;
     357           0 :                   Mnemonic = "v_max_f32";      // "v_max_f32_e32"
     358           0 :                   return;
     359             :                 }
     360             :                 break;
     361           0 :               case 'i':  // 2 strings to match.
     362           0 :                 switch (Mnemonic[7]) {
     363             :                 default: break;
     364             :                 case '1':        // 1 string to match.
     365           0 :                   if (memcmp(Mnemonic.data()+8, "6_e32", 5) != 0)
     366             :                     break;
     367           0 :                   Mnemonic = "v_max_i16";      // "v_max_i16_e32"
     368           0 :                   return;
     369             :                 case '3':        // 1 string to match.
     370           0 :                   if (memcmp(Mnemonic.data()+8, "2_e32", 5) != 0)
     371             :                     break;
     372           0 :                   Mnemonic = "v_max_i32";      // "v_max_i32_e32"
     373           0 :                   return;
     374             :                 }
     375             :                 break;
     376           0 :               case 'u':  // 2 strings to match.
     377           0 :                 switch (Mnemonic[7]) {
     378             :                 default: break;
     379             :                 case '1':        // 1 string to match.
     380           0 :                   if (memcmp(Mnemonic.data()+8, "6_e32", 5) != 0)
     381             :                     break;
     382           0 :                   Mnemonic = "v_max_u16";      // "v_max_u16_e32"
     383           0 :                   return;
     384             :                 case '3':        // 1 string to match.
     385           0 :                   if (memcmp(Mnemonic.data()+8, "2_e32", 5) != 0)
     386             :                     break;
     387           0 :                   Mnemonic = "v_max_u32";      // "v_max_u32_e32"
     388           0 :                   return;
     389             :                 }
     390             :                 break;
     391             :               }
     392             :               break;
     393             :             }
     394             :             break;
     395             :           case 'i':      // 6 strings to match.
     396           0 :             if (memcmp(Mnemonic.data()+4, "n_", 2) != 0)
     397             :               break;
     398           0 :             switch (Mnemonic[6]) {
     399             :             default: break;
     400           0 :             case 'f':    // 2 strings to match.
     401           0 :               switch (Mnemonic[7]) {
     402             :               default: break;
     403             :               case '1':  // 1 string to match.
     404           0 :                 if (memcmp(Mnemonic.data()+8, "6_e32", 5) != 0)
     405             :                   break;
     406           0 :                 Mnemonic = "v_min_f16";        // "v_min_f16_e32"
     407           0 :                 return;
     408             :               case '3':  // 1 string to match.
     409           0 :                 if (memcmp(Mnemonic.data()+8, "2_e32", 5) != 0)
     410             :                   break;
     411           0 :                 Mnemonic = "v_min_f32";        // "v_min_f32_e32"
     412           0 :                 return;
     413             :               }
     414             :               break;
     415           0 :             case 'i':    // 2 strings to match.
     416           0 :               switch (Mnemonic[7]) {
     417             :               default: break;
     418             :               case '1':  // 1 string to match.
     419           0 :                 if (memcmp(Mnemonic.data()+8, "6_e32", 5) != 0)
     420             :                   break;
     421           0 :                 Mnemonic = "v_min_i16";        // "v_min_i16_e32"
     422           0 :                 return;
     423             :               case '3':  // 1 string to match.
     424           0 :                 if (memcmp(Mnemonic.data()+8, "2_e32", 5) != 0)
     425             :                   break;
     426           0 :                 Mnemonic = "v_min_i32";        // "v_min_i32_e32"
     427           0 :                 return;
     428             :               }
     429             :               break;
     430           0 :             case 'u':    // 2 strings to match.
     431           0 :               switch (Mnemonic[7]) {
     432             :               default: break;
     433             :               case '1':  // 1 string to match.
     434           0 :                 if (memcmp(Mnemonic.data()+8, "6_e32", 5) != 0)
     435             :                   break;
     436           0 :                 Mnemonic = "v_min_u16";        // "v_min_u16_e32"
     437           0 :                 return;
     438             :               case '3':  // 1 string to match.
     439           0 :                 if (memcmp(Mnemonic.data()+8, "2_e32", 5) != 0)
     440             :                   break;
     441           0 :                 Mnemonic = "v_min_u32";        // "v_min_u32_e32"
     442           0 :                 return;
     443             :               }
     444             :               break;
     445             :             }
     446             :             break;
     447             :           case 'o':      // 1 string to match.
     448         164 :             if (memcmp(Mnemonic.data()+4, "v_b32_e32", 9) != 0)
     449             :               break;
     450           0 :             Mnemonic = "v_mov_b32";    // "v_mov_b32_e32"
     451           0 :             return;
     452             :           case 'u':      // 2 strings to match.
     453         312 :             if (memcmp(Mnemonic.data()+4, "l_f", 3) != 0)
     454             :               break;
     455           0 :             switch (Mnemonic[7]) {
     456             :             default: break;
     457             :             case '1':    // 1 string to match.
     458           0 :               if (memcmp(Mnemonic.data()+8, "6_e32", 5) != 0)
     459             :                 break;
     460           0 :               Mnemonic = "v_mul_f16";  // "v_mul_f16_e32"
     461           0 :               return;
     462             :             case '3':    // 1 string to match.
     463           0 :               if (memcmp(Mnemonic.data()+8, "2_e32", 5) != 0)
     464             :                 break;
     465           0 :               Mnemonic = "v_mul_f32";  // "v_mul_f32_e32"
     466           0 :               return;
     467             :             }
     468             :             break;
     469             :           }
     470             :           break;
     471             :         case 'n':        // 1 string to match.
     472           0 :           if (memcmp(Mnemonic.data()+3, "ot_b32_e32", 10) != 0)
     473             :             break;
     474           0 :           Mnemonic = "v_not_b32";      // "v_not_b32_e32"
     475           0 :           return;
     476           0 :         case 'r':        // 6 strings to match.
     477           0 :           switch (Mnemonic[3]) {
     478             :           default: break;
     479             :           case 'c':      // 3 strings to match.
     480           0 :             if (memcmp(Mnemonic.data()+4, "p_f", 3) != 0)
     481             :               break;
     482           0 :             switch (Mnemonic[7]) {
     483             :             default: break;
     484             :             case '1':    // 1 string to match.
     485           0 :               if (memcmp(Mnemonic.data()+8, "6_e32", 5) != 0)
     486             :                 break;
     487           0 :               Mnemonic = "v_rcp_f16";  // "v_rcp_f16_e32"
     488           0 :               return;
     489             :             case '3':    // 1 string to match.
     490           0 :               if (memcmp(Mnemonic.data()+8, "2_e32", 5) != 0)
     491             :                 break;
     492           0 :               Mnemonic = "v_rcp_f32";  // "v_rcp_f32_e32"
     493           0 :               return;
     494             :             case '6':    // 1 string to match.
     495           0 :               if (memcmp(Mnemonic.data()+8, "4_e32", 5) != 0)
     496             :                 break;
     497           0 :               Mnemonic = "v_rcp_f64";  // "v_rcp_f64_e32"
     498           0 :               return;
     499             :             }
     500             :             break;
     501             :           case 's':      // 3 strings to match.
     502           0 :             if (memcmp(Mnemonic.data()+4, "q_f", 3) != 0)
     503             :               break;
     504           0 :             switch (Mnemonic[7]) {
     505             :             default: break;
     506             :             case '1':    // 1 string to match.
     507           0 :               if (memcmp(Mnemonic.data()+8, "6_e32", 5) != 0)
     508             :                 break;
     509           0 :               Mnemonic = "v_rsq_f16";  // "v_rsq_f16_e32"
     510           0 :               return;
     511             :             case '3':    // 1 string to match.
     512           0 :               if (memcmp(Mnemonic.data()+8, "2_e32", 5) != 0)
     513             :                 break;
     514           0 :               Mnemonic = "v_rsq_f32";  // "v_rsq_f32_e32"
     515           0 :               return;
     516             :             case '6':    // 1 string to match.
     517           0 :               if (memcmp(Mnemonic.data()+8, "4_e32", 5) != 0)
     518             :                 break;
     519           0 :               Mnemonic = "v_rsq_f64";  // "v_rsq_f64_e32"
     520           0 :               return;
     521             :             }
     522             :             break;
     523             :           }
     524             :           break;
     525          52 :         case 's':        // 7 strings to match.
     526          52 :           switch (Mnemonic[3]) {
     527             :           default: break;
     528             :           case 'i':      // 2 strings to match.
     529           0 :             if (memcmp(Mnemonic.data()+4, "n_f", 3) != 0)
     530             :               break;
     531           0 :             switch (Mnemonic[7]) {
     532             :             default: break;
     533             :             case '1':    // 1 string to match.
     534           0 :               if (memcmp(Mnemonic.data()+8, "6_e32", 5) != 0)
     535             :                 break;
     536           0 :               Mnemonic = "v_sin_f16";  // "v_sin_f16_e32"
     537           0 :               return;
     538             :             case '3':    // 1 string to match.
     539           0 :               if (memcmp(Mnemonic.data()+8, "2_e32", 5) != 0)
     540             :                 break;
     541           0 :               Mnemonic = "v_sin_f32";  // "v_sin_f32_e32"
     542           0 :               return;
     543             :             }
     544             :             break;
     545             :           case 'u':      // 5 strings to match.
     546          52 :             if (memcmp(Mnemonic.data()+4, "b_", 2) != 0)
     547             :               break;
     548           0 :             switch (Mnemonic[6]) {
     549             :             default: break;
     550           0 :             case 'f':    // 2 strings to match.
     551           0 :               switch (Mnemonic[7]) {
     552             :               default: break;
     553             :               case '1':  // 1 string to match.
     554           0 :                 if (memcmp(Mnemonic.data()+8, "6_e32", 5) != 0)
     555             :                   break;
     556           0 :                 Mnemonic = "v_sub_f16";        // "v_sub_f16_e32"
     557           0 :                 return;
     558             :               case '3':  // 1 string to match.
     559           0 :                 if (memcmp(Mnemonic.data()+8, "2_e32", 5) != 0)
     560             :                   break;
     561           0 :                 Mnemonic = "v_sub_f32";        // "v_sub_f32_e32"
     562           0 :                 return;
     563             :               }
     564             :               break;
     565             :             case 'i':    // 1 string to match.
     566           0 :               if (memcmp(Mnemonic.data()+7, "32_e32", 6) != 0)
     567             :                 break;
     568           0 :               Mnemonic = "v_sub_i32";  // "v_sub_i32_e32"
     569           0 :               return;
     570           0 :             case 'u':    // 2 strings to match.
     571           0 :               switch (Mnemonic[7]) {
     572             :               default: break;
     573             :               case '1':  // 1 string to match.
     574           0 :                 if (memcmp(Mnemonic.data()+8, "6_e32", 5) != 0)
     575             :                   break;
     576           0 :                 Mnemonic = "v_sub_u16";        // "v_sub_u16_e32"
     577           0 :                 return;
     578             :               case '3':  // 1 string to match.
     579           0 :                 if (memcmp(Mnemonic.data()+8, "2_e32", 5) != 0)
     580             :                   break;
     581           0 :                 Mnemonic = "v_sub_u32";        // "v_sub_u32_e32"
     582           0 :                 return;
     583             :               }
     584             :               break;
     585             :             }
     586             :             break;
     587             :           }
     588             :           break;
     589             :         case 'x':        // 1 string to match.
     590           0 :           if (memcmp(Mnemonic.data()+3, "or_b32_e32", 10) != 0)
     591             :             break;
     592           0 :           Mnemonic = "v_xor_b32";      // "v_xor_b32_e32"
     593           0 :           return;
     594             :         }
     595             :         break;
     596             :       case 14:   // 17 strings to match.
     597        6126 :         if (memcmp(Mnemonic.data()+0, "v_", 2) != 0)
     598             :           break;
     599        3372 :         switch (Mnemonic[2]) {
     600             :         default: break;
     601         274 :         case 'a':        // 2 strings to match.
     602         274 :           switch (Mnemonic[3]) {
     603             :           default: break;
     604             :           case 'd':      // 1 string to match.
     605          92 :             if (memcmp(Mnemonic.data()+4, "dc_u32_e32", 10) != 0)
     606             :               break;
     607           0 :             Mnemonic = "v_addc_u32";   // "v_addc_u32_e32"
     608           0 :             return;
     609             :           case 's':      // 1 string to match.
     610           0 :             if (memcmp(Mnemonic.data()+4, "hr_i32_e32", 10) != 0)
     611             :               break;
     612           0 :             Mnemonic = "v_ashr_i32";   // "v_ashr_i32_e32"
     613           0 :             return;
     614             :           }
     615             :           break;
     616             :         case 'c':        // 3 strings to match.
     617        2003 :           if (memcmp(Mnemonic.data()+3, "eil_f", 5) != 0)
     618             :             break;
     619           0 :           switch (Mnemonic[8]) {
     620             :           default: break;
     621             :           case '1':      // 1 string to match.
     622           0 :             if (memcmp(Mnemonic.data()+9, "6_e32", 5) != 0)
     623             :               break;
     624           0 :             Mnemonic = "v_ceil_f16";   // "v_ceil_f16_e32"
     625           0 :             return;
     626             :           case '3':      // 1 string to match.
     627           0 :             if (memcmp(Mnemonic.data()+9, "2_e32", 5) != 0)
     628             :               break;
     629           0 :             Mnemonic = "v_ceil_f32";   // "v_ceil_f32_e32"
     630           0 :             return;
     631             :           case '6':      // 1 string to match.
     632           0 :             if (memcmp(Mnemonic.data()+9, "4_e32", 5) != 0)
     633             :               break;
     634           0 :             Mnemonic = "v_ceil_f64";   // "v_ceil_f64_e32"
     635           0 :             return;
     636             :           }
     637             :           break;
     638           0 :         case 'f':        // 4 strings to match.
     639           0 :           switch (Mnemonic[3]) {
     640             :           default: break;
     641           0 :           case 'f':      // 3 strings to match.
     642           0 :             if (Mnemonic[4] != 'b')
     643             :               break;
     644           0 :             switch (Mnemonic[5]) {
     645             :             default: break;
     646           0 :             case 'h':    // 2 strings to match.
     647           0 :               if (Mnemonic[6] != '_')
     648             :                 break;
     649           0 :               switch (Mnemonic[7]) {
     650             :               default: break;
     651             :               case 'i':  // 1 string to match.
     652           0 :                 if (memcmp(Mnemonic.data()+8, "32_e32", 6) != 0)
     653             :                   break;
     654           0 :                 Mnemonic = "v_ffbh_i32";       // "v_ffbh_i32_e32"
     655           0 :                 return;
     656             :               case 'u':  // 1 string to match.
     657           0 :                 if (memcmp(Mnemonic.data()+8, "32_e32", 6) != 0)
     658             :                   break;
     659           0 :                 Mnemonic = "v_ffbh_u32";       // "v_ffbh_u32_e32"
     660           0 :                 return;
     661             :               }
     662             :               break;
     663             :             case 'l':    // 1 string to match.
     664           0 :               if (memcmp(Mnemonic.data()+6, "_b32_e32", 8) != 0)
     665             :                 break;
     666           0 :               Mnemonic = "v_ffbl_b32";         // "v_ffbl_b32_e32"
     667           0 :               return;
     668             :             }
     669             :             break;
     670             :           case 'm':      // 1 string to match.
     671           0 :             if (memcmp(Mnemonic.data()+4, "ac_f32_e32", 10) != 0)
     672             :               break;
     673           0 :             Mnemonic = "v_fmac_f32";   // "v_fmac_f32_e32"
     674           0 :             return;
     675             :           }
     676             :           break;
     677             :         case 'l':        // 2 strings to match.
     678          92 :           if (memcmp(Mnemonic.data()+3, "sh", 2) != 0)
     679             :             break;
     680          92 :           switch (Mnemonic[5]) {
     681             :           default: break;
     682             :           case 'l':      // 1 string to match.
     683          92 :             if (memcmp(Mnemonic.data()+6, "_b32_e32", 8) != 0)
     684             :               break;
     685           0 :             Mnemonic = "v_lshl_b32";   // "v_lshl_b32_e32"
     686           0 :             return;
     687             :           case 'r':      // 1 string to match.
     688           0 :             if (memcmp(Mnemonic.data()+6, "_b32_e32", 8) != 0)
     689             :               break;
     690           0 :             Mnemonic = "v_lshr_b32";   // "v_lshr_b32_e32"
     691           0 :             return;
     692             :           }
     693             :           break;
     694             :         case 'r':        // 1 string to match.
     695          74 :           if (memcmp(Mnemonic.data()+3, "eadlane_b32", 11) != 0)
     696             :             break;
     697          74 :           Mnemonic = "v_readlane_b32";         // "v_readlane_b32"
     698          74 :           return;
     699           0 :         case 's':        // 4 strings to match.
     700           0 :           switch (Mnemonic[3]) {
     701             :           default: break;
     702             :           case 'q':      // 3 strings to match.
     703           0 :             if (memcmp(Mnemonic.data()+4, "rt_f", 4) != 0)
     704             :               break;
     705           0 :             switch (Mnemonic[8]) {
     706             :             default: break;
     707             :             case '1':    // 1 string to match.
     708           0 :               if (memcmp(Mnemonic.data()+9, "6_e32", 5) != 0)
     709             :                 break;
     710           0 :               Mnemonic = "v_sqrt_f16";         // "v_sqrt_f16_e32"
     711           0 :               return;
     712             :             case '3':    // 1 string to match.
     713           0 :               if (memcmp(Mnemonic.data()+9, "2_e32", 5) != 0)
     714             :                 break;
     715           0 :               Mnemonic = "v_sqrt_f32";         // "v_sqrt_f32_e32"
     716           0 :               return;
     717             :             case '6':    // 1 string to match.
     718           0 :               if (memcmp(Mnemonic.data()+9, "4_e32", 5) != 0)
     719             :                 break;
     720           0 :               Mnemonic = "v_sqrt_f64";         // "v_sqrt_f64_e32"
     721           0 :               return;
     722             :             }
     723             :             break;
     724             :           case 'u':      // 1 string to match.
     725           0 :             if (memcmp(Mnemonic.data()+4, "bb_u32_e32", 10) != 0)
     726             :               break;
     727           0 :             Mnemonic = "v_subb_u32";   // "v_subb_u32_e32"
     728           0 :             return;
     729             :           }
     730             :           break;
     731             :         case 'x':        // 1 string to match.
     732           0 :           if (memcmp(Mnemonic.data()+3, "nor_b32_e32", 11) != 0)
     733             :             break;
     734           0 :           Mnemonic = "v_xnor_b32";     // "v_xnor_b32_e32"
     735           0 :           return;
     736             :         }
     737             :         break;
     738             :       case 15:   // 16 strings to match.
     739        5889 :         if (memcmp(Mnemonic.data()+0, "v_", 2) != 0)
     740             :           break;
     741        2984 :         switch (Mnemonic[2]) {
     742             :         default: break;
     743             :         case 'b':        // 1 string to match.
     744           0 :           if (memcmp(Mnemonic.data()+3, "frev_b32_e32", 12) != 0)
     745             :             break;
     746           0 :           Mnemonic = "v_bfrev_b32";    // "v_bfrev_b32_e32"
     747           0 :           return;
     748          22 :         case 'f':        // 6 strings to match.
     749          22 :           switch (Mnemonic[3]) {
     750             :           default: break;
     751             :           case 'l':      // 3 strings to match.
     752           0 :             if (memcmp(Mnemonic.data()+4, "oor_f", 5) != 0)
     753             :               break;
     754           0 :             switch (Mnemonic[9]) {
     755             :             default: break;
     756             :             case '1':    // 1 string to match.
     757           0 :               if (memcmp(Mnemonic.data()+10, "6_e32", 5) != 0)
     758             :                 break;
     759           0 :               Mnemonic = "v_floor_f16";        // "v_floor_f16_e32"
     760           0 :               return;
     761             :             case '3':    // 1 string to match.
     762           0 :               if (memcmp(Mnemonic.data()+10, "2_e32", 5) != 0)
     763             :                 break;
     764           0 :               Mnemonic = "v_floor_f32";        // "v_floor_f32_e32"
     765           0 :               return;
     766             :             case '6':    // 1 string to match.
     767           0 :               if (memcmp(Mnemonic.data()+10, "4_e32", 5) != 0)
     768             :                 break;
     769           0 :               Mnemonic = "v_floor_f64";        // "v_floor_f64_e32"
     770           0 :               return;
     771             :             }
     772             :             break;
     773             :           case 'r':      // 3 strings to match.
     774           0 :             if (memcmp(Mnemonic.data()+4, "act_f", 5) != 0)
     775             :               break;
     776           0 :             switch (Mnemonic[9]) {
     777             :             default: break;
     778             :             case '1':    // 1 string to match.
     779           0 :               if (memcmp(Mnemonic.data()+10, "6_e32", 5) != 0)
     780             :                 break;
     781           0 :               Mnemonic = "v_fract_f16";        // "v_fract_f16_e32"
     782           0 :               return;
     783             :             case '3':    // 1 string to match.
     784           0 :               if (memcmp(Mnemonic.data()+10, "2_e32", 5) != 0)
     785             :                 break;
     786           0 :               Mnemonic = "v_fract_f32";        // "v_fract_f32_e32"
     787           0 :               return;
     788             :             case '6':    // 1 string to match.
     789           0 :               if (memcmp(Mnemonic.data()+10, "4_e32", 5) != 0)
     790             :                 break;
     791           0 :               Mnemonic = "v_fract_f64";        // "v_fract_f64_e32"
     792           0 :               return;
     793             :             }
     794             :             break;
     795             :           }
     796             :           break;
     797             :         case 'l':        // 2 strings to match.
     798          39 :           if (memcmp(Mnemonic.data()+3, "dexp_f", 6) != 0)
     799             :             break;
     800           0 :           switch (Mnemonic[9]) {
     801             :           default: break;
     802             :           case '1':      // 1 string to match.
     803           0 :             if (memcmp(Mnemonic.data()+10, "6_e32", 5) != 0)
     804             :               break;
     805           0 :             Mnemonic = "v_ldexp_f16";  // "v_ldexp_f16_e32"
     806           0 :             return;
     807             :           case '3':      // 1 string to match.
     808           0 :             if (memcmp(Mnemonic.data()+10, "2_e32", 5) != 0)
     809             :               break;
     810           0 :             Mnemonic = "v_ldexp_f32";  // "v_ldexp_f32_e32"
     811           0 :             return;
     812             :           }
     813             :           break;
     814             :         case 'r':        // 3 strings to match.
     815         215 :           if (memcmp(Mnemonic.data()+3, "ndne_f", 6) != 0)
     816             :             break;
     817           0 :           switch (Mnemonic[9]) {
     818             :           default: break;
     819             :           case '1':      // 1 string to match.
     820           0 :             if (memcmp(Mnemonic.data()+10, "6_e32", 5) != 0)
     821             :               break;
     822           0 :             Mnemonic = "v_rndne_f16";  // "v_rndne_f16_e32"
     823           0 :             return;
     824             :           case '3':      // 1 string to match.
     825           0 :             if (memcmp(Mnemonic.data()+10, "2_e32", 5) != 0)
     826             :               break;
     827           0 :             Mnemonic = "v_rndne_f32";  // "v_rndne_f32_e32"
     828           0 :             return;
     829             :           case '6':      // 1 string to match.
     830           0 :             if (memcmp(Mnemonic.data()+10, "4_e32", 5) != 0)
     831             :               break;
     832           0 :             Mnemonic = "v_rndne_f64";  // "v_rndne_f64_e32"
     833           0 :             return;
     834             :           }
     835             :           break;
     836             :         case 't':        // 3 strings to match.
     837           0 :           if (memcmp(Mnemonic.data()+3, "runc_f", 6) != 0)
     838             :             break;
     839           0 :           switch (Mnemonic[9]) {
     840             :           default: break;
     841             :           case '1':      // 1 string to match.
     842           0 :             if (memcmp(Mnemonic.data()+10, "6_e32", 5) != 0)
     843             :               break;
     844           0 :             Mnemonic = "v_trunc_f16";  // "v_trunc_f16_e32"
     845           0 :             return;
     846             :           case '3':      // 1 string to match.
     847           0 :             if (memcmp(Mnemonic.data()+10, "2_e32", 5) != 0)
     848             :               break;
     849           0 :             Mnemonic = "v_trunc_f32";  // "v_trunc_f32_e32"
     850           0 :             return;
     851             :           case '6':      // 1 string to match.
     852           0 :             if (memcmp(Mnemonic.data()+10, "4_e32", 5) != 0)
     853             :               break;
     854           0 :             Mnemonic = "v_trunc_f64";  // "v_trunc_f64_e32"
     855           0 :             return;
     856             :           }
     857             :           break;
     858             :         case 'w':        // 1 string to match.
     859          82 :           if (memcmp(Mnemonic.data()+3, "ritelane_b32", 12) != 0)
     860             :             break;
     861          82 :           Mnemonic = "v_writelane_b32";        // "v_writelane_b32"
     862          82 :           return;
     863             :         }
     864             :         break;
     865             :       case 16:   // 6 strings to match.
     866        5049 :         if (memcmp(Mnemonic.data()+0, "v_", 2) != 0)
     867             :           break;
     868        3181 :         switch (Mnemonic[2]) {
     869             :         default: break;
     870             :         case 'm':        // 1 string to match.
     871         937 :           if (memcmp(Mnemonic.data()+3, "ul_lo_u16_e32", 13) != 0)
     872             :             break;
     873           0 :           Mnemonic = "v_mul_lo_u16";   // "v_mul_lo_u16_e32"
     874           0 :           return;
     875             :         case 's':        // 5 strings to match.
     876          18 :           if (memcmp(Mnemonic.data()+3, "ubrev_", 6) != 0)
     877             :             break;
     878           0 :           switch (Mnemonic[9]) {
     879             :           default: break;
     880           0 :           case 'f':      // 2 strings to match.
     881           0 :             switch (Mnemonic[10]) {
     882             :             default: break;
     883             :             case '1':    // 1 string to match.
     884           0 :               if (memcmp(Mnemonic.data()+11, "6_e32", 5) != 0)
     885             :                 break;
     886           0 :               Mnemonic = "v_subrev_f16";       // "v_subrev_f16_e32"
     887           0 :               return;
     888             :             case '3':    // 1 string to match.
     889           0 :               if (memcmp(Mnemonic.data()+11, "2_e32", 5) != 0)
     890             :                 break;
     891           0 :               Mnemonic = "v_subrev_f32";       // "v_subrev_f32_e32"
     892           0 :               return;
     893             :             }
     894             :             break;
     895             :           case 'i':      // 1 string to match.
     896           0 :             if (memcmp(Mnemonic.data()+10, "32_e32", 6) != 0)
     897             :               break;
     898           0 :             Mnemonic = "v_subrev_i32";         // "v_subrev_i32_e32"
     899           0 :             return;
     900           0 :           case 'u':      // 2 strings to match.
     901           0 :             switch (Mnemonic[10]) {
     902             :             default: break;
     903             :             case '1':    // 1 string to match.
     904           0 :               if (memcmp(Mnemonic.data()+11, "6_e32", 5) != 0)
     905             :                 break;
     906           0 :               Mnemonic = "v_subrev_u16";       // "v_subrev_u16_e32"
     907           0 :               return;
     908             :             case '3':    // 1 string to match.
     909           0 :               if (memcmp(Mnemonic.data()+11, "2_e32", 5) != 0)
     910             :                 break;
     911           0 :               Mnemonic = "v_subrev_u32";       // "v_subrev_u32_e32"
     912           0 :               return;
     913             :             }
     914             :             break;
     915             :           }
     916             :           break;
     917             :         }
     918             :         break;
     919             :       case 17:   // 29 strings to match.
     920        3793 :         if (memcmp(Mnemonic.data()+0, "v_", 2) != 0)
     921             :           break;
     922         612 :         switch (Mnemonic[2]) {
     923             :         default: break;
     924             :         case 'a':        // 2 strings to match.
     925           0 :           if (memcmp(Mnemonic.data()+3, "shrrev_i", 8) != 0)
     926             :             break;
     927           0 :           switch (Mnemonic[11]) {
     928             :           default: break;
     929             :           case '1':      // 1 string to match.
     930           0 :             if (memcmp(Mnemonic.data()+12, "6_e32", 5) != 0)
     931             :               break;
     932           0 :             Mnemonic = "v_ashrrev_i16";        // "v_ashrrev_i16_e32"
     933           0 :             return;
     934             :           case '3':      // 1 string to match.
     935           0 :             if (memcmp(Mnemonic.data()+12, "2_e32", 5) != 0)
     936             :               break;
     937           0 :             Mnemonic = "v_ashrrev_i32";        // "v_ashrrev_i32_e32"
     938           0 :             return;
     939             :           }
     940             :           break;
     941         210 :         case 'c':        // 17 strings to match.
     942         210 :           switch (Mnemonic[3]) {
     943             :           default: break;
     944             :           case 'n':      // 1 string to match.
     945           0 :             if (memcmp(Mnemonic.data()+4, "dmask_b32_e32", 13) != 0)
     946             :               break;
     947           0 :             Mnemonic = "v_cndmask_b32";        // "v_cndmask_b32_e32"
     948           0 :             return;
     949             :           case 'v':      // 16 strings to match.
     950         210 :             if (memcmp(Mnemonic.data()+4, "t_", 2) != 0)
     951             :               break;
     952         210 :             switch (Mnemonic[6]) {
     953             :             default: break;
     954         109 :             case 'f':    // 10 strings to match.
     955         109 :               switch (Mnemonic[7]) {
     956             :               default: break;
     957             :               case '1':  // 3 strings to match.
     958           0 :                 if (memcmp(Mnemonic.data()+8, "6_", 2) != 0)
     959             :                   break;
     960           0 :                 switch (Mnemonic[10]) {
     961             :                 default: break;
     962             :                 case 'f':        // 1 string to match.
     963           0 :                   if (memcmp(Mnemonic.data()+11, "32_e32", 6) != 0)
     964             :                     break;
     965           0 :                   Mnemonic = "v_cvt_f16_f32";  // "v_cvt_f16_f32_e32"
     966           0 :                   return;
     967             :                 case 'i':        // 1 string to match.
     968           0 :                   if (memcmp(Mnemonic.data()+11, "16_e32", 6) != 0)
     969             :                     break;
     970           0 :                   Mnemonic = "v_cvt_f16_i16";  // "v_cvt_f16_i16_e32"
     971           0 :                   return;
     972             :                 case 'u':        // 1 string to match.
     973           0 :                   if (memcmp(Mnemonic.data()+11, "16_e32", 6) != 0)
     974             :                     break;
     975           0 :                   Mnemonic = "v_cvt_f16_u16";  // "v_cvt_f16_u16_e32"
     976           0 :                   return;
     977             :                 }
     978             :                 break;
     979             :               case '3':  // 4 strings to match.
     980           0 :                 if (memcmp(Mnemonic.data()+8, "2_", 2) != 0)
     981             :                   break;
     982           0 :                 switch (Mnemonic[10]) {
     983             :                 default: break;
     984           0 :                 case 'f':        // 2 strings to match.
     985           0 :                   switch (Mnemonic[11]) {
     986             :                   default: break;
     987             :                   case '1':      // 1 string to match.
     988           0 :                     if (memcmp(Mnemonic.data()+12, "6_e32", 5) != 0)
     989             :                       break;
     990           0 :                     Mnemonic = "v_cvt_f32_f16";        // "v_cvt_f32_f16_e32"
     991           0 :                     return;
     992             :                   case '6':      // 1 string to match.
     993           0 :                     if (memcmp(Mnemonic.data()+12, "4_e32", 5) != 0)
     994             :                       break;
     995           0 :                     Mnemonic = "v_cvt_f32_f64";        // "v_cvt_f32_f64_e32"
     996           0 :                     return;
     997             :                   }
     998             :                   break;
     999             :                 case 'i':        // 1 string to match.
    1000           0 :                   if (memcmp(Mnemonic.data()+11, "32_e32", 6) != 0)
    1001             :                     break;
    1002           0 :                   Mnemonic = "v_cvt_f32_i32";  // "v_cvt_f32_i32_e32"
    1003           0 :                   return;
    1004             :                 case 'u':        // 1 string to match.
    1005           0 :                   if (memcmp(Mnemonic.data()+11, "32_e32", 6) != 0)
    1006             :                     break;
    1007           0 :                   Mnemonic = "v_cvt_f32_u32";  // "v_cvt_f32_u32_e32"
    1008           0 :                   return;
    1009             :                 }
    1010             :                 break;
    1011             :               case '6':  // 3 strings to match.
    1012           0 :                 if (memcmp(Mnemonic.data()+8, "4_", 2) != 0)
    1013             :                   break;
    1014           0 :                 switch (Mnemonic[10]) {
    1015             :                 default: break;
    1016             :                 case 'f':        // 1 string to match.
    1017           0 :                   if (memcmp(Mnemonic.data()+11, "32_e32", 6) != 0)
    1018             :                     break;
    1019           0 :                   Mnemonic = "v_cvt_f64_f32";  // "v_cvt_f64_f32_e32"
    1020           0 :                   return;
    1021             :                 case 'i':        // 1 string to match.
    1022           0 :                   if (memcmp(Mnemonic.data()+11, "32_e32", 6) != 0)
    1023             :                     break;
    1024           0 :                   Mnemonic = "v_cvt_f64_i32";  // "v_cvt_f64_i32_e32"
    1025           0 :                   return;
    1026             :                 case 'u':        // 1 string to match.
    1027           0 :                   if (memcmp(Mnemonic.data()+11, "32_e32", 6) != 0)
    1028             :                     break;
    1029           0 :                   Mnemonic = "v_cvt_f64_u32";  // "v_cvt_f64_u32_e32"
    1030           0 :                   return;
    1031             :                 }
    1032             :                 break;
    1033             :               }
    1034             :               break;
    1035           0 :             case 'i':    // 3 strings to match.
    1036           0 :               switch (Mnemonic[7]) {
    1037             :               default: break;
    1038             :               case '1':  // 1 string to match.
    1039           0 :                 if (memcmp(Mnemonic.data()+8, "6_f16_e32", 9) != 0)
    1040             :                   break;
    1041           0 :                 Mnemonic = "v_cvt_i16_f16";    // "v_cvt_i16_f16_e32"
    1042           0 :                 return;
    1043             :               case '3':  // 2 strings to match.
    1044           0 :                 if (memcmp(Mnemonic.data()+8, "2_f", 3) != 0)
    1045             :                   break;
    1046           0 :                 switch (Mnemonic[11]) {
    1047             :                 default: break;
    1048             :                 case '3':        // 1 string to match.
    1049           0 :                   if (memcmp(Mnemonic.data()+12, "2_e32", 5) != 0)
    1050             :                     break;
    1051           0 :                   Mnemonic = "v_cvt_i32_f32";  // "v_cvt_i32_f32_e32"
    1052           0 :                   return;
    1053             :                 case '6':        // 1 string to match.
    1054           0 :                   if (memcmp(Mnemonic.data()+12, "4_e32", 5) != 0)
    1055             :                     break;
    1056           0 :                   Mnemonic = "v_cvt_i32_f64";  // "v_cvt_i32_f64_e32"
    1057           0 :                   return;
    1058             :                 }
    1059             :                 break;
    1060             :               }
    1061             :               break;
    1062           0 :             case 'u':    // 3 strings to match.
    1063           0 :               switch (Mnemonic[7]) {
    1064             :               default: break;
    1065             :               case '1':  // 1 string to match.
    1066           0 :                 if (memcmp(Mnemonic.data()+8, "6_f16_e32", 9) != 0)
    1067             :                   break;
    1068           0 :                 Mnemonic = "v_cvt_u16_f16";    // "v_cvt_u16_f16_e32"
    1069           0 :                 return;
    1070             :               case '3':  // 2 strings to match.
    1071           0 :                 if (memcmp(Mnemonic.data()+8, "2_f", 3) != 0)
    1072             :                   break;
    1073           0 :                 switch (Mnemonic[11]) {
    1074             :                 default: break;
    1075             :                 case '3':        // 1 string to match.
    1076           0 :                   if (memcmp(Mnemonic.data()+12, "2_e32", 5) != 0)
    1077             :                     break;
    1078           0 :                   Mnemonic = "v_cvt_u32_f32";  // "v_cvt_u32_f32_e32"
    1079           0 :                   return;
    1080             :                 case '6':        // 1 string to match.
    1081           0 :                   if (memcmp(Mnemonic.data()+12, "4_e32", 5) != 0)
    1082             :                     break;
    1083           0 :                   Mnemonic = "v_cvt_u32_f64";  // "v_cvt_u32_f64_e32"
    1084           0 :                   return;
    1085             :                 }
    1086             :                 break;
    1087             :               }
    1088             :               break;
    1089             :             }
    1090             :             break;
    1091             :           }
    1092             :           break;
    1093             :         case 'l':        // 4 strings to match.
    1094           0 :           if (memcmp(Mnemonic.data()+3, "sh", 2) != 0)
    1095             :             break;
    1096           0 :           switch (Mnemonic[5]) {
    1097             :           default: break;
    1098             :           case 'l':      // 2 strings to match.
    1099           0 :             if (memcmp(Mnemonic.data()+6, "rev_b", 5) != 0)
    1100             :               break;
    1101           0 :             switch (Mnemonic[11]) {
    1102             :             default: break;
    1103             :             case '1':    // 1 string to match.
    1104           0 :               if (memcmp(Mnemonic.data()+12, "6_e32", 5) != 0)
    1105             :                 break;
    1106           0 :               Mnemonic = "v_lshlrev_b16";      // "v_lshlrev_b16_e32"
    1107           0 :               return;
    1108             :             case '3':    // 1 string to match.
    1109           0 :               if (memcmp(Mnemonic.data()+12, "2_e32", 5) != 0)
    1110             :                 break;
    1111           0 :               Mnemonic = "v_lshlrev_b32";      // "v_lshlrev_b32_e32"
    1112           0 :               return;
    1113             :             }
    1114             :             break;
    1115             :           case 'r':      // 2 strings to match.
    1116           0 :             if (memcmp(Mnemonic.data()+6, "rev_b", 5) != 0)
    1117             :               break;
    1118           0 :             switch (Mnemonic[11]) {
    1119             :             default: break;
    1120             :             case '1':    // 1 string to match.
    1121           0 :               if (memcmp(Mnemonic.data()+12, "6_e32", 5) != 0)
    1122             :                 break;
    1123           0 :               Mnemonic = "v_lshrrev_b16";      // "v_lshrrev_b16_e32"
    1124           0 :               return;
    1125             :             case '3':    // 1 string to match.
    1126           0 :               if (memcmp(Mnemonic.data()+12, "2_e32", 5) != 0)
    1127             :                 break;
    1128           0 :               Mnemonic = "v_lshrrev_b32";      // "v_lshrrev_b32_e32"
    1129           0 :               return;
    1130             :             }
    1131             :             break;
    1132             :           }
    1133             :           break;
    1134         211 :         case 'm':        // 5 strings to match.
    1135         211 :           switch (Mnemonic[3]) {
    1136             :           default: break;
    1137           0 :           case 'o':      // 3 strings to match.
    1138           0 :             if (Mnemonic[4] != 'v')
    1139             :               break;
    1140           0 :             switch (Mnemonic[5]) {
    1141             :             default: break;
    1142             :             case '_':    // 1 string to match.
    1143           0 :               if (memcmp(Mnemonic.data()+6, "fed_b32_e32", 11) != 0)
    1144             :                 break;
    1145           0 :               Mnemonic = "v_mov_fed_b32";      // "v_mov_fed_b32_e32"
    1146           0 :               return;
    1147             :             case 'r':    // 2 strings to match.
    1148           0 :               if (memcmp(Mnemonic.data()+6, "el", 2) != 0)
    1149             :                 break;
    1150           0 :               switch (Mnemonic[8]) {
    1151             :               default: break;
    1152             :               case 'd':  // 1 string to match.
    1153           0 :                 if (memcmp(Mnemonic.data()+9, "_b32_e32", 8) != 0)
    1154             :                   break;
    1155           0 :                 Mnemonic = "v_movreld_b32";    // "v_movreld_b32_e32"
    1156           0 :                 return;
    1157             :               case 's':  // 1 string to match.
    1158           0 :                 if (memcmp(Mnemonic.data()+9, "_b32_e32", 8) != 0)
    1159             :                   break;
    1160           0 :                 Mnemonic = "v_movrels_b32";    // "v_movrels_b32_e32"
    1161           0 :                 return;
    1162             :               }
    1163             :               break;
    1164             :             }
    1165             :             break;
    1166             :           case 'u':      // 2 strings to match.
    1167           0 :             if (memcmp(Mnemonic.data()+4, "l_", 2) != 0)
    1168             :               break;
    1169           0 :             switch (Mnemonic[6]) {
    1170             :             default: break;
    1171             :             case 'i':    // 1 string to match.
    1172           0 :               if (memcmp(Mnemonic.data()+7, "32_i24_e32", 10) != 0)
    1173             :                 break;
    1174           0 :               Mnemonic = "v_mul_i32_i24";      // "v_mul_i32_i24_e32"
    1175           0 :               return;
    1176             :             case 'u':    // 1 string to match.
    1177           0 :               if (memcmp(Mnemonic.data()+7, "32_u24_e32", 10) != 0)
    1178             :                 break;
    1179           0 :               Mnemonic = "v_mul_u32_u24";      // "v_mul_u32_u24_e32"
    1180           0 :               return;
    1181             :             }
    1182             :             break;
    1183             :           }
    1184             :           break;
    1185             :         case 's':        // 1 string to match.
    1186           0 :           if (memcmp(Mnemonic.data()+3, "ubbrev_u32_e32", 14) != 0)
    1187             :             break;
    1188           0 :           Mnemonic = "v_subbrev_u32";  // "v_subbrev_u32_e32"
    1189           0 :           return;
    1190             :         }
    1191             :         break;
    1192             :       case 18:   // 2 strings to match.
    1193        2574 :         if (memcmp(Mnemonic.data()+0, "v_", 2) != 0)
    1194             :           break;
    1195         280 :         switch (Mnemonic[2]) {
    1196             :         default: break;
    1197             :         case 'b':        // 1 string to match.
    1198           0 :           if (memcmp(Mnemonic.data()+3, "cnt_u32_b32_e32", 15) != 0)
    1199             :             break;
    1200           0 :           Mnemonic = "v_bcnt_u32_b32";         // "v_bcnt_u32_b32_e32"
    1201           0 :           return;
    1202             :         case 'm':        // 1 string to match.
    1203         264 :           if (memcmp(Mnemonic.data()+3, "ovrelsd_b32_e32", 15) != 0)
    1204             :             break;
    1205           0 :           Mnemonic = "v_movrelsd_b32";         // "v_movrelsd_b32_e32"
    1206           0 :           return;
    1207             :         }
    1208             :         break;
    1209             :       case 19:   // 7 strings to match.
    1210        2100 :         if (memcmp(Mnemonic.data()+0, "v_", 2) != 0)
    1211             :           break;
    1212         468 :         switch (Mnemonic[2]) {
    1213             :         default: break;
    1214             :         case 'l':        // 1 string to match.
    1215           0 :           if (memcmp(Mnemonic.data()+3, "og_clamp_f32_e32", 16) != 0)
    1216             :             break;
    1217           0 :           Mnemonic = "v_log_clamp_f32";        // "v_log_clamp_f32_e32"
    1218           0 :           return;
    1219          44 :         case 'r':        // 5 strings to match.
    1220          44 :           switch (Mnemonic[3]) {
    1221             :           default: break;
    1222             :           case 'c':      // 3 strings to match.
    1223           0 :             if (memcmp(Mnemonic.data()+4, "p_", 2) != 0)
    1224             :               break;
    1225           0 :             switch (Mnemonic[6]) {
    1226             :             default: break;
    1227             :             case 'c':    // 2 strings to match.
    1228           0 :               if (memcmp(Mnemonic.data()+7, "lamp_f", 6) != 0)
    1229             :                 break;
    1230           0 :               switch (Mnemonic[13]) {
    1231             :               default: break;
    1232             :               case '3':  // 1 string to match.
    1233           0 :                 if (memcmp(Mnemonic.data()+14, "2_e32", 5) != 0)
    1234             :                   break;
    1235           0 :                 Mnemonic = "v_rcp_clamp_f32";  // "v_rcp_clamp_f32_e32"
    1236           0 :                 return;
    1237             :               case '6':  // 1 string to match.
    1238           0 :                 if (memcmp(Mnemonic.data()+14, "4_e32", 5) != 0)
    1239             :                   break;
    1240           0 :                 Mnemonic = "v_rcp_clamp_f64";  // "v_rcp_clamp_f64_e32"
    1241           0 :                 return;
    1242             :               }
    1243             :               break;
    1244             :             case 'i':    // 1 string to match.
    1245           0 :               if (memcmp(Mnemonic.data()+7, "flag_f32_e32", 12) != 0)
    1246             :                 break;
    1247           0 :               Mnemonic = "v_rcp_iflag_f32";    // "v_rcp_iflag_f32_e32"
    1248           0 :               return;
    1249             :             }
    1250             :             break;
    1251             :           case 's':      // 2 strings to match.
    1252           0 :             if (memcmp(Mnemonic.data()+4, "q_clamp_f", 9) != 0)
    1253             :               break;
    1254           0 :             switch (Mnemonic[13]) {
    1255             :             default: break;
    1256             :             case '3':    // 1 string to match.
    1257           0 :               if (memcmp(Mnemonic.data()+14, "2_e32", 5) != 0)
    1258             :                 break;
    1259           0 :               Mnemonic = "v_rsq_clamp_f32";    // "v_rsq_clamp_f32_e32"
    1260           0 :               return;
    1261             :             case '6':    // 1 string to match.
    1262           0 :               if (memcmp(Mnemonic.data()+14, "4_e32", 5) != 0)
    1263             :                 break;
    1264           0 :               Mnemonic = "v_rsq_clamp_f64";    // "v_rsq_clamp_f64_e32"
    1265           0 :               return;
    1266             :             }
    1267             :             break;
    1268             :           }
    1269             :           break;
    1270             :         case 's':        // 1 string to match.
    1271           0 :           if (memcmp(Mnemonic.data()+3, "at_pk_u8_i16_e32", 16) != 0)
    1272             :             break;
    1273           0 :           Mnemonic = "v_sat_pk_u8_i16";        // "v_sat_pk_u8_i16_e32"
    1274           0 :           return;
    1275             :         }
    1276             :         break;
    1277             :       case 20:   // 20 strings to match.
    1278        2014 :         if (memcmp(Mnemonic.data()+0, "v_", 2) != 0)
    1279             :           break;
    1280         629 :         switch (Mnemonic[2]) {
    1281             :         default: break;
    1282             :         case 'c':        // 7 strings to match.
    1283         629 :           if (memcmp(Mnemonic.data()+3, "vt_", 3) != 0)
    1284             :             break;
    1285         629 :           switch (Mnemonic[6]) {
    1286             :           default: break;
    1287             :           case 'f':      // 4 strings to match.
    1288           0 :             if (memcmp(Mnemonic.data()+7, "32_ubyte", 8) != 0)
    1289             :               break;
    1290           0 :             switch (Mnemonic[15]) {
    1291             :             default: break;
    1292             :             case '0':    // 1 string to match.
    1293           0 :               if (memcmp(Mnemonic.data()+16, "_e32", 4) != 0)
    1294             :                 break;
    1295           0 :               Mnemonic = "v_cvt_f32_ubyte0";   // "v_cvt_f32_ubyte0_e32"
    1296           0 :               return;
    1297             :             case '1':    // 1 string to match.
    1298           0 :               if (memcmp(Mnemonic.data()+16, "_e32", 4) != 0)
    1299             :                 break;
    1300           0 :               Mnemonic = "v_cvt_f32_ubyte1";   // "v_cvt_f32_ubyte1_e32"
    1301           0 :               return;
    1302             :             case '2':    // 1 string to match.
    1303           0 :               if (memcmp(Mnemonic.data()+16, "_e32", 4) != 0)
    1304             :                 break;
    1305           0 :               Mnemonic = "v_cvt_f32_ubyte2";   // "v_cvt_f32_ubyte2_e32"
    1306           0 :               return;
    1307             :             case '3':    // 1 string to match.
    1308           0 :               if (memcmp(Mnemonic.data()+16, "_e32", 4) != 0)
    1309             :                 break;
    1310           0 :               Mnemonic = "v_cvt_f32_ubyte3";   // "v_cvt_f32_ubyte3_e32"
    1311           0 :               return;
    1312             :             }
    1313             :             break;
    1314             :           case 'o':      // 1 string to match.
    1315           0 :             if (memcmp(Mnemonic.data()+7, "ff_f32_i4_e32", 13) != 0)
    1316             :               break;
    1317           0 :             Mnemonic = "v_cvt_off_f32_i4";     // "v_cvt_off_f32_i4_e32"
    1318           0 :             return;
    1319             :           case 'p':      // 2 strings to match.
    1320         629 :             if (memcmp(Mnemonic.data()+7, "k_", 2) != 0)
    1321             :               break;
    1322           0 :             switch (Mnemonic[9]) {
    1323             :             default: break;
    1324             :             case 'i':    // 1 string to match.
    1325           0 :               if (memcmp(Mnemonic.data()+10, "16_i32_e32", 10) != 0)
    1326             :                 break;
    1327           0 :               Mnemonic = "v_cvt_pk_i16_i32";   // "v_cvt_pk_i16_i32_e32"
    1328           0 :               return;
    1329             :             case 'u':    // 1 string to match.
    1330           0 :               if (memcmp(Mnemonic.data()+10, "16_u32_e32", 10) != 0)
    1331             :                 break;
    1332           0 :               Mnemonic = "v_cvt_pk_u16_u32";   // "v_cvt_pk_u16_u32_e32"
    1333           0 :               return;
    1334             :             }
    1335             :             break;
    1336             :           }
    1337             :           break;
    1338             :         case 'e':        // 1 string to match.
    1339           0 :           if (memcmp(Mnemonic.data()+3, "xp_legacy_f32_e32", 17) != 0)
    1340             :             break;
    1341           0 :           Mnemonic = "v_exp_legacy_f32";       // "v_exp_legacy_f32_e32"
    1342           0 :           return;
    1343             :         case 'f':        // 3 strings to match.
    1344           0 :           if (memcmp(Mnemonic.data()+3, "rexp_mant_f", 11) != 0)
    1345             :             break;
    1346           0 :           switch (Mnemonic[14]) {
    1347             :           default: break;
    1348             :           case '1':      // 1 string to match.
    1349           0 :             if (memcmp(Mnemonic.data()+15, "6_e32", 5) != 0)
    1350             :               break;
    1351           0 :             Mnemonic = "v_frexp_mant_f16";     // "v_frexp_mant_f16_e32"
    1352           0 :             return;
    1353             :           case '3':      // 1 string to match.
    1354           0 :             if (memcmp(Mnemonic.data()+15, "2_e32", 5) != 0)
    1355             :               break;
    1356           0 :             Mnemonic = "v_frexp_mant_f32";     // "v_frexp_mant_f32_e32"
    1357           0 :             return;
    1358             :           case '6':      // 1 string to match.
    1359           0 :             if (memcmp(Mnemonic.data()+15, "4_e32", 5) != 0)
    1360             :               break;
    1361           0 :             Mnemonic = "v_frexp_mant_f64";     // "v_frexp_mant_f64_e32"
    1362           0 :             return;
    1363             :           }
    1364             :           break;
    1365             :         case 'l':        // 1 string to match.
    1366           0 :           if (memcmp(Mnemonic.data()+3, "og_legacy_f32_e32", 17) != 0)
    1367             :             break;
    1368           0 :           Mnemonic = "v_log_legacy_f32";       // "v_log_legacy_f32_e32"
    1369           0 :           return;
    1370           0 :         case 'm':        // 6 strings to match.
    1371           0 :           switch (Mnemonic[3]) {
    1372             :           default: break;
    1373           0 :           case 'a':      // 2 strings to match.
    1374           0 :             switch (Mnemonic[4]) {
    1375             :             default: break;
    1376             :             case 'c':    // 1 string to match.
    1377           0 :               if (memcmp(Mnemonic.data()+5, "_legacy_f32_e32", 15) != 0)
    1378             :                 break;
    1379           0 :               Mnemonic = "v_mac_legacy_f32";   // "v_mac_legacy_f32_e32"
    1380           0 :               return;
    1381             :             case 'x':    // 1 string to match.
    1382           0 :               if (memcmp(Mnemonic.data()+5, "_legacy_f32_e32", 15) != 0)
    1383             :                 break;
    1384           0 :               Mnemonic = "v_max_legacy_f32";   // "v_max_legacy_f32_e32"
    1385           0 :               return;
    1386             :             }
    1387             :             break;
    1388             :           case 'i':      // 1 string to match.
    1389           0 :             if (memcmp(Mnemonic.data()+4, "n_legacy_f32_e32", 16) != 0)
    1390             :               break;
    1391           0 :             Mnemonic = "v_min_legacy_f32";     // "v_min_legacy_f32_e32"
    1392           0 :             return;
    1393             :           case 'u':      // 3 strings to match.
    1394           0 :             if (memcmp(Mnemonic.data()+4, "l_", 2) != 0)
    1395             :               break;
    1396           0 :             switch (Mnemonic[6]) {
    1397             :             default: break;
    1398             :             case 'h':    // 2 strings to match.
    1399           0 :               if (memcmp(Mnemonic.data()+7, "i_", 2) != 0)
    1400             :                 break;
    1401           0 :               switch (Mnemonic[9]) {
    1402             :               default: break;
    1403             :               case 'i':  // 1 string to match.
    1404           0 :                 if (memcmp(Mnemonic.data()+10, "32_i24_e32", 10) != 0)
    1405             :                   break;
    1406           0 :                 Mnemonic = "v_mul_hi_i32_i24";         // "v_mul_hi_i32_i24_e32"
    1407           0 :                 return;
    1408             :               case 'u':  // 1 string to match.
    1409           0 :                 if (memcmp(Mnemonic.data()+10, "32_u24_e32", 10) != 0)
    1410             :                   break;
    1411           0 :                 Mnemonic = "v_mul_hi_u32_u24";         // "v_mul_hi_u32_u24_e32"
    1412           0 :                 return;
    1413             :               }
    1414             :               break;
    1415             :             case 'l':    // 1 string to match.
    1416           0 :               if (memcmp(Mnemonic.data()+7, "egacy_f32_e32", 13) != 0)
    1417             :                 break;
    1418           0 :               Mnemonic = "v_mul_legacy_f32";   // "v_mul_legacy_f32_e32"
    1419           0 :               return;
    1420             :             }
    1421             :             break;
    1422             :           }
    1423             :           break;
    1424           0 :         case 'r':        // 2 strings to match.
    1425           0 :           switch (Mnemonic[3]) {
    1426             :           default: break;
    1427             :           case 'c':      // 1 string to match.
    1428           0 :             if (memcmp(Mnemonic.data()+4, "p_legacy_f32_e32", 16) != 0)
    1429             :               break;
    1430           0 :             Mnemonic = "v_rcp_legacy_f32";     // "v_rcp_legacy_f32_e32"
    1431           0 :             return;
    1432             :           case 's':      // 1 string to match.
    1433           0 :             if (memcmp(Mnemonic.data()+4, "q_legacy_f32_e32", 16) != 0)
    1434             :               break;
    1435           0 :             Mnemonic = "v_rsq_legacy_f32";     // "v_rsq_legacy_f32_e32"
    1436           0 :             return;
    1437             :           }
    1438             :           break;
    1439             :         }
    1440             :         break;
    1441             :       case 21:   // 2 strings to match.
    1442        1237 :         if (memcmp(Mnemonic.data()+0, "v_cvt_", 6) != 0)
    1443             :           break;
    1444           0 :         switch (Mnemonic[6]) {
    1445             :         default: break;
    1446             :         case 'f':        // 1 string to match.
    1447           0 :           if (memcmp(Mnemonic.data()+7, "lr_i32_f32_e32", 14) != 0)
    1448             :             break;
    1449           0 :           Mnemonic = "v_cvt_flr_i32_f32";      // "v_cvt_flr_i32_f32_e32"
    1450           0 :           return;
    1451             :         case 'r':        // 1 string to match.
    1452           0 :           if (memcmp(Mnemonic.data()+7, "pi_i32_f32_e32", 14) != 0)
    1453             :             break;
    1454           0 :           Mnemonic = "v_cvt_rpi_i32_f32";      // "v_cvt_rpi_i32_f32_e32"
    1455           0 :           return;
    1456             :         }
    1457             :         break;
    1458             :       case 22:   // 4 strings to match.
    1459         994 :         if (memcmp(Mnemonic.data()+0, "v_", 2) != 0)
    1460             :           break;
    1461         152 :         switch (Mnemonic[2]) {
    1462             :         default: break;
    1463             :         case 'c':        // 2 strings to match.
    1464           0 :           if (memcmp(Mnemonic.data()+3, "vt_norm_", 8) != 0)
    1465             :             break;
    1466           0 :           switch (Mnemonic[11]) {
    1467             :           default: break;
    1468             :           case 'i':      // 1 string to match.
    1469           0 :             if (memcmp(Mnemonic.data()+12, "16_f16_e32", 10) != 0)
    1470             :               break;
    1471           0 :             Mnemonic = "v_cvt_norm_i16_f16";   // "v_cvt_norm_i16_f16_e32"
    1472           0 :             return;
    1473             :           case 'u':      // 1 string to match.
    1474           0 :             if (memcmp(Mnemonic.data()+12, "16_f16_e32", 10) != 0)
    1475             :               break;
    1476           0 :             Mnemonic = "v_cvt_norm_u16_f16";   // "v_cvt_norm_u16_f16_e32"
    1477           0 :             return;
    1478             :           }
    1479             :           break;
    1480             :         case 'm':        // 2 strings to match.
    1481           0 :           if (memcmp(Mnemonic.data()+3, "bcnt_", 5) != 0)
    1482             :             break;
    1483           0 :           switch (Mnemonic[8]) {
    1484             :           default: break;
    1485             :           case 'h':      // 1 string to match.
    1486           0 :             if (memcmp(Mnemonic.data()+9, "i_u32_b32_e32", 13) != 0)
    1487             :               break;
    1488           0 :             Mnemonic = "v_mbcnt_hi_u32_b32";   // "v_mbcnt_hi_u32_b32_e32"
    1489           0 :             return;
    1490             :           case 'l':      // 1 string to match.
    1491           0 :             if (memcmp(Mnemonic.data()+9, "o_u32_b32_e32", 13) != 0)
    1492             :               break;
    1493           0 :             Mnemonic = "v_mbcnt_lo_u32_b32";   // "v_mbcnt_lo_u32_b32_e32"
    1494           0 :             return;
    1495             :           }
    1496             :           break;
    1497             :         }
    1498             :         break;
    1499             :       case 23:   // 4 strings to match.
    1500         301 :         if (memcmp(Mnemonic.data()+0, "v_", 2) != 0)
    1501             :           break;
    1502           0 :         switch (Mnemonic[2]) {
    1503             :         default: break;
    1504             :         case 'c':        // 1 string to match.
    1505           0 :           if (memcmp(Mnemonic.data()+3, "vt_pkrtz_f16_f32_e32", 20) != 0)
    1506             :             break;
    1507           0 :           Mnemonic = "v_cvt_pkrtz_f16_f32";    // "v_cvt_pkrtz_f16_f32_e32"
    1508           0 :           return;
    1509             :         case 'f':        // 3 strings to match.
    1510           0 :           if (memcmp(Mnemonic.data()+3, "rexp_exp_i", 10) != 0)
    1511             :             break;
    1512           0 :           switch (Mnemonic[13]) {
    1513             :           default: break;
    1514             :           case '1':      // 1 string to match.
    1515           0 :             if (memcmp(Mnemonic.data()+14, "6_f16_e32", 9) != 0)
    1516             :               break;
    1517           0 :             Mnemonic = "v_frexp_exp_i16_f16";  // "v_frexp_exp_i16_f16_e32"
    1518           0 :             return;
    1519             :           case '3':      // 2 strings to match.
    1520           0 :             if (memcmp(Mnemonic.data()+14, "2_f", 3) != 0)
    1521             :               break;
    1522           0 :             switch (Mnemonic[17]) {
    1523             :             default: break;
    1524             :             case '3':    // 1 string to match.
    1525           0 :               if (memcmp(Mnemonic.data()+18, "2_e32", 5) != 0)
    1526             :                 break;
    1527           0 :               Mnemonic = "v_frexp_exp_i32_f32";        // "v_frexp_exp_i32_f32_e32"
    1528           0 :               return;
    1529             :             case '6':    // 1 string to match.
    1530           0 :               if (memcmp(Mnemonic.data()+18, "4_e32", 5) != 0)
    1531             :                 break;
    1532           0 :               Mnemonic = "v_frexp_exp_i32_f64";        // "v_frexp_exp_i32_f64_e32"
    1533           0 :               return;
    1534             :             }
    1535             :             break;
    1536             :           }
    1537             :           break;
    1538             :         }
    1539             :         break;
    1540             :       case 24:   // 3 strings to match.
    1541         409 :         if (memcmp(Mnemonic.data()+0, "v_cvt_pk", 8) != 0)
    1542             :           break;
    1543           0 :         switch (Mnemonic[8]) {
    1544             :         default: break;
    1545             :         case 'a':        // 1 string to match.
    1546           0 :           if (memcmp(Mnemonic.data()+9, "ccum_u8_f32_e32", 15) != 0)
    1547             :             break;
    1548           0 :           Mnemonic = "v_cvt_pkaccum_u8_f32";   // "v_cvt_pkaccum_u8_f32_e32"
    1549           0 :           return;
    1550             :         case 'n':        // 2 strings to match.
    1551           0 :           if (memcmp(Mnemonic.data()+9, "orm_", 4) != 0)
    1552             :             break;
    1553           0 :           switch (Mnemonic[13]) {
    1554             :           default: break;
    1555             :           case 'i':      // 1 string to match.
    1556           0 :             if (memcmp(Mnemonic.data()+14, "16_f32_e32", 10) != 0)
    1557             :               break;
    1558           0 :             Mnemonic = "v_cvt_pknorm_i16_f32";         // "v_cvt_pknorm_i16_f32_e32"
    1559           0 :             return;
    1560             :           case 'u':      // 1 string to match.
    1561           0 :             if (memcmp(Mnemonic.data()+14, "16_f32_e32", 10) != 0)
    1562             :               break;
    1563           0 :             Mnemonic = "v_cvt_pknorm_u16_f32";         // "v_cvt_pknorm_u16_f32_e32"
    1564           0 :             return;
    1565             :           }
    1566             :           break;
    1567             :         }
    1568             :         break;
    1569             :       case 30:   // 1 string to match.
    1570           0 :         if (memcmp(Mnemonic.data()+0, "v_screen_partition_4se_b32_e32", 30) != 0)
    1571             :           break;
    1572           0 :         Mnemonic = "v_screen_partition_4se_b32";       // "v_screen_partition_4se_b32_e32"
    1573           0 :         return;
    1574             :       }
    1575             :     break;
    1576             :     case 1:
    1577       67111 :       switch (Mnemonic.size()) {
    1578             :       default: break;
    1579             :       case 9:    // 1 string to match.
    1580       10282 :         if (memcmp(Mnemonic.data()+0, "v_nop_e64", 9) != 0)
    1581             :           break;
    1582           0 :         Mnemonic = "v_nop";    // "v_nop_e64"
    1583           0 :         return;
    1584             :       case 12:   // 2 strings to match.
    1585       14357 :         if (memcmp(Mnemonic.data()+0, "v_", 2) != 0)
    1586             :           break;
    1587       14206 :         switch (Mnemonic[2]) {
    1588             :         default: break;
    1589             :         case 'o':        // 1 string to match.
    1590           0 :           if (memcmp(Mnemonic.data()+3, "r_b32_e64", 9) != 0)
    1591             :             break;
    1592           0 :           Mnemonic = "v_or_b32";       // "v_or_b32_e64"
    1593           0 :           return;
    1594             :         case 's':        // 1 string to match.
    1595         708 :           if (memcmp(Mnemonic.data()+3, "ad_u8_e64", 9) != 0)
    1596             :             break;
    1597           0 :           Mnemonic = "v_sad_u8";       // "v_sad_u8_e64"
    1598           0 :           return;
    1599             :         }
    1600             :         break;
    1601             :       case 13:   // 68 strings to match.
    1602       16268 :         if (memcmp(Mnemonic.data()+0, "v_", 2) != 0)
    1603             :           break;
    1604       16130 :         switch (Mnemonic[2]) {
    1605             :         default: break;
    1606         393 :         case 'a':        // 8 strings to match.
    1607         393 :           switch (Mnemonic[3]) {
    1608             :           default: break;
    1609             :           case 'd':      // 7 strings to match.
    1610          42 :             if (memcmp(Mnemonic.data()+4, "d_", 2) != 0)
    1611             :               break;
    1612           0 :             switch (Mnemonic[6]) {
    1613             :             default: break;
    1614           0 :             case 'f':    // 3 strings to match.
    1615           0 :               switch (Mnemonic[7]) {
    1616             :               default: break;
    1617             :               case '1':  // 1 string to match.
    1618           0 :                 if (memcmp(Mnemonic.data()+8, "6_e64", 5) != 0)
    1619             :                   break;
    1620           0 :                 Mnemonic = "v_add_f16";        // "v_add_f16_e64"
    1621           0 :                 return;
    1622             :               case '3':  // 1 string to match.
    1623           0 :                 if (memcmp(Mnemonic.data()+8, "2_e64", 5) != 0)
    1624             :                   break;
    1625           0 :                 Mnemonic = "v_add_f32";        // "v_add_f32_e64"
    1626           0 :                 return;
    1627             :               case '6':  // 1 string to match.
    1628           0 :                 if (memcmp(Mnemonic.data()+8, "4_e64", 5) != 0)
    1629             :                   break;
    1630           0 :                 Mnemonic = "v_add_f64";        // "v_add_f64_e64"
    1631           0 :                 return;
    1632             :               }
    1633             :               break;
    1634           0 :             case 'i':    // 2 strings to match.
    1635           0 :               switch (Mnemonic[7]) {
    1636             :               default: break;
    1637             :               case '1':  // 1 string to match.
    1638           0 :                 if (memcmp(Mnemonic.data()+8, "6_e64", 5) != 0)
    1639             :                   break;
    1640           0 :                 Mnemonic = "v_add_i16";        // "v_add_i16_e64"
    1641           0 :                 return;
    1642             :               case '3':  // 1 string to match.
    1643           0 :                 if (memcmp(Mnemonic.data()+8, "2_e64", 5) != 0)
    1644             :                   break;
    1645           0 :                 Mnemonic = "v_add_i32";        // "v_add_i32_e64"
    1646           0 :                 return;
    1647             :               }
    1648             :               break;
    1649           0 :             case 'u':    // 2 strings to match.
    1650           0 :               switch (Mnemonic[7]) {
    1651             :               default: break;
    1652             :               case '1':  // 1 string to match.
    1653           0 :                 if (memcmp(Mnemonic.data()+8, "6_e64", 5) != 0)
    1654             :                   break;
    1655           0 :                 Mnemonic = "v_add_u16";        // "v_add_u16_e64"
    1656           0 :                 return;
    1657             :               case '3':  // 1 string to match.
    1658           0 :                 if (memcmp(Mnemonic.data()+8, "2_e64", 5) != 0)
    1659             :                   break;
    1660           0 :                 Mnemonic = "v_add_u32";        // "v_add_u32_e64"
    1661           0 :                 return;
    1662             :               }
    1663             :               break;
    1664             :             }
    1665             :             break;
    1666             :           case 'n':      // 1 string to match.
    1667           0 :             if (memcmp(Mnemonic.data()+4, "d_b32_e64", 9) != 0)
    1668             :               break;
    1669           0 :             Mnemonic = "v_and_b32";    // "v_and_b32_e64"
    1670           0 :             return;
    1671             :           }
    1672             :           break;
    1673           0 :         case 'b':        // 4 strings to match.
    1674           0 :           if (Mnemonic[3] != 'f')
    1675             :             break;
    1676           0 :           switch (Mnemonic[4]) {
    1677             :           default: break;
    1678           0 :           case 'e':      // 2 strings to match.
    1679           0 :             if (Mnemonic[5] != '_')
    1680             :               break;
    1681           0 :             switch (Mnemonic[6]) {
    1682             :             default: break;
    1683             :             case 'i':    // 1 string to match.
    1684           0 :               if (memcmp(Mnemonic.data()+7, "32_e64", 6) != 0)
    1685             :                 break;
    1686           0 :               Mnemonic = "v_bfe_i32";  // "v_bfe_i32_e64"
    1687           0 :               return;
    1688             :             case 'u':    // 1 string to match.
    1689           0 :               if (memcmp(Mnemonic.data()+7, "32_e64", 6) != 0)
    1690             :                 break;
    1691           0 :               Mnemonic = "v_bfe_u32";  // "v_bfe_u32_e64"
    1692           0 :               return;
    1693             :             }
    1694             :             break;
    1695             :           case 'i':      // 1 string to match.
    1696           0 :             if (memcmp(Mnemonic.data()+5, "_b32_e64", 8) != 0)
    1697             :               break;
    1698           0 :             Mnemonic = "v_bfi_b32";    // "v_bfi_b32_e64"
    1699           0 :             return;
    1700             :           case 'm':      // 1 string to match.
    1701           0 :             if (memcmp(Mnemonic.data()+5, "_b32_e64", 8) != 0)
    1702             :               break;
    1703           0 :             Mnemonic = "v_bfm_b32";    // "v_bfm_b32_e64"
    1704           0 :             return;
    1705             :           }
    1706             :           break;
    1707       12931 :         case 'c':        // 3 strings to match.
    1708       12931 :           switch (Mnemonic[3]) {
    1709             :           default: break;
    1710             :           case 'l':      // 1 string to match.
    1711           0 :             if (memcmp(Mnemonic.data()+4, "rexcp_e64", 9) != 0)
    1712             :               break;
    1713           0 :             Mnemonic = "v_clrexcp";    // "v_clrexcp_e64"
    1714           0 :             return;
    1715             :           case 'o':      // 2 strings to match.
    1716           0 :             if (memcmp(Mnemonic.data()+4, "s_f", 3) != 0)
    1717             :               break;
    1718           0 :             switch (Mnemonic[7]) {
    1719             :             default: break;
    1720             :             case '1':    // 1 string to match.
    1721           0 :               if (memcmp(Mnemonic.data()+8, "6_e64", 5) != 0)
    1722             :                 break;
    1723           0 :               Mnemonic = "v_cos_f16";  // "v_cos_f16_e64"
    1724           0 :               return;
    1725             :             case '3':    // 1 string to match.
    1726           0 :               if (memcmp(Mnemonic.data()+8, "2_e64", 5) != 0)
    1727             :                 break;
    1728           0 :               Mnemonic = "v_cos_f32";  // "v_cos_f32_e64"
    1729           0 :               return;
    1730             :             }
    1731             :             break;
    1732             :           }
    1733             :           break;
    1734             :         case 'e':        // 2 strings to match.
    1735           0 :           if (memcmp(Mnemonic.data()+3, "xp_f", 4) != 0)
    1736             :             break;
    1737           0 :           switch (Mnemonic[7]) {
    1738             :           default: break;
    1739             :           case '1':      // 1 string to match.
    1740           0 :             if (memcmp(Mnemonic.data()+8, "6_e64", 5) != 0)
    1741             :               break;
    1742           0 :             Mnemonic = "v_exp_f16";    // "v_exp_f16_e64"
    1743           0 :             return;
    1744             :           case '3':      // 1 string to match.
    1745           0 :             if (memcmp(Mnemonic.data()+8, "2_e64", 5) != 0)
    1746             :               break;
    1747           0 :             Mnemonic = "v_exp_f32";    // "v_exp_f32_e64"
    1748           0 :             return;
    1749             :           }
    1750             :           break;
    1751             :         case 'f':        // 3 strings to match.
    1752          51 :           if (memcmp(Mnemonic.data()+3, "ma_f", 4) != 0)
    1753             :             break;
    1754           0 :           switch (Mnemonic[7]) {
    1755             :           default: break;
    1756             :           case '1':      // 1 string to match.
    1757           0 :             if (memcmp(Mnemonic.data()+8, "6_e64", 5) != 0)
    1758             :               break;
    1759           0 :             Mnemonic = "v_fma_f16";    // "v_fma_f16_e64"
    1760           0 :             return;
    1761             :           case '3':      // 1 string to match.
    1762           0 :             if (memcmp(Mnemonic.data()+8, "2_e64", 5) != 0)
    1763             :               break;
    1764           0 :             Mnemonic = "v_fma_f32";    // "v_fma_f32_e64"
    1765           0 :             return;
    1766             :           case '6':      // 1 string to match.
    1767           0 :             if (memcmp(Mnemonic.data()+8, "4_e64", 5) != 0)
    1768             :               break;
    1769           0 :             Mnemonic = "v_fma_f64";    // "v_fma_f64_e64"
    1770           0 :             return;
    1771             :           }
    1772             :           break;
    1773         795 :         case 'l':        // 3 strings to match.
    1774         795 :           switch (Mnemonic[3]) {
    1775             :           default: break;
    1776             :           case 'e':      // 1 string to match.
    1777           0 :             if (memcmp(Mnemonic.data()+4, "rp_u8_e64", 9) != 0)
    1778             :               break;
    1779           0 :             Mnemonic = "v_lerp_u8";    // "v_lerp_u8_e64"
    1780           0 :             return;
    1781             :           case 'o':      // 2 strings to match.
    1782           0 :             if (memcmp(Mnemonic.data()+4, "g_f", 3) != 0)
    1783             :               break;
    1784           0 :             switch (Mnemonic[7]) {
    1785             :             default: break;
    1786             :             case '1':    // 1 string to match.
    1787           0 :               if (memcmp(Mnemonic.data()+8, "6_e64", 5) != 0)
    1788             :                 break;
    1789           0 :               Mnemonic = "v_log_f16";  // "v_log_f16_e64"
    1790           0 :               return;
    1791             :             case '3':    // 1 string to match.
    1792           0 :               if (memcmp(Mnemonic.data()+8, "2_e64", 5) != 0)
    1793             :                 break;
    1794           0 :               Mnemonic = "v_log_f32";  // "v_log_f32_e64"
    1795           0 :               return;
    1796             :             }
    1797             :             break;
    1798             :           }
    1799             :           break;
    1800        1740 :         case 'm':        // 25 strings to match.
    1801        1740 :           switch (Mnemonic[3]) {
    1802             :           default: break;
    1803        1258 :           case 'a':      // 13 strings to match.
    1804        1258 :             switch (Mnemonic[4]) {
    1805             :             default: break;
    1806             :             case 'c':    // 2 strings to match.
    1807           0 :               if (memcmp(Mnemonic.data()+5, "_f", 2) != 0)
    1808             :                 break;
    1809           0 :               switch (Mnemonic[7]) {
    1810             :               default: break;
    1811             :               case '1':  // 1 string to match.
    1812           0 :                 if (memcmp(Mnemonic.data()+8, "6_e64", 5) != 0)
    1813             :                   break;
    1814           0 :                 Mnemonic = "v_mac_f16";        // "v_mac_f16_e64"
    1815           0 :                 return;
    1816             :               case '3':  // 1 string to match.
    1817           0 :                 if (memcmp(Mnemonic.data()+8, "2_e64", 5) != 0)
    1818             :                   break;
    1819           0 :                 Mnemonic = "v_mac_f32";        // "v_mac_f32_e64"
    1820           0 :                 return;
    1821             :               }
    1822             :               break;
    1823        1258 :             case 'd':    // 4 strings to match.
    1824        1258 :               if (Mnemonic[5] != '_')
    1825             :                 break;
    1826        1258 :               switch (Mnemonic[6]) {
    1827             :               default: break;
    1828           0 :               case 'f':  // 2 strings to match.
    1829           0 :                 switch (Mnemonic[7]) {
    1830             :                 default: break;
    1831             :                 case '1':        // 1 string to match.
    1832           0 :                   if (memcmp(Mnemonic.data()+8, "6_e64", 5) != 0)
    1833             :                     break;
    1834           0 :                   Mnemonic = "v_mad_f16";      // "v_mad_f16_e64"
    1835           0 :                   return;
    1836             :                 case '3':        // 1 string to match.
    1837           0 :                   if (memcmp(Mnemonic.data()+8, "2_e64", 5) != 0)
    1838             :                     break;
    1839           0 :                   Mnemonic = "v_mad_f32";      // "v_mad_f32_e64"
    1840           0 :                   return;
    1841             :                 }
    1842             :                 break;
    1843             :               case 'i':  // 1 string to match.
    1844         543 :                 if (memcmp(Mnemonic.data()+7, "16_e64", 6) != 0)
    1845             :                   break;
    1846           0 :                 Mnemonic = "v_mad_i16";        // "v_mad_i16_e64"
    1847           0 :                 return;
    1848             :               case 'u':  // 1 string to match.
    1849         547 :                 if (memcmp(Mnemonic.data()+7, "16_e64", 6) != 0)
    1850             :                   break;
    1851           0 :                 Mnemonic = "v_mad_u16";        // "v_mad_u16_e64"
    1852           0 :                 return;
    1853             :               }
    1854             :               break;
    1855           0 :             case 'x':    // 7 strings to match.
    1856           0 :               if (Mnemonic[5] != '_')
    1857             :                 break;
    1858           0 :               switch (Mnemonic[6]) {
    1859             :               default: break;
    1860           0 :               case 'f':  // 3 strings to match.
    1861           0 :                 switch (Mnemonic[7]) {
    1862             :                 default: break;
    1863             :                 case '1':        // 1 string to match.
    1864           0 :                   if (memcmp(Mnemonic.data()+8, "6_e64", 5) != 0)
    1865             :                     break;
    1866           0 :                   Mnemonic = "v_max_f16";      // "v_max_f16_e64"
    1867           0 :                   return;
    1868             :                 case '3':        // 1 string to match.
    1869           0 :                   if (memcmp(Mnemonic.data()+8, "2_e64", 5) != 0)
    1870             :                     break;
    1871           0 :                   Mnemonic = "v_max_f32";      // "v_max_f32_e64"
    1872           0 :                   return;
    1873             :                 case '6':        // 1 string to match.
    1874           0 :                   if (memcmp(Mnemonic.data()+8, "4_e64", 5) != 0)
    1875             :                     break;
    1876           0 :                   Mnemonic = "v_max_f64";      // "v_max_f64_e64"
    1877           0 :                   return;
    1878             :                 }
    1879             :                 break;
    1880           0 :               case 'i':  // 2 strings to match.
    1881           0 :                 switch (Mnemonic[7]) {
    1882             :                 default: break;
    1883             :                 case '1':        // 1 string to match.
    1884           0 :                   if (memcmp(Mnemonic.data()+8, "6_e64", 5) != 0)
    1885             :                     break;
    1886           0 :                   Mnemonic = "v_max_i16";      // "v_max_i16_e64"
    1887           0 :                   return;
    1888             :                 case '3':        // 1 string to match.
    1889           0 :                   if (memcmp(Mnemonic.data()+8, "2_e64", 5) != 0)
    1890             :                     break;
    1891           0 :                   Mnemonic = "v_max_i32";      // "v_max_i32_e64"
    1892           0 :                   return;
    1893             :                 }
    1894             :                 break;
    1895           0 :               case 'u':  // 2 strings to match.
    1896           0 :                 switch (Mnemonic[7]) {
    1897             :                 default: break;
    1898             :                 case '1':        // 1 string to match.
    1899           0 :                   if (memcmp(Mnemonic.data()+8, "6_e64", 5) != 0)
    1900             :                     break;
    1901           0 :                   Mnemonic = "v_max_u16";      // "v_max_u16_e64"
    1902           0 :                   return;
    1903             :                 case '3':        // 1 string to match.
    1904           0 :                   if (memcmp(Mnemonic.data()+8, "2_e64", 5) != 0)
    1905             :                     break;
    1906           0 :                   Mnemonic = "v_max_u32";      // "v_max_u32_e64"
    1907           0 :                   return;
    1908             :                 }
    1909             :                 break;
    1910             :               }
    1911             :               break;
    1912             :             }
    1913             :             break;
    1914             :           case 'i':      // 7 strings to match.
    1915           0 :             if (memcmp(Mnemonic.data()+4, "n_", 2) != 0)
    1916             :               break;
    1917           0 :             switch (Mnemonic[6]) {
    1918             :             default: break;
    1919           0 :             case 'f':    // 3 strings to match.
    1920           0 :               switch (Mnemonic[7]) {
    1921             :               default: break;
    1922             :               case '1':  // 1 string to match.
    1923           0 :                 if (memcmp(Mnemonic.data()+8, "6_e64", 5) != 0)
    1924             :                   break;
    1925           0 :                 Mnemonic = "v_min_f16";        // "v_min_f16_e64"
    1926           0 :                 return;
    1927             :               case '3':  // 1 string to match.
    1928           0 :                 if (memcmp(Mnemonic.data()+8, "2_e64", 5) != 0)
    1929             :                   break;
    1930           0 :                 Mnemonic = "v_min_f32";        // "v_min_f32_e64"
    1931           0 :                 return;
    1932             :               case '6':  // 1 string to match.
    1933           0 :                 if (memcmp(Mnemonic.data()+8, "4_e64", 5) != 0)
    1934             :                   break;
    1935           0 :                 Mnemonic = "v_min_f64";        // "v_min_f64_e64"
    1936           0 :                 return;
    1937             :               }
    1938             :               break;
    1939           0 :             case 'i':    // 2 strings to match.
    1940           0 :               switch (Mnemonic[7]) {
    1941             :               default: break;
    1942             :               case '1':  // 1 string to match.
    1943           0 :                 if (memcmp(Mnemonic.data()+8, "6_e64", 5) != 0)
    1944             :                   break;
    1945           0 :                 Mnemonic = "v_min_i16";        // "v_min_i16_e64"
    1946           0 :                 return;
    1947             :               case '3':  // 1 string to match.
    1948           0 :                 if (memcmp(Mnemonic.data()+8, "2_e64", 5) != 0)
    1949             :                   break;
    1950           0 :                 Mnemonic = "v_min_i32";        // "v_min_i32_e64"
    1951           0 :                 return;
    1952             :               }
    1953             :               break;
    1954           0 :             case 'u':    // 2 strings to match.
    1955           0 :               switch (Mnemonic[7]) {
    1956             :               default: break;
    1957             :               case '1':  // 1 string to match.
    1958           0 :                 if (memcmp(Mnemonic.data()+8, "6_e64", 5) != 0)
    1959             :                   break;
    1960           0 :                 Mnemonic = "v_min_u16";        // "v_min_u16_e64"
    1961           0 :                 return;
    1962             :               case '3':  // 1 string to match.
    1963           0 :                 if (memcmp(Mnemonic.data()+8, "2_e64", 5) != 0)
    1964             :                   break;
    1965           0 :                 Mnemonic = "v_min_u32";        // "v_min_u32_e64"
    1966           0 :                 return;
    1967             :               }
    1968             :               break;
    1969             :             }
    1970             :             break;
    1971             :           case 'o':      // 1 string to match.
    1972         102 :             if (memcmp(Mnemonic.data()+4, "v_b32_e64", 9) != 0)
    1973             :               break;
    1974           0 :             Mnemonic = "v_mov_b32";    // "v_mov_b32_e64"
    1975           0 :             return;
    1976             :           case 's':      // 1 string to match.
    1977           0 :             if (memcmp(Mnemonic.data()+4, "ad_u8_e64", 9) != 0)
    1978             :               break;
    1979           0 :             Mnemonic = "v_msad_u8";    // "v_msad_u8_e64"
    1980           0 :             return;
    1981             :           case 'u':      // 3 strings to match.
    1982         380 :             if (memcmp(Mnemonic.data()+4, "l_f", 3) != 0)
    1983             :               break;
    1984           0 :             switch (Mnemonic[7]) {
    1985             :             default: break;
    1986             :             case '1':    // 1 string to match.
    1987           0 :               if (memcmp(Mnemonic.data()+8, "6_e64", 5) != 0)
    1988             :                 break;
    1989           0 :               Mnemonic = "v_mul_f16";  // "v_mul_f16_e64"
    1990           0 :               return;
    1991             :             case '3':    // 1 string to match.
    1992           0 :               if (memcmp(Mnemonic.data()+8, "2_e64", 5) != 0)
    1993             :                 break;
    1994           0 :               Mnemonic = "v_mul_f32";  // "v_mul_f32_e64"
    1995           0 :               return;
    1996             :             case '6':    // 1 string to match.
    1997           0 :               if (memcmp(Mnemonic.data()+8, "4_e64", 5) != 0)
    1998             :                 break;
    1999           0 :               Mnemonic = "v_mul_f64";  // "v_mul_f64_e64"
    2000           0 :               return;
    2001             :             }
    2002             :             break;
    2003             :           }
    2004             :           break;
    2005             :         case 'n':        // 1 string to match.
    2006           0 :           if (memcmp(Mnemonic.data()+3, "ot_b32_e64", 10) != 0)
    2007             :             break;
    2008           0 :           Mnemonic = "v_not_b32";      // "v_not_b32_e64"
    2009           0 :           return;
    2010             :         case 'o':        // 1 string to match.
    2011           0 :           if (memcmp(Mnemonic.data()+3, "r3_b32_e64", 10) != 0)
    2012             :             break;
    2013           0 :           Mnemonic = "v_or3_b32";      // "v_or3_b32_e64"
    2014           0 :           return;
    2015           0 :         case 'r':        // 6 strings to match.
    2016           0 :           switch (Mnemonic[3]) {
    2017             :           default: break;
    2018             :           case 'c':      // 3 strings to match.
    2019           0 :             if (memcmp(Mnemonic.data()+4, "p_f", 3) != 0)
    2020             :               break;
    2021           0 :             switch (Mnemonic[7]) {
    2022             :             default: break;
    2023             :             case '1':    // 1 string to match.
    2024           0 :               if (memcmp(Mnemonic.data()+8, "6_e64", 5) != 0)
    2025             :                 break;
    2026           0 :               Mnemonic = "v_rcp_f16";  // "v_rcp_f16_e64"
    2027           0 :               return;
    2028             :             case '3':    // 1 string to match.
    2029           0 :               if (memcmp(Mnemonic.data()+8, "2_e64", 5) != 0)
    2030             :                 break;
    2031           0 :               Mnemonic = "v_rcp_f32";  // "v_rcp_f32_e64"
    2032           0 :               return;
    2033             :             case '6':    // 1 string to match.
    2034           0 :               if (memcmp(Mnemonic.data()+8, "4_e64", 5) != 0)
    2035             :                 break;
    2036           0 :               Mnemonic = "v_rcp_f64";  // "v_rcp_f64_e64"
    2037           0 :               return;
    2038             :             }
    2039             :             break;
    2040             :           case 's':      // 3 strings to match.
    2041           0 :             if (memcmp(Mnemonic.data()+4, "q_f", 3) != 0)
    2042             :               break;
    2043           0 :             switch (Mnemonic[7]) {
    2044             :             default: break;
    2045             :             case '1':    // 1 string to match.
    2046           0 :               if (memcmp(Mnemonic.data()+8, "6_e64", 5) != 0)
    2047             :                 break;
    2048           0 :               Mnemonic = "v_rsq_f16";  // "v_rsq_f16_e64"
    2049           0 :               return;
    2050             :             case '3':    // 1 string to match.
    2051           0 :               if (memcmp(Mnemonic.data()+8, "2_e64", 5) != 0)
    2052             :                 break;
    2053           0 :               Mnemonic = "v_rsq_f32";  // "v_rsq_f32_e64"
    2054           0 :               return;
    2055             :             case '6':    // 1 string to match.
    2056           0 :               if (memcmp(Mnemonic.data()+8, "4_e64", 5) != 0)
    2057             :                 break;
    2058           0 :               Mnemonic = "v_rsq_f64";  // "v_rsq_f64_e64"
    2059           0 :               return;
    2060             :             }
    2061             :             break;
    2062             :           }
    2063             :           break;
    2064         104 :         case 's':        // 10 strings to match.
    2065         104 :           switch (Mnemonic[3]) {
    2066             :           default: break;
    2067             :           case 'a':      // 2 strings to match.
    2068           0 :             if (memcmp(Mnemonic.data()+4, "d_u", 3) != 0)
    2069             :               break;
    2070           0 :             switch (Mnemonic[7]) {
    2071             :             default: break;
    2072             :             case '1':    // 1 string to match.
    2073           0 :               if (memcmp(Mnemonic.data()+8, "6_e64", 5) != 0)
    2074             :                 break;
    2075           0 :               Mnemonic = "v_sad_u16";  // "v_sad_u16_e64"
    2076           0 :               return;
    2077             :             case '3':    // 1 string to match.
    2078           0 :               if (memcmp(Mnemonic.data()+8, "2_e64", 5) != 0)
    2079             :                 break;
    2080           0 :               Mnemonic = "v_sad_u32";  // "v_sad_u32_e64"
    2081           0 :               return;
    2082             :             }
    2083             :             break;
    2084             :           case 'i':      // 2 strings to match.
    2085           0 :             if (memcmp(Mnemonic.data()+4, "n_f", 3) != 0)
    2086             :               break;
    2087           0 :             switch (Mnemonic[7]) {
    2088             :             default: break;
    2089             :             case '1':    // 1 string to match.
    2090           0 :               if (memcmp(Mnemonic.data()+8, "6_e64", 5) != 0)
    2091             :                 break;
    2092           0 :               Mnemonic = "v_sin_f16";  // "v_sin_f16_e64"
    2093           0 :               return;
    2094             :             case '3':    // 1 string to match.
    2095           0 :               if (memcmp(Mnemonic.data()+8, "2_e64", 5) != 0)
    2096             :                 break;
    2097           0 :               Mnemonic = "v_sin_f32";  // "v_sin_f32_e64"
    2098           0 :               return;
    2099             :             }
    2100             :             break;
    2101             :           case 'u':      // 6 strings to match.
    2102         104 :             if (memcmp(Mnemonic.data()+4, "b_", 2) != 0)
    2103             :               break;
    2104           0 :             switch (Mnemonic[6]) {
    2105             :             default: break;
    2106           0 :             case 'f':    // 2 strings to match.
    2107           0 :               switch (Mnemonic[7]) {
    2108             :               default: break;
    2109             :               case '1':  // 1 string to match.
    2110           0 :                 if (memcmp(Mnemonic.data()+8, "6_e64", 5) != 0)
    2111             :                   break;
    2112           0 :                 Mnemonic = "v_sub_f16";        // "v_sub_f16_e64"
    2113           0 :                 return;
    2114             :               case '3':  // 1 string to match.
    2115           0 :                 if (memcmp(Mnemonic.data()+8, "2_e64", 5) != 0)
    2116             :                   break;
    2117           0 :                 Mnemonic = "v_sub_f32";        // "v_sub_f32_e64"
    2118           0 :                 return;
    2119             :               }
    2120             :               break;
    2121           0 :             case 'i':    // 2 strings to match.
    2122           0 :               switch (Mnemonic[7]) {
    2123             :               default: break;
    2124             :               case '1':  // 1 string to match.
    2125           0 :                 if (memcmp(Mnemonic.data()+8, "6_e64", 5) != 0)
    2126             :                   break;
    2127           0 :                 Mnemonic = "v_sub_i16";        // "v_sub_i16_e64"
    2128           0 :                 return;
    2129             :               case '3':  // 1 string to match.
    2130           0 :                 if (memcmp(Mnemonic.data()+8, "2_e64", 5) != 0)
    2131             :                   break;
    2132           0 :                 Mnemonic = "v_sub_i32";        // "v_sub_i32_e64"
    2133           0 :                 return;
    2134             :               }
    2135             :               break;
    2136           0 :             case 'u':    // 2 strings to match.
    2137           0 :               switch (Mnemonic[7]) {
    2138             :               default: break;
    2139             :               case '1':  // 1 string to match.
    2140           0 :                 if (memcmp(Mnemonic.data()+8, "6_e64", 5) != 0)
    2141             :                   break;
    2142           0 :                 Mnemonic = "v_sub_u16";        // "v_sub_u16_e64"
    2143           0 :                 return;
    2144             :               case '3':  // 1 string to match.
    2145           0 :                 if (memcmp(Mnemonic.data()+8, "2_e64", 5) != 0)
    2146             :                   break;
    2147           0 :                 Mnemonic = "v_sub_u32";        // "v_sub_u32_e64"
    2148           0 :                 return;
    2149             :               }
    2150             :               break;
    2151             :             }
    2152             :             break;
    2153             :           }
    2154             :           break;
    2155           0 :         case 'x':        // 2 strings to match.
    2156           0 :           switch (Mnemonic[3]) {
    2157             :           default: break;
    2158             :           case 'a':      // 1 string to match.
    2159           0 :             if (memcmp(Mnemonic.data()+4, "d_u32_e64", 9) != 0)
    2160             :               break;
    2161           0 :             Mnemonic = "v_xad_u32";    // "v_xad_u32_e64"
    2162           0 :             return;
    2163             :           case 'o':      // 1 string to match.
    2164           0 :             if (memcmp(Mnemonic.data()+4, "r_b32_e64", 9) != 0)
    2165             :               break;
    2166           0 :             Mnemonic = "v_xor_b32";    // "v_xor_b32_e64"
    2167           0 :             return;
    2168             :           }
    2169             :           break;
    2170             :         }
    2171             :         break;
    2172             :       case 14:   // 39 strings to match.
    2173        5597 :         if (memcmp(Mnemonic.data()+0, "v_", 2) != 0)
    2174             :           break;
    2175        5563 :         switch (Mnemonic[2]) {
    2176             :         default: break;
    2177         274 :         case 'a':        // 4 strings to match.
    2178         274 :           switch (Mnemonic[3]) {
    2179             :           default: break;
    2180          92 :           case 'd':      // 2 strings to match.
    2181          92 :             if (Mnemonic[4] != 'd')
    2182             :               break;
    2183          92 :             switch (Mnemonic[5]) {
    2184             :             default: break;
    2185             :             case '3':    // 1 string to match.
    2186           0 :               if (memcmp(Mnemonic.data()+6, "_u32_e64", 8) != 0)
    2187             :                 break;
    2188           0 :               Mnemonic = "v_add3_u32";         // "v_add3_u32_e64"
    2189           0 :               return;
    2190             :             case 'c':    // 1 string to match.
    2191           0 :               if (memcmp(Mnemonic.data()+6, "_u32_e64", 8) != 0)
    2192             :                 break;
    2193           0 :               Mnemonic = "v_addc_u32";         // "v_addc_u32_e64"
    2194           0 :               return;
    2195             :             }
    2196             :             break;
    2197             :           case 's':      // 2 strings to match.
    2198           0 :             if (memcmp(Mnemonic.data()+4, "hr_i", 4) != 0)
    2199             :               break;
    2200           0 :             switch (Mnemonic[8]) {
    2201             :             default: break;
    2202             :             case '3':    // 1 string to match.
    2203           0 :               if (memcmp(Mnemonic.data()+9, "2_e64", 5) != 0)
    2204             :                 break;
    2205           0 :               Mnemonic = "v_ashr_i32";         // "v_ashr_i32_e64"
    2206           0 :               return;
    2207             :             case '6':    // 1 string to match.
    2208           0 :               if (memcmp(Mnemonic.data()+9, "4_e64", 5) != 0)
    2209             :                 break;
    2210           0 :               Mnemonic = "v_ashr_i64";         // "v_ashr_i64_e64"
    2211           0 :               return;
    2212             :             }
    2213             :             break;
    2214             :           }
    2215             :           break;
    2216             :         case 'c':        // 3 strings to match.
    2217        4266 :           if (memcmp(Mnemonic.data()+3, "eil_f", 5) != 0)
    2218             :             break;
    2219           0 :           switch (Mnemonic[8]) {
    2220             :           default: break;
    2221             :           case '1':      // 1 string to match.
    2222           0 :             if (memcmp(Mnemonic.data()+9, "6_e64", 5) != 0)
    2223             :               break;
    2224           0 :             Mnemonic = "v_ceil_f16";   // "v_ceil_f16_e64"
    2225           0 :             return;
    2226             :           case '3':      // 1 string to match.
    2227           0 :             if (memcmp(Mnemonic.data()+9, "2_e64", 5) != 0)
    2228             :               break;
    2229           0 :             Mnemonic = "v_ceil_f32";   // "v_ceil_f32_e64"
    2230           0 :             return;
    2231             :           case '6':      // 1 string to match.
    2232           0 :             if (memcmp(Mnemonic.data()+9, "4_e64", 5) != 0)
    2233             :               break;
    2234           0 :             Mnemonic = "v_ceil_f64";   // "v_ceil_f64_e64"
    2235           0 :             return;
    2236             :           }
    2237             :           break;
    2238           0 :         case 'f':        // 4 strings to match.
    2239           0 :           switch (Mnemonic[3]) {
    2240             :           default: break;
    2241           0 :           case 'f':      // 3 strings to match.
    2242           0 :             if (Mnemonic[4] != 'b')
    2243             :               break;
    2244           0 :             switch (Mnemonic[5]) {
    2245             :             default: break;
    2246           0 :             case 'h':    // 2 strings to match.
    2247           0 :               if (Mnemonic[6] != '_')
    2248             :                 break;
    2249           0 :               switch (Mnemonic[7]) {
    2250             :               default: break;
    2251             :               case 'i':  // 1 string to match.
    2252           0 :                 if (memcmp(Mnemonic.data()+8, "32_e64", 6) != 0)
    2253             :                   break;
    2254           0 :                 Mnemonic = "v_ffbh_i32";       // "v_ffbh_i32_e64"
    2255           0 :                 return;
    2256             :               case 'u':  // 1 string to match.
    2257           0 :                 if (memcmp(Mnemonic.data()+8, "32_e64", 6) != 0)
    2258             :                   break;
    2259           0 :                 Mnemonic = "v_ffbh_u32";       // "v_ffbh_u32_e64"
    2260           0 :                 return;
    2261             :               }
    2262             :               break;
    2263             :             case 'l':    // 1 string to match.
    2264           0 :               if (memcmp(Mnemonic.data()+6, "_b32_e64", 8) != 0)
    2265             :                 break;
    2266           0 :               Mnemonic = "v_ffbl_b32";         // "v_ffbl_b32_e64"
    2267           0 :               return;
    2268             :             }
    2269             :             break;
    2270             :           case 'm':      // 1 string to match.
    2271           0 :             if (memcmp(Mnemonic.data()+4, "ac_f32_e64", 10) != 0)
    2272             :               break;
    2273           0 :             Mnemonic = "v_fmac_f32";   // "v_fmac_f32_e64"
    2274           0 :             return;
    2275             :           }
    2276             :           break;
    2277             :         case 'l':        // 4 strings to match.
    2278          92 :           if (memcmp(Mnemonic.data()+3, "sh", 2) != 0)
    2279             :             break;
    2280          92 :           switch (Mnemonic[5]) {
    2281             :           default: break;
    2282             :           case 'l':      // 2 strings to match.
    2283          92 :             if (memcmp(Mnemonic.data()+6, "_b", 2) != 0)
    2284             :               break;
    2285           0 :             switch (Mnemonic[8]) {
    2286             :             default: break;
    2287             :             case '3':    // 1 string to match.
    2288           0 :               if (memcmp(Mnemonic.data()+9, "2_e64", 5) != 0)
    2289             :                 break;
    2290           0 :               Mnemonic = "v_lshl_b32";         // "v_lshl_b32_e64"
    2291           0 :               return;
    2292             :             case '6':    // 1 string to match.
    2293           0 :               if (memcmp(Mnemonic.data()+9, "4_e64", 5) != 0)
    2294             :                 break;
    2295           0 :               Mnemonic = "v_lshl_b64";         // "v_lshl_b64_e64"
    2296           0 :               return;
    2297             :             }
    2298             :             break;
    2299             :           case 'r':      // 2 strings to match.
    2300           0 :             if (memcmp(Mnemonic.data()+6, "_b", 2) != 0)
    2301             :               break;
    2302           0 :             switch (Mnemonic[8]) {
    2303             :             default: break;
    2304             :             case '3':    // 1 string to match.
    2305           0 :               if (memcmp(Mnemonic.data()+9, "2_e64", 5) != 0)
    2306             :                 break;
    2307           0 :               Mnemonic = "v_lshr_b32";         // "v_lshr_b32_e64"
    2308           0 :               return;
    2309             :             case '6':    // 1 string to match.
    2310           0 :               if (memcmp(Mnemonic.data()+9, "4_e64", 5) != 0)
    2311             :                 break;
    2312           0 :               Mnemonic = "v_lshr_b64";         // "v_lshr_b64_e64"
    2313           0 :               return;
    2314             :             }
    2315             :             break;
    2316             :           }
    2317             :           break;
    2318         133 :         case 'm':        // 18 strings to match.
    2319         133 :           switch (Mnemonic[3]) {
    2320             :           default: break;
    2321             :           case 'a':      // 6 strings to match.
    2322           0 :             if (memcmp(Mnemonic.data()+4, "x3_", 3) != 0)
    2323             :               break;
    2324           0 :             switch (Mnemonic[7]) {
    2325             :             default: break;
    2326           0 :             case 'f':    // 2 strings to match.
    2327           0 :               switch (Mnemonic[8]) {
    2328             :               default: break;
    2329             :               case '1':  // 1 string to match.
    2330           0 :                 if (memcmp(Mnemonic.data()+9, "6_e64", 5) != 0)
    2331             :                   break;
    2332           0 :                 Mnemonic = "v_max3_f16";       // "v_max3_f16_e64"
    2333           0 :                 return;
    2334             :               case '3':  // 1 string to match.
    2335           0 :                 if (memcmp(Mnemonic.data()+9, "2_e64", 5) != 0)
    2336             :                   break;
    2337           0 :                 Mnemonic = "v_max3_f32";       // "v_max3_f32_e64"
    2338           0 :                 return;
    2339             :               }
    2340             :               break;
    2341           0 :             case 'i':    // 2 strings to match.
    2342           0 :               switch (Mnemonic[8]) {
    2343             :               default: break;
    2344             :               case '1':  // 1 string to match.
    2345           0 :                 if (memcmp(Mnemonic.data()+9, "6_e64", 5) != 0)
    2346             :                   break;
    2347           0 :                 Mnemonic = "v_max3_i16";       // "v_max3_i16_e64"
    2348           0 :                 return;
    2349             :               case '3':  // 1 string to match.
    2350           0 :                 if (memcmp(Mnemonic.data()+9, "2_e64", 5) != 0)
    2351             :                   break;
    2352           0 :                 Mnemonic = "v_max3_i32";       // "v_max3_i32_e64"
    2353           0 :                 return;
    2354             :               }
    2355             :               break;
    2356           0 :             case 'u':    // 2 strings to match.
    2357           0 :               switch (Mnemonic[8]) {
    2358             :               default: break;
    2359             :               case '1':  // 1 string to match.
    2360           0 :                 if (memcmp(Mnemonic.data()+9, "6_e64", 5) != 0)
    2361             :                   break;
    2362           0 :                 Mnemonic = "v_max3_u16";       // "v_max3_u16_e64"
    2363           0 :                 return;
    2364             :               case '3':  // 1 string to match.
    2365           0 :                 if (memcmp(Mnemonic.data()+9, "2_e64", 5) != 0)
    2366             :                   break;
    2367           0 :                 Mnemonic = "v_max3_u32";       // "v_max3_u32_e64"
    2368           0 :                 return;
    2369             :               }
    2370             :               break;
    2371             :             }
    2372             :             break;
    2373             :           case 'e':      // 6 strings to match.
    2374           0 :             if (memcmp(Mnemonic.data()+4, "d3_", 3) != 0)
    2375             :               break;
    2376           0 :             switch (Mnemonic[7]) {
    2377             :             default: break;
    2378           0 :             case 'f':    // 2 strings to match.
    2379           0 :               switch (Mnemonic[8]) {
    2380             :               default: break;
    2381             :               case '1':  // 1 string to match.
    2382           0 :                 if (memcmp(Mnemonic.data()+9, "6_e64", 5) != 0)
    2383             :                   break;
    2384           0 :                 Mnemonic = "v_med3_f16";       // "v_med3_f16_e64"
    2385           0 :                 return;
    2386             :               case '3':  // 1 string to match.
    2387           0 :                 if (memcmp(Mnemonic.data()+9, "2_e64", 5) != 0)
    2388             :                   break;
    2389           0 :                 Mnemonic = "v_med3_f32";       // "v_med3_f32_e64"
    2390           0 :                 return;
    2391             :               }
    2392             :               break;
    2393           0 :             case 'i':    // 2 strings to match.
    2394           0 :               switch (Mnemonic[8]) {
    2395             :               default: break;
    2396             :               case '1':  // 1 string to match.
    2397           0 :                 if (memcmp(Mnemonic.data()+9, "6_e64", 5) != 0)
    2398             :                   break;
    2399           0 :                 Mnemonic = "v_med3_i16";       // "v_med3_i16_e64"
    2400           0 :                 return;
    2401             :               case '3':  // 1 string to match.
    2402           0 :                 if (memcmp(Mnemonic.data()+9, "2_e64", 5) != 0)
    2403             :                   break;
    2404           0 :                 Mnemonic = "v_med3_i32";       // "v_med3_i32_e64"
    2405           0 :                 return;
    2406             :               }
    2407             :               break;
    2408           0 :             case 'u':    // 2 strings to match.
    2409           0 :               switch (Mnemonic[8]) {
    2410             :               default: break;
    2411             :               case '1':  // 1 string to match.
    2412           0 :                 if (memcmp(Mnemonic.data()+9, "6_e64", 5) != 0)
    2413             :                   break;
    2414           0 :                 Mnemonic = "v_med3_u16";       // "v_med3_u16_e64"
    2415           0 :                 return;
    2416             :               case '3':  // 1 string to match.
    2417           0 :                 if (memcmp(Mnemonic.data()+9, "2_e64", 5) != 0)
    2418             :                   break;
    2419           0 :                 Mnemonic = "v_med3_u32";       // "v_med3_u32_e64"
    2420           0 :                 return;
    2421             :               }
    2422             :               break;
    2423             :             }
    2424             :             break;
    2425             :           case 'i':      // 6 strings to match.
    2426           0 :             if (memcmp(Mnemonic.data()+4, "n3_", 3) != 0)
    2427             :               break;
    2428           0 :             switch (Mnemonic[7]) {
    2429             :             default: break;
    2430           0 :             case 'f':    // 2 strings to match.
    2431           0 :               switch (Mnemonic[8]) {
    2432             :               default: break;
    2433             :               case '1':  // 1 string to match.
    2434           0 :                 if (memcmp(Mnemonic.data()+9, "6_e64", 5) != 0)
    2435             :                   break;
    2436           0 :                 Mnemonic = "v_min3_f16";       // "v_min3_f16_e64"
    2437           0 :                 return;
    2438             :               case '3':  // 1 string to match.
    2439           0 :                 if (memcmp(Mnemonic.data()+9, "2_e64", 5) != 0)
    2440             :                   break;
    2441           0 :                 Mnemonic = "v_min3_f32";       // "v_min3_f32_e64"
    2442           0 :                 return;
    2443             :               }
    2444             :               break;
    2445           0 :             case 'i':    // 2 strings to match.
    2446           0 :               switch (Mnemonic[8]) {
    2447             :               default: break;
    2448             :               case '1':  // 1 string to match.
    2449           0 :                 if (memcmp(Mnemonic.data()+9, "6_e64", 5) != 0)
    2450             :                   break;
    2451           0 :                 Mnemonic = "v_min3_i16";       // "v_min3_i16_e64"
    2452           0 :                 return;
    2453             :               case '3':  // 1 string to match.
    2454           0 :                 if (memcmp(Mnemonic.data()+9, "2_e64", 5) != 0)
    2455             :                   break;
    2456           0 :                 Mnemonic = "v_min3_i32";       // "v_min3_i32_e64"
    2457           0 :                 return;
    2458             :               }
    2459             :               break;
    2460           0 :             case 'u':    // 2 strings to match.
    2461           0 :               switch (Mnemonic[8]) {
    2462             :               default: break;
    2463             :               case '1':  // 1 string to match.
    2464           0 :                 if (memcmp(Mnemonic.data()+9, "6_e64", 5) != 0)
    2465             :                   break;
    2466           0 :                 Mnemonic = "v_min3_u16";       // "v_min3_u16_e64"
    2467           0 :                 return;
    2468             :               case '3':  // 1 string to match.
    2469           0 :                 if (memcmp(Mnemonic.data()+9, "2_e64", 5) != 0)
    2470             :                   break;
    2471           0 :                 Mnemonic = "v_min3_u32";       // "v_min3_u32_e64"
    2472           0 :                 return;
    2473             :               }
    2474             :               break;
    2475             :             }
    2476             :             break;
    2477             :           }
    2478             :           break;
    2479             :         case 'p':        // 1 string to match.
    2480          89 :           if (memcmp(Mnemonic.data()+3, "erm_b32_e64", 11) != 0)
    2481             :             break;
    2482           0 :           Mnemonic = "v_perm_b32";     // "v_perm_b32_e64"
    2483           0 :           return;
    2484           0 :         case 's':        // 4 strings to match.
    2485           0 :           switch (Mnemonic[3]) {
    2486             :           default: break;
    2487             :           case 'q':      // 3 strings to match.
    2488           0 :             if (memcmp(Mnemonic.data()+4, "rt_f", 4) != 0)
    2489             :               break;
    2490           0 :             switch (Mnemonic[8]) {
    2491             :             default: break;
    2492             :             case '1':    // 1 string to match.
    2493           0 :               if (memcmp(Mnemonic.data()+9, "6_e64", 5) != 0)
    2494             :                 break;
    2495           0 :               Mnemonic = "v_sqrt_f16";         // "v_sqrt_f16_e64"
    2496           0 :               return;
    2497             :             case '3':    // 1 string to match.
    2498           0 :               if (memcmp(Mnemonic.data()+9, "2_e64", 5) != 0)
    2499             :                 break;
    2500           0 :               Mnemonic = "v_sqrt_f32";         // "v_sqrt_f32_e64"
    2501           0 :               return;
    2502             :             case '6':    // 1 string to match.
    2503           0 :               if (memcmp(Mnemonic.data()+9, "4_e64", 5) != 0)
    2504             :                 break;
    2505           0 :               Mnemonic = "v_sqrt_f64";         // "v_sqrt_f64_e64"
    2506           0 :               return;
    2507             :             }
    2508             :             break;
    2509             :           case 'u':      // 1 string to match.
    2510           0 :             if (memcmp(Mnemonic.data()+4, "bb_u32_e64", 10) != 0)
    2511             :               break;
    2512           0 :             Mnemonic = "v_subb_u32";   // "v_subb_u32_e64"
    2513           0 :             return;
    2514             :           }
    2515             :           break;
    2516             :         case 'x':        // 1 string to match.
    2517           0 :           if (memcmp(Mnemonic.data()+3, "nor_b32_e64", 11) != 0)
    2518             :             break;
    2519           0 :           Mnemonic = "v_xnor_b32";     // "v_xnor_b32_e64"
    2520           0 :           return;
    2521             :         }
    2522             :         break;
    2523             :       case 15:   // 38 strings to match.
    2524        3771 :         if (memcmp(Mnemonic.data()+0, "v_", 2) != 0)
    2525             :           break;
    2526        3555 :         switch (Mnemonic[2]) {
    2527             :         default: break;
    2528             :         case 'b':        // 1 string to match.
    2529           0 :           if (memcmp(Mnemonic.data()+3, "frev_b32_e64", 12) != 0)
    2530             :             break;
    2531           0 :           Mnemonic = "v_bfrev_b32";    // "v_bfrev_b32_e64"
    2532           0 :           return;
    2533             :         case 'c':        // 21 strings to match.
    2534        1271 :           if (memcmp(Mnemonic.data()+3, "mp_", 3) != 0)
    2535             :             break;
    2536         443 :           switch (Mnemonic[6]) {
    2537             :           default: break;
    2538           0 :           case 'f':      // 9 strings to match.
    2539           0 :             if (Mnemonic[7] != '_')
    2540             :               break;
    2541           0 :             switch (Mnemonic[8]) {
    2542             :             default: break;
    2543           0 :             case 'f':    // 3 strings to match.
    2544           0 :               switch (Mnemonic[9]) {
    2545             :               default: break;
    2546             :               case '1':  // 1 string to match.
    2547           0 :                 if (memcmp(Mnemonic.data()+10, "6_e64", 5) != 0)
    2548             :                   break;
    2549           0 :                 Mnemonic = "v_cmp_f_f16";      // "v_cmp_f_f16_e64"
    2550           0 :                 return;
    2551             :               case '3':  // 1 string to match.
    2552           0 :                 if (memcmp(Mnemonic.data()+10, "2_e64", 5) != 0)
    2553             :                   break;
    2554           0 :                 Mnemonic = "v_cmp_f_f32";      // "v_cmp_f_f32_e64"
    2555           0 :                 return;
    2556             :               case '6':  // 1 string to match.
    2557           0 :                 if (memcmp(Mnemonic.data()+10, "4_e64", 5) != 0)
    2558             :                   break;
    2559           0 :                 Mnemonic = "v_cmp_f_f64";      // "v_cmp_f_f64_e64"
    2560           0 :                 return;
    2561             :               }
    2562             :               break;
    2563           0 :             case 'i':    // 3 strings to match.
    2564           0 :               switch (Mnemonic[9]) {
    2565             :               default: break;
    2566             :               case '1':  // 1 string to match.
    2567           0 :                 if (memcmp(Mnemonic.data()+10, "6_e64", 5) != 0)
    2568             :                   break;
    2569           0 :                 Mnemonic = "v_cmp_f_i16";      // "v_cmp_f_i16_e64"
    2570           0 :                 return;
    2571             :               case '3':  // 1 string to match.
    2572           0 :                 if (memcmp(Mnemonic.data()+10, "2_e64", 5) != 0)
    2573             :                   break;
    2574           0 :                 Mnemonic = "v_cmp_f_i32";      // "v_cmp_f_i32_e64"
    2575           0 :                 return;
    2576             :               case '6':  // 1 string to match.
    2577           0 :                 if (memcmp(Mnemonic.data()+10, "4_e64", 5) != 0)
    2578             :                   break;
    2579           0 :                 Mnemonic = "v_cmp_f_i64";      // "v_cmp_f_i64_e64"
    2580           0 :                 return;
    2581             :               }
    2582             :               break;
    2583           0 :             case 'u':    // 3 strings to match.
    2584           0 :               switch (Mnemonic[9]) {
    2585             :               default: break;
    2586             :               case '1':  // 1 string to match.
    2587           0 :                 if (memcmp(Mnemonic.data()+10, "6_e64", 5) != 0)
    2588             :                   break;
    2589           0 :                 Mnemonic = "v_cmp_f_u16";      // "v_cmp_f_u16_e64"
    2590           0 :                 return;
    2591             :               case '3':  // 1 string to match.
    2592           0 :                 if (memcmp(Mnemonic.data()+10, "2_e64", 5) != 0)
    2593             :                   break;
    2594           0 :                 Mnemonic = "v_cmp_f_u32";      // "v_cmp_f_u32_e64"
    2595           0 :                 return;
    2596             :               case '6':  // 1 string to match.
    2597           0 :                 if (memcmp(Mnemonic.data()+10, "4_e64", 5) != 0)
    2598             :                   break;
    2599           0 :                 Mnemonic = "v_cmp_f_u64";      // "v_cmp_f_u64_e64"
    2600           0 :                 return;
    2601             :               }
    2602             :               break;
    2603             :             }
    2604             :             break;
    2605             :           case 'o':      // 3 strings to match.
    2606           0 :             if (memcmp(Mnemonic.data()+7, "_f", 2) != 0)
    2607             :               break;
    2608           0 :             switch (Mnemonic[9]) {
    2609             :             default: break;
    2610             :             case '1':    // 1 string to match.
    2611           0 :               if (memcmp(Mnemonic.data()+10, "6_e64", 5) != 0)
    2612             :                 break;
    2613           0 :               Mnemonic = "v_cmp_o_f16";        // "v_cmp_o_f16_e64"
    2614           0 :               return;
    2615             :             case '3':    // 1 string to match.
    2616           0 :               if (memcmp(Mnemonic.data()+10, "2_e64", 5) != 0)
    2617             :                 break;
    2618           0 :               Mnemonic = "v_cmp_o_f32";        // "v_cmp_o_f32_e64"
    2619           0 :               return;
    2620             :             case '6':    // 1 string to match.
    2621           0 :               if (memcmp(Mnemonic.data()+10, "4_e64", 5) != 0)
    2622             :                 break;
    2623           0 :               Mnemonic = "v_cmp_o_f64";        // "v_cmp_o_f64_e64"
    2624           0 :               return;
    2625             :             }
    2626             :             break;
    2627           0 :           case 't':      // 6 strings to match.
    2628           0 :             if (Mnemonic[7] != '_')
    2629             :               break;
    2630           0 :             switch (Mnemonic[8]) {
    2631             :             default: break;
    2632           0 :             case 'i':    // 3 strings to match.
    2633           0 :               switch (Mnemonic[9]) {
    2634             :               default: break;
    2635             :               case '1':  // 1 string to match.
    2636           0 :                 if (memcmp(Mnemonic.data()+10, "6_e64", 5) != 0)
    2637             :                   break;
    2638           0 :                 Mnemonic = "v_cmp_t_i16";      // "v_cmp_t_i16_e64"
    2639           0 :                 return;
    2640             :               case '3':  // 1 string to match.
    2641           0 :                 if (memcmp(Mnemonic.data()+10, "2_e64", 5) != 0)
    2642             :                   break;
    2643           0 :                 Mnemonic = "v_cmp_t_i32";      // "v_cmp_t_i32_e64"
    2644           0 :                 return;
    2645             :               case '6':  // 1 string to match.
    2646           0 :                 if (memcmp(Mnemonic.data()+10, "4_e64", 5) != 0)
    2647             :                   break;
    2648           0 :                 Mnemonic = "v_cmp_t_i64";      // "v_cmp_t_i64_e64"
    2649           0 :                 return;
    2650             :               }
    2651             :               break;
    2652           0 :             case 'u':    // 3 strings to match.
    2653           0 :               switch (Mnemonic[9]) {
    2654             :               default: break;
    2655             :               case '1':  // 1 string to match.
    2656           0 :                 if (memcmp(Mnemonic.data()+10, "6_e64", 5) != 0)
    2657             :                   break;
    2658           0 :                 Mnemonic = "v_cmp_t_u16";      // "v_cmp_t_u16_e64"
    2659           0 :                 return;
    2660             :               case '3':  // 1 string to match.
    2661           0 :                 if (memcmp(Mnemonic.data()+10, "2_e64", 5) != 0)
    2662             :                   break;
    2663           0 :                 Mnemonic = "v_cmp_t_u32";      // "v_cmp_t_u32_e64"
    2664           0 :                 return;
    2665             :               case '6':  // 1 string to match.
    2666           0 :                 if (memcmp(Mnemonic.data()+10, "4_e64", 5) != 0)
    2667             :                   break;
    2668           0 :                 Mnemonic = "v_cmp_t_u64";      // "v_cmp_t_u64_e64"
    2669           0 :                 return;
    2670             :               }
    2671             :               break;
    2672             :             }
    2673             :             break;
    2674             :           case 'u':      // 3 strings to match.
    2675           0 :             if (memcmp(Mnemonic.data()+7, "_f", 2) != 0)
    2676             :               break;
    2677           0 :             switch (Mnemonic[9]) {
    2678             :             default: break;
    2679             :             case '1':    // 1 string to match.
    2680           0 :               if (memcmp(Mnemonic.data()+10, "6_e64", 5) != 0)
    2681             :                 break;
    2682           0 :               Mnemonic = "v_cmp_u_f16";        // "v_cmp_u_f16_e64"
    2683           0 :               return;
    2684             :             case '3':    // 1 string to match.
    2685           0 :               if (memcmp(Mnemonic.data()+10, "2_e64", 5) != 0)
    2686             :                 break;
    2687           0 :               Mnemonic = "v_cmp_u_f32";        // "v_cmp_u_f32_e64"
    2688           0 :               return;
    2689             :             case '6':    // 1 string to match.
    2690           0 :               if (memcmp(Mnemonic.data()+10, "4_e64", 5) != 0)
    2691             :                 break;
    2692           0 :               Mnemonic = "v_cmp_u_f64";        // "v_cmp_u_f64_e64"
    2693           0 :               return;
    2694             :             }
    2695             :             break;
    2696             :           }
    2697             :           break;
    2698          22 :         case 'f':        // 6 strings to match.
    2699          22 :           switch (Mnemonic[3]) {
    2700             :           default: break;
    2701             :           case 'l':      // 3 strings to match.
    2702           0 :             if (memcmp(Mnemonic.data()+4, "oor_f", 5) != 0)
    2703             :               break;
    2704           0 :             switch (Mnemonic[9]) {
    2705             :             default: break;
    2706             :             case '1':    // 1 string to match.
    2707           0 :               if (memcmp(Mnemonic.data()+10, "6_e64", 5) != 0)
    2708             :                 break;
    2709           0 :               Mnemonic = "v_floor_f16";        // "v_floor_f16_e64"
    2710           0 :               return;
    2711             :             case '3':    // 1 string to match.
    2712           0 :               if (memcmp(Mnemonic.data()+10, "2_e64", 5) != 0)
    2713             :                 break;
    2714           0 :               Mnemonic = "v_floor_f32";        // "v_floor_f32_e64"
    2715           0 :               return;
    2716             :             case '6':    // 1 string to match.
    2717           0 :               if (memcmp(Mnemonic.data()+10, "4_e64", 5) != 0)
    2718             :                 break;
    2719           0 :               Mnemonic = "v_floor_f64";        // "v_floor_f64_e64"
    2720           0 :               return;
    2721             :             }
    2722             :             break;
    2723             :           case 'r':      // 3 strings to match.
    2724           0 :             if (memcmp(Mnemonic.data()+4, "act_f", 5) != 0)
    2725             :               break;
    2726           0 :             switch (Mnemonic[9]) {
    2727             :             default: break;
    2728             :             case '1':    // 1 string to match.
    2729           0 :               if (memcmp(Mnemonic.data()+10, "6_e64", 5) != 0)
    2730             :                 break;
    2731           0 :               Mnemonic = "v_fract_f16";        // "v_fract_f16_e64"
    2732           0 :               return;
    2733             :             case '3':    // 1 string to match.
    2734           0 :               if (memcmp(Mnemonic.data()+10, "2_e64", 5) != 0)
    2735             :                 break;
    2736           0 :               Mnemonic = "v_fract_f32";        // "v_fract_f32_e64"
    2737           0 :               return;
    2738             :             case '6':    // 1 string to match.
    2739           0 :               if (memcmp(Mnemonic.data()+10, "4_e64", 5) != 0)
    2740             :                 break;
    2741           0 :               Mnemonic = "v_fract_f64";        // "v_fract_f64_e64"
    2742           0 :               return;
    2743             :             }
    2744             :             break;
    2745             :           }
    2746             :           break;
    2747             :         case 'l':        // 3 strings to match.
    2748          29 :           if (memcmp(Mnemonic.data()+3, "dexp_f", 6) != 0)
    2749             :             break;
    2750           0 :           switch (Mnemonic[9]) {
    2751             :           default: break;
    2752             :           case '1':      // 1 string to match.
    2753           0 :             if (memcmp(Mnemonic.data()+10, "6_e64", 5) != 0)
    2754             :               break;
    2755           0 :             Mnemonic = "v_ldexp_f16";  // "v_ldexp_f16_e64"
    2756           0 :             return;
    2757             :           case '3':      // 1 string to match.
    2758           0 :             if (memcmp(Mnemonic.data()+10, "2_e64", 5) != 0)
    2759             :               break;
    2760           0 :             Mnemonic = "v_ldexp_f32";  // "v_ldexp_f32_e64"
    2761           0 :             return;
    2762             :           case '6':      // 1 string to match.
    2763           0 :             if (memcmp(Mnemonic.data()+10, "4_e64", 5) != 0)
    2764             :               break;
    2765           0 :             Mnemonic = "v_ldexp_f64";  // "v_ldexp_f64_e64"
    2766           0 :             return;
    2767             :           }
    2768             :           break;
    2769             :         case 'r':        // 3 strings to match.
    2770         213 :           if (memcmp(Mnemonic.data()+3, "ndne_f", 6) != 0)
    2771             :             break;
    2772           0 :           switch (Mnemonic[9]) {
    2773             :           default: break;
    2774             :           case '1':      // 1 string to match.
    2775           0 :             if (memcmp(Mnemonic.data()+10, "6_e64", 5) != 0)
    2776             :               break;
    2777           0 :             Mnemonic = "v_rndne_f16";  // "v_rndne_f16_e64"
    2778           0 :             return;
    2779             :           case '3':      // 1 string to match.
    2780           0 :             if (memcmp(Mnemonic.data()+10, "2_e64", 5) != 0)
    2781             :               break;
    2782           0 :             Mnemonic = "v_rndne_f32";  // "v_rndne_f32_e64"
    2783           0 :             return;
    2784             :           case '6':      // 1 string to match.
    2785           0 :             if (memcmp(Mnemonic.data()+10, "4_e64", 5) != 0)
    2786             :               break;
    2787           0 :             Mnemonic = "v_rndne_f64";  // "v_rndne_f64_e64"
    2788           0 :             return;
    2789             :           }
    2790             :           break;
    2791             :         case 's':        // 1 string to match.
    2792          87 :           if (memcmp(Mnemonic.data()+3, "ad_hi_u8_e64", 12) != 0)
    2793             :             break;
    2794           0 :           Mnemonic = "v_sad_hi_u8";    // "v_sad_hi_u8_e64"
    2795           0 :           return;
    2796             :         case 't':        // 3 strings to match.
    2797           0 :           if (memcmp(Mnemonic.data()+3, "runc_f", 6) != 0)
    2798             :             break;
    2799           0 :           switch (Mnemonic[9]) {
    2800             :           default: break;
    2801             :           case '1':      // 1 string to match.
    2802           0 :             if (memcmp(Mnemonic.data()+10, "6_e64", 5) != 0)
    2803             :               break;
    2804           0 :             Mnemonic = "v_trunc_f16";  // "v_trunc_f16_e64"
    2805           0 :             return;
    2806             :           case '3':      // 1 string to match.
    2807           0 :             if (memcmp(Mnemonic.data()+10, "2_e64", 5) != 0)
    2808             :               break;
    2809           0 :             Mnemonic = "v_trunc_f32";  // "v_trunc_f32_e64"
    2810           0 :             return;
    2811             :           case '6':      // 1 string to match.
    2812           0 :             if (memcmp(Mnemonic.data()+10, "4_e64", 5) != 0)
    2813             :               break;
    2814           0 :             Mnemonic = "v_trunc_f64";  // "v_trunc_f64_e64"
    2815           0 :             return;
    2816             :           }
    2817             :           break;
    2818             :         }
    2819             :         break;
    2820             :       case 16:   // 112 strings to match.
    2821        3859 :         if (memcmp(Mnemonic.data()+0, "v_", 2) != 0)
    2822             :           break;
    2823        3715 :         switch (Mnemonic[2]) {
    2824             :         default: break;
    2825             :         case 'a':        // 1 string to match.
    2826           0 :           if (memcmp(Mnemonic.data()+3, "nd_or_b32_e64", 13) != 0)
    2827             :             break;
    2828           0 :           Mnemonic = "v_and_or_b32";   // "v_and_or_b32_e64"
    2829           0 :           return;
    2830        1266 :         case 'c':        // 85 strings to match.
    2831        1266 :           switch (Mnemonic[3]) {
    2832             :           default: break;
    2833         457 :           case 'm':      // 81 strings to match.
    2834         457 :             if (Mnemonic[4] != 'p')
    2835             :               break;
    2836         457 :             switch (Mnemonic[5]) {
    2837             :             default: break;
    2838           0 :             case '_':    // 54 strings to match.
    2839           0 :               switch (Mnemonic[6]) {
    2840             :               default: break;
    2841             :               case 'e':  // 9 strings to match.
    2842           0 :                 if (memcmp(Mnemonic.data()+7, "q_", 2) != 0)
    2843             :                   break;
    2844           0 :                 switch (Mnemonic[9]) {
    2845             :                 default: break;
    2846           0 :                 case 'f':        // 3 strings to match.
    2847           0 :                   switch (Mnemonic[10]) {
    2848             :                   default: break;
    2849             :                   case '1':      // 1 string to match.
    2850           0 :                     if (memcmp(Mnemonic.data()+11, "6_e64", 5) != 0)
    2851             :                       break;
    2852           0 :                     Mnemonic = "v_cmp_eq_f16";         // "v_cmp_eq_f16_e64"
    2853           0 :                     return;
    2854             :                   case '3':      // 1 string to match.
    2855           0 :                     if (memcmp(Mnemonic.data()+11, "2_e64", 5) != 0)
    2856             :                       break;
    2857           0 :                     Mnemonic = "v_cmp_eq_f32";         // "v_cmp_eq_f32_e64"
    2858           0 :                     return;
    2859             :                   case '6':      // 1 string to match.
    2860           0 :                     if (memcmp(Mnemonic.data()+11, "4_e64", 5) != 0)
    2861             :                       break;
    2862           0 :                     Mnemonic = "v_cmp_eq_f64";         // "v_cmp_eq_f64_e64"
    2863           0 :                     return;
    2864             :                   }
    2865             :                   break;
    2866           0 :                 case 'i':        // 3 strings to match.
    2867           0 :                   switch (Mnemonic[10]) {
    2868             :                   default: break;
    2869             :                   case '1':      // 1 string to match.
    2870           0 :                     if (memcmp(Mnemonic.data()+11, "6_e64", 5) != 0)
    2871             :                       break;
    2872           0 :                     Mnemonic = "v_cmp_eq_i16";         // "v_cmp_eq_i16_e64"
    2873           0 :                     return;
    2874             :                   case '3':      // 1 string to match.
    2875           0 :                     if (memcmp(Mnemonic.data()+11, "2_e64", 5) != 0)
    2876             :                       break;
    2877           0 :                     Mnemonic = "v_cmp_eq_i32";         // "v_cmp_eq_i32_e64"
    2878           0 :                     return;
    2879             :                   case '6':      // 1 string to match.
    2880           0 :                     if (memcmp(Mnemonic.data()+11, "4_e64", 5) != 0)
    2881             :                       break;
    2882           0 :                     Mnemonic = "v_cmp_eq_i64";         // "v_cmp_eq_i64_e64"
    2883           0 :                     return;
    2884             :                   }
    2885             :                   break;
    2886           0 :                 case 'u':        // 3 strings to match.
    2887           0 :                   switch (Mnemonic[10]) {
    2888             :                   default: break;
    2889             :                   case '1':      // 1 string to match.
    2890           0 :                     if (memcmp(Mnemonic.data()+11, "6_e64", 5) != 0)
    2891             :                       break;
    2892           0 :                     Mnemonic = "v_cmp_eq_u16";         // "v_cmp_eq_u16_e64"
    2893           0 :                     return;
    2894             :                   case '3':      // 1 string to match.
    2895           0 :                     if (memcmp(Mnemonic.data()+11, "2_e64", 5) != 0)
    2896             :                       break;
    2897           0 :                     Mnemonic = "v_cmp_eq_u32";         // "v_cmp_eq_u32_e64"
    2898           0 :                     return;
    2899             :                   case '6':      // 1 string to match.
    2900           0 :                     if (memcmp(Mnemonic.data()+11, "4_e64", 5) != 0)
    2901             :                       break;
    2902           0 :                     Mnemonic = "v_cmp_eq_u64";         // "v_cmp_eq_u64_e64"
    2903           0 :                     return;
    2904             :                   }
    2905             :                   break;
    2906             :                 }
    2907             :                 break;
    2908           0 :               case 'g':  // 18 strings to match.
    2909           0 :                 switch (Mnemonic[7]) {
    2910             :                 default: break;
    2911           0 :                 case 'e':        // 9 strings to match.
    2912           0 :                   if (Mnemonic[8] != '_')
    2913             :                     break;
    2914           0 :                   switch (Mnemonic[9]) {
    2915             :                   default: break;
    2916           0 :                   case 'f':      // 3 strings to match.
    2917           0 :                     switch (Mnemonic[10]) {
    2918             :                     default: break;
    2919             :                     case '1':    // 1 string to match.
    2920           0 :                       if (memcmp(Mnemonic.data()+11, "6_e64", 5) != 0)
    2921             :                         break;
    2922           0 :                       Mnemonic = "v_cmp_ge_f16";       // "v_cmp_ge_f16_e64"
    2923           0 :                       return;
    2924             :                     case '3':    // 1 string to match.
    2925           0 :                       if (memcmp(Mnemonic.data()+11, "2_e64", 5) != 0)
    2926             :                         break;
    2927           0 :                       Mnemonic = "v_cmp_ge_f32";       // "v_cmp_ge_f32_e64"
    2928           0 :                       return;
    2929             :                     case '6':    // 1 string to match.
    2930           0 :                       if (memcmp(Mnemonic.data()+11, "4_e64", 5) != 0)
    2931             :                         break;
    2932           0 :                       Mnemonic = "v_cmp_ge_f64";       // "v_cmp_ge_f64_e64"
    2933           0 :                       return;
    2934             :                     }
    2935             :                     break;
    2936           0 :                   case 'i':      // 3 strings to match.
    2937           0 :                     switch (Mnemonic[10]) {
    2938             :                     default: break;
    2939             :                     case '1':    // 1 string to match.
    2940           0 :                       if (memcmp(Mnemonic.data()+11, "6_e64", 5) != 0)
    2941             :                         break;
    2942           0 :                       Mnemonic = "v_cmp_ge_i16";       // "v_cmp_ge_i16_e64"
    2943           0 :                       return;
    2944             :                     case '3':    // 1 string to match.
    2945           0 :                       if (memcmp(Mnemonic.data()+11, "2_e64", 5) != 0)
    2946             :                         break;
    2947           0 :                       Mnemonic = "v_cmp_ge_i32";       // "v_cmp_ge_i32_e64"
    2948           0 :                       return;
    2949             :                     case '6':    // 1 string to match.
    2950           0 :                       if (memcmp(Mnemonic.data()+11, "4_e64", 5) != 0)
    2951             :                         break;
    2952           0 :                       Mnemonic = "v_cmp_ge_i64";       // "v_cmp_ge_i64_e64"
    2953           0 :                       return;
    2954             :                     }
    2955             :                     break;
    2956           0 :                   case 'u':      // 3 strings to match.
    2957           0 :                     switch (Mnemonic[10]) {
    2958             :                     default: break;
    2959             :                     case '1':    // 1 string to match.
    2960           0 :                       if (memcmp(Mnemonic.data()+11, "6_e64", 5) != 0)
    2961             :                         break;
    2962           0 :                       Mnemonic = "v_cmp_ge_u16";       // "v_cmp_ge_u16_e64"
    2963           0 :                       return;
    2964             :                     case '3':    // 1 string to match.
    2965           0 :                       if (memcmp(Mnemonic.data()+11, "2_e64", 5) != 0)
    2966             :                         break;
    2967           0 :                       Mnemonic = "v_cmp_ge_u32";       // "v_cmp_ge_u32_e64"
    2968           0 :                       return;
    2969             :                     case '6':    // 1 string to match.
    2970           0 :                       if (memcmp(Mnemonic.data()+11, "4_e64", 5) != 0)
    2971             :                         break;
    2972           0 :                       Mnemonic = "v_cmp_ge_u64";       // "v_cmp_ge_u64_e64"
    2973           0 :                       return;
    2974             :                     }
    2975             :                     break;
    2976             :                   }
    2977             :                   break;
    2978           0 :                 case 't':        // 9 strings to match.
    2979           0 :                   if (Mnemonic[8] != '_')
    2980             :                     break;
    2981           0 :                   switch (Mnemonic[9]) {
    2982             :                   default: break;
    2983           0 :                   case 'f':      // 3 strings to match.
    2984           0 :                     switch (Mnemonic[10]) {
    2985             :                     default: break;
    2986             :                     case '1':    // 1 string to match.
    2987           0 :                       if (memcmp(Mnemonic.data()+11, "6_e64", 5) != 0)
    2988             :                         break;
    2989           0 :                       Mnemonic = "v_cmp_gt_f16";       // "v_cmp_gt_f16_e64"
    2990           0 :                       return;
    2991             :                     case '3':    // 1 string to match.
    2992           0 :                       if (memcmp(Mnemonic.data()+11, "2_e64", 5) != 0)
    2993             :                         break;
    2994           0 :                       Mnemonic = "v_cmp_gt_f32";       // "v_cmp_gt_f32_e64"
    2995           0 :                       return;
    2996             :                     case '6':    // 1 string to match.
    2997           0 :                       if (memcmp(Mnemonic.data()+11, "4_e64", 5) != 0)
    2998             :                         break;
    2999           0 :                       Mnemonic = "v_cmp_gt_f64";       // "v_cmp_gt_f64_e64"
    3000           0 :                       return;
    3001             :                     }
    3002             :                     break;
    3003           0 :                   case 'i':      // 3 strings to match.
    3004           0 :                     switch (Mnemonic[10]) {
    3005             :                     default: break;
    3006             :                     case '1':    // 1 string to match.
    3007           0 :                       if (memcmp(Mnemonic.data()+11, "6_e64", 5) != 0)
    3008             :                         break;
    3009           0 :                       Mnemonic = "v_cmp_gt_i16";       // "v_cmp_gt_i16_e64"
    3010           0 :                       return;
    3011             :                     case '3':    // 1 string to match.
    3012           0 :                       if (memcmp(Mnemonic.data()+11, "2_e64", 5) != 0)
    3013             :                         break;
    3014           0 :                       Mnemonic = "v_cmp_gt_i32";       // "v_cmp_gt_i32_e64"
    3015           0 :                       return;
    3016             :                     case '6':    // 1 string to match.
    3017           0 :                       if (memcmp(Mnemonic.data()+11, "4_e64", 5) != 0)
    3018             :                         break;
    3019           0 :                       Mnemonic = "v_cmp_gt_i64";       // "v_cmp_gt_i64_e64"
    3020           0 :                       return;
    3021             :                     }
    3022             :                     break;
    3023           0 :                   case 'u':      // 3 strings to match.
    3024           0 :                     switch (Mnemonic[10]) {
    3025             :                     default: break;
    3026             :                     case '1':    // 1 string to match.
    3027           0 :                       if (memcmp(Mnemonic.data()+11, "6_e64", 5) != 0)
    3028             :                         break;
    3029           0 :                       Mnemonic = "v_cmp_gt_u16";       // "v_cmp_gt_u16_e64"
    3030           0 :                       return;
    3031             :                     case '3':    // 1 string to match.
    3032           0 :                       if (memcmp(Mnemonic.data()+11, "2_e64", 5) != 0)
    3033             :                         break;
    3034           0 :                       Mnemonic = "v_cmp_gt_u32";       // "v_cmp_gt_u32_e64"
    3035           0 :                       return;
    3036             :                     case '6':    // 1 string to match.
    3037           0 :                       if (memcmp(Mnemonic.data()+11, "4_e64", 5) != 0)
    3038             :                         break;
    3039           0 :                       Mnemonic = "v_cmp_gt_u64";       // "v_cmp_gt_u64_e64"
    3040           0 :                       return;
    3041             :                     }
    3042             :                     break;
    3043             :                   }
    3044             :                   break;
    3045             :                 }
    3046             :                 break;
    3047           0 :               case 'l':  // 21 strings to match.
    3048           0 :                 switch (Mnemonic[7]) {
    3049             :                 default: break;
    3050           0 :                 case 'e':        // 9 strings to match.
    3051           0 :                   if (Mnemonic[8] != '_')
    3052             :                     break;
    3053           0 :                   switch (Mnemonic[9]) {
    3054             :                   default: break;
    3055           0 :                   case 'f':      // 3 strings to match.
    3056           0 :                     switch (Mnemonic[10]) {
    3057             :                     default: break;
    3058             :                     case '1':    // 1 string to match.
    3059           0 :                       if (memcmp(Mnemonic.data()+11, "6_e64", 5) != 0)
    3060             :                         break;
    3061           0 :                       Mnemonic = "v_cmp_le_f16";       // "v_cmp_le_f16_e64"
    3062           0 :                       return;
    3063             :                     case '3':    // 1 string to match.
    3064           0 :                       if (memcmp(Mnemonic.data()+11, "2_e64", 5) != 0)
    3065             :                         break;
    3066           0 :                       Mnemonic = "v_cmp_le_f32";       // "v_cmp_le_f32_e64"
    3067           0 :                       return;
    3068             :                     case '6':    // 1 string to match.
    3069           0 :                       if (memcmp(Mnemonic.data()+11, "4_e64", 5) != 0)
    3070             :                         break;
    3071           0 :                       Mnemonic = "v_cmp_le_f64";       // "v_cmp_le_f64_e64"
    3072           0 :                       return;
    3073             :                     }
    3074             :                     break;
    3075           0 :                   case 'i':      // 3 strings to match.
    3076           0 :                     switch (Mnemonic[10]) {
    3077             :                     default: break;
    3078             :                     case '1':    // 1 string to match.
    3079           0 :                       if (memcmp(Mnemonic.data()+11, "6_e64", 5) != 0)
    3080             :                         break;
    3081           0 :                       Mnemonic = "v_cmp_le_i16";       // "v_cmp_le_i16_e64"
    3082           0 :                       return;
    3083             :                     case '3':    // 1 string to match.
    3084           0 :                       if (memcmp(Mnemonic.data()+11, "2_e64", 5) != 0)
    3085             :                         break;
    3086           0 :                       Mnemonic = "v_cmp_le_i32";       // "v_cmp_le_i32_e64"
    3087           0 :                       return;
    3088             :                     case '6':    // 1 string to match.
    3089           0 :                       if (memcmp(Mnemonic.data()+11, "4_e64", 5) != 0)
    3090             :                         break;
    3091           0 :                       Mnemonic = "v_cmp_le_i64";       // "v_cmp_le_i64_e64"
    3092           0 :                       return;
    3093             :                     }
    3094             :                     break;
    3095           0 :                   case 'u':      // 3 strings to match.
    3096           0 :                     switch (Mnemonic[10]) {
    3097             :                     default: break;
    3098             :                     case '1':    // 1 string to match.
    3099           0 :                       if (memcmp(Mnemonic.data()+11, "6_e64", 5) != 0)
    3100             :                         break;
    3101           0 :                       Mnemonic = "v_cmp_le_u16";       // "v_cmp_le_u16_e64"
    3102           0 :                       return;
    3103             :                     case '3':    // 1 string to match.
    3104           0 :                       if (memcmp(Mnemonic.data()+11, "2_e64", 5) != 0)
    3105             :                         break;
    3106           0 :                       Mnemonic = "v_cmp_le_u32";       // "v_cmp_le_u32_e64"
    3107           0 :                       return;
    3108             :                     case '6':    // 1 string to match.
    3109           0 :                       if (memcmp(Mnemonic.data()+11, "4_e64", 5) != 0)
    3110             :                         break;
    3111           0 :                       Mnemonic = "v_cmp_le_u64";       // "v_cmp_le_u64_e64"
    3112           0 :                       return;
    3113             :                     }
    3114             :                     break;
    3115             :                   }
    3116             :                   break;
    3117             :                 case 'g':        // 3 strings to match.
    3118           0 :                   if (memcmp(Mnemonic.data()+8, "_f", 2) != 0)
    3119             :                     break;
    3120           0 :                   switch (Mnemonic[10]) {
    3121             :                   default: break;
    3122             :                   case '1':      // 1 string to match.
    3123           0 :                     if (memcmp(Mnemonic.data()+11, "6_e64", 5) != 0)
    3124             :                       break;
    3125           0 :                     Mnemonic = "v_cmp_lg_f16";         // "v_cmp_lg_f16_e64"
    3126           0 :                     return;
    3127             :                   case '3':      // 1 string to match.
    3128           0 :                     if (memcmp(Mnemonic.data()+11, "2_e64", 5) != 0)
    3129             :                       break;
    3130           0 :                     Mnemonic = "v_cmp_lg_f32";         // "v_cmp_lg_f32_e64"
    3131           0 :                     return;
    3132             :                   case '6':      // 1 string to match.
    3133           0 :                     if (memcmp(Mnemonic.data()+11, "4_e64", 5) != 0)
    3134             :                       break;
    3135           0 :                     Mnemonic = "v_cmp_lg_f64";         // "v_cmp_lg_f64_e64"
    3136           0 :                     return;
    3137             :                   }
    3138             :                   break;
    3139           0 :                 case 't':        // 9 strings to match.
    3140           0 :                   if (Mnemonic[8] != '_')
    3141             :                     break;
    3142           0 :                   switch (Mnemonic[9]) {
    3143             :                   default: break;
    3144           0 :                   case 'f':      // 3 strings to match.
    3145           0 :                     switch (Mnemonic[10]) {
    3146             :                     default: break;
    3147             :                     case '1':    // 1 string to match.
    3148           0 :                       if (memcmp(Mnemonic.data()+11, "6_e64", 5) != 0)
    3149             :                         break;
    3150           0 :                       Mnemonic = "v_cmp_lt_f16";       // "v_cmp_lt_f16_e64"
    3151           0 :                       return;
    3152             :                     case '3':    // 1 string to match.
    3153           0 :                       if (memcmp(Mnemonic.data()+11, "2_e64", 5) != 0)
    3154             :                         break;
    3155           0 :                       Mnemonic = "v_cmp_lt_f32";       // "v_cmp_lt_f32_e64"
    3156           0 :                       return;
    3157             :                     case '6':    // 1 string to match.
    3158           0 :                       if (memcmp(Mnemonic.data()+11, "4_e64", 5) != 0)
    3159             :                         break;
    3160           0 :                       Mnemonic = "v_cmp_lt_f64";       // "v_cmp_lt_f64_e64"
    3161           0 :                       return;
    3162             :                     }
    3163             :                     break;
    3164           0 :                   case 'i':      // 3 strings to match.
    3165           0 :                     switch (Mnemonic[10]) {
    3166             :                     default: break;
    3167             :                     case '1':    // 1 string to match.
    3168           0 :                       if (memcmp(Mnemonic.data()+11, "6_e64", 5) != 0)
    3169             :                         break;
    3170           0 :                       Mnemonic = "v_cmp_lt_i16";       // "v_cmp_lt_i16_e64"
    3171           0 :                       return;
    3172             :                     case '3':    // 1 string to match.
    3173           0 :                       if (memcmp(Mnemonic.data()+11, "2_e64", 5) != 0)
    3174             :                         break;
    3175           0 :                       Mnemonic = "v_cmp_lt_i32";       // "v_cmp_lt_i32_e64"
    3176           0 :                       return;
    3177             :                     case '6':    // 1 string to match.
    3178           0 :                       if (memcmp(Mnemonic.data()+11, "4_e64", 5) != 0)
    3179             :                         break;
    3180           0 :                       Mnemonic = "v_cmp_lt_i64";       // "v_cmp_lt_i64_e64"
    3181           0 :                       return;
    3182             :                     }
    3183             :                     break;
    3184           0 :                   case 'u':      // 3 strings to match.
    3185           0 :                     switch (Mnemonic[10]) {
    3186             :                     default: break;
    3187             :                     case '1':    // 1 string to match.
    3188           0 :                       if (memcmp(Mnemonic.data()+11, "6_e64", 5) != 0)
    3189             :                         break;
    3190           0 :                       Mnemonic = "v_cmp_lt_u16";       // "v_cmp_lt_u16_e64"
    3191           0 :                       return;
    3192             :                     case '3':    // 1 string to match.
    3193           0 :                       if (memcmp(Mnemonic.data()+11, "2_e64", 5) != 0)
    3194             :                         break;
    3195           0 :                       Mnemonic = "v_cmp_lt_u32";       // "v_cmp_lt_u32_e64"
    3196           0 :                       return;
    3197             :                     case '6':    // 1 string to match.
    3198           0 :                       if (memcmp(Mnemonic.data()+11, "4_e64", 5) != 0)
    3199             :                         break;
    3200           0 :                       Mnemonic = "v_cmp_lt_u64";       // "v_cmp_lt_u64_e64"
    3201           0 :                       return;
    3202             :                     }
    3203             :                     break;
    3204             :                   }
    3205             :                   break;
    3206             :                 }
    3207             :                 break;
    3208             :               case 'n':  // 6 strings to match.
    3209           0 :                 if (memcmp(Mnemonic.data()+7, "e_", 2) != 0)
    3210             :                   break;
    3211           0 :                 switch (Mnemonic[9]) {
    3212             :                 default: break;
    3213           0 :                 case 'i':        // 3 strings to match.
    3214           0 :                   switch (Mnemonic[10]) {
    3215             :                   default: break;
    3216             :                   case '1':      // 1 string to match.
    3217           0 :                     if (memcmp(Mnemonic.data()+11, "6_e64", 5) != 0)
    3218             :                       break;
    3219           0 :                     Mnemonic = "v_cmp_ne_i16";         // "v_cmp_ne_i16_e64"
    3220           0 :                     return;
    3221             :                   case '3':      // 1 string to match.
    3222           0 :                     if (memcmp(Mnemonic.data()+11, "2_e64", 5) != 0)
    3223             :                       break;
    3224           0 :                     Mnemonic = "v_cmp_ne_i32";         // "v_cmp_ne_i32_e64"
    3225           0 :                     return;
    3226             :                   case '6':      // 1 string to match.
    3227           0 :                     if (memcmp(Mnemonic.data()+11, "4_e64", 5) != 0)
    3228             :                       break;
    3229           0 :                     Mnemonic = "v_cmp_ne_i64";         // "v_cmp_ne_i64_e64"
    3230           0 :                     return;
    3231             :                   }
    3232             :                   break;
    3233           0 :                 case 'u':        // 3 strings to match.
    3234           0 :                   switch (Mnemonic[10]) {
    3235             :                   default: break;
    3236             :                   case '1':      // 1 string to match.
    3237           0 :                     if (memcmp(Mnemonic.data()+11, "6_e64", 5) != 0)
    3238             :                       break;
    3239           0 :                     Mnemonic = "v_cmp_ne_u16";         // "v_cmp_ne_u16_e64"
    3240           0 :                     return;
    3241             :                   case '3':      // 1 string to match.
    3242           0 :                     if (memcmp(Mnemonic.data()+11, "2_e64", 5) != 0)
    3243             :                       break;
    3244           0 :                     Mnemonic = "v_cmp_ne_u32";         // "v_cmp_ne_u32_e64"
    3245           0 :                     return;
    3246             :                   case '6':      // 1 string to match.
    3247           0 :                     if (memcmp(Mnemonic.data()+11, "4_e64", 5) != 0)
    3248             :                       break;
    3249           0 :                     Mnemonic = "v_cmp_ne_u64";         // "v_cmp_ne_u64_e64"
    3250           0 :                     return;
    3251             :                   }
    3252             :                   break;
    3253             :                 }
    3254             :                 break;
    3255             :               }
    3256             :               break;
    3257           0 :             case 's':    // 6 strings to match.
    3258           0 :               if (Mnemonic[6] != '_')
    3259             :                 break;
    3260           0 :               switch (Mnemonic[7]) {
    3261             :               default: break;
    3262             :               case 'f':  // 2 strings to match.
    3263           0 :                 if (memcmp(Mnemonic.data()+8, "_f", 2) != 0)
    3264             :                   break;
    3265           0 :                 switch (Mnemonic[10]) {
    3266             :                 default: break;
    3267             :                 case '3':        // 1 string to match.
    3268           0 :                   if (memcmp(Mnemonic.data()+11, "2_e64", 5) != 0)
    3269             :                     break;
    3270           0 :                   Mnemonic = "v_cmps_f_f32";   // "v_cmps_f_f32_e64"
    3271           0 :                   return;
    3272             :                 case '6':        // 1 string to match.
    3273           0 :                   if (memcmp(Mnemonic.data()+11, "4_e64", 5) != 0)
    3274             :                     break;
    3275           0 :                   Mnemonic = "v_cmps_f_f64";   // "v_cmps_f_f64_e64"
    3276           0 :                   return;
    3277             :                 }
    3278             :                 break;
    3279             :               case 'o':  // 2 strings to match.
    3280           0 :                 if (memcmp(Mnemonic.data()+8, "_f", 2) != 0)
    3281             :                   break;
    3282           0 :                 switch (Mnemonic[10]) {
    3283             :                 default: break;
    3284             :                 case '3':        // 1 string to match.
    3285           0 :                   if (memcmp(Mnemonic.data()+11, "2_e64", 5) != 0)
    3286             :                     break;
    3287           0 :                   Mnemonic = "v_cmps_o_f32";   // "v_cmps_o_f32_e64"
    3288           0 :                   return;
    3289             :                 case '6':        // 1 string to match.
    3290           0 :                   if (memcmp(Mnemonic.data()+11, "4_e64", 5) != 0)
    3291             :                     break;
    3292           0 :                   Mnemonic = "v_cmps_o_f64";   // "v_cmps_o_f64_e64"
    3293           0 :                   return;
    3294             :                 }
    3295             :                 break;
    3296             :               case 'u':  // 2 strings to match.
    3297           0 :                 if (memcmp(Mnemonic.data()+8, "_f", 2) != 0)
    3298             :                   break;
    3299           0 :                 switch (Mnemonic[10]) {
    3300             :                 default: break;
    3301             :                 case '3':        // 1 string to match.
    3302           0 :                   if (memcmp(Mnemonic.data()+11, "2_e64", 5) != 0)
    3303             :                     break;
    3304           0 :                   Mnemonic = "v_cmps_u_f32";   // "v_cmps_u_f32_e64"
    3305           0 :                   return;
    3306             :                 case '6':        // 1 string to match.
    3307           0 :                   if (memcmp(Mnemonic.data()+11, "4_e64", 5) != 0)
    3308             :                     break;
    3309           0 :                   Mnemonic = "v_cmps_u_f64";   // "v_cmps_u_f64_e64"
    3310           0 :                   return;
    3311             :                 }
    3312             :                 break;
    3313             :               }
    3314             :               break;
    3315         457 :             case 'x':    // 21 strings to match.
    3316         457 :               if (Mnemonic[6] != '_')
    3317             :                 break;
    3318         457 :               switch (Mnemonic[7]) {
    3319             :               default: break;
    3320           0 :               case 'f':  // 9 strings to match.
    3321           0 :                 if (Mnemonic[8] != '_')
    3322             :                   break;
    3323           0 :                 switch (Mnemonic[9]) {
    3324             :                 default: break;
    3325           0 :                 case 'f':        // 3 strings to match.
    3326           0 :                   switch (Mnemonic[10]) {
    3327             :                   default: break;
    3328             :                   case '1':      // 1 string to match.
    3329           0 :                     if (memcmp(Mnemonic.data()+11, "6_e64", 5) != 0)
    3330             :                       break;
    3331           0 :                     Mnemonic = "v_cmpx_f_f16";         // "v_cmpx_f_f16_e64"
    3332           0 :                     return;
    3333             :                   case '3':      // 1 string to match.
    3334           0 :                     if (memcmp(Mnemonic.data()+11, "2_e64", 5) != 0)
    3335             :                       break;
    3336           0 :                     Mnemonic = "v_cmpx_f_f32";         // "v_cmpx_f_f32_e64"
    3337           0 :                     return;
    3338             :                   case '6':      // 1 string to match.
    3339           0 :                     if (memcmp(Mnemonic.data()+11, "4_e64", 5) != 0)
    3340             :                       break;
    3341           0 :                     Mnemonic = "v_cmpx_f_f64";         // "v_cmpx_f_f64_e64"
    3342           0 :                     return;
    3343             :                   }
    3344             :                   break;
    3345           0 :                 case 'i':        // 3 strings to match.
    3346           0 :                   switch (Mnemonic[10]) {
    3347             :                   default: break;
    3348             :                   case '1':      // 1 string to match.
    3349           0 :                     if (memcmp(Mnemonic.data()+11, "6_e64", 5) != 0)
    3350             :                       break;
    3351           0 :                     Mnemonic = "v_cmpx_f_i16";         // "v_cmpx_f_i16_e64"
    3352           0 :                     return;
    3353             :                   case '3':      // 1 string to match.
    3354           0 :                     if (memcmp(Mnemonic.data()+11, "2_e64", 5) != 0)
    3355             :                       break;
    3356           0 :                     Mnemonic = "v_cmpx_f_i32";         // "v_cmpx_f_i32_e64"
    3357           0 :                     return;
    3358             :                   case '6':      // 1 string to match.
    3359           0 :                     if (memcmp(Mnemonic.data()+11, "4_e64", 5) != 0)
    3360             :                       break;
    3361           0 :                     Mnemonic = "v_cmpx_f_i64";         // "v_cmpx_f_i64_e64"
    3362           0 :                     return;
    3363             :                   }
    3364             :                   break;
    3365           0 :                 case 'u':        // 3 strings to match.
    3366           0 :                   switch (Mnemonic[10]) {
    3367             :                   default: break;
    3368             :                   case '1':      // 1 string to match.
    3369           0 :                     if (memcmp(Mnemonic.data()+11, "6_e64", 5) != 0)
    3370             :                       break;
    3371           0 :                     Mnemonic = "v_cmpx_f_u16";         // "v_cmpx_f_u16_e64"
    3372           0 :                     return;
    3373             :                   case '3':      // 1 string to match.
    3374           0 :                     if (memcmp(Mnemonic.data()+11, "2_e64", 5) != 0)
    3375             :                       break;
    3376           0 :                     Mnemonic = "v_cmpx_f_u32";         // "v_cmpx_f_u32_e64"
    3377           0 :                     return;
    3378             :                   case '6':      // 1 string to match.
    3379           0 :                     if (memcmp(Mnemonic.data()+11, "4_e64", 5) != 0)
    3380             :                       break;
    3381           0 :                     Mnemonic = "v_cmpx_f_u64";         // "v_cmpx_f_u64_e64"
    3382           0 :                     return;
    3383             :                   }
    3384             :                   break;
    3385             :                 }
    3386             :                 break;
    3387             :               case 'o':  // 3 strings to match.
    3388           0 :                 if (memcmp(Mnemonic.data()+8, "_f", 2) != 0)
    3389             :                   break;
    3390           0 :                 switch (Mnemonic[10]) {
    3391             :                 default: break;
    3392             :                 case '1':        // 1 string to match.
    3393           0 :                   if (memcmp(Mnemonic.data()+11, "6_e64", 5) != 0)
    3394             :                     break;
    3395           0 :                   Mnemonic = "v_cmpx_o_f16";   // "v_cmpx_o_f16_e64"
    3396           0 :                   return;
    3397             :                 case '3':        // 1 string to match.
    3398           0 :                   if (memcmp(Mnemonic.data()+11, "2_e64", 5) != 0)
    3399             :                     break;
    3400           0 :                   Mnemonic = "v_cmpx_o_f32";   // "v_cmpx_o_f32_e64"
    3401           0 :                   return;
    3402             :                 case '6':        // 1 string to match.
    3403           0 :                   if (memcmp(Mnemonic.data()+11, "4_e64", 5) != 0)
    3404             :                     break;
    3405           0 :                   Mnemonic = "v_cmpx_o_f64";   // "v_cmpx_o_f64_e64"
    3406           0 :                   return;
    3407             :                 }
    3408             :                 break;
    3409           0 :               case 't':  // 6 strings to match.
    3410           0 :                 if (Mnemonic[8] != '_')
    3411             :                   break;
    3412           0 :                 switch (Mnemonic[9]) {
    3413             :                 default: break;
    3414           0 :                 case 'i':        // 3 strings to match.
    3415           0 :                   switch (Mnemonic[10]) {
    3416             :                   default: break;
    3417             :                   case '1':      // 1 string to match.
    3418           0 :                     if (memcmp(Mnemonic.data()+11, "6_e64", 5) != 0)
    3419             :                       break;
    3420           0 :                     Mnemonic = "v_cmpx_t_i16";         // "v_cmpx_t_i16_e64"
    3421           0 :                     return;
    3422             :                   case '3':      // 1 string to match.
    3423           0 :                     if (memcmp(Mnemonic.data()+11, "2_e64", 5) != 0)
    3424             :                       break;
    3425           0 :                     Mnemonic = "v_cmpx_t_i32";         // "v_cmpx_t_i32_e64"
    3426           0 :                     return;
    3427             :                   case '6':      // 1 string to match.
    3428           0 :                     if (memcmp(Mnemonic.data()+11, "4_e64", 5) != 0)
    3429             :                       break;
    3430           0 :                     Mnemonic = "v_cmpx_t_i64";         // "v_cmpx_t_i64_e64"
    3431           0 :                     return;
    3432             :                   }
    3433             :                   break;
    3434           0 :                 case 'u':        // 3 strings to match.
    3435           0 :                   switch (Mnemonic[10]) {
    3436             :                   default: break;
    3437             :                   case '1':      // 1 string to match.
    3438           0 :                     if (memcmp(Mnemonic.data()+11, "6_e64", 5) != 0)
    3439             :                       break;
    3440           0 :                     Mnemonic = "v_cmpx_t_u16";         // "v_cmpx_t_u16_e64"
    3441           0 :                     return;
    3442             :                   case '3':      // 1 string to match.
    3443           0 :                     if (memcmp(Mnemonic.data()+11, "2_e64", 5) != 0)
    3444             :                       break;
    3445           0 :                     Mnemonic = "v_cmpx_t_u32";         // "v_cmpx_t_u32_e64"
    3446           0 :                     return;
    3447             :                   case '6':      // 1 string to match.
    3448           0 :                     if (memcmp(Mnemonic.data()+11, "4_e64", 5) != 0)
    3449             :                       break;
    3450           0 :                     Mnemonic = "v_cmpx_t_u64";         // "v_cmpx_t_u64_e64"
    3451           0 :                     return;
    3452             :                   }
    3453             :                   break;
    3454             :                 }
    3455             :                 break;
    3456             :               case 'u':  // 3 strings to match.
    3457           0 :                 if (memcmp(Mnemonic.data()+8, "_f", 2) != 0)
    3458             :                   break;
    3459           0 :                 switch (Mnemonic[10]) {
    3460             :                 default: break;
    3461             :                 case '1':        // 1 string to match.
    3462           0 :                   if (memcmp(Mnemonic.data()+11, "6_e64", 5) != 0)
    3463             :                     break;
    3464           0 :                   Mnemonic = "v_cmpx_u_f16";   // "v_cmpx_u_f16_e64"
    3465           0 :                   return;
    3466             :                 case '3':        // 1 string to match.
    3467           0 :                   if (memcmp(Mnemonic.data()+11, "2_e64", 5) != 0)
    3468             :                     break;
    3469           0 :                   Mnemonic = "v_cmpx_u_f32";   // "v_cmpx_u_f32_e64"
    3470           0 :                   return;
    3471             :                 case '6':        // 1 string to match.
    3472           0 :                   if (memcmp(Mnemonic.data()+11, "4_e64", 5) != 0)
    3473             :                     break;
    3474           0 :                   Mnemonic = "v_cmpx_u_f64";   // "v_cmpx_u_f64_e64"
    3475           0 :                   return;
    3476             :                 }
    3477             :                 break;
    3478             :               }
    3479             :               break;
    3480             :             }
    3481             :             break;
    3482             :           case 'u':      // 4 strings to match.
    3483           0 :             if (memcmp(Mnemonic.data()+4, "be", 2) != 0)
    3484             :               break;
    3485           0 :             switch (Mnemonic[6]) {
    3486             :             default: break;
    3487             :             case 'i':    // 1 string to match.
    3488           0 :               if (memcmp(Mnemonic.data()+7, "d_f32_e64", 9) != 0)
    3489             :                 break;
    3490           0 :               Mnemonic = "v_cubeid_f32";       // "v_cubeid_f32_e64"
    3491           0 :               return;
    3492             :             case 'm':    // 1 string to match.
    3493           0 :               if (memcmp(Mnemonic.data()+7, "a_f32_e64", 9) != 0)
    3494             :                 break;
    3495           0 :               Mnemonic = "v_cubema_f32";       // "v_cubema_f32_e64"
    3496           0 :               return;
    3497             :             case 's':    // 1 string to match.
    3498           0 :               if (memcmp(Mnemonic.data()+7, "c_f32_e64", 9) != 0)
    3499             :                 break;
    3500           0 :               Mnemonic = "v_cubesc_f32";       // "v_cubesc_f32_e64"
    3501           0 :               return;
    3502             :             case 't':    // 1 string to match.
    3503           0 :               if (memcmp(Mnemonic.data()+7, "c_f32_e64", 9) != 0)
    3504             :                 break;
    3505           0 :               Mnemonic = "v_cubetc_f32";       // "v_cubetc_f32_e64"
    3506           0 :               return;
    3507             :             }
    3508             :             break;
    3509             :           }
    3510             :           break;
    3511             :         case 'm':        // 6 strings to match.
    3512        1169 :           if (memcmp(Mnemonic.data()+3, "ul", 2) != 0)
    3513             :             break;
    3514         482 :           switch (Mnemonic[5]) {
    3515             :           default: break;
    3516         482 :           case '_':      // 5 strings to match.
    3517         482 :             switch (Mnemonic[6]) {
    3518             :             default: break;
    3519             :             case 'h':    // 2 strings to match.
    3520         296 :               if (memcmp(Mnemonic.data()+7, "i_", 2) != 0)
    3521             :                 break;
    3522         296 :               switch (Mnemonic[9]) {
    3523             :               default: break;
    3524             :               case 'i':  // 1 string to match.
    3525         148 :                 if (memcmp(Mnemonic.data()+10, "32_e64", 6) != 0)
    3526             :                   break;
    3527           0 :                 Mnemonic = "v_mul_hi_i32";     // "v_mul_hi_i32_e64"
    3528           0 :                 return;
    3529             :               case 'u':  // 1 string to match.
    3530         148 :                 if (memcmp(Mnemonic.data()+10, "32_e64", 6) != 0)
    3531             :                   break;
    3532           0 :                 Mnemonic = "v_mul_hi_u32";     // "v_mul_hi_u32_e64"
    3533           0 :                 return;
    3534             :               }
    3535             :               break;
    3536             :             case 'l':    // 3 strings to match.
    3537         186 :               if (memcmp(Mnemonic.data()+7, "o_", 2) != 0)
    3538             :                 break;
    3539           0 :               switch (Mnemonic[9]) {
    3540             :               default: break;
    3541             :               case 'i':  // 1 string to match.
    3542           0 :                 if (memcmp(Mnemonic.data()+10, "32_e64", 6) != 0)
    3543             :                   break;
    3544           0 :                 Mnemonic = "v_mul_lo_i32";     // "v_mul_lo_i32_e64"
    3545           0 :                 return;
    3546           0 :               case 'u':  // 2 strings to match.
    3547           0 :                 switch (Mnemonic[10]) {
    3548             :                 default: break;
    3549             :                 case '1':        // 1 string to match.
    3550           0 :                   if (memcmp(Mnemonic.data()+11, "6_e64", 5) != 0)
    3551             :                     break;
    3552           0 :                   Mnemonic = "v_mul_lo_u16";   // "v_mul_lo_u16_e64"
    3553           0 :                   return;
    3554             :                 case '3':        // 1 string to match.
    3555           0 :                   if (memcmp(Mnemonic.data()+11, "2_e64", 5) != 0)
    3556             :                     break;
    3557           0 :                   Mnemonic = "v_mul_lo_u32";   // "v_mul_lo_u32_e64"
    3558           0 :                   return;
    3559             :                 }
    3560             :                 break;
    3561             :               }
    3562             :               break;
    3563             :             }
    3564             :             break;
    3565             :           case 'l':      // 1 string to match.
    3566           0 :             if (memcmp(Mnemonic.data()+6, "it_f32_e64", 10) != 0)
    3567             :               break;
    3568           0 :             Mnemonic = "v_mullit_f32";         // "v_mullit_f32_e64"
    3569           0 :             return;
    3570             :           }
    3571             :           break;
    3572             :         case 'p':        // 15 strings to match.
    3573         183 :           if (memcmp(Mnemonic.data()+3, "k_", 2) != 0)
    3574             :             break;
    3575         183 :           switch (Mnemonic[5]) {
    3576             :           default: break;
    3577             :           case 'a':      // 3 strings to match.
    3578          61 :             if (memcmp(Mnemonic.data()+6, "dd_", 3) != 0)
    3579             :               break;
    3580           0 :             switch (Mnemonic[9]) {
    3581             :             default: break;
    3582             :             case 'f':    // 1 string to match.
    3583           0 :               if (memcmp(Mnemonic.data()+10, "16_e64", 6) != 0)
    3584             :                 break;
    3585           0 :               Mnemonic = "v_pk_add_f16";       // "v_pk_add_f16_e64"
    3586           0 :               return;
    3587             :             case 'i':    // 1 string to match.
    3588           0 :               if (memcmp(Mnemonic.data()+10, "16_e64", 6) != 0)
    3589             :                 break;
    3590           0 :               Mnemonic = "v_pk_add_i16";       // "v_pk_add_i16_e64"
    3591           0 :               return;
    3592             :             case 'u':    // 1 string to match.
    3593           0 :               if (memcmp(Mnemonic.data()+10, "16_e64", 6) != 0)
    3594             :                 break;
    3595           0 :               Mnemonic = "v_pk_add_u16";       // "v_pk_add_u16_e64"
    3596           0 :               return;
    3597             :             }
    3598             :             break;
    3599             :           case 'f':      // 1 string to match.
    3600           0 :             if (memcmp(Mnemonic.data()+6, "ma_f16_e64", 10) != 0)
    3601             :               break;
    3602           0 :             Mnemonic = "v_pk_fma_f16";         // "v_pk_fma_f16_e64"
    3603           0 :             return;
    3604           0 :           case 'm':      // 9 strings to match.
    3605           0 :             switch (Mnemonic[6]) {
    3606             :             default: break;
    3607           0 :             case 'a':    // 5 strings to match.
    3608           0 :               switch (Mnemonic[7]) {
    3609             :               default: break;
    3610           0 :               case 'd':  // 2 strings to match.
    3611           0 :                 if (Mnemonic[8] != '_')
    3612             :                   break;
    3613           0 :                 switch (Mnemonic[9]) {
    3614             :                 default: break;
    3615             :                 case 'i':        // 1 string to match.
    3616           0 :                   if (memcmp(Mnemonic.data()+10, "16_e64", 6) != 0)
    3617             :                     break;
    3618           0 :                   Mnemonic = "v_pk_mad_i16";   // "v_pk_mad_i16_e64"
    3619           0 :                   return;
    3620             :                 case 'u':        // 1 string to match.
    3621           0 :                   if (memcmp(Mnemonic.data()+10, "16_e64", 6) != 0)
    3622             :                     break;
    3623           0 :                   Mnemonic = "v_pk_mad_u16";   // "v_pk_mad_u16_e64"
    3624           0 :                   return;
    3625             :                 }
    3626             :                 break;
    3627           0 :               case 'x':  // 3 strings to match.
    3628           0 :                 if (Mnemonic[8] != '_')
    3629             :                   break;
    3630           0 :                 switch (Mnemonic[9]) {
    3631             :                 default: break;
    3632             :                 case 'f':        // 1 string to match.
    3633           0 :                   if (memcmp(Mnemonic.data()+10, "16_e64", 6) != 0)
    3634             :                     break;
    3635           0 :                   Mnemonic = "v_pk_max_f16";   // "v_pk_max_f16_e64"
    3636           0 :                   return;
    3637             :                 case 'i':        // 1 string to match.
    3638           0 :                   if (memcmp(Mnemonic.data()+10, "16_e64", 6) != 0)
    3639             :                     break;
    3640           0 :                   Mnemonic = "v_pk_max_i16";   // "v_pk_max_i16_e64"
    3641           0 :                   return;
    3642             :                 case 'u':        // 1 string to match.
    3643           0 :                   if (memcmp(Mnemonic.data()+10, "16_e64", 6) != 0)
    3644             :                     break;
    3645           0 :                   Mnemonic = "v_pk_max_u16";   // "v_pk_max_u16_e64"
    3646           0 :                   return;
    3647             :                 }
    3648             :                 break;
    3649             :               }
    3650             :               break;
    3651             :             case 'i':    // 3 strings to match.
    3652           0 :               if (memcmp(Mnemonic.data()+7, "n_", 2) != 0)
    3653             :                 break;
    3654           0 :               switch (Mnemonic[9]) {
    3655             :               default: break;
    3656             :               case 'f':  // 1 string to match.
    3657           0 :                 if (memcmp(Mnemonic.data()+10, "16_e64", 6) != 0)
    3658             :                   break;
    3659           0 :                 Mnemonic = "v_pk_min_f16";     // "v_pk_min_f16_e64"
    3660           0 :                 return;
    3661             :               case 'i':  // 1 string to match.
    3662           0 :                 if (memcmp(Mnemonic.data()+10, "16_e64", 6) != 0)
    3663             :                   break;
    3664           0 :                 Mnemonic = "v_pk_min_i16";     // "v_pk_min_i16_e64"
    3665           0 :                 return;
    3666             :               case 'u':  // 1 string to match.
    3667           0 :                 if (memcmp(Mnemonic.data()+10, "16_e64", 6) != 0)
    3668             :                   break;
    3669           0 :                 Mnemonic = "v_pk_min_u16";     // "v_pk_min_u16_e64"
    3670           0 :                 return;
    3671             :               }
    3672             :               break;
    3673             :             case 'u':    // 1 string to match.
    3674           0 :               if (memcmp(Mnemonic.data()+7, "l_f16_e64", 9) != 0)
    3675             :                 break;
    3676           0 :               Mnemonic = "v_pk_mul_f16";       // "v_pk_mul_f16_e64"
    3677           0 :               return;
    3678             :             }
    3679             :             break;
    3680             :           case 's':      // 2 strings to match.
    3681           0 :             if (memcmp(Mnemonic.data()+6, "ub_", 3) != 0)
    3682             :               break;
    3683           0 :             switch (Mnemonic[9]) {
    3684             :             default: break;
    3685             :             case 'i':    // 1 string to match.
    3686           0 :               if (memcmp(Mnemonic.data()+10, "16_e64", 6) != 0)
    3687             :                 break;
    3688           0 :               Mnemonic = "v_pk_sub_i16";       // "v_pk_sub_i16_e64"
    3689           0 :               return;
    3690             :             case 'u':    // 1 string to match.
    3691           0 :               if (memcmp(Mnemonic.data()+10, "16_e64", 6) != 0)
    3692             :                 break;
    3693           0 :               Mnemonic = "v_pk_sub_u16";       // "v_pk_sub_u16_e64"
    3694           0 :               return;
    3695             :             }
    3696             :             break;
    3697             :           }
    3698             :           break;
    3699             :         case 's':        // 5 strings to match.
    3700          42 :           if (memcmp(Mnemonic.data()+3, "ubrev_", 6) != 0)
    3701             :             break;
    3702           0 :           switch (Mnemonic[9]) {
    3703             :           default: break;
    3704           0 :           case 'f':      // 2 strings to match.
    3705           0 :             switch (Mnemonic[10]) {
    3706             :             default: break;
    3707             :             case '1':    // 1 string to match.
    3708           0 :               if (memcmp(Mnemonic.data()+11, "6_e64", 5) != 0)
    3709             :                 break;
    3710           0 :               Mnemonic = "v_subrev_f16";       // "v_subrev_f16_e64"
    3711           0 :               return;
    3712             :             case '3':    // 1 string to match.
    3713           0 :               if (memcmp(Mnemonic.data()+11, "2_e64", 5) != 0)
    3714             :                 break;
    3715           0 :               Mnemonic = "v_subrev_f32";       // "v_subrev_f32_e64"
    3716           0 :               return;
    3717             :             }
    3718             :             break;
    3719             :           case 'i':      // 1 string to match.
    3720           0 :             if (memcmp(Mnemonic.data()+10, "32_e64", 6) != 0)
    3721             :               break;
    3722           0 :             Mnemonic = "v_subrev_i32";         // "v_subrev_i32_e64"
    3723           0 :             return;
    3724           0 :           case 'u':      // 2 strings to match.
    3725           0 :             switch (Mnemonic[10]) {
    3726             :             default: break;
    3727             :             case '1':    // 1 string to match.
    3728           0 :               if (memcmp(Mnemonic.data()+11, "6_e64", 5) != 0)
    3729             :                 break;
    3730           0 :               Mnemonic = "v_subrev_u16";       // "v_subrev_u16_e64"
    3731           0 :               return;
    3732             :             case '3':    // 1 string to match.
    3733           0 :               if (memcmp(Mnemonic.data()+11, "2_e64", 5) != 0)
    3734             :                 break;
    3735           0 :               Mnemonic = "v_subrev_u32";       // "v_subrev_u32_e64"
    3736           0 :               return;
    3737             :             }
    3738             :             break;
    3739             :           }
    3740             :           break;
    3741             :         }
    3742             :         break;
    3743             :       case 17:   // 138 strings to match.
    3744         686 :         if (memcmp(Mnemonic.data()+0, "v_", 2) != 0)
    3745             :           break;
    3746         588 :         switch (Mnemonic[2]) {
    3747             :         default: break;
    3748             :         case 'a':        // 3 strings to match.
    3749           0 :           if (memcmp(Mnemonic.data()+3, "shrrev_i", 8) != 0)
    3750             :             break;
    3751           0 :           switch (Mnemonic[11]) {
    3752             :           default: break;
    3753             :           case '1':      // 1 string to match.
    3754           0 :             if (memcmp(Mnemonic.data()+12, "6_e64", 5) != 0)
    3755             :               break;
    3756           0 :             Mnemonic = "v_ashrrev_i16";        // "v_ashrrev_i16_e64"
    3757           0 :             return;
    3758             :           case '3':      // 1 string to match.
    3759           0 :             if (memcmp(Mnemonic.data()+12, "2_e64", 5) != 0)
    3760             :               break;
    3761           0 :             Mnemonic = "v_ashrrev_i32";        // "v_ashrrev_i32_e64"
    3762           0 :             return;
    3763             :           case '6':      // 1 string to match.
    3764           0 :             if (memcmp(Mnemonic.data()+12, "4_e64", 5) != 0)
    3765             :               break;
    3766           0 :             Mnemonic = "v_ashrrev_i64";        // "v_ashrrev_i64_e64"
    3767           0 :             return;
    3768             :           }
    3769             :           break;
    3770         186 :         case 'c':        // 110 strings to match.
    3771         186 :           switch (Mnemonic[3]) {
    3772             :           default: break;
    3773           0 :           case 'm':      // 93 strings to match.
    3774           0 :             if (Mnemonic[4] != 'p')
    3775             :               break;
    3776           0 :             switch (Mnemonic[5]) {
    3777             :             default: break;
    3778           0 :             case '_':    // 21 strings to match.
    3779           0 :               switch (Mnemonic[6]) {
    3780             :               default: break;
    3781           0 :               case 'n':  // 18 strings to match.
    3782           0 :                 switch (Mnemonic[7]) {
    3783             :                 default: break;
    3784             :                 case 'e':        // 3 strings to match.
    3785           0 :                   if (memcmp(Mnemonic.data()+8, "q_f", 3) != 0)
    3786             :                     break;
    3787           0 :                   switch (Mnemonic[11]) {
    3788             :                   default: break;
    3789             :                   case '1':      // 1 string to match.
    3790           0 :                     if (memcmp(Mnemonic.data()+12, "6_e64", 5) != 0)
    3791             :                       break;
    3792           0 :                     Mnemonic = "v_cmp_neq_f16";        // "v_cmp_neq_f16_e64"
    3793           0 :                     return;
    3794             :                   case '3':      // 1 string to match.
    3795           0 :                     if (memcmp(Mnemonic.data()+12, "2_e64", 5) != 0)
    3796             :                       break;
    3797           0 :                     Mnemonic = "v_cmp_neq_f32";        // "v_cmp_neq_f32_e64"
    3798           0 :                     return;
    3799             :                   case '6':      // 1 string to match.
    3800           0 :                     if (memcmp(Mnemonic.data()+12, "4_e64", 5) != 0)
    3801             :                       break;
    3802           0 :                     Mnemonic = "v_cmp_neq_f64";        // "v_cmp_neq_f64_e64"
    3803           0 :                     return;
    3804             :                   }
    3805             :                   break;
    3806           0 :                 case 'g':        // 6 strings to match.
    3807           0 :                   switch (Mnemonic[8]) {
    3808             :                   default: break;
    3809             :                   case 'e':      // 3 strings to match.
    3810           0 :                     if (memcmp(Mnemonic.data()+9, "_f", 2) != 0)
    3811             :                       break;
    3812           0 :                     switch (Mnemonic[11]) {
    3813             :                     default: break;
    3814             :                     case '1':    // 1 string to match.
    3815           0 :                       if (memcmp(Mnemonic.data()+12, "6_e64", 5) != 0)
    3816             :                         break;
    3817           0 :                       Mnemonic = "v_cmp_nge_f16";      // "v_cmp_nge_f16_e64"
    3818           0 :                       return;
    3819             :                     case '3':    // 1 string to match.
    3820           0 :                       if (memcmp(Mnemonic.data()+12, "2_e64", 5) != 0)
    3821             :                         break;
    3822           0 :                       Mnemonic = "v_cmp_nge_f32";      // "v_cmp_nge_f32_e64"
    3823           0 :                       return;
    3824             :                     case '6':    // 1 string to match.
    3825           0 :                       if (memcmp(Mnemonic.data()+12, "4_e64", 5) != 0)
    3826             :                         break;
    3827           0 :                       Mnemonic = "v_cmp_nge_f64";      // "v_cmp_nge_f64_e64"
    3828           0 :                       return;
    3829             :                     }
    3830             :                     break;
    3831             :                   case 't':      // 3 strings to match.
    3832           0 :                     if (memcmp(Mnemonic.data()+9, "_f", 2) != 0)
    3833             :                       break;
    3834           0 :                     switch (Mnemonic[11]) {
    3835             :                     default: break;
    3836             :                     case '1':    // 1 string to match.
    3837           0 :                       if (memcmp(Mnemonic.data()+12, "6_e64", 5) != 0)
    3838             :                         break;
    3839           0 :                       Mnemonic = "v_cmp_ngt_f16";      // "v_cmp_ngt_f16_e64"
    3840           0 :                       return;
    3841             :                     case '3':    // 1 string to match.
    3842           0 :                       if (memcmp(Mnemonic.data()+12, "2_e64", 5) != 0)
    3843             :                         break;
    3844           0 :                       Mnemonic = "v_cmp_ngt_f32";      // "v_cmp_ngt_f32_e64"
    3845           0 :                       return;
    3846             :                     case '6':    // 1 string to match.
    3847           0 :                       if (memcmp(Mnemonic.data()+12, "4_e64", 5) != 0)
    3848             :                         break;
    3849           0 :                       Mnemonic = "v_cmp_ngt_f64";      // "v_cmp_ngt_f64_e64"
    3850           0 :                       return;
    3851             :                     }
    3852             :                     break;
    3853             :                   }
    3854             :                   break;
    3855           0 :                 case 'l':        // 9 strings to match.
    3856           0 :                   switch (Mnemonic[8]) {
    3857             :                   default: break;
    3858             :                   case 'e':      // 3 strings to match.
    3859           0 :                     if (memcmp(Mnemonic.data()+9, "_f", 2) != 0)
    3860             :                       break;
    3861           0 :                     switch (Mnemonic[11]) {
    3862             :                     default: break;
    3863             :                     case '1':    // 1 string to match.
    3864           0 :                       if (memcmp(Mnemonic.data()+12, "6_e64", 5) != 0)
    3865             :                         break;
    3866           0 :                       Mnemonic = "v_cmp_nle_f16";      // "v_cmp_nle_f16_e64"
    3867           0 :                       return;
    3868             :                     case '3':    // 1 string to match.
    3869           0 :                       if (memcmp(Mnemonic.data()+12, "2_e64", 5) != 0)
    3870             :                         break;
    3871           0 :                       Mnemonic = "v_cmp_nle_f32";      // "v_cmp_nle_f32_e64"
    3872           0 :                       return;
    3873             :                     case '6':    // 1 string to match.
    3874           0 :                       if (memcmp(Mnemonic.data()+12, "4_e64", 5) != 0)
    3875             :                         break;
    3876           0 :                       Mnemonic = "v_cmp_nle_f64";      // "v_cmp_nle_f64_e64"
    3877           0 :                       return;
    3878             :                     }
    3879             :                     break;
    3880             :                   case 'g':      // 3 strings to match.
    3881           0 :                     if (memcmp(Mnemonic.data()+9, "_f", 2) != 0)
    3882             :                       break;
    3883           0 :                     switch (Mnemonic[11]) {
    3884             :                     default: break;
    3885             :                     case '1':    // 1 string to match.
    3886           0 :                       if (memcmp(Mnemonic.data()+12, "6_e64", 5) != 0)
    3887             :                         break;
    3888           0 :                       Mnemonic = "v_cmp_nlg_f16";      // "v_cmp_nlg_f16_e64"
    3889           0 :                       return;
    3890             :                     case '3':    // 1 string to match.
    3891           0 :                       if (memcmp(Mnemonic.data()+12, "2_e64", 5) != 0)
    3892             :                         break;
    3893           0 :                       Mnemonic = "v_cmp_nlg_f32";      // "v_cmp_nlg_f32_e64"
    3894           0 :                       return;
    3895             :                     case '6':    // 1 string to match.
    3896           0 :                       if (memcmp(Mnemonic.data()+12, "4_e64", 5) != 0)
    3897             :                         break;
    3898           0 :                       Mnemonic = "v_cmp_nlg_f64";      // "v_cmp_nlg_f64_e64"
    3899           0 :                       return;
    3900             :                     }
    3901             :                     break;
    3902             :                   case 't':      // 3 strings to match.
    3903           0 :                     if (memcmp(Mnemonic.data()+9, "_f", 2) != 0)
    3904             :                       break;
    3905           0 :                     switch (Mnemonic[11]) {
    3906             :                     default: break;
    3907             :                     case '1':    // 1 string to match.
    3908           0 :                       if (memcmp(Mnemonic.data()+12, "6_e64", 5) != 0)
    3909             :                         break;
    3910           0 :                       Mnemonic = "v_cmp_nlt_f16";      // "v_cmp_nlt_f16_e64"
    3911           0 :                       return;
    3912             :                     case '3':    // 1 string to match.
    3913           0 :                       if (memcmp(Mnemonic.data()+12, "2_e64", 5) != 0)
    3914             :                         break;
    3915           0 :                       Mnemonic = "v_cmp_nlt_f32";      // "v_cmp_nlt_f32_e64"
    3916           0 :                       return;
    3917             :                     case '6':    // 1 string to match.
    3918           0 :                       if (memcmp(Mnemonic.data()+12, "4_e64", 5) != 0)
    3919             :                         break;
    3920           0 :                       Mnemonic = "v_cmp_nlt_f64";      // "v_cmp_nlt_f64_e64"
    3921           0 :                       return;
    3922             :                     }
    3923             :                     break;
    3924             :                   }
    3925             :                   break;
    3926             :                 }
    3927             :                 break;
    3928             :               case 't':  // 3 strings to match.
    3929           0 :                 if (memcmp(Mnemonic.data()+7, "ru_f", 4) != 0)
    3930             :                   break;
    3931           0 :                 switch (Mnemonic[11]) {
    3932             :                 default: break;
    3933             :                 case '1':        // 1 string to match.
    3934           0 :                   if (memcmp(Mnemonic.data()+12, "6_e64", 5) != 0)
    3935             :                     break;
    3936           0 :                   Mnemonic = "v_cmp_tru_f16";  // "v_cmp_tru_f16_e64"
    3937           0 :                   return;
    3938             :                 case '3':        // 1 string to match.
    3939           0 :                   if (memcmp(Mnemonic.data()+12, "2_e64", 5) != 0)
    3940             :                     break;
    3941           0 :                   Mnemonic = "v_cmp_tru_f32";  // "v_cmp_tru_f32_e64"
    3942           0 :                   return;
    3943             :                 case '6':        // 1 string to match.
    3944           0 :                   if (memcmp(Mnemonic.data()+12, "4_e64", 5) != 0)
    3945             :                     break;
    3946           0 :                   Mnemonic = "v_cmp_tru_f64";  // "v_cmp_tru_f64_e64"
    3947           0 :                   return;
    3948             :                 }
    3949             :                 break;
    3950             :               }
    3951             :               break;
    3952           0 :             case 's':    // 18 strings to match.
    3953           0 :               switch (Mnemonic[6]) {
    3954             :               default: break;
    3955           0 :               case '_':  // 12 strings to match.
    3956           0 :                 switch (Mnemonic[7]) {
    3957             :                 default: break;
    3958             :                 case 'e':        // 2 strings to match.
    3959           0 :                   if (memcmp(Mnemonic.data()+8, "q_f", 3) != 0)
    3960             :                     break;
    3961           0 :                   switch (Mnemonic[11]) {
    3962             :                   default: break;
    3963             :                   case '3':      // 1 string to match.
    3964           0 :                     if (memcmp(Mnemonic.data()+12, "2_e64", 5) != 0)
    3965             :                       break;
    3966           0 :                     Mnemonic = "v_cmps_eq_f32";        // "v_cmps_eq_f32_e64"
    3967           0 :                     return;
    3968             :                   case '6':      // 1 string to match.
    3969           0 :                     if (memcmp(Mnemonic.data()+12, "4_e64", 5) != 0)
    3970             :                       break;
    3971           0 :                     Mnemonic = "v_cmps_eq_f64";        // "v_cmps_eq_f64_e64"
    3972           0 :                     return;
    3973             :                   }
    3974             :                   break;
    3975           0 :                 case 'g':        // 4 strings to match.
    3976           0 :                   switch (Mnemonic[8]) {
    3977             :                   default: break;
    3978             :                   case 'e':      // 2 strings to match.
    3979           0 :                     if (memcmp(Mnemonic.data()+9, "_f", 2) != 0)
    3980             :                       break;
    3981           0 :                     switch (Mnemonic[11]) {
    3982             :                     default: break;
    3983             :                     case '3':    // 1 string to match.
    3984           0 :                       if (memcmp(Mnemonic.data()+12, "2_e64", 5) != 0)
    3985             :                         break;
    3986           0 :                       Mnemonic = "v_cmps_ge_f32";      // "v_cmps_ge_f32_e64"
    3987           0 :                       return;
    3988             :                     case '6':    // 1 string to match.
    3989           0 :                       if (memcmp(Mnemonic.data()+12, "4_e64", 5) != 0)
    3990             :                         break;
    3991           0 :                       Mnemonic = "v_cmps_ge_f64";      // "v_cmps_ge_f64_e64"
    3992           0 :                       return;
    3993             :                     }
    3994             :                     break;
    3995             :                   case 't':      // 2 strings to match.
    3996           0 :                     if (memcmp(Mnemonic.data()+9, "_f", 2) != 0)
    3997             :                       break;
    3998           0 :                     switch (Mnemonic[11]) {
    3999             :                     default: break;
    4000             :                     case '3':    // 1 string to match.
    4001           0 :                       if (memcmp(Mnemonic.data()+12, "2_e64", 5) != 0)
    4002             :                         break;
    4003           0 :                       Mnemonic = "v_cmps_gt_f32";      // "v_cmps_gt_f32_e64"
    4004           0 :                       return;
    4005             :                     case '6':    // 1 string to match.
    4006           0 :                       if (memcmp(Mnemonic.data()+12, "4_e64", 5) != 0)
    4007             :                         break;
    4008           0 :                       Mnemonic = "v_cmps_gt_f64";      // "v_cmps_gt_f64_e64"
    4009           0 :                       return;
    4010             :                     }
    4011             :                     break;
    4012             :                   }
    4013             :                   break;
    4014           0 :                 case 'l':        // 6 strings to match.
    4015           0 :                   switch (Mnemonic[8]) {
    4016             :                   default: break;
    4017             :                   case 'e':      // 2 strings to match.
    4018           0 :                     if (memcmp(Mnemonic.data()+9, "_f", 2) != 0)
    4019             :                       break;
    4020           0 :                     switch (Mnemonic[11]) {
    4021             :                     default: break;
    4022             :                     case '3':    // 1 string to match.
    4023           0 :                       if (memcmp(Mnemonic.data()+12, "2_e64", 5) != 0)
    4024             :                         break;
    4025           0 :                       Mnemonic = "v_cmps_le_f32";      // "v_cmps_le_f32_e64"
    4026           0 :                       return;
    4027             :                     case '6':    // 1 string to match.
    4028           0 :                       if (memcmp(Mnemonic.data()+12, "4_e64", 5) != 0)
    4029             :                         break;
    4030           0 :                       Mnemonic = "v_cmps_le_f64";      // "v_cmps_le_f64_e64"
    4031           0 :                       return;
    4032             :                     }
    4033             :                     break;
    4034             :                   case 'g':      // 2 strings to match.
    4035           0 :                     if (memcmp(Mnemonic.data()+9, "_f", 2) != 0)
    4036             :                       break;
    4037           0 :                     switch (Mnemonic[11]) {
    4038             :                     default: break;
    4039             :                     case '3':    // 1 string to match.
    4040           0 :                       if (memcmp(Mnemonic.data()+12, "2_e64", 5) != 0)
    4041             :                         break;
    4042           0 :                       Mnemonic = "v_cmps_lg_f32";      // "v_cmps_lg_f32_e64"
    4043           0 :                       return;
    4044             :                     case '6':    // 1 string to match.
    4045           0 :                       if (memcmp(Mnemonic.data()+12, "4_e64", 5) != 0)
    4046             :                         break;
    4047           0 :                       Mnemonic = "v_cmps_lg_f64";      // "v_cmps_lg_f64_e64"
    4048           0 :                       return;
    4049             :                     }
    4050             :                     break;
    4051             :                   case 't':      // 2 strings to match.
    4052           0 :                     if (memcmp(Mnemonic.data()+9, "_f", 2) != 0)
    4053             :                       break;
    4054           0 :                     switch (Mnemonic[11]) {
    4055             :                     default: break;
    4056             :                     case '3':    // 1 string to match.
    4057           0 :                       if (memcmp(Mnemonic.data()+12, "2_e64", 5) != 0)
    4058             :                         break;
    4059           0 :                       Mnemonic = "v_cmps_lt_f32";      // "v_cmps_lt_f32_e64"
    4060           0 :                       return;
    4061             :                     case '6':    // 1 string to match.
    4062           0 :                       if (memcmp(Mnemonic.data()+12, "4_e64", 5) != 0)
    4063             :                         break;
    4064           0 :                       Mnemonic = "v_cmps_lt_f64";      // "v_cmps_lt_f64_e64"
    4065           0 :                       return;
    4066             :                     }
    4067             :                     break;
    4068             :                   }
    4069             :                   break;
    4070             :                 }
    4071             :                 break;
    4072           0 :               case 'x':  // 6 strings to match.
    4073           0 :                 if (Mnemonic[7] != '_')
    4074             :                   break;
    4075           0 :                 switch (Mnemonic[8]) {
    4076             :                 default: break;
    4077             :                 case 'f':        // 2 strings to match.
    4078           0 :                   if (memcmp(Mnemonic.data()+9, "_f", 2) != 0)
    4079             :                     break;
    4080           0 :                   switch (Mnemonic[11]) {
    4081             :                   default: break;
    4082             :                   case '3':      // 1 string to match.
    4083           0 :                     if (memcmp(Mnemonic.data()+12, "2_e64", 5) != 0)
    4084             :                       break;
    4085           0 :                     Mnemonic = "v_cmpsx_f_f32";        // "v_cmpsx_f_f32_e64"
    4086           0 :                     return;
    4087             :                   case '6':      // 1 string to match.
    4088           0 :                     if (memcmp(Mnemonic.data()+12, "4_e64", 5) != 0)
    4089             :                       break;
    4090           0 :                     Mnemonic = "v_cmpsx_f_f64";        // "v_cmpsx_f_f64_e64"
    4091           0 :                     return;
    4092             :                   }
    4093             :                   break;
    4094             :                 case 'o':        // 2 strings to match.
    4095           0 :                   if (memcmp(Mnemonic.data()+9, "_f", 2) != 0)
    4096             :                     break;
    4097           0 :                   switch (Mnemonic[11]) {
    4098             :                   default: break;
    4099             :                   case '3':      // 1 string to match.
    4100           0 :                     if (memcmp(Mnemonic.data()+12, "2_e64", 5) != 0)
    4101             :                       break;
    4102           0 :                     Mnemonic = "v_cmpsx_o_f32";        // "v_cmpsx_o_f32_e64"
    4103           0 :                     return;
    4104             :                   case '6':      // 1 string to match.
    4105           0 :                     if (memcmp(Mnemonic.data()+12, "4_e64", 5) != 0)
    4106             :                       break;
    4107           0 :                     Mnemonic = "v_cmpsx_o_f64";        // "v_cmpsx_o_f64_e64"
    4108           0 :                     return;
    4109             :                   }
    4110             :                   break;
    4111             :                 case 'u':        // 2 strings to match.
    4112           0 :                   if (memcmp(Mnemonic.data()+9, "_f", 2) != 0)
    4113             :                     break;
    4114           0 :                   switch (Mnemonic[11]) {
    4115             :                   default: break;
    4116             :                   case '3':      // 1 string to match.
    4117           0 :                     if (memcmp(Mnemonic.data()+12, "2_e64", 5) != 0)
    4118             :                       break;
    4119           0 :                     Mnemonic = "v_cmpsx_u_f32";        // "v_cmpsx_u_f32_e64"
    4120           0 :                     return;
    4121             :                   case '6':      // 1 string to match.
    4122           0 :                     if (memcmp(Mnemonic.data()+12, "4_e64", 5) != 0)
    4123             :                       break;
    4124           0 :                     Mnemonic = "v_cmpsx_u_f64";        // "v_cmpsx_u_f64_e64"
    4125           0 :                     return;
    4126             :                   }
    4127             :                   break;
    4128             :                 }
    4129             :                 break;
    4130             :               }
    4131             :               break;
    4132           0 :             case 'x':    // 54 strings to match.
    4133           0 :               if (Mnemonic[6] != '_')
    4134             :                 break;
    4135           0 :               switch (Mnemonic[7]) {
    4136             :               default: break;
    4137             :               case 'e':  // 9 strings to match.
    4138           0 :                 if (memcmp(Mnemonic.data()+8, "q_", 2) != 0)
    4139             :                   break;
    4140           0 :                 switch (Mnemonic[10]) {
    4141             :                 default: break;
    4142           0 :                 case 'f':        // 3 strings to match.
    4143           0 :                   switch (Mnemonic[11]) {
    4144             :                   default: break;
    4145             :                   case '1':      // 1 string to match.
    4146           0 :                     if (memcmp(Mnemonic.data()+12, "6_e64", 5) != 0)
    4147             :                       break;
    4148           0 :                     Mnemonic = "v_cmpx_eq_f16";        // "v_cmpx_eq_f16_e64"
    4149           0 :                     return;
    4150             :                   case '3':      // 1 string to match.
    4151           0 :                     if (memcmp(Mnemonic.data()+12, "2_e64", 5) != 0)
    4152             :                       break;
    4153           0 :                     Mnemonic = "v_cmpx_eq_f32";        // "v_cmpx_eq_f32_e64"
    4154           0 :                     return;
    4155             :                   case '6':      // 1 string to match.
    4156           0 :                     if (memcmp(Mnemonic.data()+12, "4_e64", 5) != 0)
    4157             :                       break;
    4158           0 :                     Mnemonic = "v_cmpx_eq_f64";        // "v_cmpx_eq_f64_e64"
    4159           0 :                     return;
    4160             :                   }
    4161             :                   break;
    4162           0 :                 case 'i':        // 3 strings to match.
    4163           0 :                   switch (Mnemonic[11]) {
    4164             :                   default: break;
    4165             :                   case '1':      // 1 string to match.
    4166           0 :                     if (memcmp(Mnemonic.data()+12, "6_e64", 5) != 0)
    4167             :                       break;
    4168           0 :                     Mnemonic = "v_cmpx_eq_i16";        // "v_cmpx_eq_i16_e64"
    4169           0 :                     return;
    4170             :                   case '3':      // 1 string to match.
    4171           0 :                     if (memcmp(Mnemonic.data()+12, "2_e64", 5) != 0)
    4172             :                       break;
    4173           0 :                     Mnemonic = "v_cmpx_eq_i32";        // "v_cmpx_eq_i32_e64"
    4174           0 :                     return;
    4175             :                   case '6':      // 1 string to match.
    4176           0 :                     if (memcmp(Mnemonic.data()+12, "4_e64", 5) != 0)
    4177             :                       break;
    4178           0 :                     Mnemonic = "v_cmpx_eq_i64";        // "v_cmpx_eq_i64_e64"
    4179           0 :                     return;
    4180             :                   }
    4181             :                   break;
    4182           0 :                 case 'u':        // 3 strings to match.
    4183           0 :                   switch (Mnemonic[11]) {
    4184             :                   default: break;
    4185             :                   case '1':      // 1 string to match.
    4186           0 :                     if (memcmp(Mnemonic.data()+12, "6_e64", 5) != 0)
    4187             :                       break;
    4188           0 :                     Mnemonic = "v_cmpx_eq_u16";        // "v_cmpx_eq_u16_e64"
    4189           0 :                     return;
    4190             :                   case '3':      // 1 string to match.
    4191           0 :                     if (memcmp(Mnemonic.data()+12, "2_e64", 5) != 0)
    4192             :                       break;
    4193           0 :                     Mnemonic = "v_cmpx_eq_u32";        // "v_cmpx_eq_u32_e64"
    4194           0 :                     return;
    4195             :                   case '6':      // 1 string to match.
    4196           0 :                     if (memcmp(Mnemonic.data()+12, "4_e64", 5) != 0)
    4197             :                       break;
    4198           0 :                     Mnemonic = "v_cmpx_eq_u64";        // "v_cmpx_eq_u64_e64"
    4199           0 :                     return;
    4200             :                   }
    4201             :                   break;
    4202             :                 }
    4203             :                 break;
    4204           0 :               case 'g':  // 18 strings to match.
    4205           0 :                 switch (Mnemonic[8]) {
    4206             :                 default: break;
    4207           0 :                 case 'e':        // 9 strings to match.
    4208           0 :                   if (Mnemonic[9] != '_')
    4209             :                     break;
    4210           0 :                   switch (Mnemonic[10]) {
    4211             :                   default: break;
    4212           0 :                   case 'f':      // 3 strings to match.
    4213           0 :                     switch (Mnemonic[11]) {
    4214             :                     default: break;
    4215             :                     case '1':    // 1 string to match.
    4216           0 :                       if (memcmp(Mnemonic.data()+12, "6_e64", 5) != 0)
    4217             :                         break;
    4218           0 :                       Mnemonic = "v_cmpx_ge_f16";      // "v_cmpx_ge_f16_e64"
    4219           0 :                       return;
    4220             :                     case '3':    // 1 string to match.
    4221           0 :                       if (memcmp(Mnemonic.data()+12, "2_e64", 5) != 0)
    4222             :                         break;
    4223           0 :                       Mnemonic = "v_cmpx_ge_f32";      // "v_cmpx_ge_f32_e64"
    4224           0 :                       return;
    4225             :                     case '6':    // 1 string to match.
    4226           0 :                       if (memcmp(Mnemonic.data()+12, "4_e64", 5) != 0)
    4227             :                         break;
    4228           0 :                       Mnemonic = "v_cmpx_ge_f64";      // "v_cmpx_ge_f64_e64"
    4229           0 :                       return;
    4230             :                     }
    4231             :                     break;
    4232           0 :                   case 'i':      // 3 strings to match.
    4233           0 :                     switch (Mnemonic[11]) {
    4234             :                     default: break;
    4235             :                     case '1':    // 1 string to match.
    4236           0 :                       if (memcmp(Mnemonic.data()+12, "6_e64", 5) != 0)
    4237             :                         break;
    4238           0 :                       Mnemonic = "v_cmpx_ge_i16";      // "v_cmpx_ge_i16_e64"
    4239           0 :                       return;
    4240             :                     case '3':    // 1 string to match.
    4241           0 :                       if (memcmp(Mnemonic.data()+12, "2_e64", 5) != 0)
    4242             :                         break;
    4243           0 :                       Mnemonic = "v_cmpx_ge_i32";      // "v_cmpx_ge_i32_e64"
    4244           0 :                       return;
    4245             :                     case '6':    // 1 string to match.
    4246           0 :                       if (memcmp(Mnemonic.data()+12, "4_e64", 5) != 0)
    4247             :                         break;
    4248           0 :                       Mnemonic = "v_cmpx_ge_i64";      // "v_cmpx_ge_i64_e64"
    4249           0 :                       return;
    4250             :                     }
    4251             :                     break;
    4252           0 :                   case 'u':      // 3 strings to match.
    4253           0 :                     switch (Mnemonic[11]) {
    4254             :                     default: break;
    4255             :                     case '1':    // 1 string to match.
    4256           0 :                       if (memcmp(Mnemonic.data()+12, "6_e64", 5) != 0)
    4257             :                         break;
    4258           0 :                       Mnemonic = "v_cmpx_ge_u16";      // "v_cmpx_ge_u16_e64"
    4259           0 :                       return;
    4260             :                     case '3':    // 1 string to match.
    4261           0 :                       if (memcmp(Mnemonic.data()+12, "2_e64", 5) != 0)
    4262             :                         break;
    4263           0 :                       Mnemonic = "v_cmpx_ge_u32";      // "v_cmpx_ge_u32_e64"
    4264           0 :                       return;
    4265             :                     case '6':    // 1 string to match.
    4266           0 :                       if (memcmp(Mnemonic.data()+12, "4_e64", 5) != 0)
    4267             :                         break;
    4268           0 :                       Mnemonic = "v_cmpx_ge_u64";      // "v_cmpx_ge_u64_e64"
    4269           0 :                       return;
    4270             :                     }
    4271             :                     break;
    4272             :                   }
    4273             :                   break;
    4274           0 :                 case 't':        // 9 strings to match.
    4275           0 :                   if (Mnemonic[9] != '_')
    4276             :                     break;
    4277           0 :                   switch (Mnemonic[10]) {
    4278             :                   default: break;
    4279           0 :                   case 'f':      // 3 strings to match.
    4280           0 :                     switch (Mnemonic[11]) {
    4281             :                     default: break;
    4282             :                     case '1':    // 1 string to match.
    4283           0 :                       if (memcmp(Mnemonic.data()+12, "6_e64", 5) != 0)
    4284             :                         break;
    4285           0 :                       Mnemonic = "v_cmpx_gt_f16";      // "v_cmpx_gt_f16_e64"
    4286           0 :                       return;
    4287             :                     case '3':    // 1 string to match.
    4288           0 :                       if (memcmp(Mnemonic.data()+12, "2_e64", 5) != 0)
    4289             :                         break;
    4290           0 :                       Mnemonic = "v_cmpx_gt_f32";      // "v_cmpx_gt_f32_e64"
    4291           0 :                       return;
    4292             :                     case '6':    // 1 string to match.
    4293           0 :                       if (memcmp(Mnemonic.data()+12, "4_e64", 5) != 0)
    4294             :                         break;
    4295           0 :                       Mnemonic = "v_cmpx_gt_f64";      // "v_cmpx_gt_f64_e64"
    4296           0 :                       return;
    4297             :                     }
    4298             :                     break;
    4299           0 :                   case 'i':      // 3 strings to match.
    4300           0 :                     switch (Mnemonic[11]) {
    4301             :                     default: break;
    4302             :                     case '1':    // 1 string to match.
    4303           0 :                       if (memcmp(Mnemonic.data()+12, "6_e64", 5) != 0)
    4304             :                         break;
    4305           0 :                       Mnemonic = "v_cmpx_gt_i16";      // "v_cmpx_gt_i16_e64"
    4306           0 :                       return;
    4307             :                     case '3':    // 1 string to match.
    4308           0 :                       if (memcmp(Mnemonic.data()+12, "2_e64", 5) != 0)
    4309             :                         break;
    4310           0 :                       Mnemonic = "v_cmpx_gt_i32";      // "v_cmpx_gt_i32_e64"
    4311           0 :                       return;
    4312             :                     case '6':    // 1 string to match.
    4313           0 :                       if (memcmp(Mnemonic.data()+12, "4_e64", 5) != 0)
    4314             :                         break;
    4315           0 :                       Mnemonic = "v_cmpx_gt_i64";      // "v_cmpx_gt_i64_e64"
    4316           0 :                       return;
    4317             :                     }
    4318             :                     break;
    4319           0 :                   case 'u':      // 3 strings to match.
    4320           0 :                     switch (Mnemonic[11]) {
    4321             :                     default: break;
    4322             :                     case '1':    // 1 string to match.
    4323           0 :                       if (memcmp(Mnemonic.data()+12, "6_e64", 5) != 0)
    4324             :                         break;
    4325           0 :                       Mnemonic = "v_cmpx_gt_u16";      // "v_cmpx_gt_u16_e64"
    4326           0 :                       return;
    4327             :                     case '3':    // 1 string to match.
    4328           0 :                       if (memcmp(Mnemonic.data()+12, "2_e64", 5) != 0)
    4329             :                         break;
    4330           0 :                       Mnemonic = "v_cmpx_gt_u32";      // "v_cmpx_gt_u32_e64"
    4331           0 :                       return;
    4332             :                     case '6':    // 1 string to match.
    4333           0 :                       if (memcmp(Mnemonic.data()+12, "4_e64", 5) != 0)
    4334             :                         break;
    4335           0 :                       Mnemonic = "v_cmpx_gt_u64";      // "v_cmpx_gt_u64_e64"
    4336           0 :                       return;
    4337             :                     }
    4338             :                     break;
    4339             :                   }
    4340             :                   break;
    4341             :                 }
    4342             :                 break;
    4343           0 :               case 'l':  // 21 strings to match.
    4344           0 :                 switch (Mnemonic[8]) {
    4345             :                 default: break;
    4346           0 :                 case 'e':        // 9 strings to match.
    4347           0 :                   if (Mnemonic[9] != '_')
    4348             :                     break;
    4349           0 :                   switch (Mnemonic[10]) {
    4350             :                   default: break;
    4351           0 :                   case 'f':      // 3 strings to match.
    4352           0 :                     switch (Mnemonic[11]) {
    4353             :                     default: break;
    4354             :                     case '1':    // 1 string to match.
    4355           0 :                       if (memcmp(Mnemonic.data()+12, "6_e64", 5) != 0)
    4356             :                         break;
    4357           0 :                       Mnemonic = "v_cmpx_le_f16";      // "v_cmpx_le_f16_e64"
    4358           0 :                       return;
    4359             :                     case '3':    // 1 string to match.
    4360           0 :                       if (memcmp(Mnemonic.data()+12, "2_e64", 5) != 0)
    4361             :                         break;
    4362           0 :                       Mnemonic = "v_cmpx_le_f32";      // "v_cmpx_le_f32_e64"
    4363           0 :                       return;
    4364             :                     case '6':    // 1 string to match.
    4365           0 :                       if (memcmp(Mnemonic.data()+12, "4_e64", 5) != 0)
    4366             :                         break;
    4367           0 :                       Mnemonic = "v_cmpx_le_f64";      // "v_cmpx_le_f64_e64"
    4368           0 :                       return;
    4369             :                     }
    4370             :                     break;
    4371           0 :                   case 'i':      // 3 strings to match.
    4372           0 :                     switch (Mnemonic[11]) {
    4373             :                     default: break;
    4374             :                     case '1':    // 1 string to match.
    4375           0 :                       if (memcmp(Mnemonic.data()+12, "6_e64", 5) != 0)
    4376             :                         break;
    4377           0 :                       Mnemonic = "v_cmpx_le_i16";      // "v_cmpx_le_i16_e64"
    4378           0 :                       return;
    4379             :                     case '3':    // 1 string to match.
    4380           0 :                       if (memcmp(Mnemonic.data()+12, "2_e64", 5) != 0)
    4381             :                         break;
    4382           0 :                       Mnemonic = "v_cmpx_le_i32";      // "v_cmpx_le_i32_e64"
    4383           0 :                       return;
    4384             :                     case '6':    // 1 string to match.
    4385           0 :                       if (memcmp(Mnemonic.data()+12, "4_e64", 5) != 0)
    4386             :                         break;
    4387           0 :                       Mnemonic = "v_cmpx_le_i64";      // "v_cmpx_le_i64_e64"
    4388           0 :                       return;
    4389             :                     }
    4390             :                     break;
    4391           0 :                   case 'u':      // 3 strings to match.
    4392           0 :                     switch (Mnemonic[11]) {
    4393             :                     default: break;
    4394             :                     case '1':    // 1 string to match.
    4395           0 :                       if (memcmp(Mnemonic.data()+12, "6_e64", 5) != 0)
    4396             :                         break;
    4397           0 :                       Mnemonic = "v_cmpx_le_u16";      // "v_cmpx_le_u16_e64"
    4398           0 :                       return;
    4399             :                     case '3':    // 1 string to match.
    4400           0 :                       if (memcmp(Mnemonic.data()+12, "2_e64", 5) != 0)
    4401             :                         break;
    4402           0 :                       Mnemonic = "v_cmpx_le_u32";      // "v_cmpx_le_u32_e64"
    4403           0 :                       return;
    4404             :                     case '6':    // 1 string to match.
    4405           0 :                       if (memcmp(Mnemonic.data()+12, "4_e64", 5) != 0)
    4406             :                         break;
    4407           0 :                       Mnemonic = "v_cmpx_le_u64";      // "v_cmpx_le_u64_e64"
    4408           0 :                       return;
    4409             :                     }
    4410             :                     break;
    4411             :                   }
    4412             :                   break;
    4413             :                 case 'g':        // 3 strings to match.
    4414           0 :                   if (memcmp(Mnemonic.data()+9, "_f", 2) != 0)
    4415             :                     break;
    4416           0 :                   switch (Mnemonic[11]) {
    4417             :                   default: break;
    4418             :                   case '1':      // 1 string to match.
    4419           0 :                     if (memcmp(Mnemonic.data()+12, "6_e64", 5) != 0)
    4420             :                       break;
    4421           0 :                     Mnemonic = "v_cmpx_lg_f16";        // "v_cmpx_lg_f16_e64"
    4422           0 :                     return;
    4423             :                   case '3':      // 1 string to match.
    4424           0 :                     if (memcmp(Mnemonic.data()+12, "2_e64", 5) != 0)
    4425             :                       break;
    4426           0 :                     Mnemonic = "v_cmpx_lg_f32";        // "v_cmpx_lg_f32_e64"
    4427           0 :                     return;
    4428             :                   case '6':      // 1 string to match.
    4429           0 :                     if (memcmp(Mnemonic.data()+12, "4_e64", 5) != 0)
    4430             :                       break;
    4431           0 :                     Mnemonic = "v_cmpx_lg_f64";        // "v_cmpx_lg_f64_e64"
    4432           0 :                     return;
    4433             :                   }
    4434             :                   break;
    4435           0 :                 case 't':        // 9 strings to match.
    4436           0 :                   if (Mnemonic[9] != '_')
    4437             :                     break;
    4438           0 :                   switch (Mnemonic[10]) {
    4439             :                   default: break;
    4440           0 :                   case 'f':      // 3 strings to match.
    4441           0 :                     switch (Mnemonic[11]) {
    4442             :                     default: break;
    4443             :                     case '1':    // 1 string to match.
    4444           0 :                       if (memcmp(Mnemonic.data()+12, "6_e64", 5) != 0)
    4445             :                         break;
    4446           0 :                       Mnemonic = "v_cmpx_lt_f16";      // "v_cmpx_lt_f16_e64"
    4447           0 :                       return;
    4448             :                     case '3':    // 1 string to match.
    4449           0 :                       if (memcmp(Mnemonic.data()+12, "2_e64", 5) != 0)
    4450             :                         break;
    4451           0 :                       Mnemonic = "v_cmpx_lt_f32";      // "v_cmpx_lt_f32_e64"
    4452           0 :                       return;
    4453             :                     case '6':    // 1 string to match.
    4454           0 :                       if (memcmp(Mnemonic.data()+12, "4_e64", 5) != 0)
    4455             :                         break;
    4456           0 :                       Mnemonic = "v_cmpx_lt_f64";      // "v_cmpx_lt_f64_e64"
    4457           0 :                       return;
    4458             :                     }
    4459             :                     break;
    4460           0 :                   case 'i':      // 3 strings to match.
    4461           0 :                     switch (Mnemonic[11]) {
    4462             :                     default: break;
    4463             :                     case '1':    // 1 string to match.
    4464           0 :                       if (memcmp(Mnemonic.data()+12, "6_e64", 5) != 0)
    4465             :                         break;
    4466           0 :                       Mnemonic = "v_cmpx_lt_i16";      // "v_cmpx_lt_i16_e64"
    4467           0 :                       return;
    4468             :                     case '3':    // 1 string to match.
    4469           0 :                       if (memcmp(Mnemonic.data()+12, "2_e64", 5) != 0)
    4470             :                         break;
    4471           0 :                       Mnemonic = "v_cmpx_lt_i32";      // "v_cmpx_lt_i32_e64"
    4472           0 :                       return;
    4473             :                     case '6':    // 1 string to match.
    4474           0 :                       if (memcmp(Mnemonic.data()+12, "4_e64", 5) != 0)
    4475             :                         break;
    4476           0 :                       Mnemonic = "v_cmpx_lt_i64";      // "v_cmpx_lt_i64_e64"
    4477           0 :                       return;
    4478             :                     }
    4479             :                     break;
    4480           0 :                   case 'u':      // 3 strings to match.
    4481           0 :                     switch (Mnemonic[11]) {
    4482             :                     default: break;
    4483             :                     case '1':    // 1 string to match.
    4484           0 :                       if (memcmp(Mnemonic.data()+12, "6_e64", 5) != 0)
    4485             :                         break;
    4486           0 :                       Mnemonic = "v_cmpx_lt_u16";      // "v_cmpx_lt_u16_e64"
    4487           0 :                       return;
    4488             :                     case '3':    // 1 string to match.
    4489           0 :                       if (memcmp(Mnemonic.data()+12, "2_e64", 5) != 0)
    4490             :                         break;
    4491           0 :                       Mnemonic = "v_cmpx_lt_u32";      // "v_cmpx_lt_u32_e64"
    4492           0 :                       return;
    4493             :                     case '6':    // 1 string to match.
    4494           0 :                       if (memcmp(Mnemonic.data()+12, "4_e64", 5) != 0)
    4495             :                         break;
    4496           0 :                       Mnemonic = "v_cmpx_lt_u64";      // "v_cmpx_lt_u64_e64"
    4497           0 :                       return;
    4498             :                     }
    4499             :                     break;
    4500             :                   }
    4501             :                   break;
    4502             :                 }
    4503             :                 break;
    4504             :               case 'n':  // 6 strings to match.
    4505           0 :                 if (memcmp(Mnemonic.data()+8, "e_", 2) != 0)
    4506             :                   break;
    4507           0 :                 switch (Mnemonic[10]) {
    4508             :                 default: break;
    4509           0 :                 case 'i':        // 3 strings to match.
    4510           0 :                   switch (Mnemonic[11]) {
    4511             :                   default: break;
    4512             :                   case '1':      // 1 string to match.
    4513           0 :                     if (memcmp(Mnemonic.data()+12, "6_e64", 5) != 0)
    4514             :                       break;
    4515           0 :                     Mnemonic = "v_cmpx_ne_i16";        // "v_cmpx_ne_i16_e64"
    4516           0 :                     return;
    4517             :                   case '3':      // 1 string to match.
    4518           0 :                     if (memcmp(Mnemonic.data()+12, "2_e64", 5) != 0)
    4519             :                       break;
    4520           0 :                     Mnemonic = "v_cmpx_ne_i32";        // "v_cmpx_ne_i32_e64"
    4521           0 :                     return;
    4522             :                   case '6':      // 1 string to match.
    4523           0 :                     if (memcmp(Mnemonic.data()+12, "4_e64", 5) != 0)
    4524             :                       break;
    4525           0 :                     Mnemonic = "v_cmpx_ne_i64";        // "v_cmpx_ne_i64_e64"
    4526           0 :                     return;
    4527             :                   }
    4528             :                   break;
    4529           0 :                 case 'u':        // 3 strings to match.
    4530           0 :                   switch (Mnemonic[11]) {
    4531             :                   default: break;
    4532             :                   case '1':      // 1 string to match.
    4533           0 :                     if (memcmp(Mnemonic.data()+12, "6_e64", 5) != 0)
    4534             :                       break;
    4535           0 :                     Mnemonic = "v_cmpx_ne_u16";        // "v_cmpx_ne_u16_e64"
    4536           0 :                     return;
    4537             :                   case '3':      // 1 string to match.
    4538           0 :                     if (memcmp(Mnemonic.data()+12, "2_e64", 5) != 0)
    4539             :                       break;
    4540           0 :                     Mnemonic = "v_cmpx_ne_u32";        // "v_cmpx_ne_u32_e64"
    4541           0 :                     return;
    4542             :                   case '6':      // 1 string to match.
    4543           0 :                     if (memcmp(Mnemonic.data()+12, "4_e64", 5) != 0)
    4544             :                       break;
    4545           0 :                     Mnemonic = "v_cmpx_ne_u64";        // "v_cmpx_ne_u64_e64"
    4546           0 :                     return;
    4547             :                   }
    4548             :                   break;
    4549             :                 }
    4550             :                 break;
    4551             :               }
    4552             :               break;
    4553             :             }
    4554             :             break;
    4555             :           case 'n':      // 1 string to match.
    4556           0 :             if (memcmp(Mnemonic.data()+4, "dmask_b32_e64", 13) != 0)
    4557             :               break;
    4558           0 :             Mnemonic = "v_cndmask_b32";        // "v_cndmask_b32_e64"
    4559           0 :             return;
    4560             :           case 'v':      // 16 strings to match.
    4561         186 :             if (memcmp(Mnemonic.data()+4, "t_", 2) != 0)
    4562             :               break;
    4563         186 :             switch (Mnemonic[6]) {
    4564             :             default: break;
    4565          93 :             case 'f':    // 10 strings to match.
    4566          93 :               switch (Mnemonic[7]) {
    4567             :               default: break;
    4568             :               case '1':  // 3 strings to match.
    4569           0 :                 if (memcmp(Mnemonic.data()+8, "6_", 2) != 0)
    4570             :                   break;
    4571           0 :                 switch (Mnemonic[10]) {
    4572             :                 default: break;
    4573             :                 case 'f':        // 1 string to match.
    4574           0 :                   if (memcmp(Mnemonic.data()+11, "32_e64", 6) != 0)
    4575             :                     break;
    4576           0 :                   Mnemonic = "v_cvt_f16_f32";  // "v_cvt_f16_f32_e64"
    4577           0 :                   return;
    4578             :                 case 'i':        // 1 string to match.
    4579           0 :                   if (memcmp(Mnemonic.data()+11, "16_e64", 6) != 0)
    4580             :                     break;
    4581           0 :                   Mnemonic = "v_cvt_f16_i16";  // "v_cvt_f16_i16_e64"
    4582           0 :                   return;
    4583             :                 case 'u':        // 1 string to match.
    4584           0 :                   if (memcmp(Mnemonic.data()+11, "16_e64", 6) != 0)
    4585             :                     break;
    4586           0 :                   Mnemonic = "v_cvt_f16_u16";  // "v_cvt_f16_u16_e64"
    4587           0 :                   return;
    4588             :                 }
    4589             :                 break;
    4590             :               case '3':  // 4 strings to match.
    4591           0 :                 if (memcmp(Mnemonic.data()+8, "2_", 2) != 0)
    4592             :                   break;
    4593           0 :                 switch (Mnemonic[10]) {
    4594             :                 default: break;
    4595           0 :                 case 'f':        // 2 strings to match.
    4596           0 :                   switch (Mnemonic[11]) {
    4597             :                   default: break;
    4598             :                   case '1':      // 1 string to match.
    4599           0 :                     if (memcmp(Mnemonic.data()+12, "6_e64", 5) != 0)
    4600             :                       break;
    4601           0 :                     Mnemonic = "v_cvt_f32_f16";        // "v_cvt_f32_f16_e64"
    4602           0 :                     return;
    4603             :                   case '6':      // 1 string to match.
    4604           0 :                     if (memcmp(Mnemonic.data()+12, "4_e64", 5) != 0)
    4605             :                       break;
    4606           0 :                     Mnemonic = "v_cvt_f32_f64";        // "v_cvt_f32_f64_e64"
    4607           0 :                     return;
    4608             :                   }
    4609             :                   break;
    4610             :                 case 'i':        // 1 string to match.
    4611           0 :                   if (memcmp(Mnemonic.data()+11, "32_e64", 6) != 0)
    4612             :                     break;
    4613           0 :                   Mnemonic = "v_cvt_f32_i32";  // "v_cvt_f32_i32_e64"
    4614           0 :                   return;
    4615             :                 case 'u':        // 1 string to match.
    4616           0 :                   if (memcmp(Mnemonic.data()+11, "32_e64", 6) != 0)
    4617             :                     break;
    4618           0 :                   Mnemonic = "v_cvt_f32_u32";  // "v_cvt_f32_u32_e64"
    4619           0 :                   return;
    4620             :                 }
    4621             :                 break;
    4622             :               case '6':  // 3 strings to match.
    4623           0 :                 if (memcmp(Mnemonic.data()+8, "4_", 2) != 0)
    4624             :                   break;
    4625           0 :                 switch (Mnemonic[10]) {
    4626             :                 default: break;
    4627             :                 case 'f':        // 1 string to match.
    4628           0 :                   if (memcmp(Mnemonic.data()+11, "32_e64", 6) != 0)
    4629             :                     break;
    4630           0 :                   Mnemonic = "v_cvt_f64_f32";  // "v_cvt_f64_f32_e64"
    4631           0 :                   return;
    4632             :                 case 'i':        // 1 string to match.
    4633           0 :                   if (memcmp(Mnemonic.data()+11, "32_e64", 6) != 0)
    4634             :                     break;
    4635           0 :                   Mnemonic = "v_cvt_f64_i32";  // "v_cvt_f64_i32_e64"
    4636           0 :                   return;
    4637             :                 case 'u':        // 1 string to match.
    4638           0 :                   if (memcmp(Mnemonic.data()+11, "32_e64", 6) != 0)
    4639             :                     break;
    4640           0 :                   Mnemonic = "v_cvt_f64_u32";  // "v_cvt_f64_u32_e64"
    4641           0 :                   return;
    4642             :                 }
    4643             :                 break;
    4644             :               }
    4645             :               break;
    4646           0 :             case 'i':    // 3 strings to match.
    4647           0 :               switch (Mnemonic[7]) {
    4648             :               default: break;
    4649             :               case '1':  // 1 string to match.
    4650           0 :                 if (memcmp(Mnemonic.data()+8, "6_f16_e64", 9) != 0)
    4651             :                   break;
    4652           0 :                 Mnemonic = "v_cvt_i16_f16";    // "v_cvt_i16_f16_e64"
    4653           0 :                 return;
    4654             :               case '3':  // 2 strings to match.
    4655           0 :                 if (memcmp(Mnemonic.data()+8, "2_f", 3) != 0)
    4656             :                   break;
    4657           0 :                 switch (Mnemonic[11]) {
    4658             :                 default: break;
    4659             :                 case '3':        // 1 string to match.
    4660           0 :                   if (memcmp(Mnemonic.data()+12, "2_e64", 5) != 0)
    4661             :                     break;
    4662           0 :                   Mnemonic = "v_cvt_i32_f32";  // "v_cvt_i32_f32_e64"
    4663           0 :                   return;
    4664             :                 case '6':        // 1 string to match.
    4665           0 :                   if (memcmp(Mnemonic.data()+12, "4_e64", 5) != 0)
    4666             :                     break;
    4667           0 :                   Mnemonic = "v_cvt_i32_f64";  // "v_cvt_i32_f64_e64"
    4668           0 :                   return;
    4669             :                 }
    4670             :                 break;
    4671             :               }
    4672             :               break;
    4673           0 :             case 'u':    // 3 strings to match.
    4674           0 :               switch (Mnemonic[7]) {
    4675             :               default: break;
    4676             :               case '1':  // 1 string to match.
    4677           0 :                 if (memcmp(Mnemonic.data()+8, "6_f16_e64", 9) != 0)
    4678             :                   break;
    4679           0 :                 Mnemonic = "v_cvt_u16_f16";    // "v_cvt_u16_f16_e64"
    4680           0 :                 return;
    4681             :               case '3':  // 2 strings to match.
    4682           0 :                 if (memcmp(Mnemonic.data()+8, "2_f", 3) != 0)
    4683             :                   break;
    4684           0 :                 switch (Mnemonic[11]) {
    4685             :                 default: break;
    4686             :                 case '3':        // 1 string to match.
    4687           0 :                   if (memcmp(Mnemonic.data()+12, "2_e64", 5) != 0)
    4688             :                     break;
    4689           0 :                   Mnemonic = "v_cvt_u32_f32";  // "v_cvt_u32_f32_e64"
    4690           0 :                   return;
    4691             :                 case '6':        // 1 string to match.
    4692           0 :                   if (memcmp(Mnemonic.data()+12, "4_e64", 5) != 0)
    4693             :                     break;
    4694           0 :                   Mnemonic = "v_cvt_u32_f64";  // "v_cvt_u32_f64_e64"
    4695           0 :                   return;
    4696             :                 }
    4697             :                 break;
    4698             :               }
    4699             :               break;
    4700             :             }
    4701             :             break;
    4702             :           }
    4703             :           break;
    4704             :         case 'd':        // 4 strings to match.
    4705           0 :           if (memcmp(Mnemonic.data()+3, "ot", 2) != 0)
    4706             :             break;
    4707           0 :           switch (Mnemonic[5]) {
    4708             :           default: break;
    4709           0 :           case '4':      // 2 strings to match.
    4710           0 :             if (Mnemonic[6] != '_')
    4711             :               break;
    4712           0 :             switch (Mnemonic[7]) {
    4713             :             default: break;
    4714             :             case 'i':    // 1 string to match.
    4715           0 :               if (memcmp(Mnemonic.data()+8, "32_i8_e64", 9) != 0)
    4716             :                 break;
    4717           0 :               Mnemonic = "v_dot4_i32_i8";      // "v_dot4_i32_i8_e64"
    4718           0 :               return;
    4719             :             case 'u':    // 1 string to match.
    4720           0 :               if (memcmp(Mnemonic.data()+8, "32_u8_e64", 9) != 0)
    4721             :                 break;
    4722           0 :               Mnemonic = "v_dot4_u32_u8";      // "v_dot4_u32_u8_e64"
    4723           0 :               return;
    4724             :             }
    4725             :             break;
    4726           0 :           case '8':      // 2 strings to match.
    4727           0 :             if (Mnemonic[6] != '_')
    4728             :               break;
    4729           0 :             switch (Mnemonic[7]) {
    4730             :             default: break;
    4731             :             case 'i':    // 1 string to match.
    4732           0 :               if (memcmp(Mnemonic.data()+8, "32_i4_e64", 9) != 0)
    4733             :                 break;
    4734           0 :               Mnemonic = "v_dot8_i32_i4";      // "v_dot8_i32_i4_e64"
    4735           0 :               return;
    4736             :             case 'u':    // 1 string to match.
    4737           0 :               if (memcmp(Mnemonic.data()+8, "32_u4_e64", 9) != 0)
    4738             :                 break;
    4739           0 :               Mnemonic = "v_dot8_u32_u4";      // "v_dot8_u32_u4_e64"
    4740           0 :               return;
    4741             :             }
    4742             :             break;
    4743             :           }
    4744             :           break;
    4745             :         case 'f':        // 1 string to match.
    4746           0 :           if (memcmp(Mnemonic.data()+3, "ma_mix_f32_e64", 14) != 0)
    4747             :             break;
    4748           0 :           Mnemonic = "v_fma_mix_f32";  // "v_fma_mix_f32_e64"
    4749           0 :           return;
    4750             :         case 'l':        // 7 strings to match.
    4751           0 :           if (memcmp(Mnemonic.data()+3, "sh", 2) != 0)
    4752             :             break;
    4753           0 :           switch (Mnemonic[5]) {
    4754             :           default: break;
    4755           0 :           case 'l':      // 4 strings to match.
    4756           0 :             switch (Mnemonic[6]) {
    4757             :             default: break;
    4758             :             case '_':    // 1 string to match.
    4759           0 :               if (memcmp(Mnemonic.data()+7, "or_b32_e64", 10) != 0)
    4760             :                 break;
    4761           0 :               Mnemonic = "v_lshl_or_b32";      // "v_lshl_or_b32_e64"
    4762           0 :               return;
    4763             :             case 'r':    // 3 strings to match.
    4764           0 :               if (memcmp(Mnemonic.data()+7, "ev_b", 4) != 0)
    4765             :                 break;
    4766           0 :               switch (Mnemonic[11]) {
    4767             :               default: break;
    4768             :               case '1':  // 1 string to match.
    4769           0 :                 if (memcmp(Mnemonic.data()+12, "6_e64", 5) != 0)
    4770             :                   break;
    4771           0 :                 Mnemonic = "v_lshlrev_b16";    // "v_lshlrev_b16_e64"
    4772           0 :                 return;
    4773             :               case '3':  // 1 string to match.
    4774           0 :                 if (memcmp(Mnemonic.data()+12, "2_e64", 5) != 0)
    4775             :                   break;
    4776           0 :                 Mnemonic = "v_lshlrev_b32";    // "v_lshlrev_b32_e64"
    4777           0 :                 return;
    4778             :               case '6':  // 1 string to match.
    4779           0 :                 if (memcmp(Mnemonic.data()+12, "4_e64", 5) != 0)
    4780             :                   break;
    4781           0 :                 Mnemonic = "v_lshlrev_b64";    // "v_lshlrev_b64_e64"
    4782           0 :                 return;
    4783             :               }
    4784             :               break;
    4785             :             }
    4786             :             break;
    4787             :           case 'r':      // 3 strings to match.
    4788           0 :             if (memcmp(Mnemonic.data()+6, "rev_b", 5) != 0)
    4789             :               break;
    4790           0 :             switch (Mnemonic[11]) {
    4791             :             default: break;
    4792             :             case '1':    // 1 string to match.
    4793           0 :               if (memcmp(Mnemonic.data()+12, "6_e64", 5) != 0)
    4794             :                 break;
    4795           0 :               Mnemonic = "v_lshrrev_b16";      // "v_lshrrev_b16_e64"
    4796           0 :               return;
    4797             :             case '3':    // 1 string to match.
    4798           0 :               if (memcmp(Mnemonic.data()+12, "2_e64", 5) != 0)
    4799             :                 break;
    4800           0 :               Mnemonic = "v_lshrrev_b32";      // "v_lshrrev_b32_e64"
    4801           0 :               return;
    4802             :             case '6':    // 1 string to match.
    4803           0 :               if (memcmp(Mnemonic.data()+12, "4_e64", 5) != 0)
    4804             :                 break;
    4805           0 :               Mnemonic = "v_lshrrev_b64";      // "v_lshrrev_b64_e64"
    4806           0 :               return;
    4807             :             }
    4808             :             break;
    4809             :           }
    4810             :           break;
    4811         211 :         case 'm':        // 12 strings to match.
    4812         211 :           switch (Mnemonic[3]) {
    4813             :           default: break;
    4814             :           case 'a':      // 7 strings to match.
    4815           0 :             if (memcmp(Mnemonic.data()+4, "d_", 2) != 0)
    4816             :               break;
    4817           0 :             switch (Mnemonic[6]) {
    4818             :             default: break;
    4819           0 :             case 'i':    // 3 strings to match.
    4820           0 :               switch (Mnemonic[7]) {
    4821             :               default: break;
    4822             :               case '3':  // 2 strings to match.
    4823           0 :                 if (memcmp(Mnemonic.data()+8, "2_i", 3) != 0)
    4824             :                   break;
    4825           0 :                 switch (Mnemonic[11]) {
    4826             :                 default: break;
    4827             :                 case '1':        // 1 string to match.
    4828           0 :                   if (memcmp(Mnemonic.data()+12, "6_e64", 5) != 0)
    4829             :                     break;
    4830           0 :                   Mnemonic = "v_mad_i32_i16";  // "v_mad_i32_i16_e64"
    4831           0 :                   return;
    4832             :                 case '2':        // 1 string to match.
    4833           0 :                   if (memcmp(Mnemonic.data()+12, "4_e64", 5) != 0)
    4834             :                     break;
    4835           0 :                   Mnemonic = "v_mad_i32_i24";  // "v_mad_i32_i24_e64"
    4836           0 :                   return;
    4837             :                 }
    4838             :                 break;
    4839             :               case '6':  // 1 string to match.
    4840           0 :                 if (memcmp(Mnemonic.data()+8, "4_i32_e64", 9) != 0)
    4841             :                   break;
    4842           0 :                 Mnemonic = "v_mad_i64_i32";    // "v_mad_i64_i32_e64"
    4843           0 :                 return;
    4844             :               }
    4845             :               break;
    4846             :             case 'm':    // 1 string to match.
    4847           0 :               if (memcmp(Mnemonic.data()+7, "ix_f32_e64", 10) != 0)
    4848             :                 break;
    4849           0 :               Mnemonic = "v_mad_mix_f32";      // "v_mad_mix_f32_e64"
    4850           0 :               return;
    4851           0 :             case 'u':    // 3 strings to match.
    4852           0 :               switch (Mnemonic[7]) {
    4853             :               default: break;
    4854             :               case '3':  // 2 strings to match.
    4855           0 :                 if (memcmp(Mnemonic.data()+8, "2_u", 3) != 0)
    4856             :                   break;
    4857           0 :                 switch (Mnemonic[11]) {
    4858             :                 default: break;
    4859             :                 case '1':        // 1 string to match.
    4860           0 :                   if (memcmp(Mnemonic.data()+12, "6_e64", 5) != 0)
    4861             :                     break;
    4862           0 :                   Mnemonic = "v_mad_u32_u16";  // "v_mad_u32_u16_e64"
    4863           0 :                   return;
    4864             :                 case '2':        // 1 string to match.
    4865           0 :                   if (memcmp(Mnemonic.data()+12, "4_e64", 5) != 0)
    4866             :                     break;
    4867           0 :                   Mnemonic = "v_mad_u32_u24";  // "v_mad_u32_u24_e64"
    4868           0 :                   return;
    4869             :                 }
    4870             :                 break;
    4871             :               case '6':  // 1 string to match.
    4872           0 :                 if (memcmp(Mnemonic.data()+8, "4_u32_e64", 9) != 0)
    4873             :                   break;
    4874           0 :                 Mnemonic = "v_mad_u64_u32";    // "v_mad_u64_u32_e64"
    4875           0 :                 return;
    4876             :               }
    4877             :               break;
    4878             :             }
    4879             :             break;
    4880           0 :           case 'o':      // 3 strings to match.
    4881           0 :             if (Mnemonic[4] != 'v')
    4882             :               break;
    4883           0 :             switch (Mnemonic[5]) {
    4884             :             default: break;
    4885             :             case '_':    // 1 string to match.
    4886           0 :               if (memcmp(Mnemonic.data()+6, "fed_b32_e64", 11) != 0)
    4887             :                 break;
    4888           0 :               Mnemonic = "v_mov_fed_b32";      // "v_mov_fed_b32_e64"
    4889           0 :               return;
    4890             :             case 'r':    // 2 strings to match.
    4891           0 :               if (memcmp(Mnemonic.data()+6, "el", 2) != 0)
    4892             :                 break;
    4893           0 :               switch (Mnemonic[8]) {
    4894             :               default: break;
    4895             :               case 'd':  // 1 string to match.
    4896           0 :                 if (memcmp(Mnemonic.data()+9, "_b32_e64", 8) != 0)
    4897             :                   break;
    4898           0 :                 Mnemonic = "v_movreld_b32";    // "v_movreld_b32_e64"
    4899           0 :                 return;
    4900             :               case 's':  // 1 string to match.
    4901           0 :                 if (memcmp(Mnemonic.data()+9, "_b32_e64", 8) != 0)
    4902             :                   break;
    4903           0 :                 Mnemonic = "v_movrels_b32";    // "v_movrels_b32_e64"
    4904           0 :                 return;
    4905             :               }
    4906             :               break;
    4907             :             }
    4908             :             break;
    4909             :           case 'u':      // 2 strings to match.
    4910           0 :             if (memcmp(Mnemonic.data()+4, "l_", 2) != 0)
    4911             :               break;
    4912           0 :             switch (Mnemonic[6]) {
    4913             :             default: break;
    4914             :             case 'i':    // 1 string to match.
    4915           0 :               if (memcmp(Mnemonic.data()+7, "32_i24_e64", 10) != 0)
    4916             :                 break;
    4917           0 :               Mnemonic = "v_mul_i32_i24";      // "v_mul_i32_i24_e64"
    4918           0 :               return;
    4919             :             case 'u':    // 1 string to match.
    4920           0 :               if (memcmp(Mnemonic.data()+7, "32_u24_e64", 10) != 0)
    4921             :                 break;
    4922           0 :               Mnemonic = "v_mul_u32_u24";      // "v_mul_u32_u24_e64"
    4923           0 :               return;
    4924             :             }
    4925             :             break;
    4926             :           }
    4927             :           break;
    4928             :         case 's':        // 1 string to match.
    4929           0 :           if (memcmp(Mnemonic.data()+3, "ubbrev_u32_e64", 14) != 0)
    4930             :             break;
    4931           0 :           Mnemonic = "v_subbrev_u32";  // "v_subbrev_u32_e64"
    4932           0 :           return;
    4933             :         }
    4934             :         break;
    4935             :       case 18:   // 65 strings to match.
    4936         447 :         if (memcmp(Mnemonic.data()+0, "v_", 2) != 0)
    4937             :           break;
    4938         324 :         switch (Mnemonic[2]) {
    4939             :         default: break;
    4940           0 :         case 'a':        // 3 strings to match.
    4941           0 :           switch (Mnemonic[3]) {
    4942             :           default: break;
    4943             :           case 'd':      // 2 strings to match.
    4944           0 :             if (memcmp(Mnemonic.data()+4, "d_", 2) != 0)
    4945             :               break;
    4946           0 :             switch (Mnemonic[6]) {
    4947             :             default: break;
    4948             :             case 'i':    // 1 string to match.
    4949           0 :               if (memcmp(Mnemonic.data()+7, "32_gfx9_e64", 11) != 0)
    4950             :                 break;
    4951           0 :               Mnemonic = "v_add_i32_gfx9";     // "v_add_i32_gfx9_e64"
    4952           0 :               return;
    4953             :             case 'l':    // 1 string to match.
    4954           0 :               if (memcmp(Mnemonic.data()+7, "shl_u32_e64", 11) != 0)
    4955             :                 break;
    4956           0 :               Mnemonic = "v_add_lshl_u32";     // "v_add_lshl_u32_e64"
    4957           0 :               return;
    4958             :             }
    4959             :             break;
    4960             :           case 'l':      // 1 string to match.
    4961           0 :             if (memcmp(Mnemonic.data()+4, "ignbit_b32_e64", 14) != 0)
    4962             :               break;
    4963           0 :             Mnemonic = "v_alignbit_b32";       // "v_alignbit_b32_e64"
    4964           0 :             return;
    4965             :           }
    4966             :           break;
    4967             :         case 'b':        // 1 string to match.
    4968           0 :           if (memcmp(Mnemonic.data()+3, "cnt_u32_b32_e64", 15) != 0)
    4969             :             break;
    4970           0 :           Mnemonic = "v_bcnt_u32_b32";         // "v_bcnt_u32_b32_e64"
    4971           0 :           return;
    4972             :         case 'c':        // 47 strings to match.
    4973          24 :           if (memcmp(Mnemonic.data()+3, "mp", 2) != 0)
    4974             :             break;
    4975           0 :           switch (Mnemonic[5]) {
    4976             :           default: break;
    4977           0 :           case 's':      // 26 strings to match.
    4978           0 :             switch (Mnemonic[6]) {
    4979             :             default: break;
    4980           0 :             case '_':    // 14 strings to match.
    4981           0 :               switch (Mnemonic[7]) {
    4982             :               default: break;
    4983           0 :               case 'n':  // 12 strings to match.
    4984           0 :                 switch (Mnemonic[8]) {
    4985             :                 default: break;
    4986             :                 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             :                   case '3':      // 1 string to match.
    4992           0 :                     if (memcmp(Mnemonic.data()+13, "2_e64", 5) != 0)
    4993             :                       break;
    4994           0 :                     Mnemonic = "v_cmps_neq_f32";       // "v_cmps_neq_f32_e64"
    4995           0 :                     return;
    4996             :                   case '6':      // 1 string to match.
    4997           0 :                     if (memcmp(Mnemonic.data()+13, "4_e64", 5) != 0)
    4998             :                       break;
    4999           0 :                     Mnemonic = "v_cmps_neq_f64";       // "v_cmps_neq_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             :                   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             :                     case '3':    // 1 string to match.
    5012           0 :                       if (memcmp(Mnemonic.data()+13, "2_e64", 5) != 0)
    5013             :                         break;
    5014           0 :                       Mnemonic = "v_cmps_nge_f32";     // "v_cmps_nge_f32_e64"
    5015           0 :                       return;
    5016             :                     case '6':    // 1 string to match.
    5017           0 :                       if (memcmp(Mnemonic.data()+13, "4_e64", 5) != 0)
    5018             :                         break;
    5019           0 :                       Mnemonic = "v_cmps_nge_f64";     // "v_cmps_nge_f64_e64"
    5020           0 :                       return;
    5021             :                     }
    5022             :                     break;
    5023             :                   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             :                     case '3':    // 1 string to match.
    5029           0 :                       if (memcmp(Mnemonic.data()+13, "2_e64", 5) != 0)
    5030             :                         break;
    5031           0 :                       Mnemonic = "v_cmps_ngt_f32";     // "v_cmps_ngt_f32_e64"
    5032           0 :                       return;
    5033             :                     case '6':    // 1 string to match.
    5034           0 :                       if (memcmp(Mnemonic.data()+13, "4_e64", 5) != 0)
    5035             :                         break;
    5036           0 :                       Mnemonic = "v_cmps_ngt_f64";     // "v_cmps_ngt_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             :                   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             :                     case '3':    // 1 string to match.
    5051           0 :                       if (memcmp(Mnemonic.data()+13, "2_e64", 5) != 0)
    5052             :                         break;
    5053           0 :                       Mnemonic = "v_cmps_nle_f32";     // "v_cmps_nle_f32_e64"
    5054           0 :                       return;
    5055             :                     case '6':    // 1 string to match.
    5056           0 :                       if (memcmp(Mnemonic.data()+13, "4_e64", 5) != 0)
    5057             :                         break;
    5058           0 :                       Mnemonic = "v_cmps_nle_f64";     // "v_cmps_nle_f64_e64"
    5059           0 :                       return;
    5060             :                     }
    5061             :                     break;
    5062             :                   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             :                     case '3':    // 1 string to match.
    5068           0 :                       if (memcmp(Mnemonic.data()+13, "2_e64", 5) != 0)
    5069             :                         break;
    5070           0 :                       Mnemonic = "v_cmps_nlg_f32";     // "v_cmps_nlg_f32_e64"
    5071           0 :                       return;
    5072             :                     case '6':    // 1 string to match.
    5073           0 :                       if (memcmp(Mnemonic.data()+13, "4_e64", 5) != 0)
    5074             :                         break;
    5075           0 :                       Mnemonic = "v_cmps_nlg_f64";     // "v_cmps_nlg_f64_e64"
    5076           0 :                       return;
    5077             :                     }
    5078             :                     break;
    5079             :                   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             :                     case '3':    // 1 string to match.
    5085           0 :                       if (memcmp(Mnemonic.data()+13, "2_e64", 5) != 0)
    5086             :                         break;
    5087           0 :                       Mnemonic = "v_cmps_nlt_f32";     // "v_cmps_nlt_f32_e64"
    5088           0 :                       return;
    5089             :                     case '6':    // 1 string to match.
    5090           0 :                       if (memcmp(Mnemonic.data()+13, "4_e64", 5) != 0)
    5091             :                         break;
    5092           0 :                       Mnemonic = "v_cmps_nlt_f64";     // "v_cmps_nlt_f64_e64"
    5093           0 :                       return;
    5094             :                     }
    5095             :                     break;
    5096             :                   }
    5097             :                   break;
    5098             :                 }
    5099             :                 break;
    5100             :               case 't':  // 2 strings to match.
    5101           0 :                 if (memcmp(Mnemonic.data()+8, "ru_f", 4) != 0)
    5102             :                   break;
    5103           0 :                 switch (Mnemonic[12]) {
    5104             :                 default: break;
    5105             :                 case '3':        // 1 string to match.
    5106           0 :                   if (memcmp(Mnemonic.data()+13, "2_e64", 5) != 0)
    5107             :                     break;
    5108           0 :                   Mnemonic = "v_cmps_tru_f32";         // "v_cmps_tru_f32_e64"
    5109           0 :                   return;
    5110             :                 case '6':        // 1 string to match.
    5111           0 :                   if (memcmp(Mnemonic.data()+13, "4_e64", 5) != 0)
    5112             :                     break;
    5113           0 :                   Mnemonic = "v_cmps_tru_f64";         // "v_cmps_tru_f64_e64"
    5114           0 :                   return;
    5115             :                 }
    5116             :                 break;
    5117             :               }
    5118             :               break;
    5119           0 :             case 'x':    // 12 strings to match.
    5120           0 :               if (Mnemonic[7] != '_')
    5121             :                 break;
    5122           0 :               switch (Mnemonic[8]) {
    5123             :               default: break;
    5124             :               case 'e':  // 2 strings to match.
    5125           0 :                 if (memcmp(Mnemonic.data()+9, "q_f", 3) != 0)
    5126             :                   break;
    5127           0 :                 switch (Mnemonic[12]) {
    5128             :                 default: break;
    5129             :                 case '3':        // 1 string to match.
    5130           0 :                   if (memcmp(Mnemonic.data()+13, "2_e64", 5) != 0)
    5131             :                     break;
    5132           0 :                   Mnemonic = "v_cmpsx_eq_f32";         // "v_cmpsx_eq_f32_e64"
    5133           0 :                   return;
    5134             :                 case '6':        // 1 string to match.
    5135           0 :                   if (memcmp(Mnemonic.data()+13, "4_e64", 5) != 0)
    5136             :                     break;
    5137           0 :                   Mnemonic = "v_cmpsx_eq_f64";         // "v_cmpsx_eq_f64_e64"
    5138           0 :                   return;
    5139             :                 }
    5140             :                 break;
    5141           0 :               case 'g':  // 4 strings to match.
    5142           0 :                 switch (Mnemonic[9]) {
    5143             :                 default: break;
    5144             :                 case 'e':        // 2 strings to match.
    5145           0 :                   if (memcmp(Mnemonic.data()+10, "_f", 2) != 0)
    5146             :                     break;
    5147           0 :                   switch (Mnemonic[12]) {
    5148             :                   default: break;
    5149             :                   case '3':      // 1 string to match.
    5150           0 :                     if (memcmp(Mnemonic.data()+13, "2_e64", 5) != 0)
    5151             :                       break;
    5152           0 :                     Mnemonic = "v_cmpsx_ge_f32";       // "v_cmpsx_ge_f32_e64"
    5153           0 :                     return;
    5154             :                   case '6':      // 1 string to match.
    5155           0 :                     if (memcmp(Mnemonic.data()+13, "4_e64", 5) != 0)
    5156             :                       break;
    5157           0 :                     Mnemonic = "v_cmpsx_ge_f64";       // "v_cmpsx_ge_f64_e64"
    5158           0 :                     return;
    5159             :                   }
    5160             :                   break;
    5161             :                 case 't':        // 2 strings to match.
    5162           0 :                   if (memcmp(Mnemonic.data()+10, "_f", 2) != 0)
    5163             :                     break;
    5164           0 :                   switch (Mnemonic[12]) {
    5165             :                   default: break;
    5166             :                   case '3':      // 1 string to match.
    5167           0 :                     if (memcmp(Mnemonic.data()+13, "2_e64", 5) != 0)
    5168             :                       break;
    5169           0 :                     Mnemonic = "v_cmpsx_gt_f32";       // "v_cmpsx_gt_f32_e64"
    5170           0 :                     return;
    5171             :                   case '6':      // 1 string to match.
    5172           0 :                     if (memcmp(Mnemonic.data()+13, "4_e64", 5) != 0)
    5173             :                       break;
    5174           0 :                     Mnemonic = "v_cmpsx_gt_f64";       // "v_cmpsx_gt_f64_e64"
    5175           0 :                     return;
    5176             :                   }
    5177             :                   break;
    5178             :                 }
    5179             :                 break;
    5180           0 :               case 'l':  // 6 strings to match.
    5181           0 :                 switch (Mnemonic[9]) {
    5182             :                 default: break;
    5183             :                 case 'e':        // 2 strings to match.
    5184           0 :                   if (memcmp(Mnemonic.data()+10, "_f", 2) != 0)
    5185             :                     break;
    5186           0 :                   switch (Mnemonic[12]) {
    5187             :                   default: break;
    5188             :                   case '3':      // 1 string to match.
    5189           0 :                     if (memcmp(Mnemonic.data()+13, "2_e64", 5) != 0)
    5190             :                       break;
    5191           0 :                     Mnemonic = "v_cmpsx_le_f32";       // "v_cmpsx_le_f32_e64"
    5192           0 :                     return;
    5193             :                   case '6':      // 1 string to match.
    5194           0 :                     if (memcmp(Mnemonic.data()+13, "4_e64", 5) != 0)
    5195             :                       break;
    5196           0 :                     Mnemonic = "v_cmpsx_le_f64";       // "v_cmpsx_le_f64_e64"
    5197           0 :                     return;
    5198             :                   }
    5199             :                   break;
    5200             :                 case 'g':        // 2 strings to match.
    5201           0 :                   if (memcmp(Mnemonic.data()+10, "_f", 2) != 0)
    5202             :                     break;
    5203           0 :                   switch (Mnemonic[12]) {
    5204             :                   default: break;
    5205             :                   case '3':      // 1 string to match.
    5206           0 :                     if (memcmp(Mnemonic.data()+13, "2_e64", 5) != 0)
    5207             :                       break;
    5208           0 :                     Mnemonic = "v_cmpsx_lg_f32";       // "v_cmpsx_lg_f32_e64"
    5209           0 :                     return;
    5210             :                   case '6':      // 1 string to match.
    5211           0 :                     if (memcmp(Mnemonic.data()+13, "4_e64", 5) != 0)
    5212             :                       break;
    5213           0 :                     Mnemonic = "v_cmpsx_lg_f64";       // "v_cmpsx_lg_f64_e64"
    5214           0 :                     return;
    5215             :                   }
    5216             :                   break;
    5217             :                 case 't':        // 2 strings to match.
    5218           0 :                   if (memcmp(Mnemonic.data()+10, "_f", 2) != 0)
    5219             :                     break;
    5220           0 :                   switch (Mnemonic[12]) {
    5221             :                   default: break;
    5222             :                   case '3':      // 1 string to match.
    5223           0 :                     if (memcmp(Mnemonic.data()+13, "2_e64", 5) != 0)
    5224             :                       break;
    5225           0 :                     Mnemonic = "v_cmpsx_lt_f32";       // "v_cmpsx_lt_f32_e64"
    5226           0 :                     return;
    5227             :                   case '6':      // 1 string to match.
    5228           0 :                     if (memcmp(Mnemonic.data()+13, "4_e64", 5) != 0)
    5229             :                       break;
    5230           0 :                     Mnemonic = "v_cmpsx_lt_f64";       // "v_cmpsx_lt_f64_e64"
    5231           0 :                     return;
    5232             :                   }
    5233             :                   break;
    5234             :                 }
    5235             :                 break;
    5236             :               }
    5237             :               break;
    5238             :             }
    5239             :             break;
    5240           0 :           case 'x':      // 21 strings to match.
    5241           0 :             if (Mnemonic[6] != '_')
    5242             :               break;
    5243           0 :             switch (Mnemonic[7]) {
    5244             :             default: break;
    5245           0 :             case 'n':    // 18 strings to match.
    5246           0 :               switch (Mnemonic[8]) {
    5247             :               default: break;
    5248             :               case 'e':  // 3 strings to match.
    5249           0 :                 if (memcmp(Mnemonic.data()+9, "q_f", 3) != 0)
    5250             :                   break;
    5251           0 :                 switch (Mnemonic[12]) {
    5252             :                 default: break;
    5253             :                 case '1':        // 1 string to match.
    5254           0 :                   if (memcmp(Mnemonic.data()+13, "6_e64", 5) != 0)
    5255             :                     break;
    5256           0 :                   Mnemonic = "v_cmpx_neq_f16";         // "v_cmpx_neq_f16_e64"
    5257           0 :                   return;
    5258             :                 case '3':        // 1 string to match.
    5259           0 :                   if (memcmp(Mnemonic.data()+13, "2_e64", 5) != 0)
    5260             :                     break;
    5261           0 :                   Mnemonic = "v_cmpx_neq_f32";         // "v_cmpx_neq_f32_e64"
    5262           0 :                   return;
    5263             :                 case '6':        // 1 string to match.
    5264           0 :                   if (memcmp(Mnemonic.data()+13, "4_e64", 5) != 0)
    5265             :                     break;
    5266           0 :                   Mnemonic = "v_cmpx_neq_f64";         // "v_cmpx_neq_f64_e64"
    5267           0 :                   return;
    5268             :                 }
    5269             :                 break;
    5270           0 :               case 'g':  // 6 strings to match.
    5271           0 :                 switch (Mnemonic[9]) {
    5272             :                 default: break;
    5273             :                 case 'e':        // 3 strings to match.
    5274           0 :                   if (memcmp(Mnemonic.data()+10, "_f", 2) != 0)
    5275             :                     break;
    5276           0 :                   switch (Mnemonic[12]) {
    5277             :                   default: break;
    5278             :                   case '1':      // 1 string to match.
    5279           0 :                     if (memcmp(Mnemonic.data()+13, "6_e64", 5) != 0)
    5280             :                       break;
    5281           0 :                     Mnemonic = "v_cmpx_nge_f16";       // "v_cmpx_nge_f16_e64"
    5282           0 :                     return;
    5283             :                   case '3':      // 1 string to match.
    5284           0 :                     if (memcmp(Mnemonic.data()+13, "2_e64", 5) != 0)
    5285             :                       break;
    5286           0 :                     Mnemonic = "v_cmpx_nge_f32";       // "v_cmpx_nge_f32_e64"
    5287           0 :                     return;
    5288             :                   case '6':      // 1 string to match.
    5289           0 :                     if (memcmp(Mnemonic.data()+13, "4_e64", 5) != 0)
    5290             :                       break;
    5291           0 :                     Mnemonic = "v_cmpx_nge_f64";       // "v_cmpx_nge_f64_e64"
    5292           0 :                     return;
    5293             :                   }
    5294             :                   break;
    5295             :                 case 't':        // 3 strings to match.
    5296           0 :                   if (memcmp(Mnemonic.data()+10, "_f", 2) != 0)
    5297             :                     break;
    5298           0 :                   switch (Mnemonic[12]) {
    5299             :                   default: break;
    5300             :                   case '1':      // 1 string to match.
    5301           0 :                     if (memcmp(Mnemonic.data()+13, "6_e64", 5) != 0)
    5302             :                       break;
    5303           0 :                     Mnemonic = "v_cmpx_ngt_f16";       // "v_cmpx_ngt_f16_e64"
    5304           0 :                     return;
    5305             :                   case '3':      // 1 string to match.
    5306           0 :                     if (memcmp(Mnemonic.data()+13, "2_e64", 5) != 0)
    5307             :                       break;
    5308           0 :                     Mnemonic = "v_cmpx_ngt_f32";       // "v_cmpx_ngt_f32_e64"
    5309           0 :                     return;
    5310             :                   case '6':      // 1 string to match.
    5311           0 :                     if (memcmp(Mnemonic.data()+13, "4_e64", 5) != 0)
    5312             :                       break;
    5313           0 :                     Mnemonic = "v_cmpx_ngt_f64";       // "v_cmpx_ngt_f64_e64"
    5314           0 :                     return;
    5315             :                   }
    5316             :                   break;
    5317             :                 }
    5318             :                 break;
    5319           0 :               case 'l':  // 9 strings to match.
    5320           0 :                 switch (Mnemonic[9]) {
    5321             :                 default: break;
    5322             :                 case 'e':        // 3 strings to match.
    5323           0 :                   if (memcmp(Mnemonic.data()+10, "_f", 2) != 0)
    5324             :                     break;
    5325           0 :                   switch (Mnemonic[12]) {
    5326             :                   default: break;
    5327             :                   case '1':      // 1 string to match.
    5328           0 :                     if (memcmp(Mnemonic.data()+13, "6_e64", 5) != 0)
    5329             :                       break;
    5330           0 :                     Mnemonic = "v_cmpx_nle_f16";       // "v_cmpx_nle_f16_e64"
    5331           0 :                     return;
    5332             :                   case '3':      // 1 string to match.
    5333           0 :                     if (memcmp(Mnemonic.data()+13, "2_e64", 5) != 0)
    5334             :                       break;
    5335           0 :                     Mnemonic = "v_cmpx_nle_f32";       // "v_cmpx_nle_f32_e64"
    5336           0 :                     return;
    5337             :                   case '6':      // 1 string to match.
    5338           0 :                     if (memcmp(Mnemonic.data()+13, "4_e64", 5) != 0)
    5339             :                       break;
    5340           0 :                     Mnemonic = "v_cmpx_nle_f64";       // "v_cmpx_nle_f64_e64"
    5341           0 :                     return;
    5342             :                   }
    5343             :                   break;
    5344             :                 case 'g':        // 3 strings to match.
    5345           0 :                   if (memcmp(Mnemonic.data()+10, "_f", 2) != 0)
    5346             :                     break;
    5347           0 :                   switch (Mnemonic[12]) {
    5348             :                   default: break;
    5349             :                   case '1':      // 1 string to match.
    5350           0 :                     if (memcmp(Mnemonic.data()+13, "6_e64", 5) != 0)
    5351             :                       break;
    5352           0 :                     Mnemonic = "v_cmpx_nlg_f16";       // "v_cmpx_nlg_f16_e64"
    5353           0 :                     return;
    5354             :                   case '3':      // 1 string to match.
    5355           0 :                     if (memcmp(Mnemonic.data()+13, "2_e64", 5) != 0)
    5356             :                       break;
    5357           0 :                     Mnemonic = "v_cmpx_nlg_f32";       // "v_cmpx_nlg_f32_e64"
    5358           0 :                     return;
    5359             :                   case '6':      // 1 string to match.
    5360           0 :                     if (memcmp(Mnemonic.data()+13, "4_e64", 5) != 0)
    5361             :                       break;
    5362           0 :                     Mnemonic = "v_cmpx_nlg_f64";       // "v_cmpx_nlg_f64_e64"
    5363           0 :                     return;
    5364             :                   }
    5365             :                   break;
    5366             :                 case 't':        // 3 strings to match.
    5367           0 :                   if (memcmp(Mnemonic.data()+10, "_f", 2) != 0)
    5368             :                     break;
    5369           0 :                   switch (Mnemonic[12]) {
    5370             :                   default: break;
    5371             :                   case '1':      // 1 string to match.
    5372           0 :                     if (memcmp(Mnemonic.data()+13, "6_e64", 5) != 0)
    5373             :                       break;
    5374           0 :                     Mnemonic = "v_cmpx_nlt_f16";       // "v_cmpx_nlt_f16_e64"
    5375           0 :                     return;
    5376             :                   case '3':      // 1 string to match.
    5377           0 :                     if (memcmp(Mnemonic.data()+13, "2_e64", 5) != 0)
    5378             :                       break;
    5379           0 :                     Mnemonic = "v_cmpx_nlt_f32";       // "v_cmpx_nlt_f32_e64"
    5380           0 :                     return;
    5381             :                   case '6':      // 1 string to match.
    5382           0 :                     if (memcmp(Mnemonic.data()+13, "4_e64", 5) != 0)
    5383             :                       break;
    5384           0 :                     Mnemonic = "v_cmpx_nlt_f64";       // "v_cmpx_nlt_f64_e64"
    5385           0 :                     return;
    5386             :                   }
    5387             :                   break;
    5388             :                 }
    5389             :                 break;
    5390             :               }
    5391             :               break;
    5392             :             case 't':    // 3 strings to match.
    5393           0 :               if (memcmp(Mnemonic.data()+8, "ru_f", 4) != 0)
    5394             :                 break;
    5395           0 :               switch (Mnemonic[12]) {
    5396             :               default: break;
    5397             :               case '1':  // 1 string to match.
    5398           0 :                 if (memcmp(Mnemonic.data()+13, "6_e64", 5) != 0)
    5399             :                   break;
    5400           0 :                 Mnemonic = "v_cmpx_tru_f16";   // "v_cmpx_tru_f16_e64"
    5401           0 :                 return;
    5402             :               case '3':  // 1 string to match.
    5403           0 :                 if (memcmp(Mnemonic.data()+13, "2_e64", 5) != 0)
    5404             :                   break;
    5405           0 :                 Mnemonic = "v_cmpx_tru_f32";   // "v_cmpx_tru_f32_e64"
    5406           0 :                 return;
    5407             :               case '6':  // 1 string to match.
    5408           0 :                 if (memcmp(Mnemonic.data()+13, "4_e64", 5) != 0)
    5409             :                   break;
    5410           0 :                 Mnemonic = "v_cmpx_tru_f64";   // "v_cmpx_tru_f64_e64"
    5411           0 :                 return;
    5412             :               }
    5413             :               break;
    5414             :             }
    5415             :             break;
    5416             :           }
    5417             :           break;
    5418           0 :         case 'd':        // 5 strings to match.
    5419           0 :           switch (Mnemonic[3]) {
    5420             :           default: break;
    5421             :           case 'i':      // 2 strings to match.
    5422           0 :             if (memcmp(Mnemonic.data()+4, "v_fmas_f", 8) != 0)
    5423             :               break;
    5424           0 :             switch (Mnemonic[12]) {
    5425             :             default: break;
    5426             :             case '3':    // 1 string to match.
    5427           0 :               if (memcmp(Mnemonic.data()+13, "2_e64", 5) != 0)
    5428             :                 break;
    5429           0 :               Mnemonic = "v_div_fmas_f32";     // "v_div_fmas_f32_e64"
    5430           0 :               return;
    5431             :             case '6':    // 1 string to match.
    5432           0 :               if (memcmp(Mnemonic.data()+13, "4_e64", 5) != 0)
    5433             :                 break;
    5434           0 :               Mnemonic = "v_div_fmas_f64";     // "v_div_fmas_f64_e64"
    5435           0 :               return;
    5436             :             }
    5437             :             break;
    5438             :           case 'o':      // 3 strings to match.
    5439           0 :             if (memcmp(Mnemonic.data()+4, "t2_", 3) != 0)
    5440             :               break;
    5441           0 :             switch (Mnemonic[7]) {
    5442             :             default: break;
    5443             :             case 'f':    // 1 string to match.
    5444           0 :               if (memcmp(Mnemonic.data()+8, "32_f16_e64", 10) != 0)
    5445             :                 break;
    5446           0 :               Mnemonic = "v_dot2_f32_f16";     // "v_dot2_f32_f16_e64"
    5447           0 :               return;
    5448             :             case 'i':    // 1 string to match.
    5449           0 :               if (memcmp(Mnemonic.data()+8, "32_i16_e64", 10) != 0)
    5450             :                 break;
    5451           0 :               Mnemonic = "v_dot2_i32_i16";     // "v_dot2_i32_i16_e64"
    5452           0 :               return;
    5453             :             case 'u':    // 1 string to match.
    5454           0 :               if (memcmp(Mnemonic.data()+8, "32_u16_e64", 10) != 0)
    5455             :                 break;
    5456           0 :               Mnemonic = "v_dot2_u32_u16";     // "v_dot2_u32_u16_e64"
    5457           0 :               return;
    5458             :             }
    5459             :             break;
    5460             :           }
    5461             :           break;
    5462             :         case 'f':        // 1 string to match.
    5463           0 :           if (memcmp(Mnemonic.data()+3, "ma_f16_gfx9_e64", 15) != 0)
    5464             :             break;
    5465           0 :           Mnemonic = "v_fma_f16_gfx9";         // "v_fma_f16_gfx9_e64"
    5466           0 :           return;
    5467             :         case 'l':        // 1 string to match.
    5468           0 :           if (memcmp(Mnemonic.data()+3, "shl_add_u32_e64", 15) != 0)
    5469             :             break;
    5470           0 :           Mnemonic = "v_lshl_add_u32";         // "v_lshl_add_u32_e64"
    5471           0 :           return;
    5472         300 :         case 'm':        // 5 strings to match.
    5473         300 :           switch (Mnemonic[3]) {
    5474             :           default: break;
    5475             :           case 'a':      // 3 strings to match.
    5476           0 :             if (memcmp(Mnemonic.data()+4, "d_", 2) != 0)
    5477             :               break;
    5478           0 :             switch (Mnemonic[6]) {
    5479             :             default: break;
    5480             :             case 'f':    // 1 string to match.
    5481           0 :               if (memcmp(Mnemonic.data()+7, "16_gfx9_e64", 11) != 0)
    5482             :                 break;
    5483           0 :               Mnemonic = "v_mad_f16_gfx9";     // "v_mad_f16_gfx9_e64"
    5484           0 :               return;
    5485             :             case 'i':    // 1 string to match.
    5486           0 :               if (memcmp(Mnemonic.data()+7, "16_gfx9_e64", 11) != 0)
    5487             :                 break;
    5488           0 :               Mnemonic = "v_mad_i16_gfx9";     // "v_mad_i16_gfx9_e64"
    5489           0 :               return;
    5490             :             case 'u':    // 1 string to match.
    5491           0 :               if (memcmp(Mnemonic.data()+7, "16_gfx9_e64", 11) != 0)
    5492             :                 break;
    5493           0 :               Mnemonic = "v_mad_u16_gfx9";     // "v_mad_u16_gfx9_e64"
    5494           0 :               return;
    5495             :             }
    5496             :             break;
    5497             :           case 'o':      // 1 string to match.
    5498           0 :             if (memcmp(Mnemonic.data()+4, "vrelsd_b32_e64", 14) != 0)
    5499             :               break;
    5500           0 :             Mnemonic = "v_movrelsd_b32";       // "v_movrelsd_b32_e64"
    5501           0 :             return;
    5502             :           case 'q':      // 1 string to match.
    5503           0 :             if (memcmp(Mnemonic.data()+4, "sad_u32_u8_e64", 14) != 0)
    5504             :               break;
    5505           0 :             Mnemonic = "v_mqsad_u32_u8";       // "v_mqsad_u32_u8_e64"
    5506           0 :             return;
    5507             :           }
    5508             :           break;
    5509             :         case 'p':        // 1 string to match.
    5510           0 :           if (memcmp(Mnemonic.data()+3, "ack_b32_f16_e64", 15) != 0)
    5511             :             break;
    5512           0 :           Mnemonic = "v_pack_b32_f16";         // "v_pack_b32_f16_e64"
    5513           0 :           return;
    5514             :         case 's':        // 1 string to match.
    5515           0 :           if (memcmp(Mnemonic.data()+3, "ub_i32_gfx9_e64", 15) != 0)
    5516             :             break;
    5517           0 :           Mnemonic = "v_sub_i32_gfx9";         // "v_sub_i32_gfx9_e64"
    5518           0 :           return;
    5519             :         }
    5520             :         break;
    5521             :       case 19:   // 39 strings to match.
    5522         609 :         if (memcmp(Mnemonic.data()+0, "v_", 2) != 0)
    5523             :           break;
    5524         396 :         switch (Mnemonic[2]) {
    5525             :         default: break;
    5526             :         case 'a':        // 1 string to match.
    5527           0 :           if (memcmp(Mnemonic.data()+3, "lignbyte_b32_e64", 16) != 0)
    5528             :             break;
    5529           0 :           Mnemonic = "v_alignbyte_b32";        // "v_alignbyte_b32_e64"
    5530           0 :           return;
    5531         166 :         case 'c':        // 18 strings to match.
    5532         166 :           switch (Mnemonic[3]) {
    5533             :           default: break;
    5534           0 :           case 'm':      // 17 strings to match.
    5535           0 :             if (Mnemonic[4] != 'p')
    5536             :               break;
    5537           0 :             switch (Mnemonic[5]) {
    5538             :             default: break;
    5539             :             case '_':    // 3 strings to match.
    5540           0 :               if (memcmp(Mnemonic.data()+6, "class_f", 7) != 0)
    5541             :                 break;
    5542           0 :               switch (Mnemonic[13]) {
    5543             :               default: break;
    5544             :               case '1':  // 1 string to match.
    5545           0 :                 if (memcmp(Mnemonic.data()+14, "6_e64", 5) != 0)
    5546             :                   break;
    5547           0 :                 Mnemonic = "v_cmp_class_f16";  // "v_cmp_class_f16_e64"
    5548           0 :                 return;
    5549             :               case '3':  // 1 string to match.
    5550           0 :                 if (memcmp(Mnemonic.data()+14, "2_e64", 5) != 0)
    5551             :                   break;
    5552           0 :                 Mnemonic = "v_cmp_class_f32";  // "v_cmp_class_f32_e64"
    5553           0 :                 return;
    5554             :               case '6':  // 1 string to match.
    5555           0 :                 if (memcmp(Mnemonic.data()+14, "4_e64", 5) != 0)
    5556             :                   break;
    5557           0 :                 Mnemonic = "v_cmp_class_f64";  // "v_cmp_class_f64_e64"
    5558           0 :                 return;
    5559             :               }
    5560             :               break;
    5561             :             case 's':    // 14 strings to match.
    5562           0 :               if (memcmp(Mnemonic.data()+6, "x_", 2) != 0)
    5563             :                 break;
    5564           0 :               switch (Mnemonic[8]) {
    5565             :               default: break;
    5566           0 :               case 'n':  // 12 strings to match.
    5567           0 :                 switch (Mnemonic[9]) {
    5568             :                 default: break;
    5569             :                 case 'e':        // 2 strings to match.
    5570           0 :                   if (memcmp(Mnemonic.data()+10, "q_f", 3) != 0)
    5571             :                     break;
    5572           0 :                   switch (Mnemonic[13]) {
    5573             :                   default: break;
    5574             :                   case '3':      // 1 string to match.
    5575           0 :                     if (memcmp(Mnemonic.data()+14, "2_e64", 5) != 0)
    5576             :                       break;
    5577           0 :                     Mnemonic = "v_cmpsx_neq_f32";      // "v_cmpsx_neq_f32_e64"
    5578           0 :                     return;
    5579             :                   case '6':      // 1 string to match.
    5580           0 :                     if (memcmp(Mnemonic.data()+14, "4_e64", 5) != 0)
    5581             :                       break;
    5582           0 :                     Mnemonic = "v_cmpsx_neq_f64";      // "v_cmpsx_neq_f64_e64"
    5583           0 :                     return;
    5584             :                   }
    5585             :                   break;
    5586           0 :                 case 'g':        // 4 strings to match.
    5587           0 :                   switch (Mnemonic[10]) {
    5588             :                   default: break;
    5589             :                   case 'e':      // 2 strings to match.
    5590           0 :                     if (memcmp(Mnemonic.data()+11, "_f", 2) != 0)
    5591             :                       break;
    5592           0 :                     switch (Mnemonic[13]) {
    5593             :                     default: break;
    5594             :                     case '3':    // 1 string to match.
    5595           0 :                       if (memcmp(Mnemonic.data()+14, "2_e64", 5) != 0)
    5596             :                         break;
    5597           0 :                       Mnemonic = "v_cmpsx_nge_f32";    // "v_cmpsx_nge_f32_e64"
    5598           0 :                       return;
    5599             :                     case '6':    // 1 string to match.
    5600           0 :                       if (memcmp(Mnemonic.data()+14, "4_e64", 5) != 0)
    5601             :                         break;
    5602           0 :                       Mnemonic = "v_cmpsx_nge_f64";    // "v_cmpsx_nge_f64_e64"
    5603           0 :                       return;
    5604             :                     }
    5605             :                     break;
    5606             :                   case 't':      // 2 strings to match.
    5607           0 :                     if (memcmp(Mnemonic.data()+11, "_f", 2) != 0)
    5608             :                       break;
    5609           0 :                     switch (Mnemonic[13]) {
    5610             :                     default: break;
    5611             :                     case '3':    // 1 string to match.
    5612           0 :                       if (memcmp(Mnemonic.data()+14, "2_e64", 5) != 0)
    5613             :                         break;
    5614           0 :                       Mnemonic = "v_cmpsx_ngt_f32";    // "v_cmpsx_ngt_f32_e64"
    5615           0 :                       return;
    5616             :                     case '6':    // 1 string to match.
    5617           0 :                       if (memcmp(Mnemonic.data()+14, "4_e64", 5) != 0)
    5618             :                         break;
    5619           0 :                       Mnemonic = "v_cmpsx_ngt_f64";    // "v_cmpsx_ngt_f64_e64"
    5620           0 :                       return;
    5621             :                     }
    5622             :                     break;
    5623             :                   }
    5624             :                   break;
    5625           0 :                 case 'l':        // 6 strings to match.
    5626           0 :                   switch (Mnemonic[10]) {
    5627             :                   default: break;
    5628             :                   case 'e':      // 2 strings to match.
    5629           0 :                     if (memcmp(Mnemonic.data()+11, "_f", 2) != 0)
    5630             :                       break;
    5631           0 :                     switch (Mnemonic[13]) {
    5632             :                     default: break;
    5633             :                     case '3':    // 1 string to match.
    5634           0 :                       if (memcmp(Mnemonic.data()+14, "2_e64", 5) != 0)
    5635             :                         break;
    5636           0 :                       Mnemonic = "v_cmpsx_nle_f32";    // "v_cmpsx_nle_f32_e64"
    5637           0 :                       return;
    5638             :                     case '6':    // 1 string to match.
    5639           0 :                       if (memcmp(Mnemonic.data()+14, "4_e64", 5) != 0)
    5640             :                         break;
    5641           0 :                       Mnemonic = "v_cmpsx_nle_f64";    // "v_cmpsx_nle_f64_e64"
    5642           0 :                       return;
    5643             :                     }
    5644             :                     break;
    5645             :                   case 'g':      // 2 strings to match.
    5646           0 :                     if (memcmp(Mnemonic.data()+11, "_f", 2) != 0)
    5647             :                       break;
    5648           0 :                     switch (Mnemonic[13]) {
    5649             :                     default: break;
    5650             :                     case '3':    // 1 string to match.
    5651           0 :                       if (memcmp(Mnemonic.data()+14, "2_e64", 5) != 0)
    5652             :                         break;
    5653           0 :                       Mnemonic = "v_cmpsx_nlg_f32";    // "v_cmpsx_nlg_f32_e64"
    5654           0 :                       return;
    5655             :                     case '6':    // 1 string to match.
    5656           0 :                       if (memcmp(Mnemonic.data()+14, "4_e64", 5) != 0)
    5657             :                         break;
    5658           0 :                       Mnemonic = "v_cmpsx_nlg_f64";    // "v_cmpsx_nlg_f64_e64"
    5659           0 :                       return;
    5660             :                     }
    5661             :                     break;
    5662             :                   case 't':      // 2 strings to match.
    5663           0 :                     if (memcmp(Mnemonic.data()+11, "_f", 2) != 0)
    5664             :                       break;
    5665           0 :                     switch (Mnemonic[13]) {
    5666             :                     default: break;
    5667             :                     case '3':    // 1 string to match.
    5668           0 :                       if (memcmp(Mnemonic.data()+14, "2_e64", 5) != 0)
    5669             :                         break;
    5670           0 :                       Mnemonic = "v_cmpsx_nlt_f32";    // "v_cmpsx_nlt_f32_e64"
    5671           0 :                       return;
    5672             :                     case '6':    // 1 string to match.
    5673           0 :                       if (memcmp(Mnemonic.data()+14, "4_e64", 5) != 0)
    5674             :                         break;
    5675           0 :                       Mnemonic = "v_cmpsx_nlt_f64";    // "v_cmpsx_nlt_f64_e64"
    5676           0 :                       return;
    5677             :                     }
    5678             :                     break;
    5679             :                   }
    5680             :                   break;
    5681             :                 }
    5682             :                 break;
    5683             :               case 't':  // 2 strings to match.
    5684           0 :                 if (memcmp(Mnemonic.data()+9, "ru_f", 4) != 0)
    5685             :                   break;
    5686           0 :                 switch (Mnemonic[13]) {
    5687             :                 default: break;
    5688             :                 case '3':        // 1 string to match.
    5689           0 :                   if (memcmp(Mnemonic.data()+14, "2_e64", 5) != 0)
    5690             :                     break;
    5691           0 :                   Mnemonic = "v_cmpsx_tru_f32";        // "v_cmpsx_tru_f32_e64"
    5692           0 :                   return;
    5693             :                 case '6':        // 1 string to match.
    5694           0 :                   if (memcmp(Mnemonic.data()+14, "4_e64", 5) != 0)
    5695             :                     break;
    5696           0 :                   Mnemonic = "v_cmpsx_tru_f64";        // "v_cmpsx_tru_f64_e64"
    5697           0 :                   return;
    5698             :                 }
    5699             :                 break;
    5700             :               }
    5701             :               break;
    5702             :             }
    5703             :             break;
    5704             :           case 'v':      // 1 string to match.
    5705         166 :             if (memcmp(Mnemonic.data()+4, "t_pk_u8_f32_e64", 15) != 0)
    5706             :               break;
    5707           0 :             Mnemonic = "v_cvt_pk_u8_f32";      // "v_cvt_pk_u8_f32_e64"
    5708           0 :             return;
    5709             :           }
    5710             :           break;
    5711             :         case 'd':        // 5 strings to match.
    5712           0 :           if (memcmp(Mnemonic.data()+3, "iv_", 3) != 0)
    5713             :             break;
    5714           0 :           switch (Mnemonic[6]) {
    5715             :           default: break;
    5716             :           case 'f':      // 3 strings to match.
    5717           0 :             if (memcmp(Mnemonic.data()+7, "ixup_f", 6) != 0)
    5718             :               break;
    5719           0 :             switch (Mnemonic[13]) {
    5720             :             default: break;
    5721             :             case '1':    // 1 string to match.
    5722           0 :               if (memcmp(Mnemonic.data()+14, "6_e64", 5) != 0)
    5723             :                 break;
    5724           0 :               if ((Features & (Feature_Has16BitInsts|Feature_isVIOnly)) == (Feature_Has16BitInsts|Feature_isVIOnly))         // "v_div_fixup_f16_e64"
    5725           0 :                 Mnemonic = "v_div_fixup_f16";
    5726             :               return;
    5727             :             case '3':    // 1 string to match.
    5728           0 :               if (memcmp(Mnemonic.data()+14, "2_e64", 5) != 0)
    5729             :                 break;
    5730           0 :               Mnemonic = "v_div_fixup_f32";    // "v_div_fixup_f32_e64"
    5731           0 :               return;
    5732             :             case '6':    // 1 string to match.
    5733           0 :               if (memcmp(Mnemonic.data()+14, "4_e64", 5) != 0)
    5734             :                 break;
    5735           0 :               Mnemonic = "v_div_fixup_f64";    // "v_div_fixup_f64_e64"
    5736           0 :               return;
    5737             :             }
    5738             :             break;
    5739             :           case 's':      // 2 strings to match.
    5740           0 :             if (memcmp(Mnemonic.data()+7, "cale_f", 6) != 0)
    5741             :               break;
    5742           0 :             switch (Mnemonic[13]) {
    5743             :             default: break;
    5744             :             case '3':    // 1 string to match.
    5745           0 :               if (memcmp(Mnemonic.data()+14, "2_e64", 5) != 0)
    5746             :                 break;
    5747           0 :               Mnemonic = "v_div_scale_f32";    // "v_div_scale_f32_e64"
    5748           0 :               return;
    5749             :             case '6':    // 1 string to match.
    5750           0 :               if (memcmp(Mnemonic.data()+14, "4_e64", 5) != 0)
    5751             :                 break;
    5752           0 :               Mnemonic = "v_div_scale_f64";    // "v_div_scale_f64_e64"
    5753           0 :               return;
    5754             :             }
    5755             :             break;
    5756             :           }
    5757             :           break;
    5758             :         case 'f':        // 2 strings to match.
    5759         230 :           if (memcmp(Mnemonic.data()+3, "ma_mix", 6) != 0)
    5760             :             break;
    5761           0 :           switch (Mnemonic[9]) {
    5762             :           default: break;
    5763             :           case 'h':      // 1 string to match.
    5764           0 :             if (memcmp(Mnemonic.data()+10, "i_f16_e64", 9) != 0)
    5765             :               break;
    5766           0 :             Mnemonic = "v_fma_mixhi_f16";      // "v_fma_mixhi_f16_e64"
    5767           0 :             return;
    5768             :           case 'l':      // 1 string to match.
    5769           0 :             if (memcmp(Mnemonic.data()+10, "o_f16_e64", 9) != 0)
    5770             :               break;
    5771           0 :             Mnemonic = "v_fma_mixlo_f16";      // "v_fma_mixlo_f16_e64"
    5772           0 :             return;
    5773             :           }
    5774             :           break;
    5775             :         case 'i':        // 3 strings to match.
    5776           0 :           if (memcmp(Mnemonic.data()+3, "nterp_p", 7) != 0)
    5777             :             break;
    5778           0 :           switch (Mnemonic[10]) {
    5779             :           default: break;
    5780             :           case '1':      // 1 string to match.
    5781           0 :             if (memcmp(Mnemonic.data()+11, "_f32_e64", 8) != 0)
    5782             :               break;
    5783           0 :             Mnemonic = "v_interp_p1_f32";      // "v_interp_p1_f32_e64"
    5784           0 :             return;
    5785             :           case '2':      // 2 strings to match.
    5786           0 :             if (memcmp(Mnemonic.data()+11, "_f", 2) != 0)
    5787             :               break;
    5788           0 :             switch (Mnemonic[13]) {
    5789             :             default: break;
    5790             :             case '1':    // 1 string to match.
    5791           0 :               if (memcmp(Mnemonic.data()+14, "6_e64", 5) != 0)
    5792             :                 break;
    5793           0 :               Mnemonic = "v_interp_p2_f16";    // "v_interp_p2_f16_e64"
    5794           0 :               return;
    5795             :             case '3':    // 1 string to match.
    5796           0 :               if (memcmp(Mnemonic.data()+14, "2_e64", 5) != 0)
    5797             :                 break;
    5798           0 :               Mnemonic = "v_interp_p2_f32";    // "v_interp_p2_f32_e64"
    5799           0 :               return;
    5800             :             }
    5801             :             break;
    5802             :           }
    5803             :           break;
    5804             :         case 'l':        // 1 string to match.
    5805           0 :           if (memcmp(Mnemonic.data()+3, "og_clamp_f32_e64", 16) != 0)
    5806             :             break;
    5807           0 :           Mnemonic = "v_log_clamp_f32";        // "v_log_clamp_f32_e64"
    5808           0 :           return;
    5809             :         case 'm':        // 2 strings to match.
    5810           0 :           if (memcmp(Mnemonic.data()+3, "ad_mix", 6) != 0)
    5811             :             break;
    5812           0 :           switch (Mnemonic[9]) {
    5813             :           default: break;
    5814             :           case 'h':      // 1 string to match.
    5815           0 :             if (memcmp(Mnemonic.data()+10, "i_f16_e64", 9) != 0)
    5816             :               break;
    5817           0 :             Mnemonic = "v_mad_mixhi_f16";      // "v_mad_mixhi_f16_e64"
    5818           0 :             return;
    5819             :           case 'l':      // 1 string to match.
    5820           0 :             if (memcmp(Mnemonic.data()+10, "o_f16_e64", 9) != 0)
    5821             :               break;
    5822           0 :             Mnemonic = "v_mad_mixlo_f16";      // "v_mad_mixlo_f16_e64"
    5823           0 :             return;
    5824             :           }
    5825             :           break;
    5826             :         case 'p':        // 1 string to match.
    5827           0 :           if (memcmp(Mnemonic.data()+3, "k_mul_lo_u16_e64", 16) != 0)
    5828             :             break;
    5829           0 :           Mnemonic = "v_pk_mul_lo_u16";        // "v_pk_mul_lo_u16_e64"
    5830           0 :           return;
    5831           0 :         case 'r':        // 5 strings to match.
    5832           0 :           switch (Mnemonic[3]) {
    5833             :           default: break;
    5834             :           case 'c':      // 3 strings to match.
    5835           0 :             if (memcmp(Mnemonic.data()+4, "p_", 2) != 0)
    5836             :               break;
    5837           0 :             switch (Mnemonic[6]) {
    5838             :             default: break;
    5839             :             case 'c':    // 2 strings to match.
    5840           0 :               if (memcmp(Mnemonic.data()+7, "lamp_f", 6) != 0)
    5841             :                 break;
    5842           0 :               switch (Mnemonic[13]) {
    5843             :               default: break;
    5844             :               case '3':  // 1 string to match.
    5845           0 :                 if (memcmp(Mnemonic.data()+14, "2_e64", 5) != 0)
    5846             :                   break;
    5847           0 :                 Mnemonic = "v_rcp_clamp_f32";  // "v_rcp_clamp_f32_e64"
    5848           0 :                 return;
    5849             :               case '6':  // 1 string to match.
    5850           0 :                 if (memcmp(Mnemonic.data()+14, "4_e64", 5) != 0)
    5851             :                   break;
    5852           0 :                 Mnemonic = "v_rcp_clamp_f64";  // "v_rcp_clamp_f64_e64"
    5853           0 :                 return;
    5854             :               }
    5855             :               break;
    5856             :             case 'i':    // 1 string to match.
    5857           0 :               if (memcmp(Mnemonic.data()+7, "flag_f32_e64", 12) != 0)
    5858             :                 break;
    5859           0 :               Mnemonic = "v_rcp_iflag_f32";    // "v_rcp_iflag_f32_e64"
    5860           0 :               return;
    5861             :             }
    5862             :             break;
    5863             :           case 's':      // 2 strings to match.
    5864           0 :             if (memcmp(Mnemonic.data()+4, "q_clamp_f", 9) != 0)
    5865             :               break;
    5866           0 :             switch (Mnemonic[13]) {
    5867             :             default: break;
    5868             :             case '3':    // 1 string to match.
    5869           0 :               if (memcmp(Mnemonic.data()+14, "2_e64", 5) != 0)
    5870             :                 break;
    5871           0 :               Mnemonic = "v_rsq_clamp_f32";    // "v_rsq_clamp_f32_e64"
    5872           0 :               return;
    5873             :             case '6':    // 1 string to match.
    5874           0 :               if (memcmp(Mnemonic.data()+14, "4_e64", 5) != 0)
    5875             :                 break;
    5876           0 :               Mnemonic = "v_rsq_clamp_f64";    // "v_rsq_clamp_f64_e64"
    5877           0 :               return;
    5878             :             }
    5879             :             break;
    5880             :           }
    5881             :           break;
    5882             :         case 's':        // 1 string to match.
    5883           0 :           if (memcmp(Mnemonic.data()+3, "at_pk_u8_i16_e64", 16) != 0)
    5884             :             break;
    5885           0 :           Mnemonic = "v_sat_pk_u8_i16";        // "v_sat_pk_u8_i16_e64"
    5886           0 :           return;
    5887             :         }
    5888             :         break;
    5889             :       case 20:   // 30 strings to match.
    5890         791 :         if (memcmp(Mnemonic.data()+0, "v_", 2) != 0)
    5891             :           break;
    5892         673 :         switch (Mnemonic[2]) {
    5893             :         default: break;
    5894         673 :         case 'c':        // 10 strings to match.
    5895         673 :           switch (Mnemonic[3]) {
    5896             :           default: break;
    5897             :           case 'm':      // 3 strings to match.
    5898           0 :             if (memcmp(Mnemonic.data()+4, "px_class_f", 10) != 0)
    5899             :               break;
    5900           0 :             switch (Mnemonic[14]) {
    5901             :             default: break;
    5902             :             case '1':    // 1 string to match.
    5903           0 :               if (memcmp(Mnemonic.data()+15, "6_e64", 5) != 0)
    5904             :                 break;
    5905           0 :               Mnemonic = "v_cmpx_class_f16";   // "v_cmpx_class_f16_e64"
    5906           0 :               return;
    5907             :             case '3':    // 1 string to match.
    5908           0 :               if (memcmp(Mnemonic.data()+15, "2_e64", 5) != 0)
    5909             :                 break;
    5910           0 :               Mnemonic = "v_cmpx_class_f32";   // "v_cmpx_class_f32_e64"
    5911           0 :               return;
    5912             :             case '6':    // 1 string to match.
    5913           0 :               if (memcmp(Mnemonic.data()+15, "4_e64", 5) != 0)
    5914             :                 break;
    5915           0 :               Mnemonic = "v_cmpx_class_f64";   // "v_cmpx_class_f64_e64"
    5916           0 :               return;
    5917             :             }
    5918             :             break;
    5919             :           case 'v':      // 7 strings to match.
    5920         673 :             if (memcmp(Mnemonic.data()+4, "t_", 2) != 0)
    5921             :               break;
    5922         673 :             switch (Mnemonic[6]) {
    5923             :             default: break;
    5924             :             case 'f':    // 4 strings to match.
    5925           0 :               if (memcmp(Mnemonic.data()+7, "32_ubyte", 8) != 0)
    5926             :                 break;
    5927           0 :               switch (Mnemonic[15]) {
    5928             :               default: break;
    5929             :               case '0':  // 1 string to match.
    5930           0 :                 if (memcmp(Mnemonic.data()+16, "_e64", 4) != 0)
    5931             :                   break;
    5932           0 :                 Mnemonic = "v_cvt_f32_ubyte0";         // "v_cvt_f32_ubyte0_e64"
    5933           0 :                 return;
    5934             :               case '1':  // 1 string to match.
    5935           0 :                 if (memcmp(Mnemonic.data()+16, "_e64", 4) != 0)
    5936             :                   break;
    5937           0 :                 Mnemonic = "v_cvt_f32_ubyte1";         // "v_cvt_f32_ubyte1_e64"
    5938           0 :                 return;
    5939             :               case '2':  // 1 string to match.
    5940           0 :                 if (memcmp(Mnemonic.data()+16, "_e64", 4) != 0)
    5941             :                   break;
    5942           0 :                 Mnemonic = "v_cvt_f32_ubyte2";         // "v_cvt_f32_ubyte2_e64"
    5943           0 :                 return;
    5944             :               case '3':  // 1 string to match.
    5945           0 :                 if (memcmp(Mnemonic.data()+16, "_e64", 4) != 0)
    5946             :                   break;
    5947           0 :                 Mnemonic = "v_cvt_f32_ubyte3";         // "v_cvt_f32_ubyte3_e64"
    5948           0 :                 return;
    5949             :               }
    5950             :               break;
    5951             :             case 'o':    // 1 string to match.
    5952           0 :               if (memcmp(Mnemonic.data()+7, "ff_f32_i4_e64", 13) != 0)
    5953             :                 break;
    5954           0 :               Mnemonic = "v_cvt_off_f32_i4";   // "v_cvt_off_f32_i4_e64"
    5955           0 :               return;
    5956             :             case 'p':    // 2 strings to match.
    5957         673 :               if (memcmp(Mnemonic.data()+7, "k_", 2) != 0)
    5958             :                 break;
    5959           0 :               switch (Mnemonic[9]) {
    5960             :               default: break;
    5961             :               case 'i':  // 1 string to match.
    5962           0 :                 if (memcmp(Mnemonic.data()+10, "16_i32_e64", 10) != 0)
    5963             :                   break;
    5964           0 :                 Mnemonic = "v_cvt_pk_i16_i32";         // "v_cvt_pk_i16_i32_e64"
    5965           0 :                 return;
    5966             :               case 'u':  // 1 string to match.
    5967           0 :                 if (memcmp(Mnemonic.data()+10, "16_u32_e64", 10) != 0)
    5968             :                   break;
    5969           0 :                 Mnemonic = "v_cvt_pk_u16_u32";         // "v_cvt_pk_u16_u32_e64"
    5970           0 :                 return;
    5971             :               }
    5972             :               break;
    5973             :             }
    5974             :             break;
    5975             :           }
    5976             :           break;
    5977             :         case 'e':        // 1 string to match.
    5978           0 :           if (memcmp(Mnemonic.data()+3, "xp_legacy_f32_e64", 17) != 0)
    5979             :             break;
    5980           0 :           Mnemonic = "v_exp_legacy_f32";       // "v_exp_legacy_f32_e64"
    5981           0 :           return;
    5982             :         case 'f':        // 3 strings to match.
    5983           0 :           if (memcmp(Mnemonic.data()+3, "rexp_mant_f", 11) != 0)
    5984             :             break;
    5985           0 :           switch (Mnemonic[14]) {
    5986             :           default: break;
    5987             :           case '1':      // 1 string to match.
    5988           0 :             if (memcmp(Mnemonic.data()+15, "6_e64", 5) != 0)
    5989             :               break;
    5990           0 :             Mnemonic = "v_frexp_mant_f16";     // "v_frexp_mant_f16_e64"
    5991           0 :             return;
    5992             :           case '3':      // 1 string to match.
    5993           0 :             if (memcmp(Mnemonic.data()+15, "2_e64", 5) != 0)
    5994             :               break;
    5995           0 :             Mnemonic = "v_frexp_mant_f32";     // "v_frexp_mant_f32_e64"
    5996           0 :             return;
    5997             :           case '6':      // 1 string to match.
    5998           0 :             if (memcmp(Mnemonic.data()+15, "4_e64", 5) != 0)
    5999             :               break;
    6000           0 :             Mnemonic = "v_frexp_mant_f64";     // "v_frexp_mant_f64_e64"
    6001           0 :             return;
    6002             :           }
    6003             :           break;
    6004             :         case 'i':        // 1 string to match.
    6005           0 :           if (memcmp(Mnemonic.data()+3, "nterp_mov_f32_e64", 17) != 0)
    6006             :             break;
    6007           0 :           Mnemonic = "v_interp_mov_f32";       // "v_interp_mov_f32_e64"
    6008           0 :           return;
    6009             :         case 'l':        // 1 string to match.
    6010           0 :           if (memcmp(Mnemonic.data()+3, "og_legacy_f32_e64", 17) != 0)
    6011             :             break;
    6012           0 :           Mnemonic = "v_log_legacy_f32";       // "v_log_legacy_f32_e64"
    6013           0 :           return;
    6014           0 :         case 'm':        // 7 strings to match.
    6015           0 :           switch (Mnemonic[3]) {
    6016             :           default: break;
    6017           0 :           case 'a':      // 3 strings to match.
    6018           0 :             switch (Mnemonic[4]) {
    6019             :             default: break;
    6020             :             case 'c':    // 1 string to match.
    6021           0 :               if (memcmp(Mnemonic.data()+5, "_legacy_f32_e64", 15) != 0)
    6022             :                 break;
    6023           0 :               Mnemonic = "v_mac_legacy_f32";   // "v_mac_legacy_f32_e64"
    6024           0 :               return;
    6025             :             case 'd':    // 1 string to match.
    6026           0 :               if (memcmp(Mnemonic.data()+5, "_legacy_f32_e64", 15) != 0)
    6027             :                 break;
    6028           0 :               Mnemonic = "v_mad_legacy_f32";   // "v_mad_legacy_f32_e64"
    6029           0 :               return;
    6030             :             case 'x':    // 1 string to match.
    6031           0 :               if (memcmp(Mnemonic.data()+5, "_legacy_f32_e64", 15) != 0)
    6032             :                 break;
    6033           0 :               Mnemonic = "v_max_legacy_f32";   // "v_max_legacy_f32_e64"
    6034           0 :               return;
    6035             :             }
    6036             :             break;
    6037             :           case 'i':      // 1 string to match.
    6038           0 :             if (memcmp(Mnemonic.data()+4, "n_legacy_f32_e64", 16) != 0)
    6039             :               break;
    6040           0 :             Mnemonic = "v_min_legacy_f32";     // "v_min_legacy_f32_e64"
    6041           0 :             return;
    6042             :           case 'u':      // 3 strings to match.
    6043           0 :             if (memcmp(Mnemonic.data()+4, "l_", 2) != 0)
    6044             :               break;
    6045           0 :             switch (Mnemonic[6]) {
    6046             :             default: break;
    6047             :             case 'h':    // 2 strings to match.
    6048           0 :               if (memcmp(Mnemonic.data()+7, "i_", 2) != 0)
    6049             :                 break;
    6050           0 :               switch (Mnemonic[9]) {
    6051             :               default: break;
    6052             :               case 'i':  // 1 string to match.
    6053           0 :                 if (memcmp(Mnemonic.data()+10, "32_i24_e64", 10) != 0)
    6054             :                   break;
    6055           0 :                 Mnemonic = "v_mul_hi_i32_i24";         // "v_mul_hi_i32_i24_e64"
    6056           0 :                 return;
    6057             :               case 'u':  // 1 string to match.
    6058           0 :                 if (memcmp(Mnemonic.data()+10, "32_u24_e64", 10) != 0)
    6059             :                   break;
    6060           0 :                 Mnemonic = "v_mul_hi_u32_u24";         // "v_mul_hi_u32_u24_e64"
    6061           0 :                 return;
    6062             :               }
    6063             :               break;
    6064             :             case 'l':    // 1 string to match.
    6065           0 :               if (memcmp(Mnemonic.data()+7, "egacy_f32_e64", 13) != 0)
    6066             :                 break;
    6067           0 :               Mnemonic = "v_mul_legacy_f32";   // "v_mul_legacy_f32_e64"
    6068           0 :               return;
    6069             :             }
    6070             :             break;
    6071             :           }
    6072             :           break;
    6073             :         case 'p':        // 3 strings to match.
    6074           0 :           if (memcmp(Mnemonic.data()+3, "k_", 2) != 0)
    6075             :             break;
    6076           0 :           switch (Mnemonic[5]) {
    6077             :           default: break;
    6078             :           case 'a':      // 1 string to match.
    6079           0 :             if (memcmp(Mnemonic.data()+6, "shrrev_i16_e64", 14) != 0)
    6080             :               break;
    6081           0 :             Mnemonic = "v_pk_ashrrev_i16";     // "v_pk_ashrrev_i16_e64"
    6082           0 :             return;
    6083             :           case 'l':      // 2 strings to match.
    6084           0 :             if (memcmp(Mnemonic.data()+6, "sh", 2) != 0)
    6085             :               break;
    6086           0 :             switch (Mnemonic[8]) {
    6087             :             default: break;
    6088             :             case 'l':    // 1 string to match.
    6089           0 :               if (memcmp(Mnemonic.data()+9, "rev_b16_e64", 11) != 0)
    6090             :                 break;
    6091           0 :               Mnemonic = "v_pk_lshlrev_b16";   // "v_pk_lshlrev_b16_e64"
    6092           0 :               return;
    6093             :             case 'r':    // 1 string to match.
    6094           0 :               if (memcmp(Mnemonic.data()+9, "rev_b16_e64", 11) != 0)
    6095             :                 break;
    6096           0 :               Mnemonic = "v_pk_lshrrev_b16";   // "v_pk_lshrrev_b16_e64"
    6097           0 :               return;
    6098             :             }
    6099             :             break;
    6100             :           }
    6101             :           break;
    6102             :         case 'q':        // 1 string to match.
    6103           0 :           if (memcmp(Mnemonic.data()+3, "sad_pk_u16_u8_e64", 17) != 0)
    6104             :             break;
    6105           0 :           Mnemonic = "v_qsad_pk_u16_u8";       // "v_qsad_pk_u16_u8_e64"
    6106           0 :           return;
    6107           0 :         case 'r':        // 2 strings to match.
    6108           0 :           switch (Mnemonic[3]) {
    6109             :           default: break;
    6110             :           case 'c':      // 1 string to match.
    6111           0 :             if (memcmp(Mnemonic.data()+4, "p_legacy_f32_e64", 16) != 0)
    6112             :               break;
    6113           0 :             Mnemonic = "v_rcp_legacy_f32";     // "v_rcp_legacy_f32_e64"
    6114           0 :             return;
    6115             :           case 's':      // 1 string to match.
    6116           0 :             if (memcmp(Mnemonic.data()+4, "q_legacy_f32_e64", 16) != 0)
    6117             :               break;
    6118           0 :             Mnemonic = "v_rsq_legacy_f32";     // "v_rsq_legacy_f32_e64"
    6119           0 :             return;
    6120             :           }
    6121             :           break;
    6122             :         case 't':        // 1 string to match.
    6123           0 :           if (memcmp(Mnemonic.data()+3, "rig_preop_f64_e64", 17) != 0)
    6124             :             break;
    6125           0 :           Mnemonic = "v_trig_preop_f64";       // "v_trig_preop_f64_e64"
    6126           0 :           return;
    6127             :         }
    6128             :         break;
    6129             :       case 21:   // 5 strings to match.
    6130          37 :         if (memcmp(Mnemonic.data()+0, "v_", 2) != 0)
    6131             :           break;
    6132           0 :         switch (Mnemonic[2]) {
    6133             :         default: break;
    6134             :         case 'c':        // 2 strings to match.
    6135           0 :           if (memcmp(Mnemonic.data()+3, "vt_", 3) != 0)
    6136             :             break;
    6137           0 :           switch (Mnemonic[6]) {
    6138             :           default: break;
    6139             :           case 'f':      // 1 string to match.
    6140           0 :             if (memcmp(Mnemonic.data()+7, "lr_i32_f32_e64", 14) != 0)
    6141             :               break;
    6142           0 :             Mnemonic = "v_cvt_flr_i32_f32";    // "v_cvt_flr_i32_f32_e64"
    6143           0 :             return;
    6144             :           case 'r':      // 1 string to match.
    6145           0 :             if (memcmp(Mnemonic.data()+7, "pi_i32_f32_e64", 14) != 0)
    6146             :               break;
    6147           0 :             Mnemonic = "v_cvt_rpi_i32_f32";    // "v_cvt_rpi_i32_f32_e64"
    6148           0 :             return;
    6149             :           }
    6150             :           break;
    6151             :         case 'i':        // 2 strings to match.
    6152           0 :           if (memcmp(Mnemonic.data()+3, "nterp_p1l", 9) != 0)
    6153             :             break;
    6154           0 :           switch (Mnemonic[12]) {
    6155             :           default: break;
    6156             :           case 'l':      // 1 string to match.
    6157           0 :             if (memcmp(Mnemonic.data()+13, "_f16_e64", 8) != 0)
    6158             :               break;
    6159           0 :             Mnemonic = "v_interp_p1ll_f16";    // "v_interp_p1ll_f16_e64"
    6160           0 :             return;
    6161             :           case 'v':      // 1 string to match.
    6162           0 :             if (memcmp(Mnemonic.data()+13, "_f16_e64", 8) != 0)
    6163             :               break;
    6164           0 :             Mnemonic = "v_interp_p1lv_f16";    // "v_interp_p1lv_f16_e64"
    6165           0 :             return;
    6166             :           }
    6167             :           break;
    6168             :         case 'm':        // 1 string to match.
    6169           0 :           if (memcmp(Mnemonic.data()+3, "qsad_pk_u16_u8_e64", 18) != 0)
    6170             :             break;
    6171           0 :           Mnemonic = "v_mqsad_pk_u16_u8";      // "v_mqsad_pk_u16_u8_e64"
    6172           0 :           return;
    6173             :         }
    6174             :         break;
    6175             :       case 22:   // 4 strings to match.
    6176         270 :         if (memcmp(Mnemonic.data()+0, "v_", 2) != 0)
    6177             :           break;
    6178         156 :         switch (Mnemonic[2]) {
    6179             :         default: break;
    6180             :         case 'c':        // 2 strings to match.
    6181           0 :           if (memcmp(Mnemonic.data()+3, "vt_norm_", 8) != 0)
    6182             :             break;
    6183           0 :           switch (Mnemonic[11]) {
    6184             :           default: break;
    6185             :           case 'i':      // 1 string to match.
    6186           0 :             if (memcmp(Mnemonic.data()+12, "16_f16_e64", 10) != 0)
    6187             :               break;
    6188           0 :             Mnemonic = "v_cvt_norm_i16_f16";   // "v_cvt_norm_i16_f16_e64"
    6189           0 :             return;
    6190             :           case 'u':      // 1 string to match.
    6191           0 :             if (memcmp(Mnemonic.data()+12, "16_f16_e64", 10) != 0)
    6192             :               break;
    6193           0 :             Mnemonic = "v_cvt_norm_u16_f16";   // "v_cvt_norm_u16_f16_e64"
    6194           0 :             return;
    6195             :           }
    6196             :           break;
    6197             :         case 'm':        // 2 strings to match.
    6198           0 :           if (memcmp(Mnemonic.data()+3, "bcnt_", 5) != 0)
    6199             :             break;
    6200           0 :           switch (Mnemonic[8]) {
    6201             :           default: break;
    6202             :           case 'h':      // 1 string to match.
    6203           0 :             if (memcmp(Mnemonic.data()+9, "i_u32_b32_e64", 13) != 0)
    6204             :               break;
    6205           0 :             Mnemonic = "v_mbcnt_hi_u32_b32";   // "v_mbcnt_hi_u32_b32_e64"
    6206           0 :             return;
    6207             :           case 'l':      // 1 string to match.
    6208           0 :             if (memcmp(Mnemonic.data()+9, "o_u32_b32_e64", 13) != 0)
    6209             :               break;
    6210           0 :             Mnemonic = "v_mbcnt_lo_u32_b32";   // "v_mbcnt_lo_u32_b32_e64"
    6211           0 :             return;
    6212             :           }
    6213             :           break;
    6214             :         }
    6215             :         break;
    6216             :       case 23:   // 4 strings to match.
    6217          80 :         if (memcmp(Mnemonic.data()+0, "v_", 2) != 0)
    6218             :           break;
    6219           0 :         switch (Mnemonic[2]) {
    6220             :         default: break;
    6221             :         case 'c':        // 1 string to match.
    6222           0 :           if (memcmp(Mnemonic.data()+3, "vt_pkrtz_f16_f32_e64", 20) != 0)
    6223             :             break;
    6224           0 :           Mnemonic = "v_cvt_pkrtz_f16_f32";    // "v_cvt_pkrtz_f16_f32_e64"
    6225           0 :           return;
    6226             :         case 'f':        // 3 strings to match.
    6227           0 :           if (memcmp(Mnemonic.data()+3, "rexp_exp_i", 10) != 0)
    6228             :             break;
    6229           0 :           switch (Mnemonic[13]) {
    6230             :           default: break;
    6231             :           case '1':      // 1 string to match.
    6232           0 :             if (memcmp(Mnemonic.data()+14, "6_f16_e64", 9) != 0)
    6233             :               break;
    6234           0 :             Mnemonic = "v_frexp_exp_i16_f16";  // "v_frexp_exp_i16_f16_e64"
    6235           0 :             return;
    6236             :           case '3':      // 2 strings to match.
    6237           0 :             if (memcmp(Mnemonic.data()+14, "2_f", 3) != 0)
    6238             :               break;
    6239           0 :             switch (Mnemonic[17]) {
    6240             :             default: break;
    6241             :             case '3':    // 1 string to match.
    6242           0 :               if (memcmp(Mnemonic.data()+18, "2_e64", 5) != 0)
    6243             :                 break;
    6244           0 :               Mnemonic = "v_frexp_exp_i32_f32";        // "v_frexp_exp_i32_f32_e64"
    6245           0 :               return;
    6246             :             case '6':    // 1 string to match.
    6247           0 :               if (memcmp(Mnemonic.data()+18, "4_e64", 5) != 0)
    6248             :                 break;
    6249           0 :               Mnemonic = "v_frexp_exp_i32_f64";        // "v_frexp_exp_i32_f64_e64"
    6250           0 :               return;
    6251             :             }
    6252             :             break;
    6253             :           }
    6254             :           break;
    6255             :         }
    6256             :         break;
    6257             :       case 24:   // 7 strings to match.
    6258          15 :         if (memcmp(Mnemonic.data()+0, "v_", 2) != 0)
    6259             :           break;
    6260           0 :         switch (Mnemonic[2]) {
    6261             :         default: break;
    6262             :         case 'c':        // 5 strings to match.
    6263           0 :           if (memcmp(Mnemonic.data()+3, "vt_pk", 5) != 0)
    6264             :             break;
    6265           0 :           switch (Mnemonic[8]) {
    6266             :           default: break;
    6267             :           case 'a':      // 1 string to match.
    6268           0 :             if (memcmp(Mnemonic.data()+9, "ccum_u8_f32_e64", 15) != 0)
    6269             :               break;
    6270           0 :             Mnemonic = "v_cvt_pkaccum_u8_f32";         // "v_cvt_pkaccum_u8_f32_e64"
    6271           0 :             return;
    6272             :           case 'n':      // 4 strings to match.
    6273           0 :             if (memcmp(Mnemonic.data()+9, "orm_", 4) != 0)
    6274             :               break;
    6275           0 :             switch (Mnemonic[13]) {
    6276             :             default: break;
    6277             :             case 'i':    // 2 strings to match.
    6278           0 :               if (memcmp(Mnemonic.data()+14, "16_f", 4) != 0)
    6279             :                 break;
    6280           0 :               switch (Mnemonic[18]) {
    6281             :               default: break;
    6282             :               case '1':  // 1 string to match.
    6283           0 :                 if (memcmp(Mnemonic.data()+19, "6_e64", 5) != 0)
    6284             :                   break;
    6285           0 :                 Mnemonic = "v_cvt_pknorm_i16_f16";     // "v_cvt_pknorm_i16_f16_e64"
    6286           0 :                 return;
    6287             :               case '3':  // 1 string to match.
    6288           0 :                 if (memcmp(Mnemonic.data()+19, "2_e64", 5) != 0)
    6289             :                   break;
    6290           0 :                 Mnemonic = "v_cvt_pknorm_i16_f32";     // "v_cvt_pknorm_i16_f32_e64"
    6291           0 :                 return;
    6292             :               }
    6293             :               break;
    6294             :             case 'u':    // 2 strings to match.
    6295           0 :               if (memcmp(Mnemonic.data()+14, "16_f", 4) != 0)
    6296             :                 break;
    6297           0 :               switch (Mnemonic[18]) {
    6298             :               default: break;
    6299             :               case '1':  // 1 string to match.
    6300           0 :                 if (memcmp(Mnemonic.data()+19, "6_e64", 5) != 0)
    6301             :                   break;
    6302           0 :                 Mnemonic = "v_cvt_pknorm_u16_f16";     // "v_cvt_pknorm_u16_f16_e64"
    6303           0 :                 return;
    6304             :               case '3':  // 1 string to match.
    6305           0 :                 if (memcmp(Mnemonic.data()+19, "2_e64", 5) != 0)
    6306             :                   break;
    6307           0 :                 Mnemonic = "v_cvt_pknorm_u16_f32";     // "v_cvt_pknorm_u16_f32_e64"
    6308           0 :                 return;
    6309             :               }
    6310             :               break;
    6311             :             }
    6312             :             break;
    6313             :           }
    6314             :           break;
    6315             :         case 'd':        // 1 string to match.
    6316           0 :           if (memcmp(Mnemonic.data()+3, "iv_fixup_f16_gfx9_e64", 21) != 0)
    6317             :             break;
    6318           0 :           if ((Features & (Feature_Has16BitInsts|Feature_isGFX9)) == (Feature_Has16BitInsts|Feature_isGFX9))         // "v_div_fixup_f16_gfx9_e64"
    6319           0 :             Mnemonic = "v_div_fixup_f16_gfx9";
    6320             :           return;
    6321             :         case 'i':        // 1 string to match.
    6322           0 :           if (memcmp(Mnemonic.data()+3, "nterp_p2_f16_gfx9_e64", 21) != 0)
    6323             :             break;
    6324           0 :           Mnemonic = "v_interp_p2_f16_gfx9";   // "v_interp_p2_f16_gfx9_e64"
    6325           0 :           return;
    6326             :         }
    6327             :         break;
    6328             :       case 30:   // 1 string to match.
    6329           0 :         if (memcmp(Mnemonic.data()+0, "v_screen_partition_4se_b32_e64", 30) != 0)
    6330             :           break;
    6331           0 :         Mnemonic = "v_screen_partition_4se_b32";       // "v_screen_partition_4se_b32_e64"
    6332           0 :         return;
    6333             :       }
    6334             :     break;
    6335             :     case 2:
    6336       28008 :       switch (Mnemonic.size()) {
    6337             :       default: break;
    6338             :       case 10:   // 1 string to match.
    6339         938 :         if (memcmp(Mnemonic.data()+0, "v_nop_sdwa", 10) != 0)
    6340             :           break;
    6341           0 :         Mnemonic = "v_nop";    // "v_nop_sdwa"
    6342           0 :         return;
    6343             :       case 13:   // 1 string to match.
    6344        7402 :         if (memcmp(Mnemonic.data()+0, "v_or_b32_sdwa", 13) != 0)
    6345             :           break;
    6346           0 :         Mnemonic = "v_or_b32";         // "v_or_b32_sdwa"
    6347           0 :         return;
    6348             :       case 14:   // 42 strings to match.
    6349        1578 :         if (memcmp(Mnemonic.data()+0, "v_", 2) != 0)
    6350             :           break;
    6351        1544 :         switch (Mnemonic[2]) {
    6352             :         default: break;
    6353           3 :         case 'a':        // 6 strings to match.
    6354           3 :           switch (Mnemonic[3]) {
    6355             :           default: break;
    6356             :           case 'd':      // 5 strings to match.
    6357           3 :             if (memcmp(Mnemonic.data()+4, "d_", 2) != 0)
    6358             :               break;
    6359           3 :             switch (Mnemonic[6]) {
    6360             :             default: break;
    6361           0 :             case 'f':    // 2 strings to match.
    6362           0 :               switch (Mnemonic[7]) {
    6363             :               default: break;
    6364             :               case '1':  // 1 string to match.
    6365           0 :                 if (memcmp(Mnemonic.data()+8, "6_sdwa", 6) != 0)
    6366             :                   break;
    6367           0 :                 Mnemonic = "v_add_f16";        // "v_add_f16_sdwa"
    6368           0 :                 return;
    6369             :               case '3':  // 1 string to match.
    6370           0 :                 if (memcmp(Mnemonic.data()+8, "2_sdwa", 6) != 0)
    6371             :                   break;
    6372           0 :                 Mnemonic = "v_add_f32";        // "v_add_f32_sdwa"
    6373           0 :                 return;
    6374             :               }
    6375             :               break;
    6376             :             case 'i':    // 1 string to match.
    6377           0 :               if (memcmp(Mnemonic.data()+7, "32_sdwa", 7) != 0)
    6378             :                 break;
    6379           0 :               Mnemonic = "v_add_i32";  // "v_add_i32_sdwa"
    6380           0 :               return;
    6381           0 :             case 'u':    // 2 strings to match.
    6382           0 :               switch (Mnemonic[7]) {
    6383             :               default: break;
    6384             :               case '1':  // 1 string to match.
    6385           0 :                 if (memcmp(Mnemonic.data()+8, "6_sdwa", 6) != 0)
    6386             :                   break;
    6387           0 :                 Mnemonic = "v_add_u16";        // "v_add_u16_sdwa"
    6388           0 :                 return;
    6389             :               case '3':  // 1 string to match.
    6390           0 :                 if (memcmp(Mnemonic.data()+8, "2_sdwa", 6) != 0)
    6391             :                   break;
    6392           0 :                 Mnemonic = "v_add_u32";        // "v_add_u32_sdwa"
    6393           0 :                 return;
    6394             :               }
    6395             :               break;
    6396             :             }
    6397             :             break;
    6398             :           case 'n':      // 1 string to match.
    6399           0 :             if (memcmp(Mnemonic.data()+4, "d_b32_sdwa", 10) != 0)
    6400             :               break;
    6401           0 :             Mnemonic = "v_and_b32";    // "v_and_b32_sdwa"
    6402           0 :             return;
    6403             :           }
    6404             :           break;
    6405             :         case 'c':        // 2 strings to match.
    6406        1393 :           if (memcmp(Mnemonic.data()+3, "os_f", 4) != 0)
    6407             :             break;
    6408           0 :           switch (Mnemonic[7]) {
    6409             :           default: break;
    6410             :           case '1':      // 1 string to match.
    6411           0 :             if (memcmp(Mnemonic.data()+8, "6_sdwa", 6) != 0)
    6412             :               break;
    6413           0 :             Mnemonic = "v_cos_f16";    // "v_cos_f16_sdwa"
    6414           0 :             return;
    6415             :           case '3':      // 1 string to match.
    6416           0 :             if (memcmp(Mnemonic.data()+8, "2_sdwa", 6) != 0)
    6417             :               break;
    6418           0 :             Mnemonic = "v_cos_f32";    // "v_cos_f32_sdwa"
    6419           0 :             return;
    6420             :           }
    6421             :           break;
    6422             :         case 'e':        // 2 strings to match.
    6423           0 :           if (memcmp(Mnemonic.data()+3, "xp_f", 4) != 0)
    6424             :             break;
    6425           0 :           switch (Mnemonic[7]) {
    6426             :           default: break;
    6427             :           case '1':      // 1 string to match.
    6428           0 :             if (memcmp(Mnemonic.data()+8, "6_sdwa", 6) != 0)
    6429             :               break;
    6430           0 :             Mnemonic = "v_exp_f16";    // "v_exp_f16_sdwa"
    6431           0 :             return;
    6432             :           case '3':      // 1 string to match.
    6433           0 :             if (memcmp(Mnemonic.data()+8, "2_sdwa", 6) != 0)
    6434             :               break;
    6435           0 :             Mnemonic = "v_exp_f32";    // "v_exp_f32_sdwa"
    6436           0 :             return;
    6437             :           }
    6438             :           break;
    6439             :         case 'l':        // 2 strings to match.
    6440           3 :           if (memcmp(Mnemonic.data()+3, "og_f", 4) != 0)
    6441             :             break;
    6442           0 :           switch (Mnemonic[7]) {
    6443             :           default: break;
    6444             :           case '1':      // 1 string to match.
    6445           0 :             if (memcmp(Mnemonic.data()+8, "6_sdwa", 6) != 0)
    6446             :               break;
    6447           0 :             Mnemonic = "v_log_f16";    // "v_log_f16_sdwa"
    6448           0 :             return;
    6449             :           case '3':      // 1 string to match.
    6450           0 :             if (memcmp(Mnemonic.data()+8, "2_sdwa", 6) != 0)
    6451             :               break;
    6452           0 :             Mnemonic = "v_log_f32";    // "v_log_f32_sdwa"
    6453           0 :             return;
    6454             :           }
    6455             :           break;
    6456           6 :         case 'm':        // 17 strings to match.
    6457           6 :           switch (Mnemonic[3]) {
    6458             :           default: break;
    6459           0 :           case 'a':      // 8 strings to match.
    6460           0 :             switch (Mnemonic[4]) {
    6461             :             default: break;
    6462             :             case 'c':    // 2 strings to match.
    6463           0 :               if (memcmp(Mnemonic.data()+5, "_f", 2) != 0)
    6464             :                 break;
    6465           0 :               switch (Mnemonic[7]) {
    6466             :               default: break;
    6467             :               case '1':  // 1 string to match.
    6468           0 :                 if (memcmp(Mnemonic.data()+8, "6_sdwa", 6) != 0)
    6469             :                   break;
    6470           0 :                 Mnemonic = "v_mac_f16";        // "v_mac_f16_sdwa"
    6471           0 :                 return;
    6472             :               case '3':  // 1 string to match.
    6473           0 :                 if (memcmp(Mnemonic.data()+8, "2_sdwa", 6) != 0)
    6474             :                   break;
    6475           0 :                 Mnemonic = "v_mac_f32";        // "v_mac_f32_sdwa"
    6476           0 :                 return;
    6477             :               }
    6478             :               break;
    6479           0 :             case 'x':    // 6 strings to match.
    6480           0 :               if (Mnemonic[5] != '_')
    6481             :                 break;
    6482           0 :               switch (Mnemonic[6]) {
    6483             :               default: break;
    6484           0 :               case 'f':  // 2 strings to match.
    6485           0 :                 switch (Mnemonic[7]) {
    6486             :                 default: break;
    6487             :                 case '1':        // 1 string to match.
    6488           0 :                   if (memcmp(Mnemonic.data()+8, "6_sdwa", 6) != 0)
    6489             :                     break;
    6490           0 :                   Mnemonic = "v_max_f16";      // "v_max_f16_sdwa"
    6491           0 :                   return;
    6492             :                 case '3':        // 1 string to match.
    6493           0 :                   if (memcmp(Mnemonic.data()+8, "2_sdwa", 6) != 0)
    6494             :                     break;
    6495           0 :                   Mnemonic = "v_max_f32";      // "v_max_f32_sdwa"
    6496           0 :                   return;
    6497             :                 }
    6498             :                 break;
    6499           0 :               case 'i':  // 2 strings to match.
    6500           0 :                 switch (Mnemonic[7]) {
    6501             :                 default: break;
    6502             :                 case '1':        // 1 string to match.
    6503           0 :                   if (memcmp(Mnemonic.data()+8, "6_sdwa", 6) != 0)
    6504             :                     break;
    6505           0 :                   Mnemonic = "v_max_i16";      // "v_max_i16_sdwa"
    6506           0 :                   return;
    6507             :                 case '3':        // 1 string to match.
    6508           0 :                   if (memcmp(Mnemonic.data()+8, "2_sdwa", 6) != 0)
    6509             :                     break;
    6510           0 :                   Mnemonic = "v_max_i32";      // "v_max_i32_sdwa"
    6511           0 :                   return;
    6512             :                 }
    6513             :                 break;
    6514           0 :               case 'u':  // 2 strings to match.
    6515           0 :                 switch (Mnemonic[7]) {
    6516             :                 default: break;
    6517             :                 case '1':        // 1 string to match.
    6518           0 :                   if (memcmp(Mnemonic.data()+8, "6_sdwa", 6) != 0)
    6519             :                     break;
    6520           0 :                   Mnemonic = "v_max_u16";      // "v_max_u16_sdwa"
    6521           0 :                   return;
    6522             :                 case '3':        // 1 string to match.
    6523           0 :                   if (memcmp(Mnemonic.data()+8, "2_sdwa", 6) != 0)
    6524             :                     break;
    6525           0 :                   Mnemonic = "v_max_u32";      // "v_max_u32_sdwa"
    6526           0 :                   return;
    6527             :                 }
    6528             :                 break;
    6529             :               }
    6530             :               break;
    6531             :             }
    6532             :             break;
    6533             :           case 'i':      // 6 strings to match.
    6534           0 :             if (memcmp(Mnemonic.data()+4, "n_", 2) != 0)
    6535             :               break;
    6536           0 :             switch (Mnemonic[6]) {
    6537             :             default: break;
    6538           0 :             case 'f':    // 2 strings to match.
    6539           0 :               switch (Mnemonic[7]) {
    6540             :               default: break;
    6541             :               case '1':  // 1 string to match.
    6542           0 :                 if (memcmp(Mnemonic.data()+8, "6_sdwa", 6) != 0)
    6543             :                   break;
    6544           0 :                 Mnemonic = "v_min_f16";        // "v_min_f16_sdwa"
    6545           0 :                 return;
    6546             :               case '3':  // 1 string to match.
    6547           0 :                 if (memcmp(Mnemonic.data()+8, "2_sdwa", 6) != 0)
    6548             :                   break;
    6549           0 :                 Mnemonic = "v_min_f32";        // "v_min_f32_sdwa"
    6550           0 :                 return;
    6551             :               }
    6552             :               break;
    6553           0 :             case 'i':    // 2 strings to match.
    6554           0 :               switch (Mnemonic[7]) {
    6555             :               default: break;
    6556             :               case '1':  // 1 string to match.
    6557           0 :                 if (memcmp(Mnemonic.data()+8, "6_sdwa", 6) != 0)
    6558             :                   break;
    6559           0 :                 Mnemonic = "v_min_i16";        // "v_min_i16_sdwa"
    6560           0 :                 return;
    6561             :               case '3':  // 1 string to match.
    6562           0 :                 if (memcmp(Mnemonic.data()+8, "2_sdwa", 6) != 0)
    6563             :                   break;
    6564           0 :                 Mnemonic = "v_min_i32";        // "v_min_i32_sdwa"
    6565           0 :                 return;
    6566             :               }
    6567             :               break;
    6568           0 :             case 'u':    // 2 strings to match.
    6569           0 :               switch (Mnemonic[7]) {
    6570             :               default: break;
    6571             :               case '1':  // 1 string to match.
    6572           0 :                 if (memcmp(Mnemonic.data()+8, "6_sdwa", 6) != 0)
    6573             :                   break;
    6574           0 :                 Mnemonic = "v_min_u16";        // "v_min_u16_sdwa"
    6575           0 :                 return;
    6576             :               case '3':  // 1 string to match.
    6577           0 :                 if (memcmp(Mnemonic.data()+8, "2_sdwa", 6) != 0)
    6578             :                   break;
    6579           0 :                 Mnemonic = "v_min_u32";        // "v_min_u32_sdwa"
    6580           0 :                 return;
    6581             :               }
    6582             :               break;
    6583             :             }
    6584             :             break;
    6585             :           case 'o':      // 1 string to match.
    6586           0 :             if (memcmp(Mnemonic.data()+4, "v_b32_sdwa", 10) != 0)
    6587             :               break;
    6588           0 :             Mnemonic = "v_mov_b32";    // "v_mov_b32_sdwa"
    6589           0 :             return;
    6590             :           case 'u':      // 2 strings to match.
    6591           0 :             if (memcmp(Mnemonic.data()+4, "l_f", 3) != 0)
    6592             :               break;
    6593           0 :             switch (Mnemonic[7]) {
    6594             :             default: break;
    6595             :             case '1':    // 1 string to match.
    6596           0 :               if (memcmp(Mnemonic.data()+8, "6_sdwa", 6) != 0)
    6597             :                 break;
    6598           0 :               Mnemonic = "v_mul_f16";  // "v_mul_f16_sdwa"
    6599           0 :               return;
    6600             :             case '3':    // 1 string to match.
    6601           0 :               if (memcmp(Mnemonic.data()+8, "2_sdwa", 6) != 0)
    6602             :                 break;
    6603           0 :               Mnemonic = "v_mul_f32";  // "v_mul_f32_sdwa"
    6604           0 :               return;
    6605             :             }
    6606             :             break;
    6607             :           }
    6608             :           break;
    6609             :         case 'n':        // 1 string to match.
    6610           0 :           if (memcmp(Mnemonic.data()+3, "ot_b32_sdwa", 11) != 0)
    6611             :             break;
    6612           0 :           Mnemonic = "v_not_b32";      // "v_not_b32_sdwa"
    6613           0 :           return;
    6614           0 :         case 'r':        // 4 strings to match.
    6615           0 :           switch (Mnemonic[3]) {
    6616             :           default: break;
    6617             :           case 'c':      // 2 strings to match.
    6618           0 :             if (memcmp(Mnemonic.data()+4, "p_f", 3) != 0)
    6619             :               break;
    6620           0 :             switch (Mnemonic[7]) {
    6621             :             default: break;
    6622             :             case '1':    // 1 string to match.
    6623           0 :               if (memcmp(Mnemonic.data()+8, "6_sdwa", 6) != 0)
    6624             :                 break;
    6625           0 :               Mnemonic = "v_rcp_f16";  // "v_rcp_f16_sdwa"
    6626           0 :               return;
    6627             :             case '3':    // 1 string to match.
    6628           0 :               if (memcmp(Mnemonic.data()+8, "2_sdwa", 6) != 0)
    6629             :                 break;
    6630           0 :               Mnemonic = "v_rcp_f32";  // "v_rcp_f32_sdwa"
    6631           0 :               return;
    6632             :             }
    6633             :             break;
    6634             :           case 's':      // 2 strings to match.
    6635           0 :             if (memcmp(Mnemonic.data()+4, "q_f", 3) != 0)
    6636             :               break;
    6637           0 :             switch (Mnemonic[7]) {
    6638             :             default: break;
    6639             :             case '1':    // 1 string to match.
    6640           0 :               if (memcmp(Mnemonic.data()+8, "6_sdwa", 6) != 0)
    6641             :                 break;
    6642           0 :               Mnemonic = "v_rsq_f16";  // "v_rsq_f16_sdwa"
    6643           0 :               return;
    6644             :             case '3':    // 1 string to match.
    6645           0 :               if (memcmp(Mnemonic.data()+8, "2_sdwa", 6) != 0)
    6646             :                 break;
    6647           0 :               Mnemonic = "v_rsq_f32";  // "v_rsq_f32_sdwa"
    6648           0 :               return;
    6649             :             }
    6650             :             break;
    6651             :           }
    6652             :           break;
    6653           0 :         case 's':        // 7 strings to match.
    6654           0 :           switch (Mnemonic[3]) {
    6655             :           default: break;
    6656             :           case 'i':      // 2 strings to match.
    6657           0 :             if (memcmp(Mnemonic.data()+4, "n_f", 3) != 0)
    6658             :               break;
    6659           0 :             switch (Mnemonic[7]) {
    6660             :             default: break;
    6661             :             case '1':    // 1 string to match.
    6662           0 :               if (memcmp(Mnemonic.data()+8, "6_sdwa", 6) != 0)
    6663             :                 break;
    6664           0 :               Mnemonic = "v_sin_f16";  // "v_sin_f16_sdwa"
    6665           0 :               return;
    6666             :             case '3':    // 1 string to match.
    6667           0 :               if (memcmp(Mnemonic.data()+8, "2_sdwa", 6) != 0)
    6668             :                 break;
    6669           0 :               Mnemonic = "v_sin_f32";  // "v_sin_f32_sdwa"
    6670           0 :               return;
    6671             :             }
    6672             :             break;
    6673             :           case 'u':      // 5 strings to match.
    6674           0 :             if (memcmp(Mnemonic.data()+4, "b_", 2) != 0)
    6675             :               break;
    6676           0 :             switch (Mnemonic[6]) {
    6677             :             default: break;
    6678           0 :             case 'f':    // 2 strings to match.
    6679           0 :               switch (Mnemonic[7]) {
    6680             :               default: break;
    6681             :               case '1':  // 1 string to match.
    6682           0 :                 if (memcmp(Mnemonic.data()+8, "6_sdwa", 6) != 0)
    6683             :                   break;
    6684           0 :                 Mnemonic = "v_sub_f16";        // "v_sub_f16_sdwa"
    6685           0 :                 return;
    6686             :               case '3':  // 1 string to match.
    6687           0 :                 if (memcmp(Mnemonic.data()+8, "2_sdwa", 6) != 0)
    6688             :                   break;
    6689           0 :                 Mnemonic = "v_sub_f32";        // "v_sub_f32_sdwa"
    6690           0 :                 return;
    6691             :               }
    6692             :               break;
    6693             :             case 'i':    // 1 string to match.
    6694           0 :               if (memcmp(Mnemonic.data()+7, "32_sdwa", 7) != 0)
    6695             :                 break;
    6696           0 :               Mnemonic = "v_sub_i32";  // "v_sub_i32_sdwa"
    6697           0 :               return;
    6698           0 :             case 'u':    // 2 strings to match.
    6699           0 :               switch (Mnemonic[7]) {
    6700             :               default: break;
    6701             :               case '1':  // 1 string to match.
    6702           0 :                 if (memcmp(Mnemonic.data()+8, "6_sdwa", 6) != 0)
    6703             :                   break;
    6704           0 :                 Mnemonic = "v_sub_u16";        // "v_sub_u16_sdwa"
    6705           0 :                 return;
    6706             :               case '3':  // 1 string to match.
    6707           0 :                 if (memcmp(Mnemonic.data()+8, "2_sdwa", 6) != 0)
    6708             :                   break;
    6709           0 :                 Mnemonic = "v_sub_u32";        // "v_sub_u32_sdwa"
    6710           0 :                 return;
    6711             :               }
    6712             :               break;
    6713             :             }
    6714             :             break;
    6715             :           }
    6716             :           break;
    6717             :         case 'x':        // 1 string to match.
    6718           0 :           if (memcmp(Mnemonic.data()+3, "or_b32_sdwa", 11) != 0)
    6719             :             break;
    6720           0 :           Mnemonic = "v_xor_b32";      // "v_xor_b32_sdwa"
    6721           0 :           return;
    6722             :         }
    6723             :         break;
    6724             :       case 15:   // 14 strings to match.
    6725         748 :         if (memcmp(Mnemonic.data()+0, "v_", 2) != 0)
    6726             :           break;
    6727         532 :         switch (Mnemonic[2]) {
    6728             :         default: break;
    6729           0 :         case 'a':        // 2 strings to match.
    6730           0 :           switch (Mnemonic[3]) {
    6731             :           default: break;
    6732             :           case 'd':      // 1 string to match.
    6733           0 :             if (memcmp(Mnemonic.data()+4, "dc_u32_sdwa", 11) != 0)
    6734             :               break;
    6735           0 :             Mnemonic = "v_addc_u32";   // "v_addc_u32_sdwa"
    6736           0 :             return;
    6737             :           case 's':      // 1 string to match.
    6738           0 :             if (memcmp(Mnemonic.data()+4, "hr_i32_sdwa", 11) != 0)
    6739             :               break;
    6740           0 :             Mnemonic = "v_ashr_i32";   // "v_ashr_i32_sdwa"
    6741           0 :             return;
    6742             :           }
    6743             :           break;
    6744             :         case 'c':        // 2 strings to match.
    6745         198 :           if (memcmp(Mnemonic.data()+3, "eil_f", 5) != 0)
    6746             :             break;
    6747           0 :           switch (Mnemonic[8]) {
    6748             :           default: break;
    6749             :           case '1':      // 1 string to match.
    6750           0 :             if (memcmp(Mnemonic.data()+9, "6_sdwa", 6) != 0)
    6751             :               break;
    6752           0 :             Mnemonic = "v_ceil_f16";   // "v_ceil_f16_sdwa"
    6753           0 :             return;
    6754             :           case '3':      // 1 string to match.
    6755           0 :             if (memcmp(Mnemonic.data()+9, "2_sdwa", 6) != 0)
    6756             :               break;
    6757           0 :             Mnemonic = "v_ceil_f32";   // "v_ceil_f32_sdwa"
    6758           0 :             return;
    6759             :           }
    6760             :           break;
    6761           6 :         case 'f':        // 4 strings to match.
    6762           6 :           switch (Mnemonic[3]) {
    6763             :           default: break;
    6764           0 :           case 'f':      // 3 strings to match.
    6765           0 :             if (Mnemonic[4] != 'b')
    6766             :               break;
    6767           0 :             switch (Mnemonic[5]) {
    6768             :             default: break;
    6769           0 :             case 'h':    // 2 strings to match.
    6770           0 :               if (Mnemonic[6] != '_')
    6771             :                 break;
    6772           0 :               switch (Mnemonic[7]) {
    6773             :               default: break;
    6774             :               case 'i':  // 1 string to match.
    6775           0 :                 if (memcmp(Mnemonic.data()+8, "32_sdwa", 7) != 0)
    6776             :                   break;
    6777           0 :                 Mnemonic = "v_ffbh_i32";       // "v_ffbh_i32_sdwa"
    6778           0 :                 return;
    6779             :               case 'u':  // 1 string to match.
    6780           0 :                 if (memcmp(Mnemonic.data()+8, "32_sdwa", 7) != 0)
    6781             :                   break;
    6782           0 :                 Mnemonic = "v_ffbh_u32";       // "v_ffbh_u32_sdwa"
    6783           0 :                 return;
    6784             :               }
    6785             :               break;
    6786             :             case 'l':    // 1 string to match.
    6787           0 :               if (memcmp(Mnemonic.data()+6, "_b32_sdwa", 9) != 0)
    6788             :                 break;
    6789           0 :               Mnemonic = "v_ffbl_b32";         // "v_ffbl_b32_sdwa"
    6790           0 :               return;
    6791             :             }
    6792             :             break;
    6793             :           case 'm':      // 1 string to match.
    6794           6 :             if (memcmp(Mnemonic.data()+4, "ac_f32_sdwa", 11) != 0)
    6795             :               break;
    6796           0 :             Mnemonic = "v_fmac_f32";   // "v_fmac_f32_sdwa"
    6797           0 :             return;
    6798             :           }
    6799             :           break;
    6800             :         case 'l':        // 2 strings to match.
    6801           4 :           if (memcmp(Mnemonic.data()+3, "sh", 2) != 0)
    6802             :             break;
    6803           0 :           switch (Mnemonic[5]) {
    6804             :           default: break;
    6805             :           case 'l':      // 1 string to match.
    6806           0 :             if (memcmp(Mnemonic.data()+6, "_b32_sdwa", 9) != 0)
    6807             :               break;
    6808           0 :             Mnemonic = "v_lshl_b32";   // "v_lshl_b32_sdwa"
    6809           0 :             return;
    6810             :           case 'r':      // 1 string to match.
    6811           0 :             if (memcmp(Mnemonic.data()+6, "_b32_sdwa", 9) != 0)
    6812             :               break;
    6813           0 :             Mnemonic = "v_lshr_b32";   // "v_lshr_b32_sdwa"
    6814           0 :             return;
    6815             :           }
    6816             :           break;
    6817         105 :         case 's':        // 3 strings to match.
    6818         105 :           switch (Mnemonic[3]) {
    6819             :           default: break;
    6820             :           case 'q':      // 2 strings to match.
    6821           0 :             if (memcmp(Mnemonic.data()+4, "rt_f", 4) != 0)
    6822             :               break;
    6823           0 :             switch (Mnemonic[8]) {
    6824             :             default: break;
    6825             :             case '1':    // 1 string to match.
    6826           0 :               if (memcmp(Mnemonic.data()+9, "6_sdwa", 6) != 0)
    6827             :                 break;
    6828           0 :               Mnemonic = "v_sqrt_f16";         // "v_sqrt_f16_sdwa"
    6829           0 :               return;
    6830             :             case '3':    // 1 string to match.
    6831           0 :               if (memcmp(Mnemonic.data()+9, "2_sdwa", 6) != 0)
    6832             :                 break;
    6833           0 :               Mnemonic = "v_sqrt_f32";         // "v_sqrt_f32_sdwa"
    6834           0 :               return;
    6835             :             }
    6836             :             break;
    6837             :           case 'u':      // 1 string to match.
    6838          92 :             if (memcmp(Mnemonic.data()+4, "bb_u32_sdwa", 11) != 0)
    6839             :               break;
    6840           0 :             Mnemonic = "v_subb_u32";   // "v_subb_u32_sdwa"
    6841           0 :             return;
    6842             :           }
    6843             :           break;
    6844             :         case 'x':        // 1 string to match.
    6845           0 :           if (memcmp(Mnemonic.data()+3, "nor_b32_sdwa", 12) != 0)
    6846             :             break;
    6847           0 :           Mnemonic = "v_xnor_b32";     // "v_xnor_b32_sdwa"
    6848           0 :           return;
    6849             :         }
    6850             :         break;
    6851             :       case 16:   // 24 strings to match.
    6852        1845 :         if (memcmp(Mnemonic.data()+0, "v_", 2) != 0)
    6853             :           break;
    6854        1701 :         switch (Mnemonic[2]) {
    6855             :         default: break;
    6856             :         case 'b':        // 1 string to match.
    6857           0 :           if (memcmp(Mnemonic.data()+3, "frev_b32_sdwa", 13) != 0)
    6858             :             break;
    6859           0 :           Mnemonic = "v_bfrev_b32";    // "v_bfrev_b32_sdwa"
    6860           0 :           return;
    6861             :         case 'c':        // 14 strings to match.
    6862         747 :           if (memcmp(Mnemonic.data()+3, "mp_", 3) != 0)
    6863             :             break;
    6864           0 :           switch (Mnemonic[6]) {
    6865             :           default: break;
    6866           0 :           case 'f':      // 6 strings to match.
    6867           0 :             if (Mnemonic[7] != '_')
    6868             :               break;
    6869           0 :             switch (Mnemonic[8]) {
    6870             :             default: break;
    6871           0 :             case 'f':    // 2 strings to match.
    6872           0 :               switch (Mnemonic[9]) {
    6873             :               default: break;
    6874             :               case '1':  // 1 string to match.
    6875           0 :                 if (memcmp(Mnemonic.data()+10, "6_sdwa", 6) != 0)
    6876             :                   break;
    6877           0 :                 Mnemonic = "v_cmp_f_f16";      // "v_cmp_f_f16_sdwa"
    6878           0 :                 return;
    6879             :               case '3':  // 1 string to match.
    6880           0 :                 if (memcmp(Mnemonic.data()+10, "2_sdwa", 6) != 0)
    6881             :                   break;
    6882           0 :                 Mnemonic = "v_cmp_f_f32";      // "v_cmp_f_f32_sdwa"
    6883           0 :                 return;
    6884             :               }
    6885             :               break;
    6886           0 :             case 'i':    // 2 strings to match.
    6887           0 :               switch (Mnemonic[9]) {
    6888             :               default: break;
    6889             :               case '1':  // 1 string to match.
    6890           0 :                 if (memcmp(Mnemonic.data()+10, "6_sdwa", 6) != 0)
    6891             :                   break;
    6892           0 :                 Mnemonic = "v_cmp_f_i16";      // "v_cmp_f_i16_sdwa"
    6893           0 :                 return;
    6894             :               case '3':  // 1 string to match.
    6895           0 :                 if (memcmp(Mnemonic.data()+10, "2_sdwa", 6) != 0)
    6896             :                   break;
    6897           0 :                 Mnemonic = "v_cmp_f_i32";      // "v_cmp_f_i32_sdwa"
    6898           0 :                 return;
    6899             :               }
    6900             :               break;
    6901           0 :             case 'u':    // 2 strings to match.
    6902           0 :               switch (Mnemonic[9]) {
    6903             :               default: break;
    6904             :               case '1':  // 1 string to match.
    6905           0 :                 if (memcmp(Mnemonic.data()+10, "6_sdwa", 6) != 0)
    6906             :                   break;
    6907           0 :                 Mnemonic = "v_cmp_f_u16";      // "v_cmp_f_u16_sdwa"
    6908           0 :                 return;
    6909             :               case '3':  // 1 string to match.
    6910           0 :                 if (memcmp(Mnemonic.data()+10, "2_sdwa", 6) != 0)
    6911             :                   break;
    6912           0 :                 Mnemonic = "v_cmp_f_u32";      // "v_cmp_f_u32_sdwa"
    6913           0 :                 return;
    6914             :               }
    6915             :               break;
    6916             :             }
    6917             :             break;
    6918             :           case 'o':      // 2 strings to match.
    6919           0 :             if (memcmp(Mnemonic.data()+7, "_f", 2) != 0)
    6920             :               break;
    6921           0 :             switch (Mnemonic[9]) {
    6922             :             default: break;
    6923             :             case '1':    // 1 string to match.
    6924           0 :               if (memcmp(Mnemonic.data()+10, "6_sdwa", 6) != 0)
    6925             :                 break;
    6926           0 :               Mnemonic = "v_cmp_o_f16";        // "v_cmp_o_f16_sdwa"
    6927           0 :               return;
    6928             :             case '3':    // 1 string to match.
    6929           0 :               if (memcmp(Mnemonic.data()+10, "2_sdwa", 6) != 0)
    6930             :                 break;
    6931           0 :               Mnemonic = "v_cmp_o_f32";        // "v_cmp_o_f32_sdwa"
    6932           0 :               return;
    6933             :             }
    6934             :             break;
    6935           0 :           case 't':      // 4 strings to match.
    6936           0 :             if (Mnemonic[7] != '_')
    6937             :               break;
    6938           0 :             switch (Mnemonic[8]) {
    6939             :             default: break;
    6940           0 :             case 'i':    // 2 strings to match.
    6941           0 :               switch (Mnemonic[9]) {
    6942             :               default: break;
    6943             :               case '1':  // 1 string to match.
    6944           0 :                 if (memcmp(Mnemonic.data()+10, "6_sdwa", 6) != 0)
    6945             :                   break;
    6946           0 :                 Mnemonic = "v_cmp_t_i16";      // "v_cmp_t_i16_sdwa"
    6947           0 :                 return;
    6948             :               case '3':  // 1 string to match.
    6949           0 :                 if (memcmp(Mnemonic.data()+10, "2_sdwa", 6) != 0)
    6950             :                   break;
    6951           0 :                 Mnemonic = "v_cmp_t_i32";      // "v_cmp_t_i32_sdwa"
    6952           0 :                 return;
    6953             :               }
    6954             :               break;
    6955           0 :             case 'u':    // 2 strings to match.
    6956           0 :               switch (Mnemonic[9]) {
    6957             :               default: break;
    6958             :               case '1':  // 1 string to match.
    6959           0 :                 if (memcmp(Mnemonic.data()+10, "6_sdwa", 6) != 0)
    6960             :                   break;
    6961           0 :                 Mnemonic = "v_cmp_t_u16";      // "v_cmp_t_u16_sdwa"
    6962           0 :                 return;
    6963             :               case '3':  // 1 string to match.
    6964           0 :                 if (memcmp(Mnemonic.data()+10, "2_sdwa", 6) != 0)
    6965             :                   break;
    6966           0 :                 Mnemonic = "v_cmp_t_u32";      // "v_cmp_t_u32_sdwa"
    6967           0 :                 return;
    6968             :               }
    6969             :               break;
    6970             :             }
    6971             :             break;
    6972             :           case 'u':      // 2 strings to match.
    6973           0 :             if (memcmp(Mnemonic.data()+7, "_f", 2) != 0)
    6974             :               break;
    6975           0 :             switch (Mnemonic[9]) {
    6976             :             default: break;
    6977             :             case '1':    // 1 string to match.
    6978           0 :               if (memcmp(Mnemonic.data()+10, "6_sdwa", 6) != 0)
    6979             :                 break;
    6980           0 :               Mnemonic = "v_cmp_u_f16";        // "v_cmp_u_f16_sdwa"
    6981           0 :               return;
    6982             :             case '3':    // 1 string to match.
    6983           0 :               if (memcmp(Mnemonic.data()+10, "2_sdwa", 6) != 0)
    6984             :                 break;
    6985           0 :               Mnemonic = "v_cmp_u_f32";        // "v_cmp_u_f32_sdwa"
    6986           0 :               return;
    6987             :             }
    6988             :             break;
    6989             :           }
    6990             :           break;
    6991         227 :         case 'f':        // 4 strings to match.
    6992         227 :           switch (Mnemonic[3]) {
    6993             :           default: break;
    6994             :           case 'l':      // 2 strings to match.
    6995           0 :             if (memcmp(Mnemonic.data()+4, "oor_f", 5) != 0)
    6996             :               break;
    6997           0 :             switch (Mnemonic[9]) {
    6998             :             default: break;
    6999             :             case '1':    // 1 string to match.
    7000           0 :               if (memcmp(Mnemonic.data()+10, "6_sdwa", 6) != 0)
    7001             :                 break;
    7002           0 :               Mnemonic = "v_floor_f16";        // "v_floor_f16_sdwa"
    7003           0 :               return;
    7004             :             case '3':    // 1 string to match.
    7005           0 :               if (memcmp(Mnemonic.data()+10, "2_sdwa", 6) != 0)
    7006             :                 break;
    7007           0 :               Mnemonic = "v_floor_f32";        // "v_floor_f32_sdwa"
    7008           0 :               return;
    7009             :             }
    7010             :             break;
    7011             :           case 'r':      // 2 strings to match.
    7012         221 :             if (memcmp(Mnemonic.data()+4, "act_f", 5) != 0)
    7013             :               break;
    7014           0 :             switch (Mnemonic[9]) {
    7015             :             default: break;
    7016             :             case '1':    // 1 string to match.
    7017           0 :               if (memcmp(Mnemonic.data()+10, "6_sdwa", 6) != 0)
    7018             :                 break;
    7019           0 :               Mnemonic = "v_fract_f16";        // "v_fract_f16_sdwa"
    7020           0 :               return;
    7021             :             case '3':    // 1 string to match.
    7022           0 :               if (memcmp(Mnemonic.data()+10, "2_sdwa", 6) != 0)
    7023             :                 break;
    7024           0 :               Mnemonic = "v_fract_f32";        // "v_fract_f32_sdwa"
    7025           0 :               return;
    7026             :             }
    7027             :             break;
    7028             :           }
    7029             :           break;
    7030             :         case 'l':        // 1 string to match.
    7031         114 :           if (memcmp(Mnemonic.data()+3, "dexp_f16_sdwa", 13) != 0)
    7032             :             break;
    7033           0 :           Mnemonic = "v_ldexp_f16";    // "v_ldexp_f16_sdwa"
    7034           0 :           return;
    7035             :         case 'r':        // 2 strings to match.
    7036           4 :           if (memcmp(Mnemonic.data()+3, "ndne_f", 6) != 0)
    7037             :             break;
    7038           0 :           switch (Mnemonic[9]) {
    7039             :           default: break;
    7040             :           case '1':      // 1 string to match.
    7041           0 :             if (memcmp(Mnemonic.data()+10, "6_sdwa", 6) != 0)
    7042             :               break;
    7043           0 :             Mnemonic = "v_rndne_f16";  // "v_rndne_f16_sdwa"
    7044           0 :             return;
    7045             :           case '3':      // 1 string to match.
    7046           0 :             if (memcmp(Mnemonic.data()+10, "2_sdwa", 6) != 0)
    7047             :               break;
    7048           0 :             Mnemonic = "v_rndne_f32";  // "v_rndne_f32_sdwa"
    7049           0 :             return;
    7050             :           }
    7051             :           break;
    7052             :         case 't':        // 2 strings to match.
    7053           0 :           if (memcmp(Mnemonic.data()+3, "runc_f", 6) != 0)
    7054             :             break;
    7055           0 :           switch (Mnemonic[9]) {
    7056             :           default: break;
    7057             :           case '1':      // 1 string to match.
    7058           0 :             if (memcmp(Mnemonic.data()+10, "6_sdwa", 6) != 0)
    7059             :               break;
    7060           0 :             Mnemonic = "v_trunc_f16";  // "v_trunc_f16_sdwa"
    7061           0 :             return;
    7062             :           case '3':      // 1 string to match.
    7063           0 :             if (memcmp(Mnemonic.data()+10, "2_sdwa", 6) != 0)
    7064             :               break;
    7065           0 :             Mnemonic = "v_trunc_f32";  // "v_trunc_f32_sdwa"
    7066           0 :             return;
    7067             :           }
    7068             :           break;
    7069             :         }
    7070             :         break;
    7071             :       case 17:   // 59 strings to match.
    7072         356 :         if (memcmp(Mnemonic.data()+0, "v_", 2) != 0)
    7073             :           break;
    7074         258 :         switch (Mnemonic[2]) {
    7075             :         default: break;
    7076             :         case 'c':        // 53 strings to match.
    7077         206 :           if (memcmp(Mnemonic.data()+3, "mp", 2) != 0)
    7078             :             break;
    7079           0 :           switch (Mnemonic[5]) {
    7080             :           default: break;
    7081           0 :           case '_':      // 36 strings to match.
    7082           0 :             switch (Mnemonic[6]) {
    7083             :             default: break;
    7084             :             case 'e':    // 6 strings to match.
    7085           0 :               if (memcmp(Mnemonic.data()+7, "q_", 2) != 0)
    7086             :                 break;
    7087           0 :               switch (Mnemonic[9]) {
    7088             :               default: break;
    7089           0 :               case 'f':  // 2 strings to match.
    7090           0 :                 switch (Mnemonic[10]) {
    7091             :                 default: break;
    7092             :                 case '1':        // 1 string to match.
    7093           0 :                   if (memcmp(Mnemonic.data()+11, "6_sdwa", 6) != 0)
    7094             :                     break;
    7095           0 :                   Mnemonic = "v_cmp_eq_f16";   // "v_cmp_eq_f16_sdwa"
    7096           0 :                   return;
    7097             :                 case '3':        // 1 string to match.
    7098           0 :                   if (memcmp(Mnemonic.data()+11, "2_sdwa", 6) != 0)
    7099             :                     break;
    7100           0 :                   Mnemonic = "v_cmp_eq_f32";   // "v_cmp_eq_f32_sdwa"
    7101           0 :                   return;
    7102             :                 }
    7103             :                 break;
    7104           0 :               case 'i':  // 2 strings to match.
    7105           0 :                 switch (Mnemonic[10]) {
    7106             :                 default: break;
    7107             :                 case '1':        // 1 string to match.
    7108           0 :                   if (memcmp(Mnemonic.data()+11, "6_sdwa", 6) != 0)
    7109             :                     break;
    7110           0 :                   Mnemonic = "v_cmp_eq_i16";   // "v_cmp_eq_i16_sdwa"
    7111           0 :                   return;
    7112             :                 case '3':        // 1 string to match.
    7113           0 :                   if (memcmp(Mnemonic.data()+11, "2_sdwa", 6) != 0)
    7114             :                     break;
    7115           0 :                   Mnemonic = "v_cmp_eq_i32";   // "v_cmp_eq_i32_sdwa"
    7116           0 :                   return;
    7117             :                 }
    7118             :                 break;
    7119           0 :               case 'u':  // 2 strings to match.
    7120           0 :                 switch (Mnemonic[10]) {
    7121             :                 default: break;
    7122             :                 case '1':        // 1 string to match.
    7123           0 :                   if (memcmp(Mnemonic.data()+11, "6_sdwa", 6) != 0)
    7124             :                     break;
    7125           0 :                   Mnemonic = "v_cmp_eq_u16";   // "v_cmp_eq_u16_sdwa"
    7126           0 :                   return;
    7127             :                 case '3':        // 1 string to match.
    7128           0 :                   if (memcmp(Mnemonic.data()+11, "2_sdwa", 6) != 0)
    7129             :                     break;
    7130           0 :                   Mnemonic = "v_cmp_eq_u32";   // "v_cmp_eq_u32_sdwa"
    7131           0 :                   return;
    7132             :                 }
    7133             :                 break;
    7134             :               }
    7135             :               break;
    7136           0 :             case 'g':    // 12 strings to match.
    7137           0 :               switch (Mnemonic[7]) {
    7138             :               default: break;
    7139           0 :               case 'e':  // 6 strings to match.
    7140           0 :                 if (Mnemonic[8] != '_')
    7141             :                   break;
    7142           0 :                 switch (Mnemonic[9]) {
    7143             :                 default: break;
    7144           0 :                 case 'f':        // 2 strings to match.
    7145           0 :                   switch (Mnemonic[10]) {
    7146             :                   default: break;
    7147             :                   case '1':      // 1 string to match.
    7148           0 :                     if (memcmp(Mnemonic.data()+11, "6_sdwa", 6) != 0)
    7149             :                       break;
    7150           0 :                     Mnemonic = "v_cmp_ge_f16";         // "v_cmp_ge_f16_sdwa"
    7151           0 :                     return;
    7152             :                   case '3':      // 1 string to match.
    7153           0 :                     if (memcmp(Mnemonic.data()+11, "2_sdwa", 6) != 0)
    7154             :                       break;
    7155           0 :                     Mnemonic = "v_cmp_ge_f32";         // "v_cmp_ge_f32_sdwa"
    7156           0 :                     return;
    7157             :                   }
    7158             :                   break;
    7159           0 :                 case 'i':        // 2 strings to match.
    7160           0 :                   switch (Mnemonic[10]) {
    7161             :                   default: break;
    7162             :                   case '1':      // 1 string to match.
    7163           0 :                     if (memcmp(Mnemonic.data()+11, "6_sdwa", 6) != 0)
    7164             :                       break;
    7165           0 :                     Mnemonic = "v_cmp_ge_i16";         // "v_cmp_ge_i16_sdwa"
    7166           0 :                     return;
    7167             :                   case '3':      // 1 string to match.
    7168           0 :                     if (memcmp(Mnemonic.data()+11, "2_sdwa", 6) != 0)
    7169             :                       break;
    7170           0 :                     Mnemonic = "v_cmp_ge_i32";         // "v_cmp_ge_i32_sdwa"
    7171           0 :                     return;
    7172             :                   }
    7173             :                   break;
    7174           0 :                 case 'u':        // 2 strings to match.
    7175           0 :                   switch (Mnemonic[10]) {
    7176             :                   default: break;
    7177             :                   case '1':      // 1 string to match.
    7178           0 :                     if (memcmp(Mnemonic.data()+11, "6_sdwa", 6) != 0)
    7179             :                       break;
    7180           0 :                     Mnemonic = "v_cmp_ge_u16";         // "v_cmp_ge_u16_sdwa"
    7181           0 :                     return;
    7182             :                   case '3':      // 1 string to match.
    7183           0 :                     if (memcmp(Mnemonic.data()+11, "2_sdwa", 6) != 0)
    7184             :                       break;
    7185           0 :                     Mnemonic = "v_cmp_ge_u32";         // "v_cmp_ge_u32_sdwa"
    7186           0 :                     return;
    7187             :                   }
    7188             :                   break;
    7189             :                 }
    7190             :                 break;
    7191           0 :               case 't':  // 6 strings to match.
    7192           0 :                 if (Mnemonic[8] != '_')
    7193             :                   break;
    7194           0 :                 switch (Mnemonic[9]) {
    7195             :                 default: break;
    7196           0 :                 case 'f':        // 2 strings to match.
    7197           0 :                   switch (Mnemonic[10]) {
    7198             :                   default: break;
    7199             :                   case '1':      // 1 string to match.
    7200           0 :                     if (memcmp(Mnemonic.data()+11, "6_sdwa", 6) != 0)
    7201             :                       break;
    7202           0 :                     Mnemonic = "v_cmp_gt_f16";         // "v_cmp_gt_f16_sdwa"
    7203           0 :                     return;
    7204             :                   case '3':      // 1 string to match.
    7205           0 :                     if (memcmp(Mnemonic.data()+11, "2_sdwa", 6) != 0)
    7206             :                       break;
    7207           0 :                     Mnemonic = "v_cmp_gt_f32";         // "v_cmp_gt_f32_sdwa"
    7208           0 :                     return;
    7209             :                   }
    7210             :                   break;
    7211           0 :                 case 'i':        // 2 strings to match.
    7212           0 :                   switch (Mnemonic[10]) {
    7213             :                   default: break;
    7214             :                   case '1':      // 1 string to match.
    7215           0 :                     if (memcmp(Mnemonic.data()+11, "6_sdwa", 6) != 0)
    7216             :                       break;
    7217           0 :                     Mnemonic = "v_cmp_gt_i16";         // "v_cmp_gt_i16_sdwa"
    7218           0 :                     return;
    7219             :                   case '3':      // 1 string to match.
    7220           0 :                     if (memcmp(Mnemonic.data()+11, "2_sdwa", 6) != 0)
    7221             :                       break;
    7222           0 :                     Mnemonic = "v_cmp_gt_i32";         // "v_cmp_gt_i32_sdwa"
    7223           0 :                     return;
    7224             :                   }
    7225             :                   break;
    7226           0 :                 case 'u':        // 2 strings to match.
    7227           0 :                   switch (Mnemonic[10]) {
    7228             :                   default: break;
    7229             :                   case '1':      // 1 string to match.
    7230           0 :                     if (memcmp(Mnemonic.data()+11, "6_sdwa", 6) != 0)
    7231             :                       break;
    7232           0 :                     Mnemonic = "v_cmp_gt_u16";         // "v_cmp_gt_u16_sdwa"
    7233           0 :                     return;
    7234             :                   case '3':      // 1 string to match.
    7235           0 :                     if (memcmp(Mnemonic.data()+11, "2_sdwa", 6) != 0)
    7236             :                       break;
    7237           0 :                     Mnemonic = "v_cmp_gt_u32";         // "v_cmp_gt_u32_sdwa"
    7238           0 :                     return;
    7239             :                   }
    7240             :                   break;
    7241             :                 }
    7242             :                 break;
    7243             :               }
    7244             :               break;
    7245           0 :             case 'l':    // 14 strings to match.
    7246           0 :               switch (Mnemonic[7]) {
    7247             :               default: break;
    7248           0 :               case 'e':  // 6 strings to match.
    7249           0 :                 if (Mnemonic[8] != '_')
    7250             :                   break;
    7251           0 :                 switch (Mnemonic[9]) {
    7252             :                 default: break;
    7253           0 :                 case 'f':        // 2 strings to match.
    7254           0 :                   switch (Mnemonic[10]) {
    7255             :                   default: break;
    7256             :                   case '1':      // 1 string to match.
    7257           0 :                     if (memcmp(Mnemonic.data()+11, "6_sdwa", 6) != 0)
    7258             :                       break;
    7259           0 :                     Mnemonic = "v_cmp_le_f16";         // "v_cmp_le_f16_sdwa"
    7260           0 :                     return;
    7261             :                   case '3':      // 1 string to match.
    7262           0 :                     if (memcmp(Mnemonic.data()+11, "2_sdwa", 6) != 0)
    7263             :                       break;
    7264           0 :                     Mnemonic = "v_cmp_le_f32";         // "v_cmp_le_f32_sdwa"
    7265           0 :                     return;
    7266             :                   }
    7267             :                   break;
    7268           0 :                 case 'i':        // 2 strings to match.
    7269           0 :                   switch (Mnemonic[10]) {
    7270             :                   default: break;
    7271             :                   case '1':      // 1 string to match.
    7272           0 :                     if (memcmp(Mnemonic.data()+11, "6_sdwa", 6) != 0)
    7273             :                       break;
    7274           0 :                     Mnemonic = "v_cmp_le_i16";         // "v_cmp_le_i16_sdwa"
    7275           0 :                     return;
    7276             :                   case '3':      // 1 string to match.
    7277           0 :                     if (memcmp(Mnemonic.data()+11, "2_sdwa", 6) != 0)
    7278             :                       break;
    7279           0 :                     Mnemonic = "v_cmp_le_i32";         // "v_cmp_le_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             :                   case '1':      // 1 string to match.
    7287           0 :                     if (memcmp(Mnemonic.data()+11, "6_sdwa", 6) != 0)
    7288             :                       break;
    7289           0 :                     Mnemonic = "v_cmp_le_u16";         // "v_cmp_le_u16_sdwa"
    7290           0 :                     return;
    7291             :                   case '3':      // 1 string to match.
    7292           0 :                     if (memcmp(Mnemonic.data()+11, "2_sdwa", 6) != 0)
    7293             :                       break;
    7294           0 :                     Mnemonic = "v_cmp_le_u32";         // "v_cmp_le_u32_sdwa"
    7295           0 :                     return;
    7296             :                   }
    7297             :                   break;
    7298             :                 }
    7299             :                 break;
    7300             :               case 'g':  // 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             :                 case '1':        // 1 string to match.
    7306           0 :                   if (memcmp(Mnemonic.data()+11, "6_sdwa", 6) != 0)
    7307             :                     break;
    7308           0 :                   Mnemonic = "v_cmp_lg_f16";   // "v_cmp_lg_f16_sdwa"
    7309           0 :                   return;
    7310             :                 case '3':        // 1 string to match.
    7311           0 :                   if (memcmp(Mnemonic.data()+11, "2_sdwa", 6) != 0)
    7312             :                     break;
    7313           0 :                   Mnemonic = "v_cmp_lg_f32";   // "v_cmp_lg_f32_sdwa"
    7314           0 :                   return;
    7315             :                 }
    7316             :                 break;
    7317           0 :               case 't':  // 6 strings to match.
    7318           0 :                 if (Mnemonic[8] != '_')
    7319             :                   break;
    7320           0 :                 switch (Mnemonic[9]) {
    7321             :                 default: break;
    7322           0 :                 case 'f':        // 2 strings to match.
    7323           0 :                   switch (Mnemonic[10]) {
    7324             :                   default: break;
    7325             :                   case '1':      // 1 string to match.
    7326           0 :                     if (memcmp(Mnemonic.data()+11, "6_sdwa", 6) != 0)
    7327             :                       break;
    7328           0 :                     Mnemonic = "v_cmp_lt_f16";         // "v_cmp_lt_f16_sdwa"
    7329           0 :                     return;
    7330             :                   case '3':      // 1 string to match.
    7331           0 :                     if (memcmp(Mnemonic.data()+11, "2_sdwa", 6) != 0)
    7332             :                       break;
    7333           0 :                     Mnemonic = "v_cmp_lt_f32";         // "v_cmp_lt_f32_sdwa"
    7334           0 :                     return;
    7335             :                   }
    7336             :                   break;
    7337           0 :                 case 'i':        // 2 strings to match.
    7338           0 :                   switch (Mnemonic[10]) {
    7339             :                   default: break;
    7340             :                   case '1':      // 1 string to match.
    7341           0 :                     if (memcmp(Mnemonic.data()+11, "6_sdwa", 6) != 0)
    7342             :                       break;
    7343           0 :                     Mnemonic = "v_cmp_lt_i16";         // "v_cmp_lt_i16_sdwa"
    7344           0 :                     return;
    7345             :                   case '3':      // 1 string to match.
    7346           0 :                     if (memcmp(Mnemonic.data()+11, "2_sdwa", 6) != 0)
    7347             :                       break;
    7348           0 :                     Mnemonic = "v_cmp_lt_i32";         // "v_cmp_lt_i32_sdwa"
    7349           0 :                     return;
    7350             :                   }
    7351             :                   break;
    7352           0 :                 case 'u':        // 2 strings to match.
    7353           0 :                   switch (Mnemonic[10]) {
    7354             :                   default: break;
    7355             :                   case '1':      // 1 string to match.
    7356           0 :                     if (memcmp(Mnemonic.data()+11, "6_sdwa", 6) != 0)
    7357             :                       break;
    7358           0 :                     Mnemonic = "v_cmp_lt_u16";         // "v_cmp_lt_u16_sdwa"
    7359           0 :                     return;
    7360             :                   case '3':      // 1 string to match.
    7361           0 :                     if (memcmp(Mnemonic.data()+11, "2_sdwa", 6) != 0)
    7362             :                       break;
    7363           0 :                     Mnemonic = "v_cmp_lt_u32";         // "v_cmp_lt_u32_sdwa"
    7364           0 :                     return;
    7365             :                   }
    7366             :                   break;
    7367             :                 }
    7368             :                 break;
    7369             :               }
    7370             :               break;
    7371             :             case 'n':    // 4 strings to match.
    7372           0 :               if (memcmp(Mnemonic.data()+7, "e_", 2) != 0)
    7373             :                 break;
    7374           0 :               switch (Mnemonic[9]) {
    7375             :               default: break;
    7376           0 :               case 'i':  // 2 strings to match.
    7377           0 :                 switch (Mnemonic[10]) {
    7378             :                 default: break;
    7379             :                 case '1':        // 1 string to match.
    7380           0 :                   if (memcmp(Mnemonic.data()+11, "6_sdwa", 6) != 0)
    7381             :                     break;
    7382           0 :                   Mnemonic = "v_cmp_ne_i16";   // "v_cmp_ne_i16_sdwa"
    7383           0 :                   return;
    7384             :                 case '3':        // 1 string to match.
    7385           0 :                   if (memcmp(Mnemonic.data()+11, "2_sdwa", 6) != 0)
    7386             :                     break;
    7387           0 :                   Mnemonic = "v_cmp_ne_i32";   // "v_cmp_ne_i32_sdwa"
    7388           0 :                   return;
    7389             :                 }
    7390             :                 break;
    7391           0 :               case 'u':  // 2 strings to match.
    7392           0 :                 switch (Mnemonic[10]) {
    7393             :                 default: break;
    7394             :                 case '1':        // 1 string to match.
    7395           0 :                   if (memcmp(Mnemonic.data()+11, "6_sdwa", 6) != 0)
    7396             :                     break;
    7397           0 :                   Mnemonic = "v_cmp_ne_u16";   // "v_cmp_ne_u16_sdwa"
    7398           0 :                   return;
    7399             :                 case '3':        // 1 string to match.
    7400           0 :                   if (memcmp(Mnemonic.data()+11, "2_sdwa", 6) != 0)
    7401             :                     break;
    7402           0 :                   Mnemonic = "v_cmp_ne_u32";   // "v_cmp_ne_u32_sdwa"
    7403           0 :                   return;
    7404             :                 }
    7405             :                 break;
    7406             :               }
    7407             :               break;
    7408             :             }
    7409             :             break;
    7410           0 :           case 's':      // 3 strings to match.
    7411           0 :             if (Mnemonic[6] != '_')
    7412             :               break;
    7413           0 :             switch (Mnemonic[7]) {
    7414             :             default: break;
    7415             :             case 'f':    // 1 string to match.
    7416           0 :               if (memcmp(Mnemonic.data()+8, "_f32_sdwa", 9) != 0)
    7417             :                 break;
    7418           0 :               Mnemonic = "v_cmps_f_f32";       // "v_cmps_f_f32_sdwa"
    7419           0 :               return;
    7420             :             case 'o':    // 1 string to match.
    7421           0 :               if (memcmp(Mnemonic.data()+8, "_f32_sdwa", 9) != 0)
    7422             :                 break;
    7423           0 :               Mnemonic = "v_cmps_o_f32";       // "v_cmps_o_f32_sdwa"
    7424           0 :               return;
    7425             :             case 'u':    // 1 string to match.
    7426           0 :               if (memcmp(Mnemonic.data()+8, "_f32_sdwa", 9) != 0)
    7427             :                 break;
    7428           0 :               Mnemonic = "v_cmps_u_f32";       // "v_cmps_u_f32_sdwa"
    7429           0 :               return;
    7430             :             }
    7431             :             break;
    7432           0 :           case 'x':      // 14 strings to match.
    7433           0 :             if (Mnemonic[6] != '_')
    7434             :               break;
    7435           0 :             switch (Mnemonic[7]) {
    7436             :             default: break;
    7437           0 :             case 'f':    // 6 strings to match.
    7438           0 :               if (Mnemonic[8] != '_')
    7439             :                 break;
    7440           0 :               switch (Mnemonic[9]) {
    7441             :               default: break;
    7442           0 :               case 'f':  // 2 strings to match.
    7443           0 :                 switch (Mnemonic[10]) {
    7444             :                 default: break;
    7445             :                 case '1':        // 1 string to match.
    7446           0 :                   if (memcmp(Mnemonic.data()+11, "6_sdwa", 6) != 0)
    7447             :                     break;
    7448           0 :                   Mnemonic = "v_cmpx_f_f16";   // "v_cmpx_f_f16_sdwa"
    7449           0 :                   return;
    7450             :                 case '3':        // 1 string to match.
    7451           0 :                   if (memcmp(Mnemonic.data()+11, "2_sdwa", 6) != 0)
    7452             :                     break;
    7453           0 :                   Mnemonic = "v_cmpx_f_f32";   // "v_cmpx_f_f32_sdwa"
    7454           0 :                   return;
    7455             :                 }
    7456             :                 break;
    7457           0 :               case 'i':  // 2 strings to match.
    7458           0 :                 switch (Mnemonic[10]) {
    7459             :                 default: break;
    7460             :                 case '1':        // 1 string to match.
    7461           0 :                   if (memcmp(Mnemonic.data()+11, "6_sdwa", 6) != 0)
    7462             :                     break;
    7463           0 :                   Mnemonic = "v_cmpx_f_i16";   // "v_cmpx_f_i16_sdwa"
    7464           0 :                   return;
    7465             :                 case '3':        // 1 string to match.
    7466           0 :                   if (memcmp(Mnemonic.data()+11, "2_sdwa", 6) != 0)
    7467             :                     break;
    7468           0 :                   Mnemonic = "v_cmpx_f_i32";   // "v_cmpx_f_i32_sdwa"
    7469           0 :                   return;
    7470             :                 }
    7471             :                 break;
    7472           0 :               case 'u':  // 2 strings to match.
    7473           0 :                 switch (Mnemonic[10]) {
    7474             :                 default: break;
    7475             :                 case '1':        // 1 string to match.
    7476           0 :                   if (memcmp(Mnemonic.data()+11, "6_sdwa", 6) != 0)
    7477             :                     break;
    7478           0 :                   Mnemonic = "v_cmpx_f_u16";   // "v_cmpx_f_u16_sdwa"
    7479           0 :                   return;
    7480             :                 case '3':        // 1 string to match.
    7481           0 :                   if (memcmp(Mnemonic.data()+11, "2_sdwa", 6) != 0)
    7482             :                     break;
    7483           0 :                   Mnemonic = "v_cmpx_f_u32";   // "v_cmpx_f_u32_sdwa"
    7484           0 :                   return;
    7485             :                 }
    7486             :                 break;
    7487             :               }
    7488             :               break;
    7489             :             case 'o':    // 2 strings to match.
    7490           0 :               if (memcmp(Mnemonic.data()+8, "_f", 2) != 0)
    7491             :                 break;
    7492           0 :               switch (Mnemonic[10]) {
    7493             :               default: break;
    7494             :               case '1':  // 1 string to match.
    7495           0 :                 if (memcmp(Mnemonic.data()+11, "6_sdwa", 6) != 0)
    7496             :                   break;
    7497           0 :                 Mnemonic = "v_cmpx_o_f16";     // "v_cmpx_o_f16_sdwa"
    7498           0 :                 return;
    7499             :               case '3':  // 1 string to match.
    7500           0 :                 if (memcmp(Mnemonic.data()+11, "2_sdwa", 6) != 0)
    7501             :                   break;
    7502           0 :                 Mnemonic = "v_cmpx_o_f32";     // "v_cmpx_o_f32_sdwa"
    7503           0 :                 return;
    7504             :               }
    7505             :               break;
    7506           0 :             case 't':    // 4 strings to match.
    7507           0 :               if (Mnemonic[8] != '_')
    7508             :                 break;
    7509           0 :               switch (Mnemonic[9]) {
    7510             :               default: break;
    7511           0 :               case 'i':  // 2 strings to match.
    7512           0 :                 switch (Mnemonic[10]) {
    7513             :                 default: break;
    7514             :                 case '1':        // 1 string to match.
    7515           0 :                   if (memcmp(Mnemonic.data()+11, "6_sdwa", 6) != 0)
    7516             :                     break;
    7517           0 :                   Mnemonic = "v_cmpx_t_i16";   // "v_cmpx_t_i16_sdwa"
    7518           0 :                   return;
    7519             :                 case '3':        // 1 string to match.
    7520           0 :                   if (memcmp(Mnemonic.data()+11, "2_sdwa", 6) != 0)
    7521             :                     break;
    7522           0 :                   Mnemonic = "v_cmpx_t_i32";   // "v_cmpx_t_i32_sdwa"
    7523           0 :                   return;
    7524             :                 }
    7525             :                 break;
    7526           0 :               case 'u':  // 2 strings to match.
    7527           0 :                 switch (Mnemonic[10]) {
    7528             :                 default: break;
    7529             :                 case '1':        // 1 string to match.
    7530           0 :                   if (memcmp(Mnemonic.data()+11, "6_sdwa", 6) != 0)
    7531             :                     break;
    7532           0 :                   Mnemonic = "v_cmpx_t_u16";   // "v_cmpx_t_u16_sdwa"
    7533           0 :                   return;
    7534             :                 case '3':        // 1 string to match.
    7535           0 :                   if (memcmp(Mnemonic.data()+11, "2_sdwa", 6) != 0)
    7536             :                     break;
    7537           0 :                   Mnemonic = "v_cmpx_t_u32";   // "v_cmpx_t_u32_sdwa"
    7538           0 :                   return;
    7539             :                 }
    7540             :                 break;
    7541             :               }
    7542             :               break;
    7543             :             case 'u':    // 2 strings to match.
    7544           0 :               if (memcmp(Mnemonic.data()+8, "_f", 2) != 0)
    7545             :                 break;
    7546           0 :               switch (Mnemonic[10]) {
    7547             :               default: break;
    7548             :               case '1':  // 1 string to match.
    7549           0 :                 if (memcmp(Mnemonic.data()+11, "6_sdwa", 6) != 0)
    7550             :                   break;
    7551           0 :                 Mnemonic = "v_cmpx_u_f16";     // "v_cmpx_u_f16_sdwa"
    7552           0 :                 return;
    7553             :               case '3':  // 1 string to match.
    7554           0 :                 if (memcmp(Mnemonic.data()+11, "2_sdwa", 6) != 0)
    7555             :                   break;
    7556           0 :                 Mnemonic = "v_cmpx_u_f32";     // "v_cmpx_u_f32_sdwa"
    7557           0 :                 return;
    7558             :               }
    7559             :               break;
    7560             :             }
    7561             :             break;
    7562             :           }
    7563             :           break;
    7564             :         case 'm':        // 1 string to match.
    7565           0 :           if (memcmp(Mnemonic.data()+3, "ul_lo_u16_sdwa", 14) != 0)
    7566             :             break;
    7567           0 :           Mnemonic = "v_mul_lo_u16";   // "v_mul_lo_u16_sdwa"
    7568           0 :           return;
    7569             :         case 's':        // 5 strings to match.
    7570           0 :           if (memcmp(Mnemonic.data()+3, "ubrev_", 6) != 0)
    7571             :             break;
    7572           0 :           switch (Mnemonic[9]) {
    7573             :           default: break;
    7574           0 :           case 'f':      // 2 strings to match.
    7575           0 :             switch (Mnemonic[10]) {
    7576             :             default: break;
    7577             :             case '1':    // 1 string to match.
    7578           0 :               if (memcmp(Mnemonic.data()+11, "6_sdwa", 6) != 0)
    7579             :                 break;
    7580           0 :               Mnemonic = "v_subrev_f16";       // "v_subrev_f16_sdwa"
    7581           0 :               return;
    7582             :             case '3':    // 1 string to match.
    7583           0 :               if (memcmp(Mnemonic.data()+11, "2_sdwa", 6) != 0)
    7584             :                 break;
    7585           0 :               Mnemonic = "v_subrev_f32";       // "v_subrev_f32_sdwa"
    7586           0 :               return;
    7587             :             }
    7588             :             break;
    7589             :           case 'i':      // 1 string to match.
    7590           0 :             if (memcmp(Mnemonic.data()+10, "32_sdwa", 7) != 0)
    7591             :               break;
    7592           0 :             Mnemonic = "v_subrev_i32";         // "v_subrev_i32_sdwa"
    7593           0 :             return;
    7594           0 :           case 'u':      // 2 strings to match.
    7595           0 :             switch (Mnemonic[10]) {
    7596             :             default: break;
    7597             :             case '1':    // 1 string to match.
    7598           0 :               if (memcmp(Mnemonic.data()+11, "6_sdwa", 6) != 0)
    7599             :                 break;
    7600           0 :               Mnemonic = "v_subrev_u16";       // "v_subrev_u16_sdwa"
    7601           0 :               return;
    7602             :             case '3':    // 1 string to match.
    7603           0 :               if (memcmp(Mnemonic.data()+11, "2_sdwa", 6) != 0)
    7604             :                 break;
    7605           0 :               Mnemonic = "v_subrev_u32";       // "v_subrev_u32_sdwa"
    7606           0 :               return;
    7607             :             }
    7608             :             break;
    7609             :           }
    7610             :           break;
    7611             :         }
    7612             :         break;
    7613             :       case 18:   // 80 strings to match.
    7614         143 :         if (memcmp(Mnemonic.data()+0, "v_", 2) != 0)
    7615             :           break;
    7616          20 :         switch (Mnemonic[2]) {
    7617             :         default: break;
    7618             :         case 'a':        // 2 strings to match.
    7619           0 :           if (memcmp(Mnemonic.data()+3, "shrrev_i", 8) != 0)
    7620             :             break;
    7621           0 :           switch (Mnemonic[11]) {
    7622             :           default: break;
    7623             :           case '1':      // 1 string to match.
    7624           0 :             if (memcmp(Mnemonic.data()+12, "6_sdwa", 6) != 0)
    7625             :               break;
    7626           0 :             Mnemonic = "v_ashrrev_i16";        // "v_ashrrev_i16_sdwa"
    7627           0 :             return;
    7628             :           case '3':      // 1 string to match.
    7629           0 :             if (memcmp(Mnemonic.data()+12, "2_sdwa", 6) != 0)
    7630             :               break;
    7631           0 :             Mnemonic = "v_ashrrev_i32";        // "v_ashrrev_i32_sdwa"
    7632           0 :             return;
    7633             :           }
    7634             :           break;
    7635          20 :         case 'c':        // 70 strings to match.
    7636          20 :           switch (Mnemonic[3]) {
    7637             :           default: break;
    7638           0 :           case 'm':      // 59 strings to match.
    7639           0 :             if (Mnemonic[4] != 'p')
    7640             :               break;
    7641           0 :             switch (Mnemonic[5]) {
    7642             :             default: break;
    7643           0 :             case '_':    // 14 strings to match.
    7644           0 :               switch (Mnemonic[6]) {
    7645             :               default: break;
    7646           0 :               case 'n':  // 12 strings to match.
    7647           0 :                 switch (Mnemonic[7]) {
    7648             :                 default: break;
    7649             :                 case 'e':        // 2 strings to match.
    7650           0 :                   if (memcmp(Mnemonic.data()+8, "q_f", 3) != 0)
    7651             :                     break;
    7652           0 :                   switch (Mnemonic[11]) {
    7653             :                   default: break;
    7654             :                   case '1':      // 1 string to match.
    7655           0 :                     if (memcmp(Mnemonic.data()+12, "6_sdwa", 6) != 0)
    7656             :                       break;
    7657           0 :                     Mnemonic = "v_cmp_neq_f16";        // "v_cmp_neq_f16_sdwa"
    7658           0 :                     return;
    7659             :                   case '3':      // 1 string to match.
    7660           0 :                     if (memcmp(Mnemonic.data()+12, "2_sdwa", 6) != 0)
    7661             :                       break;
    7662           0 :                     Mnemonic = "v_cmp_neq_f32";        // "v_cmp_neq_f32_sdwa"
    7663           0 :                     return;
    7664             :                   }
    7665             :                   break;
    7666           0 :                 case 'g':        // 4 strings to match.
    7667           0 :                   switch (Mnemonic[8]) {
    7668             :                   default: break;
    7669             :                   case 'e':      // 2 strings to match.
    7670           0 :                     if (memcmp(Mnemonic.data()+9, "_f", 2) != 0)
    7671             :                       break;
    7672           0 :                     switch (Mnemonic[11]) {
    7673             :                     default: break;
    7674             :                     case '1':    // 1 string to match.
    7675           0 :                       if (memcmp(Mnemonic.data()+12, "6_sdwa", 6) != 0)
    7676             :                         break;
    7677           0 :                       Mnemonic = "v_cmp_nge_f16";      // "v_cmp_nge_f16_sdwa"
    7678           0 :                       return;
    7679             :                     case '3':    // 1 string to match.
    7680           0 :                       if (memcmp(Mnemonic.data()+12, "2_sdwa", 6) != 0)
    7681             :                         break;
    7682           0 :                       Mnemonic = "v_cmp_nge_f32";      // "v_cmp_nge_f32_sdwa"
    7683           0 :                       return;
    7684             :                     }
    7685             :                     break;
    7686             :                   case 't':      // 2 strings to match.
    7687           0 :                     if (memcmp(Mnemonic.data()+9, "_f", 2) != 0)
    7688             :                       break;
    7689           0 :                     switch (Mnemonic[11]) {
    7690             :                     default: break;
    7691             :                     case '1':    // 1 string to match.
    7692           0 :                       if (memcmp(Mnemonic.data()+12, "6_sdwa", 6) != 0)
    7693             :                         break;
    7694           0 :                       Mnemonic = "v_cmp_ngt_f16";      // "v_cmp_ngt_f16_sdwa"
    7695           0 :                       return;
    7696             :                     case '3':    // 1 string to match.
    7697           0 :                       if (memcmp(Mnemonic.data()+12, "2_sdwa", 6) != 0)
    7698             :                         break;
    7699           0 :                       Mnemonic = "v_cmp_ngt_f32";      // "v_cmp_ngt_f32_sdwa"
    7700           0 :                       return;
    7701             :                     }
    7702             :                     break;
    7703             :                   }
    7704             :                   break;
    7705           0 :                 case 'l':        // 6 strings to match.
    7706           0 :                   switch (Mnemonic[8]) {
    7707             :                   default: break;
    7708             :                   case 'e':      // 2 strings to match.
    7709           0 :                     if (memcmp(Mnemonic.data()+9, "_f", 2) != 0)
    7710             :                       break;
    7711           0 :                     switch (Mnemonic[11]) {
    7712             :                     default: break;
    7713             :                     case '1':    // 1 string to match.
    7714           0 :                       if (memcmp(Mnemonic.data()+12, "6_sdwa", 6) != 0)
    7715             :                         break;
    7716           0 :                       Mnemonic = "v_cmp_nle_f16";      // "v_cmp_nle_f16_sdwa"
    7717           0 :                       return;
    7718             :                     case '3':    // 1 string to match.
    7719           0 :                       if (memcmp(Mnemonic.data()+12, "2_sdwa", 6) != 0)
    7720             :                         break;
    7721           0 :                       Mnemonic = "v_cmp_nle_f32";      // "v_cmp_nle_f32_sdwa"
    7722           0 :                       return;
    7723             :                     }
    7724             :                     break;
    7725             :                   case 'g':      // 2 strings to match.
    7726           0 :                     if (memcmp(Mnemonic.data()+9, "_f", 2) != 0)
    7727             :                       break;
    7728           0 :                     switch (Mnemonic[11]) {
    7729             :                     default: break;
    7730             :                     case '1':    // 1 string to match.
    7731           0 :                       if (memcmp(Mnemonic.data()+12, "6_sdwa", 6) != 0)
    7732             :                         break;
    7733           0 :                       Mnemonic = "v_cmp_nlg_f16";      // "v_cmp_nlg_f16_sdwa"
    7734           0 :                       return;
    7735             :                     case '3':    // 1 string to match.
    7736           0 :                       if (memcmp(Mnemonic.data()+12, "2_sdwa", 6) != 0)
    7737             :                         break;
    7738           0 :                       Mnemonic = "v_cmp_nlg_f32";      // "v_cmp_nlg_f32_sdwa"
    7739           0 :                       return;
    7740             :                     }
    7741             :                     break;
    7742             :                   case 't':      // 2 strings to match.
    7743           0 :                     if (memcmp(Mnemonic.data()+9, "_f", 2) != 0)
    7744             :                       break;
    7745           0 :                     switch (Mnemonic[11]) {
    7746             :                     default: break;
    7747             :                     case '1':    // 1 string to match.
    7748           0 :                       if (memcmp(Mnemonic.data()+12, "6_sdwa", 6) != 0)
    7749             :                         break;
    7750           0 :                       Mnemonic = "v_cmp_nlt_f16";      // "v_cmp_nlt_f16_sdwa"
    7751           0 :                       return;
    7752             :                     case '3':    // 1 string to match.
    7753           0 :                       if (memcmp(Mnemonic.data()+12, "2_sdwa", 6) != 0)
    7754             :                         break;
    7755           0 :                       Mnemonic = "v_cmp_nlt_f32";      // "v_cmp_nlt_f32_sdwa"
    7756           0 :                       return;
    7757             :                     }
    7758             :                     break;
    7759             :                   }
    7760             :                   break;
    7761             :                 }
    7762             :                 break;
    7763             :               case 't':  // 2 strings to match.
    7764           0 :                 if (memcmp(Mnemonic.data()+7, "ru_f", 4) != 0)
    7765             :                   break;
    7766           0 :                 switch (Mnemonic[11]) {
    7767             :                 default: break;
    7768             :                 case '1':        // 1 string to match.
    7769           0 :                   if (memcmp(Mnemonic.data()+12, "6_sdwa", 6) != 0)
    7770             :                     break;
    7771           0 :                   Mnemonic = "v_cmp_tru_f16";  // "v_cmp_tru_f16_sdwa"
    7772           0 :                   return;
    7773             :                 case '3':        // 1 string to match.
    7774           0 :                   if (memcmp(Mnemonic.data()+12, "2_sdwa", 6) != 0)
    7775             :                     break;
    7776           0 :                   Mnemonic = "v_cmp_tru_f32";  // "v_cmp_tru_f32_sdwa"
    7777           0 :                   return;
    7778             :                 }
    7779             :                 break;
    7780             :               }
    7781             :               break;
    7782           0 :             case 's':    // 9 strings to match.
    7783           0 :               switch (Mnemonic[6]) {
    7784             :               default: break;
    7785           0 :               case '_':  // 6 strings to match.
    7786           0 :                 switch (Mnemonic[7]) {
    7787             :                 default: break;
    7788             :                 case 'e':        // 1 string to match.
    7789           0 :                   if (memcmp(Mnemonic.data()+8, "q_f32_sdwa", 10) != 0)
    7790             :                     break;
    7791           0 :                   Mnemonic = "v_cmps_eq_f32";  // "v_cmps_eq_f32_sdwa"
    7792           0 :                   return;
    7793           0 :                 case 'g':        // 2 strings to match.
    7794           0 :                   switch (Mnemonic[8]) {
    7795             :                   default: break;
    7796             :                   case 'e':      // 1 string to match.
    7797           0 :                     if (memcmp(Mnemonic.data()+9, "_f32_sdwa", 9) != 0)
    7798             :                       break;
    7799           0 :                     Mnemonic = "v_cmps_ge_f32";        // "v_cmps_ge_f32_sdwa"
    7800           0 :                     return;
    7801             :                   case 't':      // 1 string to match.
    7802           0 :                     if (memcmp(Mnemonic.data()+9, "_f32_sdwa", 9) != 0)
    7803             :                       break;
    7804           0 :                     Mnemonic = "v_cmps_gt_f32";        // "v_cmps_gt_f32_sdwa"
    7805           0 :                     return;
    7806             :                   }
    7807             :                   break;
    7808           0 :                 case 'l':        // 3 strings to match.
    7809           0 :                   switch (Mnemonic[8]) {
    7810             :                   default: break;
    7811             :                   case 'e':      // 1 string to match.
    7812           0 :                     if (memcmp(Mnemonic.data()+9, "_f32_sdwa", 9) != 0)
    7813             :                       break;
    7814           0 :                     Mnemonic = "v_cmps_le_f32";        // "v_cmps_le_f32_sdwa"
    7815           0 :                     return;
    7816             :                   case 'g':      // 1 string to match.
    7817           0 :                     if (memcmp(Mnemonic.data()+9, "_f32_sdwa", 9) != 0)
    7818             :                       break;
    7819           0 :                     Mnemonic = "v_cmps_lg_f32";        // "v_cmps_lg_f32_sdwa"
    7820           0 :                     return;
    7821             :                   case 't':      // 1 string to match.
    7822           0 :                     if (memcmp(Mnemonic.data()+9, "_f32_sdwa", 9) != 0)
    7823             :                       break;
    7824           0 :                     Mnemonic = "v_cmps_lt_f32";        // "v_cmps_lt_f32_sdwa"
    7825           0 :                     return;
    7826             :                   }
    7827             :                   break;
    7828             :                 }
    7829             :                 break;
    7830           0 :               case 'x':  // 3 strings to match.
    7831           0 :                 if (Mnemonic[7] != '_')
    7832             :                   break;
    7833           0 :                 switch (Mnemonic[8]) {
    7834             :                 default: break;
    7835             :                 case 'f':        // 1 string to match.
    7836           0 :                   if (memcmp(Mnemonic.data()+9, "_f32_sdwa", 9) != 0)
    7837             :                     break;
    7838           0 :                   Mnemonic = "v_cmpsx_f_f32";  // "v_cmpsx_f_f32_sdwa"
    7839           0 :                   return;
    7840             :                 case 'o':        // 1 string to match.
    7841           0 :                   if (memcmp(Mnemonic.data()+9, "_f32_sdwa", 9) != 0)
    7842             :                     break;
    7843           0 :                   Mnemonic = "v_cmpsx_o_f32";  // "v_cmpsx_o_f32_sdwa"
    7844           0 :                   return;
    7845             :                 case 'u':        // 1 string to match.
    7846           0 :                   if (memcmp(Mnemonic.data()+9, "_f32_sdwa", 9) != 0)
    7847             :                     break;
    7848           0 :                   Mnemonic = "v_cmpsx_u_f32";  // "v_cmpsx_u_f32_sdwa"
    7849           0 :                   return;
    7850             :                 }
    7851             :                 break;
    7852             :               }
    7853             :               break;
    7854           0 :             case 'x':    // 36 strings to match.
    7855           0 :               if (Mnemonic[6] != '_')
    7856             :                 break;
    7857           0 :               switch (Mnemonic[7]) {
    7858             :               default: break;
    7859             :               case 'e':  // 6 strings to match.
    7860           0 :                 if (memcmp(Mnemonic.data()+8, "q_", 2) != 0)
    7861             :                   break;
    7862           0 :                 switch (Mnemonic[10]) {
    7863             :                 default: break;
    7864           0 :                 case 'f':        // 2 strings to match.
    7865           0 :                   switch (Mnemonic[11]) {
    7866             :                   default: break;
    7867             :                   case '1':      // 1 string to match.
    7868           0 :                     if (memcmp(Mnemonic.data()+12, "6_sdwa", 6) != 0)
    7869             :                       break;
    7870           0 :                     Mnemonic = "v_cmpx_eq_f16";        // "v_cmpx_eq_f16_sdwa"
    7871           0 :                     return;
    7872             :                   case '3':      // 1 string to match.
    7873           0 :                     if (memcmp(Mnemonic.data()+12, "2_sdwa", 6) != 0)
    7874             :                       break;
    7875           0 :                     Mnemonic = "v_cmpx_eq_f32";        // "v_cmpx_eq_f32_sdwa"
    7876           0 :                     return;
    7877             :                   }
    7878             :                   break;
    7879           0 :                 case 'i':        // 2 strings to match.
    7880           0 :                   switch (Mnemonic[11]) {
    7881             :                   default: break;
    7882             :                   case '1':      // 1 string to match.
    7883           0 :                     if (memcmp(Mnemonic.data()+12, "6_sdwa", 6) != 0)
    7884             :                       break;
    7885           0 :                     Mnemonic = "v_cmpx_eq_i16";        // "v_cmpx_eq_i16_sdwa"
    7886           0 :                     return;
    7887             :                   case '3':      // 1 string to match.
    7888           0 :                     if (memcmp(Mnemonic.data()+12, "2_sdwa", 6) != 0)
    7889             :                       break;
    7890           0 :                     Mnemonic = "v_cmpx_eq_i32";        // "v_cmpx_eq_i32_sdwa"
    7891           0 :                     return;
    7892             :                   }
    7893             :                   break;
    7894           0 :                 case 'u':        // 2 strings to match.
    7895           0 :                   switch (Mnemonic[11]) {
    7896             :                   default: break;
    7897             :                   case '1':      // 1 string to match.
    7898           0 :                     if (memcmp(Mnemonic.data()+12, "6_sdwa", 6) != 0)
    7899             :                       break;
    7900           0 :                     Mnemonic = "v_cmpx_eq_u16";        // "v_cmpx_eq_u16_sdwa"
    7901           0 :                     return;
    7902             :                   case '3':      // 1 string to match.
    7903           0 :                     if (memcmp(Mnemonic.data()+12, "2_sdwa", 6) != 0)
    7904             :                       break;
    7905           0 :                     Mnemonic = "v_cmpx_eq_u32";        // "v_cmpx_eq_u32_sdwa"
    7906           0 :                     return;
    7907             :                   }
    7908             :                   break;
    7909             :                 }
    7910             :                 break;
    7911           0 :               case 'g':  // 12 strings to match.
    7912           0 :                 switch (Mnemonic[8]) {
    7913             :                 default: break;
    7914           0 :                 case 'e':        // 6 strings to match.
    7915           0 :                   if (Mnemonic[9] != '_')
    7916             :                     break;
    7917           0 :                   switch (Mnemonic[10]) {
    7918             :                   default: break;
    7919           0 :                   case 'f':      // 2 strings to match.
    7920           0 :                     switch (Mnemonic[11]) {
    7921             :                     default: break;
    7922             :                     case '1':    // 1 string to match.
    7923           0 :                       if (memcmp(Mnemonic.data()+12, "6_sdwa", 6) != 0)
    7924             :                         break;
    7925           0 :                       Mnemonic = "v_cmpx_ge_f16";      // "v_cmpx_ge_f16_sdwa"
    7926           0 :                       return;
    7927             :                     case '3':    // 1 string to match.
    7928           0 :                       if (memcmp(Mnemonic.data()+12, "2_sdwa", 6) != 0)
    7929             :                         break;
    7930           0 :                       Mnemonic = "v_cmpx_ge_f32";      // "v_cmpx_ge_f32_sdwa"
    7931           0 :                       return;
    7932             :                     }
    7933             :                     break;
    7934           0 :                   case 'i':      // 2 strings to match.
    7935           0 :                     switch (Mnemonic[11]) {
    7936             :                     default: break;
    7937             :                     case '1':    // 1 string to match.
    7938           0 :                       if (memcmp(Mnemonic.data()+12, "6_sdwa", 6) != 0)
    7939             :                         break;
    7940           0 :                       Mnemonic = "v_cmpx_ge_i16";      // "v_cmpx_ge_i16_sdwa"
    7941           0 :                       return;
    7942             :                     case '3':    // 1 string to match.
    7943           0 :                       if (memcmp(Mnemonic.data()+12, "2_sdwa", 6) != 0)
    7944             :                         break;
    7945           0 :                       Mnemonic = "v_cmpx_ge_i32";      // "v_cmpx_ge_i32_sdwa"
    7946           0 :                       return;
    7947             :                     }
    7948             :                     break;
    7949           0 :                   case 'u':      // 2 strings to match.
    7950           0 :                     switch (Mnemonic[11]) {
    7951             :                     default: break;
    7952             :                     case '1':    // 1 string to match.
    7953           0 :                       if (memcmp(Mnemonic.data()+12, "6_sdwa", 6) != 0)
    7954             :                         break;
    7955           0 :                       Mnemonic = "v_cmpx_ge_u16";      // "v_cmpx_ge_u16_sdwa"
    7956           0 :                       return;
    7957             :                     case '3':    // 1 string to match.
    7958           0 :                       if (memcmp(Mnemonic.data()+12, "2_sdwa", 6) != 0)
    7959             :                         break;
    7960           0 :                       Mnemonic = "v_cmpx_ge_u32";      // "v_cmpx_ge_u32_sdwa"
    7961           0 :                       return;
    7962             :                     }
    7963             :                     break;
    7964             :                   }
    7965             :                   break;
    7966           0 :                 case 't':        // 6 strings to match.
    7967           0 :                   if (Mnemonic[9] != '_')
    7968             :                     break;
    7969           0 :                   switch (Mnemonic[10]) {
    7970             :                   default: break;
    7971           0 :                   case 'f':      // 2 strings to match.
    7972           0 :                     switch (Mnemonic[11]) {
    7973             :                     default: break;
    7974             :                     case '1':    // 1 string to match.
    7975           0 :                       if (memcmp(Mnemonic.data()+12, "6_sdwa", 6) != 0)
    7976             :                         break;
    7977           0 :                       Mnemonic = "v_cmpx_gt_f16";      // "v_cmpx_gt_f16_sdwa"
    7978           0 :                       return;
    7979             :                     case '3':    // 1 string to match.
    7980           0 :                       if (memcmp(Mnemonic.data()+12, "2_sdwa", 6) != 0)
    7981             :                         break;
    7982           0 :                       Mnemonic = "v_cmpx_gt_f32";      // "v_cmpx_gt_f32_sdwa"
    7983           0 :                       return;
    7984             :                     }
    7985             :                     break;
    7986           0 :                   case 'i':      // 2 strings to match.
    7987           0 :                     switch (Mnemonic[11]) {
    7988             :                     default: break;
    7989             :                     case '1':    // 1 string to match.
    7990           0 :                       if (memcmp(Mnemonic.data()+12, "6_sdwa", 6) != 0)
    7991             :                         break;
    7992           0 :                       Mnemonic = "v_cmpx_gt_i16";      // "v_cmpx_gt_i16_sdwa"
    7993           0 :                       return;
    7994             :                     case '3':    // 1 string to match.
    7995           0 :                       if (memcmp(Mnemonic.data()+12, "2_sdwa", 6) != 0)
    7996             :                         break;
    7997           0 :                       Mnemonic = "v_cmpx_gt_i32";      // "v_cmpx_gt_i32_sdwa"
    7998           0 :                       return;
    7999             :                     }
    8000             :                     break;
    8001           0 :                   case 'u':      // 2 strings to match.
    8002           0 :                     switch (Mnemonic[11]) {
    8003             :                     default: break;
    8004             :                     case '1':    // 1 string to match.
    8005           0 :                       if (memcmp(Mnemonic.data()+12, "6_sdwa", 6) != 0)
    8006             :                         break;
    8007           0 :                       Mnemonic = "v_cmpx_gt_u16";      // "v_cmpx_gt_u16_sdwa"
    8008           0 :                       return;
    8009             :                     case '3':    // 1 string to match.
    8010           0 :                       if (memcmp(Mnemonic.data()+12, "2_sdwa", 6) != 0)
    8011             :                         break;
    8012           0 :                       Mnemonic = "v_cmpx_gt_u32";      // "v_cmpx_gt_u32_sdwa"
    8013           0 :                       return;
    8014             :                     }
    8015             :                     break;
    8016             :                   }
    8017             :                   break;
    8018             :                 }
    8019             :                 break;
    8020           0 :               case 'l':  // 14 strings to match.
    8021           0 :                 switch (Mnemonic[8]) {
    8022             :                 default: break;
    8023           0 :                 case 'e':        // 6 strings to match.
    8024           0 :                   if (Mnemonic[9] != '_')
    8025             :                     break;
    8026           0 :                   switch (Mnemonic[10]) {
    8027             :                   default: break;
    8028           0 :                   case 'f':      // 2 strings to match.
    8029           0 :                     switch (Mnemonic[11]) {
    8030             :                     default: break;
    8031             :                     case '1':    // 1 string to match.
    8032           0 :                       if (memcmp(Mnemonic.data()+12, "6_sdwa", 6) != 0)
    8033             :                         break;
    8034           0 :                       Mnemonic = "v_cmpx_le_f16";      // "v_cmpx_le_f16_sdwa"
    8035           0 :                       return;
    8036             :                     case '3':    // 1 string to match.
    8037           0 :                       if (memcmp(Mnemonic.data()+12, "2_sdwa", 6) != 0)
    8038             :                         break;
    8039           0 :                       Mnemonic = "v_cmpx_le_f32";      // "v_cmpx_le_f32_sdwa"
    8040           0 :                       return;
    8041             :                     }
    8042             :                     break;
    8043           0 :                   case 'i':      // 2 strings to match.
    8044           0 :                     switch (Mnemonic[11]) {
    8045             :                     default: break;
    8046             :                     case '1':    // 1 string to match.
    8047           0 :                       if (memcmp(Mnemonic.data()+12, "6_sdwa", 6) != 0)
    8048             :                         break;
    8049           0 :                       Mnemonic = "v_cmpx_le_i16";      // "v_cmpx_le_i16_sdwa"
    8050           0 :                       return;
    8051             :                     case '3':    // 1 string to match.
    8052           0 :                       if (memcmp(Mnemonic.data()+12, "2_sdwa", 6) != 0)
    8053             :                         break;
    8054           0 :                       Mnemonic = "v_cmpx_le_i32";      // "v_cmpx_le_i32_sdwa"
    8055           0 :                       return;
    8056             :                     }
    8057             :                     break;
    8058           0 :                   case 'u':      // 2 strings to match.
    8059           0 :                     switch (Mnemonic[11]) {
    8060             :                     default: break;
    8061             :                     case '1':    // 1 string to match.
    8062           0 :                       if (memcmp(Mnemonic.data()+12, "6_sdwa", 6) != 0)
    8063             :                         break;
    8064           0 :                       Mnemonic = "v_cmpx_le_u16";      // "v_cmpx_le_u16_sdwa"
    8065           0 :                       return;
    8066             :                     case '3':    // 1 string to match.
    8067           0 :                       if (memcmp(Mnemonic.data()+12, "2_sdwa", 6) != 0)
    8068             :                         break;
    8069           0 :                       Mnemonic = "v_cmpx_le_u32";      // "v_cmpx_le_u32_sdwa"
    8070           0 :                       return;
    8071             :                     }
    8072             :                     break;
    8073             :                   }
    8074             :                   break;
    8075             :                 case 'g':        // 2 strings to match.
    8076           0 :                   if (memcmp(Mnemonic.data()+9, "_f", 2) != 0)
    8077             :                     break;
    8078           0 :                   switch (Mnemonic[11]) {
    8079             :                   default: break;
    8080             :                   case '1':      // 1 string to match.
    8081           0 :                     if (memcmp(Mnemonic.data()+12, "6_sdwa", 6) != 0)
    8082             :                       break;
    8083           0 :                     Mnemonic = "v_cmpx_lg_f16";        // "v_cmpx_lg_f16_sdwa"
    8084           0 :                     return;
    8085             :                   case '3':      // 1 string to match.
    8086           0 :                     if (memcmp(Mnemonic.data()+12, "2_sdwa", 6) != 0)
    8087             :                       break;
    8088           0 :                     Mnemonic = "v_cmpx_lg_f32";        // "v_cmpx_lg_f32_sdwa"
    8089           0 :                     return;
    8090             :                   }
    8091             :                   break;
    8092           0 :                 case 't':        // 6 strings to match.
    8093           0 :                   if (Mnemonic[9] != '_')
    8094             :                     break;
    8095           0 :                   switch (Mnemonic[10]) {
    8096             :                   default: break;
    8097           0 :                   case 'f':      // 2 strings to match.
    8098           0 :                     switch (Mnemonic[11]) {
    8099             :                     default: break;
    8100             :                     case '1':    // 1 string to match.
    8101           0 :                       if (memcmp(Mnemonic.data()+12, "6_sdwa", 6) != 0)
    8102             :                         break;
    8103           0 :                       Mnemonic = "v_cmpx_lt_f16";      // "v_cmpx_lt_f16_sdwa"
    8104           0 :                       return;
    8105             :                     case '3':    // 1 string to match.
    8106           0 :                       if (memcmp(Mnemonic.data()+12, "2_sdwa", 6) != 0)
    8107             :                         break;
    8108           0 :                       Mnemonic = "v_cmpx_lt_f32";      // "v_cmpx_lt_f32_sdwa"
    8109           0 :                       return;
    8110             :                     }
    8111             :                     break;
    8112           0 :                   case 'i':      // 2 strings to match.
    8113           0 :                     switch (Mnemonic[11]) {
    8114             :                     default: break;
    8115             :                     case '1':    // 1 string to match.
    8116           0 :                       if (memcmp(Mnemonic.data()+12, "6_sdwa", 6) != 0)
    8117             :                         break;
    8118           0 :                       Mnemonic = "v_cmpx_lt_i16";      // "v_cmpx_lt_i16_sdwa"
    8119           0 :                       return;
    8120             :                     case '3':    // 1 string to match.
    8121           0 :                       if (memcmp(Mnemonic.data()+12, "2_sdwa", 6) != 0)
    8122             :                         break;
    8123           0 :                       Mnemonic = "v_cmpx_lt_i32";      // "v_cmpx_lt_i32_sdwa"
    8124           0 :                       return;
    8125             :                     }
    8126             :                     break;
    8127           0 :                   case 'u':      // 2 strings to match.
    8128           0 :                     switch (Mnemonic[11]) {
    8129             :                     default: break;
    8130             :                     case '1':    // 1 string to match.
    8131           0 :                       if (memcmp(Mnemonic.data()+12, "6_sdwa", 6) != 0)
    8132             :                         break;
    8133           0 :                       Mnemonic = "v_cmpx_lt_u16";      // "v_cmpx_lt_u16_sdwa"
    8134           0 :                       return;
    8135             :                     case '3':    // 1 string to match.
    8136           0 :                       if (memcmp(Mnemonic.data()+12, "2_sdwa", 6) != 0)
    8137             :                         break;
    8138           0 :                       Mnemonic = "v_cmpx_lt_u32";      // "v_cmpx_lt_u32_sdwa"
    8139           0 :                       return;
    8140             :                     }
    8141             :                     break;
    8142             :                   }
    8143             :                   break;
    8144             :                 }
    8145             :                 break;
    8146             :               case 'n':  // 4 strings to match.
    8147           0 :                 if (memcmp(Mnemonic.data()+8, "e_", 2) != 0)
    8148             :                   break;
    8149           0 :                 switch (Mnemonic[10]) {
    8150             :                 default: break;
    8151           0 :                 case 'i':        // 2 strings to match.
    8152           0 :                   switch (Mnemonic[11]) {
    8153             :                   default: break;
    8154             :                   case '1':      // 1 string to match.
    8155           0 :                     if (memcmp(Mnemonic.data()+12, "6_sdwa", 6) != 0)
    8156             :                       break;
    8157           0 :                     Mnemonic = "v_cmpx_ne_i16";        // "v_cmpx_ne_i16_sdwa"
    8158           0 :                     return;
    8159             :                   case '3':      // 1 string to match.
    8160           0 :                     if (memcmp(Mnemonic.data()+12, "2_sdwa", 6) != 0)
    8161             :                       break;
    8162           0 :                     Mnemonic = "v_cmpx_ne_i32";        // "v_cmpx_ne_i32_sdwa"
    8163           0 :                     return;
    8164             :                   }
    8165             :                   break;
    8166           0 :                 case 'u':        // 2 strings to match.
    8167           0 :                   switch (Mnemonic[11]) {
    8168             :                   default: break;
    8169             :                   case '1':      // 1 string to match.
    8170           0 :                     if (memcmp(Mnemonic.data()+12, "6_sdwa", 6) != 0)
    8171             :                       break;
    8172           0 :                     Mnemonic = "v_cmpx_ne_u16";        // "v_cmpx_ne_u16_sdwa"
    8173           0 :                     return;
    8174             :                   case '3':      // 1 string to match.
    8175           0 :                     if (memcmp(Mnemonic.data()+12, "2_sdwa", 6) != 0)
    8176             :                       break;
    8177           0 :                     Mnemonic = "v_cmpx_ne_u32";        // "v_cmpx_ne_u32_sdwa"
    8178           0 :                     return;
    8179             :                   }
    8180             :                   break;
    8181             :                 }
    8182             :                 break;
    8183             :               }
    8184             :               break;
    8185             :             }
    8186             :             break;
    8187             :           case 'n':      // 1 string to match.
    8188           0 :             if (memcmp(Mnemonic.data()+4, "dmask_b32_sdwa", 14) != 0)
    8189             :               break;
    8190           0 :             Mnemonic = "v_cndmask_b32";        // "v_cndmask_b32_sdwa"
    8191           0 :             return;
    8192             :           case 'v':      // 10 strings to match.
    8193          20 :             if (memcmp(Mnemonic.data()+4, "t_", 2) != 0)
    8194             :               break;
    8195          20 :             switch (Mnemonic[6]) {
    8196             :             default: break;
    8197           0 :             case 'f':    // 6 strings to match.
    8198           0 :               switch (Mnemonic[7]) {
    8199             :               default: break;
    8200             :               case '1':  // 3 strings to match.
    8201           0 :                 if (memcmp(Mnemonic.data()+8, "6_", 2) != 0)
    8202             :                   break;
    8203           0 :                 switch (Mnemonic[10]) {
    8204             :                 default: break;
    8205             :                 case 'f':        // 1 string to match.
    8206           0 :                   if (memcmp(Mnemonic.data()+11, "32_sdwa", 7) != 0)
    8207             :                     break;
    8208           0 :                   Mnemonic = "v_cvt_f16_f32";  // "v_cvt_f16_f32_sdwa"
    8209           0 :                   return;
    8210             :                 case 'i':        // 1 string to match.
    8211           0 :                   if (memcmp(Mnemonic.data()+11, "16_sdwa", 7) != 0)
    8212             :                     break;
    8213           0 :                   Mnemonic = "v_cvt_f16_i16";  // "v_cvt_f16_i16_sdwa"
    8214           0 :                   return;
    8215             :                 case 'u':        // 1 string to match.
    8216           0 :                   if (memcmp(Mnemonic.data()+11, "16_sdwa", 7) != 0)
    8217             :                     break;
    8218           0 :                   Mnemonic = "v_cvt_f16_u16";  // "v_cvt_f16_u16_sdwa"
    8219           0 :                   return;
    8220             :                 }
    8221             :                 break;
    8222             :               case '3':  // 3 strings to match.
    8223           0 :                 if (memcmp(Mnemonic.data()+8, "2_", 2) != 0)
    8224             :                   break;
    8225           0 :                 switch (Mnemonic[10]) {
    8226             :                 default: break;
    8227             :                 case 'f':        // 1 string to match.
    8228           0 :                   if (memcmp(Mnemonic.data()+11, "16_sdwa", 7) != 0)
    8229             :                     break;
    8230           0 :                   Mnemonic = "v_cvt_f32_f16";  // "v_cvt_f32_f16_sdwa"
    8231           0 :                   return;
    8232             :                 case 'i':        // 1 string to match.
    8233           0 :                   if (memcmp(Mnemonic.data()+11, "32_sdwa", 7) != 0)
    8234             :                     break;
    8235           0 :                   Mnemonic = "v_cvt_f32_i32";  // "v_cvt_f32_i32_sdwa"
    8236           0 :                   return;
    8237             :                 case 'u':        // 1 string to match.
    8238           0 :                   if (memcmp(Mnemonic.data()+11, "32_sdwa", 7) != 0)
    8239             :                     break;
    8240           0 :                   Mnemonic = "v_cvt_f32_u32";  // "v_cvt_f32_u32_sdwa"
    8241           0 :                   return;
    8242             :                 }
    8243             :                 break;
    8244             :               }
    8245             :               break;
    8246           0 :             case 'i':    // 2 strings to match.
    8247           0 :               switch (Mnemonic[7]) {
    8248             :               default: break;
    8249             :               case '1':  // 1 string to match.
    8250           0 :                 if (memcmp(Mnemonic.data()+8, "6_f16_sdwa", 10) != 0)
    8251             :                   break;
    8252           0 :                 Mnemonic = "v_cvt_i16_f16";    // "v_cvt_i16_f16_sdwa"
    8253           0 :                 return;
    8254             :               case '3':  // 1 string to match.
    8255           0 :                 if (memcmp(Mnemonic.data()+8, "2_f32_sdwa", 10) != 0)
    8256             :                   break;
    8257           0 :                 Mnemonic = "v_cvt_i32_f32";    // "v_cvt_i32_f32_sdwa"
    8258           0 :                 return;
    8259             :               }
    8260             :               break;
    8261           0 :             case 'u':    // 2 strings to match.
    8262           0 :               switch (Mnemonic[7]) {
    8263             :               default: break;
    8264             :               case '1':  // 1 string to match.
    8265           0 :                 if (memcmp(Mnemonic.data()+8, "6_f16_sdwa", 10) != 0)
    8266             :                   break;
    8267           0 :                 Mnemonic = "v_cvt_u16_f16";    // "v_cvt_u16_f16_sdwa"
    8268           0 :                 return;
    8269             :               case '3':  // 1 string to match.
    8270           0 :                 if (memcmp(Mnemonic.data()+8, "2_f32_sdwa", 10) != 0)
    8271             :                   break;
    8272           0 :                 Mnemonic = "v_cvt_u32_f32";    // "v_cvt_u32_f32_sdwa"
    8273           0 :                 return;
    8274             :               }
    8275             :               break;
    8276             :             }
    8277             :             break;
    8278             :           }
    8279             :           break;
    8280             :         case 'l':        // 4 strings to match.
    8281           0 :           if (memcmp(Mnemonic.data()+3, "sh", 2) != 0)
    8282             :             break;
    8283           0 :           switch (Mnemonic[5]) {
    8284             :           default: break;
    8285             :           case 'l':      // 2 strings to match.
    8286           0 :             if (memcmp(Mnemonic.data()+6, "rev_b", 5) != 0)
    8287             :               break;
    8288           0 :             switch (Mnemonic[11]) {
    8289             :             default: break;
    8290             :             case '1':    // 1 string to match.
    8291           0 :               if (memcmp(Mnemonic.data()+12, "6_sdwa", 6) != 0)
    8292             :                 break;
    8293           0 :               Mnemonic = "v_lshlrev_b16";      // "v_lshlrev_b16_sdwa"
    8294           0 :               return;
    8295             :             case '3':    // 1 string to match.
    8296           0 :               if (memcmp(Mnemonic.data()+12, "2_sdwa", 6) != 0)
    8297             :                 break;
    8298           0 :               Mnemonic = "v_lshlrev_b32";      // "v_lshlrev_b32_sdwa"
    8299           0 :               return;
    8300             :             }
    8301             :             break;
    8302             :           case 'r':      // 2 strings to match.
    8303           0 :             if (memcmp(Mnemonic.data()+6, "rev_b", 5) != 0)
    8304             :               break;
    8305           0 :             switch (Mnemonic[11]) {
    8306             :             default: break;
    8307             :             case '1':    // 1 string to match.
    8308           0 :               if (memcmp(Mnemonic.data()+12, "6_sdwa", 6) != 0)
    8309             :                 break;
    8310           0 :               Mnemonic = "v_lshrrev_b16";      // "v_lshrrev_b16_sdwa"
    8311           0 :               return;
    8312             :             case '3':    // 1 string to match.
    8313           0 :               if (memcmp(Mnemonic.data()+12, "2_sdwa", 6) != 0)
    8314             :                 break;
    8315           0 :               Mnemonic = "v_lshrrev_b32";      // "v_lshrrev_b32_sdwa"
    8316           0 :               return;
    8317             :             }
    8318             :             break;
    8319             :           }
    8320             :           break;
    8321           0 :         case 'm':        // 3 strings to match.
    8322           0 :           switch (Mnemonic[3]) {
    8323             :           default: break;
    8324             :           case 'o':      // 1 string to match.
    8325           0 :             if (memcmp(Mnemonic.data()+4, "v_fed_b32_sdwa", 14) != 0)
    8326             :               break;
    8327           0 :             Mnemonic = "v_mov_fed_b32";        // "v_mov_fed_b32_sdwa"
    8328           0 :             return;
    8329             :           case 'u':      // 2 strings to match.
    8330           0 :             if (memcmp(Mnemonic.data()+4, "l_", 2) != 0)
    8331             :               break;
    8332           0 :             switch (Mnemonic[6]) {
    8333             :             default: break;
    8334             :             case 'i':    // 1 string to match.
    8335           0 :               if (memcmp(Mnemonic.data()+7, "32_i24_sdwa", 11) != 0)
    8336             :                 break;
    8337           0 :               Mnemonic = "v_mul_i32_i24";      // "v_mul_i32_i24_sdwa"
    8338           0 :               return;
    8339             :             case 'u':    // 1 string to match.
    8340           0 :               if (memcmp(Mnemonic.data()+7, "32_u24_sdwa", 11) != 0)
    8341             :                 break;
    8342           0 :               Mnemonic = "v_mul_u32_u24";      // "v_mul_u32_u24_sdwa"
    8343           0 :               return;
    8344             :             }
    8345             :             break;
    8346             :           }
    8347             :           break;
    8348             :         case 's':        // 1 string to match.
    8349           0 :           if (memcmp(Mnemonic.data()+3, "ubbrev_u32_sdwa", 15) != 0)
    8350             :             break;
    8351           0 :           Mnemonic = "v_subbrev_u32";  // "v_subbrev_u32_sdwa"
    8352           0 :           return;
    8353             :         }
    8354             :         break;
    8355             :       case 19:   // 27 strings to match.
    8356         422 :         if (memcmp(Mnemonic.data()+0, "v_cmp", 5) != 0)
    8357             :           break;
    8358           0 :         switch (Mnemonic[5]) {
    8359             :         default: break;
    8360           0 :         case 's':        // 13 strings to match.
    8361           0 :           switch (Mnemonic[6]) {
    8362             :           default: break;
    8363           0 :           case '_':      // 7 strings to match.
    8364           0 :             switch (Mnemonic[7]) {
    8365             :             default: break;
    8366           0 :             case 'n':    // 6 strings to match.
    8367           0 :               switch (Mnemonic[8]) {
    8368             :               default: break;
    8369             :               case 'e':  // 1 string to match.
    8370           0 :                 if (memcmp(Mnemonic.data()+9, "q_f32_sdwa", 10) != 0)
    8371             :                   break;
    8372           0 :                 Mnemonic = "v_cmps_neq_f32";   // "v_cmps_neq_f32_sdwa"
    8373           0 :                 return;
    8374           0 :               case 'g':  // 2 strings to match.
    8375           0 :                 switch (Mnemonic[9]) {
    8376             :                 default: break;
    8377             :                 case 'e':        // 1 string to match.
    8378           0 :                   if (memcmp(Mnemonic.data()+10, "_f32_sdwa", 9) != 0)
    8379             :                     break;
    8380           0 :                   Mnemonic = "v_cmps_nge_f32";         // "v_cmps_nge_f32_sdwa"
    8381           0 :                   return;
    8382             :                 case 't':        // 1 string to match.
    8383           0 :                   if (memcmp(Mnemonic.data()+10, "_f32_sdwa", 9) != 0)
    8384             :                     break;
    8385           0 :                   Mnemonic = "v_cmps_ngt_f32";         // "v_cmps_ngt_f32_sdwa"
    8386           0 :                   return;
    8387             :                 }
    8388             :                 break;
    8389           0 :               case 'l':  // 3 strings to match.
    8390           0 :                 switch (Mnemonic[9]) {
    8391             :                 default: break;
    8392             :                 case 'e':        // 1 string to match.
    8393           0 :                   if (memcmp(Mnemonic.data()+10, "_f32_sdwa", 9) != 0)
    8394             :                     break;
    8395           0 :                   Mnemonic = "v_cmps_nle_f32";         // "v_cmps_nle_f32_sdwa"
    8396           0 :                   return;
    8397             :                 case 'g':        // 1 string to match.
    8398           0 :                   if (memcmp(Mnemonic.data()+10, "_f32_sdwa", 9) != 0)
    8399             :                     break;
    8400           0 :                   Mnemonic = "v_cmps_nlg_f32";         // "v_cmps_nlg_f32_sdwa"
    8401           0 :                   return;
    8402             :                 case 't':        // 1 string to match.
    8403           0 :                   if (memcmp(Mnemonic.data()+10, "_f32_sdwa", 9) != 0)
    8404             :                     break;
    8405           0 :                   Mnemonic = "v_cmps_nlt_f32";         // "v_cmps_nlt_f32_sdwa"
    8406           0 :                   return;
    8407             :                 }
    8408             :                 break;
    8409             :               }
    8410             :               break;
    8411             :             case 't':    // 1 string to match.
    8412           0 :               if (memcmp(Mnemonic.data()+8, "ru_f32_sdwa", 11) != 0)
    8413             :                 break;
    8414           0 :               Mnemonic = "v_cmps_tru_f32";     // "v_cmps_tru_f32_sdwa"
    8415           0 :               return;
    8416             :             }
    8417             :             break;
    8418           0 :           case 'x':      // 6 strings to match.
    8419           0 :             if (Mnemonic[7] != '_')
    8420             :               break;
    8421           0 :             switch (Mnemonic[8]) {
    8422             :             default: break;
    8423             :             case 'e':    // 1 string to match.
    8424           0 :               if (memcmp(Mnemonic.data()+9, "q_f32_sdwa", 10) != 0)
    8425             :                 break;
    8426           0 :               Mnemonic = "v_cmpsx_eq_f32";     // "v_cmpsx_eq_f32_sdwa"
    8427           0 :               return;
    8428           0 :             case 'g':    // 2 strings to match.
    8429           0 :               switch (Mnemonic[9]) {
    8430             :               default: break;
    8431             :               case 'e':  // 1 string to match.
    8432           0 :                 if (memcmp(Mnemonic.data()+10, "_f32_sdwa", 9) != 0)
    8433             :                   break;
    8434           0 :                 Mnemonic = "v_cmpsx_ge_f32";   // "v_cmpsx_ge_f32_sdwa"
    8435           0 :                 return;
    8436             :               case 't':  // 1 string to match.
    8437           0 :                 if (memcmp(Mnemonic.data()+10, "_f32_sdwa", 9) != 0)
    8438             :                   break;
    8439           0 :                 Mnemonic = "v_cmpsx_gt_f32";   // "v_cmpsx_gt_f32_sdwa"
    8440           0 :                 return;
    8441             :               }
    8442             :               break;
    8443           0 :             case 'l':    // 3 strings to match.
    8444           0 :               switch (Mnemonic[9]) {
    8445             :               default: break;
    8446             :               case 'e':  // 1 string to match.
    8447           0 :                 if (memcmp(Mnemonic.data()+10, "_f32_sdwa", 9) != 0)
    8448             :                   break;
    8449           0 :                 Mnemonic = "v_cmpsx_le_f32";   // "v_cmpsx_le_f32_sdwa"
    8450           0 :                 return;
    8451             :               case 'g':  // 1 string to match.
    8452           0 :                 if (memcmp(Mnemonic.data()+10, "_f32_sdwa", 9) != 0)
    8453             :                   break;
    8454           0 :                 Mnemonic = "v_cmpsx_lg_f32";   // "v_cmpsx_lg_f32_sdwa"
    8455           0 :                 return;
    8456             :               case 't':  // 1 string to match.
    8457           0 :                 if (memcmp(Mnemonic.data()+10, "_f32_sdwa", 9) != 0)
    8458             :                   break;
    8459           0 :                 Mnemonic = "v_cmpsx_lt_f32";   // "v_cmpsx_lt_f32_sdwa"
    8460           0 :                 return;
    8461             :               }
    8462             :               break;
    8463             :             }
    8464             :             break;
    8465             :           }
    8466             :           break;
    8467           0 :         case 'x':        // 14 strings to match.
    8468           0 :           if (Mnemonic[6] != '_')
    8469             :             break;
    8470           0 :           switch (Mnemonic[7]) {
    8471             :           default: break;
    8472           0 :           case 'n':      // 12 strings to match.
    8473           0 :             switch (Mnemonic[8]) {
    8474             :             default: break;
    8475             :             case 'e':    // 2 strings to match.
    8476           0 :               if (memcmp(Mnemonic.data()+9, "q_f", 3) != 0)
    8477             :                 break;
    8478           0 :               switch (Mnemonic[12]) {
    8479             :               default: break;
    8480             :               case '1':  // 1 string to match.
    8481           0 :                 if (memcmp(Mnemonic.data()+13, "6_sdwa", 6) != 0)
    8482             :                   break;
    8483           0 :                 Mnemonic = "v_cmpx_neq_f16";   // "v_cmpx_neq_f16_sdwa"
    8484           0 :                 return;
    8485             :               case '3':  // 1 string to match.
    8486           0 :                 if (memcmp(Mnemonic.data()+13, "2_sdwa", 6) != 0)
    8487             :                   break;
    8488           0 :                 Mnemonic = "v_cmpx_neq_f32";   // "v_cmpx_neq_f32_sdwa"
    8489           0 :                 return;
    8490             :               }
    8491             :               break;
    8492           0 :             case 'g':    // 4 strings to match.
    8493           0 :               switch (Mnemonic[9]) {
    8494             :               default: break;
    8495             :               case 'e':  // 2 strings to match.
    8496           0 :                 if (memcmp(Mnemonic.data()+10, "_f", 2) != 0)
    8497             :                   break;
    8498           0 :                 switch (Mnemonic[12]) {
    8499             :                 default: break;
    8500             :                 case '1':        // 1 string to match.
    8501           0 :                   if (memcmp(Mnemonic.data()+13, "6_sdwa", 6) != 0)
    8502             :                     break;
    8503           0 :                   Mnemonic = "v_cmpx_nge_f16";         // "v_cmpx_nge_f16_sdwa"
    8504           0 :                   return;
    8505             :                 case '3':        // 1 string to match.
    8506           0 :                   if (memcmp(Mnemonic.data()+13, "2_sdwa", 6) != 0)
    8507             :                     break;
    8508           0 :                   Mnemonic = "v_cmpx_nge_f32";         // "v_cmpx_nge_f32_sdwa"
    8509           0 :                   return;
    8510             :                 }
    8511             :                 break;
    8512             :               case 't':  // 2 strings to match.
    8513           0 :                 if (memcmp(Mnemonic.data()+10, "_f", 2) != 0)
    8514             :                   break;
    8515           0 :                 switch (Mnemonic[12]) {
    8516             :                 default: break;
    8517             :                 case '1':        // 1 string to match.
    8518           0 :                   if (memcmp(Mnemonic.data()+13, "6_sdwa", 6) != 0)
    8519             :                     break;
    8520           0 :                   Mnemonic = "v_cmpx_ngt_f16";         // "v_cmpx_ngt_f16_sdwa"
    8521           0 :                   return;
    8522             :                 case '3':        // 1 string to match.
    8523           0 :                   if (memcmp(Mnemonic.data()+13, "2_sdwa", 6) != 0)
    8524             :                     break;
    8525           0 :                   Mnemonic = "v_cmpx_ngt_f32";         // "v_cmpx_ngt_f32_sdwa"
    8526           0 :                   return;
    8527             :                 }
    8528             :                 break;
    8529             :               }
    8530             :               break;
    8531           0 :             case 'l':    // 6 strings to match.
    8532           0 :               switch (Mnemonic[9]) {
    8533             :               default: break;
    8534             :               case 'e':  // 2 strings to match.
    8535           0 :                 if (memcmp(Mnemonic.data()+10, "_f", 2) != 0)
    8536             :                   break;
    8537           0 :                 switch (Mnemonic[12]) {
    8538             :                 default: break;
    8539             :                 case '1':        // 1 string to match.
    8540           0 :                   if (memcmp(Mnemonic.data()+13, "6_sdwa", 6) != 0)
    8541             :                     break;
    8542           0 :                   Mnemonic = "v_cmpx_nle_f16";         // "v_cmpx_nle_f16_sdwa"
    8543           0 :                   return;
    8544             :                 case '3':        // 1 string to match.
    8545           0 :                   if (memcmp(Mnemonic.data()+13, "2_sdwa", 6) != 0)
    8546             :                     break;
    8547           0 :                   Mnemonic = "v_cmpx_nle_f32";         // "v_cmpx_nle_f32_sdwa"
    8548           0 :                   return;
    8549             :                 }
    8550             :                 break;
    8551             :               case 'g':  // 2 strings to match.
    8552           0 :                 if (memcmp(Mnemonic.data()+10, "_f", 2) != 0)
    8553             :                   break;
    8554           0 :                 switch (Mnemonic[12]) {
    8555             :                 default: break;
    8556             :                 case '1':        // 1 string to match.
    8557           0 :                   if (memcmp(Mnemonic.data()+13, "6_sdwa", 6) != 0)
    8558             :                     break;
    8559           0 :                   Mnemonic = "v_cmpx_nlg_f16";         // "v_cmpx_nlg_f16_sdwa"
    8560           0 :                   return;
    8561             :                 case '3':        // 1 string to match.
    8562           0 :                   if (memcmp(Mnemonic.data()+13, "2_sdwa", 6) != 0)
    8563             :                     break;
    8564           0 :                   Mnemonic = "v_cmpx_nlg_f32";         // "v_cmpx_nlg_f32_sdwa"
    8565           0 :                   return;
    8566             :                 }
    8567             :                 break;
    8568             :               case 't':  // 2 strings to match.
    8569           0 :                 if (memcmp(Mnemonic.data()+10, "_f", 2) != 0)
    8570             :                   break;
    8571           0 :                 switch (Mnemonic[12]) {
    8572             :                 default: break;
    8573             :                 case '1':        // 1 string to match.
    8574           0 :                   if (memcmp(Mnemonic.data()+13, "6_sdwa", 6) != 0)
    8575             :                     break;
    8576           0 :                   Mnemonic = "v_cmpx_nlt_f16";         // "v_cmpx_nlt_f16_sdwa"
    8577           0 :                   return;
    8578             :                 case '3':        // 1 string to match.
    8579           0 :                   if (memcmp(Mnemonic.data()+13, "2_sdwa", 6) != 0)
    8580             :                     break;
    8581           0 :                   Mnemonic = "v_cmpx_nlt_f32";         // "v_cmpx_nlt_f32_sdwa"
    8582           0 :                   return;
    8583             :                 }
    8584             :                 break;
    8585             :               }
    8586             :               break;
    8587             :             }
    8588             :             break;
    8589             :           case 't':      // 2 strings to match.
    8590           0 :             if (memcmp(Mnemonic.data()+8, "ru_f", 4) != 0)
    8591             :               break;
    8592           0 :             switch (Mnemonic[12]) {
    8593             :             default: break;
    8594             :             case '1':    // 1 string to match.
    8595           0 :               if (memcmp(Mnemonic.data()+13, "6_sdwa", 6) != 0)
    8596             :                 break;
    8597           0 :               Mnemonic = "v_cmpx_tru_f16";     // "v_cmpx_tru_f16_sdwa"
    8598           0 :               return;
    8599             :             case '3':    // 1 string to match.
    8600           0 :               if (memcmp(Mnemonic.data()+13, "2_sdwa", 6) != 0)
    8601             :                 break;
    8602           0 :               Mnemonic = "v_cmpx_tru_f32";     // "v_cmpx_tru_f32_sdwa"
    8603           0 :               return;
    8604             :             }
    8605             :             break;
    8606             :           }
    8607             :           break;
    8608             :         }
    8609             :         break;
    8610             :       case 20:   // 14 strings to match.
    8611         133 :         if (memcmp(Mnemonic.data()+0, "v_", 2) != 0)
    8612             :           break;
    8613          15 :         switch (Mnemonic[2]) {
    8614             :         default: break;
    8615             :         case 'c':        // 9 strings to match.
    8616          15 :           if (memcmp(Mnemonic.data()+3, "mp", 2) != 0)
    8617             :             break;
    8618           0 :           switch (Mnemonic[5]) {
    8619             :           default: break;
    8620             :           case '_':      // 2 strings to match.
    8621           0 :             if (memcmp(Mnemonic.data()+6, "class_f", 7) != 0)
    8622             :               break;
    8623           0 :             switch (Mnemonic[13]) {
    8624             :             default: break;
    8625             :             case '1':    // 1 string to match.
    8626           0 :               if (memcmp(Mnemonic.data()+14, "6_sdwa", 6) != 0)
    8627             :                 break;
    8628           0 :               Mnemonic = "v_cmp_class_f16";    // "v_cmp_class_f16_sdwa"
    8629           0 :               return;
    8630             :             case '3':    // 1 string to match.
    8631           0 :               if (memcmp(Mnemonic.data()+14, "2_sdwa", 6) != 0)
    8632             :                 break;
    8633           0 :               Mnemonic = "v_cmp_class_f32";    // "v_cmp_class_f32_sdwa"
    8634           0 :               return;
    8635             :             }
    8636             :             break;
    8637             :           case 's':      // 7 strings to match.
    8638           0 :             if (memcmp(Mnemonic.data()+6, "x_", 2) != 0)
    8639             :               break;
    8640           0 :             switch (Mnemonic[8]) {
    8641             :             default: break;
    8642           0 :             case 'n':    // 6 strings to match.
    8643           0 :               switch (Mnemonic[9]) {
    8644             :               default: break;
    8645             :               case 'e':  // 1 string to match.
    8646           0 :                 if (memcmp(Mnemonic.data()+10, "q_f32_sdwa", 10) != 0)
    8647             :                   break;
    8648           0 :                 Mnemonic = "v_cmpsx_neq_f32";  // "v_cmpsx_neq_f32_sdwa"
    8649           0 :                 return;
    8650           0 :               case 'g':  // 2 strings to match.
    8651           0 :                 switch (Mnemonic[10]) {
    8652             :                 default: break;
    8653             :                 case 'e':        // 1 string to match.
    8654           0 :                   if (memcmp(Mnemonic.data()+11, "_f32_sdwa", 9) != 0)
    8655             :                     break;
    8656           0 :                   Mnemonic = "v_cmpsx_nge_f32";        // "v_cmpsx_nge_f32_sdwa"
    8657           0 :                   return;
    8658             :                 case 't':        // 1 string to match.
    8659           0 :                   if (memcmp(Mnemonic.data()+11, "_f32_sdwa", 9) != 0)
    8660             :                     break;
    8661           0 :                   Mnemonic = "v_cmpsx_ngt_f32";        // "v_cmpsx_ngt_f32_sdwa"
    8662           0 :                   return;
    8663             :                 }
    8664             :                 break;
    8665           0 :               case 'l':  // 3 strings to match.
    8666           0 :                 switch (Mnemonic[10]) {
    8667             :                 default: break;
    8668             :                 case 'e':        // 1 string to match.
    8669           0 :                   if (memcmp(Mnemonic.data()+11, "_f32_sdwa", 9) != 0)
    8670             :                     break;
    8671           0 :                   Mnemonic = "v_cmpsx_nle_f32";        // "v_cmpsx_nle_f32_sdwa"
    8672           0 :                   return;
    8673             :                 case 'g':        // 1 string to match.
    8674           0 :                   if (memcmp(Mnemonic.data()+11, "_f32_sdwa", 9) != 0)
    8675             :                     break;
    8676           0 :                   Mnemonic = "v_cmpsx_nlg_f32";        // "v_cmpsx_nlg_f32_sdwa"
    8677           0 :                   return;
    8678             :                 case 't':        // 1 string to match.
    8679           0 :                   if (memcmp(Mnemonic.data()+11, "_f32_sdwa", 9) != 0)
    8680             :                     break;
    8681           0 :                   Mnemonic = "v_cmpsx_nlt_f32";        // "v_cmpsx_nlt_f32_sdwa"
    8682           0 :                   return;
    8683             :                 }
    8684             :                 break;
    8685             :               }
    8686             :               break;
    8687             :             case 't':    // 1 string to match.
    8688           0 :               if (memcmp(Mnemonic.data()+9, "ru_f32_sdwa", 11) != 0)
    8689             :                 break;
    8690           0 :               Mnemonic = "v_cmpsx_tru_f32";    // "v_cmpsx_tru_f32_sdwa"
    8691           0 :               return;
    8692             :             }
    8693             :             break;
    8694             :           }
    8695             :           break;
    8696             :         case 'l':        // 1 string to match.
    8697           0 :           if (memcmp(Mnemonic.data()+3, "og_clamp_f32_sdwa", 17) != 0)
    8698             :             break;
    8699           0 :           Mnemonic = "v_log_clamp_f32";        // "v_log_clamp_f32_sdwa"
    8700           0 :           return;
    8701           0 :         case 'r':        // 3 strings to match.
    8702           0 :           switch (Mnemonic[3]) {
    8703             :           default: break;
    8704             :           case 'c':      // 2 strings to match.
    8705           0 :             if (memcmp(Mnemonic.data()+4, "p_", 2) != 0)
    8706             :               break;
    8707           0 :             switch (Mnemonic[6]) {
    8708             :             default: break;
    8709             :             case 'c':    // 1 string to match.
    8710           0 :               if (memcmp(Mnemonic.data()+7, "lamp_f32_sdwa", 13) != 0)
    8711             :                 break;
    8712           0 :               Mnemonic = "v_rcp_clamp_f32";    // "v_rcp_clamp_f32_sdwa"
    8713           0 :               return;
    8714             :             case 'i':    // 1 string to match.
    8715           0 :               if (memcmp(Mnemonic.data()+7, "flag_f32_sdwa", 13) != 0)
    8716             :                 break;
    8717           0 :               Mnemonic = "v_rcp_iflag_f32";    // "v_rcp_iflag_f32_sdwa"
    8718           0 :               return;
    8719             :             }
    8720             :             break;
    8721             :           case 's':      // 1 string to match.
    8722           0 :             if (memcmp(Mnemonic.data()+4, "q_clamp_f32_sdwa", 16) != 0)
    8723             :               break;
    8724           0 :             Mnemonic = "v_rsq_clamp_f32";      // "v_rsq_clamp_f32_sdwa"
    8725           0 :             return;
    8726             :           }
    8727             :           break;
    8728             :         case 's':        // 1 string to match.
    8729           0 :           if (memcmp(Mnemonic.data()+3, "at_pk_u8_i16_sdwa", 17) != 0)
    8730             :             break;
    8731           0 :           Mnemonic = "v_sat_pk_u8_i16";        // "v_sat_pk_u8_i16_sdwa"
    8732           0 :           return;
    8733             :         }
    8734             :         break;
    8735             :       case 21:   // 19 strings to match.
    8736          37 :         if (memcmp(Mnemonic.data()+0, "v_", 2) != 0)
    8737             :           break;
    8738           0 :         switch (Mnemonic[2]) {
    8739             :         default: break;
    8740           0 :         case 'c':        // 7 strings to match.
    8741           0 :           switch (Mnemonic[3]) {
    8742             :           default: break;
    8743             :           case 'm':      // 2 strings to match.
    8744           0 :             if (memcmp(Mnemonic.data()+4, "px_class_f", 10) != 0)
    8745             :               break;
    8746           0 :             switch (Mnemonic[14]) {
    8747             :             default: break;
    8748             :             case '1':    // 1 string to match.
    8749           0 :               if (memcmp(Mnemonic.data()+15, "6_sdwa", 6) != 0)
    8750             :                 break;
    8751           0 :               Mnemonic = "v_cmpx_class_f16";   // "v_cmpx_class_f16_sdwa"
    8752           0 :               return;
    8753             :             case '3':    // 1 string to match.
    8754           0 :               if (memcmp(Mnemonic.data()+15, "2_sdwa", 6) != 0)
    8755             :                 break;
    8756           0 :               Mnemonic = "v_cmpx_class_f32";   // "v_cmpx_class_f32_sdwa"
    8757           0 :               return;
    8758             :             }
    8759             :             break;
    8760             :           case 'v':      // 5 strings to match.
    8761           0 :             if (memcmp(Mnemonic.data()+4, "t_", 2) != 0)
    8762             :               break;
    8763           0 :             switch (Mnemonic[6]) {
    8764             :             default: break;
    8765             :             case 'f':    // 4 strings to match.
    8766           0 :               if (memcmp(Mnemonic.data()+7, "32_ubyte", 8) != 0)
    8767             :                 break;
    8768           0 :               switch (Mnemonic[15]) {
    8769             :               default: break;
    8770             :               case '0':  // 1 string to match.
    8771           0 :                 if (memcmp(Mnemonic.data()+16, "_sdwa", 5) != 0)
    8772             :                   break;
    8773           0 :                 Mnemonic = "v_cvt_f32_ubyte0";         // "v_cvt_f32_ubyte0_sdwa"
    8774           0 :                 return;
    8775             :               case '1':  // 1 string to match.
    8776           0 :                 if (memcmp(Mnemonic.data()+16, "_sdwa", 5) != 0)
    8777             :                   break;
    8778           0 :                 Mnemonic = "v_cvt_f32_ubyte1";         // "v_cvt_f32_ubyte1_sdwa"
    8779           0 :                 return;
    8780             :               case '2':  // 1 string to match.
    8781           0 :                 if (memcmp(Mnemonic.data()+16, "_sdwa", 5) != 0)
    8782             :                   break;
    8783           0 :                 Mnemonic = "v_cvt_f32_ubyte2";         // "v_cvt_f32_ubyte2_sdwa"
    8784           0 :                 return;
    8785             :               case '3':  // 1 string to match.
    8786           0 :                 if (memcmp(Mnemonic.data()+16, "_sdwa", 5) != 0)
    8787             :                   break;
    8788           0 :                 Mnemonic = "v_cvt_f32_ubyte3";         // "v_cvt_f32_ubyte3_sdwa"
    8789           0 :                 return;
    8790             :               }
    8791             :               break;
    8792             :             case 'o':    // 1 string to match.
    8793           0 :               if (memcmp(Mnemonic.data()+7, "ff_f32_i4_sdwa", 14) != 0)
    8794             :                 break;
    8795           0 :               Mnemonic = "v_cvt_off_f32_i4";   // "v_cvt_off_f32_i4_sdwa"
    8796           0 :               return;
    8797             :             }
    8798             :             break;
    8799             :           }
    8800             :           break;
    8801             :         case 'e':        // 1 string to match.
    8802           0 :           if (memcmp(Mnemonic.data()+3, "xp_legacy_f32_sdwa", 18) != 0)
    8803             :             break;
    8804           0 :           Mnemonic = "v_exp_legacy_f32";       // "v_exp_legacy_f32_sdwa"
    8805           0 :           return;
    8806             :         case 'f':        // 2 strings to match.
    8807           0 :           if (memcmp(Mnemonic.data()+3, "rexp_mant_f", 11) != 0)
    8808             :             break;
    8809           0 :           switch (Mnemonic[14]) {
    8810             :           default: break;
    8811             :           case '1':      // 1 string to match.
    8812           0 :             if (memcmp(Mnemonic.data()+15, "6_sdwa", 6) != 0)
    8813             :               break;
    8814           0 :             Mnemonic = "v_frexp_mant_f16";     // "v_frexp_mant_f16_sdwa"
    8815           0 :             return;
    8816             :           case '3':      // 1 string to match.
    8817           0 :             if (memcmp(Mnemonic.data()+15, "2_sdwa", 6) != 0)
    8818             :               break;
    8819           0 :             Mnemonic = "v_frexp_mant_f32";     // "v_frexp_mant_f32_sdwa"
    8820           0 :             return;
    8821             :           }
    8822             :           break;
    8823             :         case 'l':        // 1 string to match.
    8824           0 :           if (memcmp(Mnemonic.data()+3, "og_legacy_f32_sdwa", 18) != 0)
    8825             :             break;
    8826           0 :           Mnemonic = "v_log_legacy_f32";       // "v_log_legacy_f32_sdwa"
    8827           0 :           return;
    8828           0 :         case 'm':        // 6 strings to match.
    8829           0 :           switch (Mnemonic[3]) {
    8830             :           default: break;
    8831           0 :           case 'a':      // 2 strings to match.
    8832           0 :             switch (Mnemonic[4]) {
    8833             :             default: break;
    8834             :             case 'c':    // 1 string to match.
    8835           0 :               if (memcmp(Mnemonic.data()+5, "_legacy_f32_sdwa", 16) != 0)
    8836             :                 break;
    8837           0 :               Mnemonic = "v_mac_legacy_f32";   // "v_mac_legacy_f32_sdwa"
    8838           0 :               return;
    8839             :             case 'x':    // 1 string to match.
    8840           0 :               if (memcmp(Mnemonic.data()+5, "_legacy_f32_sdwa", 16) != 0)
    8841             :                 break;
    8842           0 :               Mnemonic = "v_max_legacy_f32";   // "v_max_legacy_f32_sdwa"
    8843           0 :               return;
    8844             :             }
    8845             :             break;
    8846             :           case 'i':      // 1 string to match.
    8847           0 :             if (memcmp(Mnemonic.data()+4, "n_legacy_f32_sdwa", 17) != 0)
    8848             :               break;
    8849           0 :             Mnemonic = "v_min_legacy_f32";     // "v_min_legacy_f32_sdwa"
    8850           0 :             return;
    8851             :           case 'u':      // 3 strings to match.
    8852           0 :             if (memcmp(Mnemonic.data()+4, "l_", 2) != 0)
    8853             :               break;
    8854           0 :             switch (Mnemonic[6]) {
    8855             :             default: break;
    8856             :             case 'h':    // 2 strings to match.
    8857           0 :               if (memcmp(Mnemonic.data()+7, "i_", 2) != 0)
    8858             :                 break;
    8859           0 :               switch (Mnemonic[9]) {
    8860             :               default: break;
    8861             :               case 'i':  // 1 string to match.
    8862           0 :                 if (memcmp(Mnemonic.data()+10, "32_i24_sdwa", 11) != 0)
    8863             :                   break;
    8864           0 :                 Mnemonic = "v_mul_hi_i32_i24";         // "v_mul_hi_i32_i24_sdwa"
    8865           0 :                 return;
    8866             :               case 'u':  // 1 string to match.
    8867           0 :                 if (memcmp(Mnemonic.data()+10, "32_u24_sdwa", 11) != 0)
    8868             :                   break;
    8869           0 :                 Mnemonic = "v_mul_hi_u32_u24";         // "v_mul_hi_u32_u24_sdwa"
    8870           0 :                 return;
    8871             :               }
    8872             :               break;
    8873             :             case 'l':    // 1 string to match.
    8874           0 :               if (memcmp(Mnemonic.data()+7, "egacy_f32_sdwa", 14) != 0)
    8875             :                 break;
    8876           0 :               Mnemonic = "v_mul_legacy_f32";   // "v_mul_legacy_f32_sdwa"
    8877           0 :               return;
    8878             :             }
    8879             :             break;
    8880             :           }
    8881             :           break;
    8882           0 :         case 'r':        // 2 strings to match.
    8883           0 :           switch (Mnemonic[3]) {
    8884             :           default: break;
    8885             :           case 'c':      // 1 string to match.
    8886           0 :             if (memcmp(Mnemonic.data()+4, "p_legacy_f32_sdwa", 17) != 0)
    8887             :               break;
    8888           0 :             Mnemonic = "v_rcp_legacy_f32";     // "v_rcp_legacy_f32_sdwa"
    8889           0 :             return;
    8890             :           case 's':      // 1 string to match.
    8891           0 :             if (memcmp(Mnemonic.data()+4, "q_legacy_f32_sdwa", 17) != 0)
    8892             :               break;
    8893           0 :             Mnemonic = "v_rsq_legacy_f32";     // "v_rsq_legacy_f32_sdwa"
    8894           0 :             return;
    8895             :           }
    8896             :           break;
    8897             :         }
    8898             :         break;
    8899             :       case 22:   // 2 strings to match.
    8900         141 :         if (memcmp(Mnemonic.data()+0, "v_cvt_", 6) != 0)
    8901             :           break;
    8902           0 :         switch (Mnemonic[6]) {
    8903             :         default: break;
    8904             :         case 'f':        // 1 string to match.
    8905           0 :           if (memcmp(Mnemonic.data()+7, "lr_i32_f32_sdwa", 15) != 0)
    8906             :             break;
    8907           0 :           Mnemonic = "v_cvt_flr_i32_f32";      // "v_cvt_flr_i32_f32_sdwa"
    8908           0 :           return;
    8909             :         case 'r':        // 1 string to match.
    8910           0 :           if (memcmp(Mnemonic.data()+7, "pi_i32_f32_sdwa", 15) != 0)
    8911             :             break;
    8912           0 :           Mnemonic = "v_cvt_rpi_i32_f32";      // "v_cvt_rpi_i32_f32_sdwa"
    8913           0 :           return;
    8914             :         }
    8915             :         break;
    8916             :       case 23:   // 2 strings to match.
    8917          80 :         if (memcmp(Mnemonic.data()+0, "v_cvt_norm_", 11) != 0)
    8918             :           break;
    8919           0 :         switch (Mnemonic[11]) {
    8920             :         default: break;
    8921             :         case 'i':        // 1 string to match.
    8922           0 :           if (memcmp(Mnemonic.data()+12, "16_f16_sdwa", 11) != 0)
    8923             :             break;
    8924           0 :           Mnemonic = "v_cvt_norm_i16_f16";     // "v_cvt_norm_i16_f16_sdwa"
    8925           0 :           return;
    8926             :         case 'u':        // 1 string to match.
    8927           0 :           if (memcmp(Mnemonic.data()+12, "16_f16_sdwa", 11) != 0)
    8928             :             break;
    8929           0 :           Mnemonic = "v_cvt_norm_u16_f16";     // "v_cvt_norm_u16_f16_sdwa"
    8930           0 :           return;
    8931             :         }
    8932             :         break;
    8933             :       case 24:   // 2 strings to match.
    8934          15 :         if (memcmp(Mnemonic.data()+0, "v_frexp_exp_i", 13) != 0)
    8935             :           break;
    8936           0 :         switch (Mnemonic[13]) {
    8937             :         default: break;
    8938             :         case '1':        // 1 string to match.
    8939           0 :           if (memcmp(Mnemonic.data()+14, "6_f16_sdwa", 10) != 0)
    8940             :             break;
    8941           0 :           Mnemonic = "v_frexp_exp_i16_f16";    // "v_frexp_exp_i16_f16_sdwa"
    8942           0 :           return;
    8943             :         case '3':        // 1 string to match.
    8944           0 :           if (memcmp(Mnemonic.data()+14, "2_f32_sdwa", 10) != 0)
    8945             :             break;
    8946           0 :           Mnemonic = "v_frexp_exp_i32_f32";    // "v_frexp_exp_i32_f32_sdwa"
    8947           0 :           return;
    8948             :         }
    8949             :         break;
    8950             :       case 31:   // 1 string to match.
    8951           0 :         if (memcmp(Mnemonic.data()+0, "v_screen_partition_4se_b32_sdwa", 31) != 0)
    8952             :           break;
    8953           0 :         Mnemonic = "v_screen_partition_4se_b32";       // "v_screen_partition_4se_b32_sdwa"
    8954           0 :         return;
    8955             :       }
    8956             :     break;
    8957             :     case 3:
    8958             :     break;
    8959             :     case 4:
    8960             :     break;
    8961             :   }
    8962             : }
    8963             : 
    8964             : enum {
    8965             :   Tie0_1_1,
    8966             :   Tie1_2_2,
    8967             : };
    8968             : 
    8969             : const char TiedAsmOperandTable[][3] = {
    8970             :   /* Tie0_1_1 */ { 0, 1, 1 },
    8971             :   /* Tie1_2_2 */ { 1, 2, 2 },
    8972             : };
    8973             : 
    8974             : namespace {
    8975             : enum OperatorConversionKind {
    8976             :   CVT_Done,
    8977             :   CVT_Reg,
    8978             :   CVT_Tied,
    8979             :   CVT_95_addImmOperands,
    8980             :   CVT_95_Reg,
    8981             :   CVT_imm_95_0,
    8982             :   CVT_cvtMubufAtomic,
    8983             :   CVT_cvtMubufAtomicReturn,
    8984             :   CVT_cvtMubufLds,
    8985             :   CVT_cvtMubuf,
    8986             :   CVT_cvtDS,
    8987             :   CVT_cvtDSGds,
    8988             :   CVT_cvtDSOffset01,
    8989             :   CVT_cvtExp,
    8990             :   CVT_95_addImmOperands_95_defaultOffsetU12,
    8991             :   CVT_95_addImmOperands_95_defaultSLC,
    8992             :   CVT_95_addImmOperands_95_defaultGLC,
    8993             :   CVT_95_addImmOperands_95_defaultOffsetS13,
    8994             :   CVT_cvtMIMGAtomic,
    8995             :   CVT_95_addImmOperands_95_defaultDMask,
    8996             :   CVT_95_addImmOperands_95_defaultUNorm,
    8997             :   CVT_95_addImmOperands_95_defaultR128,
    8998             :   CVT_95_addImmOperands_95_defaultTFE,
    8999             :   CVT_95_addImmOperands_95_defaultLWE,
    9000             :   CVT_95_addImmOperands_95_defaultDA,
    9001             :   CVT_cvtMIMG,
    9002             :   CVT_95_addRegOrImmOperands,
    9003             :   CVT_95_addImmOperands_95_defaultSMRDOffset20,
    9004             :   CVT_95_addSoppBrTargetOperands,
    9005             :   CVT_95_addImmOperands_95_defaultSMRDOffset8,
    9006             :   CVT_95_addImmOperands_95_defaultSMRDLiteralOffset,
    9007             :   CVT_cvtMtbuf,
    9008             :   CVT_95_addImmOperands_95_defaultRowMask,
    9009             :   CVT_95_addImmOperands_95_defaultBankMask,
    9010             :   CVT_95_addImmOperands_95_defaultBoundCtrl,
    9011             :   CVT_cvtSdwaVOP2b,
    9012             :   CVT_cvtVOP3,
    9013             :   CVT_cvtDPP,
    9014             :   CVT_cvtSdwaVOP2,
    9015             :   CVT_cvtVOP3OpSel,
    9016             :   CVT_cvtSdwaVOP1,
    9017             :   CVT_cvtSdwaVOPC,
    9018             :   CVT_cvtVOP3P,
    9019             :   CVT_cvtVOP3Interp,
    9020             :   CVT_95_addKImmFP16Operands,
    9021             :   CVT_95_addKImmFP32Operands,
    9022             :   CVT_NUM_CONVERTERS
    9023             : };
    9024             : 
    9025             : enum InstructionConversionKind {
    9026             :   Convert_NoOperands,
    9027             :   Convert__Imm1_1,
    9028             :   Convert__Imm1_1__Imm1_3,
    9029             :   Convert__Reg1_2__Imm1_0,
    9030             :   Convert__Reg1_4__imm_95_0__Imm1_0__Reg1_1__Reg1_2,
    9031             :   Convert__Reg1_0,
    9032             :   Convert__Imm1_2__Imm1_0,
    9033             :   ConvertCustom_cvtMubufAtomic,
    9034             :   ConvertCustom_cvtMubufAtomicReturn,
    9035             :   ConvertCustom_cvtMubufLds,
    9036             :   ConvertCustom_cvtMubuf,
    9037             :   ConvertCustom_cvtDS,
    9038             :   ConvertCustom_cvtDSGds,
    9039             :   ConvertCustom_cvtDSOffset01,
    9040             :   ConvertCustom_cvtExp,
    9041             :   Convert__Reg1_0__Reg1_1__ImmOffsetU121_2__ImmSLC1_3,
    9042             :   Convert__Reg1_0__Reg1_1__Reg1_2__ImmOffsetU121_3__ImmSLC1_5,
    9043             :   Convert__Reg1_0__Reg1_1__ImmOffsetU121_2__ImmGLC1_3__ImmSLC1_4,
    9044             :   Convert__Reg1_0__Reg1_1__ImmOffsetU121_2__ImmGLC1_3__ImmSLC1_4__imm_95_0,
    9045             :   Convert__Reg1_0__Reg1_1__ImmOffsetS131_3__ImmSLC1_4,
    9046             :   Convert__Reg1_0__Reg1_1__Reg1_2__ImmOffsetS131_3__ImmSLC1_4,
    9047             :   Convert__Reg1_0__Reg1_1__Reg1_2__ImmOffsetS131_4__ImmSLC1_6,
    9048             :   Convert__Reg1_0__Reg1_1__Reg1_2__Reg1_3__ImmOffsetS131_4__ImmSLC1_6,
    9049             :   Convert__Reg1_0__Reg1_1__ImmOffsetS131_3__ImmGLC1_4__ImmSLC1_5,
    9050             :   Convert__Reg1_0__Reg1_1__Reg1_2__ImmOffsetS131_3__ImmGLC1_4__ImmSLC1_5,
    9051             :   Convert__Reg1_0__Reg1_1__ImmOffsetS131_3__ImmGLC1_4__ImmSLC1_5__imm_95_0,
    9052             :   Convert__Reg1_0__Reg1_1__Reg1_2__ImmOffsetS131_3__ImmGLC1_4__ImmSLC1_5__imm_95_0,
    9053             :   ConvertCustom_cvtMIMGAtomic,
    9054             :   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,
    9055             :   ConvertCustom_cvtMIMG,
    9056             :   Convert__Reg1_0__SSrcB321_1,
    9057             :   Convert__Reg1_0__SSrcB321_1__SSrcB321_2,
    9058             :   Convert__Reg1_0__Tie0_1_1__S16Imm1_1,
    9059             :   Convert__Reg1_0__SSrcB641_1__SSrcB641_2,
    9060             :   Convert__Reg1_0__SSrcB641_1,
    9061             :   Convert__Reg1_0__SSrcB641_1__SSrcB321_2,
    9062             :   Convert__Imm1_0__Reg1_1__Reg1_2,
    9063             :   Convert__Imm1_0__Reg1_1__ImmSMRDOffset201_2,
    9064             :   Convert__Reg1_0__Reg1_1__Reg1_2,
    9065             :   Convert__Reg1_0__Reg1_1__ImmSMRDOffset201_2,
    9066             :   Convert__Reg1_0__Tie0_1_1__Reg1_1__Reg1_2,
    9067             :   Convert__Reg1_0__Tie0_1_1__Reg1_1__ImmSMRDOffset201_2,
    9068             :   Convert__SSrcB321_0__SSrcB321_1,
    9069             :   Convert__SSrcB641_0__SSrcB321_1,
    9070             :   Convert__SoppBrTarget1_0,
    9071             :   Convert__Reg1_0__Reg1_1__Reg1_2__ImmGLC1_3,
    9072             :   Convert__Reg1_0__Reg1_1__ImmSMRDOffset81_2__ImmGLC1_3,
    9073             :   Convert__Reg1_0__Reg1_1__ImmSMRDOffset201_2__ImmGLC1_3,
    9074             :   Convert__Reg1_0__Reg1_1__ImmSMRDLiteralOffset1_2__ImmGLC1_3,
    9075             :   Convert__Reg1_0__S16Imm1_1,
    9076             :   Convert__SCSrcB641_0__SCSrcB641_1,
    9077             :   Convert__SSrcB641_0__SSrcB641_1,
    9078             :   Convert__Reg1_0__U16Imm1_1,
    9079             :   Convert__Reg1_0__Reg1_1,
    9080             :   Convert__Reg1_0__ImmSMRDOffset201_1,
    9081             :   Convert__Imm1_0,
    9082             :   Convert__Reg1_0__ImmHwreg1_1,
    9083             :   Convert__SendMsg1_0,
    9084             :   Convert__SSrcB321_0,
    9085             :   Convert__GPRIdxMode1_0,
    9086             :   Convert__SSrcB321_0__GPRIdxMode1_1,
    9087             :   Convert__Reg1_1__ImmHwreg1_0,
    9088             :   Convert__Imm1_1__ImmHwreg1_0,
    9089             :   Convert__SWaitCnt1_0,
    9090             :   Convert__Reg1_0__Reg1_2__ImmOffsetS131_3__ImmGLC1_4__ImmSLC1_5,
    9091             :   Convert__Reg1_1__Reg1_2__ImmOffsetS131_3__ImmGLC1_4__ImmSLC1_5,
    9092             :   Convert__Reg1_1__Reg1_0__ImmOffsetS131_3__ImmGLC1_4__ImmSLC1_5,
    9093             :   ConvertCustom_cvtMtbuf,
    9094             :   Convert__Reg1_0__VCSrcB321_1__VCSrcB321_2__VCSrcB321_3,
    9095             :   Convert__Reg1_0__VSrcB321_2__Reg1_3,
    9096             :   Convert__Reg1_0__Reg1_1__VCSrcB321_2__VCSrcB321_3,
    9097             :   Convert__Reg1_0__Tie0_1_1__Reg1_2__Reg1_3__ImmDPPCtrl1_4__ImmRowMask1_5__ImmBankMask1_6__ImmBoundCtrl1_7,
    9098             :   ConvertCustom_cvtSdwaVOP2b,
    9099             :   Convert__Reg1_0__VSrcF161_1__Reg1_2,
    9100             :   ConvertCustom_cvtVOP3,
    9101             :   ConvertCustom_cvtDPP,
    9102             :   ConvertCustom_cvtSdwaVOP2,
    9103             :   Convert__Reg1_0__VSrcF321_1__Reg1_2,
    9104             :   ConvertCustom_cvtVOP3OpSel,
    9105             :   Convert__Reg1_0__VCSrcB321_1__VCSrcB321_2,
    9106             :   Convert__Reg1_0__VSrcB161_1__Reg1_2,
    9107             :   Convert__Reg1_0__VCSrcB161_1__VCSrcB161_2,
    9108             :   Convert__Reg1_0__Tie0_1_1__Reg1_1__Reg1_2__ImmDPPCtrl1_3__ImmRowMask1_4__ImmBankMask1_5__ImmBoundCtrl1_6,
    9109             :   Convert__Reg1_0__VSrcB321_1__Reg1_2,
    9110             :   Convert__Reg1_0__VCSrcB321_2__Reg1_3,
    9111             :   Convert__Reg1_0__Reg1_1__VCSrcB321_2__VCSrcB321_3__Reg1_4,
    9112             :   Convert__Reg1_0__Tie0_1_1__Reg1_2__Reg1_3__ImmDPPCtrl1_5__ImmRowMask1_6__ImmBankMask1_7__ImmBoundCtrl1_8,
    9113             :   Convert__Reg1_0__VCSrcB641_1__VCSrcB321_2,
    9114             :   Convert__Reg1_0__VCSrcB321_1__VCSrcB641_2,
    9115             :   Convert__Reg1_0__VSrcB321_1,
    9116             :   Convert__Reg1_0__VCSrcB321_1,
    9117             :   Convert__Reg1_0__Tie0_1_1__Reg1_1__ImmDPPCtrl1_2__ImmRowMask1_3__ImmBankMask1_4__ImmBoundCtrl1_5,
    9118             :   ConvertCustom_cvtSdwaVOP1,
    9119             :   Convert__Reg1_0__VSrcF161_1,
    9120             :   Convert__Reg1_0__VSrcF321_1,
    9121             :   Convert__Reg1_0__VSrcF641_1,
    9122             :   Convert__VSrcF161_1__Reg1_2,
    9123             :   ConvertCustom_cvtSdwaVOPC,
    9124             :   Convert__VSrcF321_1__Reg1_2,
    9125             :   Convert__VSrcF641_1__Reg1_2,
    9126             :   Convert__VSrcB161_1__Reg1_2,
    9127             :   Convert__VSrcB321_1__Reg1_2,
    9128             :   Convert__VSrcB641_1__Reg1_2,
    9129             :   Convert__Reg1_0__VCSrcB641_1__VCSrcB641_2,
    9130             :   Convert__Reg1_0__VCSrcB321_1__Reg1_2,
    9131             :   Convert__Reg1_0__VCSrcB321_1__VCSrcB321_2__Reg1_3,
    9132             :   Convert__Reg1_0__Tie0_1_1__Reg1_1__Reg1_2__ImmDPPCtrl1_4__ImmRowMask1_5__ImmBankMask1_6__ImmBoundCtrl1_7,
    9133             :   Convert__Reg1_0__VSrcB161_1,
    9134             :   Convert__Reg1_0__imm_95_0__VCSrcF321_1__imm_95_0__VCSrcF321_2__imm_95_0,
    9135             :   Convert__Reg1_0__Reg1_1__VCSrcF321_2__VCSrcF321_3__VCSrcF321_4,
    9136             :   Convert__Reg1_0__Reg1_1__VCSrcF641_2__VCSrcF641_3__VCSrcF641_4,
    9137             :   ConvertCustom_cvtVOP3P,
    9138             :   Convert__Reg1_0__VSrcF321_1__Reg1_2__Tie0_1_1,
    9139             :   Convert__Reg1_0__InterpSlot1_1__Attr1_2__AttrChan1_3,
    9140             :   ConvertCustom_cvtVOP3Interp,
    9141             :   Convert__Reg1_0__Reg1_1__Attr1_2__AttrChan1_3,
    9142             :   Convert__Reg1_0__Tie0_1_1__Reg1_1__Attr1_2__AttrChan1_3,
    9143             :   Convert__Reg1_0__imm_95_0__VCSrcF321_1__imm_95_0__VCSrcF321_2__imm_95_0__imm_95_0,
    9144             :   Convert__Reg1_0__VSrcF161_1__Reg1_2__Tie0_1_1,
    9145             :   Convert__Reg1_0__VCSrcF321_1__Reg1_2__KImmFP161_3,
    9146             :   Convert__Reg1_0__VCSrcF321_1__Reg1_2__KImmFP321_3,
    9147             :   Convert__Reg1_0__VCSrcF321_1__KImmFP161_2__Reg1_3,
    9148             :   Convert__Reg1_0__VCSrcF321_1__KImmFP321_2__Reg1_3,
    9149             :   Convert__ImmDPPCtrl1_0__ImmRowMask1_1__ImmBankMask1_2__ImmBoundCtrl1_3,
    9150             :   Convert__Reg1_0__Reg1_1__SCSrcB321_2,
    9151             :   Convert__Reg1_0__Reg1_1__Tie1_2_2__Tie0_1_1,
    9152             :   Convert__Reg1_0__SSrcB321_1__SCSrcB321_2__Tie0_1_1,
    9153             :   Convert__Reg1_0__SCSrcB321_1__SCSrcB321_2__Tie0_1_1,
    9154             :   CVT_NUM_SIGNATURES
    9155             : };
    9156             : 
    9157             : } // end anonymous namespace
    9158             : 
    9159             : static const uint8_t ConversionTable[CVT_NUM_SIGNATURES][25] = {
    9160             :   // Convert_NoOperands
    9161             :   { CVT_Done },
    9162             :   // Convert__Imm1_1
    9163             :   { CVT_95_addImmOperands, 2, CVT_Done },
    9164             :   // Convert__Imm1_1__Imm1_3
    9165             :   { CVT_95_addImmOperands, 2, CVT_95_addImmOperands, 4, CVT_Done },
    9166             :   // Convert__Reg1_2__Imm1_0
    9167             :   { CVT_95_Reg, 3, CVT_95_addImmOperands, 1, CVT_Done },
    9168             :   // Convert__Reg1_4__imm_95_0__Imm1_0__Reg1_1__Reg1_2
    9169             :   { CVT_95_Reg, 5, CVT_imm_95_0, 0, CVT_95_addImmOperands, 1, CVT_95_Reg, 2, CVT_95_Reg, 3, CVT_Done },
    9170             :   // Convert__Reg1_0
    9171             :   { CVT_95_Reg, 1, CVT_Done },
    9172             :   // Convert__Imm1_2__Imm1_0
    9173             :   { CVT_95_addImmOperands, 3, CVT_95_addImmOperands, 1, CVT_Done },
    9174             :   // ConvertCustom_cvtMubufAtomic
    9175             :   { CVT_cvtMubufAtomic, 0, CVT_Done },
    9176             :   // ConvertCustom_cvtMubufAtomicReturn
    9177             :   { CVT_cvtMubufAtomicReturn, 0, CVT_Done },
    9178             :   // ConvertCustom_cvtMubufLds
    9179             :   { CVT_cvtMubufLds, 0, CVT_Done },
    9180             :   // ConvertCustom_cvtMubuf
    9181             :   { CVT_cvtMubuf, 0, CVT_Done },
    9182             :   // ConvertCustom_cvtDS
    9183             :   { CVT_cvtDS, 0, CVT_Done },
    9184             :   // ConvertCustom_cvtDSGds
    9185             :   { CVT_cvtDSGds, 0, CVT_Done },
    9186             :   // ConvertCustom_cvtDSOffset01
    9187             :   { CVT_cvtDSOffset01, 0, CVT_Done },
    9188             :   // ConvertCustom_cvtExp
    9189             :   { CVT_cvtExp, 0, CVT_Done },
    9190             :   // Convert__Reg1_0__Reg1_1__ImmOffsetU121_2__ImmSLC1_3
    9191             :   { CVT_95_Reg, 1, CVT_95_Reg, 2, CVT_95_addImmOperands_95_defaultOffsetU12, 3, CVT_95_addImmOperands_95_defaultSLC, 4, CVT_Done },
    9192             :   // Convert__Reg1_0__Reg1_1__Reg1_2__ImmOffsetU121_3__ImmSLC1_5
    9193             :   { 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 },
    9194             :   // Convert__Reg1_0__Reg1_1__ImmOffsetU121_2__ImmGLC1_3__ImmSLC1_4
    9195             :   { 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 },
    9196             :   // Convert__Reg1_0__Reg1_1__ImmOffsetU121_2__ImmGLC1_3__ImmSLC1_4__imm_95_0
    9197             :   { 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_imm_95_0, 0, CVT_Done },
    9198             :   // Convert__Reg1_0__Reg1_1__ImmOffsetS131_3__ImmSLC1_4
    9199             :   { CVT_95_Reg, 1, CVT_95_Reg, 2, CVT_95_addImmOperands_95_defaultOffsetS13, 4, CVT_95_addImmOperands_95_defaultSLC, 5, CVT_Done },
    9200             :   // Convert__Reg1_0__Reg1_1__Reg1_2__ImmOffsetS131_3__ImmSLC1_4
    9201             :   { 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 },
    9202             :   // Convert__Reg1_0__Reg1_1__Reg1_2__ImmOffsetS131_4__ImmSLC1_6
    9203             :   { 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 },
    9204             :   // Convert__Reg1_0__Reg1_1__Reg1_2__Reg1_3__ImmOffsetS131_4__ImmSLC1_6
    9205             :   { 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 },
    9206             :   // Convert__Reg1_0__Reg1_1__ImmOffsetS131_3__ImmGLC1_4__ImmSLC1_5
    9207             :   { 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 },
    9208             :   // Convert__Reg1_0__Reg1_1__Reg1_2__ImmOffsetS131_3__ImmGLC1_4__ImmSLC1_5
    9209             :   { 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 },
    9210             :   // Convert__Reg1_0__Reg1_1__ImmOffsetS131_3__ImmGLC1_4__ImmSLC1_5__imm_95_0
    9211             :   { 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_imm_95_0, 0, CVT_Done },
    9212             :   // Convert__Reg1_0__Reg1_1__Reg1_2__ImmOffsetS131_3__ImmGLC1_4__ImmSLC1_5__imm_95_0
    9213             :   { 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_imm_95_0, 0, CVT_Done },
    9214             :   // ConvertCustom_cvtMIMGAtomic
    9215             :   { CVT_cvtMIMGAtomic, 0, CVT_Done },
    9216             :   // 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
    9217             :   { 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 },
    9218             :   // ConvertCustom_cvtMIMG
    9219             :   { CVT_cvtMIMG, 0, CVT_Done },
    9220             :   // Convert__Reg1_0__SSrcB321_1
    9221             :   { CVT_95_Reg, 1, CVT_95_addRegOrImmOperands, 2, CVT_Done },
    9222             :   // Convert__Reg1_0__SSrcB321_1__SSrcB321_2
    9223             :   { CVT_95_Reg, 1, CVT_95_addRegOrImmOperands, 2, CVT_95_addRegOrImmOperands, 3, CVT_Done },
    9224             :   // Convert__Reg1_0__Tie0_1_1__S16Imm1_1
    9225             :   { CVT_95_Reg, 1, CVT_Tied, Tie0_1_1, CVT_95_addImmOperands, 2, CVT_Done },
    9226             :   // Convert__Reg1_0__SSrcB641_1__SSrcB641_2
    9227             :   { CVT_95_Reg, 1, CVT_95_addRegOrImmOperands, 2, CVT_95_addRegOrImmOperands, 3, CVT_Done },
    9228             :   // Convert__Reg1_0__SSrcB641_1
    9229             :   { CVT_95_Reg, 1, CVT_95_addRegOrImmOperands, 2, CVT_Done },
    9230             :   // Convert__Reg1_0__SSrcB641_1__SSrcB321_2
    9231             :   { CVT_95_Reg, 1, CVT_95_addRegOrImmOperands, 2, CVT_95_addRegOrImmOperands, 3, CVT_Done },
    9232             :   // Convert__Imm1_0__Reg1_1__Reg1_2
    9233             :   { CVT_95_addImmOperands, 1, CVT_95_Reg, 2, CVT_95_Reg, 3, CVT_Done },
    9234             :   // Convert__Imm1_0__Reg1_1__ImmSMRDOffset201_2
    9235             :   { CVT_95_addImmOperands, 1, CVT_95_Reg, 2, CVT_95_addImmOperands_95_defaultSMRDOffset20, 3, CVT_Done },
    9236             :   // Convert__Reg1_0__Reg1_1__Reg1_2
    9237             :   { CVT_95_Reg, 1, CVT_95_Reg, 2, CVT_95_Reg, 3, CVT_Done },
    9238             :   // Convert__Reg1_0__Reg1_1__ImmSMRDOffset201_2
    9239             :   { CVT_95_Reg, 1, CVT_95_Reg, 2, CVT_95_addImmOperands_95_defaultSMRDOffset20, 3, CVT_Done },
    9240             :   // Convert__Reg1_0__Tie0_1_1__Reg1_1__Reg1_2
    9241             :   { CVT_95_Reg, 1, CVT_Tied, Tie0_1_1, CVT_95_Reg, 2, CVT_95_Reg, 3, CVT_Done },
    9242             :   // Convert__Reg1_0__Tie0_1_1__Reg1_1__ImmSMRDOffset201_2
    9243             :   { CVT_95_Reg, 1, CVT_Tied, Tie0_1_1, CVT_95_Reg, 2, CVT_95_addImmOperands_95_defaultSMRDOffset20, 3, CVT_Done },
    9244             :   // Convert__SSrcB321_0__SSrcB321_1
    9245             :   { CVT_95_addRegOrImmOperands, 1, CVT_95_addRegOrImmOperands, 2, CVT_Done },
    9246             :   // Convert__SSrcB641_0__SSrcB321_1
    9247             :   { CVT_95_addRegOrImmOperands, 1, CVT_95_addRegOrImmOperands, 2, CVT_Done },
    9248             :   // Convert__SoppBrTarget1_0
    9249             :   { CVT_95_addSoppBrTargetOperands, 1, CVT_Done },
    9250             :   // Convert__Reg1_0__Reg1_1__Reg1_2__ImmGLC1_3
    9251             :   { CVT_95_Reg, 1, CVT_95_Reg, 2, CVT_95_Reg, 3, CVT_95_addImmOperands_95_defaultGLC, 4, CVT_Done },
    9252             :   // Convert__Reg1_0__Reg1_1__ImmSMRDOffset81_2__ImmGLC1_3
    9253             :   { CVT_95_Reg, 1, CVT_95_Reg, 2, CVT_95_addImmOperands_95_defaultSMRDOffset8, 3, CVT_95_addImmOperands_95_defaultGLC, 4, CVT_Done },
    9254             :   // Convert__Reg1_0__Reg1_1__ImmSMRDOffset201_2__ImmGLC1_3
    9255             :   { CVT_95_Reg, 1, CVT_95_Reg, 2, CVT_95_addImmOperands_95_defaultSMRDOffset20, 3, CVT_95_addImmOperands_95_defaultGLC, 4, CVT_Done },
    9256             :   // Convert__Reg1_0__Reg1_1__ImmSMRDLiteralOffset1_2__ImmGLC1_3
    9257             :   { CVT_95_Reg, 1, CVT_95_Reg, 2, CVT_95_addImmOperands_95_defaultSMRDLiteralOffset, 3, CVT_95_addImmOperands_95_defaultGLC, 4, CVT_Done },
    9258             :   // Convert__Reg1_0__S16Imm1_1
    9259             :   { CVT_95_Reg, 1, CVT_95_addImmOperands, 2, CVT_Done },
    9260             :   // Convert__SCSrcB641_0__SCSrcB641_1
    9261             :   { CVT_95_addRegOrImmOperands, 1, CVT_95_addRegOrImmOperands, 2, CVT_Done },
    9262             :   // Convert__SSrcB641_0__SSrcB641_1
    9263             :   { CVT_95_addRegOrImmOperands, 1, CVT_95_addRegOrImmOperands, 2, CVT_Done },
    9264             :   // Convert__Reg1_0__U16Imm1_1
    9265             :   { CVT_95_Reg, 1, CVT_95_addImmOperands, 2, CVT_Done },
    9266             :   // Convert__Reg1_0__Reg1_1
    9267             :   { CVT_95_Reg, 1, CVT_95_Reg, 2, CVT_Done },
    9268             :   // Convert__Reg1_0__ImmSMRDOffset201_1
    9269             :   { CVT_95_Reg, 1, CVT_95_addImmOperands_95_defaultSMRDOffset20, 2, CVT_Done },
    9270             :   // Convert__Imm1_0
    9271             :   { CVT_95_addImmOperands, 1, CVT_Done },
    9272             :   // Convert__Reg1_0__ImmHwreg1_1
    9273             :   { CVT_95_Reg, 1, CVT_95_addImmOperands, 2, CVT_Done },
    9274             :   // Convert__SendMsg1_0
    9275             :   { CVT_95_addImmOperands, 1, CVT_Done },
    9276             :   // Convert__SSrcB321_0
    9277             :   { CVT_95_addRegOrImmOperands, 1, CVT_Done },
    9278             :   // Convert__GPRIdxMode1_0
    9279             :   { CVT_95_addImmOperands, 1, CVT_Done },
    9280             :   // Convert__SSrcB321_0__GPRIdxMode1_1
    9281             :   { CVT_95_addRegOrImmOperands, 1, CVT_95_addImmOperands, 2, CVT_Done },
    9282             :   // Convert__Reg1_1__ImmHwreg1_0
    9283             :   { CVT_95_Reg, 2, CVT_95_addImmOperands, 1, CVT_Done },
    9284             :   // Convert__Imm1_1__ImmHwreg1_0
    9285             :   { CVT_95_addImmOperands, 2, CVT_95_addImmOperands, 1, CVT_Done },
    9286             :   // Convert__SWaitCnt1_0
    9287             :   { CVT_95_addImmOperands, 1, CVT_Done },
    9288             :   // Convert__Reg1_0__Reg1_2__ImmOffsetS131_3__ImmGLC1_4__ImmSLC1_5
    9289             :   { 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 },
    9290             :   // Convert__Reg1_1__Reg1_2__ImmOffsetS131_3__ImmGLC1_4__ImmSLC1_5
    9291             :   { 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 },
    9292             :   // Convert__Reg1_1__Reg1_0__ImmOffsetS131_3__ImmGLC1_4__ImmSLC1_5
    9293             :   { 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 },
    9294             :   // ConvertCustom_cvtMtbuf
    9295             :   { CVT_cvtMtbuf, 0, CVT_Done },
    9296             :   // Convert__Reg1_0__VCSrcB321_1__VCSrcB321_2__VCSrcB321_3
    9297             :   { CVT_95_Reg, 1, CVT_95_addRegOrImmOperands, 2, CVT_95_addRegOrImmOperands, 3, CVT_95_addRegOrImmOperands, 4, CVT_Done },
    9298             :   // Convert__Reg1_0__VSrcB321_2__Reg1_3
    9299             :   { CVT_95_Reg, 1, CVT_95_addRegOrImmOperands, 3, CVT_95_Reg, 4, CVT_Done },
    9300             :   // Convert__Reg1_0__Reg1_1__VCSrcB321_2__VCSrcB321_3
    9301             :   { CVT_95_Reg, 1, CVT_95_Reg, 2, CVT_95_addRegOrImmOperands, 3, CVT_95_addRegOrImmOperands, 4, CVT_Done },
    9302             :   // Convert__Reg1_0__Tie0_1_1__Reg1_2__Reg1_3__ImmDPPCtrl1_4__ImmRowMask1_5__ImmBankMask1_6__ImmBoundCtrl1_7
    9303             :   { CVT_95_Reg, 1, CVT_Tied, Tie0_1_1, 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 },
    9304             :   // ConvertCustom_cvtSdwaVOP2b
    9305             :   { CVT_cvtSdwaVOP2b, 0, CVT_Done },
    9306             :   // Convert__Reg1_0__VSrcF161_1__Reg1_2
    9307             :   { CVT_95_Reg, 1, CVT_95_addRegOrImmOperands, 2, CVT_95_Reg, 3, CVT_Done },
    9308             :   // ConvertCustom_cvtVOP3
    9309             :   { CVT_cvtVOP3, 0, CVT_Done },
    9310             :   // ConvertCustom_cvtDPP
    9311             :   { CVT_cvtDPP, 0, CVT_Done },
    9312             :   // ConvertCustom_cvtSdwaVOP2
    9313             :   { CVT_cvtSdwaVOP2, 0, CVT_Done },
    9314             :   // Convert__Reg1_0__VSrcF321_1__Reg1_2
    9315             :   { CVT_95_Reg, 1, CVT_95_addRegOrImmOperands, 2, CVT_95_Reg, 3, CVT_Done },
    9316             :   // ConvertCustom_cvtVOP3OpSel
    9317             :   { CVT_cvtVOP3OpSel, 0, CVT_Done },
    9318             :   // Convert__Reg1_0__VCSrcB321_1__VCSrcB321_2
    9319             :   { CVT_95_Reg, 1, CVT_95_addRegOrImmOperands, 2, CVT_95_addRegOrImmOperands, 3, CVT_Done },
    9320             :   // Convert__Reg1_0__VSrcB161_1__Reg1_2
    9321             :   { CVT_95_Reg, 1, CVT_95_addRegOrImmOperands, 2, CVT_95_Reg, 3, CVT_Done },
    9322             :   // Convert__Reg1_0__VCSrcB161_1__VCSrcB161_2
    9323             :   { CVT_95_Reg, 1, CVT_95_addRegOrImmOperands, 2, CVT_95_addRegOrImmOperands, 3, CVT_Done },
    9324             :   // Convert__Reg1_0__Tie0_1_1__Reg1_1__Reg1_2__ImmDPPCtrl1_3__ImmRowMask1_4__ImmBankMask1_5__ImmBoundCtrl1_6
    9325             :   { CVT_95_Reg, 1, CVT_Tied, Tie0_1_1, 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 },
    9326             :   // Convert__Reg1_0__VSrcB321_1__Reg1_2
    9327             :   { CVT_95_Reg, 1, CVT_95_addRegOrImmOperands, 2, CVT_95_Reg, 3, CVT_Done },
    9328             :   // Convert__Reg1_0__VCSrcB321_2__Reg1_3
    9329             :   { CVT_95_Reg, 1, CVT_95_addRegOrImmOperands, 3, CVT_95_Reg, 4, CVT_Done },
    9330             :   // Convert__Reg1_0__Reg1_1__VCSrcB321_2__VCSrcB321_3__Reg1_4
    9331             :   { CVT_95_Reg, 1, CVT_95_Reg, 2, CVT_95_addRegOrImmOperands, 3, CVT_95_addRegOrImmOperands, 4, CVT_95_Reg, 5, CVT_Done },
    9332             :   // Convert__Reg1_0__Tie0_1_1__Reg1_2__Reg1_3__ImmDPPCtrl1_5__ImmRowMask1_6__ImmBankMask1_7__ImmBoundCtrl1_8
    9333             :   { CVT_95_Reg, 1, CVT_Tied, Tie0_1_1, CVT_95_Reg, 3, 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 },
    9334             :   // Convert__Reg1_0__VCSrcB641_1__VCSrcB321_2
    9335             :   { CVT_95_Reg, 1, CVT_95_addRegOrImmOperands, 2, CVT_95_addRegOrImmOperands, 3, CVT_Done },
    9336             :   // Convert__Reg1_0__VCSrcB321_1__VCSrcB641_2
    9337             :   { CVT_95_Reg, 1, CVT_95_addRegOrImmOperands, 2, CVT_95_addRegOrImmOperands, 3, CVT_Done },
    9338             :   // Convert__Reg1_0__VSrcB321_1
    9339             :   { CVT_95_Reg, 1, CVT_95_addRegOrImmOperands, 2, CVT_Done },
    9340             :   // Convert__Reg1_0__VCSrcB321_1
    9341             :   { CVT_95_Reg, 1, CVT_95_addRegOrImmOperands, 2, CVT_Done },
    9342             :   // Convert__Reg1_0__Tie0_1_1__Reg1_1__ImmDPPCtrl1_2__ImmRowMask1_3__ImmBankMask1_4__ImmBoundCtrl1_5
    9343             :   { CVT_95_Reg, 1, CVT_Tied, Tie0_1_1, CVT_95_Reg, 2, CVT_95_addImmOperands, 3, CVT_95_addImmOperands_95_defaultRowMask, 4, CVT_95_addImmOperands_95_defaultBankMask, 5, CVT_95_addImmOperands_95_defaultBoundCtrl, 6, CVT_Done },
    9344             :   // ConvertCustom_cvtSdwaVOP1
    9345             :   { CVT_cvtSdwaVOP1, 0, CVT_Done },
    9346             :   // Convert__Reg1_0__VSrcF161_1
    9347             :   { CVT_95_Reg, 1, CVT_95_addRegOrImmOperands, 2, CVT_Done },
    9348             :   // Convert__Reg1_0__VSrcF321_1
    9349             :   { CVT_95_Reg, 1, CVT_95_addRegOrImmOperands, 2, CVT_Done },
    9350             :   // Convert__Reg1_0__VSrcF641_1
    9351             :   { CVT_95_Reg, 1, CVT_95_addRegOrImmOperands, 2, CVT_Done },
    9352             :   // Convert__VSrcF161_1__Reg1_2
    9353             :   { CVT_95_addRegOrImmOperands, 2, CVT_95_Reg, 3, CVT_Done },
    9354             :   // ConvertCustom_cvtSdwaVOPC
    9355             :   { CVT_cvtSdwaVOPC, 0, CVT_Done },
    9356             :   // Convert__VSrcF321_1__Reg1_2
    9357             :   { CVT_95_addRegOrImmOperands, 2, CVT_95_Reg, 3, CVT_Done },
    9358             :   // Convert__VSrcF641_1__Reg1_2
    9359             :   { CVT_95_addRegOrImmOperands, 2, CVT_95_Reg, 3, CVT_Done },
    9360             :   // Convert__VSrcB161_1__Reg1_2
    9361             :   { CVT_95_addRegOrImmOperands, 2, CVT_95_Reg, 3, CVT_Done },
    9362             :   // Convert__VSrcB321_1__Reg1_2
    9363             :   { CVT_95_addRegOrImmOperands, 2, CVT_95_Reg, 3, CVT_Done },
    9364             :   // Convert__VSrcB641_1__Reg1_2
    9365             :   { CVT_95_addRegOrImmOperands, 2, CVT_95_Reg, 3, CVT_Done },
    9366             :   // Convert__Reg1_0__VCSrcB641_1__VCSrcB641_2
    9367             :   { CVT_95_Reg, 1, CVT_95_addRegOrImmOperands, 2, CVT_95_addRegOrImmOperands, 3, CVT_Done },
    9368             :   // Convert__Reg1_0__VCSrcB321_1__Reg1_2
    9369             :   { CVT_95_Reg, 1, CVT_95_addRegOrImmOperands, 2, CVT_95_Reg, 3, CVT_Done },
    9370             :   // Convert__Reg1_0__VCSrcB321_1__VCSrcB321_2__Reg1_3
    9371             :   { CVT_95_Reg, 1, CVT_95_addRegOrImmOperands, 2, CVT_95_addRegOrImmOperands, 3, CVT_95_Reg, 4, CVT_Done },
    9372             :   // Convert__Reg1_0__Tie0_1_1__Reg1_1__Reg1_2__ImmDPPCtrl1_4__ImmRowMask1_5__ImmBankMask1_6__ImmBoundCtrl1_7
    9373             :   { CVT_95_Reg, 1, CVT_Tied, Tie0_1_1, CVT_95_Reg, 2, CVT_95_Reg, 3, CVT_95_addImmOperands, 5, CVT_95_addImmOperands_95_defaultRowMask, 6, CVT_95_addImmOperands_95_defaultBankMask, 7, CVT_95_addImmOperands_95_defaultBoundCtrl, 8, CVT_Done },
    9374             :   // Convert__Reg1_0__VSrcB161_1
    9375             :   { CVT_95_Reg, 1, CVT_95_addRegOrImmOperands, 2, CVT_Done },
    9376             :   // Convert__Reg1_0__imm_95_0__VCSrcF321_1__imm_95_0__VCSrcF321_2__imm_95_0
    9377             :   { CVT_95_Reg, 1, CVT_imm_95_0, 0, CVT_95_addRegOrImmOperands, 2, CVT_imm_95_0, 0, CVT_95_addRegOrImmOperands, 3, CVT_imm_95_0, 0, CVT_Done },
    9378             :   // Convert__Reg1_0__Reg1_1__VCSrcF321_2__VCSrcF321_3__VCSrcF321_4
    9379             :   { CVT_95_Reg, 1, CVT_95_Reg, 2, CVT_95_addRegOrImmOperands, 3, CVT_95_addRegOrImmOperands, 4, CVT_95_addRegOrImmOperands, 5, CVT_Done },
    9380             :   // Convert__Reg1_0__Reg1_1__VCSrcF641_2__VCSrcF641_3__VCSrcF641_4
    9381             :   { CVT_95_Reg, 1, CVT_95_Reg, 2, CVT_95_addRegOrImmOperands, 3, CVT_95_addRegOrImmOperands, 4, CVT_95_addRegOrImmOperands, 5, CVT_Done },
    9382             :   // ConvertCustom_cvtVOP3P
    9383             :   { CVT_cvtVOP3P, 0, CVT_Done },
    9384             :   // Convert__Reg1_0__VSrcF321_1__Reg1_2__Tie0_1_1
    9385             :   { CVT_95_Reg, 1, CVT_95_addRegOrImmOperands, 2, CVT_95_Reg, 3, CVT_Tied, Tie0_1_1, CVT_Done },
    9386             :   // Convert__Reg1_0__InterpSlot1_1__Attr1_2__AttrChan1_3
    9387             :   { CVT_95_Reg, 1, CVT_95_addImmOperands, 2, CVT_95_addImmOperands, 3, CVT_95_addImmOperands, 4, CVT_Done },
    9388             :   // ConvertCustom_cvtVOP3Interp
    9389             :   { CVT_cvtVOP3Interp, 0, CVT_Done },
    9390             :   // Convert__Reg1_0__Reg1_1__Attr1_2__AttrChan1_3
    9391             :   { CVT_95_Reg, 1, CVT_95_Reg, 2, CVT_95_addImmOperands, 3, CVT_95_addImmOperands, 4, CVT_Done },
    9392             :   // Convert__Reg1_0__Tie0_1_1__Reg1_1__Attr1_2__AttrChan1_3
    9393             :   { CVT_95_Reg, 1, CVT_Tied, Tie0_1_1, CVT_95_Reg, 2, CVT_95_addImmOperands, 3, CVT_95_addImmOperands, 4, CVT_Done },
    9394             :   // Convert__Reg1_0__imm_95_0_