/* Capstone Disassembly Engine, https://www.capstone-engine.org */
/* By Nguyen Anh Quynh <aquynh@gmail.com>, 2013-2022, */
/*    Rot127 <unisono@quyllur.org> 2022-2023 */
/* Automatically generated file by Capstone's LLVM TableGen Disassembler Backend. */

/* LLVM-commit: 083d57d0731afc1746680d828bdfe2fa41f62a61 */
/* LLVM-tag: llvmorg-3.0.0-2-g083d57d0731a */

/* Do not edit. */

/* Capstone's LLVM TableGen Backends: */
/* https://github.com/capstone-engine/llvm-capstone */

#include <capstone/platform.h>
#include <assert.h>

/// getMnemonic - This method is automatically generated by tablegen
/// from the instruction set description.
static MnemonicBitsInfo getMnemonic(MCInst *MI, SStream *O) {
#ifndef CAPSTONE_DIET
  static const char AsmStrs[] = {
  /* 0 */ "; ADJDOWN \0"
  /* 11 */ "; ADJUP \0"
  /* 20 */ "lda \0"
  /* 25 */ "sra \0"
  /* 30 */ "stb \0"
  /* 35 */ "sextb \0"
  /* 42 */ "stl_c \0"
  /* 49 */ "stq_c \0"
  /* 56 */ "blbc \0"
  /* 62 */ "cmovlbc \0"
  /* 71 */ "rpcc \0"
  /* 77 */ "bic \0"
  /* 82 */ "rc \0"
  /* 86 */ "cvttq/svc \0"
  /* 97 */ "and \0"
  /* 102 */ "fbge \0"
  /* 108 */ "cmpbge \0"
  /* 116 */ "fcmovge \0"
  /* 125 */ "fble \0"
  /* 131 */ "cmple \0"
  /* 138 */ "cmpule \0"
  /* 146 */ "fcmovle \0"
  /* 155 */ "fbne \0"
  /* 161 */ "jsr_coroutine \0"
  /* 176 */ "fcmovne \0"
  /* 185 */ "cpyse \0"
  /* 192 */ "ldah \0"
  /* 198 */ "msklh \0"
  /* 205 */ "inslh \0"
  /* 212 */ "extlh \0"
  /* 219 */ "umulh \0"
  /* 226 */ "mskqh \0"
  /* 233 */ "insqh \0"
  /* 240 */ "extqh \0"
  /* 247 */ "mskwh \0"
  /* 254 */ "inswh \0"
  /* 261 */ "extwh \0"
  /* 268 */ "cvtqs/sui \0"
  /* 279 */ "cvtts/sui \0"
  /* 290 */ "cvtqt/sui \0"
  /* 301 */ "ldl_l \0"
  /* 308 */ "ldq_l \0"
  /* 315 */ "mskbl \0"
  /* 322 */ "insbl \0"
  /* 329 */ "extbl \0"
  /* 336 */ "s4subl \0"
  /* 344 */ "s8subl \0"
  /* 352 */ "s4addl \0"
  /* 360 */ "s8addl \0"
  /* 368 */ "ldl \0"
  /* 373 */ "mskll \0"
  /* 380 */ "insll \0"
  /* 387 */ "extll \0"
  /* 394 */ "mull \0"
  /* 400 */ "mskql \0"
  /* 407 */ "insql \0"
  /* 414 */ "extql \0"
  /* 421 */ "srl \0"
  /* 426 */ "stl \0"
  /* 431 */ "mskwl \0"
  /* 438 */ "inswl \0"
  /* 445 */ "extwl \0"
  /* 452 */ "cpysn \0"
  /* 459 */ "ctpop \0"
  /* 466 */ "s4subq \0"
  /* 474 */ "s8subq \0"
  /* 482 */ "s4addq \0"
  /* 490 */ "s8addq \0"
  /* 498 */ "ldq \0"
  /* 503 */ "fbeq \0"
  /* 509 */ "cmpeq \0"
  /* 516 */ "fcmoveq \0"
  /* 525 */ "mulq \0"
  /* 531 */ "stq \0"
  /* 536 */ "xor \0"
  /* 541 */ "cvtst/s \0"
  /* 550 */ "blbs \0"
  /* 556 */ "cmovlbs \0"
  /* 565 */ "lds \0"
  /* 570 */ "itofs \0"
  /* 577 */ "bis \0"
  /* 582 */ "ftois \0"
  /* 589 */ "rs \0"
  /* 593 */ "sts \0"
  /* 598 */ "cpys \0"
  /* 604 */ "ldt \0"
  /* 609 */ "itoft \0"
  /* 616 */ "fbgt \0"
  /* 622 */ "fcmovgt \0"
  /* 631 */ "ftoit \0"
  /* 638 */ "fblt \0"
  /* 644 */ "cmplt \0"
  /* 651 */ "cmpult \0"
  /* 659 */ "fcmovlt \0"
  /* 668 */ "zapnot \0"
  /* 676 */ "ornot \0"
  /* 683 */ "stt \0"
  /* 688 */ "ldq_u \0"
  /* 695 */ "stq_u \0"
  /* 702 */ "ldbu \0"
  /* 708 */ "cmptle/su \0"
  /* 719 */ "cmptun/su \0"
  /* 730 */ "cmpteq/su \0"
  /* 741 */ "subs/su \0"
  /* 750 */ "adds/su \0"
  /* 759 */ "muls/su \0"
  /* 768 */ "sqrts/su \0"
  /* 778 */ "divs/su \0"
  /* 787 */ "subt/su \0"
  /* 796 */ "addt/su \0"
  /* 805 */ "cmptlt/su \0"
  /* 816 */ "mult/su \0"
  /* 825 */ "sqrtt/su \0"
  /* 835 */ "divt/su \0"
  /* 844 */ "ldwu \0"
  /* 850 */ "eqv \0"
  /* 855 */ "stw \0"
  /* 860 */ "sextw \0"
  /* 867 */ "ctlz \0"
  /* 873 */ "cttz \0"
  /* 879 */ "bsr $26,$\0"
  /* 889 */ "LSMARKER$\0"
  /* 899 */ "wh64 (\0"
  /* 906 */ "ecb (\0"
  /* 912 */ "fetch (\0"
  /* 920 */ "fetch_m (\0"
  /* 930 */ "wh64en (\0"
  /* 939 */ "jmp $31,\0"
  /* 948 */ "br $31,\0"
  /* 956 */ "# XRay Function Patchable RET.\0"
  /* 987 */ "# XRay Typed Event Log.\0"
  /* 1011 */ "# XRay Custom Event Log.\0"
  /* 1036 */ "# XRay Function Enter.\0"
  /* 1059 */ "# XRay Tail Call Exit.\0"
  /* 1082 */ "# XRay Function Exit.\0"
  /* 1104 */ "jsr $23,($27),0\0"
  /* 1120 */ "jsr $26,($27),0\0"
  /* 1136 */ "ret $31,($26),1\0"
  /* 1152 */ "COND_BRANCH imm:\0"
  /* 1169 */ "LIFETIME_END\0"
  /* 1182 */ "PSEUDO_PROBE\0"
  /* 1195 */ "BUNDLE\0"
  /* 1202 */ "DBG_VALUE\0"
  /* 1212 */ "DBG_INSTR_REF\0"
  /* 1226 */ "DBG_PHI\0"
  /* 1234 */ "DBG_LABEL\0"
  /* 1244 */ "LIFETIME_START\0"
  /* 1259 */ "DBG_VALUE_LIST\0"
  /* 1274 */ "PCMARKER_\0"
  /* 1284 */ "excb\0"
  /* 1289 */ "wmb\0"
  /* 1293 */ "trapb\0"
  /* 1299 */ "#wtf\0"
  /* 1304 */ "# FEntry call\0"
};
#endif // CAPSTONE_DIET

  static const uint16_t OpInfo0[] = {
    0U,	// PHI
    0U,	// INLINEASM
    0U,	// INLINEASM_BR
    0U,	// CFI_INSTRUCTION
    0U,	// EH_LABEL
    0U,	// GC_LABEL
    0U,	// ANNOTATION_LABEL
    0U,	// KILL
    0U,	// EXTRACT_SUBREG
    0U,	// INSERT_SUBREG
    0U,	// IMPLICIT_DEF
    0U,	// SUBREG_TO_REG
    0U,	// COPY_TO_REGCLASS
    1203U,	// DBG_VALUE
    1260U,	// DBG_VALUE_LIST
    1213U,	// DBG_INSTR_REF
    1227U,	// DBG_PHI
    1235U,	// DBG_LABEL
    0U,	// REG_SEQUENCE
    0U,	// COPY
    1196U,	// BUNDLE
    1245U,	// LIFETIME_START
    1170U,	// LIFETIME_END
    1183U,	// PSEUDO_PROBE
    0U,	// ARITH_FENCE
    0U,	// STACKMAP
    1305U,	// FENTRY_CALL
    0U,	// PATCHPOINT
    0U,	// LOAD_STACK_GUARD
    0U,	// PREALLOCATED_SETUP
    0U,	// PREALLOCATED_ARG
    0U,	// STATEPOINT
    0U,	// LOCAL_ESCAPE
    0U,	// FAULTING_OP
    0U,	// PATCHABLE_OP
    1037U,	// PATCHABLE_FUNCTION_ENTER
    957U,	// PATCHABLE_RET
    1083U,	// PATCHABLE_FUNCTION_EXIT
    1060U,	// PATCHABLE_TAIL_CALL
    1012U,	// PATCHABLE_EVENT_CALL
    988U,	// PATCHABLE_TYPED_EVENT_CALL
    0U,	// ICALL_BRANCH_FUNNEL
    0U,	// MEMBARRIER
    0U,	// G_ASSERT_SEXT
    0U,	// G_ASSERT_ZEXT
    0U,	// G_ASSERT_ALIGN
    0U,	// G_ADD
    0U,	// G_SUB
    0U,	// G_MUL
    0U,	// G_SDIV
    0U,	// G_UDIV
    0U,	// G_SREM
    0U,	// G_UREM
    0U,	// G_SDIVREM
    0U,	// G_UDIVREM
    0U,	// G_AND
    0U,	// G_OR
    0U,	// G_XOR
    0U,	// G_IMPLICIT_DEF
    0U,	// G_PHI
    0U,	// G_FRAME_INDEX
    0U,	// G_GLOBAL_VALUE
    0U,	// G_EXTRACT
    0U,	// G_UNMERGE_VALUES
    0U,	// G_INSERT
    0U,	// G_MERGE_VALUES
    0U,	// G_BUILD_VECTOR
    0U,	// G_BUILD_VECTOR_TRUNC
    0U,	// G_CONCAT_VECTORS
    0U,	// G_PTRTOINT
    0U,	// G_INTTOPTR
    0U,	// G_BITCAST
    0U,	// G_FREEZE
    0U,	// G_INTRINSIC_FPTRUNC_ROUND
    0U,	// G_INTRINSIC_TRUNC
    0U,	// G_INTRINSIC_ROUND
    0U,	// G_INTRINSIC_LRINT
    0U,	// G_INTRINSIC_ROUNDEVEN
    0U,	// G_READCYCLECOUNTER
    0U,	// G_LOAD
    0U,	// G_SEXTLOAD
    0U,	// G_ZEXTLOAD
    0U,	// G_INDEXED_LOAD
    0U,	// G_INDEXED_SEXTLOAD
    0U,	// G_INDEXED_ZEXTLOAD
    0U,	// G_STORE
    0U,	// G_INDEXED_STORE
    0U,	// G_ATOMIC_CMPXCHG_WITH_SUCCESS
    0U,	// G_ATOMIC_CMPXCHG
    0U,	// G_ATOMICRMW_XCHG
    0U,	// G_ATOMICRMW_ADD
    0U,	// G_ATOMICRMW_SUB
    0U,	// G_ATOMICRMW_AND
    0U,	// G_ATOMICRMW_NAND
    0U,	// G_ATOMICRMW_OR
    0U,	// G_ATOMICRMW_XOR
    0U,	// G_ATOMICRMW_MAX
    0U,	// G_ATOMICRMW_MIN
    0U,	// G_ATOMICRMW_UMAX
    0U,	// G_ATOMICRMW_UMIN
    0U,	// G_ATOMICRMW_FADD
    0U,	// G_ATOMICRMW_FSUB
    0U,	// G_ATOMICRMW_FMAX
    0U,	// G_ATOMICRMW_FMIN
    0U,	// G_ATOMICRMW_UINC_WRAP
    0U,	// G_ATOMICRMW_UDEC_WRAP
    0U,	// G_FENCE
    0U,	// G_BRCOND
    0U,	// G_BRINDIRECT
    0U,	// G_INVOKE_REGION_START
    0U,	// G_INTRINSIC
    0U,	// G_INTRINSIC_W_SIDE_EFFECTS
    0U,	// G_ANYEXT
    0U,	// G_TRUNC
    0U,	// G_CONSTANT
    0U,	// G_FCONSTANT
    0U,	// G_VASTART
    0U,	// G_VAARG
    0U,	// G_SEXT
    0U,	// G_SEXT_INREG
    0U,	// G_ZEXT
    0U,	// G_SHL
    0U,	// G_LSHR
    0U,	// G_ASHR
    0U,	// G_FSHL
    0U,	// G_FSHR
    0U,	// G_ROTR
    0U,	// G_ROTL
    0U,	// G_ICMP
    0U,	// G_FCMP
    0U,	// G_SELECT
    0U,	// G_UADDO
    0U,	// G_UADDE
    0U,	// G_USUBO
    0U,	// G_USUBE
    0U,	// G_SADDO
    0U,	// G_SADDE
    0U,	// G_SSUBO
    0U,	// G_SSUBE
    0U,	// G_UMULO
    0U,	// G_SMULO
    0U,	// G_UMULH
    0U,	// G_SMULH
    0U,	// G_UADDSAT
    0U,	// G_SADDSAT
    0U,	// G_USUBSAT
    0U,	// G_SSUBSAT
    0U,	// G_USHLSAT
    0U,	// G_SSHLSAT
    0U,	// G_SMULFIX
    0U,	// G_UMULFIX
    0U,	// G_SMULFIXSAT
    0U,	// G_UMULFIXSAT
    0U,	// G_SDIVFIX
    0U,	// G_UDIVFIX
    0U,	// G_SDIVFIXSAT
    0U,	// G_UDIVFIXSAT
    0U,	// G_FADD
    0U,	// G_FSUB
    0U,	// G_FMUL
    0U,	// G_FMA
    0U,	// G_FMAD
    0U,	// G_FDIV
    0U,	// G_FREM
    0U,	// G_FPOW
    0U,	// G_FPOWI
    0U,	// G_FEXP
    0U,	// G_FEXP2
    0U,	// G_FLOG
    0U,	// G_FLOG2
    0U,	// G_FLOG10
    0U,	// G_FNEG
    0U,	// G_FPEXT
    0U,	// G_FPTRUNC
    0U,	// G_FPTOSI
    0U,	// G_FPTOUI
    0U,	// G_SITOFP
    0U,	// G_UITOFP
    0U,	// G_FABS
    0U,	// G_FCOPYSIGN
    0U,	// G_IS_FPCLASS
    0U,	// G_FCANONICALIZE
    0U,	// G_FMINNUM
    0U,	// G_FMAXNUM
    0U,	// G_FMINNUM_IEEE
    0U,	// G_FMAXNUM_IEEE
    0U,	// G_FMINIMUM
    0U,	// G_FMAXIMUM
    0U,	// G_PTR_ADD
    0U,	// G_PTRMASK
    0U,	// G_SMIN
    0U,	// G_SMAX
    0U,	// G_UMIN
    0U,	// G_UMAX
    0U,	// G_ABS
    0U,	// G_LROUND
    0U,	// G_LLROUND
    0U,	// G_BR
    0U,	// G_BRJT
    0U,	// G_INSERT_VECTOR_ELT
    0U,	// G_EXTRACT_VECTOR_ELT
    0U,	// G_SHUFFLE_VECTOR
    0U,	// G_CTTZ
    0U,	// G_CTTZ_ZERO_UNDEF
    0U,	// G_CTLZ
    0U,	// G_CTLZ_ZERO_UNDEF
    0U,	// G_CTPOP
    0U,	// G_BSWAP
    0U,	// G_BITREVERSE
    0U,	// G_FCEIL
    0U,	// G_FCOS
    0U,	// G_FSIN
    0U,	// G_FSQRT
    0U,	// G_FFLOOR
    0U,	// G_FRINT
    0U,	// G_FNEARBYINT
    0U,	// G_ADDRSPACE_CAST
    0U,	// G_BLOCK_ADDR
    0U,	// G_JUMP_TABLE
    0U,	// G_DYN_STACKALLOC
    0U,	// G_STRICT_FADD
    0U,	// G_STRICT_FSUB
    0U,	// G_STRICT_FMUL
    0U,	// G_STRICT_FDIV
    0U,	// G_STRICT_FREM
    0U,	// G_STRICT_FMA
    0U,	// G_STRICT_FSQRT
    0U,	// G_READ_REGISTER
    0U,	// G_WRITE_REGISTER
    0U,	// G_MEMCPY
    0U,	// G_MEMCPY_INLINE
    0U,	// G_MEMMOVE
    0U,	// G_MEMSET
    0U,	// G_BZERO
    0U,	// G_VECREDUCE_SEQ_FADD
    0U,	// G_VECREDUCE_SEQ_FMUL
    0U,	// G_VECREDUCE_FADD
    0U,	// G_VECREDUCE_FMUL
    0U,	// G_VECREDUCE_FMAX
    0U,	// G_VECREDUCE_FMIN
    0U,	// G_VECREDUCE_ADD
    0U,	// G_VECREDUCE_MUL
    0U,	// G_VECREDUCE_AND
    0U,	// G_VECREDUCE_OR
    0U,	// G_VECREDUCE_XOR
    0U,	// G_VECREDUCE_SMAX
    0U,	// G_VECREDUCE_SMIN
    0U,	// G_VECREDUCE_UMAX
    0U,	// G_VECREDUCE_UMIN
    0U,	// G_SBFX
    0U,	// G_UBFX
    2049U,	// ADJUSTSTACKDOWN
    2060U,	// ADJUSTSTACKUP
    19320U,	// ALTENT
    0U,	// CAS32
    0U,	// CAS64
    0U,	// LAS32
    0U,	// LAS64
    35706U,	// MEMLABEL
    52475U,	// PCLABEL
    0U,	// SWAP32
    0U,	// SWAP64
    1300U,	// WTF
    4451U,	// ADDLi
    4451U,	// ADDLr
    4581U,	// ADDQi
    4581U,	// ADDQr
    4847U,	// ADDS
    4893U,	// ADDT
    4194U,	// ANDi
    4194U,	// ANDr
    2553U,	// BEQ
    2152U,	// BGE
    2666U,	// BGT
    4174U,	// BICi
    4174U,	// BICr
    4674U,	// BISi
    4674U,	// BISr
    2105U,	// BLBC
    2599U,	// BLBS
    2175U,	// BLE
    2688U,	// BLT
    2205U,	// BNE
    7093U,	// BR
    23408U,	// BSR
    4614U,	// CMOVEQi
    4614U,	// CMOVEQr
    4214U,	// CMOVGEi
    4214U,	// CMOVGEr
    4720U,	// CMOVGTi
    4720U,	// CMOVGTr
    4159U,	// CMOVLBCi
    4159U,	// CMOVLBCr
    4653U,	// CMOVLBSi
    4653U,	// CMOVLBSr
    4244U,	// CMOVLEi
    4244U,	// CMOVLEr
    4757U,	// CMOVLTi
    4757U,	// CMOVLTr
    4274U,	// CMOVNEi
    4274U,	// CMOVNEr
    4205U,	// CMPBGE
    4205U,	// CMPBGEi
    4606U,	// CMPEQ
    4606U,	// CMPEQi
    4228U,	// CMPLE
    4228U,	// CMPLEi
    4741U,	// CMPLT
    4741U,	// CMPLTi
    4827U,	// CMPTEQ
    4805U,	// CMPTLE
    4902U,	// CMPTLT
    4816U,	// CMPTUN
    4235U,	// CMPULE
    4235U,	// CMPULEi
    4748U,	// CMPULT
    4748U,	// CMPULTi
    35969U,	// COND_BRANCH_F
    52353U,	// COND_BRANCH_I
    4282U,	// CPYSES
    4282U,	// CPYSESt
    4282U,	// CPYSET
    4549U,	// CPYSNS
    4549U,	// CPYSNSt
    4549U,	// CPYSNT
    4549U,	// CPYSNTs
    4695U,	// CPYSS
    4695U,	// CPYSSt
    4695U,	// CPYST
    4695U,	// CPYSTs
    4964U,	// CTLZ
    4556U,	// CTPOP
    4970U,	// CTTZ
    4365U,	// CVTQS
    4387U,	// CVTQT
    4638U,	// CVTST
    4183U,	// CVTTQ
    4376U,	// CVTTS
    4875U,	// DIVS
    4932U,	// DIVT
    5003U,	// ECB
    4947U,	// EQVi
    4947U,	// EQVr
    1285U,	// EXCB
    4426U,	// EXTBL
    4426U,	// EXTBLi
    4309U,	// EXTLH
    4309U,	// EXTLHi
    4484U,	// EXTLL
    4484U,	// EXTLLi
    4337U,	// EXTQH
    4337U,	// EXTQHi
    4511U,	// EXTQL
    4511U,	// EXTQLi
    4358U,	// EXTWH
    4358U,	// EXTWHi
    4542U,	// EXTWL
    4542U,	// EXTWLi
    2552U,	// FBEQ
    2151U,	// FBGE
    2665U,	// FBGT
    2174U,	// FBLE
    2687U,	// FBLT
    2204U,	// FBNE
    8709U,	// FCMOVEQS
    8709U,	// FCMOVEQT
    8309U,	// FCMOVGES
    8309U,	// FCMOVGET
    8815U,	// FCMOVGTS
    8815U,	// FCMOVGTT
    8339U,	// FCMOVLES
    8339U,	// FCMOVLET
    8852U,	// FCMOVLTS
    8852U,	// FCMOVLTT
    8369U,	// FCMOVNES
    8369U,	// FCMOVNET
    5009U,	// FETCH
    5017U,	// FETCH_M
    4679U,	// FTOIS
    4728U,	// FTOIT
    4419U,	// INSBL
    4419U,	// INSBLi
    4302U,	// INSLH
    4302U,	// INSLHi
    4477U,	// INSLL
    4477U,	// INSLLi
    4330U,	// INSQH
    4330U,	// INSQHi
    4504U,	// INSQL
    4504U,	// INSQLi
    4351U,	// INSWH
    4351U,	// INSWHi
    4535U,	// INSWL
    4535U,	// INSWLi
    4667U,	// ITOFS
    4706U,	// ITOFT
    19372U,	// JMP
    1121U,	// JSR
    34978U,	// JSR_COROUTINE
    1105U,	// JSRs
    2069U,	// LDA
    2241U,	// LDAH
    51393U,	// LDAHg
    2241U,	// LDAHr
    51221U,	// LDAg
    2069U,	// LDAr
    2751U,	// LDBU
    2751U,	// LDBUr
    2417U,	// LDL
    2350U,	// LDL_L
    2417U,	// LDLr
    2547U,	// LDQ
    2357U,	// LDQ_L
    2737U,	// LDQ_U
    2547U,	// LDQl
    2547U,	// LDQr
    2614U,	// LDS
    2614U,	// LDSr
    2653U,	// LDT
    2653U,	// LDTr
    2893U,	// LDWU
    2893U,	// LDWUr
    1291U,	// MB
    4412U,	// MSKBL
    4412U,	// MSKBLi
    4295U,	// MSKLH
    4295U,	// MSKLHi
    4470U,	// MSKLL
    4470U,	// MSKLLi
    4323U,	// MSKQH
    4323U,	// MSKQHi
    4497U,	// MSKQL
    4497U,	// MSKQLi
    4344U,	// MSKWH
    4344U,	// MSKWHi
    4528U,	// MSKWL
    4528U,	// MSKWLi
    4491U,	// MULLi
    4491U,	// MULLr
    4622U,	// MULQi
    4622U,	// MULQr
    4856U,	// MULS
    4913U,	// MULT
    4773U,	// ORNOTi
    4773U,	// ORNOTr
    2131U,	// RC
    1137U,	// RETDAG
    1137U,	// RETDAGp
    2120U,	// RPCC
    2638U,	// RS
    4449U,	// S4ADDLi
    4449U,	// S4ADDLr
    4579U,	// S4ADDQi
    4579U,	// S4ADDQr
    4433U,	// S4SUBLi
    4433U,	// S4SUBLr
    4563U,	// S4SUBQi
    4563U,	// S4SUBQr
    4457U,	// S8ADDLi
    4457U,	// S8ADDLr
    4587U,	// S8ADDQi
    4587U,	// S8ADDQr
    4441U,	// S8SUBLi
    4441U,	// S8SUBLr
    4571U,	// S8SUBQi
    4571U,	// S8SUBQr
    4132U,	// SEXTB
    4957U,	// SEXTW
    4479U,	// SLi
    4479U,	// SLr
    4865U,	// SQRTS
    4922U,	// SQRTT
    4122U,	// SRAi
    4122U,	// SRAr
    4518U,	// SRLi
    4518U,	// SRLr
    2079U,	// STB
    2079U,	// STBr
    2475U,	// STL
    4139U,	// STL_C
    2475U,	// STLr
    2580U,	// STQ
    4146U,	// STQ_C
    2744U,	// STQ_U
    2580U,	// STQr
    2642U,	// STS
    2642U,	// STSr
    2732U,	// STT
    2732U,	// STTr
    2904U,	// STW
    2904U,	// STWr
    4435U,	// SUBLi
    4435U,	// SUBLr
    4565U,	// SUBQi
    4565U,	// SUBQr
    4838U,	// SUBS
    4884U,	// SUBT
    1294U,	// TRAPB
    4316U,	// UMULHi
    4316U,	// UMULHr
    4996U,	// WH64
    5027U,	// WH64EN
    1290U,	// WMB
    4633U,	// XORi
    4633U,	// XORr
    4765U,	// ZAPNOTi
  };

  static const uint8_t OpInfo1[] = {
    0U,	// PHI
    0U,	// INLINEASM
    0U,	// INLINEASM_BR
    0U,	// CFI_INSTRUCTION
    0U,	// EH_LABEL
    0U,	// GC_LABEL
    0U,	// ANNOTATION_LABEL
    0U,	// KILL
    0U,	// EXTRACT_SUBREG
    0U,	// INSERT_SUBREG
    0U,	// IMPLICIT_DEF
    0U,	// SUBREG_TO_REG
    0U,	// COPY_TO_REGCLASS
    0U,	// DBG_VALUE
    0U,	// DBG_VALUE_LIST
    0U,	// DBG_INSTR_REF
    0U,	// DBG_PHI
    0U,	// DBG_LABEL
    0U,	// REG_SEQUENCE
    0U,	// COPY
    0U,	// BUNDLE
    0U,	// LIFETIME_START
    0U,	// LIFETIME_END
    0U,	// PSEUDO_PROBE
    0U,	// ARITH_FENCE
    0U,	// STACKMAP
    0U,	// FENTRY_CALL
    0U,	// PATCHPOINT
    0U,	// LOAD_STACK_GUARD
    0U,	// PREALLOCATED_SETUP
    0U,	// PREALLOCATED_ARG
    0U,	// STATEPOINT
    0U,	// LOCAL_ESCAPE
    0U,	// FAULTING_OP
    0U,	// PATCHABLE_OP
    0U,	// PATCHABLE_FUNCTION_ENTER
    0U,	// PATCHABLE_RET
    0U,	// PATCHABLE_FUNCTION_EXIT
    0U,	// PATCHABLE_TAIL_CALL
    0U,	// PATCHABLE_EVENT_CALL
    0U,	// PATCHABLE_TYPED_EVENT_CALL
    0U,	// ICALL_BRANCH_FUNNEL
    0U,	// MEMBARRIER
    0U,	// G_ASSERT_SEXT
    0U,	// G_ASSERT_ZEXT
    0U,	// G_ASSERT_ALIGN
    0U,	// G_ADD
    0U,	// G_SUB
    0U,	// G_MUL
    0U,	// G_SDIV
    0U,	// G_UDIV
    0U,	// G_SREM
    0U,	// G_UREM
    0U,	// G_SDIVREM
    0U,	// G_UDIVREM
    0U,	// G_AND
    0U,	// G_OR
    0U,	// G_XOR
    0U,	// G_IMPLICIT_DEF
    0U,	// G_PHI
    0U,	// G_FRAME_INDEX
    0U,	// G_GLOBAL_VALUE
    0U,	// G_EXTRACT
    0U,	// G_UNMERGE_VALUES
    0U,	// G_INSERT
    0U,	// G_MERGE_VALUES
    0U,	// G_BUILD_VECTOR
    0U,	// G_BUILD_VECTOR_TRUNC
    0U,	// G_CONCAT_VECTORS
    0U,	// G_PTRTOINT
    0U,	// G_INTTOPTR
    0U,	// G_BITCAST
    0U,	// G_FREEZE
    0U,	// G_INTRINSIC_FPTRUNC_ROUND
    0U,	// G_INTRINSIC_TRUNC
    0U,	// G_INTRINSIC_ROUND
    0U,	// G_INTRINSIC_LRINT
    0U,	// G_INTRINSIC_ROUNDEVEN
    0U,	// G_READCYCLECOUNTER
    0U,	// G_LOAD
    0U,	// G_SEXTLOAD
    0U,	// G_ZEXTLOAD
    0U,	// G_INDEXED_LOAD
    0U,	// G_INDEXED_SEXTLOAD
    0U,	// G_INDEXED_ZEXTLOAD
    0U,	// G_STORE
    0U,	// G_INDEXED_STORE
    0U,	// G_ATOMIC_CMPXCHG_WITH_SUCCESS
    0U,	// G_ATOMIC_CMPXCHG
    0U,	// G_ATOMICRMW_XCHG
    0U,	// G_ATOMICRMW_ADD
    0U,	// G_ATOMICRMW_SUB
    0U,	// G_ATOMICRMW_AND
    0U,	// G_ATOMICRMW_NAND
    0U,	// G_ATOMICRMW_OR
    0U,	// G_ATOMICRMW_XOR
    0U,	// G_ATOMICRMW_MAX
    0U,	// G_ATOMICRMW_MIN
    0U,	// G_ATOMICRMW_UMAX
    0U,	// G_ATOMICRMW_UMIN
    0U,	// G_ATOMICRMW_FADD
    0U,	// G_ATOMICRMW_FSUB
    0U,	// G_ATOMICRMW_FMAX
    0U,	// G_ATOMICRMW_FMIN
    0U,	// G_ATOMICRMW_UINC_WRAP
    0U,	// G_ATOMICRMW_UDEC_WRAP
    0U,	// G_FENCE
    0U,	// G_BRCOND
    0U,	// G_BRINDIRECT
    0U,	// G_INVOKE_REGION_START
    0U,	// G_INTRINSIC
    0U,	// G_INTRINSIC_W_SIDE_EFFECTS
    0U,	// G_ANYEXT
    0U,	// G_TRUNC
    0U,	// G_CONSTANT
    0U,	// G_FCONSTANT
    0U,	// G_VASTART
    0U,	// G_VAARG
    0U,	// G_SEXT
    0U,	// G_SEXT_INREG
    0U,	// G_ZEXT
    0U,	// G_SHL
    0U,	// G_LSHR
    0U,	// G_ASHR
    0U,	// G_FSHL
    0U,	// G_FSHR
    0U,	// G_ROTR
    0U,	// G_ROTL
    0U,	// G_ICMP
    0U,	// G_FCMP
    0U,	// G_SELECT
    0U,	// G_UADDO
    0U,	// G_UADDE
    0U,	// G_USUBO
    0U,	// G_USUBE
    0U,	// G_SADDO
    0U,	// G_SADDE
    0U,	// G_SSUBO
    0U,	// G_SSUBE
    0U,	// G_UMULO
    0U,	// G_SMULO
    0U,	// G_UMULH
    0U,	// G_SMULH
    0U,	// G_UADDSAT
    0U,	// G_SADDSAT
    0U,	// G_USUBSAT
    0U,	// G_SSUBSAT
    0U,	// G_USHLSAT
    0U,	// G_SSHLSAT
    0U,	// G_SMULFIX
    0U,	// G_UMULFIX
    0U,	// G_SMULFIXSAT
    0U,	// G_UMULFIXSAT
    0U,	// G_SDIVFIX
    0U,	// G_UDIVFIX
    0U,	// G_SDIVFIXSAT
    0U,	// G_UDIVFIXSAT
    0U,	// G_FADD
    0U,	// G_FSUB
    0U,	// G_FMUL
    0U,	// G_FMA
    0U,	// G_FMAD
    0U,	// G_FDIV
    0U,	// G_FREM
    0U,	// G_FPOW
    0U,	// G_FPOWI
    0U,	// G_FEXP
    0U,	// G_FEXP2
    0U,	// G_FLOG
    0U,	// G_FLOG2
    0U,	// G_FLOG10
    0U,	// G_FNEG
    0U,	// G_FPEXT
    0U,	// G_FPTRUNC
    0U,	// G_FPTOSI
    0U,	// G_FPTOUI
    0U,	// G_SITOFP
    0U,	// G_UITOFP
    0U,	// G_FABS
    0U,	// G_FCOPYSIGN
    0U,	// G_IS_FPCLASS
    0U,	// G_FCANONICALIZE
    0U,	// G_FMINNUM
    0U,	// G_FMAXNUM
    0U,	// G_FMINNUM_IEEE
    0U,	// G_FMAXNUM_IEEE
    0U,	// G_FMINIMUM
    0U,	// G_FMAXIMUM
    0U,	// G_PTR_ADD
    0U,	// G_PTRMASK
    0U,	// G_SMIN
    0U,	// G_SMAX
    0U,	// G_UMIN
    0U,	// G_UMAX
    0U,	// G_ABS
    0U,	// G_LROUND
    0U,	// G_LLROUND
    0U,	// G_BR
    0U,	// G_BRJT
    0U,	// G_INSERT_VECTOR_ELT
    0U,	// G_EXTRACT_VECTOR_ELT
    0U,	// G_SHUFFLE_VECTOR
    0U,	// G_CTTZ
    0U,	// G_CTTZ_ZERO_UNDEF
    0U,	// G_CTLZ
    0U,	// G_CTLZ_ZERO_UNDEF
    0U,	// G_CTPOP
    0U,	// G_BSWAP
    0U,	// G_BITREVERSE
    0U,	// G_FCEIL
    0U,	// G_FCOS
    0U,	// G_FSIN
    0U,	// G_FSQRT
    0U,	// G_FFLOOR
    0U,	// G_FRINT
    0U,	// G_FNEARBYINT
    0U,	// G_ADDRSPACE_CAST
    0U,	// G_BLOCK_ADDR
    0U,	// G_JUMP_TABLE
    0U,	// G_DYN_STACKALLOC
    0U,	// G_STRICT_FADD
    0U,	// G_STRICT_FSUB
    0U,	// G_STRICT_FMUL
    0U,	// G_STRICT_FDIV
    0U,	// G_STRICT_FREM
    0U,	// G_STRICT_FMA
    0U,	// G_STRICT_FSQRT
    0U,	// G_READ_REGISTER
    0U,	// G_WRITE_REGISTER
    0U,	// G_MEMCPY
    0U,	// G_MEMCPY_INLINE
    0U,	// G_MEMMOVE
    0U,	// G_MEMSET
    0U,	// G_BZERO
    0U,	// G_VECREDUCE_SEQ_FADD
    0U,	// G_VECREDUCE_SEQ_FMUL
    0U,	// G_VECREDUCE_FADD
    0U,	// G_VECREDUCE_FMUL
    0U,	// G_VECREDUCE_FMAX
    0U,	// G_VECREDUCE_FMIN
    0U,	// G_VECREDUCE_ADD
    0U,	// G_VECREDUCE_MUL
    0U,	// G_VECREDUCE_AND
    0U,	// G_VECREDUCE_OR
    0U,	// G_VECREDUCE_XOR
    0U,	// G_VECREDUCE_SMAX
    0U,	// G_VECREDUCE_SMIN
    0U,	// G_VECREDUCE_UMAX
    0U,	// G_VECREDUCE_UMIN
    0U,	// G_SBFX
    0U,	// G_UBFX
    0U,	// ADJUSTSTACKDOWN
    0U,	// ADJUSTSTACKUP
    0U,	// ALTENT
    0U,	// CAS32
    0U,	// CAS64
    0U,	// LAS32
    0U,	// LAS64
    0U,	// MEMLABEL
    0U,	// PCLABEL
    0U,	// SWAP32
    0U,	// SWAP64
    0U,	// WTF
    1U,	// ADDLi
    1U,	// ADDLr
    1U,	// ADDQi
    1U,	// ADDQr
    1U,	// ADDS
    1U,	// ADDT
    1U,	// ANDi
    1U,	// ANDr
    5U,	// BEQ
    5U,	// BGE
    5U,	// BGT
    1U,	// BICi
    1U,	// BICr
    1U,	// BISi
    1U,	// BISr
    5U,	// BLBC
    5U,	// BLBS
    5U,	// BLE
    5U,	// BLT
    5U,	// BNE
    0U,	// BR
    1U,	// BSR
    1U,	// CMOVEQi
    1U,	// CMOVEQr
    1U,	// CMOVGEi
    1U,	// CMOVGEr
    1U,	// CMOVGTi
    1U,	// CMOVGTr
    1U,	// CMOVLBCi
    1U,	// CMOVLBCr
    1U,	// CMOVLBSi
    1U,	// CMOVLBSr
    1U,	// CMOVLEi
    1U,	// CMOVLEr
    1U,	// CMOVLTi
    1U,	// CMOVLTr
    1U,	// CMOVNEi
    1U,	// CMOVNEr
    1U,	// CMPBGE
    1U,	// CMPBGEi
    1U,	// CMPEQ
    1U,	// CMPEQi
    1U,	// CMPLE
    1U,	// CMPLEi
    1U,	// CMPLT
    1U,	// CMPLTi
    1U,	// CMPTEQ
    1U,	// CMPTLE
    1U,	// CMPTLT
    1U,	// CMPTUN
    1U,	// CMPULE
    1U,	// CMPULEi
    1U,	// CMPULT
    1U,	// CMPULTi
    1U,	// COND_BRANCH_F
    1U,	// COND_BRANCH_I
    1U,	// CPYSES
    1U,	// CPYSESt
    1U,	// CPYSET
    1U,	// CPYSNS
    1U,	// CPYSNSt
    1U,	// CPYSNT
    1U,	// CPYSNTs
    1U,	// CPYSS
    1U,	// CPYSSt
    1U,	// CPYST
    1U,	// CPYSTs
    9U,	// CTLZ
    9U,	// CTPOP
    9U,	// CTTZ
    9U,	// CVTQS
    9U,	// CVTQT
    9U,	// CVTST
    9U,	// CVTTQ
    9U,	// CVTTS
    1U,	// DIVS
    1U,	// DIVT
    2U,	// ECB
    1U,	// EQVi
    1U,	// EQVr
    0U,	// EXCB
    1U,	// EXTBL
    1U,	// EXTBLi
    1U,	// EXTLH
    1U,	// EXTLHi
    1U,	// EXTLL
    1U,	// EXTLLi
    1U,	// EXTQH
    1U,	// EXTQHi
    1U,	// EXTQL
    1U,	// EXTQLi
    1U,	// EXTWH
    1U,	// EXTWHi
    1U,	// EXTWL
    1U,	// EXTWLi
    5U,	// FBEQ
    5U,	// FBGE
    5U,	// FBGT
    5U,	// FBLE
    5U,	// FBLT
    5U,	// FBNE
    0U,	// FCMOVEQS
    0U,	// FCMOVEQT
    0U,	// FCMOVGES
    0U,	// FCMOVGET
    0U,	// FCMOVGTS
    0U,	// FCMOVGTT
    0U,	// FCMOVLES
    0U,	// FCMOVLET
    0U,	// FCMOVLTS
    0U,	// FCMOVLTT
    0U,	// FCMOVNES
    0U,	// FCMOVNET
    2U,	// FETCH
    2U,	// FETCH_M
    9U,	// FTOIS
    9U,	// FTOIT
    1U,	// INSBL
    1U,	// INSBLi
    1U,	// INSLH
    1U,	// INSLHi
    1U,	// INSLL
    1U,	// INSLLi
    1U,	// INSQH
    1U,	// INSQHi
    1U,	// INSQL
    1U,	// INSQLi
    1U,	// INSWH
    1U,	// INSWHi
    1U,	// INSWL
    1U,	// INSWLi
    9U,	// ITOFS
    9U,	// ITOFT
    2U,	// JMP
    0U,	// JSR
    2U,	// JSR_COROUTINE
    0U,	// JSRs
    29U,	// LDA
    29U,	// LDAH
    2U,	// LDAHg
    45U,	// LDAHr
    2U,	// LDAg
    61U,	// LDAr
    29U,	// LDBU
    61U,	// LDBUr
    29U,	// LDL
    29U,	// LDL_L
    61U,	// LDLr
    29U,	// LDQ
    29U,	// LDQ_L
    29U,	// LDQ_U
    77U,	// LDQl
    61U,	// LDQr
    29U,	// LDS
    61U,	// LDSr
    29U,	// LDT
    61U,	// LDTr
    29U,	// LDWU
    61U,	// LDWUr
    0U,	// MB
    1U,	// MSKBL
    1U,	// MSKBLi
    1U,	// MSKLH
    1U,	// MSKLHi
    1U,	// MSKLL
    1U,	// MSKLLi
    1U,	// MSKQH
    1U,	// MSKQHi
    1U,	// MSKQL
    1U,	// MSKQLi
    1U,	// MSKWH
    1U,	// MSKWHi
    1U,	// MSKWL
    1U,	// MSKWLi
    1U,	// MULLi
    1U,	// MULLr
    1U,	// MULQi
    1U,	// MULQr
    1U,	// MULS
    1U,	// MULT
    1U,	// ORNOTi
    1U,	// ORNOTr
    0U,	// RC
    0U,	// RETDAG
    0U,	// RETDAGp
    0U,	// RPCC
    0U,	// RS
    1U,	// S4ADDLi
    1U,	// S4ADDLr
    1U,	// S4ADDQi
    1U,	// S4ADDQr
    1U,	// S4SUBLi
    1U,	// S4SUBLr
    1U,	// S4SUBQi
    1U,	// S4SUBQr
    1U,	// S8ADDLi
    1U,	// S8ADDLr
    1U,	// S8ADDQi
    1U,	// S8ADDQr
    1U,	// S8SUBLi
    1U,	// S8SUBLr
    1U,	// S8SUBQi
    1U,	// S8SUBQr
    9U,	// SEXTB
    9U,	// SEXTW
    1U,	// SLi
    1U,	// SLr
    9U,	// SQRTS
    9U,	// SQRTT
    1U,	// SRAi
    1U,	// SRAr
    1U,	// SRLi
    1U,	// SRLr
    3U,	// STB
    61U,	// STBr
    29U,	// STL
    81U,	// STL_C
    61U,	// STLr
    29U,	// STQ
    81U,	// STQ_C
    3U,	// STQ_U
    61U,	// STQr
    29U,	// STS
    61U,	// STSr
    29U,	// STT
    61U,	// STTr
    29U,	// STW
    61U,	// STWr
    1U,	// SUBLi
    1U,	// SUBLr
    1U,	// SUBQi
    1U,	// SUBQr
    1U,	// SUBS
    1U,	// SUBT
    0U,	// TRAPB
    1U,	// UMULHi
    1U,	// UMULHr
    2U,	// WH64
    2U,	// WH64EN
    0U,	// WMB
    1U,	// XORi
    1U,	// XORr
    1U,	// ZAPNOTi
  };

  // Emit the opcode for the instruction.
  uint32_t Bits = 0;
  Bits |= OpInfo0[MCInst_getOpcode(MI)] << 0;
  Bits |= OpInfo1[MCInst_getOpcode(MI)] << 16;
  MnemonicBitsInfo MBI = {
#ifndef CAPSTONE_DIET
    AsmStrs+(Bits & 2047)-1,
#else
    NULL,
#endif // CAPSTONE_DIET
    Bits
  };
  return MBI;
}

/// printInstruction - This method is automatically generated by tablegen
/// from the instruction set description.
static void printInstruction(MCInst *MI, uint64_t Address, SStream *O) {
  SStream_concat0(O, "");
  MnemonicBitsInfo MnemonicInfo = getMnemonic(MI, O);

  SStream_concat0(O, MnemonicInfo.first);

  uint32_t Bits = MnemonicInfo.second;
  assert(Bits != 0 && "Cannot print this instruction.");

  // Fragment 0 encoded into 3 bits for 5 unique commands.
  switch ((uint32_t)((Bits >> 11) & 7)) {
  default: assert(0 && "Invalid command number.");
  case 0:
    // DBG_VALUE, DBG_VALUE_LIST, DBG_INSTR_REF, DBG_PHI, DBG_LABEL, BUNDLE, ...
    return;
    break;
  case 1:
    // ADJUSTSTACKDOWN, ADJUSTSTACKUP, ALTENT, MEMLABEL, PCLABEL, BEQ, BGE, B...
    printOperand(MI, 0, O);
    break;
  case 2:
    // ADDLi, ADDLr, ADDQi, ADDQr, ADDS, ADDT, ANDi, ANDr, BICi, BICr, BISi, ...
    printOperand(MI, 1, O);
    break;
  case 3:
    // BR, BSR
    printOperandAddr(MI, Address, 0, O);
    break;
  case 4:
    // FCMOVEQS, FCMOVEQT, FCMOVGES, FCMOVGET, FCMOVGTS, FCMOVGTT, FCMOVLES, ...
    printOperand(MI, 3, O);
    SStream_concat1(O, ',');
    printOperand(MI, 2, O);
    SStream_concat1(O, ',');
    printOperand(MI, 0, O);
    return;
    break;
  }


  // Fragment 1 encoded into 4 bits for 13 unique commands.
  switch ((uint32_t)((Bits >> 14) & 15)) {
  default: assert(0 && "Invalid command number.");
  case 0:
    // ADJUSTSTACKDOWN, ADJUSTSTACKUP, BR, RC, RPCC, RS
    return;
    break;
  case 1:
    // ALTENT
    SStream_concat0(O, "..ng:\n");
    return;
    break;
  case 2:
    // MEMLABEL
    SStream_concat1(O, '$');
    printOperand(MI, 1, O);
    SStream_concat1(O, '$');
    printOperand(MI, 2, O);
    SStream_concat1(O, '$');
    printOperand(MI, 3, O);
    SStream_concat1(O, ':');
    return;
    break;
  case 3:
    // PCLABEL
    SStream_concat0(O, ":\n");
    return;
    break;
  case 4:
    // ADDLi, ADDLr, ADDQi, ADDQr, ADDS, ADDT, ANDi, ANDr, BEQ, BGE, BGT, BIC...
    SStream_concat1(O, ',');
    break;
  case 5:
    // BSR
    SStream_concat0(O, " ..ng");
    return;
    break;
  case 6:
    // COND_BRANCH_F
    SStream_concat0(O, ", F8RC:");
    printOperand(MI, 1, O);
    SStream_concat0(O, ", bb:");
    printOperandAddr(MI, Address, 2, O);
    return;
    break;
  case 7:
    // COND_BRANCH_I
    SStream_concat0(O, ", GPRC:");
    printOperand(MI, 1, O);
    SStream_concat0(O, ", bb:");
    printOperandAddr(MI, Address, 2, O);
    return;
    break;
  case 8:
    // ECB, FETCH, FETCH_M, WH64, WH64EN
    SStream_concat1(O, ')');
    return;
    break;
  case 9:
    // JMP
    SStream_concat0(O, ",0");
    return;
    break;
  case 10:
    // JSR_COROUTINE
    SStream_concat0(O, ",(");
    printOperand(MI, 1, O);
    SStream_concat0(O, "),");
    printOperand(MI, 2, O);
    return;
    break;
  case 11:
    // LDAHg, LDAg
    SStream_concat0(O, ",0(");
    printOperand(MI, 2, O);
    SStream_concat0(O, ")\t\t!gpdisp!");
    printOperand(MI, 3, O);
    return;
    break;
  case 12:
    // STB, STQ_U
    SStream_concat0(O, ", ");
    printOperand(MI, 1, O);
    SStream_concat1(O, '(');
    printOperand(MI, 2, O);
    SStream_concat1(O, ')');
    return;
    break;
  }


  // Fragment 2 encoded into 2 bits for 4 unique commands.
  switch ((uint32_t)((Bits >> 18) & 3)) {
  default: assert(0 && "Invalid command number.");
  case 0:
    // ADDLi, ADDLr, ADDQi, ADDQr, ADDS, ADDT, ANDi, ANDr, BICi, BICr, BISi, ...
    printOperand(MI, 2, O);
    break;
  case 1:
    // BEQ, BGE, BGT, BLBC, BLBS, BLE, BLT, BNE, FBEQ, FBGE, FBGT, FBLE, FBLT...
    printOperandAddr(MI, Address, 1, O);
    return;
    break;
  case 2:
    // CTLZ, CTPOP, CTTZ, CVTQS, CVTQT, CVTST, CVTTQ, CVTTS, FTOIS, FTOIT, IT...
    printOperand(MI, 0, O);
    return;
    break;
  case 3:
    // LDA, LDAH, LDAHr, LDAr, LDBU, LDBUr, LDL, LDL_L, LDLr, LDQ, LDQ_L, LDQ...
    printOperand(MI, 1, O);
    SStream_concat1(O, '(');
    printOperand(MI, 2, O);
    break;
  }


  // Fragment 3 encoded into 3 bits for 6 unique commands.
  switch ((uint32_t)((Bits >> 20) & 7)) {
  default: assert(0 && "Invalid command number.");
  case 0:
    // ADDLi, ADDLr, ADDQi, ADDQr, ADDS, ADDT, ANDi, ANDr, BICi, BICr, BISi, ...
    SStream_concat1(O, ',');
    printOperand(MI, 0, O);
    return;
    break;
  case 1:
    // LDA, LDAH, LDBU, LDL, LDL_L, LDQ, LDQ_L, LDQ_U, LDS, LDT, LDWU, STL, S...
    SStream_concat1(O, ')');
    return;
    break;
  case 2:
    // LDAHr
    SStream_concat0(O, ")\t\t!gprelhigh");
    return;
    break;
  case 3:
    // LDAr, LDBUr, LDLr, LDQr, LDSr, LDTr, LDWUr, STBr, STLr, STQr, STSr, ST...
    SStream_concat0(O, ")\t\t!gprellow");
    return;
    break;
  case 4:
    // LDQl
    SStream_concat0(O, ")\t\t!literal");
    return;
    break;
  case 5:
    // STL_C, STQ_C
    SStream_concat1(O, '(');
    printOperand(MI, 3, O);
    SStream_concat1(O, ')');
    return;
    break;
  }

}


/// getRegisterName - This method is automatically generated by tblgen
/// from the register set description.  This returns the assembler name
/// for the specified register.
static const char *getRegisterName(unsigned RegNo) {
#ifndef CAPSTONE_DIET
  assert(RegNo && RegNo < 65 && "Invalid register number!");

  static const char AsmStrs[] = {
  /* 0 */ "$0\0"
  /* 3 */ "$10\0"
  /* 7 */ "$f10\0"
  /* 12 */ "$20\0"
  /* 16 */ "$f20\0"
  /* 21 */ "$30\0"
  /* 25 */ "$f30\0"
  /* 30 */ "$f0\0"
  /* 34 */ "$1\0"
  /* 37 */ "$11\0"
  /* 41 */ "$f11\0"
  /* 46 */ "$21\0"
  /* 50 */ "$f21\0"
  /* 55 */ "$31\0"
  /* 59 */ "$f31\0"
  /* 64 */ "$f1\0"
  /* 68 */ "$2\0"
  /* 71 */ "$12\0"
  /* 75 */ "$f12\0"
  /* 80 */ "$22\0"
  /* 84 */ "$f22\0"
  /* 89 */ "$f2\0"
  /* 93 */ "$3\0"
  /* 96 */ "$13\0"
  /* 100 */ "$f13\0"
  /* 105 */ "$23\0"
  /* 109 */ "$f23\0"
  /* 114 */ "$f3\0"
  /* 118 */ "$4\0"
  /* 121 */ "$14\0"
  /* 125 */ "$f14\0"
  /* 130 */ "$24\0"
  /* 134 */ "$f24\0"
  /* 139 */ "$f4\0"
  /* 143 */ "$5\0"
  /* 146 */ "$15\0"
  /* 150 */ "$f15\0"
  /* 155 */ "$25\0"
  /* 159 */ "$f25\0"
  /* 164 */ "$f5\0"
  /* 168 */ "$6\0"
  /* 171 */ "$16\0"
  /* 175 */ "$f16\0"
  /* 180 */ "$26\0"
  /* 184 */ "$f26\0"
  /* 189 */ "$f6\0"
  /* 193 */ "$7\0"
  /* 196 */ "$17\0"
  /* 200 */ "$f17\0"
  /* 205 */ "$27\0"
  /* 209 */ "$f27\0"
  /* 214 */ "$f7\0"
  /* 218 */ "$8\0"
  /* 221 */ "$18\0"
  /* 225 */ "$f18\0"
  /* 230 */ "$28\0"
  /* 234 */ "$f28\0"
  /* 239 */ "$f8\0"
  /* 243 */ "$9\0"
  /* 246 */ "$19\0"
  /* 250 */ "$f19\0"
  /* 255 */ "$29\0"
  /* 259 */ "$f29\0"
  /* 264 */ "$f9\0"
};
  static const uint16_t RegAsmOffset[] = {
    30, 64, 89, 114, 139, 164, 189, 214, 239, 264, 7, 41, 75, 100, 
    125, 150, 175, 200, 225, 250, 16, 50, 84, 109, 134, 159, 184, 209, 
    234, 259, 25, 59, 0, 34, 68, 93, 118, 143, 168, 193, 218, 243, 
    3, 37, 71, 96, 121, 146, 171, 196, 221, 246, 12, 46, 80, 105, 
    130, 155, 180, 205, 230, 255, 21, 55, 
  };

  assert (*(AsmStrs+RegAsmOffset[RegNo-1]) &&
          "Invalid alt name index for register!");
  return AsmStrs+RegAsmOffset[RegNo-1];
#else
  return NULL;
#endif // CAPSTONE_DIET
}
#ifdef PRINT_ALIAS_INSTR
#undef PRINT_ALIAS_INSTR

static bool printAliasInstr(MCInst *MI, uint64_t Address, SStream *OS) {
  return false;
}

#endif // PRINT_ALIAS_INSTR
