Coverage Report

Created: 2018-07-12 09:57

/Users/buildslave/jenkins/workspace/clang-stage2-coverage-R/clang-build/lib/Target/AMDGPU/AMDGPUGenAsmMatcher.inc
Line
Count
Source (jump to first uncovered line)
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
216k
static void applyMnemonicAliases(StringRef &Mnemonic, uint64_t Features, unsigned VariantID) {
135
216k
  switch (VariantID) {
136
216k
    case 0:
137
86.5k
      switch (Mnemonic.size()) {
138
86.5k
      
default: break1.74k
;
139
86.5k
      case 9:  // 1 string to match.
140
14.4k
        if (memcmp(Mnemonic.data()+0, "v_nop_e32", 9) != 0)
141
14.4k
          break;
142
0
        Mnemonic = "v_nop";  // "v_nop_e32"
143
0
        return;
144
9.02k
      case 10:   // 1 string to match.
145
9.02k
        if (memcmp(Mnemonic.data()+0, "v_swap_b32", 10) != 0)
146
8.99k
          break;
147
29
        Mnemonic = "v_swap_b32";   // "v_swap_b32"
148
29
        return;
149
5.02k
      case 11:   // 4 strings to match.
150
5.02k
        if (memcmp(Mnemonic.data()+0, "v_mad", 5) != 0)
151
4.84k
          break;
152
176
        switch (Mnemonic[5]) {
153
176
        
default: break0
;
154
176
        case 'a':  // 2 strings to match.
155
93
          if (memcmp(Mnemonic.data()+6, "k_f", 3) != 0)
156
0
            break;
157
93
          switch (Mnemonic[9]) {
158
93
          
default: break0
;
159
93
          case '1':  // 1 string to match.
160
35
            if (Mnemonic[10] != '6')
161
0
              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
0
              break;
167
58
            Mnemonic = "v_madak_f32";  // "v_madak_f32"
168
58
            return;
169
0
          }
170
0
          break;
171
83
        case 'm':  // 2 strings to match.
172
83
          if (memcmp(Mnemonic.data()+6, "k_f", 3) != 0)
173
0
            break;
174
83
          switch (Mnemonic[9]) {
175
83
          
default: break0
;
176
83
          case '1':  // 1 string to match.
177
39
            if (Mnemonic[10] != '6')
178
0
              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
0
              break;
184
44
            Mnemonic = "v_madmk_f32";  // "v_madmk_f32"
185
44
            return;
186
0
          }
187
0
          break;
188
0
        }
189
0
        break;
190
11.8k
      case 12:   // 1 string to match.
191
11.8k
        if (memcmp(Mnemonic.data()+0, "v_or_b32_e32", 12) != 0)
192
11.8k
          break;
193
0
        Mnemonic = "v_or_b32";   // "v_or_b32_e32"
194
0
        return;
195
13.9k
      case 13:   // 46 strings to match.
196
13.9k
        if (memcmp(Mnemonic.data()+0, "v_", 2) != 0)
197
3.90k
          break;
198
10.0k
        switch (Mnemonic[2]) {
199
10.0k
        
default: break167
;
200
10.0k
        case 'a':  // 6 strings to match.
201
304
          switch (Mnemonic[3]) {
202
304
          
default: break286
;
203
304
          case 'd':  // 5 strings to match.
204
18
            if (memcmp(Mnemonic.data()+4, "d_", 2) != 0)
205
18
              break;
206
0
            switch (Mnemonic[6]) {
207
0
            default: break;
208
0
            case 'f':  // 2 strings to match.
209
0
              switch (Mnemonic[7]) {
210
0
              default: break;
211
0
              case '1':  // 1 string to match.
212
0
                if (memcmp(Mnemonic.data()+8, "6_e32", 5) != 0)
213
0
                  break;
214
0
                Mnemonic = "v_add_f16";  // "v_add_f16_e32"
215
0
                return;
216
0
              case '3':  // 1 string to match.
217
0
                if (memcmp(Mnemonic.data()+8, "2_e32", 5) != 0)
218
0
                  break;
219
0
                Mnemonic = "v_add_f32";  // "v_add_f32_e32"
220
0
                return;
221
0
              }
222
0
              break;
223
0
            case 'i':  // 1 string to match.
224
0
              if (memcmp(Mnemonic.data()+7, "32_e32", 6) != 0)
225
0
                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
0
              default: break;
231
0
              case '1':  // 1 string to match.
232
0
                if (memcmp(Mnemonic.data()+8, "6_e32", 5) != 0)
233
0
                  break;
234
0
                Mnemonic = "v_add_u16";  // "v_add_u16_e32"
235
0
                return;
236
0
              case '3':  // 1 string to match.
237
0
                if (memcmp(Mnemonic.data()+8, "2_e32", 5) != 0)
238
0
                  break;
239
0
                Mnemonic = "v_add_u32";  // "v_add_u32_e32"
240
0
                return;
241
0
              }
242
0
              break;
243
0
            }
244
0
            break;
245
0
          case 'n':  // 1 string to match.
246
0
            if (memcmp(Mnemonic.data()+4, "d_b32_e32", 9) != 0)
247
0
              break;
248
0
            Mnemonic = "v_and_b32";  // "v_and_b32_e32"
249
0
            return;
250
304
          }
251
304
          break;
252
304
        case 'b':  // 1 string to match.
253
0
          if (memcmp(Mnemonic.data()+3, "fm_b32_e32", 10) != 0)
254
0
            break;
255
0
          Mnemonic = "v_bfm_b32";  // "v_bfm_b32_e32"
256
0
          return;
257
7.16k
        case 'c':  // 3 strings to match.
258
7.16k
          switch (Mnemonic[3]) {
259
7.16k
          default: break;
260
7.16k
          case 'l':  // 1 string to match.
261
0
            if (memcmp(Mnemonic.data()+4, "rexcp_e32", 9) != 0)
262
0
              break;
263
0
            Mnemonic = "v_clrexcp";  // "v_clrexcp_e32"
264
0
            return;
265
0
          case 'o':  // 2 strings to match.
266
0
            if (memcmp(Mnemonic.data()+4, "s_f", 3) != 0)
267
0
              break;
268
0
            switch (Mnemonic[7]) {
269
0
            default: break;
270
0
            case '1':  // 1 string to match.
271
0
              if (memcmp(Mnemonic.data()+8, "6_e32", 5) != 0)
272
0
                break;
273
0
              Mnemonic = "v_cos_f16";  // "v_cos_f16_e32"
274
0
              return;
275
0
            case '3':  // 1 string to match.
276
0
              if (memcmp(Mnemonic.data()+8, "2_e32", 5) != 0)
277
0
                break;
278
0
              Mnemonic = "v_cos_f32";  // "v_cos_f32_e32"
279
0
              return;
280
0
            }
281
0
            break;
282
7.16k
          }
283
7.16k
          break;
284
7.16k
        case 'e':  // 2 strings to match.
285
0
          if (memcmp(Mnemonic.data()+3, "xp_f", 4) != 0)
286
0
            break;
287
0
          switch (Mnemonic[7]) {
288
0
          default: break;
289
0
          case '1':  // 1 string to match.
290
0
            if (memcmp(Mnemonic.data()+8, "6_e32", 5) != 0)
291
0
              break;
292
0
            Mnemonic = "v_exp_f16";  // "v_exp_f16_e32"
293
0
            return;
294
0
          case '3':  // 1 string to match.
295
0
            if (memcmp(Mnemonic.data()+8, "2_e32", 5) != 0)
296
0
              break;
297
0
            Mnemonic = "v_exp_f32";  // "v_exp_f32_e32"
298
0
            return;
299
0
          }
300
0
          break;
301
666
        case 'l':  // 2 strings to match.
302
666
          if (memcmp(Mnemonic.data()+3, "og_f", 4) != 0)
303
666
            break;
304
0
          switch (Mnemonic[7]) {
305
0
          default: break;
306
0
          case '1':  // 1 string to match.
307
0
            if (memcmp(Mnemonic.data()+8, "6_e32", 5) != 0)
308
0
              break;
309
0
            Mnemonic = "v_log_f16";  // "v_log_f16_e32"
310
0
            return;
311
0
          case '3':  // 1 string to match.
312
0
            if (memcmp(Mnemonic.data()+8, "2_e32", 5) != 0)
313
0
              break;
314
0
            Mnemonic = "v_log_f32";  // "v_log_f32_e32"
315
0
            return;
316
0
          }
317
0
          break;
318
1.73k
        case 'm':  // 17 strings to match.
319
1.73k
          switch (Mnemonic[3]) {
320
1.73k
          
default: break0
;
321
1.73k
          case 'a':  // 8 strings to match.
322
1.25k
            switch (Mnemonic[4]) {
323
1.25k
            default: break;
324
1.25k
            case 'c':  // 2 strings to match.
325
0
              if (memcmp(Mnemonic.data()+5, "_f", 2) != 0)
326
0
                break;
327
0
              switch (Mnemonic[7]) {
328
0
              default: break;
329
0
              case '1':  // 1 string to match.
330
0
                if (memcmp(Mnemonic.data()+8, "6_e32", 5) != 0)
331
0
                  break;
332
0
                Mnemonic = "v_mac_f16";  // "v_mac_f16_e32"
333
0
                return;
334
0
              case '3':  // 1 string to match.
335
0
                if (memcmp(Mnemonic.data()+8, "2_e32", 5) != 0)
336
0
                  break;
337
0
                Mnemonic = "v_mac_f32";  // "v_mac_f32_e32"
338
0
                return;
339
0
              }
340
0
              break;
341
0
            case 'x':  // 6 strings to match.
342
0
              if (Mnemonic[5] != '_')
343
0
                break;
344
0
              switch (Mnemonic[6]) {
345
0
              default: break;
346
0
              case 'f':  // 2 strings to match.
347
0
                switch (Mnemonic[7]) {
348
0
                default: break;
349
0
                case '1':  // 1 string to match.
350
0
                  if (memcmp(Mnemonic.data()+8, "6_e32", 5) != 0)
351
0
                    break;
352
0
                  Mnemonic = "v_max_f16";  // "v_max_f16_e32"
353
0
                  return;
354
0
                case '3':  // 1 string to match.
355
0
                  if (memcmp(Mnemonic.data()+8, "2_e32", 5) != 0)
356
0
                    break;
357
0
                  Mnemonic = "v_max_f32";  // "v_max_f32_e32"
358
0
                  return;
359
0
                }
360
0
                break;
361
0
              case 'i':  // 2 strings to match.
362
0
                switch (Mnemonic[7]) {
363
0
                default: break;
364
0
                case '1':  // 1 string to match.
365
0
                  if (memcmp(Mnemonic.data()+8, "6_e32", 5) != 0)
366
0
                    break;
367
0
                  Mnemonic = "v_max_i16";  // "v_max_i16_e32"
368
0
                  return;
369
0
                case '3':  // 1 string to match.
370
0
                  if (memcmp(Mnemonic.data()+8, "2_e32", 5) != 0)
371
0
                    break;
372
0
                  Mnemonic = "v_max_i32";  // "v_max_i32_e32"
373
0
                  return;
374
0
                }
375
0
                break;
376
0
              case 'u':  // 2 strings to match.
377
0
                switch (Mnemonic[7]) {
378
0
                default: break;
379
0
                case '1':  // 1 string to match.
380
0
                  if (memcmp(Mnemonic.data()+8, "6_e32", 5) != 0)
381
0
                    break;
382
0
                  Mnemonic = "v_max_u16";  // "v_max_u16_e32"
383
0
                  return;
384
0
                case '3':  // 1 string to match.
385
0
                  if (memcmp(Mnemonic.data()+8, "2_e32", 5) != 0)
386
0
                    break;
387
0
                  Mnemonic = "v_max_u32";  // "v_max_u32_e32"
388
0
                  return;
389
0
                }
390
0
                break;
391
0
              }
392
0
              break;
393
1.25k
            }
394
1.25k
            break;
395
1.25k
          case 'i':  // 6 strings to match.
396
0
            if (memcmp(Mnemonic.data()+4, "n_", 2) != 0)
397
0
              break;
398
0
            switch (Mnemonic[6]) {
399
0
            default: break;
400
0
            case 'f':  // 2 strings to match.
401
0
              switch (Mnemonic[7]) {
402
0
              default: break;
403
0
              case '1':  // 1 string to match.
404
0
                if (memcmp(Mnemonic.data()+8, "6_e32", 5) != 0)
405
0
                  break;
406
0
                Mnemonic = "v_min_f16";  // "v_min_f16_e32"
407
0
                return;
408
0
              case '3':  // 1 string to match.
409
0
                if (memcmp(Mnemonic.data()+8, "2_e32", 5) != 0)
410
0
                  break;
411
0
                Mnemonic = "v_min_f32";  // "v_min_f32_e32"
412
0
                return;
413
0
              }
414
0
              break;
415
0
            case 'i':  // 2 strings to match.
416
0
              switch (Mnemonic[7]) {
417
0
              default: break;
418
0
              case '1':  // 1 string to match.
419
0
                if (memcmp(Mnemonic.data()+8, "6_e32", 5) != 0)
420
0
                  break;
421
0
                Mnemonic = "v_min_i16";  // "v_min_i16_e32"
422
0
                return;
423
0
              case '3':  // 1 string to match.
424
0
                if (memcmp(Mnemonic.data()+8, "2_e32", 5) != 0)
425
0
                  break;
426
0
                Mnemonic = "v_min_i32";  // "v_min_i32_e32"
427
0
                return;
428
0
              }
429
0
              break;
430
0
            case 'u':  // 2 strings to match.
431
0
              switch (Mnemonic[7]) {
432
0
              default: break;
433
0
              case '1':  // 1 string to match.
434
0
                if (memcmp(Mnemonic.data()+8, "6_e32", 5) != 0)
435
0
                  break;
436
0
                Mnemonic = "v_min_u16";  // "v_min_u16_e32"
437
0
                return;
438
0
              case '3':  // 1 string to match.
439
0
                if (memcmp(Mnemonic.data()+8, "2_e32", 5) != 0)
440
0
                  break;
441
0
                Mnemonic = "v_min_u32";  // "v_min_u32_e32"
442
0
                return;
443
0
              }
444
0
              break;
445
0
            }
446
0
            break;
447
164
          case 'o':  // 1 string to match.
448
164
            if (memcmp(Mnemonic.data()+4, "v_b32_e32", 9) != 0)
449
164
              break;
450
0
            Mnemonic = "v_mov_b32";  // "v_mov_b32_e32"
451
0
            return;
452
312
          case 'u':  // 2 strings to match.
453
312
            if (memcmp(Mnemonic.data()+4, "l_f", 3) != 0)
454
312
              break;
455
0
            switch (Mnemonic[7]) {
456
0
            default: break;
457
0
            case '1':  // 1 string to match.
458
0
              if (memcmp(Mnemonic.data()+8, "6_e32", 5) != 0)
459
0
                break;
460
0
              Mnemonic = "v_mul_f16";  // "v_mul_f16_e32"
461
0
              return;
462
0
            case '3':  // 1 string to match.
463
0
              if (memcmp(Mnemonic.data()+8, "2_e32", 5) != 0)
464
0
                break;
465
0
              Mnemonic = "v_mul_f32";  // "v_mul_f32_e32"
466
0
              return;
467
0
            }
468
0
            break;
469
1.73k
          }
470
1.73k
          break;
471
1.73k
        case 'n':  // 1 string to match.
472
0
          if (memcmp(Mnemonic.data()+3, "ot_b32_e32", 10) != 0)
473
0
            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
0
          default: break;
479
0
          case 'c':  // 3 strings to match.
480
0
            if (memcmp(Mnemonic.data()+4, "p_f", 3) != 0)
481
0
              break;
482
0
            switch (Mnemonic[7]) {
483
0
            default: break;
484
0
            case '1':  // 1 string to match.
485
0
              if (memcmp(Mnemonic.data()+8, "6_e32", 5) != 0)
486
0
                break;
487
0
              Mnemonic = "v_rcp_f16";  // "v_rcp_f16_e32"
488
0
              return;
489
0
            case '3':  // 1 string to match.
490
0
              if (memcmp(Mnemonic.data()+8, "2_e32", 5) != 0)
491
0
                break;
492
0
              Mnemonic = "v_rcp_f32";  // "v_rcp_f32_e32"
493
0
              return;
494
0
            case '6':  // 1 string to match.
495
0
              if (memcmp(Mnemonic.data()+8, "4_e32", 5) != 0)
496
0
                break;
497
0
              Mnemonic = "v_rcp_f64";  // "v_rcp_f64_e32"
498
0
              return;
499
0
            }
500
0
            break;
501
0
          case 's':  // 3 strings to match.
502
0
            if (memcmp(Mnemonic.data()+4, "q_f", 3) != 0)
503
0
              break;
504
0
            switch (Mnemonic[7]) {
505
0
            default: break;
506
0
            case '1':  // 1 string to match.
507
0
              if (memcmp(Mnemonic.data()+8, "6_e32", 5) != 0)
508
0
                break;
509
0
              Mnemonic = "v_rsq_f16";  // "v_rsq_f16_e32"
510
0
              return;
511
0
            case '3':  // 1 string to match.
512
0
              if (memcmp(Mnemonic.data()+8, "2_e32", 5) != 0)
513
0
                break;
514
0
              Mnemonic = "v_rsq_f32";  // "v_rsq_f32_e32"
515
0
              return;
516
0
            case '6':  // 1 string to match.
517
0
              if (memcmp(Mnemonic.data()+8, "4_e32", 5) != 0)
518
0
                break;
519
0
              Mnemonic = "v_rsq_f64";  // "v_rsq_f64_e32"
520
0
              return;
521
0
            }
522
0
            break;
523
0
          }
524
0
          break;
525
52
        case 's':  // 7 strings to match.
526
52
          switch (Mnemonic[3]) {
527
52
          
default: break0
;
528
52
          case 'i':  // 2 strings to match.
529
0
            if (memcmp(Mnemonic.data()+4, "n_f", 3) != 0)
530
0
              break;
531
0
            switch (Mnemonic[7]) {
532
0
            default: break;
533
0
            case '1':  // 1 string to match.
534
0
              if (memcmp(Mnemonic.data()+8, "6_e32", 5) != 0)
535
0
                break;
536
0
              Mnemonic = "v_sin_f16";  // "v_sin_f16_e32"
537
0
              return;
538
0
            case '3':  // 1 string to match.
539
0
              if (memcmp(Mnemonic.data()+8, "2_e32", 5) != 0)
540
0
                break;
541
0
              Mnemonic = "v_sin_f32";  // "v_sin_f32_e32"
542
0
              return;
543
0
            }
544
0
            break;
545
52
          case 'u':  // 5 strings to match.
546
52
            if (memcmp(Mnemonic.data()+4, "b_", 2) != 0)
547
52
              break;
548
0
            switch (Mnemonic[6]) {
549
0
            default: break;
550
0
            case 'f':  // 2 strings to match.
551
0
              switch (Mnemonic[7]) {
552
0
              default: break;
553
0
              case '1':  // 1 string to match.
554
0
                if (memcmp(Mnemonic.data()+8, "6_e32", 5) != 0)
555
0
                  break;
556
0
                Mnemonic = "v_sub_f16";  // "v_sub_f16_e32"
557
0
                return;
558
0
              case '3':  // 1 string to match.
559
0
                if (memcmp(Mnemonic.data()+8, "2_e32", 5) != 0)
560
0
                  break;
561
0
                Mnemonic = "v_sub_f32";  // "v_sub_f32_e32"
562
0
                return;
563
0
              }
564
0
              break;
565
0
            case 'i':  // 1 string to match.
566
0
              if (memcmp(Mnemonic.data()+7, "32_e32", 6) != 0)
567
0
                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
0
              default: break;
573
0
              case '1':  // 1 string to match.
574
0
                if (memcmp(Mnemonic.data()+8, "6_e32", 5) != 0)
575
0
                  break;
576
0
                Mnemonic = "v_sub_u16";  // "v_sub_u16_e32"
577
0
                return;
578
0
              case '3':  // 1 string to match.
579
0
                if (memcmp(Mnemonic.data()+8, "2_e32", 5) != 0)
580
0
                  break;
581
0
                Mnemonic = "v_sub_u32";  // "v_sub_u32_e32"
582
0
                return;
583
0
              }
584
0
              break;
585
0
            }
586
0
            break;
587
52
          }
588
52
          break;
589
52
        case 'x':  // 1 string to match.
590
0
          if (memcmp(Mnemonic.data()+3, "or_b32_e32", 10) != 0)
591
0
            break;
592
0
          Mnemonic = "v_xor_b32";  // "v_xor_b32_e32"
593
0
          return;
594
10.0k
        }
595
10.0k
        break;
596
10.0k
      case 14:   // 17 strings to match.
597
6.12k
        if (memcmp(Mnemonic.data()+0, "v_", 2) != 0)
598
2.75k
          break;
599
3.37k
        switch (Mnemonic[2]) {
600
3.37k
        
default: break929
;
601
3.37k
        case 'a':  // 2 strings to match.
602
274
          switch (Mnemonic[3]) {
603
274
          
default: break182
;
604
274
          case 'd':  // 1 string to match.
605
92
            if (memcmp(Mnemonic.data()+4, "dc_u32_e32", 10) != 0)
606
92
              break;
607
0
            Mnemonic = "v_addc_u32";   // "v_addc_u32_e32"
608
0
            return;
609
0
          case 's':  // 1 string to match.
610
0
            if (memcmp(Mnemonic.data()+4, "hr_i32_e32", 10) != 0)
611
0
              break;
612
0
            Mnemonic = "v_ashr_i32";   // "v_ashr_i32_e32"
613
0
            return;
614
274
          }
615
274
          break;
616
2.00k
        case 'c':  // 3 strings to match.
617
2.00k
          if (memcmp(Mnemonic.data()+3, "eil_f", 5) != 0)
618
2.00k
            break;
619
0
          switch (Mnemonic[8]) {
620
0
          default: break;
621
0
          case '1':  // 1 string to match.
622
0
            if (memcmp(Mnemonic.data()+9, "6_e32", 5) != 0)
623
0
              break;
624
0
            Mnemonic = "v_ceil_f16";   // "v_ceil_f16_e32"
625
0
            return;
626
0
          case '3':  // 1 string to match.
627
0
            if (memcmp(Mnemonic.data()+9, "2_e32", 5) != 0)
628
0
              break;
629
0
            Mnemonic = "v_ceil_f32";   // "v_ceil_f32_e32"
630
0
            return;
631
0
          case '6':  // 1 string to match.
632
0
            if (memcmp(Mnemonic.data()+9, "4_e32", 5) != 0)
633
0
              break;
634
0
            Mnemonic = "v_ceil_f64";   // "v_ceil_f64_e32"
635
0
            return;
636
0
          }
637
0
          break;
638
0
        case 'f':  // 4 strings to match.
639
0
          switch (Mnemonic[3]) {
640
0
          default: break;
641
0
          case 'f':  // 3 strings to match.
642
0
            if (Mnemonic[4] != 'b')
643
0
              break;
644
0
            switch (Mnemonic[5]) {
645
0
            default: break;
646
0
            case 'h':  // 2 strings to match.
647
0
              if (Mnemonic[6] != '_')
648
0
                break;
649
0
              switch (Mnemonic[7]) {
650
0
              default: break;
651
0
              case 'i':  // 1 string to match.
652
0
                if (memcmp(Mnemonic.data()+8, "32_e32", 6) != 0)
653
0
                  break;
654
0
                Mnemonic = "v_ffbh_i32";   // "v_ffbh_i32_e32"
655
0
                return;
656
0
              case 'u':  // 1 string to match.
657
0
                if (memcmp(Mnemonic.data()+8, "32_e32", 6) != 0)
658
0
                  break;
659
0
                Mnemonic = "v_ffbh_u32";   // "v_ffbh_u32_e32"
660
0
                return;
661
0
              }
662
0
              break;
663
0
            case 'l':  // 1 string to match.
664
0
              if (memcmp(Mnemonic.data()+6, "_b32_e32", 8) != 0)
665
0
                break;
666
0
              Mnemonic = "v_ffbl_b32";   // "v_ffbl_b32_e32"
667
0
              return;
668
0
            }
669
0
            break;
670
0
          case 'm':  // 1 string to match.
671
0
            if (memcmp(Mnemonic.data()+4, "ac_f32_e32", 10) != 0)
672
0
              break;
673
0
            Mnemonic = "v_fmac_f32";   // "v_fmac_f32_e32"
674
0
            return;
675
0
          }
676
0
          break;
677
92
        case 'l':  // 2 strings to match.
678
92
          if (memcmp(Mnemonic.data()+3, "sh", 2) != 0)
679
0
            break;
680
92
          switch (Mnemonic[5]) {
681
92
          
default: break0
;
682
92
          case 'l':  // 1 string to match.
683
92
            if (memcmp(Mnemonic.data()+6, "_b32_e32", 8) != 0)
684
92
              break;
685
0
            Mnemonic = "v_lshl_b32";   // "v_lshl_b32_e32"
686
0
            return;
687
0
          case 'r':  // 1 string to match.
688
0
            if (memcmp(Mnemonic.data()+6, "_b32_e32", 8) != 0)
689
0
              break;
690
0
            Mnemonic = "v_lshr_b32";   // "v_lshr_b32_e32"
691
0
            return;
692
92
          }
693
92
          break;
694
92
        case 'r':  // 1 string to match.
695
74
          if (memcmp(Mnemonic.data()+3, "eadlane_b32", 11) != 0)
696
0
            break;
697
74
          Mnemonic = "v_readlane_b32";   // "v_readlane_b32"
698
74
          return;
699
74
        case 's':  // 4 strings to match.
700
0
          switch (Mnemonic[3]) {
701
0
          default: break;
702
0
          case 'q':  // 3 strings to match.
703
0
            if (memcmp(Mnemonic.data()+4, "rt_f", 4) != 0)
704
0
              break;
705
0
            switch (Mnemonic[8]) {
706
0
            default: break;
707
0
            case '1':  // 1 string to match.
708
0
              if (memcmp(Mnemonic.data()+9, "6_e32", 5) != 0)
709
0
                break;
710
0
              Mnemonic = "v_sqrt_f16";   // "v_sqrt_f16_e32"
711
0
              return;
712
0
            case '3':  // 1 string to match.
713
0
              if (memcmp(Mnemonic.data()+9, "2_e32", 5) != 0)
714
0
                break;
715
0
              Mnemonic = "v_sqrt_f32";   // "v_sqrt_f32_e32"
716
0
              return;
717
0
            case '6':  // 1 string to match.
718
0
              if (memcmp(Mnemonic.data()+9, "4_e32", 5) != 0)
719
0
                break;
720
0
              Mnemonic = "v_sqrt_f64";   // "v_sqrt_f64_e32"
721
0
              return;
722
0
            }
723
0
            break;
724
0
          case 'u':  // 1 string to match.
725
0
            if (memcmp(Mnemonic.data()+4, "bb_u32_e32", 10) != 0)
726
0
              break;
727
0
            Mnemonic = "v_subb_u32";   // "v_subb_u32_e32"
728
0
            return;
729
0
          }
730
0
          break;
731
0
        case 'x':  // 1 string to match.
732
0
          if (memcmp(Mnemonic.data()+3, "nor_b32_e32", 11) != 0)
733
0
            break;
734
0
          Mnemonic = "v_xnor_b32";   // "v_xnor_b32_e32"
735
0
          return;
736
3.29k
        }
737
3.29k
        break;
738
5.88k
      case 15:   // 16 strings to match.
739
5.88k
        if (memcmp(Mnemonic.data()+0, "v_", 2) != 0)
740
2.90k
          break;
741
2.98k
        switch (Mnemonic[2]) {
742
2.98k
        
default: break2.62k
;
743
2.98k
        case 'b':  // 1 string to match.
744
0
          if (memcmp(Mnemonic.data()+3, "frev_b32_e32", 12) != 0)
745
0
            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
22
          default: break;
751
22
          case 'l':  // 3 strings to match.
752
0
            if (memcmp(Mnemonic.data()+4, "oor_f", 5) != 0)
753
0
              break;
754
0
            switch (Mnemonic[9]) {
755
0
            default: break;
756
0
            case '1':  // 1 string to match.
757
0
              if (memcmp(Mnemonic.data()+10, "6_e32", 5) != 0)
758
0
                break;
759
0
              Mnemonic = "v_floor_f16";  // "v_floor_f16_e32"
760
0
              return;
761
0
            case '3':  // 1 string to match.
762
0
              if (memcmp(Mnemonic.data()+10, "2_e32", 5) != 0)
763
0
                break;
764
0
              Mnemonic = "v_floor_f32";  // "v_floor_f32_e32"
765
0
              return;
766
0
            case '6':  // 1 string to match.
767
0
              if (memcmp(Mnemonic.data()+10, "4_e32", 5) != 0)
768
0
                break;
769
0
              Mnemonic = "v_floor_f64";  // "v_floor_f64_e32"
770
0
              return;
771
0
            }
772
0
            break;
773
0
          case 'r':  // 3 strings to match.
774
0
            if (memcmp(Mnemonic.data()+4, "act_f", 5) != 0)
775
0
              break;
776
0
            switch (Mnemonic[9]) {
777
0
            default: break;
778
0
            case '1':  // 1 string to match.
779
0
              if (memcmp(Mnemonic.data()+10, "6_e32", 5) != 0)
780
0
                break;
781
0
              Mnemonic = "v_fract_f16";  // "v_fract_f16_e32"
782
0
              return;
783
0
            case '3':  // 1 string to match.
784
0
              if (memcmp(Mnemonic.data()+10, "2_e32", 5) != 0)
785
0
                break;
786
0
              Mnemonic = "v_fract_f32";  // "v_fract_f32_e32"
787
0
              return;
788
0
            case '6':  // 1 string to match.
789
0
              if (memcmp(Mnemonic.data()+10, "4_e32", 5) != 0)
790
0
                break;
791
0
              Mnemonic = "v_fract_f64";  // "v_fract_f64_e32"
792
0
              return;
793
0
            }
794
0
            break;
795
22
          }
796
22
          break;
797
39
        case 'l':  // 2 strings to match.
798
39
          if (memcmp(Mnemonic.data()+3, "dexp_f", 6) != 0)
799
39
            break;
800
0
          switch (Mnemonic[9]) {
801
0
          default: break;
802
0
          case '1':  // 1 string to match.
803
0
            if (memcmp(Mnemonic.data()+10, "6_e32", 5) != 0)
804
0
              break;
805
0
            Mnemonic = "v_ldexp_f16";  // "v_ldexp_f16_e32"
806
0
            return;
807
0
          case '3':  // 1 string to match.
808
0
            if (memcmp(Mnemonic.data()+10, "2_e32", 5) != 0)
809
0
              break;
810
0
            Mnemonic = "v_ldexp_f32";  // "v_ldexp_f32_e32"
811
0
            return;
812
0
          }
813
0
          break;
814
215
        case 'r':  // 3 strings to match.
815
215
          if (memcmp(Mnemonic.data()+3, "ndne_f", 6) != 0)
816
215
            break;
817
0
          switch (Mnemonic[9]) {
818
0
          default: break;
819
0
          case '1':  // 1 string to match.
820
0
            if (memcmp(Mnemonic.data()+10, "6_e32", 5) != 0)
821
0
              break;
822
0
            Mnemonic = "v_rndne_f16";  // "v_rndne_f16_e32"
823
0
            return;
824
0
          case '3':  // 1 string to match.
825
0
            if (memcmp(Mnemonic.data()+10, "2_e32", 5) != 0)
826
0
              break;
827
0
            Mnemonic = "v_rndne_f32";  // "v_rndne_f32_e32"
828
0
            return;
829
0
          case '6':  // 1 string to match.
830
0
            if (memcmp(Mnemonic.data()+10, "4_e32", 5) != 0)
831
0
              break;
832
0
            Mnemonic = "v_rndne_f64";  // "v_rndne_f64_e32"
833
0
            return;
834
0
          }
835
0
          break;
836
0
        case 't':  // 3 strings to match.
837
0
          if (memcmp(Mnemonic.data()+3, "runc_f", 6) != 0)
838
0
            break;
839
0
          switch (Mnemonic[9]) {
840
0
          default: break;
841
0
          case '1':  // 1 string to match.
842
0
            if (memcmp(Mnemonic.data()+10, "6_e32", 5) != 0)
843
0
              break;
844
0
            Mnemonic = "v_trunc_f16";  // "v_trunc_f16_e32"
845
0
            return;
846
0
          case '3':  // 1 string to match.
847
0
            if (memcmp(Mnemonic.data()+10, "2_e32", 5) != 0)
848
0
              break;
849
0
            Mnemonic = "v_trunc_f32";  // "v_trunc_f32_e32"
850
0
            return;
851
0
          case '6':  // 1 string to match.
852
0
            if (memcmp(Mnemonic.data()+10, "4_e32", 5) != 0)
853
0
              break;
854
0
            Mnemonic = "v_trunc_f64";  // "v_trunc_f64_e32"
855
0
            return;
856
0
          }
857
0
          break;
858
82
        case 'w':  // 1 string to match.
859
82
          if (memcmp(Mnemonic.data()+3, "ritelane_b32", 12) != 0)
860
0
            break;
861
82
          Mnemonic = "v_writelane_b32";  // "v_writelane_b32"
862
82
          return;
863
2.90k
        }
864
2.90k
        break;
865
5.04k
      case 16:   // 6 strings to match.
866
5.04k
        if (memcmp(Mnemonic.data()+0, "v_", 2) != 0)
867
1.86k
          break;
868
3.18k
        switch (Mnemonic[2]) {
869
3.18k
        
default: break2.22k
;
870
3.18k
        case 'm':  // 1 string to match.
871
937
          if (memcmp(Mnemonic.data()+3, "ul_lo_u16_e32", 13) != 0)
872
937
            break;
873
0
          Mnemonic = "v_mul_lo_u16";   // "v_mul_lo_u16_e32"
874
0
          return;
875
18
        case 's':  // 5 strings to match.
876
18
          if (memcmp(Mnemonic.data()+3, "ubrev_", 6) != 0)
877
18
            break;
878
0
          switch (Mnemonic[9]) {
879
0
          default: break;
880
0
          case 'f':  // 2 strings to match.
881
0
            switch (Mnemonic[10]) {
882
0
            default: break;
883
0
            case '1':  // 1 string to match.
884
0
              if (memcmp(Mnemonic.data()+11, "6_e32", 5) != 0)
885
0
                break;
886
0
              Mnemonic = "v_subrev_f16";   // "v_subrev_f16_e32"
887
0
              return;
888
0
            case '3':  // 1 string to match.
889
0
              if (memcmp(Mnemonic.data()+11, "2_e32", 5) != 0)
890
0
                break;
891
0
              Mnemonic = "v_subrev_f32";   // "v_subrev_f32_e32"
892
0
              return;
893
0
            }
894
0
            break;
895
0
          case 'i':  // 1 string to match.
896
0
            if (memcmp(Mnemonic.data()+10, "32_e32", 6) != 0)
897
0
              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
0
            default: break;
903
0
            case '1':  // 1 string to match.
904
0
              if (memcmp(Mnemonic.data()+11, "6_e32", 5) != 0)
905
0
                break;
906
0
              Mnemonic = "v_subrev_u16";   // "v_subrev_u16_e32"
907
0
              return;
908
0
            case '3':  // 1 string to match.
909
0
              if (memcmp(Mnemonic.data()+11, "2_e32", 5) != 0)
910
0
                break;
911
0
              Mnemonic = "v_subrev_u32";   // "v_subrev_u32_e32"
912
0
              return;
913
0
            }
914
0
            break;
915
0
          }
916
0
          break;
917
3.18k
        }
918
3.18k
        break;
919
3.79k
      case 17:   // 29 strings to match.
920
3.79k
        if (memcmp(Mnemonic.data()+0, "v_", 2) != 0)
921
3.18k
          break;
922
612
        switch (Mnemonic[2]) {
923
612
        
default: break191
;
924
612
        case 'a':  // 2 strings to match.
925
0
          if (memcmp(Mnemonic.data()+3, "shrrev_i", 8) != 0)
926
0
            break;
927
0
          switch (Mnemonic[11]) {
928
0
          default: break;
929
0
          case '1':  // 1 string to match.
930
0
            if (memcmp(Mnemonic.data()+12, "6_e32", 5) != 0)
931
0
              break;
932
0
            Mnemonic = "v_ashrrev_i16";  // "v_ashrrev_i16_e32"
933
0
            return;
934
0
          case '3':  // 1 string to match.
935
0
            if (memcmp(Mnemonic.data()+12, "2_e32", 5) != 0)
936
0
              break;
937
0
            Mnemonic = "v_ashrrev_i32";  // "v_ashrrev_i32_e32"
938
0
            return;
939
0
          }
940
0
          break;
941
210
        case 'c':  // 17 strings to match.
942
210
          switch (Mnemonic[3]) {
943
210
          
default: break0
;
944
210
          case 'n':  // 1 string to match.
945
0
            if (memcmp(Mnemonic.data()+4, "dmask_b32_e32", 13) != 0)
946
0
              break;
947
0
            Mnemonic = "v_cndmask_b32";  // "v_cndmask_b32_e32"
948
0
            return;
949
210
          case 'v':  // 16 strings to match.
950
210
            if (memcmp(Mnemonic.data()+4, "t_", 2) != 0)
951
0
              break;
952
210
            switch (Mnemonic[6]) {
953
210
            
default: break101
;
954
210
            case 'f':  // 10 strings to match.
955
109
              switch (Mnemonic[7]) {
956
109
              default: break;
957
109
              case '1':  // 3 strings to match.
958
0
                if (memcmp(Mnemonic.data()+8, "6_", 2) != 0)
959
0
                  break;
960
0
                switch (Mnemonic[10]) {
961
0
                default: break;
962
0
                case 'f':  // 1 string to match.
963
0
                  if (memcmp(Mnemonic.data()+11, "32_e32", 6) != 0)
964
0
                    break;
965
0
                  Mnemonic = "v_cvt_f16_f32";  // "v_cvt_f16_f32_e32"
966
0
                  return;
967
0
                case 'i':  // 1 string to match.
968
0
                  if (memcmp(Mnemonic.data()+11, "16_e32", 6) != 0)
969
0
                    break;
970
0
                  Mnemonic = "v_cvt_f16_i16";  // "v_cvt_f16_i16_e32"
971
0
                  return;
972
0
                case 'u':  // 1 string to match.
973
0
                  if (memcmp(Mnemonic.data()+11, "16_e32", 6) != 0)
974
0
                    break;
975
0
                  Mnemonic = "v_cvt_f16_u16";  // "v_cvt_f16_u16_e32"
976
0
                  return;
977
0
                }
978
0
                break;
979
0
              case '3':  // 4 strings to match.
980
0
                if (memcmp(Mnemonic.data()+8, "2_", 2) != 0)
981
0
                  break;
982
0
                switch (Mnemonic[10]) {
983
0
                default: break;
984
0
                case 'f':  // 2 strings to match.
985
0
                  switch (Mnemonic[11]) {
986
0
                  default: break;
987
0
                  case '1':  // 1 string to match.
988
0
                    if (memcmp(Mnemonic.data()+12, "6_e32", 5) != 0)
989
0
                      break;
990
0
                    Mnemonic = "v_cvt_f32_f16";  // "v_cvt_f32_f16_e32"
991
0
                    return;
992
0
                  case '6':  // 1 string to match.
993
0
                    if (memcmp(Mnemonic.data()+12, "4_e32", 5) != 0)
994
0
                      break;
995
0
                    Mnemonic = "v_cvt_f32_f64";  // "v_cvt_f32_f64_e32"
996
0
                    return;
997
0
                  }
998
0
                  break;
999
0
                case 'i':  // 1 string to match.
1000
0
                  if (memcmp(Mnemonic.data()+11, "32_e32", 6) != 0)
1001
0
                    break;
1002
0
                  Mnemonic = "v_cvt_f32_i32";  // "v_cvt_f32_i32_e32"
1003
0
                  return;
1004
0
                case 'u':  // 1 string to match.
1005
0
                  if (memcmp(Mnemonic.data()+11, "32_e32", 6) != 0)
1006
0
                    break;
1007
0
                  Mnemonic = "v_cvt_f32_u32";  // "v_cvt_f32_u32_e32"
1008
0
                  return;
1009
0
                }
1010
0
                break;
1011
0
              case '6':  // 3 strings to match.
1012
0
                if (memcmp(Mnemonic.data()+8, "4_", 2) != 0)
1013
0
                  break;
1014
0
                switch (Mnemonic[10]) {
1015
0
                default: break;
1016
0
                case 'f':  // 1 string to match.
1017
0
                  if (memcmp(Mnemonic.data()+11, "32_e32", 6) != 0)
1018
0
                    break;
1019
0
                  Mnemonic = "v_cvt_f64_f32";  // "v_cvt_f64_f32_e32"
1020
0
                  return;
1021
0
                case 'i':  // 1 string to match.
1022
0
                  if (memcmp(Mnemonic.data()+11, "32_e32", 6) != 0)
1023
0
                    break;
1024
0
                  Mnemonic = "v_cvt_f64_i32";  // "v_cvt_f64_i32_e32"
1025
0
                  return;
1026
0
                case 'u':  // 1 string to match.
1027
0
                  if (memcmp(Mnemonic.data()+11, "32_e32", 6) != 0)
1028
0
                    break;
1029
0
                  Mnemonic = "v_cvt_f64_u32";  // "v_cvt_f64_u32_e32"
1030
0
                  return;
1031
0
                }
1032
0
                break;
1033
109
              }
1034
109
              break;
1035
109
            case 'i':  // 3 strings to match.
1036
0
              switch (Mnemonic[7]) {
1037
0
              default: break;
1038
0
              case '1':  // 1 string to match.
1039
0
                if (memcmp(Mnemonic.data()+8, "6_f16_e32", 9) != 0)
1040
0
                  break;
1041
0
                Mnemonic = "v_cvt_i16_f16";  // "v_cvt_i16_f16_e32"
1042
0
                return;
1043
0
              case '3':  // 2 strings to match.
1044
0
                if (memcmp(Mnemonic.data()+8, "2_f", 3) != 0)
1045
0
                  break;
1046
0
                switch (Mnemonic[11]) {
1047
0
                default: break;
1048
0
                case '3':  // 1 string to match.
1049
0
                  if (memcmp(Mnemonic.data()+12, "2_e32", 5) != 0)
1050
0
                    break;
1051
0
                  Mnemonic = "v_cvt_i32_f32";  // "v_cvt_i32_f32_e32"
1052
0
                  return;
1053
0
                case '6':  // 1 string to match.
1054
0
                  if (memcmp(Mnemonic.data()+12, "4_e32", 5) != 0)
1055
0
                    break;
1056
0
                  Mnemonic = "v_cvt_i32_f64";  // "v_cvt_i32_f64_e32"
1057
0
                  return;
1058
0
                }
1059
0
                break;
1060
0
              }
1061
0
              break;
1062
0
            case 'u':  // 3 strings to match.
1063
0
              switch (Mnemonic[7]) {
1064
0
              default: break;
1065
0
              case '1':  // 1 string to match.
1066
0
                if (memcmp(Mnemonic.data()+8, "6_f16_e32", 9) != 0)
1067
0
                  break;
1068
0
                Mnemonic = "v_cvt_u16_f16";  // "v_cvt_u16_f16_e32"
1069
0
                return;
1070
0
              case '3':  // 2 strings to match.
1071
0
                if (memcmp(Mnemonic.data()+8, "2_f", 3) != 0)
1072
0
                  break;
1073
0
                switch (Mnemonic[11]) {
1074
0
                default: break;
1075
0
                case '3':  // 1 string to match.
1076
0
                  if (memcmp(Mnemonic.data()+12, "2_e32", 5) != 0)
1077
0
                    break;
1078
0
                  Mnemonic = "v_cvt_u32_f32";  // "v_cvt_u32_f32_e32"
1079
0
                  return;
1080
0
                case '6':  // 1 string to match.
1081
0
                  if (memcmp(Mnemonic.data()+12, "4_e32", 5) != 0)
1082
0
                    break;
1083
0
                  Mnemonic = "v_cvt_u32_f64";  // "v_cvt_u32_f64_e32"
1084
0
                  return;
1085
0
                }
1086
0
                break;
1087
0
              }
1088
0
              break;
1089
210
            }
1090
210
            break;
1091
210
          }
1092
210
          break;
1093
210
        case 'l':  // 4 strings to match.
1094
0
          if (memcmp(Mnemonic.data()+3, "sh", 2) != 0)
1095
0
            break;
1096
0
          switch (Mnemonic[5]) {
1097
0
          default: break;
1098
0
          case 'l':  // 2 strings to match.
1099
0
            if (memcmp(Mnemonic.data()+6, "rev_b", 5) != 0)
1100
0
              break;
1101
0
            switch (Mnemonic[11]) {
1102
0
            default: break;
1103
0
            case '1':  // 1 string to match.
1104
0
              if (memcmp(Mnemonic.data()+12, "6_e32", 5) != 0)
1105
0
                break;
1106
0
              Mnemonic = "v_lshlrev_b16";  // "v_lshlrev_b16_e32"
1107
0
              return;
1108
0
            case '3':  // 1 string to match.
1109
0
              if (memcmp(Mnemonic.data()+12, "2_e32", 5) != 0)
1110
0
                break;
1111
0
              Mnemonic = "v_lshlrev_b32";  // "v_lshlrev_b32_e32"
1112
0
              return;
1113
0
            }
1114
0
            break;
1115
0
          case 'r':  // 2 strings to match.
1116
0
            if (memcmp(Mnemonic.data()+6, "rev_b", 5) != 0)
1117
0
              break;
1118
0
            switch (Mnemonic[11]) {
1119
0
            default: break;
1120
0
            case '1':  // 1 string to match.
1121
0
              if (memcmp(Mnemonic.data()+12, "6_e32", 5) != 0)
1122
0
                break;
1123
0
              Mnemonic = "v_lshrrev_b16";  // "v_lshrrev_b16_e32"
1124
0
              return;
1125
0
            case '3':  // 1 string to match.
1126
0
              if (memcmp(Mnemonic.data()+12, "2_e32", 5) != 0)
1127
0
                break;
1128
0
              Mnemonic = "v_lshrrev_b32";  // "v_lshrrev_b32_e32"
1129
0
              return;
1130
0
            }
1131
0
            break;
1132
0
          }
1133
0
          break;
1134
211
        case 'm':  // 5 strings to match.
1135
211
          switch (Mnemonic[3]) {
1136
211
          default: break;
1137
211
          case 'o':  // 3 strings to match.
1138
0
            if (Mnemonic[4] != 'v')
1139
0
              break;
1140
0
            switch (Mnemonic[5]) {
1141
0
            default: break;
1142
0
            case '_':  // 1 string to match.
1143
0
              if (memcmp(Mnemonic.data()+6, "fed_b32_e32", 11) != 0)
1144
0
                break;
1145
0
              Mnemonic = "v_mov_fed_b32";  // "v_mov_fed_b32_e32"
1146
0
              return;
1147
0
            case 'r':  // 2 strings to match.
1148
0
              if (memcmp(Mnemonic.data()+6, "el", 2) != 0)
1149
0
                break;
1150
0
              switch (Mnemonic[8]) {
1151
0
              default: break;
1152
0
              case 'd':  // 1 string to match.
1153
0
                if (memcmp(Mnemonic.data()+9, "_b32_e32", 8) != 0)
1154
0
                  break;
1155
0
                Mnemonic = "v_movreld_b32";  // "v_movreld_b32_e32"
1156
0
                return;
1157
0
              case 's':  // 1 string to match.
1158
0
                if (memcmp(Mnemonic.data()+9, "_b32_e32", 8) != 0)
1159
0
                  break;
1160
0
                Mnemonic = "v_movrels_b32";  // "v_movrels_b32_e32"
1161
0
                return;
1162
0
              }
1163
0
              break;
1164
0
            }
1165
0
            break;
1166
0
          case 'u':  // 2 strings to match.
1167
0
            if (memcmp(Mnemonic.data()+4, "l_", 2) != 0)
1168
0
              break;
1169
0
            switch (Mnemonic[6]) {
1170
0
            default: break;
1171
0
            case 'i':  // 1 string to match.
1172
0
              if (memcmp(Mnemonic.data()+7, "32_i24_e32", 10) != 0)
1173
0
                break;
1174
0
              Mnemonic = "v_mul_i32_i24";  // "v_mul_i32_i24_e32"
1175
0
              return;
1176
0
            case 'u':  // 1 string to match.
1177
0
              if (memcmp(Mnemonic.data()+7, "32_u24_e32", 10) != 0)
1178
0
                break;
1179
0
              Mnemonic = "v_mul_u32_u24";  // "v_mul_u32_u24_e32"
1180
0
              return;
1181
0
            }
1182
0
            break;
1183
211
          }
1184
211
          break;
1185
211
        case 's':  // 1 string to match.
1186
0
          if (memcmp(Mnemonic.data()+3, "ubbrev_u32_e32", 14) != 0)
1187
0
            break;
1188
0
          Mnemonic = "v_subbrev_u32";  // "v_subbrev_u32_e32"
1189
0
          return;
1190
612
        }
1191
612
        break;
1192
2.57k
      case 18:   // 2 strings to match.
1193
2.57k
        if (memcmp(Mnemonic.data()+0, "v_", 2) != 0)
1194
2.29k
          break;
1195
280
        switch (Mnemonic[2]) {
1196
280
        
default: break16
;
1197
280
        case 'b':  // 1 string to match.
1198
0
          if (memcmp(Mnemonic.data()+3, "cnt_u32_b32_e32", 15) != 0)
1199
0
            break;
1200
0
          Mnemonic = "v_bcnt_u32_b32";   // "v_bcnt_u32_b32_e32"
1201
0
          return;
1202
264
        case 'm':  // 1 string to match.
1203
264
          if (memcmp(Mnemonic.data()+3, "ovrelsd_b32_e32", 15) != 0)
1204
264
            break;
1205
0
          Mnemonic = "v_movrelsd_b32";   // "v_movrelsd_b32_e32"
1206
0
          return;
1207
280
        }
1208
280
        break;
1209
2.10k
      case 19:   // 7 strings to match.
1210
2.10k
        if (memcmp(Mnemonic.data()+0, "v_", 2) != 0)
1211
1.63k
          break;
1212
468
        switch (Mnemonic[2]) {
1213
468
        
default: break424
;
1214
468
        case 'l':  // 1 string to match.
1215
0
          if (memcmp(Mnemonic.data()+3, "og_clamp_f32_e32", 16) != 0)
1216
0
            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
44
          default: break;
1222
44
          case 'c':  // 3 strings to match.
1223
0
            if (memcmp(Mnemonic.data()+4, "p_", 2) != 0)
1224
0
              break;
1225
0
            switch (Mnemonic[6]) {
1226
0
            default: break;
1227
0
            case 'c':  // 2 strings to match.
1228
0
              if (memcmp(Mnemonic.data()+7, "lamp_f", 6) != 0)
1229
0
                break;
1230
0
              switch (Mnemonic[13]) {
1231
0
              default: break;
1232
0
              case '3':  // 1 string to match.
1233
0
                if (memcmp(Mnemonic.data()+14, "2_e32", 5) != 0)
1234
0
                  break;
1235
0
                Mnemonic = "v_rcp_clamp_f32";  // "v_rcp_clamp_f32_e32"
1236
0
                return;
1237
0
              case '6':  // 1 string to match.
1238
0
                if (memcmp(Mnemonic.data()+14, "4_e32", 5) != 0)
1239
0
                  break;
1240
0
                Mnemonic = "v_rcp_clamp_f64";  // "v_rcp_clamp_f64_e32"
1241
0
                return;
1242
0
              }
1243
0
              break;
1244
0
            case 'i':  // 1 string to match.
1245
0
              if (memcmp(Mnemonic.data()+7, "flag_f32_e32", 12) != 0)
1246
0
                break;
1247
0
              Mnemonic = "v_rcp_iflag_f32";  // "v_rcp_iflag_f32_e32"
1248
0
              return;
1249
0
            }
1250
0
            break;
1251
0
          case 's':  // 2 strings to match.
1252
0
            if (memcmp(Mnemonic.data()+4, "q_clamp_f", 9) != 0)
1253
0
              break;
1254
0
            switch (Mnemonic[13]) {
1255
0
            default: break;
1256
0
            case '3':  // 1 string to match.
1257
0
              if (memcmp(Mnemonic.data()+14, "2_e32", 5) != 0)
1258
0
                break;
1259
0
              Mnemonic = "v_rsq_clamp_f32";  // "v_rsq_clamp_f32_e32"
1260
0
              return;
1261
0
            case '6':  // 1 string to match.
1262
0
              if (memcmp(Mnemonic.data()+14, "4_e32", 5) != 0)
1263
0
                break;
1264
0
              Mnemonic = "v_rsq_clamp_f64";  // "v_rsq_clamp_f64_e32"
1265
0
              return;
1266
0
            }
1267
0
            break;
1268
44
          }
1269
44
          break;
1270
44
        case 's':  // 1 string to match.
1271
0
          if (memcmp(Mnemonic.data()+3, "at_pk_u8_i16_e32", 16) != 0)
1272
0
            break;
1273
0
          Mnemonic = "v_sat_pk_u8_i16";  // "v_sat_pk_u8_i16_e32"
1274
0
          return;
1275
468
        }
1276
468
        break;
1277
2.01k
      case 20:   // 20 strings to match.
1278
2.01k
        if (memcmp(Mnemonic.data()+0, "v_", 2) != 0)
1279
1.38k
          break;
1280
629
        switch (Mnemonic[2]) {
1281
629
        
default: break0
;
1282
629
        case 'c':  // 7 strings to match.
1283
629
          if (memcmp(Mnemonic.data()+3, "vt_", 3) != 0)
1284
0
            break;
1285
629
          switch (Mnemonic[6]) {
1286
629
          
default: break0
;
1287
629
          case 'f':  // 4 strings to match.
1288
0
            if (memcmp(Mnemonic.data()+7, "32_ubyte", 8) != 0)
1289
0
              break;
1290
0
            switch (Mnemonic[15]) {
1291
0
            default: break;
1292
0
            case '0':  // 1 string to match.
1293
0
              if (memcmp(Mnemonic.data()+16, "_e32", 4) != 0)
1294
0
                break;
1295
0
              Mnemonic = "v_cvt_f32_ubyte0";   // "v_cvt_f32_ubyte0_e32"
1296
0
              return;
1297
0
            case '1':  // 1 string to match.
1298
0
              if (memcmp(Mnemonic.data()+16, "_e32", 4) != 0)
1299
0
                break;
1300
0
              Mnemonic = "v_cvt_f32_ubyte1";   // "v_cvt_f32_ubyte1_e32"
1301
0
              return;
1302
0
            case '2':  // 1 string to match.
1303
0
              if (memcmp(Mnemonic.data()+16, "_e32", 4) != 0)
1304
0
                break;
1305
0
              Mnemonic = "v_cvt_f32_ubyte2";   // "v_cvt_f32_ubyte2_e32"
1306
0
              return;
1307
0
            case '3':  // 1 string to match.
1308
0
              if (memcmp(Mnemonic.data()+16, "_e32", 4) != 0)
1309
0
                break;
1310
0
              Mnemonic = "v_cvt_f32_ubyte3";   // "v_cvt_f32_ubyte3_e32"
1311
0
              return;
1312
0
            }
1313
0
            break;
1314
0
          case 'o':  // 1 string to match.
1315
0
            if (memcmp(Mnemonic.data()+7, "ff_f32_i4_e32", 13) != 0)
1316
0
              break;
1317
0
            Mnemonic = "v_cvt_off_f32_i4";   // "v_cvt_off_f32_i4_e32"
1318
0
            return;
1319
629
          case 'p':  // 2 strings to match.
1320
629
            if (memcmp(Mnemonic.data()+7, "k_", 2) != 0)
1321
629
              break;
1322
0
            switch (Mnemonic[9]) {
1323
0
            default: break;
1324
0
            case 'i':  // 1 string to match.
1325
0
              if (memcmp(Mnemonic.data()+10, "16_i32_e32", 10) != 0)
1326
0
                break;
1327
0
              Mnemonic = "v_cvt_pk_i16_i32";   // "v_cvt_pk_i16_i32_e32"
1328
0
              return;
1329
0
            case 'u':  // 1 string to match.
1330
0
              if (memcmp(Mnemonic.data()+10, "16_u32_e32", 10) != 0)
1331
0
                break;
1332
0
              Mnemonic = "v_cvt_pk_u16_u32";   // "v_cvt_pk_u16_u32_e32"
1333
0
              return;
1334
0
            }
1335
0
            break;
1336
629
          }
1337
629
          break;
1338
629
        case 'e':  // 1 string to match.
1339
0
          if (memcmp(Mnemonic.data()+3, "xp_legacy_f32_e32", 17) != 0)
1340
0
            break;
1341
0
          Mnemonic = "v_exp_legacy_f32";   // "v_exp_legacy_f32_e32"
1342
0
          return;
1343
0
        case 'f':  // 3 strings to match.
1344
0
          if (memcmp(Mnemonic.data()+3, "rexp_mant_f", 11) != 0)
1345
0
            break;
1346
0
          switch (Mnemonic[14]) {
1347
0
          default: break;
1348
0
          case '1':  // 1 string to match.
1349
0
            if (memcmp(Mnemonic.data()+15, "6_e32", 5) != 0)
1350
0
              break;
1351
0
            Mnemonic = "v_frexp_mant_f16";   // "v_frexp_mant_f16_e32"
1352
0
            return;
1353
0
          case '3':  // 1 string to match.
1354
0
            if (memcmp(Mnemonic.data()+15, "2_e32", 5) != 0)
1355
0
              break;
1356
0
            Mnemonic = "v_frexp_mant_f32";   // "v_frexp_mant_f32_e32"
1357
0
            return;
1358
0
          case '6':  // 1 string to match.
1359
0
            if (memcmp(Mnemonic.data()+15, "4_e32", 5) != 0)
1360
0
              break;
1361
0
            Mnemonic = "v_frexp_mant_f64";   // "v_frexp_mant_f64_e32"
1362
0
            return;
1363
0
          }
1364
0
          break;
1365
0
        case 'l':  // 1 string to match.
1366
0
          if (memcmp(Mnemonic.data()+3, "og_legacy_f32_e32", 17) != 0)
1367
0
            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
0
          default: break;
1373
0
          case 'a':  // 2 strings to match.
1374
0
            switch (Mnemonic[4]) {
1375
0
            default: break;
1376
0
            case 'c':  // 1 string to match.
1377
0
              if (memcmp(Mnemonic.data()+5, "_legacy_f32_e32", 15) != 0)
1378
0
                break;
1379
0
              Mnemonic = "v_mac_legacy_f32";   // "v_mac_legacy_f32_e32"
1380
0
              return;
1381
0
            case 'x':  // 1 string to match.
1382
0
              if (memcmp(Mnemonic.data()+5, "_legacy_f32_e32", 15) != 0)
1383
0
                break;
1384
0
              Mnemonic = "v_max_legacy_f32";   // "v_max_legacy_f32_e32"
1385
0
              return;
1386
0
            }
1387
0
            break;
1388
0
          case 'i':  // 1 string to match.
1389
0
            if (memcmp(Mnemonic.data()+4, "n_legacy_f32_e32", 16) != 0)
1390
0
              break;
1391
0
            Mnemonic = "v_min_legacy_f32";   // "v_min_legacy_f32_e32"
1392
0
            return;
1393
0
          case 'u':  // 3 strings to match.
1394
0
            if (memcmp(Mnemonic.data()+4, "l_", 2) != 0)
1395
0
              break;
1396
0
            switch (Mnemonic[6]) {
1397
0
            default: break;
1398
0
            case 'h':  // 2 strings to match.
1399
0
              if (memcmp(Mnemonic.data()+7, "i_", 2) != 0)
1400
0
                break;
1401
0
              switch (Mnemonic[9]) {
1402
0
              default: break;
1403
0
              case 'i':  // 1 string to match.
1404
0
                if (memcmp(Mnemonic.data()+10, "32_i24_e32", 10) != 0)
1405
0
                  break;
1406
0
                Mnemonic = "v_mul_hi_i32_i24";   // "v_mul_hi_i32_i24_e32"
1407
0
                return;
1408
0
              case 'u':  // 1 string to match.
1409
0
                if (memcmp(Mnemonic.data()+10, "32_u24_e32", 10) != 0)
1410
0
                  break;
1411
0
                Mnemonic = "v_mul_hi_u32_u24";   // "v_mul_hi_u32_u24_e32"
1412
0
                return;
1413
0
              }
1414
0
              break;
1415
0
            case 'l':  // 1 string to match.
1416
0
              if (memcmp(Mnemonic.data()+7, "egacy_f32_e32", 13) != 0)
1417
0
                break;
1418
0
              Mnemonic = "v_mul_legacy_f32";   // "v_mul_legacy_f32_e32"
1419
0
              return;
1420
0
            }
1421
0
            break;
1422
0
          }
1423
0
          break;
1424
0
        case 'r':  // 2 strings to match.
1425
0
          switch (Mnemonic[3]) {
1426
0
          default: break;
1427
0
          case 'c':  // 1 string to match.
1428
0
            if (memcmp(Mnemonic.data()+4, "p_legacy_f32_e32", 16) != 0)
1429
0
              break;
1430
0
            Mnemonic = "v_rcp_legacy_f32";   // "v_rcp_legacy_f32_e32"
1431
0
            return;
1432
0
          case 's':  // 1 string to match.
1433
0
            if (memcmp(Mnemonic.data()+4, "q_legacy_f32_e32", 16) != 0)
1434
0
              break;
1435
0
            Mnemonic = "v_rsq_legacy_f32";   // "v_rsq_legacy_f32_e32"
1436
0
            return;
1437
0
          }
1438
0
          break;
1439
629
        }
1440
629
        break;
1441
1.23k
      case 21:   // 2 strings to match.
1442
1.23k
        if (memcmp(Mnemonic.data()+0, "v_cvt_", 6) != 0)
1443
1.23k
          break;
1444
0
        switch (Mnemonic[6]) {
1445
0
        default: break;
1446
0
        case 'f':  // 1 string to match.
1447
0
          if (memcmp(Mnemonic.data()+7, "lr_i32_f32_e32", 14) != 0)
1448
0
            break;
1449
0
          Mnemonic = "v_cvt_flr_i32_f32";  // "v_cvt_flr_i32_f32_e32"
1450
0
          return;
1451
0
        case 'r':  // 1 string to match.
1452
0
          if (memcmp(Mnemonic.data()+7, "pi_i32_f32_e32", 14) != 0)
1453
0
            break;
1454
0
          Mnemonic = "v_cvt_rpi_i32_f32";  // "v_cvt_rpi_i32_f32_e32"
1455
0
          return;
1456
0
        }
1457
0
        break;
1458
994
      case 22:   // 4 strings to match.
1459
994
        if (memcmp(Mnemonic.data()+0, "v_", 2) != 0)
1460
842
          break;
1461
152
        switch (Mnemonic[2]) {
1462
152
        default: break;
1463
152
        case 'c':  // 2 strings to match.
1464
0
          if (memcmp(Mnemonic.data()+3, "vt_norm_", 8) != 0)
1465
0
            break;
1466
0
          switch (Mnemonic[11]) {
1467
0
          default: break;
1468
0
          case 'i':  // 1 string to match.
1469
0
            if (memcmp(Mnemonic.data()+12, "16_f16_e32", 10) != 0)
1470
0
              break;
1471
0
            Mnemonic = "v_cvt_norm_i16_f16";   // "v_cvt_norm_i16_f16_e32"
1472
0
            return;
1473
0
          case 'u':  // 1 string to match.
1474
0
            if (memcmp(Mnemonic.data()+12, "16_f16_e32", 10) != 0)
1475
0
              break;
1476
0
            Mnemonic = "v_cvt_norm_u16_f16";   // "v_cvt_norm_u16_f16_e32"
1477
0
            return;
1478
0
          }
1479
0
          break;
1480
0
        case 'm':  // 2 strings to match.
1481
0
          if (memcmp(Mnemonic.data()+3, "bcnt_", 5) != 0)
1482
0
            break;
1483
0
          switch (Mnemonic[8]) {
1484
0
          default: break;
1485
0
          case 'h':  // 1 string to match.
1486
0
            if (memcmp(Mnemonic.data()+9, "i_u32_b32_e32", 13) != 0)
1487
0
              break;
1488
0
            Mnemonic = "v_mbcnt_hi_u32_b32";   // "v_mbcnt_hi_u32_b32_e32"
1489
0
            return;
1490
0
          case 'l':  // 1 string to match.
1491
0
            if (memcmp(Mnemonic.data()+9, "o_u32_b32_e32", 13) != 0)
1492
0
              break;
1493
0
            Mnemonic = "v_mbcnt_lo_u32_b32";   // "v_mbcnt_lo_u32_b32_e32"
1494
0
            return;
1495
0
          }
1496
0
          break;
1497
152
        }
1498
152
        break;
1499
301
      case 23:   // 4 strings to match.
1500
301
        if (memcmp(Mnemonic.data()+0, "v_", 2) != 0)
1501
301
          break;
1502
0
        switch (Mnemonic[2]) {
1503
0
        default: break;
1504
0
        case 'c':  // 1 string to match.
1505
0
          if (memcmp(Mnemonic.data()+3, "vt_pkrtz_f16_f32_e32", 20) != 0)
1506
0
            break;
1507
0
          Mnemonic = "v_cvt_pkrtz_f16_f32";  // "v_cvt_pkrtz_f16_f32_e32"
1508
0
          return;
1509
0
        case 'f':  // 3 strings to match.
1510
0
          if (memcmp(Mnemonic.data()+3, "rexp_exp_i", 10) != 0)
1511
0
            break;
1512
0
          switch (Mnemonic[13]) {
1513
0
          default: break;
1514
0
          case '1':  // 1 string to match.
1515
0
            if (memcmp(Mnemonic.data()+14, "6_f16_e32", 9) != 0)
1516
0
              break;
1517
0
            Mnemonic = "v_frexp_exp_i16_f16";  // "v_frexp_exp_i16_f16_e32"
1518
0
            return;
1519
0
          case '3':  // 2 strings to match.
1520
0
            if (memcmp(Mnemonic.data()+14, "2_f", 3) != 0)
1521
0
              break;
1522
0
            switch (Mnemonic[17]) {
1523
0
            default: break;
1524
0
            case '3':  // 1 string to match.
1525
0
              if (memcmp(Mnemonic.data()+18, "2_e32", 5) != 0)
1526
0
                break;
1527
0
              Mnemonic = "v_frexp_exp_i32_f32";  // "v_frexp_exp_i32_f32_e32"
1528
0
              return;
1529
0
            case '6':  // 1 string to match.
1530
0
              if (memcmp(Mnemonic.data()+18, "4_e32", 5) != 0)
1531
0
                break;
1532
0
              Mnemonic = "v_frexp_exp_i32_f64";  // "v_frexp_exp_i32_f64_e32"
1533
0
              return;
1534
0
            }
1535
0
            break;
1536
0
          }
1537
0
          break;
1538
0
        }
1539
0
        break;
1540
409
      case 24:   // 3 strings to match.
1541
409
        if (memcmp(Mnemonic.data()+0, "v_cvt_pk", 8) != 0)
1542
409
          break;
1543
0
        switch (Mnemonic[8]) {
1544
0
        default: break;
1545
0
        case 'a':  // 1 string to match.
1546
0
          if (memcmp(Mnemonic.data()+9, "ccum_u8_f32_e32", 15) != 0)
1547
0
            break;
1548
0
          Mnemonic = "v_cvt_pkaccum_u8_f32";   // "v_cvt_pkaccum_u8_f32_e32"
1549
0
          return;
1550
0
        case 'n':  // 2 strings to match.
1551
0
          if (memcmp(Mnemonic.data()+9, "orm_", 4) != 0)
1552
0
            break;
1553
0
          switch (Mnemonic[13]) {
1554
0
          default: break;
1555
0
          case 'i':  // 1 string to match.
1556
0
            if (memcmp(Mnemonic.data()+14, "16_f32_e32", 10) != 0)
1557
0
              break;
1558
0
            Mnemonic = "v_cvt_pknorm_i16_f32";   // "v_cvt_pknorm_i16_f32_e32"
1559
0
            return;
1560
0
          case 'u':  // 1 string to match.
1561
0
            if (memcmp(Mnemonic.data()+14, "16_f32_e32", 10) != 0)
1562
0
              break;
1563
0
            Mnemonic = "v_cvt_pknorm_u16_f32";   // "v_cvt_pknorm_u16_f32_e32"
1564
0
            return;
1565
0
          }
1566
0
          break;
1567
0
        }
1568
0
        break;
1569
0
      case 30:   // 1 string to match.
1570
0
        if (memcmp(Mnemonic.data()+0, "v_screen_partition_4se_b32_e32", 30) != 0)
1571
0
          break;
1572
0
        Mnemonic = "v_screen_partition_4se_b32";   // "v_screen_partition_4se_b32_e32"
1573
0
        return;
1574
86.2k
      }
1575
86.2k
    break;
1576
86.2k
    case 1:
1577
67.0k
      switch (Mnemonic.size()) {
1578
67.0k
      
default: break10.0k
;
1579
67.0k
      case 9:  // 1 string to match.
1580
10.2k
        if (memcmp(Mnemonic.data()+0, "v_nop_e64", 9) != 0)
1581
10.2k
          break;
1582
0
        Mnemonic = "v_nop";  // "v_nop_e64"
1583
0
        return;
1584
14.3k
      case 12:   // 2 strings to match.
1585
14.3k
        if (memcmp(Mnemonic.data()+0, "v_", 2) != 0)
1586
151
          break;
1587
14.2k
        switch (Mnemonic[2]) {
1588
14.2k
        
default: break13.4k
;
1589
14.2k
        case 'o':  // 1 string to match.
1590
0
          if (memcmp(Mnemonic.data()+3, "r_b32_e64", 9) != 0)
1591
0
            break;
1592
0
          Mnemonic = "v_or_b32";   // "v_or_b32_e64"
1593
0
          return;
1594
708
        case 's':  // 1 string to match.
1595
708
          if (memcmp(Mnemonic.data()+3, "ad_u8_e64", 9) != 0)
1596
708
            break;
1597
0
          Mnemonic = "v_sad_u8";   // "v_sad_u8_e64"
1598
0
          return;
1599
14.2k
        }
1600
14.2k
        break;
1601
16.2k
      case 13:   // 68 strings to match.
1602
16.2k
        if (memcmp(Mnemonic.data()+0, "v_", 2) != 0)
1603
124
          break;
1604
16.1k
        switch (Mnemonic[2]) {
1605
16.1k
        
default: break116
;
1606
16.1k
        case 'a':  // 8 strings to match.
1607
393
          switch (Mnemonic[3]) {
1608
393
          
default: break351
;
1609
393
          case 'd':  // 7 strings to match.
1610
42
            if (memcmp(Mnemonic.data()+4, "d_", 2) != 0)
1611
42
              break;
1612
0
            switch (Mnemonic[6]) {
1613
0
            default: break;
1614
0
            case 'f':  // 3 strings to match.
1615
0
              switch (Mnemonic[7]) {
1616
0
              default: break;
1617
0
              case '1':  // 1 string to match.
1618
0
                if (memcmp(Mnemonic.data()+8, "6_e64", 5) != 0)
1619
0
                  break;
1620
0
                Mnemonic = "v_add_f16";  // "v_add_f16_e64"
1621
0
                return;
1622
0
              case '3':  // 1 string to match.
1623
0
                if (memcmp(Mnemonic.data()+8, "2_e64", 5) != 0)
1624
0
                  break;
1625
0
                Mnemonic = "v_add_f32";  // "v_add_f32_e64"
1626
0
                return;
1627
0
              case '6':  // 1 string to match.
1628
0
                if (memcmp(Mnemonic.data()+8, "4_e64", 5) != 0)
1629
0
                  break;
1630
0
                Mnemonic = "v_add_f64";  // "v_add_f64_e64"
1631
0
                return;
1632
0
              }
1633
0
              break;
1634
0
            case 'i':  // 2 strings to match.
1635
0
              switch (Mnemonic[7]) {
1636
0
              default: break;
1637
0
              case '1':  // 1 string to match.
1638
0
                if (memcmp(Mnemonic.data()+8, "6_e64", 5) != 0)
1639
0
                  break;
1640
0
                Mnemonic = "v_add_i16";  // "v_add_i16_e64"
1641
0
                return;
1642
0
              case '3':  // 1 string to match.
1643
0
                if (memcmp(Mnemonic.data()+8, "2_e64", 5) != 0)
1644
0
                  break;
1645
0
                Mnemonic = "v_add_i32";  // "v_add_i32_e64"
1646
0
                return;
1647
0
              }
1648
0
              break;
1649
0
            case 'u':  // 2 strings to match.
1650
0
              switch (Mnemonic[7]) {
1651
0
              default: break;
1652
0
              case '1':  // 1 string to match.
1653
0
                if (memcmp(Mnemonic.data()+8, "6_e64", 5) != 0)
1654
0
                  break;
1655
0
                Mnemonic = "v_add_u16";  // "v_add_u16_e64"
1656
0
                return;
1657
0
              case '3':  // 1 string to match.
1658
0
                if (memcmp(Mnemonic.data()+8, "2_e64", 5) != 0)
1659
0
                  break;
1660
0
                Mnemonic = "v_add_u32";  // "v_add_u32_e64"
1661
0
                return;
1662
0
              }
1663
0
              break;
1664
0
            }
1665
0
            break;
1666
0
          case 'n':  // 1 string to match.
1667
0
            if (memcmp(Mnemonic.data()+4, "d_b32_e64", 9) != 0)
1668
0
              break;
1669
0
            Mnemonic = "v_and_b32";  // "v_and_b32_e64"
1670
0
            return;
1671
393
          }
1672
393
          break;
1673
393
        case 'b':  // 4 strings to match.
1674
0
          if (Mnemonic[3] != 'f')
1675
0
            break;
1676
0
          switch (Mnemonic[4]) {
1677
0
          default: break;
1678
0
          case 'e':  // 2 strings to match.
1679
0
            if (Mnemonic[5] != '_')
1680
0
              break;
1681
0
            switch (Mnemonic[6]) {
1682
0
            default: break;
1683
0
            case 'i':  // 1 string to match.
1684
0
              if (memcmp(Mnemonic.data()+7, "32_e64", 6) != 0)
1685
0
                break;
1686
0
              Mnemonic = "v_bfe_i32";  // "v_bfe_i32_e64"
1687
0
              return;
1688
0
            case 'u':  // 1 string to match.
1689
0
              if (memcmp(Mnemonic.data()+7, "32_e64", 6) != 0)
1690
0
                break;
1691
0
              Mnemonic = "v_bfe_u32";  // "v_bfe_u32_e64"
1692
0
              return;
1693
0
            }
1694
0
            break;
1695
0
          case 'i':  // 1 string to match.
1696
0
            if (memcmp(Mnemonic.data()+5, "_b32_e64", 8) != 0)
1697
0
              break;
1698
0
            Mnemonic = "v_bfi_b32";  // "v_bfi_b32_e64"
1699
0
            return;
1700
0
          case 'm':  // 1 string to match.
1701
0
            if (memcmp(Mnemonic.data()+5, "_b32_e64", 8) != 0)
1702
0
              break;
1703
0
            Mnemonic = "v_bfm_b32";  // "v_bfm_b32_e64"
1704
0
            return;
1705
0
          }
1706
0
          break;
1707
12.9k
        case 'c':  // 3 strings to match.
1708
12.9k
          switch (Mnemonic[3]) {
1709
12.9k
          default: break;
1710
12.9k
          case 'l':  // 1 string to match.
1711
0
            if (memcmp(Mnemonic.data()+4, "rexcp_e64", 9) != 0)
1712
0
              break;
1713
0
            Mnemonic = "v_clrexcp";  // "v_clrexcp_e64"
1714
0
            return;
1715
0
          case 'o':  // 2 strings to match.
1716
0
            if (memcmp(Mnemonic.data()+4, "s_f", 3) != 0)
1717
0
              break;
1718
0
            switch (Mnemonic[7]) {
1719
0
            default: break;
1720
0
            case '1':  // 1 string to match.
1721
0
              if (memcmp(Mnemonic.data()+8, "6_e64", 5) != 0)
1722
0
                break;
1723
0
              Mnemonic = "v_cos_f16";  // "v_cos_f16_e64"
1724
0
              return;
1725
0
            case '3':  // 1 string to match.
1726
0
              if (memcmp(Mnemonic.data()+8, "2_e64", 5) != 0)
1727
0
                break;
1728
0
              Mnemonic = "v_cos_f32";  // "v_cos_f32_e64"
1729
0
              return;
1730
0
            }
1731
0
            break;
1732
12.9k
          }
1733
12.9k
          break;
1734
12.9k
        case 'e':  // 2 strings to match.
1735
0
          if (memcmp(Mnemonic.data()+3, "xp_f", 4) != 0)
1736
0
            break;
1737
0
          switch (Mnemonic[7]) {
1738
0
          default: break;
1739
0
          case '1':  // 1 string to match.
1740
0
            if (memcmp(Mnemonic.data()+8, "6_e64", 5) != 0)
1741
0
              break;
1742
0
            Mnemonic = "v_exp_f16";  // "v_exp_f16_e64"
1743
0
            return;
1744
0
          case '3':  // 1 string to match.
1745
0
            if (memcmp(Mnemonic.data()+8, "2_e64", 5) != 0)
1746
0
              break;
1747
0
            Mnemonic = "v_exp_f32";  // "v_exp_f32_e64"
1748
0
            return;
1749
0
          }
1750
0
          break;
1751
51
        case 'f':  // 3 strings to match.
1752
51
          if (memcmp(Mnemonic.data()+3, "ma_f", 4) != 0)
1753
51
            break;
1754
0
          switch (Mnemonic[7]) {
1755
0
          default: break;
1756
0
          case '1':  // 1 string to match.
1757
0
            if (memcmp(Mnemonic.data()+8, "6_e64", 5) != 0)
1758
0
              break;
1759
0
            Mnemonic = "v_fma_f16";  // "v_fma_f16_e64"
1760
0
            return;
1761
0
          case '3':  // 1 string to match.
1762
0
            if (memcmp(Mnemonic.data()+8, "2_e64", 5) != 0)
1763
0
              break;
1764
0
            Mnemonic = "v_fma_f32";  // "v_fma_f32_e64"
1765
0
            return;
1766
0
          case '6':  // 1 string to match.
1767
0
            if (memcmp(Mnemonic.data()+8, "4_e64", 5) != 0)
1768
0
              break;
1769
0
            Mnemonic = "v_fma_f64";  // "v_fma_f64_e64"
1770
0
            return;
1771
0
          }
1772
0
          break;
1773
795
        case 'l':  // 3 strings to match.
1774
795
          switch (Mnemonic[3]) {
1775
795
          default: break;
1776
795
          case 'e':  // 1 string to match.
1777
0
            if (memcmp(Mnemonic.data()+4, "rp_u8_e64", 9) != 0)
1778
0
              break;
1779
0
            Mnemonic = "v_lerp_u8";  // "v_lerp_u8_e64"
1780
0
            return;
1781
0
          case 'o':  // 2 strings to match.
1782
0
            if (memcmp(Mnemonic.data()+4, "g_f", 3) != 0)
1783
0
              break;
1784
0
            switch (Mnemonic[7]) {
1785
0
            default: break;
1786
0
            case '1':  // 1 string to match.
1787
0
              if (memcmp(Mnemonic.data()+8, "6_e64", 5) != 0)
1788
0
                break;
1789
0
              Mnemonic = "v_log_f16";  // "v_log_f16_e64"
1790
0
              return;
1791
0
            case '3':  // 1 string to match.
1792
0
              if (memcmp(Mnemonic.data()+8, "2_e64", 5) != 0)
1793
0
                break;
1794
0
              Mnemonic = "v_log_f32";  // "v_log_f32_e64"
1795
0
              return;
1796
0
            }
1797
0
            break;
1798
795
          }
1799
795
          break;
1800
1.74k
        case 'm':  // 25 strings to match.
1801
1.74k
          switch (Mnemonic[3]) {
1802
1.74k
          
default: break0
;
1803
1.74k
          case 'a':  // 13 strings to match.
1804
1.25k
            switch (Mnemonic[4]) {
1805
1.25k
            
default: break0
;
1806
1.25k
            case 'c':  // 2 strings to match.
1807
0
              if (memcmp(Mnemonic.data()+5, "_f", 2) != 0)
1808
0
                break;
1809
0
              switch (Mnemonic[7]) {
1810
0
              default: break;
1811
0
              case '1':  // 1 string to match.
1812
0
                if (memcmp(Mnemonic.data()+8, "6_e64", 5) != 0)
1813
0
                  break;
1814
0
                Mnemonic = "v_mac_f16";  // "v_mac_f16_e64"
1815
0
                return;
1816
0
              case '3':  // 1 string to match.
1817
0
                if (memcmp(Mnemonic.data()+8, "2_e64", 5) != 0)
1818
0
                  break;
1819
0
                Mnemonic = "v_mac_f32";  // "v_mac_f32_e64"
1820
0
                return;
1821
0
              }
1822
0
              break;
1823
1.25k
            case 'd':  // 4 strings to match.
1824
1.25k
              if (Mnemonic[5] != '_')
1825
0
                break;
1826
1.25k
              switch (Mnemonic[6]) {
1827
1.25k
              
default: break168
;
1828
1.25k
              case 'f':  // 2 strings to match.
1829
0
                switch (Mnemonic[7]) {
1830
0
                default: break;
1831
0
                case '1':  // 1 string to match.
1832
0
                  if (memcmp(Mnemonic.data()+8, "6_e64", 5) != 0)
1833
0
                    break;
1834
0
                  Mnemonic = "v_mad_f16";  // "v_mad_f16_e64"
1835
0
                  return;
1836
0
                case '3':  // 1 string to match.
1837
0
                  if (memcmp(Mnemonic.data()+8, "2_e64", 5) != 0)
1838
0
                    break;
1839
0
                  Mnemonic = "v_mad_f32";  // "v_mad_f32_e64"
1840
0
                  return;
1841
0
                }
1842
0
                break;
1843
543
              case 'i':  // 1 string to match.
1844
543
                if (memcmp(Mnemonic.data()+7, "16_e64", 6) != 0)
1845
543
                  break;
1846
0
                Mnemonic = "v_mad_i16";  // "v_mad_i16_e64"
1847
0
                return;
1848
547
              case 'u':  // 1 string to match.
1849
547
                if (memcmp(Mnemonic.data()+7, "16_e64", 6) != 0)
1850
547
                  break;
1851
0
                Mnemonic = "v_mad_u16";  // "v_mad_u16_e64"
1852
0
                return;
1853
1.25k
              }
1854
1.25k
              break;
1855
1.25k
            case 'x':  // 7 strings to match.
1856
0
              if (Mnemonic[5] != '_')
1857
0
                break;
1858
0
              switch (Mnemonic[6]) {
1859
0
              default: break;
1860
0
              case 'f':  // 3 strings to match.
1861
0
                switch (Mnemonic[7]) {
1862
0
                default: break;
1863
0
                case '1':  // 1 string to match.
1864
0
                  if (memcmp(Mnemonic.data()+8, "6_e64", 5) != 0)
1865
0
                    break;
1866
0
                  Mnemonic = "v_max_f16";  // "v_max_f16_e64"
1867
0
                  return;
1868
0
                case '3':  // 1 string to match.
1869
0
                  if (memcmp(Mnemonic.data()+8, "2_e64", 5) != 0)
1870
0
                    break;
1871
0
                  Mnemonic = "v_max_f32";  // "v_max_f32_e64"
1872
0
                  return;
1873
0
                case '6':  // 1 string to match.
1874
0
                  if (memcmp(Mnemonic.data()+8, "4_e64", 5) != 0)
1875
0
                    break;
1876
0
                  Mnemonic = "v_max_f64";  // "v_max_f64_e64"
1877
0
                  return;
1878
0
                }
1879
0
                break;
1880
0
              case 'i':  // 2 strings to match.
1881
0
                switch (Mnemonic[7]) {
1882
0
                default: break;
1883
0
                case '1':  // 1 string to match.
1884
0
                  if (memcmp(Mnemonic.data()+8, "6_e64", 5) != 0)
1885
0
                    break;
1886
0
                  Mnemonic = "v_max_i16";  // "v_max_i16_e64"
1887
0
                  return;
1888
0
                case '3':  // 1 string to match.
1889
0
                  if (memcmp(Mnemonic.data()+8, "2_e64", 5) != 0)
1890
0
                    break;
1891
0
                  Mnemonic = "v_max_i32";  // "v_max_i32_e64"
1892
0
                  return;
1893
0
                }
1894
0
                break;
1895
0
              case 'u':  // 2 strings to match.
1896
0
                switch (Mnemonic[7]) {
1897
0
                default: break;
1898
0
                case '1':  // 1 string to match.
1899
0
                  if (memcmp(Mnemonic.data()+8, "6_e64", 5) != 0)
1900
0
                    break;
1901
0
                  Mnemonic = "v_max_u16";  // "v_max_u16_e64"
1902
0
                  return;
1903
0
                case '3':  // 1 string to match.
1904
0
                  if (memcmp(Mnemonic.data()+8, "2_e64", 5) != 0)
1905
0
                    break;
1906
0
                  Mnemonic = "v_max_u32";  // "v_max_u32_e64"
1907
0
                  return;
1908
0
                }
1909
0
                break;
1910
0
              }
1911
0
              break;
1912
1.25k
            }
1913
1.25k
            break;
1914
1.25k
          case 'i':  // 7 strings to match.
1915
0
            if (memcmp(Mnemonic.data()+4, "n_", 2) != 0)
1916
0
              break;
1917
0
            switch (Mnemonic[6]) {
1918
0
            default: break;
1919
0
            case 'f':  // 3 strings to match.
1920
0
              switch (Mnemonic[7]) {
1921
0
              default: break;
1922
0
              case '1':  // 1 string to match.
1923
0
                if (memcmp(Mnemonic.data()+8, "6_e64", 5) != 0)
1924
0
                  break;
1925
0
                Mnemonic = "v_min_f16";  // "v_min_f16_e64"
1926
0
                return;
1927
0
              case '3':  // 1 string to match.
1928
0
                if (memcmp(Mnemonic.data()+8, "2_e64", 5) != 0)
1929
0
                  break;
1930
0
                Mnemonic = "v_min_f32";  // "v_min_f32_e64"
1931
0
                return;
1932
0
              case '6':  // 1 string to match.
1933
0
                if (memcmp(Mnemonic.data()+8, "4_e64", 5) != 0)
1934
0
                  break;
1935
0
                Mnemonic = "v_min_f64";  // "v_min_f64_e64"
1936
0
                return;
1937
0
              }
1938
0
              break;
1939
0
            case 'i':  // 2 strings to match.
1940
0
              switch (Mnemonic[7]) {
1941
0
              default: break;
1942
0
              case '1':  // 1 string to match.
1943
0
                if (memcmp(Mnemonic.data()+8, "6_e64", 5) != 0)
1944
0
                  break;
1945
0
                Mnemonic = "v_min_i16";  // "v_min_i16_e64"
1946
0
                return;
1947
0
              case '3':  // 1 string to match.
1948
0
                if (memcmp(Mnemonic.data()+8, "2_e64", 5) != 0)
1949
0
                  break;
1950
0
                Mnemonic = "v_min_i32";  // "v_min_i32_e64"
1951
0
                return;
1952
0
              }
1953
0
              break;
1954
0
            case 'u':  // 2 strings to match.
1955
0
              switch (Mnemonic[7]) {
1956
0
              default: break;
1957
0
              case '1':  // 1 string to match.
1958
0
                if (memcmp(Mnemonic.data()+8, "6_e64", 5) != 0)
1959
0
                  break;
1960
0
                Mnemonic = "v_min_u16";  // "v_min_u16_e64"
1961
0
                return;
1962
0
              case '3':  // 1 string to match.
1963
0
                if (memcmp(Mnemonic.data()+8, "2_e64", 5) != 0)
1964
0
                  break;
1965
0
                Mnemonic = "v_min_u32";  // "v_min_u32_e64"
1966
0
                return;
1967
0
              }
1968
0
              break;
1969
0
            }
1970
0
            break;
1971
102
          case 'o':  // 1 string to match.
1972
102
            if (memcmp(Mnemonic.data()+4, "v_b32_e64", 9) != 0)
1973
102
              break;
1974
0
            Mnemonic = "v_mov_b32";  // "v_mov_b32_e64"
1975
0
            return;
1976
0
          case 's':  // 1 string to match.
1977
0
            if (memcmp(Mnemonic.data()+4, "ad_u8_e64", 9) != 0)
1978
0
              break;
1979
0
            Mnemonic = "v_msad_u8";  // "v_msad_u8_e64"
1980
0
            return;
1981
380
          case 'u':  // 3 strings to match.
1982
380
            if (memcmp(Mnemonic.data()+4, "l_f", 3) != 0)
1983
380
              break;
1984
0
            switch (Mnemonic[7]) {
1985
0
            default: break;
1986
0
            case '1':  // 1 string to match.
1987
0
              if (memcmp(Mnemonic.data()+8, "6_e64", 5) != 0)
1988
0
                break;
1989
0
              Mnemonic = "v_mul_f16";  // "v_mul_f16_e64"
1990
0
              return;
1991
0
            case '3':  // 1 string to match.
1992
0
              if (memcmp(Mnemonic.data()+8, "2_e64", 5) != 0)
1993
0
                break;
1994
0
              Mnemonic = "v_mul_f32";  // "v_mul_f32_e64"
1995
0
              return;
1996
0
            case '6':  // 1 string to match.
1997
0
              if (memcmp(Mnemonic.data()+8, "4_e64", 5) != 0)
1998
0
                break;
1999
0
              Mnemonic = "v_mul_f64";  // "v_mul_f64_e64"
2000
0
              return;
2001
0
            }
2002
0
            break;
2003
1.74k
          }
2004
1.74k
          break;
2005
1.74k
        case 'n':  // 1 string to match.
2006
0
          if (memcmp(Mnemonic.data()+3, "ot_b32_e64", 10) != 0)
2007
0
            break;
2008
0
          Mnemonic = "v_not_b32";  // "v_not_b32_e64"
2009
0
          return;
2010
0
        case 'o':  // 1 string to match.
2011
0
          if (memcmp(Mnemonic.data()+3, "r3_b32_e64", 10) != 0)
2012
0
            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
0
          default: break;
2018
0
          case 'c':  // 3 strings to match.
2019
0
            if (memcmp(Mnemonic.data()+4, "p_f", 3) != 0)
2020
0
              break;
2021
0
            switch (Mnemonic[7]) {
2022
0
            default: break;
2023
0
            case '1':  // 1 string to match.
2024
0
              if (memcmp(Mnemonic.data()+8, "6_e64", 5) != 0)
2025
0
                break;
2026
0
              Mnemonic = "v_rcp_f16";  // "v_rcp_f16_e64"
2027
0
              return;
2028
0
            case '3':  // 1 string to match.
2029
0
              if (memcmp(Mnemonic.data()+8, "2_e64", 5) != 0)
2030
0
                break;
2031
0
              Mnemonic = "v_rcp_f32";  // "v_rcp_f32_e64"
2032
0
              return;
2033
0
            case '6':  // 1 string to match.
2034
0
              if (memcmp(Mnemonic.data()+8, "4_e64", 5) != 0)
2035
0
                break;
2036
0
              Mnemonic = "v_rcp_f64";  // "v_rcp_f64_e64"
2037
0
              return;
2038
0
            }
2039
0
            break;
2040
0
          case 's':  // 3 strings to match.
2041
0
            if (memcmp(Mnemonic.data()+4, "q_f", 3) != 0)
2042
0
              break;
2043
0
            switch (Mnemonic[7]) {
2044
0
            default: break;
2045
0
            case '1':  // 1 string to match.
2046
0
              if (memcmp(Mnemonic.data()+8, "6_e64", 5) != 0)
2047
0
                break;
2048
0
              Mnemonic = "v_rsq_f16";  // "v_rsq_f16_e64"
2049
0
              return;
2050
0
            case '3':  // 1 string to match.
2051
0
              if (memcmp(Mnemonic.data()+8, "2_e64", 5) != 0)
2052
0
                break;
2053
0
              Mnemonic = "v_rsq_f32";  // "v_rsq_f32_e64"
2054
0
              return;
2055
0
            case '6':  // 1 string to match.
2056
0
              if (memcmp(Mnemonic.data()+8, "4_e64", 5) != 0)
2057
0
                break;
2058
0
              Mnemonic = "v_rsq_f64";  // "v_rsq_f64_e64"
2059
0
              return;
2060
0
            }
2061
0
            break;
2062
0
          }
2063
0
          break;
2064
104
        case 's':  // 10 strings to match.
2065
104
          switch (Mnemonic[3]) {
2066
104
          
default: break0
;
2067
104
          case 'a':  // 2 strings to match.
2068
0
            if (memcmp(Mnemonic.data()+4, "d_u", 3) != 0)
2069
0
              break;
2070
0
            switch (Mnemonic[7]) {
2071
0
            default: break;
2072
0
            case '1':  // 1 string to match.
2073
0
              if (memcmp(Mnemonic.data()+8, "6_e64", 5) != 0)
2074
0
                break;
2075
0
              Mnemonic = "v_sad_u16";  // "v_sad_u16_e64"
2076
0
              return;
2077
0
            case '3':  // 1 string to match.
2078
0
              if (memcmp(Mnemonic.data()+8, "2_e64", 5) != 0)
2079
0
                break;
2080
0
              Mnemonic = "v_sad_u32";  // "v_sad_u32_e64"
2081
0
              return;
2082
0
            }
2083
0
            break;
2084
0
          case 'i':  // 2 strings to match.
2085
0
            if (memcmp(Mnemonic.data()+4, "n_f", 3) != 0)
2086
0
              break;
2087
0
            switch (Mnemonic[7]) {
2088
0
            default: break;
2089
0
            case '1':  // 1 string to match.
2090
0
              if (memcmp(Mnemonic.data()+8, "6_e64", 5) != 0)
2091
0
                break;
2092
0
              Mnemonic = "v_sin_f16";  // "v_sin_f16_e64"
2093
0
              return;
2094
0
            case '3':  // 1 string to match.
2095
0
              if (memcmp(Mnemonic.data()+8, "2_e64", 5) != 0)
2096
0
                break;
2097
0
              Mnemonic = "v_sin_f32";  // "v_sin_f32_e64"
2098
0
              return;
2099
0
            }
2100
0
            break;
2101
104
          case 'u':  // 6 strings to match.
2102
104
            if (memcmp(Mnemonic.data()+4, "b_", 2) != 0)
2103
104
              break;
2104
0
            switch (Mnemonic[6]) {
2105
0
            default: break;
2106
0
            case 'f':  // 2 strings to match.
2107
0
              switch (Mnemonic[7]) {
2108
0
              default: break;
2109
0
              case '1':  // 1 string to match.
2110
0
                if (memcmp(Mnemonic.data()+8, "6_e64", 5) != 0)
2111
0
                  break;
2112
0
                Mnemonic = "v_sub_f16";  // "v_sub_f16_e64"
2113
0
                return;
2114
0
              case '3':  // 1 string to match.
2115
0
                if (memcmp(Mnemonic.data()+8, "2_e64", 5) != 0)
2116
0
                  break;
2117
0
                Mnemonic = "v_sub_f32";  // "v_sub_f32_e64"
2118
0
                return;
2119
0
              }
2120
0
              break;
2121
0
            case 'i':  // 2 strings to match.
2122
0
              switch (Mnemonic[7]) {
2123
0
              default: break;
2124
0
              case '1':  // 1 string to match.
2125
0
                if (memcmp(Mnemonic.data()+8, "6_e64", 5) != 0)
2126
0
                  break;
2127
0
                Mnemonic = "v_sub_i16";  // "v_sub_i16_e64"
2128
0
                return;
2129
0
              case '3':  // 1 string to match.
2130
0
                if (memcmp(Mnemonic.data()+8, "2_e64", 5) != 0)
2131
0
                  break;
2132
0
                Mnemonic = "v_sub_i32";  // "v_sub_i32_e64"
2133
0
                return;
2134
0
              }
2135
0
              break;
2136
0
            case 'u':  // 2 strings to match.
2137
0
              switch (Mnemonic[7]) {
2138
0
              default: break;
2139
0
              case '1':  // 1 string to match.
2140
0
                if (memcmp(Mnemonic.data()+8, "6_e64", 5) != 0)
2141
0
                  break;
2142
0
                Mnemonic = "v_sub_u16";  // "v_sub_u16_e64"
2143
0
                return;
2144
0
              case '3':  // 1 string to match.
2145
0
                if (memcmp(Mnemonic.data()+8, "2_e64", 5) != 0)
2146
0
                  break;
2147
0
                Mnemonic = "v_sub_u32";  // "v_sub_u32_e64"
2148
0
                return;
2149
0
              }
2150
0
              break;
2151
0
            }
2152
0
            break;
2153
104
          }
2154
104
          break;
2155
104
        case 'x':  // 2 strings to match.
2156
0
          switch (Mnemonic[3]) {
2157
0
          default: break;
2158
0
          case 'a':  // 1 string to match.
2159
0
            if (memcmp(Mnemonic.data()+4, "d_u32_e64", 9) != 0)
2160
0
              break;
2161
0
            Mnemonic = "v_xad_u32";  // "v_xad_u32_e64"
2162
0
            return;
2163
0
          case 'o':  // 1 string to match.
2164
0
            if (memcmp(Mnemonic.data()+4, "r_b32_e64", 9) != 0)
2165
0
              break;
2166
0
            Mnemonic = "v_xor_b32";  // "v_xor_b32_e64"
2167
0
            return;
2168
0
          }
2169
0
          break;
2170
16.1k
        }
2171
16.1k
        break;
2172
16.1k
      case 14:   // 39 strings to match.
2173
5.59k
        if (memcmp(Mnemonic.data()+0, "v_", 2) != 0)
2174
34
          break;
2175
5.56k
        switch (Mnemonic[2]) {
2176
5.56k
        
default: break709
;
2177
5.56k
        case 'a':  // 4 strings to match.
2178
274
          switch (Mnemonic[3]) {
2179
274
          
default: break182
;
2180
274
          case 'd':  // 2 strings to match.
2181
92
            if (Mnemonic[4] != 'd')
2182
0
              break;
2183
92
            switch (Mnemonic[5]) {
2184
92
            default: break;
2185
92
            case '3':  // 1 string to match.
2186
0
              if (memcmp(Mnemonic.data()+6, "_u32_e64", 8) != 0)
2187
0
                break;
2188
0
              Mnemonic = "v_add3_u32";   // "v_add3_u32_e64"
2189
0
              return;
2190
0
            case 'c':  // 1 string to match.
2191
0
              if (memcmp(Mnemonic.data()+6, "_u32_e64", 8) != 0)
2192
0
                break;
2193
0
              Mnemonic = "v_addc_u32";   // "v_addc_u32_e64"
2194
0
              return;
2195
92
            }
2196
92
            break;
2197
92
          case 's':  // 2 strings to match.
2198
0
            if (memcmp(Mnemonic.data()+4, "hr_i", 4) != 0)
2199
0
              break;
2200
0
            switch (Mnemonic[8]) {
2201
0
            default: break;
2202
0
            case '3':  // 1 string to match.
2203
0
              if (memcmp(Mnemonic.data()+9, "2_e64", 5) != 0)
2204
0
                break;
2205
0
              Mnemonic = "v_ashr_i32";   // "v_ashr_i32_e64"
2206
0
              return;
2207
0
            case '6':  // 1 string to match.
2208
0
              if (memcmp(Mnemonic.data()+9, "4_e64", 5) != 0)
2209
0
                break;
2210
0
              Mnemonic = "v_ashr_i64";   // "v_ashr_i64_e64"
2211
0
              return;
2212
0
            }
2213
0
            break;
2214
274
          }
2215
274
          break;
2216
4.26k
        case 'c':  // 3 strings to match.
2217
4.26k
          if (memcmp(Mnemonic.data()+3, "eil_f", 5) != 0)
2218
4.26k
            break;
2219
0
          switch (Mnemonic[8]) {
2220
0
          default: break;
2221
0
          case '1':  // 1 string to match.
2222
0
            if (memcmp(Mnemonic.data()+9, "6_e64", 5) != 0)
2223
0
              break;
2224
0
            Mnemonic = "v_ceil_f16";   // "v_ceil_f16_e64"
2225
0
            return;
2226
0
          case '3':  // 1 string to match.
2227
0
            if (memcmp(Mnemonic.data()+9, "2_e64", 5) != 0)
2228
0
              break;
2229
0
            Mnemonic = "v_ceil_f32";   // "v_ceil_f32_e64"
2230
0
            return;
2231
0
          case '6':  // 1 string to match.
2232
0
            if (memcmp(Mnemonic.data()+9, "4_e64", 5) != 0)
2233
0
              break;
2234
0
            Mnemonic = "v_ceil_f64";   // "v_ceil_f64_e64"
2235
0
            return;
2236
0
          }
2237
0
          break;
2238
0
        case 'f':  // 4 strings to match.
2239
0
          switch (Mnemonic[3]) {
2240
0
          default: break;
2241
0
          case 'f':  // 3 strings to match.
2242
0
            if (Mnemonic[4] != 'b')
2243
0
              break;
2244
0
            switch (Mnemonic[5]) {
2245
0
            default: break;
2246
0
            case 'h':  // 2 strings to match.
2247
0
              if (Mnemonic[6] != '_')
2248
0
                break;
2249
0
              switch (Mnemonic[7]) {
2250
0
              default: break;
2251
0
              case 'i':  // 1 string to match.
2252
0
                if (memcmp(Mnemonic.data()+8, "32_e64", 6) != 0)
2253
0
                  break;
2254
0
                Mnemonic = "v_ffbh_i32";   // "v_ffbh_i32_e64"
2255
0
                return;
2256
0
              case 'u':  // 1 string to match.
2257
0
                if (memcmp(Mnemonic.data()+8, "32_e64", 6) != 0)
2258
0
                  break;
2259
0
                Mnemonic = "v_ffbh_u32";   // "v_ffbh_u32_e64"
2260
0
                return;
2261
0
              }
2262
0
              break;
2263
0
            case 'l':  // 1 string to match.
2264
0
              if (memcmp(Mnemonic.data()+6, "_b32_e64", 8) != 0)
2265
0
                break;
2266
0
              Mnemonic = "v_ffbl_b32";   // "v_ffbl_b32_e64"
2267
0
              return;
2268
0
            }
2269
0
            break;
2270
0
          case 'm':  // 1 string to match.
2271
0
            if (memcmp(Mnemonic.data()+4, "ac_f32_e64", 10) != 0)
2272
0
              break;
2273
0
            Mnemonic = "v_fmac_f32";   // "v_fmac_f32_e64"
2274
0
            return;
2275
0
          }
2276
0
          break;
2277
92
        case 'l':  // 4 strings to match.
2278
92
          if (memcmp(Mnemonic.data()+3, "sh", 2) != 0)
2279
0
            break;
2280
92
          switch (Mnemonic[5]) {
2281
92
          
default: break0
;
2282
92
          case 'l':  // 2 strings to match.
2283
92
            if (memcmp(Mnemonic.data()+6, "_b", 2) != 0)
2284
92
              break;
2285
0
            switch (Mnemonic[8]) {
2286
0
            default: break;
2287
0
            case '3':  // 1 string to match.
2288
0
              if (memcmp(Mnemonic.data()+9, "2_e64", 5) != 0)
2289
0
                break;
2290
0
              Mnemonic = "v_lshl_b32";   // "v_lshl_b32_e64"
2291
0
              return;
2292
0
            case '6':  // 1 string to match.
2293
0
              if (memcmp(Mnemonic.data()+9, "4_e64", 5) != 0)
2294
0
                break;
2295
0
              Mnemonic = "v_lshl_b64";   // "v_lshl_b64_e64"
2296
0
              return;
2297
0
            }
2298
0
            break;
2299
0
          case 'r':  // 2 strings to match.
2300
0
            if (memcmp(Mnemonic.data()+6, "_b", 2) != 0)
2301
0
              break;
2302
0
            switch (Mnemonic[8]) {
2303
0
            default: break;
2304
0
            case '3':  // 1 string to match.
2305
0
              if (memcmp(Mnemonic.data()+9, "2_e64", 5) != 0)
2306
0
                break;
2307
0
              Mnemonic = "v_lshr_b32";   // "v_lshr_b32_e64"
2308
0
              return;
2309
0
            case '6':  // 1 string to match.
2310
0
              if (memcmp(Mnemonic.data()+9, "4_e64", 5) != 0)
2311
0
                break;
2312
0
              Mnemonic = "v_lshr_b64";   // "v_lshr_b64_e64"
2313
0
              return;
2314
0
            }
2315
0
            break;
2316
92
          }
2317
92
          break;
2318
133
        case 'm':  // 18 strings to match.
2319
133
          switch (Mnemonic[3]) {
2320
133
          default: break;
2321
133
          case 'a':  // 6 strings to match.
2322
0
            if (memcmp(Mnemonic.data()+4, "x3_", 3) != 0)
2323
0
              break;
2324
0
            switch (Mnemonic[7]) {
2325
0
            default: break;
2326
0
            case 'f':  // 2 strings to match.
2327
0
              switch (Mnemonic[8]) {
2328
0
              default: break;
2329
0
              case '1':  // 1 string to match.
2330
0
                if (memcmp(Mnemonic.data()+9, "6_e64", 5) != 0)
2331
0
                  break;
2332
0
                Mnemonic = "v_max3_f16";   // "v_max3_f16_e64"
2333
0
                return;
2334
0
              case '3':  // 1 string to match.
2335
0
                if (memcmp(Mnemonic.data()+9, "2_e64", 5) != 0)
2336
0
                  break;
2337
0
                Mnemonic = "v_max3_f32";   // "v_max3_f32_e64"
2338
0
                return;
2339
0
              }
2340
0
              break;
2341
0
            case 'i':  // 2 strings to match.
2342
0
              switch (Mnemonic[8]) {
2343
0
              default: break;
2344
0
              case '1':  // 1 string to match.
2345
0
                if (memcmp(Mnemonic.data()+9, "6_e64", 5) != 0)
2346
0
                  break;
2347
0
                Mnemonic = "v_max3_i16";   // "v_max3_i16_e64"
2348
0
                return;
2349
0
              case '3':  // 1 string to match.
2350
0
                if (memcmp(Mnemonic.data()+9, "2_e64", 5) != 0)
2351
0
                  break;
2352
0
                Mnemonic = "v_max3_i32";   // "v_max3_i32_e64"
2353
0
                return;
2354
0
              }
2355
0
              break;
2356
0
            case 'u':  // 2 strings to match.
2357
0
              switch (Mnemonic[8]) {
2358
0
              default: break;
2359
0
              case '1':  // 1 string to match.
2360
0
                if (memcmp(Mnemonic.data()+9, "6_e64", 5) != 0)
2361
0
                  break;
2362
0
                Mnemonic = "v_max3_u16";   // "v_max3_u16_e64"
2363
0
                return;
2364
0
              case '3':  // 1 string to match.
2365
0
                if (memcmp(Mnemonic.data()+9, "2_e64", 5) != 0)
2366
0
                  break;
2367
0
                Mnemonic = "v_max3_u32";   // "v_max3_u32_e64"
2368
0
                return;
2369
0
              }
2370
0
              break;
2371
0
            }
2372
0
            break;
2373
0
          case 'e':  // 6 strings to match.
2374
0
            if (memcmp(Mnemonic.data()+4, "d3_", 3) != 0)
2375
0
              break;
2376
0
            switch (Mnemonic[7]) {
2377
0
            default: break;
2378
0
            case 'f':  // 2 strings to match.
2379
0
              switch (Mnemonic[8]) {
2380
0
              default: break;
2381
0
              case '1':  // 1 string to match.
2382
0
                if (memcmp(Mnemonic.data()+9, "6_e64", 5) != 0)
2383
0
                  break;
2384
0
                Mnemonic = "v_med3_f16";   // "v_med3_f16_e64"
2385
0
                return;
2386
0
              case '3':  // 1 string to match.
2387
0
                if (memcmp(Mnemonic.data()+9, "2_e64", 5) != 0)
2388
0
                  break;
2389
0
                Mnemonic = "v_med3_f32";   // "v_med3_f32_e64"
2390
0
                return;
2391
0
              }
2392
0
              break;
2393
0
            case 'i':  // 2 strings to match.
2394
0
              switch (Mnemonic[8]) {
2395
0
              default: break;
2396
0
              case '1':  // 1 string to match.
2397
0
                if (memcmp(Mnemonic.data()+9, "6_e64", 5) != 0)
2398
0
                  break;
2399
0
                Mnemonic = "v_med3_i16";   // "v_med3_i16_e64"
2400
0
                return;
2401
0
              case '3':  // 1 string to match.
2402
0
                if (memcmp(Mnemonic.data()+9, "2_e64", 5) != 0)
2403
0
                  break;
2404
0
                Mnemonic = "v_med3_i32";   // "v_med3_i32_e64"
2405
0
                return;
2406
0
              }
2407
0
              break;
2408
0
            case 'u':  // 2 strings to match.
2409
0
              switch (Mnemonic[8]) {
2410
0
              default: break;
2411
0
              case '1':  // 1 string to match.
2412
0
                if (memcmp(Mnemonic.data()+9, "6_e64", 5) != 0)
2413
0
                  break;
2414
0
                Mnemonic = "v_med3_u16";   // "v_med3_u16_e64"
2415
0
                return;
2416
0
              case '3':  // 1 string to match.
2417
0
                if (memcmp(Mnemonic.data()+9, "2_e64", 5) != 0)
2418
0
                  break;
2419
0
                Mnemonic = "v_med3_u32";   // "v_med3_u32_e64"
2420
0
                return;
2421
0
              }
2422
0
              break;
2423
0
            }
2424
0
            break;
2425
0
          case 'i':  // 6 strings to match.
2426
0
            if (memcmp(Mnemonic.data()+4, "n3_", 3) != 0)
2427
0
              break;
2428
0
            switch (Mnemonic[7]) {
2429
0
            default: break;
2430
0
            case 'f':  // 2 strings to match.
2431
0
              switch (Mnemonic[8]) {
2432
0
              default: break;
2433
0
              case '1':  // 1 string to match.
2434
0
                if (memcmp(Mnemonic.data()+9, "6_e64", 5) != 0)
2435
0
                  break;
2436
0
                Mnemonic = "v_min3_f16";   // "v_min3_f16_e64"
2437
0
                return;
2438
0
              case '3':  // 1 string to match.
2439
0
                if (memcmp(Mnemonic.data()+9, "2_e64", 5) != 0)
2440
0
                  break;
2441
0
                Mnemonic = "v_min3_f32";   // "v_min3_f32_e64"
2442
0
                return;
2443
0
              }
2444
0
              break;
2445
0
            case 'i':  // 2 strings to match.
2446
0
              switch (Mnemonic[8]) {
2447
0
              default: break;
2448
0
              case '1':  // 1 string to match.
2449
0
                if (memcmp(Mnemonic.data()+9, "6_e64", 5) != 0)
2450
0
                  break;
2451
0
                Mnemonic = "v_min3_i16";   // "v_min3_i16_e64"
2452
0
                return;
2453
0
              case '3':  // 1 string to match.
2454
0
                if (memcmp(Mnemonic.data()+9, "2_e64", 5) != 0)
2455
0
                  break;
2456
0
                Mnemonic = "v_min3_i32";   // "v_min3_i32_e64"
2457
0
                return;
2458
0
              }
2459
0
              break;
2460
0
            case 'u':  // 2 strings to match.
2461
0
              switch (Mnemonic[8]) {
2462
0
              default: break;
2463
0
              case '1':  // 1 string to match.
2464
0
                if (memcmp(Mnemonic.data()+9, "6_e64", 5) != 0)
2465
0
                  break;
2466
0
                Mnemonic = "v_min3_u16";   // "v_min3_u16_e64"
2467
0
                return;
2468
0
              case '3':  // 1 string to match.
2469
0
                if (memcmp(Mnemonic.data()+9, "2_e64", 5) != 0)
2470
0
                  break;
2471
0
                Mnemonic = "v_min3_u32";   // "v_min3_u32_e64"
2472
0
                return;
2473
0
              }
2474
0
              break;
2475
0
            }
2476
0
            break;
2477
133
          }
2478
133
          break;
2479
133
        case 'p':  // 1 string to match.
2480
89
          if (memcmp(Mnemonic.data()+3, "erm_b32_e64", 11) != 0)
2481
89
            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
0
          default: break;
2487
0
          case 'q':  // 3 strings to match.
2488
0
            if (memcmp(Mnemonic.data()+4, "rt_f", 4) != 0)
2489
0
              break;
2490
0
            switch (Mnemonic[8]) {
2491
0
            default: break;
2492
0
            case '1':  // 1 string to match.
2493
0
              if (memcmp(Mnemonic.data()+9, "6_e64", 5) != 0)
2494
0
                break;
2495
0
              Mnemonic = "v_sqrt_f16";   // "v_sqrt_f16_e64"
2496
0
              return;
2497
0
            case '3':  // 1 string to match.
2498
0
              if (memcmp(Mnemonic.data()+9, "2_e64", 5) != 0)
2499
0
                break;
2500
0
              Mnemonic = "v_sqrt_f32";   // "v_sqrt_f32_e64"
2501
0
              return;
2502
0
            case '6':  // 1 string to match.
2503
0
              if (memcmp(Mnemonic.data()+9, "4_e64", 5) != 0)
2504
0
                break;
2505
0
              Mnemonic = "v_sqrt_f64";   // "v_sqrt_f64_e64"
2506
0
              return;
2507
0
            }
2508
0
            break;
2509
0
          case 'u':  // 1 string to match.
2510
0
            if (memcmp(Mnemonic.data()+4, "bb_u32_e64", 10) != 0)
2511
0
              break;
2512
0
            Mnemonic = "v_subb_u32";   // "v_subb_u32_e64"
2513
0
            return;
2514
0
          }
2515
0
          break;
2516
0
        case 'x':  // 1 string to match.
2517
0
          if (memcmp(Mnemonic.data()+3, "nor_b32_e64", 11) != 0)
2518
0
            break;
2519
0
          Mnemonic = "v_xnor_b32";   // "v_xnor_b32_e64"
2520
0
          return;
2521
5.56k
        }
2522
5.56k
        break;
2523
5.56k
      case 15:   // 38 strings to match.
2524
3.77k
        if (memcmp(Mnemonic.data()+0, "v_", 2) != 0)
2525
216
          break;
2526
3.55k
        switch (Mnemonic[2]) {
2527
3.55k
        
default: break1.93k
;
2528
3.55k
        case 'b':  // 1 string to match.
2529
0
          if (memcmp(Mnemonic.data()+3, "frev_b32_e64", 12) != 0)
2530
0
            break;
2531
0
          Mnemonic = "v_bfrev_b32";  // "v_bfrev_b32_e64"
2532
0
          return;
2533
1.27k
        case 'c':  // 21 strings to match.
2534
1.27k
          if (memcmp(Mnemonic.data()+3, "mp_", 3) != 0)
2535
828
            break;
2536
443
          switch (Mnemonic[6]) {
2537
443
          default: break;
2538
443
          case 'f':  // 9 strings to match.
2539
0
            if (Mnemonic[7] != '_')
2540
0
              break;
2541
0
            switch (Mnemonic[8]) {
2542
0
            default: break;
2543
0
            case 'f':  // 3 strings to match.
2544
0
              switch (Mnemonic[9]) {
2545
0
              default: break;
2546
0
              case '1':  // 1 string to match.
2547
0
                if (memcmp(Mnemonic.data()+10, "6_e64", 5) != 0)
2548
0
                  break;
2549
0
                Mnemonic = "v_cmp_f_f16";  // "v_cmp_f_f16_e64"
2550
0
                return;
2551
0
              case '3':  // 1 string to match.
2552
0
                if (memcmp(Mnemonic.data()+10, "2_e64", 5) != 0)
2553
0
                  break;
2554
0
                Mnemonic = "v_cmp_f_f32";  // "v_cmp_f_f32_e64"
2555
0
                return;
2556
0
              case '6':  // 1 string to match.
2557
0
                if (memcmp(Mnemonic.data()+10, "4_e64", 5) != 0)
2558
0
                  break;
2559
0
                Mnemonic = "v_cmp_f_f64";  // "v_cmp_f_f64_e64"
2560
0
                return;
2561
0
              }
2562
0
              break;
2563
0
            case 'i':  // 3 strings to match.
2564
0
              switch (Mnemonic[9]) {
2565
0
              default: break;
2566
0
              case '1':  // 1 string to match.
2567
0
                if (memcmp(Mnemonic.data()+10, "6_e64", 5) != 0)
2568
0
                  break;
2569
0
                Mnemonic = "v_cmp_f_i16";  // "v_cmp_f_i16_e64"
2570
0
                return;
2571
0
              case '3':  // 1 string to match.
2572
0
                if (memcmp(Mnemonic.data()+10, "2_e64", 5) != 0)
2573
0
                  break;
2574
0
                Mnemonic = "v_cmp_f_i32";  // "v_cmp_f_i32_e64"
2575
0
                return;
2576
0
              case '6':  // 1 string to match.
2577
0
                if (memcmp(Mnemonic.data()+10, "4_e64", 5) != 0)
2578
0
                  break;
2579
0
                Mnemonic = "v_cmp_f_i64";  // "v_cmp_f_i64_e64"
2580
0
                return;
2581
0
              }
2582
0
              break;
2583
0
            case 'u':  // 3 strings to match.
2584
0
              switch (Mnemonic[9]) {
2585
0
              default: break;
2586
0
              case '1':  // 1 string to match.
2587
0
                if (memcmp(Mnemonic.data()+10, "6_e64", 5) != 0)
2588
0
                  break;
2589
0
                Mnemonic = "v_cmp_f_u16";  // "v_cmp_f_u16_e64"
2590
0
                return;
2591
0
              case '3':  // 1 string to match.
2592
0
                if (memcmp(Mnemonic.data()+10, "2_e64", 5) != 0)
2593
0
                  break;
2594
0
                Mnemonic = "v_cmp_f_u32";  // "v_cmp_f_u32_e64"
2595
0
                return;
2596
0
              case '6':  // 1 string to match.
2597
0
                if (memcmp(Mnemonic.data()+10, "4_e64", 5) != 0)
2598
0
                  break;
2599
0
                Mnemonic = "v_cmp_f_u64";  // "v_cmp_f_u64_e64"
2600
0
                return;
2601
0
              }
2602
0
              break;
2603
0
            }
2604
0
            break;
2605
0
          case 'o':  // 3 strings to match.
2606
0
            if (memcmp(Mnemonic.data()+7, "_f", 2) != 0)
2607
0
              break;
2608
0
            switch (Mnemonic[9]) {
2609
0
            default: break;
2610
0
            case '1':  // 1 string to match.
2611
0
              if (memcmp(Mnemonic.data()+10, "6_e64", 5) != 0)
2612
0
                break;
2613
0
              Mnemonic = "v_cmp_o_f16";  // "v_cmp_o_f16_e64"
2614
0
              return;
2615
0
            case '3':  // 1 string to match.
2616
0
              if (memcmp(Mnemonic.data()+10, "2_e64", 5) != 0)
2617
0
                break;
2618
0
              Mnemonic = "v_cmp_o_f32";  // "v_cmp_o_f32_e64"
2619
0
              return;
2620
0
            case '6':  // 1 string to match.
2621
0
              if (memcmp(Mnemonic.data()+10, "4_e64", 5) != 0)
2622
0
                break;
2623
0
              Mnemonic = "v_cmp_o_f64";  // "v_cmp_o_f64_e64"
2624
0
              return;
2625
0
            }
2626
0
            break;
2627
0
          case 't':  // 6 strings to match.
2628
0
            if (Mnemonic[7] != '_')
2629
0
              break;
2630
0
            switch (Mnemonic[8]) {
2631
0
            default: break;
2632
0
            case 'i':  // 3 strings to match.
2633
0
              switch (Mnemonic[9]) {
2634
0
              default: break;
2635
0
              case '1':  // 1 string to match.
2636
0
                if (memcmp(Mnemonic.data()+10, "6_e64", 5) != 0)
2637
0
                  break;
2638
0
                Mnemonic = "v_cmp_t_i16";  // "v_cmp_t_i16_e64"
2639
0
                return;
2640
0
              case '3':  // 1 string to match.
2641
0
                if (memcmp(Mnemonic.data()+10, "2_e64", 5) != 0)
2642
0
                  break;
2643
0
                Mnemonic = "v_cmp_t_i32";  // "v_cmp_t_i32_e64"
2644
0
                return;
2645
0
              case '6':  // 1 string to match.
2646
0
                if (memcmp(Mnemonic.data()+10, "4_e64", 5) != 0)
2647
0
                  break;
2648
0
                Mnemonic = "v_cmp_t_i64";  // "v_cmp_t_i64_e64"
2649
0
                return;
2650
0
              }
2651
0
              break;
2652
0
            case 'u':  // 3 strings to match.
2653
0
              switch (Mnemonic[9]) {
2654
0
              default: break;
2655
0
              case '1':  // 1 string to match.
2656
0
                if (memcmp(Mnemonic.data()+10, "6_e64", 5) != 0)
2657
0
                  break;
2658
0
                Mnemonic = "v_cmp_t_u16";  // "v_cmp_t_u16_e64"
2659
0
                return;
2660
0
              case '3':  // 1 string to match.
2661
0
                if (memcmp(Mnemonic.data()+10, "2_e64", 5) != 0)
2662
0
                  break;
2663
0
                Mnemonic = "v_cmp_t_u32";  // "v_cmp_t_u32_e64"
2664
0
                return;
2665
0
              case '6':  // 1 string to match.
2666
0
                if (memcmp(Mnemonic.data()+10, "4_e64", 5) != 0)
2667
0
                  break;
2668
0
                Mnemonic = "v_cmp_t_u64";  // "v_cmp_t_u64_e64"
2669
0
                return;
2670
0
              }
2671
0
              break;
2672
0
            }
2673
0
            break;
2674
0
          case 'u':  // 3 strings to match.
2675
0
            if (memcmp(Mnemonic.data()+7, "_f", 2) != 0)
2676
0
              break;
2677
0
            switch (Mnemonic[9]) {
2678
0
            default: break;
2679
0
            case '1':  // 1 string to match.
2680
0
              if (memcmp(Mnemonic.data()+10, "6_e64", 5) != 0)
2681
0
                break;
2682
0
              Mnemonic = "v_cmp_u_f16";  // "v_cmp_u_f16_e64"
2683
0
              return;
2684
0
            case '3':  // 1 string to match.
2685
0
              if (memcmp(Mnemonic.data()+10, "2_e64", 5) != 0)
2686
0
                break;
2687
0
              Mnemonic = "v_cmp_u_f32";  // "v_cmp_u_f32_e64"
2688
0
              return;
2689
0
            case '6':  // 1 string to match.
2690
0
              if (memcmp(Mnemonic.data()+10, "4_e64", 5) != 0)
2691
0
                break;
2692
0
              Mnemonic = "v_cmp_u_f64";  // "v_cmp_u_f64_e64"
2693
0
              return;
2694
0
            }
2695
0
            break;
2696
443
          }
2697
443
          break;
2698
443
        case 'f':  // 6 strings to match.
2699
22
          switch (Mnemonic[3]) {
2700
22
          default: break;
2701
22
          case 'l':  // 3 strings to match.
2702
0
            if (memcmp(Mnemonic.data()+4, "oor_f", 5) != 0)
2703
0
              break;
2704
0
            switch (Mnemonic[9]) {
2705
0
            default: break;
2706
0
            case '1':  // 1 string to match.
2707
0
              if (memcmp(Mnemonic.data()+10, "6_e64", 5) != 0)
2708
0
                break;
2709
0
              Mnemonic = "v_floor_f16";  // "v_floor_f16_e64"
2710
0
              return;
2711
0
            case '3':  // 1 string to match.
2712
0
              if (memcmp(Mnemonic.data()+10, "2_e64", 5) != 0)
2713
0
                break;
2714
0
              Mnemonic = "v_floor_f32";  // "v_floor_f32_e64"
2715
0
              return;
2716
0
            case '6':  // 1 string to match.
2717
0
              if (memcmp(Mnemonic.data()+10, "4_e64", 5) != 0)
2718
0
                break;
2719
0
              Mnemonic = "v_floor_f64";  // "v_floor_f64_e64"
2720
0
              return;
2721
0
            }
2722
0
            break;
2723
0
          case 'r':  // 3 strings to match.
2724
0
            if (memcmp(Mnemonic.data()+4, "act_f", 5) != 0)
2725
0
              break;
2726
0
            switch (Mnemonic[9]) {
2727
0
            default: break;
2728
0
            case '1':  // 1 string to match.
2729
0
              if (memcmp(Mnemonic.data()+10, "6_e64", 5) != 0)
2730
0
                break;
2731
0
              Mnemonic = "v_fract_f16";  // "v_fract_f16_e64"
2732
0
              return;
2733
0
            case '3':  // 1 string to match.
2734
0
              if (memcmp(Mnemonic.data()+10, "2_e64", 5) != 0)
2735
0
                break;
2736
0
              Mnemonic = "v_fract_f32";  // "v_fract_f32_e64"
2737
0
              return;
2738
0
            case '6':  // 1 string to match.
2739
0
              if (memcmp(Mnemonic.data()+10, "4_e64", 5) != 0)
2740
0
                break;
2741
0
              Mnemonic = "v_fract_f64";  // "v_fract_f64_e64"
2742
0
              return;
2743
0
            }
2744
0
            break;
2745
22
          }
2746
22
          break;
2747
29
        case 'l':  // 3 strings to match.
2748
29
          if (memcmp(Mnemonic.data()+3, "dexp_f", 6) != 0)
2749
29
            break;
2750
0
          switch (Mnemonic[9]) {
2751
0
          default: break;
2752
0
          case '1':  // 1 string to match.
2753
0
            if (memcmp(Mnemonic.data()+10, "6_e64", 5) != 0)
2754
0
              break;
2755
0
            Mnemonic = "v_ldexp_f16";  // "v_ldexp_f16_e64"
2756
0
            return;
2757
0
          case '3':  // 1 string to match.
2758
0
            if (memcmp(Mnemonic.data()+10, "2_e64", 5) != 0)
2759
0
              break;
2760
0
            Mnemonic = "v_ldexp_f32";  // "v_ldexp_f32_e64"
2761
0
            return;
2762
0
          case '6':  // 1 string to match.
2763
0
            if (memcmp(Mnemonic.data()+10, "4_e64", 5) != 0)
2764
0
              break;
2765
0
            Mnemonic = "v_ldexp_f64";  // "v_ldexp_f64_e64"
2766
0
            return;
2767
0
          }
2768
0
          break;
2769
213
        case 'r':  // 3 strings to match.
2770
213
          if (memcmp(Mnemonic.data()+3, "ndne_f", 6) != 0)
2771
213
            break;
2772
0
          switch (Mnemonic[9]) {
2773
0
          default: break;
2774
0
          case '1':  // 1 string to match.
2775
0
            if (memcmp(Mnemonic.data()+10, "6_e64", 5) != 0)
2776
0
              break;
2777
0
            Mnemonic = "v_rndne_f16";  // "v_rndne_f16_e64"
2778
0
            return;
2779
0
          case '3':  // 1 string to match.
2780
0
            if (memcmp(Mnemonic.data()+10, "2_e64", 5) != 0)
2781
0
              break;
2782
0
            Mnemonic = "v_rndne_f32";  // "v_rndne_f32_e64"
2783
0
            return;
2784
0
          case '6':  // 1 string to match.
2785
0
            if (memcmp(Mnemonic.data()+10, "4_e64", 5) != 0)
2786
0
              break;
2787
0
            Mnemonic = "v_rndne_f64";  // "v_rndne_f64_e64"
2788
0
            return;
2789
0
          }
2790
0
          break;
2791
87
        case 's':  // 1 string to match.
2792
87
          if (memcmp(Mnemonic.data()+3, "ad_hi_u8_e64", 12) != 0)
2793
87
            break;
2794
0
          Mnemonic = "v_sad_hi_u8";  // "v_sad_hi_u8_e64"
2795
0
          return;
2796
0
        case 't':  // 3 strings to match.
2797
0
          if (memcmp(Mnemonic.data()+3, "runc_f", 6) != 0)
2798
0
            break;
2799
0
          switch (Mnemonic[9]) {
2800
0
          default: break;
2801
0
          case '1':  // 1 string to match.
2802
0
            if (memcmp(Mnemonic.data()+10, "6_e64", 5) != 0)
2803
0
              break;
2804
0
            Mnemonic = "v_trunc_f16";  // "v_trunc_f16_e64"
2805
0
            return;
2806
0
          case '3':  // 1 string to match.
2807
0
            if (memcmp(Mnemonic.data()+10, "2_e64", 5) != 0)
2808
0
              break;
2809
0
            Mnemonic = "v_trunc_f32";  // "v_trunc_f32_e64"
2810
0
            return;
2811
0
          case '6':  // 1 string to match.
2812
0
            if (memcmp(Mnemonic.data()+10, "4_e64", 5) != 0)
2813
0
              break;
2814
0
            Mnemonic = "v_trunc_f64";  // "v_trunc_f64_e64"
2815
0
            return;
2816
0
          }
2817
0
          break;
2818
3.55k
        }
2819
3.55k
        break;
2820
3.85k
      case 16:   // 112 strings to match.
2821
3.85k
        if (memcmp(Mnemonic.data()+0, "v_", 2) != 0)
2822
144
          break;
2823
3.71k
        switch (Mnemonic[2]) {
2824
3.71k
        
default: break1.05k
;
2825
3.71k
        case 'a':  // 1 string to match.
2826
0
          if (memcmp(Mnemonic.data()+3, "nd_or_b32_e64", 13) != 0)
2827
0
            break;
2828
0
          Mnemonic = "v_and_or_b32";   // "v_and_or_b32_e64"
2829
0
          return;
2830
1.26k
        case 'c':  // 85 strings to match.
2831
1.26k
          switch (Mnemonic[3]) {
2832
1.26k
          
default: break809
;
2833
1.26k
          case 'm':  // 81 strings to match.
2834
457
            if (Mnemonic[4] != 'p')
2835
0
              break;
2836
457
            switch (Mnemonic[5]) {
2837
457
            
default: break0
;
2838
457
            case '_':  // 54 strings to match.
2839
0
              switch (Mnemonic[6]) {
2840
0
              default: break;
2841
0
              case 'e':  // 9 strings to match.
2842
0
                if (memcmp(Mnemonic.data()+7, "q_", 2) != 0)
2843
0
                  break;
2844
0
                switch (Mnemonic[9]) {
2845
0
                default: break;
2846
0
                case 'f':  // 3 strings to match.
2847
0
                  switch (Mnemonic[10]) {
2848
0
                  default: break;
2849
0
                  case '1':  // 1 string to match.
2850
0
                    if (memcmp(Mnemonic.data()+11, "6_e64", 5) != 0)
2851
0
                      break;
2852
0
                    Mnemonic = "v_cmp_eq_f16";   // "v_cmp_eq_f16_e64"
2853
0
                    return;
2854
0
                  case '3':  // 1 string to match.
2855
0
                    if (memcmp(Mnemonic.data()+11, "2_e64", 5) != 0)
2856
0
                      break;
2857
0
                    Mnemonic = "v_cmp_eq_f32";   // "v_cmp_eq_f32_e64"
2858
0
                    return;
2859
0
                  case '6':  // 1 string to match.
2860
0
                    if (memcmp(Mnemonic.data()+11, "4_e64", 5) != 0)
2861
0
                      break;
2862
0
                    Mnemonic = "v_cmp_eq_f64";   // "v_cmp_eq_f64_e64"
2863
0
                    return;
2864
0
                  }
2865
0
                  break;
2866
0
                case 'i':  // 3 strings to match.
2867
0
                  switch (Mnemonic[10]) {
2868
0
                  default: break;
2869
0
                  case '1':  // 1 string to match.
2870
0
                    if (memcmp(Mnemonic.data()+11, "6_e64", 5) != 0)
2871
0
                      break;
2872
0
                    Mnemonic = "v_cmp_eq_i16";   // "v_cmp_eq_i16_e64"
2873
0
                    return;
2874
0
                  case '3':  // 1 string to match.
2875
0
                    if (memcmp(Mnemonic.data()+11, "2_e64", 5) != 0)
2876
0
                      break;
2877
0
                    Mnemonic = "v_cmp_eq_i32";   // "v_cmp_eq_i32_e64"
2878
0
                    return;
2879
0
                  case '6':  // 1 string to match.
2880
0
                    if (memcmp(Mnemonic.data()+11, "4_e64", 5) != 0)
2881
0
                      break;
2882
0
                    Mnemonic = "v_cmp_eq_i64";   // "v_cmp_eq_i64_e64"
2883
0
                    return;
2884
0
                  }
2885
0
                  break;
2886
0
                case 'u':  // 3 strings to match.
2887
0
                  switch (Mnemonic[10]) {
2888
0
                  default: break;
2889
0
                  case '1':  // 1 string to match.
2890
0
                    if (memcmp(Mnemonic.data()+11, "6_e64", 5) != 0)
2891
0
                      break;
2892
0
                    Mnemonic = "v_cmp_eq_u16";   // "v_cmp_eq_u16_e64"
2893
0
                    return;
2894
0
                  case '3':  // 1 string to match.
2895
0
                    if (memcmp(Mnemonic.data()+11, "2_e64", 5) != 0)
2896
0
                      break;
2897
0
                    Mnemonic = "v_cmp_eq_u32";   // "v_cmp_eq_u32_e64"
2898
0
                    return;
2899
0
                  case '6':  // 1 string to match.
2900
0
                    if (memcmp(Mnemonic.data()+11, "4_e64", 5) != 0)
2901
0
                      break;
2902
0
                    Mnemonic = "v_cmp_eq_u64";   // "v_cmp_eq_u64_e64"
2903
0
                    return;
2904
0
                  }
2905
0
                  break;
2906
0
                }
2907
0
                break;
2908
0
              case 'g':  // 18 strings to match.
2909
0
                switch (Mnemonic[7]) {
2910
0
                default: break;
2911
0
                case 'e':  // 9 strings to match.
2912
0
                  if (Mnemonic[8] != '_')
2913
0
                    break;
2914
0
                  switch (Mnemonic[9]) {
2915
0
                  default: break;
2916
0
                  case 'f':  // 3 strings to match.
2917
0
                    switch (Mnemonic[10]) {
2918
0
                    default: break;
2919
0
                    case '1':  // 1 string to match.
2920
0
                      if (memcmp(Mnemonic.data()+11, "6_e64", 5) != 0)
2921
0
                        break;
2922
0
                      Mnemonic = "v_cmp_ge_f16";   // "v_cmp_ge_f16_e64"
2923
0
                      return;
2924
0
                    case '3':  // 1 string to match.
2925
0
                      if (memcmp(Mnemonic.data()+11, "2_e64", 5) != 0)
2926
0
                        break;
2927
0
                      Mnemonic = "v_cmp_ge_f32";   // "v_cmp_ge_f32_e64"
2928
0
                      return;
2929
0
                    case '6':  // 1 string to match.
2930
0
                      if (memcmp(Mnemonic.data()+11, "4_e64", 5) != 0)
2931
0
                        break;
2932
0
                      Mnemonic = "v_cmp_ge_f64";   // "v_cmp_ge_f64_e64"
2933
0
                      return;
2934
0
                    }
2935
0
                    break;
2936
0
                  case 'i':  // 3 strings to match.
2937
0
                    switch (Mnemonic[10]) {
2938
0
                    default: break;
2939
0
                    case '1':  // 1 string to match.
2940
0
                      if (memcmp(Mnemonic.data()+11, "6_e64", 5) != 0)
2941
0
                        break;
2942
0
                      Mnemonic = "v_cmp_ge_i16";   // "v_cmp_ge_i16_e64"
2943
0
                      return;
2944
0
                    case '3':  // 1 string to match.
2945
0
                      if (memcmp(Mnemonic.data()+11, "2_e64", 5) != 0)
2946
0
                        break;
2947
0
                      Mnemonic = "v_cmp_ge_i32";   // "v_cmp_ge_i32_e64"
2948
0
                      return;
2949
0
                    case '6':  // 1 string to match.
2950
0
                      if (memcmp(Mnemonic.data()+11, "4_e64", 5) != 0)
2951
0
                        break;
2952
0
                      Mnemonic = "v_cmp_ge_i64";   // "v_cmp_ge_i64_e64"
2953
0
                      return;
2954
0
                    }
2955
0
                    break;
2956
0
                  case 'u':  // 3 strings to match.
2957
0
                    switch (Mnemonic[10]) {
2958
0
                    default: break;
2959
0
                    case '1':  // 1 string to match.
2960
0
                      if (memcmp(Mnemonic.data()+11, "6_e64", 5) != 0)
2961
0
                        break;
2962
0
                      Mnemonic = "v_cmp_ge_u16";   // "v_cmp_ge_u16_e64"
2963
0
                      return;
2964
0
                    case '3':  // 1 string to match.
2965
0
                      if (memcmp(Mnemonic.data()+11, "2_e64", 5) != 0)
2966
0
                        break;
2967
0
                      Mnemonic = "v_cmp_ge_u32";   // "v_cmp_ge_u32_e64"
2968
0
                      return;
2969
0
                    case '6':  // 1 string to match.
2970
0
                      if (memcmp(Mnemonic.data()+11, "4_e64", 5) != 0)
2971
0
                        break;
2972
0
                      Mnemonic = "v_cmp_ge_u64";   // "v_cmp_ge_u64_e64"
2973
0
                      return;
2974
0
                    }
2975
0
                    break;
2976
0
                  }
2977
0
                  break;
2978
0
                case 't':  // 9 strings to match.
2979
0
                  if (Mnemonic[8] != '_')
2980
0
                    break;
2981
0
                  switch (Mnemonic[9]) {
2982
0
                  default: break;
2983
0
                  case 'f':  // 3 strings to match.
2984
0
                    switch (Mnemonic[10]) {
2985
0
                    default: break;
2986
0
                    case '1':  // 1 string to match.
2987
0
                      if (memcmp(Mnemonic.data()+11, "6_e64", 5) != 0)
2988
0
                        break;
2989
0
                      Mnemonic = "v_cmp_gt_f16";   // "v_cmp_gt_f16_e64"
2990
0
                      return;
2991
0
                    case '3':  // 1 string to match.
2992
0
                      if (memcmp(Mnemonic.data()+11, "2_e64", 5) != 0)
2993
0
                        break;
2994
0
                      Mnemonic = "v_cmp_gt_f32";   // "v_cmp_gt_f32_e64"
2995
0
                      return;
2996
0
                    case '6':  // 1 string to match.
2997
0
                      if (memcmp(Mnemonic.data()+11, "4_e64", 5) != 0)
2998
0
                        break;
2999
0
                      Mnemonic = "v_cmp_gt_f64";   // "v_cmp_gt_f64_e64"
3000
0
                      return;
3001
0
                    }
3002
0
                    break;
3003
0
                  case 'i':  // 3 strings to match.
3004
0
                    switch (Mnemonic[10]) {
3005
0
                    default: break;
3006
0
                    case '1':  // 1 string to match.
3007
0
                      if (memcmp(Mnemonic.data()+11, "6_e64", 5) != 0)
3008
0
                        break;
3009
0
                      Mnemonic = "v_cmp_gt_i16";   // "v_cmp_gt_i16_e64"
3010
0
                      return;
3011
0
                    case '3':  // 1 string to match.
3012
0
                      if (memcmp(Mnemonic.data()+11, "2_e64", 5) != 0)
3013
0
                        break;
3014
0
                      Mnemonic = "v_cmp_gt_i32";   // "v_cmp_gt_i32_e64"
3015
0
                      return;
3016
0
                    case '6':  // 1 string to match.
3017
0
                      if (memcmp(Mnemonic.data()+11, "4_e64", 5) != 0)
3018
0
                        break;
3019
0
                      Mnemonic = "v_cmp_gt_i64";   // "v_cmp_gt_i64_e64"
3020
0
                      return;
3021
0
                    }
3022
0
                    break;
3023
0
                  case 'u':  // 3 strings to match.
3024
0
                    switch (Mnemonic[10]) {
3025
0
                    default: break;
3026
0
                    case '1':  // 1 string to match.
3027
0
                      if (memcmp(Mnemonic.data()+11, "6_e64", 5) != 0)
3028
0
                        break;
3029
0
                      Mnemonic = "v_cmp_gt_u16";   // "v_cmp_gt_u16_e64"
3030
0
                      return;
3031
0
                    case '3':  // 1 string to match.
3032
0
                      if (memcmp(Mnemonic.data()+11, "2_e64", 5) != 0)
3033
0
                        break;
3034
0
                      Mnemonic = "v_cmp_gt_u32";   // "v_cmp_gt_u32_e64"
3035
0
                      return;
3036
0
                    case '6':  // 1 string to match.
3037
0
                      if (memcmp(Mnemonic.data()+11, "4_e64", 5) != 0)
3038
0
                        break;
3039
0
                      Mnemonic = "v_cmp_gt_u64";   // "v_cmp_gt_u64_e64"
3040
0
                      return;
3041
0
                    }
3042
0
                    break;
3043
0
                  }
3044
0
                  break;
3045
0
                }
3046
0
                break;
3047
0
              case 'l':  // 21 strings to match.
3048
0
                switch (Mnemonic[7]) {
3049
0
                default: break;
3050
0
                case 'e':  // 9 strings to match.
3051
0
                  if (Mnemonic[8] != '_')
3052
0
                    break;
3053
0
                  switch (Mnemonic[9]) {
3054
0
                  default: break;
3055
0
                  case 'f':  // 3 strings to match.
3056
0
                    switch (Mnemonic[10]) {
3057
0
                    default: break;
3058
0
                    case '1':  // 1 string to match.
3059
0
                      if (memcmp(Mnemonic.data()+11, "6_e64", 5) != 0)
3060
0
                        break;
3061
0
                      Mnemonic = "v_cmp_le_f16";   // "v_cmp_le_f16_e64"
3062
0
                      return;
3063
0
                    case '3':  // 1 string to match.
3064
0
                      if (memcmp(Mnemonic.data()+11, "2_e64", 5) != 0)
3065
0
                        break;
3066
0
                      Mnemonic = "v_cmp_le_f32";   // "v_cmp_le_f32_e64"
3067
0
                      return;
3068
0
                    case '6':  // 1 string to match.
3069
0
                      if (memcmp(Mnemonic.data()+11, "4_e64", 5) != 0)
3070
0
                        break;
3071
0
                      Mnemonic = "v_cmp_le_f64";   // "v_cmp_le_f64_e64"
3072
0
                      return;
3073
0
                    }
3074
0
                    break;
3075
0
                  case 'i':  // 3 strings to match.
3076
0
                    switch (Mnemonic[10]) {
3077
0
                    default: break;
3078
0
                    case '1':  // 1 string to match.
3079
0
                      if (memcmp(Mnemonic.data()+11, "6_e64", 5) != 0)
3080
0
                        break;
3081
0
                      Mnemonic = "v_cmp_le_i16";   // "v_cmp_le_i16_e64"
3082
0
                      return;
3083
0
                    case '3':  // 1 string to match.
3084
0
                      if (memcmp(Mnemonic.data()+11, "2_e64", 5) != 0)
3085
0
                        break;
3086
0
                      Mnemonic = "v_cmp_le_i32";   // "v_cmp_le_i32_e64"
3087
0
                      return;
3088
0
                    case '6':  // 1 string to match.
3089
0
                      if (memcmp(Mnemonic.data()+11, "4_e64", 5) != 0)
3090
0
                        break;
3091
0
                      Mnemonic = "v_cmp_le_i64";   // "v_cmp_le_i64_e64"
3092
0
                      return;
3093
0
                    }
3094
0
                    break;
3095
0
                  case 'u':  // 3 strings to match.
3096
0
                    switch (Mnemonic[10]) {
3097
0
                    default: break;
3098
0
                    case '1':  // 1 string to match.
3099
0
                      if (memcmp(Mnemonic.data()+11, "6_e64", 5) != 0)
3100
0
                        break;
3101
0
                      Mnemonic = "v_cmp_le_u16";   // "v_cmp_le_u16_e64"
3102
0
                      return;
3103
0
                    case '3':  // 1 string to match.
3104
0
                      if (memcmp(Mnemonic.data()+11, "2_e64", 5) != 0)
3105
0
                        break;
3106
0
                      Mnemonic = "v_cmp_le_u32";   // "v_cmp_le_u32_e64"
3107
0
                      return;
3108
0
                    case '6':  // 1 string to match.
3109
0
                      if (memcmp(Mnemonic.data()+11, "4_e64", 5) != 0)
3110
0
                        break;
3111
0
                      Mnemonic = "v_cmp_le_u64";   // "v_cmp_le_u64_e64"
3112
0
                      return;
3113
0
                    }
3114
0
                    break;
3115
0
                  }
3116
0
                  break;
3117
0
                case 'g':  // 3 strings to match.
3118
0
                  if (memcmp(Mnemonic.data()+8, "_f", 2) != 0)
3119
0
                    break;
3120
0
                  switch (Mnemonic[10]) {
3121
0
                  default: break;
3122
0
                  case '1':  // 1 string to match.
3123
0
                    if (memcmp(Mnemonic.data()+11, "6_e64", 5) != 0)
3124
0
                      break;
3125
0
                    Mnemonic = "v_cmp_lg_f16";   // "v_cmp_lg_f16_e64"
3126
0
                    return;
3127
0
                  case '3':  // 1 string to match.
3128
0
                    if (memcmp(Mnemonic.data()+11, "2_e64", 5) != 0)
3129
0
                      break;
3130
0
                    Mnemonic = "v_cmp_lg_f32";   // "v_cmp_lg_f32_e64"
3131
0
                    return;
3132
0
                  case '6':  // 1 string to match.
3133
0
                    if (memcmp(Mnemonic.data()+11, "4_e64", 5) != 0)
3134
0
                      break;
3135
0
                    Mnemonic = "v_cmp_lg_f64";   // "v_cmp_lg_f64_e64"
3136
0
                    return;
3137
0
                  }
3138
0
                  break;
3139
0
                case 't':  // 9 strings to match.
3140
0
                  if (Mnemonic[8] != '_')
3141
0
                    break;
3142
0
                  switch (Mnemonic[9]) {
3143
0
                  default: break;
3144
0
                  case 'f':  // 3 strings to match.
3145
0
                    switch (Mnemonic[10]) {
3146
0
                    default: break;
3147
0
                    case '1':  // 1 string to match.
3148
0
                      if (memcmp(Mnemonic.data()+11, "6_e64", 5) != 0)
3149
0
                        break;
3150
0
                      Mnemonic = "v_cmp_lt_f16";   // "v_cmp_lt_f16_e64"
3151
0
                      return;
3152
0
                    case '3':  // 1 string to match.
3153
0
                      if (memcmp(Mnemonic.data()+11, "2_e64", 5) != 0)
3154
0
                        break;
3155
0
                      Mnemonic = "v_cmp_lt_f32";   // "v_cmp_lt_f32_e64"
3156
0
                      return;
3157
0
                    case '6':  // 1 string to match.
3158
0
                      if (memcmp(Mnemonic.data()+11, "4_e64", 5) != 0)
3159
0
                        break;
3160
0
                      Mnemonic = "v_cmp_lt_f64";   // "v_cmp_lt_f64_e64"
3161
0
                      return;
3162
0
                    }
3163
0
                    break;
3164
0
                  case 'i':  // 3 strings to match.
3165
0
                    switch (Mnemonic[10]) {
3166
0
                    default: break;
3167
0
                    case '1':  // 1 string to match.
3168
0
                      if (memcmp(Mnemonic.data()+11, "6_e64", 5) != 0)
3169
0
                        break;
3170
0
                      Mnemonic = "v_cmp_lt_i16";   // "v_cmp_lt_i16_e64"
3171
0
                      return;
3172
0
                    case '3':  // 1 string to match.
3173
0
                      if (memcmp(Mnemonic.data()+11, "2_e64", 5) != 0)
3174
0
                        break;
3175
0
                      Mnemonic = "v_cmp_lt_i32";   // "v_cmp_lt_i32_e64"
3176
0
                      return;
3177
0
                    case '6':  // 1 string to match.
3178
0
                      if (memcmp(Mnemonic.data()+11, "4_e64", 5) != 0)
3179
0
                        break;
3180
0
                      Mnemonic = "v_cmp_lt_i64";   // "v_cmp_lt_i64_e64"
3181
0
                      return;
3182
0
                    }
3183
0
                    break;
3184
0
                  case 'u':  // 3 strings to match.
3185
0
                    switch (Mnemonic[10]) {
3186
0
                    default: break;
3187
0
                    case '1':  // 1 string to match.
3188
0
                      if (memcmp(Mnemonic.data()+11, "6_e64", 5) != 0)
3189
0
                        break;
3190
0
                      Mnemonic = "v_cmp_lt_u16";   // "v_cmp_lt_u16_e64"
3191
0
                      return;
3192
0
                    case '3':  // 1 string to match.
3193
0
                      if (memcmp(Mnemonic.data()+11, "2_e64", 5) != 0)
3194
0
                        break;
3195
0
                      Mnemonic = "v_cmp_lt_u32";   // "v_cmp_lt_u32_e64"
3196
0
                      return;
3197
0
                    case '6':  // 1 string to match.
3198
0
                      if (memcmp(Mnemonic.data()+11, "4_e64", 5) != 0)
3199
0
                        break;
3200
0
                      Mnemonic = "v_cmp_lt_u64";   // "v_cmp_lt_u64_e64"
3201
0
                      return;
3202
0
                    }
3203
0
                    break;
3204
0
                  }
3205
0
                  break;
3206
0
                }
3207
0
                break;
3208
0
              case 'n':  // 6 strings to match.
3209
0
                if (memcmp(Mnemonic.data()+7, "e_", 2) != 0)
3210
0
                  break;
3211
0
                switch (Mnemonic[9]) {
3212
0
                default: break;
3213
0
                case 'i':  // 3 strings to match.
3214
0
                  switch (Mnemonic[10]) {
3215
0
                  default: break;
3216
0
                  case '1':  // 1 string to match.
3217
0
                    if (memcmp(Mnemonic.data()+11, "6_e64", 5) != 0)
3218
0
                      break;
3219
0
                    Mnemonic = "v_cmp_ne_i16";   // "v_cmp_ne_i16_e64"
3220
0
                    return;
3221
0
                  case '3':  // 1 string to match.
3222
0
                    if (memcmp(Mnemonic.data()+11, "2_e64", 5) != 0)
3223
0
                      break;
3224
0
                    Mnemonic = "v_cmp_ne_i32";   // "v_cmp_ne_i32_e64"
3225
0
                    return;
3226
0
                  case '6':  // 1 string to match.
3227
0
                    if (memcmp(Mnemonic.data()+11, "4_e64", 5) != 0)
3228
0
                      break;
3229
0
                    Mnemonic = "v_cmp_ne_i64";   // "v_cmp_ne_i64_e64"
3230
0
                    return;
3231
0
                  }
3232
0
                  break;
3233
0
                case 'u':  // 3 strings to match.
3234
0
                  switch (Mnemonic[10]) {
3235
0
                  default: break;
3236
0
                  case '1':  // 1 string to match.
3237
0
                    if (memcmp(Mnemonic.data()+11, "6_e64", 5) != 0)
3238
0
                      break;
3239
0
                    Mnemonic = "v_cmp_ne_u16";   // "v_cmp_ne_u16_e64"
3240
0
                    return;
3241
0
                  case '3':  // 1 string to match.
3242
0
                    if (memcmp(Mnemonic.data()+11, "2_e64", 5) != 0)
3243
0
                      break;
3244
0
                    Mnemonic = "v_cmp_ne_u32";   // "v_cmp_ne_u32_e64"
3245
0
                    return;
3246
0
                  case '6':  // 1 string to match.
3247
0
                    if (memcmp(Mnemonic.data()+11, "4_e64", 5) != 0)
3248
0
                      break;
3249
0
                    Mnemonic = "v_cmp_ne_u64";   // "v_cmp_ne_u64_e64"
3250
0
                    return;
3251
0
                  }
3252
0
                  break;
3253
0
                }
3254
0
                break;
3255
0
              }
3256
0
              break;
3257
0
            case 's':  // 6 strings to match.
3258
0
              if (Mnemonic[6] != '_')
3259
0
                break;
3260
0
              switch (Mnemonic[7]) {
3261
0
              default: break;
3262
0
              case 'f':  // 2 strings to match.
3263
0
                if (memcmp(Mnemonic.data()+8, "_f", 2) != 0)
3264
0
                  break;
3265
0
                switch (Mnemonic[10]) {
3266
0
                default: break;
3267
0
                case '3':  // 1 string to match.
3268
0
                  if (memcmp(Mnemonic.data()+11, "2_e64", 5) != 0)
3269
0
                    break;
3270
0
                  Mnemonic = "v_cmps_f_f32";   // "v_cmps_f_f32_e64"
3271
0
                  return;
3272
0
                case '6':  // 1 string to match.
3273
0
                  if (memcmp(Mnemonic.data()+11, "4_e64", 5) != 0)
3274
0
                    break;
3275
0
                  Mnemonic = "v_cmps_f_f64";   // "v_cmps_f_f64_e64"
3276
0
                  return;
3277
0
                }
3278
0
                break;
3279
0
              case 'o':  // 2 strings to match.
3280
0
                if (memcmp(Mnemonic.data()+8, "_f", 2) != 0)
3281
0
                  break;
3282
0
                switch (Mnemonic[10]) {
3283
0
                default: break;
3284
0
                case '3':  // 1 string to match.
3285
0
                  if (memcmp(Mnemonic.data()+11, "2_e64", 5) != 0)
3286
0
                    break;
3287
0
                  Mnemonic = "v_cmps_o_f32";   // "v_cmps_o_f32_e64"
3288
0
                  return;
3289
0
                case '6':  // 1 string to match.
3290
0
                  if (memcmp(Mnemonic.data()+11, "4_e64", 5) != 0)
3291
0
                    break;
3292
0
                  Mnemonic = "v_cmps_o_f64";   // "v_cmps_o_f64_e64"
3293
0
                  return;
3294
0
                }
3295
0
                break;
3296
0
              case 'u':  // 2 strings to match.
3297
0
                if (memcmp(Mnemonic.data()+8, "_f", 2) != 0)
3298
0
                  break;
3299
0
                switch (Mnemonic[10]) {
3300
0
                default: break;
3301
0
                case '3':  // 1 string to match.
3302
0
                  if (memcmp(Mnemonic.data()+11, "2_e64", 5) != 0)
3303
0
                    break;
3304
0
                  Mnemonic = "v_cmps_u_f32";   // "v_cmps_u_f32_e64"
3305
0
                  return;
3306
0
                case '6':  // 1 string to match.
3307
0
                  if (memcmp(Mnemonic.data()+11, "4_e64", 5) != 0)
3308
0
                    break;
3309
0
                  Mnemonic = "v_cmps_u_f64";   // "v_cmps_u_f64_e64"
3310
0
                  return;
3311
0
                }
3312
0
                break;
3313
0
              }
3314
0
              break;
3315
457
            case 'x':  // 21 strings to match.
3316
457
              if (Mnemonic[6] != '_')
3317
0
                break;
3318
457
              switch (Mnemonic[7]) {
3319
457
              default: break;
3320
457
              case 'f':  // 9 strings to match.
3321
0
                if (Mnemonic[8] != '_')
3322
0
                  break;
3323
0
                switch (Mnemonic[9]) {
3324
0
                default: break;
3325
0
                case 'f':  // 3 strings to match.
3326
0
                  switch (Mnemonic[10]) {
3327
0
                  default: break;
3328
0
                  case '1':  // 1 string to match.
3329
0
                    if (memcmp(Mnemonic.data()+11, "6_e64", 5) != 0)
3330
0
                      break;
3331
0
                    Mnemonic = "v_cmpx_f_f16";   // "v_cmpx_f_f16_e64"
3332
0
                    return;
3333
0
                  case '3':  // 1 string to match.
3334
0
                    if (memcmp(Mnemonic.data()+11, "2_e64", 5) != 0)
3335
0
                      break;
3336
0
                    Mnemonic = "v_cmpx_f_f32";   // "v_cmpx_f_f32_e64"
3337
0
                    return;
3338
0
                  case '6':  // 1 string to match.
3339
0
                    if (memcmp(Mnemonic.data()+11, "4_e64", 5) != 0)
3340
0
                      break;
3341
0
                    Mnemonic = "v_cmpx_f_f64";   // "v_cmpx_f_f64_e64"
3342
0
                    return;
3343
0
                  }
3344
0
                  break;
3345
0
                case 'i':  // 3 strings to match.
3346
0
                  switch (Mnemonic[10]) {
3347
0
                  default: break;
3348
0
                  case '1':  // 1 string to match.
3349
0
                    if (memcmp(Mnemonic.data()+11, "6_e64", 5) != 0)
3350
0
                      break;
3351
0
                    Mnemonic = "v_cmpx_f_i16";   // "v_cmpx_f_i16_e64"
3352
0
                    return;
3353
0
                  case '3':  // 1 string to match.
3354
0
                    if (memcmp(Mnemonic.data()+11, "2_e64", 5) != 0)
3355
0
                      break;
3356
0
                    Mnemonic = "v_cmpx_f_i32";   // "v_cmpx_f_i32_e64"
3357
0
                    return;
3358
0
                  case '6':  // 1 string to match.
3359
0
                    if (memcmp(Mnemonic.data()+11, "4_e64", 5) != 0)
3360
0
                      break;
3361
0
                    Mnemonic = "v_cmpx_f_i64";   // "v_cmpx_f_i64_e64"
3362
0
                    return;
3363
0
                  }
3364
0
                  break;
3365
0
                case 'u':  // 3 strings to match.
3366
0
                  switch (Mnemonic[10]) {
3367
0
                  default: break;
3368
0
                  case '1':  // 1 string to match.
3369
0
                    if (memcmp(Mnemonic.data()+11, "6_e64", 5) != 0)
3370
0
                      break;
3371
0
                    Mnemonic = "v_cmpx_f_u16";   // "v_cmpx_f_u16_e64"
3372
0
                    return;
3373
0
                  case '3':  // 1 string to match.
3374
0
                    if (memcmp(Mnemonic.data()+11, "2_e64", 5) != 0)
3375
0
                      break;
3376
0
                    Mnemonic = "v_cmpx_f_u32";   // "v_cmpx_f_u32_e64"
3377
0
                    return;
3378
0
                  case '6':  // 1 string to match.
3379
0
                    if (memcmp(Mnemonic.data()+11, "4_e64", 5) != 0)
3380
0
                      break;
3381
0
                    Mnemonic = "v_cmpx_f_u64";   // "v_cmpx_f_u64_e64"
3382
0
                    return;
3383
0
                  }
3384
0
                  break;
3385
0
                }
3386
0
                break;
3387
0
              case 'o':  // 3 strings to match.
3388
0
                if (memcmp(Mnemonic.data()+8, "_f", 2) != 0)
3389
0
                  break;
3390
0
                switch (Mnemonic[10]) {
3391
0
                default: break;
3392
0
                case '1':  // 1 string to match.
3393
0
                  if (memcmp(Mnemonic.data()+11, "6_e64", 5) != 0)
3394
0
                    break;
3395
0
                  Mnemonic = "v_cmpx_o_f16";   // "v_cmpx_o_f16_e64"
3396
0
                  return;
3397
0
                case '3':  // 1 string to match.
3398
0
                  if (memcmp(Mnemonic.data()+11, "2_e64", 5) != 0)
3399
0
                    break;
3400
0
                  Mnemonic = "v_cmpx_o_f32";   // "v_cmpx_o_f32_e64"
3401
0
                  return;
3402
0
                case '6':  // 1 string to match.
3403
0
                  if (memcmp(Mnemonic.data()+11, "4_e64", 5) != 0)
3404
0
                    break;
3405
0
                  Mnemonic = "v_cmpx_o_f64";   // "v_cmpx_o_f64_e64"
3406
0
                  return;
3407
0
                }
3408
0
                break;
3409
0
              case 't':  // 6 strings to match.
3410
0
                if (Mnemonic[8] != '_')
3411
0
                  break;
3412
0
                switch (Mnemonic[9]) {
3413
0
                default: break;
3414
0
                case 'i':  // 3 strings to match.
3415
0
                  switch (Mnemonic[10]) {
3416
0
                  default: break;
3417
0
                  case '1':  // 1 string to match.
3418
0
                    if (memcmp(Mnemonic.data()+11, "6_e64", 5) != 0)
3419
0
                      break;
3420
0
                    Mnemonic = "v_cmpx_t_i16";   // "v_cmpx_t_i16_e64"
3421
0
                    return;
3422
0
                  case '3':  // 1 string to match.
3423
0
                    if (memcmp(Mnemonic.data()+11, "2_e64", 5) != 0)
3424
0
                      break;
3425
0
                    Mnemonic = "v_cmpx_t_i32";   // "v_cmpx_t_i32_e64"
3426
0
                    return;
3427
0
                  case '6':  // 1 string to match.
3428
0
                    if (memcmp(Mnemonic.data()+11, "4_e64", 5) != 0)
3429
0
                      break;
3430
0
                    Mnemonic = "v_cmpx_t_i64";   // "v_cmpx_t_i64_e64"
3431
0
                    return;
3432
0
                  }
3433
0
                  break;
3434
0
                case 'u':  // 3 strings to match.
3435
0
                  switch (Mnemonic[10]) {
3436
0
                  default: break;
3437
0
                  case '1':  // 1 string to match.
3438
0
                    if (memcmp(Mnemonic.data()+11, "6_e64", 5) != 0)
3439
0
                      break;
3440
0
                    Mnemonic = "v_cmpx_t_u16";   // "v_cmpx_t_u16_e64"
3441
0
                    return;
3442
0
                  case '3':  // 1 string to match.
3443
0
                    if (memcmp(Mnemonic.data()+11, "2_e64", 5) != 0)
3444
0
                      break;
3445
0
                    Mnemonic = "v_cmpx_t_u32";   // "v_cmpx_t_u32_e64"
3446
0
                    return;
3447
0
                  case '6':  // 1 string to match.
3448
0
                    if (memcmp(Mnemonic.data()+11, "4_e64", 5) != 0)
3449
0
                      break;
3450
0
                    Mnemonic = "v_cmpx_t_u64";   // "v_cmpx_t_u64_e64"
3451
0
                    return;
3452
0
                  }
3453
0
                  break;
3454
0
                }
3455
0
                break;
3456
0
              case 'u':  // 3 strings to match.
3457
0
                if (memcmp(Mnemonic.data()+8, "_f", 2) != 0)
3458
0
                  break;
3459
0
                switch (Mnemonic[10]) {
3460
0
                default: break;
3461
0
                case '1':  // 1 string to match.
3462
0
                  if (memcmp(Mnemonic.data()+11, "6_e64", 5) != 0)
3463
0
                    break;
3464
0
                  Mnemonic = "v_cmpx_u_f16";   // "v_cmpx_u_f16_e64"
3465
0
                  return;
3466
0
                case '3':  // 1 string to match.
3467
0
                  if (memcmp(Mnemonic.data()+11, "2_e64", 5) != 0)
3468
0
                    break;
3469
0
                  Mnemonic = "v_cmpx_u_f32";   // "v_cmpx_u_f32_e64"
3470
0
                  return;
3471
0
                case '6':  // 1 string to match.
3472
0
                  if (memcmp(Mnemonic.data()+11, "4_e64", 5) != 0)
3473
0
                    break;
3474
0
                  Mnemonic = "v_cmpx_u_f64";   // "v_cmpx_u_f64_e64"
3475
0
                  return;
3476
0
                }
3477
0
                break;
3478
457
              }
3479
457
              break;
3480
457
            }
3481
457
            break;
3482
457
          case 'u':  // 4 strings to match.
3483
0
            if (memcmp(Mnemonic.data()+4, "be", 2) != 0)
3484
0
              break;
3485
0
            switch (Mnemonic[6]) {
3486
0
            default: break;
3487
0
            case 'i':  // 1 string to match.
3488
0
              if (memcmp(Mnemonic.data()+7, "d_f32_e64", 9) != 0)
3489
0
                break;
3490
0
              Mnemonic = "v_cubeid_f32";   // "v_cubeid_f32_e64"
3491
0
              return;
3492
0
            case 'm':  // 1 string to match.
3493
0
              if (memcmp(Mnemonic.data()+7, "a_f32_e64", 9) != 0)
3494
0
                break;
3495
0
              Mnemonic = "v_cubema_f32";   // "v_cubema_f32_e64"
3496
0
              return;
3497
0
            case 's':  // 1 string to match.
3498
0
              if (memcmp(Mnemonic.data()+7, "c_f32_e64", 9) != 0)
3499
0
                break;
3500
0
              Mnemonic = "v_cubesc_f32";   // "v_cubesc_f32_e64"
3501
0
              return;
3502
0
            case 't':  // 1 string to match.
3503
0
              if (memcmp(Mnemonic.data()+7, "c_f32_e64", 9) != 0)
3504
0
                break;
3505
0
              Mnemonic = "v_cubetc_f32";   // "v_cubetc_f32_e64"
3506
0
              return;
3507
0
            }
3508
0
            break;
3509
1.26k
          }
3510
1.26k
          break;
3511
1.26k
        case 'm':  // 6 strings to match.
3512
1.16k
          if (memcmp(Mnemonic.data()+3, "ul", 2) != 0)
3513
687
            break;
3514
482
          switch (Mnemonic[5]) {
3515
482
          
default: break0
;
3516
482
          case '_':  // 5 strings to match.
3517
482
            switch (Mnemonic[6]) {
3518
482
            
default: break0
;
3519
482
            case 'h':  // 2 strings to match.
3520
296
              if (memcmp(Mnemonic.data()+7, "i_", 2) != 0)
3521
0
                break;
3522
296
              switch (Mnemonic[9]) {
3523
296
              
default: break0
;
3524
296
              case 'i':  // 1 string to match.
3525
148
                if (memcmp(Mnemonic.data()+10, "32_e64", 6) != 0)
3526
148
                  break;
3527
0
                Mnemonic = "v_mul_hi_i32";   // "v_mul_hi_i32_e64"
3528
0
                return;
3529
148
              case 'u':  // 1 string to match.
3530
148
                if (memcmp(Mnemonic.data()+10, "32_e64", 6) != 0)
3531
148
                  break;
3532
0
                Mnemonic = "v_mul_hi_u32";   // "v_mul_hi_u32_e64"
3533
0
                return;
3534
296
              }
3535
296
              break;
3536
296
            case 'l':  // 3 strings to match.
3537
186
              if (memcmp(Mnemonic.data()+7, "o_", 2) != 0)
3538
186
                break;
3539
0
              switch (Mnemonic[9]) {
3540
0
              default: break;
3541
0
              case 'i':  // 1 string to match.
3542
0
                if (memcmp(Mnemonic.data()+10, "32_e64", 6) != 0)
3543
0
                  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
0
                default: break;
3549
0
                case '1':  // 1 string to match.
3550
0
                  if (memcmp(Mnemonic.data()+11, "6_e64", 5) != 0)
3551
0
                    break;
3552
0
                  Mnemonic = "v_mul_lo_u16";   // "v_mul_lo_u16_e64"
3553
0
                  return;
3554
0
                case '3':  // 1 string to match.
3555
0
                  if (memcmp(Mnemonic.data()+11, "2_e64", 5) != 0)
3556
0
                    break;
3557
0
                  Mnemonic = "v_mul_lo_u32";   // "v_mul_lo_u32_e64"
3558
0
                  return;
3559
0
                }
3560
0
                break;
3561
0
              }
3562
0
              break;
3563
482
            }
3564
482
            break;
3565
482
          case 'l':  // 1 string to match.
3566
0
            if (memcmp(Mnemonic.data()+6, "it_f32_e64", 10) != 0)
3567
0
              break;
3568
0
            Mnemonic = "v_mullit_f32";   // "v_mullit_f32_e64"
3569
0
            return;
3570
482
          }
3571
482
          break;
3572
482
        case 'p':  // 15 strings to match.
3573
183
          if (memcmp(Mnemonic.data()+3, "k_", 2) != 0)
3574
0
            break;
3575
183
          switch (Mnemonic[5]) {
3576
183
          
default: break122
;
3577
183
          case 'a':  // 3 strings to match.
3578
61
            if (memcmp(Mnemonic.data()+6, "dd_", 3) != 0)
3579
61
              break;
3580
0
            switch (Mnemonic[9]) {
3581
0
            default: break;
3582
0
            case 'f':  // 1 string to match.
3583
0
              if (memcmp(Mnemonic.data()+10, "16_e64", 6) != 0)
3584
0
                break;
3585
0
              Mnemonic = "v_pk_add_f16";   // "v_pk_add_f16_e64"
3586
0
              return;
3587
0
            case 'i':  // 1 string to match.
3588
0
              if (memcmp(Mnemonic.data()+10, "16_e64", 6) != 0)
3589
0
                break;
3590
0
              Mnemonic = "v_pk_add_i16";   // "v_pk_add_i16_e64"
3591
0
              return;
3592
0
            case 'u':  // 1 string to match.
3593
0
              if (memcmp(Mnemonic.data()+10, "16_e64", 6) != 0)
3594
0
                break;
3595
0
              Mnemonic = "v_pk_add_u16";   // "v_pk_add_u16_e64"
3596
0
              return;
3597
0
            }
3598
0
            break;
3599
0
          case 'f':  // 1 string to match.
3600
0
            if (memcmp(Mnemonic.data()+6, "ma_f16_e64", 10) != 0)
3601
0
              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
0
            default: break;
3607
0
            case 'a':  // 5 strings to match.
3608
0
              switch (Mnemonic[7]) {
3609
0
              default: break;
3610
0
              case 'd':  // 2 strings to match.
3611
0
                if (Mnemonic[8] != '_')
3612
0
                  break;
3613
0
                switch (Mnemonic[9]) {
3614
0
                default: break;
3615
0
                case 'i':  // 1 string to match.
3616
0
                  if (memcmp(Mnemonic.data()+10, "16_e64", 6) != 0)
3617
0
                    break;
3618
0
                  Mnemonic = "v_pk_mad_i16";   // "v_pk_mad_i16_e64"
3619
0
                  return;
3620
0
                case 'u':  // 1 string to match.
3621
0
                  if (memcmp(Mnemonic.data()+10, "16_e64", 6) != 0)
3622
0
                    break;
3623
0
                  Mnemonic = "v_pk_mad_u16";   // "v_pk_mad_u16_e64"
3624
0
                  return;
3625
0
                }
3626
0
                break;
3627
0
              case 'x':  // 3 strings to match.
3628
0
                if (Mnemonic[8] != '_')
3629
0
                  break;
3630
0
                switch (Mnemonic[9]) {
3631
0
                default: break;
3632
0
                case 'f':  // 1 string to match.
3633
0
                  if (memcmp(Mnemonic.data()+10, "16_e64", 6) != 0)
3634
0
                    break;
3635
0
                  Mnemonic = "v_pk_max_f16";   // "v_pk_max_f16_e64"
3636
0
                  return;
3637
0
                case 'i':  // 1 string to match.
3638
0
                  if (memcmp(Mnemonic.data()+10, "16_e64", 6) != 0)
3639
0
                    break;
3640
0
                  Mnemonic = "v_pk_max_i16";   // "v_pk_max_i16_e64"
3641
0
                  return;
3642
0
                case 'u':  // 1 string to match.
3643
0
                  if (memcmp(Mnemonic.data()+10, "16_e64", 6) != 0)
3644
0
                    break;
3645
0
                  Mnemonic = "v_pk_max_u16";   // "v_pk_max_u16_e64"
3646
0
                  return;
3647
0
                }
3648
0
                break;
3649
0
              }
3650
0
              break;
3651
0
            case 'i':  // 3 strings to match.
3652
0
              if (memcmp(Mnemonic.data()+7, "n_", 2) != 0)
3653
0
                break;
3654
0
              switch (Mnemonic[9]) {
3655
0
              default: break;
3656
0
              case 'f':  // 1 string to match.
3657
0
                if (memcmp(Mnemonic.data()+10, "16_e64", 6) != 0)
3658
0
                  break;
3659
0
                Mnemonic = "v_pk_min_f16";   // "v_pk_min_f16_e64"
3660
0
                return;
3661
0
              case 'i':  // 1 string to match.
3662
0
                if (memcmp(Mnemonic.data()+10, "16_e64", 6) != 0)
3663
0
                  break;
3664
0
                Mnemonic = "v_pk_min_i16";   // "v_pk_min_i16_e64"
3665
0
                return;
3666
0
              case 'u':  // 1 string to match.
3667
0
                if (memcmp(Mnemonic.data()+10, "16_e64", 6) != 0)
3668
0
                  break;
3669
0
                Mnemonic = "v_pk_min_u16";   // "v_pk_min_u16_e64"
3670
0
                return;
3671
0
              }
3672
0
              break;
3673
0
            case 'u':  // 1 string to match.
3674
0
              if (memcmp(Mnemonic.data()+7, "l_f16_e64", 9) != 0)
3675
0
                break;
3676
0
              Mnemonic = "v_pk_mul_f16";   // "v_pk_mul_f16_e64"
3677
0
              return;
3678
0
            }
3679
0
            break;
3680
0
          case 's':  // 2 strings to match.
3681
0
            if (memcmp(Mnemonic.data()+6, "ub_", 3) != 0)
3682
0
              break;
3683
0
            switch (Mnemonic[9]) {
3684
0
            default: break;
3685
0
            case 'i':  // 1 string to match.
3686
0
              if (memcmp(Mnemonic.data()+10, "16_e64", 6) != 0)
3687
0
                break;
3688
0
              Mnemonic = "v_pk_sub_i16";   // "v_pk_sub_i16_e64"
3689
0
              return;
3690
0
            case 'u':  // 1 string to match.
3691
0
              if (memcmp(Mnemonic.data()+10, "16_e64", 6) != 0)
3692
0
                break;
3693
0
              Mnemonic = "v_pk_sub_u16";   // "v_pk_sub_u16_e64"
3694
0
              return;
3695
0
            }
3696
0
            break;
3697
183
          }
3698
183
          break;
3699
183
        case 's':  // 5 strings to match.
3700
42
          if (memcmp(Mnemonic.data()+3, "ubrev_", 6) != 0)
3701
42
            break;
3702
0
          switch (Mnemonic[9]) {
3703
0
          default: break;
3704
0
          case 'f':  // 2 strings to match.
3705
0
            switch (Mnemonic[10]) {
3706
0
            default: break;
3707
0
            case '1':  // 1 string to match.
3708
0
              if (memcmp(Mnemonic.data()+11, "6_e64", 5) != 0)
3709
0
                break;
3710
0
              Mnemonic = "v_subrev_f16";   // "v_subrev_f16_e64"
3711
0
              return;
3712
0
            case '3':  // 1 string to match.
3713
0
              if (memcmp(Mnemonic.data()+11, "2_e64", 5) != 0)
3714
0
                break;
3715
0
              Mnemonic = "v_subrev_f32";   // "v_subrev_f32_e64"
3716
0
              return;
3717
0
            }
3718
0
            break;
3719
0
          case 'i':  // 1 string to match.
3720
0
            if (memcmp(Mnemonic.data()+10, "32_e64", 6) != 0)
3721
0
              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
0
            default: break;
3727
0
            case '1':  // 1 string to match.
3728
0
              if (memcmp(Mnemonic.data()+11, "6_e64", 5) != 0)
3729
0
                break;
3730
0
              Mnemonic = "v_subrev_u16";   // "v_subrev_u16_e64"
3731
0
              return;
3732
0
            case '3':  // 1 string to match.
3733
0
              if (memcmp(Mnemonic.data()+11, "2_e64", 5) != 0)
3734
0
                break;
3735
0
              Mnemonic = "v_subrev_u32";   // "v_subrev_u32_e64"
3736
0
              return;
3737
0
            }
3738
0
            break;
3739
0
          }
3740
0
          break;
3741
3.71k
        }
3742
3.71k
        break;
3743
3.71k
      case 17:   // 138 strings to match.
3744
686
        if (memcmp(Mnemonic.data()+0, "v_", 2) != 0)
3745
98
          break;
3746
588
        switch (Mnemonic[2]) {
3747
588
        
default: break191
;
3748
588
        case 'a':  // 3 strings to match.
3749
0
          if (memcmp(Mnemonic.data()+3, "shrrev_i", 8) != 0)
3750
0
            break;
3751
0
          switch (Mnemonic[11]) {
3752
0
          default: break;
3753
0
          case '1':  // 1 string to match.
3754
0
            if (memcmp(Mnemonic.data()+12, "6_e64", 5) != 0)
3755
0
              break;
3756
0
            Mnemonic = "v_ashrrev_i16";  // "v_ashrrev_i16_e64"
3757
0
            return;
3758
0
          case '3':  // 1 string to match.
3759
0
            if (memcmp(Mnemonic.data()+12, "2_e64", 5) != 0)
3760
0
              break;
3761
0
            Mnemonic = "v_ashrrev_i32";  // "v_ashrrev_i32_e64"
3762
0
            return;
3763
0
          case '6':  // 1 string to match.
3764
0
            if (memcmp(Mnemonic.data()+12, "4_e64", 5) != 0)
3765
0
              break;
3766
0
            Mnemonic = "v_ashrrev_i64";  // "v_ashrrev_i64_e64"
3767
0
            return;
3768
0
          }
3769
0
          break;
3770
186
        case 'c':  // 110 strings to match.
3771
186
          switch (Mnemonic[3]) {
3772
186
          
default: break0
;
3773
186
          case 'm':  // 93 strings to match.
3774
0
            if (Mnemonic[4] != 'p')
3775
0
              break;
3776
0
            switch (Mnemonic[5]) {
3777
0
            default: break;
3778
0
            case '_':  // 21 strings to match.
3779
0
              switch (Mnemonic[6]) {
3780
0
              default: break;
3781
0
              case 'n':  // 18 strings to match.
3782
0
                switch (Mnemonic[7]) {
3783
0
                default: break;
3784
0
                case 'e':  // 3 strings to match.
3785
0
                  if (memcmp(Mnemonic.data()+8, "q_f", 3) != 0)
3786
0
                    break;
3787
0
                  switch (Mnemonic[11]) {
3788
0
                  default: break;
3789
0
                  case '1':  // 1 string to match.
3790
0
                    if (memcmp(Mnemonic.data()+12, "6_e64", 5) != 0)
3791
0
                      break;
3792
0
                    Mnemonic = "v_cmp_neq_f16";  // "v_cmp_neq_f16_e64"
3793
0
                    return;
3794
0
                  case '3':  // 1 string to match.
3795
0
                    if (memcmp(Mnemonic.data()+12, "2_e64", 5) != 0)
3796
0
                      break;
3797
0
                    Mnemonic = "v_cmp_neq_f32";  // "v_cmp_neq_f32_e64"
3798
0
                    return;
3799
0
                  case '6':  // 1 string to match.
3800
0
                    if (memcmp(Mnemonic.data()+12, "4_e64", 5) != 0)
3801
0
                      break;
3802
0
                    Mnemonic = "v_cmp_neq_f64";  // "v_cmp_neq_f64_e64"
3803
0
                    return;
3804
0
                  }
3805
0
                  break;
3806
0
                case 'g':  // 6 strings to match.
3807
0
                  switch (Mnemonic[8]) {
3808
0
                  default: break;
3809
0
                  case 'e':  // 3 strings to match.
3810
0
                    if (memcmp(Mnemonic.data()+9, "_f", 2) != 0)
3811
0
                      break;
3812
0
                    switch (Mnemonic[11]) {
3813
0
                    default: break;
3814
0
                    case '1':  // 1 string to match.
3815
0
                      if (memcmp(Mnemonic.data()+12, "6_e64", 5) != 0)
3816
0
                        break;
3817
0
                      Mnemonic = "v_cmp_nge_f16";  // "v_cmp_nge_f16_e64"
3818
0
                      return;
3819
0
                    case '3':  // 1 string to match.
3820
0
                      if (memcmp(Mnemonic.data()+12, "2_e64", 5) != 0)
3821
0
                        break;
3822
0
                      Mnemonic = "v_cmp_nge_f32";  // "v_cmp_nge_f32_e64"
3823
0
                      return;
3824
0
                    case '6':  // 1 string to match.
3825
0
                      if (memcmp(Mnemonic.data()+12, "4_e64", 5) != 0)
3826
0
                        break;
3827
0
                      Mnemonic = "v_cmp_nge_f64";  // "v_cmp_nge_f64_e64"
3828
0
                      return;
3829
0
                    }
3830
0
                    break;
3831
0
                  case 't':  // 3 strings to match.
3832
0
                    if (memcmp(Mnemonic.data()+9, "_f", 2) != 0)
3833
0
                      break;
3834
0
                    switch (Mnemonic[11]) {
3835
0
                    default: break;
3836
0
                    case '1':  // 1 string to match.
3837
0
                      if (memcmp(Mnemonic.data()+12, "6_e64", 5) != 0)
3838
0
                        break;
3839
0
                      Mnemonic = "v_cmp_ngt_f16";  // "v_cmp_ngt_f16_e64"
3840
0
                      return;
3841
0
                    case '3':  // 1 string to match.
3842
0
                      if (memcmp(Mnemonic.data()+12, "2_e64", 5) != 0)
3843
0
                        break;
3844
0
                      Mnemonic = "v_cmp_ngt_f32";  // "v_cmp_ngt_f32_e64"
3845
0
                      return;
3846
0
                    case '6':  // 1 string to match.
3847
0
                      if (memcmp(Mnemonic.data()+12, "4_e64", 5) != 0)
3848
0
                        break;
3849
0
                      Mnemonic = "v_cmp_ngt_f64";  // "v_cmp_ngt_f64_e64"
3850
0
                      return;
3851
0
                    }
3852
0
                    break;
3853
0
                  }
3854
0
                  break;
3855
0
                case 'l':  // 9 strings to match.
3856
0
                  switch (Mnemonic[8]) {
3857
0
                  default: break;
3858
0
                  case 'e':  // 3 strings to match.
3859
0
                    if (memcmp(Mnemonic.data()+9, "_f", 2) != 0)
3860
0
                      break;
3861
0
                    switch (Mnemonic[11]) {
3862
0
                    default: break;
3863
0
                    case '1':  // 1 string to match.
3864
0
                      if (memcmp(Mnemonic.data()+12, "6_e64", 5) != 0)
3865
0
                        break;
3866
0
                      Mnemonic = "v_cmp_nle_f16";  // "v_cmp_nle_f16_e64"
3867
0
                      return;
3868
0
                    case '3':  // 1 string to match.
3869
0
                      if (memcmp(Mnemonic.data()+12, "2_e64", 5) != 0)
3870
0
                        break;
3871
0
                      Mnemonic = "v_cmp_nle_f32";  // "v_cmp_nle_f32_e64"
3872
0
                      return;
3873
0
                    case '6':  // 1 string to match.
3874
0
                      if (memcmp(Mnemonic.data()+12, "4_e64", 5) != 0)
3875
0
                        break;
3876
0
                      Mnemonic = "v_cmp_nle_f64";  // "v_cmp_nle_f64_e64"
3877
0
                      return;
3878
0
                    }
3879
0
                    break;
3880
0
                  case 'g':  // 3 strings to match.
3881
0
                    if (memcmp(Mnemonic.data()+9, "_f", 2) != 0)
3882
0
                      break;
3883
0
                    switch (Mnemonic[11]) {
3884
0
                    default: break;
3885
0
                    case '1':  // 1 string to match.
3886
0
                      if (memcmp(Mnemonic.data()+12, "6_e64", 5) != 0)
3887
0
                        break;
3888
0
                      Mnemonic = "v_cmp_nlg_f16";  // "v_cmp_nlg_f16_e64"
3889
0
                      return;
3890
0
                    case '3':  // 1 string to match.
3891
0
                      if (memcmp(Mnemonic.data()+12, "2_e64", 5) != 0)
3892
0
                        break;
3893
0
                      Mnemonic = "v_cmp_nlg_f32";  // "v_cmp_nlg_f32_e64"
3894
0
                      return;
3895
0
                    case '6':  // 1 string to match.
3896
0
                      if (memcmp(Mnemonic.data()+12, "4_e64", 5) != 0)
3897
0
                        break;
3898
0
                      Mnemonic = "v_cmp_nlg_f64";  // "v_cmp_nlg_f64_e64"
3899
0
                      return;
3900
0
                    }
3901
0
                    break;
3902
0
                  case 't':  // 3 strings to match.
3903
0
                    if (memcmp(Mnemonic.data()+9, "_f", 2) != 0)
3904
0
                      break;
3905
0
                    switch (Mnemonic[11]) {
3906
0
                    default: break;
3907
0
                    case '1':  // 1 string to match.
3908
0
                      if (memcmp(Mnemonic.data()+12, "6_e64", 5) != 0)
3909
0
                        break;
3910
0
                      Mnemonic = "v_cmp_nlt_f16";  // "v_cmp_nlt_f16_e64"
3911
0
                      return;
3912
0
                    case '3':  // 1 string to match.
3913
0
                      if (memcmp(Mnemonic.data()+12, "2_e64", 5) != 0)
3914
0
                        break;
3915
0
                      Mnemonic = "v_cmp_nlt_f32";  // "v_cmp_nlt_f32_e64"
3916
0
                      return;
3917
0
                    case '6':  // 1 string to match.
3918
0
                      if (memcmp(Mnemonic.data()+12, "4_e64", 5) != 0)
3919
0
                        break;
3920
0
                      Mnemonic = "v_cmp_nlt_f64";  // "v_cmp_nlt_f64_e64"
3921
0
                      return;
3922
0
                    }
3923
0
                    break;
3924
0
                  }
3925
0
                  break;
3926
0
                }
3927
0
                break;
3928
0
              case 't':  // 3 strings to match.
3929
0
                if (memcmp(Mnemonic.data()+7, "ru_f", 4) != 0)
3930
0
                  break;
3931
0
                switch (Mnemonic[11]) {
3932
0
                default: break;
3933
0
                case '1':  // 1 string to match.
3934
0
                  if (memcmp(Mnemonic.data()+12, "6_e64", 5) != 0)
3935
0
                    break;
3936
0
                  Mnemonic = "v_cmp_tru_f16";  // "v_cmp_tru_f16_e64"
3937
0
                  return;
3938
0
                case '3':  // 1 string to match.
3939
0
                  if (memcmp(Mnemonic.data()+12, "2_e64", 5) != 0)
3940
0
                    break;
3941
0
                  Mnemonic = "v_cmp_tru_f32";  // "v_cmp_tru_f32_e64"
3942
0
                  return;
3943
0
                case '6':  // 1 string to match.
3944
0
                  if (memcmp(Mnemonic.data()+12, "4_e64", 5) != 0)
3945
0
                    break;
3946
0
                  Mnemonic = "v_cmp_tru_f64";  // "v_cmp_tru_f64_e64"
3947
0
                  return;
3948
0
                }
3949
0
                break;
3950
0
              }
3951
0
              break;
3952
0
            case 's':  // 18 strings to match.
3953
0
              switch (Mnemonic[6]) {
3954
0
              default: break;
3955
0
              case '_':  // 12 strings to match.
3956
0
                switch (Mnemonic[7]) {
3957
0
                default: break;
3958
0
                case 'e':  // 2 strings to match.
3959
0
                  if (memcmp(Mnemonic.data()+8, "q_f", 3) != 0)
3960
0
                    break;
3961
0
                  switch (Mnemonic[11]) {
3962
0
                  default: break;
3963
0
                  case '3':  // 1 string to match.
3964
0
                    if (memcmp(Mnemonic.data()+12, "2_e64", 5) != 0)
3965
0
                      break;
3966
0
                    Mnemonic = "v_cmps_eq_f32";  // "v_cmps_eq_f32_e64"
3967
0
                    return;
3968
0
                  case '6':  // 1 string to match.
3969
0
                    if (memcmp(Mnemonic.data()+12, "4_e64", 5) != 0)
3970
0
                      break;
3971
0
                    Mnemonic = "v_cmps_eq_f64";  // "v_cmps_eq_f64_e64"
3972
0
                    return;
3973
0
                  }
3974
0
                  break;
3975
0
                case 'g':  // 4 strings to match.
3976
0
                  switch (Mnemonic[8]) {
3977
0
                  default: break;
3978
0
                  case 'e':  // 2 strings to match.
3979
0
                    if (memcmp(Mnemonic.data()+9, "_f", 2) != 0)
3980
0
                      break;
3981
0
                    switch (Mnemonic[11]) {
3982
0
                    default: break;
3983
0
                    case '3':  // 1 string to match.
3984
0
                      if (memcmp(Mnemonic.data()+12, "2_e64", 5) != 0)
3985
0
                        break;
3986
0
                      Mnemonic = "v_cmps_ge_f32";  // "v_cmps_ge_f32_e64"
3987
0
                      return;
3988
0
                    case '6':  // 1 string to match.
3989
0
                      if (memcmp(Mnemonic.data()+12, "4_e64", 5) != 0)
3990
0
                        break;
3991
0
                      Mnemonic = "v_cmps_ge_f64";  // "v_cmps_ge_f64_e64"
3992
0
                      return;
3993
0
                    }
3994
0
                    break;
3995
0
                  case 't':  // 2 strings to match.
3996
0
                    if (memcmp(Mnemonic.data()+9, "_f", 2) != 0)
3997
0
                      break;
3998
0
                    switch (Mnemonic[11]) {
3999
0
                    default: break;
4000
0
                    case '3':  // 1 string to match.
4001
0
                      if (memcmp(Mnemonic.data()+12, "2_e64", 5) != 0)
4002
0
                        break;
4003
0
                      Mnemonic = "v_cmps_gt_f32";  // "v_cmps_gt_f32_e64"
4004
0
                      return;
4005
0
                    case '6':  // 1 string to match.
4006
0
                      if (memcmp(Mnemonic.data()+12, "4_e64", 5) != 0)
4007
0
                        break;
4008
0
                      Mnemonic = "v_cmps_gt_f64";  // "v_cmps_gt_f64_e64"
4009
0
                      return;
4010
0
                    }
4011
0
                    break;
4012
0
                  }
4013
0
                  break;
4014
0
                case 'l':  // 6 strings to match.
4015
0
                  switch (Mnemonic[8]) {
4016
0
                  default: break;
4017
0
                  case 'e':  // 2 strings to match.
4018
0
                    if (memcmp(Mnemonic.data()+9, "_f", 2) != 0)
4019
0
                      break;
4020
0
                    switch (Mnemonic[11]) {
4021
0
                    default: break;
4022
0
                    case '3':  // 1 string to match.
4023
0
                      if (memcmp(Mnemonic.data()+12, "2_e64", 5) != 0)
4024
0
                        break;
4025
0
                      Mnemonic = "v_cmps_le_f32";  // "v_cmps_le_f32_e64"
4026
0
                      return;
4027
0
                    case '6':  // 1 string to match.
4028
0
                      if (memcmp(Mnemonic.data()+12, "4_e64", 5) != 0)
4029
0
                        break;
4030
0
                      Mnemonic = "v_cmps_le_f64";  // "v_cmps_le_f64_e64"
4031
0
                      return;
4032
0
                    }
4033
0
                    break;
4034
0
                  case 'g':  // 2 strings to match.
4035
0
                    if (memcmp(Mnemonic.data()+9, "_f", 2) != 0)
4036
0
                      break;
4037
0
                    switch (Mnemonic[11]) {
4038
0
                    default: break;
4039
0
                    case '3':  // 1 string to match.
4040
0
                      if (memcmp(Mnemonic.data()+12, "2_e64", 5) != 0)
4041
0
                        break;
4042
0
                      Mnemonic = "v_cmps_lg_f32";  // "v_cmps_lg_f32_e64"
4043
0
                      return;
4044
0
                    case '6':  // 1 string to match.
4045
0
                      if (memcmp(Mnemonic.data()+12, "4_e64", 5) != 0)
4046
0
                        break;
4047
0
                      Mnemonic = "v_cmps_lg_f64";  // "v_cmps_lg_f64_e64"
4048
0
                      return;
4049
0
                    }
4050
0
                    break;
4051
0
                  case 't':  // 2 strings to match.
4052
0
                    if (memcmp(Mnemonic.data()+9, "_f", 2) != 0)
4053
0
                      break;
4054
0
                    switch (Mnemonic[11]) {
4055
0
                    default: break;
4056
0
                    case '3':  // 1 string to match.
4057
0
                      if (memcmp(Mnemonic.data()+12, "2_e64", 5) != 0)
4058
0
                        break;
4059
0
                      Mnemonic = "v_cmps_lt_f32";  // "v_cmps_lt_f32_e64"
4060
0
                      return;
4061
0
                    case '6':  // 1 string to match.
4062
0
                      if (memcmp(Mnemonic.data()+12, "4_e64", 5) != 0)
4063
0
                        break;
4064
0
                      Mnemonic = "v_cmps_lt_f64";  // "v_cmps_lt_f64_e64"
4065
0
                      return;
4066
0
                    }
4067
0
                    break;
4068
0
                  }
4069
0
                  break;
4070
0
                }
4071
0
                break;
4072
0
              case 'x':  // 6 strings to match.
4073
0
                if (Mnemonic[7] != '_')
4074
0
                  break;
4075
0
                switch (Mnemonic[8]) {
4076
0
                default: break;
4077
0
                case 'f':  // 2 strings to match.
4078
0
                  if (memcmp(Mnemonic.data()+9, "_f", 2) != 0)
4079
0
                    break;
4080
0
                  switch (Mnemonic[11]) {
4081
0
                  default: break;
4082
0
                  case '3':  // 1 string to match.
4083
0
                    if (memcmp(Mnemonic.data()+12, "2_e64", 5) != 0)
4084
0
                      break;
4085
0
                    Mnemonic = "v_cmpsx_f_f32";  // "v_cmpsx_f_f32_e64"
4086
0
                    return;
4087
0
                  case '6':  // 1 string to match.
4088
0
                    if (memcmp(Mnemonic.data()+12, "4_e64", 5) != 0)
4089
0
                      break;
4090
0
                    Mnemonic = "v_cmpsx_f_f64";  // "v_cmpsx_f_f64_e64"
4091
0
                    return;
4092
0
                  }
4093
0
                  break;
4094
0
                case 'o':  // 2 strings to match.
4095
0
                  if (memcmp(Mnemonic.data()+9, "_f", 2) != 0)
4096
0
                    break;
4097
0
                  switch (Mnemonic[11]) {
4098
0
                  default: break;
4099
0
                  case '3':  // 1 string to match.
4100
0
                    if (memcmp(Mnemonic.data()+12, "2_e64", 5) != 0)
4101
0
                      break;
4102
0
                    Mnemonic = "v_cmpsx_o_f32";  // "v_cmpsx_o_f32_e64"
4103
0
                    return;
4104
0
                  case '6':  // 1 string to match.
4105
0
                    if (memcmp(Mnemonic.data()+12, "4_e64", 5) != 0)
4106
0
                      break;
4107
0
                    Mnemonic = "v_cmpsx_o_f64";  // "v_cmpsx_o_f64_e64"
4108
0
                    return;
4109
0
                  }
4110
0
                  break;
4111
0
                case 'u':  // 2 strings to match.
4112
0
                  if (memcmp(Mnemonic.data()+9, "_f", 2) != 0)
4113
0
                    break;
4114
0
                  switch (Mnemonic[11]) {
4115
0
                  default: break;
4116
0
                  case '3':  // 1 string to match.
4117
0
                    if (memcmp(Mnemonic.data()+12, "2_e64", 5) != 0)
4118
0
                      break;
4119
0
                    Mnemonic = "v_cmpsx_u_f32";  // "v_cmpsx_u_f32_e64"
4120
0
                    return;
4121
0
                  case '6':  // 1 string to match.
4122
0
                    if (memcmp(Mnemonic.data()+12, "4_e64", 5) != 0)
4123
0
                      break;
4124
0
                    Mnemonic = "v_cmpsx_u_f64";  // "v_cmpsx_u_f64_e64"
4125
0
                    return;
4126
0
                  }
4127
0
                  break;
4128
0
                }
4129
0
                break;
4130
0
              }
4131
0
              break;
4132
0
            case 'x':  // 54 strings to match.
4133
0
              if (Mnemonic[6] != '_')
4134
0
                break;
4135
0
              switch (Mnemonic[7]) {
4136
0
              default: break;
4137
0
              case 'e':  // 9 strings to match.
4138
0
                if (memcmp(Mnemonic.data()+8, "q_", 2) != 0)
4139
0
                  break;
4140
0
                switch (Mnemonic[10]) {
4141
0
                default: break;
4142
0
                case 'f':  // 3 strings to match.
4143
0
                  switch (Mnemonic[11]) {
4144
0
                  default: break;
4145
0
                  case '1':  // 1 string to match.
4146
0
                    if (memcmp(Mnemonic.data()+12, "6_e64", 5) != 0)
4147
0
                      break;
4148
0
                    Mnemonic = "v_cmpx_eq_f16";  // "v_cmpx_eq_f16_e64"
4149
0
                    return;
4150
0
                  case '3':  // 1 string to match.
4151
0
                    if (memcmp(Mnemonic.data()+12, "2_e64", 5) != 0)
4152
0
                      break;
4153
0
                    Mnemonic = "v_cmpx_eq_f32";  // "v_cmpx_eq_f32_e64"
4154
0
                    return;
4155
0
                  case '6':  // 1 string to match.
4156
0
                    if (memcmp(Mnemonic.data()+12, "4_e64", 5) != 0)
4157
0
                      break;
4158
0
                    Mnemonic = "v_cmpx_eq_f64";  // "v_cmpx_eq_f64_e64"
4159
0
                    return;
4160
0
                  }
4161
0
                  break;
4162
0
                case 'i':  // 3 strings to match.
4163
0
                  switch (Mnemonic[11]) {
4164
0
                  default: break;
4165
0
                  case '1':  // 1 string to match.
4166
0
                    if (memcmp(Mnemonic.data()+12, "6_e64", 5) != 0)
4167
0
                      break;
4168
0
                    Mnemonic = "v_cmpx_eq_i16";  // "v_cmpx_eq_i16_e64"
4169
0
                    return;
4170
0
                  case '3':  // 1 string to match.
4171
0
                    if (memcmp(Mnemonic.data()+12, "2_e64", 5) != 0)
4172
0
                      break;
4173
0
                    Mnemonic = "v_cmpx_eq_i32";  // "v_cmpx_eq_i32_e64"
4174
0
                    return;
4175
0
                  case '6':  // 1 string to match.
4176
0
                    if (memcmp(Mnemonic.data()+12, "4_e64", 5) != 0)
4177
0
                      break;
4178
0
                    Mnemonic = "v_cmpx_eq_i64";  // "v_cmpx_eq_i64_e64"
4179
0
                    return;
4180
0
                  }
4181
0
                  break;
4182
0
                case 'u':  // 3 strings to match.
4183
0
                  switch (Mnemonic[11]) {
4184
0
                  default: break;
4185
0
                  case '1':  // 1 string to match.
4186
0
                    if (memcmp(Mnemonic.data()+12, "6_e64", 5) != 0)
4187
0
                      break;
4188
0
                    Mnemonic = "v_cmpx_eq_u16";  // "v_cmpx_eq_u16_e64"
4189
0
                    return;
4190
0
                  case '3':  // 1 string to match.
4191
0
                    if (memcmp(Mnemonic.data()+12, "2_e64", 5) != 0)
4192
0
                      break;
4193
0
                    Mnemonic = "v_cmpx_eq_u32";  // "v_cmpx_eq_u32_e64"
4194
0
                    return;
4195
0
                  case '6':  // 1 string to match.
4196
0
                    if (memcmp(Mnemonic.data()+12, "4_e64", 5) != 0)
4197
0
                      break;
4198
0
                    Mnemonic = "v_cmpx_eq_u64";  // "v_cmpx_eq_u64_e64"
4199
0
                    return;
4200
0
                  }
4201
0
                  break;
4202
0
                }
4203
0
                break;
4204
0
              case 'g':  // 18 strings to match.
4205
0
                switch (Mnemonic[8]) {
4206
0
                default: break;
4207
0
                case 'e':  // 9 strings to match.
4208
0
                  if (Mnemonic[9] != '_')
4209
0
                    break;
4210
0
                  switch (Mnemonic[10]) {
4211
0
                  default: break;