/*===- TableGen'erated file -------------------------------------*- C++ -*-===*\
|*                                                                            *|
|* Machine Code Emitter                                                       *|
|*                                                                            *|
|* Automatically generated file, do not edit!                                 *|
|*                                                                            *|
\*===----------------------------------------------------------------------===*/

uint64_t PPCMCCodeEmitter::getBinaryCodeForInstr(const MCInst &MI,
    SmallVectorImpl<MCFixup> &Fixups,
    const MCSubtargetInfo &STI) const {
  static const uint64_t InstBits[] = {
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(0),
    UINT64_C(2080375316),	// ADD4
    UINT64_C(2080376340),	// ADD4O
    UINT64_C(2080376341),	// ADD4O_rec
    UINT64_C(2080375316),	// ADD4TLS
    UINT64_C(2080375317),	// ADD4_rec
    UINT64_C(2080375316),	// ADD8
    UINT64_C(2080376340),	// ADD8O
    UINT64_C(2080376341),	// ADD8O_rec
    UINT64_C(2080375316),	// ADD8TLS
    UINT64_C(2080375316),	// ADD8TLS_
    UINT64_C(2080375317),	// ADD8_rec
    UINT64_C(2080374804),	// ADDC
    UINT64_C(2080374804),	// ADDC8
    UINT64_C(2080375828),	// ADDC8O
    UINT64_C(2080375829),	// ADDC8O_rec
    UINT64_C(2080374805),	// ADDC8_rec
    UINT64_C(2080375828),	// ADDCO
    UINT64_C(2080375829),	// ADDCO_rec
    UINT64_C(2080374805),	// ADDC_rec
    UINT64_C(2080375060),	// ADDE
    UINT64_C(2080375060),	// ADDE8
    UINT64_C(2080376084),	// ADDE8O
    UINT64_C(2080376085),	// ADDE8O_rec
    UINT64_C(2080375061),	// ADDE8_rec
    UINT64_C(2080376084),	// ADDEO
    UINT64_C(2080376085),	// ADDEO_rec
    UINT64_C(2080375124),	// ADDEX
    UINT64_C(2080375124),	// ADDEX8
    UINT64_C(2080375061),	// ADDE_rec
    UINT64_C(939524096),	// ADDI
    UINT64_C(939524096),	// ADDI8
    UINT64_C(805306368),	// ADDIC
    UINT64_C(805306368),	// ADDIC8
    UINT64_C(872415232),	// ADDIC_rec
    UINT64_C(1006632960),	// ADDIS
    UINT64_C(1006632960),	// ADDIS8
    UINT64_C(0),	// ADDISdtprelHA
    UINT64_C(0),	// ADDISdtprelHA32
    UINT64_C(0),	// ADDISgotTprelHA
    UINT64_C(0),	// ADDIStlsgdHA
    UINT64_C(0),	// ADDIStlsldHA
    UINT64_C(0),	// ADDIStocHA
    UINT64_C(0),	// ADDIStocHA8
    UINT64_C(0),	// ADDIdtprelL
    UINT64_C(0),	// ADDIdtprelL32
    UINT64_C(0),	// ADDItlsgdL
    UINT64_C(0),	// ADDItlsgdL32
    UINT64_C(0),	// ADDItlsgdLADDR
    UINT64_C(0),	// ADDItlsgdLADDR32
    UINT64_C(0),	// ADDItlsldL
    UINT64_C(0),	// ADDItlsldL32
    UINT64_C(0),	// ADDItlsldLADDR
    UINT64_C(0),	// ADDItlsldLADDR32
    UINT64_C(0),	// ADDItoc
    UINT64_C(0),	// ADDItoc8
    UINT64_C(0),	// ADDItocL
    UINT64_C(2080375252),	// ADDME
    UINT64_C(2080375252),	// ADDME8
    UINT64_C(2080376276),	// ADDME8O
    UINT64_C(2080376277),	// ADDME8O_rec
    UINT64_C(2080375253),	// ADDME8_rec
    UINT64_C(2080376276),	// ADDMEO
    UINT64_C(2080376277),	// ADDMEO_rec
    UINT64_C(2080375253),	// ADDME_rec
    UINT64_C(1275068420),	// ADDPCIS
    UINT64_C(2080375188),	// ADDZE
    UINT64_C(2080375188),	// ADDZE8
    UINT64_C(2080376212),	// ADDZE8O
    UINT64_C(2080376213),	// ADDZE8O_rec
    UINT64_C(2080375189),	// ADDZE8_rec
    UINT64_C(2080376212),	// ADDZEO
    UINT64_C(2080376213),	// ADDZEO_rec
    UINT64_C(2080375189),	// ADDZE_rec
    UINT64_C(0),	// ADJCALLSTACKDOWN
    UINT64_C(0),	// ADJCALLSTACKUP
    UINT64_C(2080374840),	// AND
    UINT64_C(2080374840),	// AND8
    UINT64_C(2080374841),	// AND8_rec
    UINT64_C(2080374904),	// ANDC
    UINT64_C(2080374904),	// ANDC8
    UINT64_C(2080374905),	// ANDC8_rec
    UINT64_C(2080374905),	// ANDC_rec
    UINT64_C(1879048192),	// ANDI8_rec
    UINT64_C(1946157056),	// ANDIS8_rec
    UINT64_C(1946157056),	// ANDIS_rec
    UINT64_C(1879048192),	// ANDI_rec
    UINT64_C(0),	// ANDI_rec_1_EQ_BIT
    UINT64_C(0),	// ANDI_rec_1_EQ_BIT8
    UINT64_C(0),	// ANDI_rec_1_GT_BIT
    UINT64_C(0),	// ANDI_rec_1_GT_BIT8
    UINT64_C(2080374841),	// AND_rec
    UINT64_C(0),	// ATOMIC_CMP_SWAP_I16
    UINT64_C(0),	// ATOMIC_CMP_SWAP_I32
    UINT64_C(0),	// ATOMIC_CMP_SWAP_I64
    UINT64_C(0),	// ATOMIC_CMP_SWAP_I8
    UINT64_C(0),	// ATOMIC_LOAD_ADD_I16
    UINT64_C(0),	// ATOMIC_LOAD_ADD_I32
    UINT64_C(0),	// ATOMIC_LOAD_ADD_I64
    UINT64_C(0),	// ATOMIC_LOAD_ADD_I8
    UINT64_C(0),	// ATOMIC_LOAD_AND_I16
    UINT64_C(0),	// ATOMIC_LOAD_AND_I32
    UINT64_C(0),	// ATOMIC_LOAD_AND_I64
    UINT64_C(0),	// ATOMIC_LOAD_AND_I8
    UINT64_C(0),	// ATOMIC_LOAD_MAX_I16
    UINT64_C(0),	// ATOMIC_LOAD_MAX_I32
    UINT64_C(0),	// ATOMIC_LOAD_MAX_I64
    UINT64_C(0),	// ATOMIC_LOAD_MAX_I8
    UINT64_C(0),	// ATOMIC_LOAD_MIN_I16
    UINT64_C(0),	// ATOMIC_LOAD_MIN_I32
    UINT64_C(0),	// ATOMIC_LOAD_MIN_I64
    UINT64_C(0),	// ATOMIC_LOAD_MIN_I8
    UINT64_C(0),	// ATOMIC_LOAD_NAND_I16
    UINT64_C(0),	// ATOMIC_LOAD_NAND_I32
    UINT64_C(0),	// ATOMIC_LOAD_NAND_I64
    UINT64_C(0),	// ATOMIC_LOAD_NAND_I8
    UINT64_C(0),	// ATOMIC_LOAD_OR_I16
    UINT64_C(0),	// ATOMIC_LOAD_OR_I32
    UINT64_C(0),	// ATOMIC_LOAD_OR_I64
    UINT64_C(0),	// ATOMIC_LOAD_OR_I8
    UINT64_C(0),	// ATOMIC_LOAD_SUB_I16
    UINT64_C(0),	// ATOMIC_LOAD_SUB_I32
    UINT64_C(0),	// ATOMIC_LOAD_SUB_I64
    UINT64_C(0),	// ATOMIC_LOAD_SUB_I8
    UINT64_C(0),	// ATOMIC_LOAD_UMAX_I16
    UINT64_C(0),	// ATOMIC_LOAD_UMAX_I32
    UINT64_C(0),	// ATOMIC_LOAD_UMAX_I64
    UINT64_C(0),	// ATOMIC_LOAD_UMAX_I8
    UINT64_C(0),	// ATOMIC_LOAD_UMIN_I16
    UINT64_C(0),	// ATOMIC_LOAD_UMIN_I32
    UINT64_C(0),	// ATOMIC_LOAD_UMIN_I64
    UINT64_C(0),	// ATOMIC_LOAD_UMIN_I8
    UINT64_C(0),	// ATOMIC_LOAD_XOR_I16
    UINT64_C(0),	// ATOMIC_LOAD_XOR_I32
    UINT64_C(0),	// ATOMIC_LOAD_XOR_I64
    UINT64_C(0),	// ATOMIC_LOAD_XOR_I8
    UINT64_C(0),	// ATOMIC_SWAP_I16
    UINT64_C(0),	// ATOMIC_SWAP_I32
    UINT64_C(0),	// ATOMIC_SWAP_I64
    UINT64_C(0),	// ATOMIC_SWAP_I8
    UINT64_C(512),	// ATTN
    UINT64_C(1207959552),	// B
    UINT64_C(1207959554),	// BA
    UINT64_C(1098907648),	// BC
    UINT64_C(1073741824),	// BCC
    UINT64_C(1073741826),	// BCCA
    UINT64_C(1275069472),	// BCCCTR
    UINT64_C(1275069472),	// BCCCTR8
    UINT64_C(1275069473),	// BCCCTRL
    UINT64_C(1275069473),	// BCCCTRL8
    UINT64_C(1073741825),	// BCCL
    UINT64_C(1073741827),	// BCCLA
    UINT64_C(1275068448),	// BCCLR
    UINT64_C(1275068449),	// BCCLRL
    UINT64_C(1300235296),	// BCCTR
    UINT64_C(1300235296),	// BCCTR8
    UINT64_C(1283458080),	// BCCTR8n
    UINT64_C(1300235297),	// BCCTRL
    UINT64_C(1300235297),	// BCCTRL8
    UINT64_C(1283458081),	// BCCTRL8n
    UINT64_C(1283458081),	// BCCTRLn
    UINT64_C(1283458080),	// BCCTRn
    UINT64_C(268436481),	// BCDADD_rec
    UINT64_C(268895617),	// BCDCFN_rec
    UINT64_C(268567937),	// BCDCFSQ_rec
    UINT64_C(268830081),	// BCDCFZ_rec
    UINT64_C(268436289),	// BCDCPSGN_rec
    UINT64_C(268764545),	// BCDCTN_rec
    UINT64_C(268436865),	// BCDCTSQ_rec
    UINT64_C(268699009),	// BCDCTZ_rec
    UINT64_C(270468481),	// BCDSETSGN_rec
    UINT64_C(268436929),	// BCDSR_rec
    UINT64_C(268436545),	// BCDSUB_rec
    UINT64_C(268436673),	// BCDS_rec
    UINT64_C(268436737),	// BCDTRUNC_rec
    UINT64_C(268436609),	// BCDUS_rec
    UINT64_C(268436801),	// BCDUTRUNC_rec
    UINT64_C(1098907649),	// BCL
    UINT64_C(1300234272),	// BCLR
    UINT64_C(1300234273),	// BCLRL
    UINT64_C(1283457057),	// BCLRLn
    UINT64_C(1283457056),	// BCLRn
    UINT64_C(1117716481),	// BCLalways
    UINT64_C(1082130433),	// BCLn
    UINT64_C(1317012512),	// BCTR
    UINT64_C(1317012512),	// BCTR8
    UINT64_C(1317012513),	// BCTRL
    UINT64_C(1317012513),	// BCTRL8
    UINT64_C(5656525675654283264),	// BCTRL8_LDinto_toc
    UINT64_C(5656525675654283264),	// BCTRL8_LDinto_toc_RM
    UINT64_C(1317012513),	// BCTRL8_RM
    UINT64_C(5656525673909452800),	// BCTRL_LWZinto_toc
    UINT64_C(5656525673909452800),	// BCTRL_LWZinto_toc_RM
    UINT64_C(1317012513),	// BCTRL_RM
    UINT64_C(1082130432),	// BCn
    UINT64_C(1107296256),	// BDNZ
    UINT64_C(1107296256),	// BDNZ8
    UINT64_C(1107296258),	// BDNZA
    UINT64_C(1124073474),	// BDNZAm
    UINT64_C(1126170626),	// BDNZAp
    UINT64_C(1107296257),	// BDNZL
    UINT64_C(1107296259),	// BDNZLA
    UINT64_C(1124073475),	// BDNZLAm
    UINT64_C(1126170627),	// BDNZLAp
    UINT64_C(1308622880),	// BDNZLR
    UINT64_C(1308622880),	// BDNZLR8
    UINT64_C(1308622881),	// BDNZLRL
    UINT64_C(1325400097),	// BDNZLRLm
    UINT64_C(1327497249),	// BDNZLRLp
    UINT64_C(1325400096),	// BDNZLRm
    UINT64_C(1327497248),	// BDNZLRp
    UINT64_C(1124073473),	// BDNZLm
    UINT64_C(1126170625),	// BDNZLp
    UINT64_C(1124073472),	// BDNZm
    UINT64_C(1126170624),	// BDNZp
    UINT64_C(1111490560),	// BDZ
    UINT64_C(1111490560),	// BDZ8
    UINT64_C(1111490562),	// BDZA
    UINT64_C(1128267778),	// BDZAm
    UINT64_C(1130364930),	// BDZAp
    UINT64_C(1111490561),	// BDZL
    UINT64_C(1111490563),	// BDZLA
    UINT64_C(1128267779),	// BDZLAm
    UINT64_C(1130364931),	// BDZLAp
    UINT64_C(1312817184),	// BDZLR
    UINT64_C(1312817184),	// BDZLR8
    UINT64_C(1312817185),	// BDZLRL
    UINT64_C(1329594401),	// BDZLRLm
    UINT64_C(1331691553),	// BDZLRLp
    UINT64_C(1329594400),	// BDZLRm
    UINT64_C(1331691552),	// BDZLRp
    UINT64_C(1128267777),	// BDZLm
    UINT64_C(1130364929),	// BDZLp
    UINT64_C(1128267776),	// BDZm
    UINT64_C(1130364928),	// BDZp
    UINT64_C(1207959553),	// BL
    UINT64_C(1207959553),	// BL8
    UINT64_C(5188146776636391424),	// BL8_NOP
    UINT64_C(5188146776636391424),	// BL8_NOP_RM
    UINT64_C(5188146776636391424),	// BL8_NOP_TLS
    UINT64_C(1207959553),	// BL8_NOTOC
    UINT64_C(1207959553),	// BL8_NOTOC_RM
    UINT64_C(1207959553),	// BL8_NOTOC_TLS
    UINT64_C(1207959553),	// BL8_RM
    UINT64_C(1207959553),	// BL8_TLS
    UINT64_C(1207959553),	// BL8_TLS_
    UINT64_C(1207959555),	// BLA
    UINT64_C(1207959555),	// BLA8
    UINT64_C(5188146785226326016),	// BLA8_NOP
    UINT64_C(5188146785226326016),	// BLA8_NOP_RM
    UINT64_C(1207959555),	// BLA8_RM
    UINT64_C(1207959555),	// BLA_RM
    UINT64_C(1317011488),	// BLR
    UINT64_C(1317011488),	// BLR8
    UINT64_C(1317011489),	// BLRL
    UINT64_C(5188146776636391424),	// BL_NOP
    UINT64_C(5188146776636391424),	// BL_NOP_RM
    UINT64_C(1207959553),	// BL_RM
    UINT64_C(1207959553),	// BL_TLS
    UINT64_C(2080375288),	// BPERMD
    UINT64_C(2080375158),	// BRD
    UINT64_C(2080375222),	// BRH
    UINT64_C(2080375222),	// BRH8
    UINT64_C(268435983),	// BRINC
    UINT64_C(2080375094),	// BRW
    UINT64_C(2080375094),	// BRW8
    UINT64_C(2080375224),	// CFUGED
    UINT64_C(2080375644),	// CLRBHRB
    UINT64_C(2080375800),	// CMPB
    UINT64_C(2080375800),	// CMPB8
    UINT64_C(2082471936),	// CMPD
    UINT64_C(740294656),	// CMPDI
    UINT64_C(2080375232),	// CMPEQB
    UINT64_C(2082472000),	// CMPLD
    UINT64_C(673185792),	// CMPLDI
    UINT64_C(2080374848),	// CMPLW
    UINT64_C(671088640),	// CMPLWI
    UINT64_C(2080375168),	// CMPRB
    UINT64_C(2080375168),	// CMPRB8
    UINT64_C(2080374784),	// CMPW
    UINT64_C(738197504),	// CMPWI
    UINT64_C(2080374900),	// CNTLZD
    UINT64_C(2080374902),	// CNTLZDM
    UINT64_C(2080374901),	// CNTLZD_rec
    UINT64_C(2080374836),	// CNTLZW
    UINT64_C(2080374836),	// CNTLZW8
    UINT64_C(2080374837),	// CNTLZW8_rec
    UINT64_C(2080374837),	// CNTLZW_rec
    UINT64_C(2080375924),	// CNTTZD
    UINT64_C(2080375926),	// CNTTZDM
    UINT64_C(2080375925),	// CNTTZD_rec
    UINT64_C(2080375860),	// CNTTZW
    UINT64_C(2080375860),	// CNTTZW8
    UINT64_C(2080375861),	// CNTTZW8_rec
    UINT64_C(2080375861),	// CNTTZW_rec
    UINT64_C(2080376460),	// CP_ABORT
    UINT64_C(2082473484),	// CP_COPY
    UINT64_C(2082473484),	// CP_COPY8
    UINT64_C(2080376589),	// CP_PASTE8_rec
    UINT64_C(2080376589),	// CP_PASTE_rec
    UINT64_C(1288057410),	// CR6SET
    UINT64_C(1288057218),	// CR6UNSET
    UINT64_C(1275068930),	// CRAND
    UINT64_C(1275068674),	// CRANDC
    UINT64_C(1275068994),	// CREQV
    UINT64_C(1275068866),	// CRNAND
    UINT64_C(1275068482),	// CRNOR
    UINT64_C(1275068482),	// CRNOT
    UINT64_C(1275069314),	// CROR
    UINT64_C(1275069250),	// CRORC
    UINT64_C(1275068994),	// CRSET
    UINT64_C(1275068802),	// CRUNSET
    UINT64_C(1275068802),	// CRXOR
    UINT64_C(1073741824),	// CTRL_DEP
    UINT64_C(2080376294),	// DARN
    UINT64_C(2080376300),	// DCBA
    UINT64_C(2080374956),	// DCBF
    UINT64_C(2080375038),	// DCBFEP
    UINT64_C(2080375724),	// DCBI
    UINT64_C(2080374892),	// DCBST
    UINT64_C(2080374910),	// DCBSTEP
    UINT64_C(2080375340),	// DCBT
    UINT64_C(2080375422),	// DCBTEP
    UINT64_C(2080375276),	// DCBTST
    UINT64_C(2080375294),	// DCBTSTEP
    UINT64_C(2080376812),	// DCBZ
    UINT64_C(2080376830),	// DCBZEP
    UINT64_C(2082473964),	// DCBZL
    UINT64_C(2082473982),	// DCBZLEP
    UINT64_C(2080375692),	// DCCCI
    UINT64_C(2080375762),	// DIVD
    UINT64_C(2080375634),	// DIVDE
    UINT64_C(2080376658),	// DIVDEO
    UINT64_C(2080376659),	// DIVDEO_rec
    UINT64_C(2080375570),	// DIVDEU
    UINT64_C(2080376594),	// DIVDEUO
    UINT64_C(2080376595),	// DIVDEUO_rec
    UINT64_C(2080375571),	// DIVDEU_rec
    UINT64_C(2080375635),	// DIVDE_rec
    UINT64_C(2080376786),	// DIVDO
    UINT64_C(2080376787),	// DIVDO_rec
    UINT64_C(2080375698),	// DIVDU
    UINT64_C(2080376722),	// DIVDUO
    UINT64_C(2080376723),	// DIVDUO_rec
    UINT64_C(2080375699),	// DIVDU_rec
    UINT64_C(2080375763),	// DIVD_rec
    UINT64_C(2080375766),	// DIVW
    UINT64_C(2080375638),	// DIVWE
    UINT64_C(2080376662),	// DIVWEO
    UINT64_C(2080376663),	// DIVWEO_rec
    UINT64_C(2080375574),	// DIVWEU
    UINT64_C(2080376598),	// DIVWEUO
    UINT64_C(2080376599),	// DIVWEUO_rec
    UINT64_C(2080375575),	// DIVWEU_rec
    UINT64_C(2080375639),	// DIVWE_rec
    UINT64_C(2080376790),	// DIVWO
    UINT64_C(2080376791),	// DIVWO_rec
    UINT64_C(2080375702),	// DIVWU
    UINT64_C(2080376726),	// DIVWUO
    UINT64_C(2080376727),	// DIVWUO_rec
    UINT64_C(2080375703),	// DIVWU_rec
    UINT64_C(2080375767),	// DIVW_rec
    UINT64_C(2080768354),	// DMMR
    UINT64_C(2080506210),	// DMSETDMRZ
    UINT64_C(2080833890),	// DMXOR
    UINT64_C(4026533776),	// DMXXEXTFDMR256
    UINT64_C(4026533648),	// DMXXEXTFDMR512
    UINT64_C(4026599184),	// DMXXEXTFDMR512_HI
    UINT64_C(4026533780),	// DMXXINSTFDMR256
    UINT64_C(4026533712),	// DMXXINSTFDMR512
    UINT64_C(4026599248),	// DMXXINSTFDMR512_HI
    UINT64_C(2080376428),	// DSS
    UINT64_C(2113930860),	// DSSALL
    UINT64_C(2080375468),	// DST
    UINT64_C(2080375468),	// DST64
    UINT64_C(2080375532),	// DSTST
    UINT64_C(2080375532),	// DSTST64
    UINT64_C(2113929964),	// DSTSTT
    UINT64_C(2113929964),	// DSTSTT64
    UINT64_C(2113929900),	// DSTT
    UINT64_C(2113929900),	// DSTT64
    UINT64_C(0),	// DYNALLOC
    UINT64_C(0),	// DYNALLOC8
    UINT64_C(0),	// DYNAREAOFFSET
    UINT64_C(0),	// DYNAREAOFFSET8
    UINT64_C(0),	// DecreaseCTR8loop
    UINT64_C(0),	// DecreaseCTRloop
    UINT64_C(268436196),	// EFDABS
    UINT64_C(268436192),	// EFDADD
    UINT64_C(268436207),	// EFDCFS
    UINT64_C(268436211),	// EFDCFSF
    UINT64_C(268436209),	// EFDCFSI
    UINT64_C(268436195),	// EFDCFSID
    UINT64_C(268436210),	// EFDCFUF
    UINT64_C(268436208),	// EFDCFUI
    UINT64_C(268436194),	// EFDCFUID
    UINT64_C(268436206),	// EFDCMPEQ
    UINT64_C(268436204),	// EFDCMPGT
    UINT64_C(268436205),	// EFDCMPLT
    UINT64_C(268436215),	// EFDCTSF
    UINT64_C(268436213),	// EFDCTSI
    UINT64_C(268436203),	// EFDCTSIDZ
    UINT64_C(268436218),	// EFDCTSIZ
    UINT64_C(268436214),	// EFDCTUF
    UINT64_C(268436212),	// EFDCTUI
    UINT64_C(268436202),	// EFDCTUIDZ
    UINT64_C(268436216),	// EFDCTUIZ
    UINT64_C(268436201),	// EFDDIV
    UINT64_C(268436200),	// EFDMUL
    UINT64_C(268436197),	// EFDNABS
    UINT64_C(268436198),	// EFDNEG
    UINT64_C(268436193),	// EFDSUB
    UINT64_C(268436222),	// EFDTSTEQ
    UINT64_C(268436220),	// EFDTSTGT
    UINT64_C(268436221),	// EFDTSTLT
    UINT64_C(268436164),	// EFSABS
    UINT64_C(268436160),	// EFSADD
    UINT64_C(268436175),	// EFSCFD
    UINT64_C(268436179),	// EFSCFSF
    UINT64_C(268436177),	// EFSCFSI
    UINT64_C(268436178),	// EFSCFUF
    UINT64_C(268436176),	// EFSCFUI
    UINT64_C(268436174),	// EFSCMPEQ
    UINT64_C(268436172),	// EFSCMPGT
    UINT64_C(268436173),	// EFSCMPLT
    UINT64_C(268436183),	// EFSCTSF
    UINT64_C(268436181),	// EFSCTSI
    UINT64_C(268436186),	// EFSCTSIZ
    UINT64_C(268436182),	// EFSCTUF
    UINT64_C(268436180),	// EFSCTUI
    UINT64_C(268436184),	// EFSCTUIZ
    UINT64_C(268436169),	// EFSDIV
    UINT64_C(268436168),	// EFSMUL
    UINT64_C(268436165),	// EFSNABS
    UINT64_C(268436166),	// EFSNEG
    UINT64_C(268436161),	// EFSSUB
    UINT64_C(268436190),	// EFSTSTEQ
    UINT64_C(268436188),	// EFSTSTGT
    UINT64_C(268436189),	// EFSTSTLT
    UINT64_C(0),	// EH_SjLj_LongJmp32
    UINT64_C(0),	// EH_SjLj_LongJmp64
    UINT64_C(0),	// EH_SjLj_SetJmp32
    UINT64_C(0),	// EH_SjLj_SetJmp64
    UINT64_C(0),	// EH_SjLj_Setup
    UINT64_C(2080375352),	// EQV
    UINT64_C(2080375352),	// EQV8
    UINT64_C(2080375353),	// EQV8_rec
    UINT64_C(2080375353),	// EQV_rec
    UINT64_C(268435976),	// EVABS
    UINT64_C(268435970),	// EVADDIW
    UINT64_C(268436681),	// EVADDSMIAAW
    UINT64_C(268436673),	// EVADDSSIAAW
    UINT64_C(268436680),	// EVADDUMIAAW
    UINT64_C(268436672),	// EVADDUSIAAW
    UINT64_C(268435968),	// EVADDW
    UINT64_C(268435985),	// EVAND
    UINT64_C(268435986),	// EVANDC
    UINT64_C(268436020),	// EVCMPEQ
    UINT64_C(268436017),	// EVCMPGTS
    UINT64_C(268436016),	// EVCMPGTU
    UINT64_C(268436019),	// EVCMPLTS
    UINT64_C(268436018),	// EVCMPLTU
    UINT64_C(268435982),	// EVCNTLSW
    UINT64_C(268435981),	// EVCNTLZW
    UINT64_C(268436678),	// EVDIVWS
    UINT64_C(268436679),	// EVDIVWU
    UINT64_C(268435993),	// EVEQV
    UINT64_C(268435978),	// EVEXTSB
    UINT64_C(268435979),	// EVEXTSH
    UINT64_C(268436100),	// EVFSABS
    UINT64_C(268436096),	// EVFSADD
    UINT64_C(268436115),	// EVFSCFSF
    UINT64_C(268436113),	// EVFSCFSI
    UINT64_C(268436114),	// EVFSCFUF
    UINT64_C(268436106),	// EVFSCFUI
    UINT64_C(268436110),	// EVFSCMPEQ
    UINT64_C(268436108),	// EVFSCMPGT
    UINT64_C(268436109),	// EVFSCMPLT
    UINT64_C(268436119),	// EVFSCTSF
    UINT64_C(268436117),	// EVFSCTSI
    UINT64_C(268436122),	// EVFSCTSIZ
    UINT64_C(268436118),	// EVFSCTUF
    UINT64_C(268436116),	// EVFSCTUI
    UINT64_C(268436120),	// EVFSCTUIZ
    UINT64_C(268436105),	// EVFSDIV
    UINT64_C(268436104),	// EVFSMUL
    UINT64_C(268436101),	// EVFSNABS
    UINT64_C(268436102),	// EVFSNEG
    UINT64_C(268436097),	// EVFSSUB
    UINT64_C(268436126),	// EVFSTSTEQ
    UINT64_C(268436124),	// EVFSTSTGT
    UINT64_C(268436125),	// EVFSTSTLT
    UINT64_C(268436225),	// EVLDD
    UINT64_C(268436224),	// EVLDDX
    UINT64_C(268436229),	// EVLDH
    UINT64_C(268436228),	// EVLDHX
    UINT64_C(268436227),	// EVLDW
    UINT64_C(268436226),	// EVLDWX
    UINT64_C(268436233),	// EVLHHESPLAT
    UINT64_C(268436232),	// EVLHHESPLATX
    UINT64_C(268436239),	// EVLHHOSSPLAT
    UINT64_C(268436238),	// EVLHHOSSPLATX
    UINT64_C(268436237),	// EVLHHOUSPLAT
    UINT64_C(268436236),	// EVLHHOUSPLATX
    UINT64_C(268436241),	// EVLWHE
    UINT64_C(268436240),	// EVLWHEX
    UINT64_C(268436247),	// EVLWHOS
    UINT64_C(268436246),	// EVLWHOSX
    UINT64_C(268436245),	// EVLWHOU
    UINT64_C(268436244),	// EVLWHOUX
    UINT64_C(268436253),	// EVLWHSPLAT
    UINT64_C(268436252),	// EVLWHSPLATX
    UINT64_C(268436249),	// EVLWWSPLAT
    UINT64_C(268436248),	// EVLWWSPLATX
    UINT64_C(268436012),	// EVMERGEHI
    UINT64_C(268436014),	// EVMERGEHILO
    UINT64_C(268436013),	// EVMERGELO
    UINT64_C(268436015),	// EVMERGELOHI
    UINT64_C(268436779),	// EVMHEGSMFAA
    UINT64_C(268436907),	// EVMHEGSMFAN
    UINT64_C(268436777),	// EVMHEGSMIAA
    UINT64_C(268436905),	// EVMHEGSMIAN
    UINT64_C(268436776),	// EVMHEGUMIAA
    UINT64_C(268436904),	// EVMHEGUMIAN
    UINT64_C(268436491),	// EVMHESMF
    UINT64_C(268436523),	// EVMHESMFA
    UINT64_C(268436747),	// EVMHESMFAAW
    UINT64_C(268436875),	// EVMHESMFANW
    UINT64_C(268436489),	// EVMHESMI
    UINT64_C(268436521),	// EVMHESMIA
    UINT64_C(268436745),	// EVMHESMIAAW
    UINT64_C(268436873),	// EVMHESMIANW
    UINT64_C(268436483),	// EVMHESSF
    UINT64_C(268436515),	// EVMHESSFA
    UINT64_C(268436739),	// EVMHESSFAAW
    UINT64_C(268436867),	// EVMHESSFANW
    UINT64_C(268436737),	// EVMHESSIAAW
    UINT64_C(268436865),	// EVMHESSIANW
    UINT64_C(268436488),	// EVMHEUMI
    UINT64_C(268436520),	// EVMHEUMIA
    UINT64_C(268436744),	// EVMHEUMIAAW
    UINT64_C(268436872),	// EVMHEUMIANW
    UINT64_C(268436736),	// EVMHEUSIAAW
    UINT64_C(268436864),	// EVMHEUSIANW
    UINT64_C(268436783),	// EVMHOGSMFAA
    UINT64_C(268436911),	// EVMHOGSMFAN
    UINT64_C(268436781),	// EVMHOGSMIAA
    UINT64_C(268436909),	// EVMHOGSMIAN
    UINT64_C(268436780),	// EVMHOGUMIAA
    UINT64_C(268436908),	// EVMHOGUMIAN
    UINT64_C(268436495),	// EVMHOSMF
    UINT64_C(268436527),	// EVMHOSMFA
    UINT64_C(268436751),	// EVMHOSMFAAW
    UINT64_C(268436879),	// EVMHOSMFANW
    UINT64_C(268436493),	// EVMHOSMI
    UINT64_C(268436525),	// EVMHOSMIA
    UINT64_C(268436749),	// EVMHOSMIAAW
    UINT64_C(268436877),	// EVMHOSMIANW
    UINT64_C(268436487),	// EVMHOSSF
    UINT64_C(268436519),	// EVMHOSSFA
    UINT64_C(268436743),	// EVMHOSSFAAW
    UINT64_C(268436871),	// EVMHOSSFANW
    UINT64_C(268436741),	// EVMHOSSIAAW
    UINT64_C(268436869),	// EVMHOSSIANW
    UINT64_C(268436492),	// EVMHOUMI
    UINT64_C(268436524),	// EVMHOUMIA
    UINT64_C(268436748),	// EVMHOUMIAAW
    UINT64_C(268436876),	// EVMHOUMIANW
    UINT64_C(268436740),	// EVMHOUSIAAW
    UINT64_C(268436868),	// EVMHOUSIANW
    UINT64_C(268436676),	// EVMRA
    UINT64_C(268436559),	// EVMWHSMF
    UINT64_C(268436591),	// EVMWHSMFA
    UINT64_C(268436557),	// EVMWHSMI
    UINT64_C(268436589),	// EVMWHSMIA
    UINT64_C(268436551),	// EVMWHSSF
    UINT64_C(268436583),	// EVMWHSSFA
    UINT64_C(268436556),	// EVMWHUMI
    UINT64_C(268436588),	// EVMWHUMIA
    UINT64_C(268436809),	// EVMWLSMIAAW
    UINT64_C(268436937),	// EVMWLSMIANW
    UINT64_C(268436801),	// EVMWLSSIAAW
    UINT64_C(268436929),	// EVMWLSSIANW
    UINT64_C(268436552),	// EVMWLUMI
    UINT64_C(268436584),	// EVMWLUMIA
    UINT64_C(268436808),	// EVMWLUMIAAW
    UINT64_C(268436936),	// EVMWLUMIANW
    UINT64_C(268436800),	// EVMWLUSIAAW
    UINT64_C(268436928),	// EVMWLUSIANW
    UINT64_C(268436571),	// EVMWSMF
    UINT64_C(268436603),	// EVMWSMFA
    UINT64_C(268436827),	// EVMWSMFAA
    UINT64_C(268436955),	// EVMWSMFAN
    UINT64_C(268436569),	// EVMWSMI
    UINT64_C(268436601),	// EVMWSMIA
    UINT64_C(268436825),	// EVMWSMIAA
    UINT64_C(268436953),	// EVMWSMIAN
    UINT64_C(268436563),	// EVMWSSF
    UINT64_C(268436595),	// EVMWSSFA
    UINT64_C(268436819),	// EVMWSSFAA
    UINT64_C(268436947),	// EVMWSSFAN
    UINT64_C(268436568),	// EVMWUMI
    UINT64_C(268436600),	// EVMWUMIA
    UINT64_C(268436824),	// EVMWUMIAA
    UINT64_C(268436952),	// EVMWUMIAN
    UINT64_C(268435998),	// EVNAND
    UINT64_C(268435977),	// EVNEG
    UINT64_C(268435992),	// EVNOR
    UINT64_C(268435991),	// EVOR
    UINT64_C(268435995),	// EVORC
    UINT64_C(268436008),	// EVRLW
    UINT64_C(268436010),	// EVRLWI
    UINT64_C(268435980),	// EVRNDW
    UINT64_C(268436088),	// EVSEL
    UINT64_C(268436004),	// EVSLW
    UINT64_C(268436006),	// EVSLWI
    UINT64_C(268436011),	// EVSPLATFI
    UINT64_C(268436009),	// EVSPLATI
    UINT64_C(268436003),	// EVSRWIS
    UINT64_C(268436002),	// EVSRWIU
    UINT64_C(268436001),	// EVSRWS
    UINT64_C(268436000),	// EVSRWU
    UINT64_C(268436257),	// EVSTDD
    UINT64_C(268436256),	// EVSTDDX
    UINT64_C(268436261),	// EVSTDH
    UINT64_C(268436260),	// EVSTDHX
    UINT64_C(268436259),	// EVSTDW
    UINT64_C(268436258),	// EVSTDWX
    UINT64_C(268436273),	// EVSTWHE
    UINT64_C(268436272),	// EVSTWHEX
    UINT64_C(268436277),	// EVSTWHO
    UINT64_C(268436276),	// EVSTWHOX
    UINT64_C(268436281),	// EVSTWWE
    UINT64_C(268436280),	// EVSTWWEX
    UINT64_C(268436285),	// EVSTWWO
    UINT64_C(268436284),	// EVSTWWOX
    UINT64_C(268436683),	// EVSUBFSMIAAW
    UINT64_C(268436675),	// EVSUBFSSIAAW
    UINT64_C(268436682),	// EVSUBFUMIAAW
    UINT64_C(268436674),	// EVSUBFUSIAAW
    UINT64_C(268435972),	// EVSUBFW
    UINT64_C(268435974),	// EVSUBIFW
    UINT64_C(268435990),	// EVXOR
    UINT64_C(2080376692),	// EXTSB
    UINT64_C(2080376692),	// EXTSB8
    UINT64_C(2080376692),	// EXTSB8_32_64
    UINT64_C(2080376693),	// EXTSB8_rec
    UINT64_C(2080376693),	// EXTSB_rec
    UINT64_C(2080376628),	// EXTSH
    UINT64_C(2080376628),	// EXTSH8
    UINT64_C(2080376628),	// EXTSH8_32_64
    UINT64_C(2080376629),	// EXTSH8_rec
    UINT64_C(2080376629),	// EXTSH_rec
    UINT64_C(2080376756),	// EXTSW
    UINT64_C(2080376564),	// EXTSWSLI
    UINT64_C(2080376564),	// EXTSWSLI_32_64
    UINT64_C(2080376565),	// EXTSWSLI_32_64_rec
    UINT64_C(2080376565),	// EXTSWSLI_rec
    UINT64_C(2080376756),	// EXTSW_32
    UINT64_C(2080376756),	// EXTSW_32_64
    UINT64_C(2080376757),	// EXTSW_32_64_rec
    UINT64_C(2080376757),	// EXTSW_rec
    UINT64_C(2080376492),	// EnforceIEIO
    UINT64_C(4227858960),	// FABSD
    UINT64_C(4227858961),	// FABSD_rec
    UINT64_C(4227858960),	// FABSS
    UINT64_C(4227858961),	// FABSS_rec
    UINT64_C(4227858474),	// FADD
    UINT64_C(3959423018),	// FADDS
    UINT64_C(3959423019),	// FADDS_rec
    UINT64_C(4227858475),	// FADD_rec
    UINT64_C(0),	// FADDrtz
    UINT64_C(4227860124),	// FCFID
    UINT64_C(3959424668),	// FCFIDS
    UINT64_C(3959424669),	// FCFIDS_rec
    UINT64_C(4227860380),	// FCFIDU
    UINT64_C(3959424924),	// FCFIDUS
    UINT64_C(3959424925),	// FCFIDUS_rec
    UINT64_C(4227860381),	// FCFIDU_rec
    UINT64_C(4227860125),	// FCFID_rec
    UINT64_C(4227858496),	// FCMPOD
    UINT64_C(4227858496),	// FCMPOS
    UINT64_C(4227858432),	// FCMPUD
    UINT64_C(4227858432),	// FCMPUS
    UINT64_C(4227858448),	// FCPSGND
    UINT64_C(4227858449),	// FCPSGND_rec
    UINT64_C(4227858448),	// FCPSGNS
    UINT64_C(4227858449),	// FCPSGNS_rec
    UINT64_C(4227860060),	// FCTID
    UINT64_C(4227860316),	// FCTIDU
    UINT64_C(4227860318),	// FCTIDUZ
    UINT64_C(4227860319),	// FCTIDUZ_rec
    UINT64_C(4227860317),	// FCTIDU_rec
    UINT64_C(4227860062),	// FCTIDZ
    UINT64_C(4227860063),	// FCTIDZ_rec
    UINT64_C(4227860061),	// FCTID_rec
    UINT64_C(4227858460),	// FCTIW
    UINT64_C(4227858716),	// FCTIWU
    UINT64_C(4227858718),	// FCTIWUZ
    UINT64_C(4227858719),	// FCTIWUZ_rec
    UINT64_C(4227858717),	// FCTIWU_rec
    UINT64_C(4227858462),	// FCTIWZ
    UINT64_C(4227858463),	// FCTIWZ_rec
    UINT64_C(4227858461),	// FCTIW_rec
    UINT64_C(4227858468),	// FDIV
    UINT64_C(3959423012),	// FDIVS
    UINT64_C(3959423013),	// FDIVS_rec
    UINT64_C(4227858469),	// FDIV_rec
    UINT64_C(4227858490),	// FMADD
    UINT64_C(3959423034),	// FMADDS
    UINT64_C(3959423035),	// FMADDS_rec
    UINT64_C(4227858491),	// FMADD_rec
    UINT64_C(4227858576),	// FMR
    UINT64_C(4227858577),	// FMR_rec
    UINT64_C(4227858488),	// FMSUB
    UINT64_C(3959423032),	// FMSUBS
    UINT64_C(3959423033),	// FMSUBS_rec
    UINT64_C(4227858489),	// FMSUB_rec
    UINT64_C(4227858482),	// FMUL
    UINT64_C(3959423026),	// FMULS
    UINT64_C(3959423027),	// FMULS_rec
    UINT64_C(4227858483),	// FMUL_rec
    UINT64_C(4227858704),	// FNABSD
    UINT64_C(4227858705),	// FNABSD_rec
    UINT64_C(4227858704),	// FNABSS
    UINT64_C(4227858705),	// FNABSS_rec
    UINT64_C(4227858512),	// FNEGD
    UINT64_C(4227858513),	// FNEGD_rec
    UINT64_C(4227858512),	// FNEGS
    UINT64_C(4227858513),	// FNEGS_rec
    UINT64_C(4227858494),	// FNMADD
    UINT64_C(3959423038),	// FNMADDS
    UINT64_C(3959423039),	// FNMADDS_rec
    UINT64_C(4227858495),	// FNMADD_rec
    UINT64_C(4227858492),	// FNMSUB
    UINT64_C(3959423036),	// FNMSUBS
    UINT64_C(3959423037),	// FNMSUBS_rec
    UINT64_C(4227858493),	// FNMSUB_rec
    UINT64_C(4227858480),	// FRE
    UINT64_C(3959423024),	// FRES
    UINT64_C(3959423025),	// FRES_rec
    UINT64_C(4227858481),	// FRE_rec
    UINT64_C(4227859408),	// FRIMD
    UINT64_C(4227859409),	// FRIMD_rec
    UINT64_C(4227859408),	// FRIMS
    UINT64_C(4227859409),	// FRIMS_rec
    UINT64_C(4227859216),	// FRIND
    UINT64_C(4227859217),	// FRIND_rec
    UINT64_C(4227859216),	// FRINS
    UINT64_C(4227859217),	// FRINS_rec
    UINT64_C(4227859344),	// FRIPD
    UINT64_C(4227859345),	// FRIPD_rec
    UINT64_C(4227859344),	// FRIPS
    UINT64_C(4227859345),	// FRIPS_rec
    UINT64_C(4227859280),	// FRIZD
    UINT64_C(4227859281),	// FRIZD_rec
    UINT64_C(4227859280),	// FRIZS
    UINT64_C(4227859281),	// FRIZS_rec
    UINT64_C(4227858456),	// FRSP
    UINT64_C(4227858457),	// FRSP_rec
    UINT64_C(4227858484),	// FRSQRTE
    UINT64_C(3959423028),	// FRSQRTES
    UINT64_C(3959423029),	// FRSQRTES_rec
    UINT64_C(4227858485),	// FRSQRTE_rec
    UINT64_C(4227858478),	// FSELD
    UINT64_C(4227858479),	// FSELD_rec
    UINT64_C(4227858478),	// FSELS
    UINT64_C(4227858479),	// FSELS_rec
    UINT64_C(4227858476),	// FSQRT
    UINT64_C(3959423020),	// FSQRTS
    UINT64_C(3959423021),	// FSQRTS_rec
    UINT64_C(4227858477),	// FSQRT_rec
    UINT64_C(4227858472),	// FSUB
    UINT64_C(3959423016),	// FSUBS
    UINT64_C(3959423017),	// FSUBS_rec
    UINT64_C(4227858473),	// FSUB_rec
    UINT64_C(4227858688),	// FTDIV
    UINT64_C(4227858752),	// FTSQRT
    UINT64_C(0),	// GETtlsADDR
    UINT64_C(0),	// GETtlsADDR32
    UINT64_C(0),	// GETtlsADDR32AIX
    UINT64_C(0),	// GETtlsADDR64AIX
    UINT64_C(0),	// GETtlsADDRPCREL
    UINT64_C(0),	// GETtlsldADDR
    UINT64_C(0),	// GETtlsldADDR32
    UINT64_C(0),	// GETtlsldADDRPCREL
    UINT64_C(2080376292),	// HASHCHK
    UINT64_C(2080376292),	// HASHCHK8
    UINT64_C(2080376164),	// HASHCHKP
    UINT64_C(2080376164),	// HASHCHKP8
    UINT64_C(2080376228),	// HASHST
    UINT64_C(2080376228),	// HASHST8
    UINT64_C(2080376100),	// HASHSTP
    UINT64_C(2080376100),	// HASHSTP8
    UINT64_C(1275068964),	// HRFID
    UINT64_C(2080376748),	// ICBI
    UINT64_C(2080376766),	// ICBIEP
    UINT64_C(2080375244),	// ICBLC
    UINT64_C(2080375180),	// ICBLQ
    UINT64_C(2080374828),	// ICBT
    UINT64_C(2080375756),	// ICBTLS
    UINT64_C(2080376716),	// ICCCI
    UINT64_C(2080374814),	// ISEL
    UINT64_C(2080374814),	// ISEL8
    UINT64_C(1275068716),	// ISYNC
    UINT64_C(939524096),	// LA
    UINT64_C(939524096),	// LA8
    UINT64_C(2080374888),	// LBARX
    UINT64_C(2080374889),	// LBARXL
    UINT64_C(2080374974),	// LBEPX
    UINT64_C(2281701376),	// LBZ
    UINT64_C(2281701376),	// LBZ8
    UINT64_C(2080376490),	// LBZCIX
    UINT64_C(2348810240),	// LBZU
    UINT64_C(2348810240),	// LBZU8
    UINT64_C(2080375022),	// LBZUX
    UINT64_C(2080375022),	// LBZUX8
    UINT64_C(2080374958),	// LBZX
    UINT64_C(2080374958),	// LBZX8
    UINT64_C(2080374958),	// LBZXTLS
    UINT64_C(2080374958),	// LBZXTLS_
    UINT64_C(2080374958),	// LBZXTLS_32
    UINT64_C(3892314112),	// LD
    UINT64_C(2080374952),	// LDARX
    UINT64_C(2080374953),	// LDARXL
    UINT64_C(2080376012),	// LDAT
    UINT64_C(2080375848),	// LDBRX
    UINT64_C(2080376554),	// LDCIX
    UINT64_C(3892314113),	// LDU
    UINT64_C(2080374890),	// LDUX
    UINT64_C(2080374826),	// LDX
    UINT64_C(2080374826),	// LDXTLS
    UINT64_C(2080374826),	// LDXTLS_
    UINT64_C(0),	// LDgotTprelL
    UINT64_C(0),	// LDgotTprelL32
    UINT64_C(0),	// LDtoc
    UINT64_C(0),	// LDtocBA
    UINT64_C(0),	// LDtocCPT
    UINT64_C(0),	// LDtocJTI
    UINT64_C(0),	// LDtocL
    UINT64_C(3355443200),	// LFD
    UINT64_C(2080375998),	// LFDEPX
    UINT64_C(3422552064),	// LFDU
    UINT64_C(2080376046),	// LFDUX
    UINT64_C(2080375982),	// LFDX
    UINT64_C(2080376494),	// LFIWAX
    UINT64_C(2080376558),	// LFIWZX
    UINT64_C(3221225472),	// LFS
    UINT64_C(3288334336),	// LFSU
    UINT64_C(2080375918),	// LFSUX
    UINT64_C(2080375854),	// LFSX
    UINT64_C(2818572288),	// LHA
    UINT64_C(2818572288),	// LHA8
    UINT64_C(2080375016),	// LHARX
    UINT64_C(2080375017),	// LHARXL
    UINT64_C(2885681152),	// LHAU
    UINT64_C(2885681152),	// LHAU8
    UINT64_C(2080375534),	// LHAUX
    UINT64_C(2080375534),	// LHAUX8
    UINT64_C(2080375470),	// LHAX
    UINT64_C(2080375470),	// LHAX8
    UINT64_C(2080376364),	// LHBRX
    UINT64_C(2080376364),	// LHBRX8
    UINT64_C(2080375358),	// LHEPX
    UINT64_C(2684354560),	// LHZ
    UINT64_C(2684354560),	// LHZ8
    UINT64_C(2080376426),	// LHZCIX
    UINT64_C(2751463424),	// LHZU
    UINT64_C(2751463424),	// LHZU8
    UINT64_C(2080375406),	// LHZUX
    UINT64_C(2080375406),	// LHZUX8
    UINT64_C(2080375342),	// LHZX
    UINT64_C(2080375342),	// LHZX8
    UINT64_C(2080375342),	// LHZXTLS
    UINT64_C(2080375342),	// LHZXTLS_
    UINT64_C(2080375342),	// LHZXTLS_32
    UINT64_C(939524096),	// LI
    UINT64_C(939524096),	// LI8
    UINT64_C(1006632960),	// LIS
    UINT64_C(1006632960),	// LIS8
    UINT64_C(3087007744),	// LMW
    UINT64_C(3758096384),	// LQ
    UINT64_C(2080375336),	// LQARX
    UINT64_C(2080375337),	// LQARXL
    UINT64_C(0),	// LQX_PSEUDO
    UINT64_C(2080375978),	// LSWI
    UINT64_C(2080374798),	// LVEBX
    UINT64_C(2080374862),	// LVEHX
    UINT64_C(2080374926),	// LVEWX
    UINT64_C(2080374796),	// LVSL
    UINT64_C(2080374860),	// LVSR
    UINT64_C(2080374990),	// LVX
    UINT64_C(2080375502),	// LVXL
    UINT64_C(3892314114),	// LWA
    UINT64_C(2080374824),	// LWARX
    UINT64_C(2080374825),	// LWARXL
    UINT64_C(2080375948),	// LWAT
    UINT64_C(2080375530),	// LWAUX
    UINT64_C(2080375466),	// LWAX
    UINT64_C(2080375466),	// LWAX_32
    UINT64_C(3892314114),	// LWA_32
    UINT64_C(2080375852),	// LWBRX
    UINT64_C(2080375852),	// LWBRX8
    UINT64_C(2080374846),	// LWEPX
    UINT64_C(2147483648),	// LWZ
    UINT64_C(2147483648),	// LWZ8
    UINT64_C(2080376362),	// LWZCIX
    UINT64_C(2214592512),	// LWZU
    UINT64_C(2214592512),	// LWZU8
    UINT64_C(2080374894),	// LWZUX
    UINT64_C(2080374894),	// LWZUX8
    UINT64_C(2080374830),	// LWZX
    UINT64_C(2080374830),	// LWZX8
    UINT64_C(2080374830),	// LWZXTLS
    UINT64_C(2080374830),	// LWZXTLS_
    UINT64_C(2080374830),	// LWZXTLS_32
    UINT64_C(0),	// LWZtoc
    UINT64_C(0),	// LWZtocL
    UINT64_C(3825205250),	// LXSD
    UINT64_C(2080375960),	// LXSDX
    UINT64_C(2080376346),	// LXSIBZX
    UINT64_C(2080376410),	// LXSIHZX
    UINT64_C(2080374936),	// LXSIWAX
    UINT64_C(2080374808),	// LXSIWZX
    UINT64_C(3825205251),	// LXSSP
    UINT64_C(2080375832),	// LXSSPX
    UINT64_C(4093640705),	// LXV
    UINT64_C(2080376536),	// LXVB16X
    UINT64_C(2080376472),	// LXVD2X
    UINT64_C(2080375448),	// LXVDSX
    UINT64_C(2080376408),	// LXVH8X
    UINT64_C(4028564176),	// LXVKQ
    UINT64_C(2080375322),	// LXVL
    UINT64_C(2080375386),	// LXVLL
    UINT64_C(402653184),	// LXVP
    UINT64_C(2080375962),	// LXVPRL
    UINT64_C(2080376026),	// LXVPRLL
    UINT64_C(2080375450),	// LXVPX
    UINT64_C(2080374810),	// LXVRBX
    UINT64_C(2080375002),	// LXVRDX
    UINT64_C(2080374874),	// LXVRHX
    UINT64_C(2080375834),	// LXVRL
    UINT64_C(2080375898),	// LXVRLL
    UINT64_C(2080374938),	// LXVRWX
    UINT64_C(2080376344),	// LXVW4X
    UINT64_C(2080375512),	// LXVWSX
    UINT64_C(2080375320),	// LXVX
    UINT64_C(268435504),	// MADDHD
    UINT64_C(268435505),	// MADDHDU
    UINT64_C(268435507),	// MADDLD
    UINT64_C(268435507),	// MADDLD8
    UINT64_C(2080376492),	// MBAR
    UINT64_C(1275068416),	// MCRF
    UINT64_C(4227858560),	// MCRFS
    UINT64_C(2080375936),	// MCRXRX
    UINT64_C(2080375388),	// MFBHRBE
    UINT64_C(2080374822),	// MFCR
    UINT64_C(2080374822),	// MFCR8
    UINT64_C(2080965286),	// MFCTR
    UINT64_C(2080965286),	// MFCTR8
    UINT64_C(2080375430),	// MFDCR
    UINT64_C(4227859598),	// MFFS
    UINT64_C(4229170318),	// MFFSCDRN
    UINT64_C(4229235854),	// MFFSCDRNI
    UINT64_C(4227925134),	// MFFSCE
    UINT64_C(4229301390),	// MFFSCRN
    UINT64_C(4229366926),	// MFFSCRNI
    UINT64_C(4229432462),	// MFFSL
    UINT64_C(4227859599),	// MFFS_rec
    UINT64_C(2080899750),	// MFLR
    UINT64_C(2080899750),	// MFLR8
    UINT64_C(2080374950),	// MFMSR
    UINT64_C(2081423398),	// MFOCRF
    UINT64_C(2081423398),	// MFOCRF8
    UINT64_C(2080375452),	// MFPMR
    UINT64_C(2080375462),	// MFSPR
    UINT64_C(2080375462),	// MFSPR8
    UINT64_C(2080375974),	// MFSR
    UINT64_C(2080376102),	// MFSRIN
    UINT64_C(2080375526),	// MFTB
    UINT64_C(2081178278),	// MFTB8
    UINT64_C(2080572070),	// MFUDSCR
    UINT64_C(2080374886),	// MFVRD
    UINT64_C(2080391846),	// MFVRSAVE
    UINT64_C(2080391846),	// MFVRSAVEv
    UINT64_C(2080375014),	// MFVRWZ
    UINT64_C(268436996),	// MFVSCR
    UINT64_C(2080374886),	// MFVSRD
    UINT64_C(2080375398),	// MFVSRLD
    UINT64_C(2080375014),	// MFVSRWZ
    UINT64_C(2080376338),	// MODSD
    UINT64_C(2080376342),	// MODSW
    UINT64_C(2080375314),	// MODUD
    UINT64_C(2080375318),	// MODUW
    UINT64_C(2080376556),	// MSGSYNC
    UINT64_C(2080375980),	// MSYNC
    UINT64_C(2080375072),	// MTCRF
    UINT64_C(2080375072),	// MTCRF8
    UINT64_C(2080965542),	// MTCTR
    UINT64_C(2080965542),	// MTCTR8
    UINT64_C(2080965542),	// MTCTR8loop
    UINT64_C(2080965542),	// MTCTRloop
    UINT64_C(2080375686),	// MTDCR
    UINT64_C(4227858572),	// MTFSB0
    UINT64_C(4227858508),	// MTFSB1
    UINT64_C(4227859854),	// MTFSF
    UINT64_C(4227858700),	// MTFSFI
    UINT64_C(4227858701),	// MTFSFI_rec
    UINT64_C(4227858700),	// MTFSFIb
    UINT64_C(4227859855),	// MTFSF_rec
    UINT64_C(4227859854),	// MTFSFb
    UINT64_C(2080900006),	// MTLR
    UINT64_C(2080900006),	// MTLR8
    UINT64_C(2080375076),	// MTMSR
    UINT64_C(2080375140),	// MTMSRD
    UINT64_C(2081423648),	// MTOCRF
    UINT64_C(2081423648),	// MTOCRF8
    UINT64_C(2080375708),	// MTPMR
    UINT64_C(2080375718),	// MTSPR
    UINT64_C(2080375718),	// MTSPR8
    UINT64_C(2080375204),	// MTSR
    UINT64_C(2080375268),	// MTSRIN
    UINT64_C(2080572326),	// MTUDSCR
    UINT64_C(2080375142),	// MTVRD
    UINT64_C(2080392102),	// MTVRSAVE
    UINT64_C(2080392102),	// MTVRSAVEv
    UINT64_C(2080375206),	// MTVRWA
    UINT64_C(2080375270),	// MTVRWZ
    UINT64_C(268437060),	// MTVSCR
    UINT64_C(269485634),	// MTVSRBM
    UINT64_C(268435476),	// MTVSRBMI
    UINT64_C(2080375142),	// MTVSRD
    UINT64_C(2080375654),	// MTVSRDD
    UINT64_C(269682242),	// MTVSRDM
    UINT64_C(269551170),	// MTVSRHM
    UINT64_C(269747778),	// MTVSRQM
    UINT64_C(2080375206),	// MTVSRWA
    UINT64_C(269616706),	// MTVSRWM
    UINT64_C(2080375590),	// MTVSRWS
    UINT64_C(2080375270),	// MTVSRWZ
    UINT64_C(2080374930),	// MULHD
    UINT64_C(2080374802),	// MULHDU
    UINT64_C(2080374803),	// MULHDU_rec
    UINT64_C(2080374931),	// MULHD_rec
    UINT64_C(2080374934),	// MULHW
    UINT64_C(2080374806),	// MULHWU
    UINT64_C(2080374807),	// MULHWU_rec
    UINT64_C(2080374935),	// MULHW_rec
    UINT64_C(2080375250),	// MULLD
    UINT64_C(2080376274),	// MULLDO
    UINT64_C(2080376275),	// MULLDO_rec
    UINT64_C(2080375251),	// MULLD_rec
    UINT64_C(469762048),	// MULLI
    UINT64_C(469762048),	// MULLI8
    UINT64_C(2080375254),	// MULLW
    UINT64_C(2080376278),	// MULLWO
    UINT64_C(2080376279),	// MULLWO_rec
    UINT64_C(2080375255),	// MULLW_rec
    UINT64_C(0),	// MoveGOTtoLR
    UINT64_C(0),	// MovePCtoLR
    UINT64_C(0),	// MovePCtoLR8
    UINT64_C(2080375736),	// NAND
    UINT64_C(2080375736),	// NAND8
    UINT64_C(2080375737),	// NAND8_rec
    UINT64_C(2080375737),	// NAND_rec
    UINT64_C(1275069284),	// NAP
    UINT64_C(2080374992),	// NEG
    UINT64_C(2080374992),	// NEG8
    UINT64_C(2080376016),	// NEG8O
    UINT64_C(2080376017),	// NEG8O_rec
    UINT64_C(2080374993),	// NEG8_rec
    UINT64_C(2080376016),	// NEGO
    UINT64_C(2080376017),	// NEGO_rec
    UINT64_C(2080374993),	// NEG_rec
    UINT64_C(1610612736),	// NOP
    UINT64_C(1612775424),	// NOP_GT_PWR6
    UINT64_C(1614938112),	// NOP_GT_PWR7
    UINT64_C(2080375032),	// NOR
    UINT64_C(2080375032),	// NOR8
    UINT64_C(2080375033),	// NOR8_rec
    UINT64_C(2080375033),	// NOR_rec
    UINT64_C(2080375672),	// OR
    UINT64_C(2080375672),	// OR8
    UINT64_C(2080375673),	// OR8_rec
    UINT64_C(2080375608),	// ORC
    UINT64_C(2080375608),	// ORC8
    UINT64_C(2080375609),	// ORC8_rec
    UINT64_C(2080375609),	// ORC_rec
    UINT64_C(1610612736),	// ORI
    UINT64_C(1610612736),	// ORI8
    UINT64_C(1677721600),	// ORIS
    UINT64_C(1677721600),	// ORIS8
    UINT64_C(2080375673),	// OR_rec
    UINT64_C(432345565167091712),	// PADDI
    UINT64_C(432345565167091712),	// PADDI8
    UINT64_C(436849164794462208),	// PADDI8pc
    UINT64_C(0),	// PADDIdtprel
    UINT64_C(436849164794462208),	// PADDIpc
    UINT64_C(2080375096),	// PDEPD
    UINT64_C(2080375160),	// PEXTD
    UINT64_C(432345566509268992),	// PLBZ
    UINT64_C(432345566509268992),	// PLBZ8
    UINT64_C(436849166136639488),	// PLBZ8pc
    UINT64_C(436849166136639488),	// PLBZpc
    UINT64_C(288230379976916992),	// PLD
    UINT64_C(292733979604287488),	// PLDpc
    UINT64_C(432345567583010816),	// PLFD
    UINT64_C(436849167210381312),	// PLFDpc
    UINT64_C(432345567448793088),	// PLFS
    UINT64_C(436849167076163584),	// PLFSpc
    UINT64_C(432345567046139904),	// PLHA
    UINT64_C(432345567046139904),	// PLHA8
    UINT64_C(436849166673510400),	// PLHA8pc
    UINT64_C(436849166673510400),	// PLHApc
    UINT64_C(432345566911922176),	// PLHZ
    UINT64_C(432345566911922176),	// PLHZ8
    UINT64_C(436849166539292672),	// PLHZ8pc
    UINT64_C(436849166539292672),	// PLHZpc
    UINT64_C(432345565167091712),	// PLI
    UINT64_C(432345565167091712),	// PLI8
    UINT64_C(288230378903175168),	// PLWA
    UINT64_C(288230378903175168),	// PLWA8
    UINT64_C(292733978530545664),	// PLWA8pc
    UINT64_C(292733978530545664),	// PLWApc
    UINT64_C(432345566375051264),	// PLWZ
    UINT64_C(432345566375051264),	// PLWZ8
    UINT64_C(436849166002421760),	// PLWZ8pc
    UINT64_C(436849166002421760),	// PLWZpc
    UINT64_C(288230378970284032),	// PLXSD
    UINT64_C(292733978597654528),	// PLXSDpc
    UINT64_C(288230379037392896),	// PLXSSP
    UINT64_C(292733978664763392),	// PLXSSPpc
    UINT64_C(288230379507154944),	// PLXV
    UINT64_C(288230380044025856),	// PLXVP
    UINT64_C(292733979671396352),	// PLXVPpc
    UINT64_C(292733979134525440),	// PLXVpc
    UINT64_C(544935558871253400),	// PMXVBF16GER2
    UINT64_C(544935558871254928),	// PMXVBF16GER2NN
    UINT64_C(544935558871253904),	// PMXVBF16GER2NP
    UINT64_C(544935558871254416),	// PMXVBF16GER2PN
    UINT64_C(544935558871253392),	// PMXVBF16GER2PP
    UINT64_C(544935558871253400),	// PMXVBF16GER2W
    UINT64_C(544935558871254928),	// PMXVBF16GER2WNN
    UINT64_C(544935558871253904),	// PMXVBF16GER2WNP
    UINT64_C(544935558871254416),	// PMXVBF16GER2WPN
    UINT64_C(544935558871253392),	// PMXVBF16GER2WPP
    UINT64_C(544935558871253144),	// PMXVF16GER2
    UINT64_C(544935558871254672),	// PMXVF16GER2NN
    UINT64_C(544935558871253648),	// PMXVF16GER2NP
    UINT64_C(544935558871254160),	// PMXVF16GER2PN
    UINT64_C(544935558871253136),	// PMXVF16GER2PP
    UINT64_C(544935558871253144),	// PMXVF16GER2W
    UINT64_C(544935558871254672),	// PMXVF16GER2WNN
    UINT64_C(544935558871253648),	// PMXVF16GER2WNP
    UINT64_C(544935558871254160),	// PMXVF16GER2WPN
    UINT64_C(544935558871253136),	// PMXVF16GER2WPP
    UINT64_C(544935558871253208),	// PMXVF32GER
    UINT64_C(544935558871254736),	// PMXVF32GERNN
    UINT64_C(544935558871253712),	// PMXVF32GERNP
    UINT64_C(544935558871254224),	// PMXVF32GERPN
    UINT64_C(544935558871253200),	// PMXVF32GERPP
    UINT64_C(544935558871253208),	// PMXVF32GERW
    UINT64_C(544935558871254736),	// PMXVF32GERWNN
    UINT64_C(544935558871253712),	// PMXVF32GERWNP
    UINT64_C(544935558871254224),	// PMXVF32GERWPN
    UINT64_C(544935558871253200),	// PMXVF32GERWPP
    UINT64_C(544935558871253464),	// PMXVF64GER
    UINT64_C(544935558871254992),	// PMXVF64GERNN
    UINT64_C(544935558871253968),	// PMXVF64GERNP
    UINT64_C(544935558871254480),	// PMXVF64GERPN
    UINT64_C(544935558871253456),	// PMXVF64GERPP
    UINT64_C(544935558871253464),	// PMXVF64GERW
    UINT64_C(544935558871254992),	// PMXVF64GERWNN
    UINT64_C(544935558871253968),	// PMXVF64GERWNP
    UINT64_C(544935558871254480),	// PMXVF64GERWPN
    UINT64_C(544935558871253456),	// PMXVF64GERWPP
    UINT64_C(544935558871253592),	// PMXVI16GER2
    UINT64_C(544935558871253848),	// PMXVI16GER2PP
    UINT64_C(544935558871253336),	// PMXVI16GER2S
    UINT64_C(544935558871253328),	// PMXVI16GER2SPP
    UINT64_C(544935558871253336),	// PMXVI16GER2SW
    UINT64_C(544935558871253328),	// PMXVI16GER2SWPP
    UINT64_C(544935558871253592),	// PMXVI16GER2W
    UINT64_C(544935558871253848),	// PMXVI16GER2WPP
    UINT64_C(544935558871253272),	// PMXVI4GER8
    UINT64_C(544935558871253264),	// PMXVI4GER8PP
    UINT64_C(544935558871253272),	// PMXVI4GER8W
    UINT64_C(544935558871253264),	// PMXVI4GER8WPP
    UINT64_C(544935558871253016),	// PMXVI8GER4
    UINT64_C(544935558871253008),	// PMXVI8GER4PP
    UINT64_C(544935558871253784),	// PMXVI8GER4SPP
    UINT64_C(544935558871253016),	// PMXVI8GER4W
    UINT64_C(544935558871253008),	// PMXVI8GER4WPP
    UINT64_C(544935558871253784),	// PMXVI8GER4WSPP
    UINT64_C(2080375028),	// POPCNTB
    UINT64_C(2080375028),	// POPCNTB8
    UINT64_C(2080375796),	// POPCNTD
    UINT64_C(2080375540),	// POPCNTW
    UINT64_C(0),	// PPC32GOT
    UINT64_C(0),	// PPC32PICGOT
    UINT64_C(0),	// PREPARE_PROBED_ALLOCA_32
    UINT64_C(0),	// PREPARE_PROBED_ALLOCA_64
    UINT64_C(0),	// PREPARE_PROBED_ALLOCA_NEGSIZE_SAME_REG_32
    UINT64_C(0),	// PREPARE_PROBED_ALLOCA_NEGSIZE_SAME_REG_64
    UINT64_C(0),	// PROBED_ALLOCA_32
    UINT64_C(0),	// PROBED_ALLOCA_64
    UINT64_C(0),	// PROBED_STACKALLOC_32
    UINT64_C(0),	// PROBED_STACKALLOC_64
    UINT64_C(432345566777704448),	// PSTB
    UINT64_C(432345566777704448),	// PSTB8
    UINT64_C(436849166405074944),	// PSTB8pc
    UINT64_C(436849166405074944),	// PSTBpc
    UINT64_C(288230380245352448),	// PSTD
    UINT64_C(292733979872722944),	// PSTDpc
    UINT64_C(432345567851446272),	// PSTFD
    UINT64_C(436849167478816768),	// PSTFDpc
    UINT64_C(432345567717228544),	// PSTFS
    UINT64_C(436849167344599040),	// PSTFSpc
    UINT64_C(432345567180357632),	// PSTH
    UINT64_C(432345567180357632),	// PSTH8
    UINT64_C(436849166807728128),	// PSTH8pc
    UINT64_C(436849166807728128),	// PSTHpc
    UINT64_C(432345566643486720),	// PSTW
    UINT64_C(432345566643486720),	// PSTW8
    UINT64_C(436849166270857216),	// PSTW8pc
    UINT64_C(436849166270857216),	// PSTWpc
    UINT64_C(288230379238719488),	// PSTXSD
    UINT64_C(292733978866089984),	// PSTXSDpc
    UINT64_C(288230379305828352),	// PSTXSSP
    UINT64_C(292733978933198848),	// PSTXSSPpc
    UINT64_C(288230379775590400),	// PSTXV
    UINT64_C(288230380312461312),	// PSTXVP
    UINT64_C(292733979939831808),	// PSTXVPpc
    UINT64_C(292733979402960896),	// PSTXVpc
    UINT64_C(0),	// PseudoEIEIO
    UINT64_C(0),	// RESTORE_ACC
    UINT64_C(0),	// RESTORE_CR
    UINT64_C(0),	// RESTORE_CRBIT
    UINT64_C(0),	// RESTORE_QUADWORD
    UINT64_C(0),	// RESTORE_UACC
    UINT64_C(0),	// RESTORE_WACC
    UINT64_C(1275068518),	// RFCI
    UINT64_C(1275068494),	// RFDI
    UINT64_C(1275068708),	// RFEBB
    UINT64_C(1275068516),	// RFI
    UINT64_C(1275068452),	// RFID
    UINT64_C(1275068492),	// RFMCI
    UINT64_C(2013265936),	// RLDCL
    UINT64_C(2013265937),	// RLDCL_rec
    UINT64_C(2013265938),	// RLDCR
    UINT64_C(2013265939),	// RLDCR_rec
    UINT64_C(2013265928),	// RLDIC
    UINT64_C(2013265920),	// RLDICL
    UINT64_C(2013265920),	// RLDICL_32
    UINT64_C(2013265920),	// RLDICL_32_64
    UINT64_C(2013265921),	// RLDICL_32_rec
    UINT64_C(2013265921),	// RLDICL_rec
    UINT64_C(2013265924),	// RLDICR
    UINT64_C(2013265924),	// RLDICR_32
    UINT64_C(2013265925),	// RLDICR_rec
    UINT64_C(2013265929),	// RLDIC_rec
    UINT64_C(2013265932),	// RLDIMI
    UINT64_C(2013265933),	// RLDIMI_rec
    UINT64_C(1342177280),	// RLWIMI
    UINT64_C(1342177280),	// RLWIMI8
    UINT64_C(1342177281),	// RLWIMI8_rec
    UINT64_C(1342177281),	// RLWIMI_rec
    UINT64_C(1409286144),	// RLWINM
    UINT64_C(1409286144),	// RLWINM8
    UINT64_C(1409286145),	// RLWINM8_rec
    UINT64_C(1409286145),	// RLWINM_rec
    UINT64_C(1543503872),	// RLWNM
    UINT64_C(1543503872),	// RLWNM8
    UINT64_C(1543503873),	// RLWNM8_rec
    UINT64_C(1543503873),	// RLWNM_rec
    UINT64_C(0),	// ReadTB
    UINT64_C(1140850690),	// SC
    UINT64_C(0),	// SELECT_CC_F16
    UINT64_C(0),	// SELECT_CC_F4
    UINT64_C(0),	// SELECT_CC_F8
    UINT64_C(0),	// SELECT_CC_I4
    UINT64_C(0),	// SELECT_CC_I8
    UINT64_C(0),	// SELECT_CC_SPE
    UINT64_C(0),	// SELECT_CC_SPE4
    UINT64_C(0),	// SELECT_CC_VRRC
    UINT64_C(0),	// SELECT_CC_VSFRC
    UINT64_C(0),	// SELECT_CC_VSRC
    UINT64_C(0),	// SELECT_CC_VSSRC
    UINT64_C(0),	// SELECT_F16
    UINT64_C(0),	// SELECT_F4
    UINT64_C(0),	// SELECT_F8
    UINT64_C(0),	// SELECT_I4
    UINT64_C(0),	// SELECT_I8
    UINT64_C(0),	// SELECT_SPE
    UINT64_C(0),	// SELECT_SPE4
    UINT64_C(0),	// SELECT_VRRC
    UINT64_C(0),	// SELECT_VSFRC
    UINT64_C(0),	// SELECT_VSRC
    UINT64_C(0),	// SELECT_VSSRC
    UINT64_C(2080375040),	// SETB
    UINT64_C(2080375040),	// SETB8
    UINT64_C(2080375552),	// SETBC
    UINT64_C(2080375552),	// SETBC8
    UINT64_C(2080375616),	// SETBCR
    UINT64_C(2080375616),	// SETBCR8
    UINT64_C(0),	// SETFLM
    UINT64_C(2080375680),	// SETNBC
    UINT64_C(2080375680),	// SETNBC8
    UINT64_C(2080375744),	// SETNBCR
    UINT64_C(2080375744),	// SETNBCR8
    UINT64_C(0),	// SETRND
    UINT64_C(0),	// SETRNDi
    UINT64_C(2080376743),	// SLBFEE_rec
    UINT64_C(2080375780),	// SLBIA
    UINT64_C(2080375652),	// SLBIE
    UINT64_C(2080375716),	// SLBIEG
    UINT64_C(2080376614),	// SLBMFEE
    UINT64_C(2080376486),	// SLBMFEV
    UINT64_C(2080375588),	// SLBMTE
    UINT64_C(2080375460),	// SLBSYNC
    UINT64_C(2080374838),	// SLD
    UINT64_C(2080374839),	// SLD_rec
    UINT64_C(2080374832),	// SLW
    UINT64_C(2080374832),	// SLW8
    UINT64_C(2080374833),	// SLW8_rec
    UINT64_C(2080374833),	// SLW_rec
    UINT64_C(2147483648),	// SPELWZ
    UINT64_C(2080374830),	// SPELWZX
    UINT64_C(2415919104),	// SPESTW
    UINT64_C(2080375086),	// SPESTWX
    UINT64_C(0),	// SPILL_ACC
    UINT64_C(0),	// SPILL_CR
    UINT64_C(0),	// SPILL_CRBIT
    UINT64_C(0),	// SPILL_QUADWORD
    UINT64_C(0),	// SPILL_UACC
    UINT64_C(0),	// SPILL_WACC
    UINT64_C(0),	// SPLIT_QUADWORD
    UINT64_C(2080376372),	// SRAD
    UINT64_C(2080376436),	// SRADI
    UINT64_C(2080376436),	// SRADI_32
    UINT64_C(2080376437),	// SRADI_rec
    UINT64_C(2080376373),	// SRAD_rec
    UINT64_C(2080376368),	// SRAW
    UINT64_C(2080376432),	// SRAWI
    UINT64_C(2080376433),	// SRAWI_rec
    UINT64_C(2080376369),	// SRAW_rec
    UINT64_C(2080375862),	// SRD
    UINT64_C(2080375863),	// SRD_rec
    UINT64_C(2080375856),	// SRW
    UINT64_C(2080375856),	// SRW8
    UINT64_C(2080375857),	// SRW8_rec
    UINT64_C(2080375857),	// SRW_rec
    UINT64_C(2550136832),	// STB
    UINT64_C(2550136832),	// STB8
    UINT64_C(2080376746),	// STBCIX
    UINT64_C(2080376173),	// STBCX
    UINT64_C(2080375230),	// STBEPX
    UINT64_C(2617245696),	// STBU
    UINT64_C(2617245696),	// STBU8
    UINT64_C(2080375278),	// STBUX
    UINT64_C(2080375278),	// STBUX8
    UINT64_C(2080375214),	// STBX
    UINT64_C(2080375214),	// STBX8
    UINT64_C(2080375214),	// STBXTLS
    UINT64_C(2080375214),	// STBXTLS_
    UINT64_C(2080375214),	// STBXTLS_32
    UINT64_C(4160749568),	// STD
    UINT64_C(2080376268),	// STDAT
    UINT64_C(2080376104),	// STDBRX
    UINT64_C(2080376810),	// STDCIX
    UINT64_C(2080375213),	// STDCX
    UINT64_C(4160749569),	// STDU
    UINT64_C(2080375146),	// STDUX
    UINT64_C(2080375082),	// STDX
    UINT64_C(2080375082),	// STDXTLS
    UINT64_C(2080375082),	// STDXTLS_
    UINT64_C(3623878656),	// STFD
    UINT64_C(2080376254),	// STFDEPX
    UINT64_C(3690987520),	// STFDU
    UINT64_C(2080376302),	// STFDUX
    UINT64_C(2080376238),	// STFDX
    UINT64_C(2080376750),	// STFIWX
    UINT64_C(3489660928),	// STFS
    UINT64_C(3556769792),	// STFSU
    UINT64_C(2080376174),	// STFSUX
    UINT64_C(2080376110),	// STFSX
    UINT64_C(2952790016),	// STH
    UINT64_C(2952790016),	// STH8
    UINT64_C(2080376620),	// STHBRX
    UINT64_C(2080376682),	// STHCIX
    UINT64_C(2080376237),	// STHCX
    UINT64_C(2080375614),	// STHEPX
    UINT64_C(3019898880),	// STHU
    UINT64_C(3019898880),	// STHU8
    UINT64_C(2080375662),	// STHUX
    UINT64_C(2080375662),	// STHUX8
    UINT64_C(2080375598),	// STHX
    UINT64_C(2080375598),	// STHX8
    UINT64_C(2080375598),	// STHXTLS
    UINT64_C(2080375598),	// STHXTLS_
    UINT64_C(2080375598),	// STHXTLS_32
    UINT64_C(3154116608),	// STMW
    UINT64_C(1275069156),	// STOP
    UINT64_C(4160749570),	// STQ
    UINT64_C(2080375149),	// STQCX
    UINT64_C(0),	// STQX_PSEUDO
    UINT64_C(2080376234),	// STSWI
    UINT64_C(2080375054),	// STVEBX
    UINT64_C(2080375118),	// STVEHX
    UINT64_C(2080375182),	// STVEWX
    UINT64_C(2080375246),	// STVX
    UINT64_C(2080375758),	// STVXL
    UINT64_C(2415919104),	// STW
    UINT64_C(2415919104),	// STW8
    UINT64_C(2080376204),	// STWAT
    UINT64_C(2080376108),	// STWBRX
    UINT64_C(2080376618),	// STWCIX
    UINT64_C(2080375085),	// STWCX
    UINT64_C(2080375102),	// STWEPX
    UINT64_C(2483027968),	// STWU
    UINT64_C(2483027968),	// STWU8
    UINT64_C(2080375150),	// STWUX
    UINT64_C(2080375150),	// STWUX8
    UINT64_C(2080375086),	// STWX
    UINT64_C(2080375086),	// STWX8
    UINT64_C(2080375086),	// STWXTLS
    UINT64_C(2080375086),	// STWXTLS_
    UINT64_C(2080375086),	// STWXTLS_32
    UINT64_C(4093640706),	// STXSD
    UINT64_C(2080376216),	// STXSDX
    UINT64_C(2080376602),	// STXSIBX
    UINT64_C(2080376602),	// STXSIBXv
    UINT64_C(2080376666),	// STXSIHX
    UINT64_C(2080376666),	// STXSIHXv
    UINT64_C(2080375064),	// STXSIWX
    UINT64_C(4093640707),	// STXSSP
    UINT64_C(2080376088),	// STXSSPX
    UINT64_C(4093640709),	// STXV
    UINT64_C(2080376792),	// STXVB16X
    UINT64_C(2080376728),	// STXVD2X
    UINT64_C(2080376664),	// STXVH8X
    UINT64_C(2080375578),	// STXVL
    UINT64_C(2080375642),	// STXVLL
    UINT64_C(402653185),	// STXVP
    UINT64_C(2080376218),	// STXVPRL
    UINT64_C(2080376282),	// STXVPRLL
    UINT64_C(2080375706),	// STXVPX
    UINT64_C(2080375066),	// STXVRBX
    UINT64_C(2080375258),	// STXVRDX
    UINT64_C(2080375130),	// STXVRHX
    UINT64_C(2080376090),	// STXVRL
    UINT64_C(2080376154),	// STXVRLL
    UINT64_C(2080375194),	// STXVRWX
    UINT64_C(2080376600),	// STXVW4X
    UINT64_C(2080375576),	// STXVX
    UINT64_C(2080374864),	// SUBF
    UINT64_C(2080374864),	// SUBF8
    UINT64_C(2080375888),	// SUBF8O
    UINT64_C(2080375889),	// SUBF8O_rec
    UINT64_C(2080374865),	// SUBF8_rec
    UINT64_C(2080374800),	// SUBFC
    UINT64_C(2080374800),	// SUBFC8
    UINT64_C(2080375824),	// SUBFC8O
    UINT64_C(2080375825),	// SUBFC8O_rec
    UINT64_C(2080374801),	// SUBFC8_rec
    UINT64_C(2080375824),	// SUBFCO
    UINT64_C(2080375825),	// SUBFCO_rec
    UINT64_C(2080374801),	// SUBFC_rec
    UINT64_C(2080375056),	// SUBFE
    UINT64_C(2080375056),	// SUBFE8
    UINT64_C(2080376080),	// SUBFE8O
    UINT64_C(2080376081),	// SUBFE8O_rec
    UINT64_C(2080375057),	// SUBFE8_rec
    UINT64_C(2080376080),	// SUBFEO
    UINT64_C(2080376081),	// SUBFEO_rec
    UINT64_C(2080375057),	// SUBFE_rec
    UINT64_C(536870912),	// SUBFIC
    UINT64_C(536870912),	// SUBFIC8
    UINT64_C(2080375248),	// SUBFME
    UINT64_C(2080375248),	// SUBFME8
    UINT64_C(2080376272),	// SUBFME8O
    UINT64_C(2080376273),	// SUBFME8O_rec
    UINT64_C(2080375249),	// SUBFME8_rec
    UINT64_C(2080376272),	// SUBFMEO
    UINT64_C(2080376273),	// SUBFMEO_rec
    UINT64_C(2080375249),	// SUBFME_rec
    UINT64_C(2080375888),	// SUBFO
    UINT64_C(2080375889),	// SUBFO_rec
    UINT64_C(2080374928),	// SUBFUS
    UINT64_C(2080374929),	// SUBFUS_rec
    UINT64_C(2080375184),	// SUBFZE
    UINT64_C(2080375184),	// SUBFZE8
    UINT64_C(2080376208),	// SUBFZE8O
    UINT64_C(2080376209),	// SUBFZE8O_rec
    UINT64_C(2080375185),	// SUBFZE8_rec
    UINT64_C(2080376208),	// SUBFZEO
    UINT64_C(2080376209),	// SUBFZEO_rec
    UINT64_C(2080375185),	// SUBFZE_rec
    UINT64_C(2080374865),	// SUBF_rec
    UINT64_C(2080375980),	// SYNC
    UINT64_C(2080376605),	// TABORT
    UINT64_C(2080376413),	// TABORTDC
    UINT64_C(2080376541),	// TABORTDCI
    UINT64_C(2080376349),	// TABORTWC
    UINT64_C(2080376477),	// TABORTWCI
    UINT64_C(1207959552),	// TAILB
    UINT64_C(1207959552),	// TAILB8
    UINT64_C(1207959552),	// TAILBA
    UINT64_C(1207959552),	// TAILBA8
    UINT64_C(1317012512),	// TAILBCTR
    UINT64_C(1317012512),	// TAILBCTR8
    UINT64_C(2080376093),	// TBEGIN
    UINT64_C(0),	// TBEGIN_RET
    UINT64_C(2080376220),	// TCHECK
    UINT64_C(0),	// TCHECK_RET
    UINT64_C(0),	// TCRETURNai
    UINT64_C(0),	// TCRETURNai8
    UINT64_C(0),	// TCRETURNdi
    UINT64_C(0),	// TCRETURNdi8
    UINT64_C(0),	// TCRETURNri
    UINT64_C(0),	// TCRETURNri8
    UINT64_C(2080374920),	// TD
    UINT64_C(134217728),	// TDI
    UINT64_C(2080376157),	// TEND
    UINT64_C(2080375524),	// TLBIA
    UINT64_C(2080375396),	// TLBIE
    UINT64_C(2080375332),	// TLBIEL
    UINT64_C(2080376356),	// TLBIVAX
    UINT64_C(2080376740),	// TLBLD
    UINT64_C(2080376804),	// TLBLI
    UINT64_C(2080376676),	// TLBRE
    UINT64_C(2080376676),	// TLBRE2
    UINT64_C(2080376612),	// TLBSX
    UINT64_C(2080376612),	// TLBSX2
    UINT64_C(2080376613),	// TLBSX2D
    UINT64_C(2080375916),	// TLBSYNC
    UINT64_C(2080376740),	// TLBWE
    UINT64_C(2080376740),	// TLBWE2
    UINT64_C(0),	// TLSGDAIX
    UINT64_C(0),	// TLSGDAIX8
    UINT64_C(2145386504),	// TRAP
    UINT64_C(2080376797),	// TRECHKPT
    UINT64_C(2080376669),	// TRECLAIM
    UINT64_C(2080376285),	// TSR
    UINT64_C(2080374792),	// TW
    UINT64_C(201326592),	// TWI
    UINT64_C(0),	// UNENCODED_NOP
    UINT64_C(0),	// UpdateGBR
    UINT64_C(268436483),	// VABSDUB
    UINT64_C(268436547),	// VABSDUH
    UINT64_C(268436611),	// VABSDUW
    UINT64_C(268435776),	// VADDCUQ
    UINT64_C(268435840),	// VADDCUW
    UINT64_C(268435517),	// VADDECUQ
    UINT64_C(268435516),	// VADDEUQM
    UINT64_C(268435466),	// VADDFP
    UINT64_C(268436224),	// VADDSBS
    UINT64_C(268436288),	// VADDSHS
    UINT64_C(268436352),	// VADDSWS
    UINT64_C(268435456),	// VADDUBM
    UINT64_C(268435968),	// VADDUBS
    UINT64_C(268435648),	// VADDUDM
    UINT64_C(268435520),	// VADDUHM
    UINT64_C(268436032),	// VADDUHS
    UINT64_C(268435712),	// VADDUQM
    UINT64_C(268435584),	// VADDUWM
    UINT64_C(268436096),	// VADDUWS
    UINT64_C(268436484),	// VAND
    UINT64_C(268436548),	// VANDC
    UINT64_C(268436738),	// VAVGSB
    UINT64_C(268436802),	// VAVGSH
    UINT64_C(268436866),	// VAVGSW
    UINT64_C(268436482),	// VAVGUB
    UINT64_C(268436546),	// VAVGUH
    UINT64_C(268436610),	// VAVGUW
    UINT64_C(268436940),	// VBPERMD
    UINT64_C(268436812),	// VBPERMQ
    UINT64_C(268436298),	// VCFSX
    UINT64_C(268436298),	// VCFSX_0
    UINT64_C(268436813),	// VCFUGED
    UINT64_C(268436234),	// VCFUX
    UINT64_C(268436234),	// VCFUX_0
    UINT64_C(268436744),	// VCIPHER
    UINT64_C(268436745),	// VCIPHERLAST
    UINT64_C(268435853),	// VCLRLB
    UINT64_C(268435917),	// VCLRRB
    UINT64_C(268437250),	// VCLZB
    UINT64_C(268437442),	// VCLZD
    UINT64_C(268437380),	// VCLZDM
    UINT64_C(268437314),	// VCLZH
    UINT64_C(268436994),	// VCLZLSBB
    UINT64_C(268437378),	// VCLZW
    UINT64_C(268436422),	// VCMPBFP
    UINT64_C(268437446),	// VCMPBFP_rec
    UINT64_C(268435654),	// VCMPEQFP
    UINT64_C(268436678),	// VCMPEQFP_rec
    UINT64_C(268435462),	// VCMPEQUB
    UINT64_C(268436486),	// VCMPEQUB_rec
    UINT64_C(268435655),	// VCMPEQUD
    UINT64_C(268436679),	// VCMPEQUD_rec
    UINT64_C(268435526),	// VCMPEQUH
    UINT64_C(268436550),	// VCMPEQUH_rec
    UINT64_C(268435911),	// VCMPEQUQ
    UINT64_C(268436935),	// VCMPEQUQ_rec
    UINT64_C(268435590),	// VCMPEQUW
    UINT64_C(268436614),	// VCMPEQUW_rec
    UINT64_C(268435910),	// VCMPGEFP
    UINT64_C(268436934),	// VCMPGEFP_rec
    UINT64_C(268436166),	// VCMPGTFP
    UINT64_C(268437190),	// VCMPGTFP_rec
    UINT64_C(268436230),	// VCMPGTSB
    UINT64_C(268437254),	// VCMPGTSB_rec
    UINT64_C(268436423),	// VCMPGTSD
    UINT64_C(268437447),	// VCMPGTSD_rec
    UINT64_C(268436294),	// VCMPGTSH
    UINT64_C(268437318),	// VCMPGTSH_rec
    UINT64_C(268436359),	// VCMPGTSQ
    UINT64_C(268437383),	// VCMPGTSQ_rec
    UINT64_C(268436358),	// VCMPGTSW
    UINT64_C(268437382),	// VCMPGTSW_rec
    UINT64_C(268435974),	// VCMPGTUB
    UINT64_C(268436998),	// VCMPGTUB_rec
    UINT64_C(268436167),	// VCMPGTUD
    UINT64_C(268437191),	// VCMPGTUD_rec
    UINT64_C(268436038),	// VCMPGTUH
    UINT64_C(268437062),	// VCMPGTUH_rec
    UINT64_C(268436103),	// VCMPGTUQ
    UINT64_C(268437127),	// VCMPGTUQ_rec
    UINT64_C(268436102),	// VCMPGTUW
    UINT64_C(268437126),	// VCMPGTUW_rec
    UINT64_C(268435463),	// VCMPNEB
    UINT64_C(268436487),	// VCMPNEB_rec
    UINT64_C(268435527),	// VCMPNEH
    UINT64_C(268436551),	// VCMPNEH_rec
    UINT64_C(268435591),	// VCMPNEW
    UINT64_C(268436615),	// VCMPNEW_rec
    UINT64_C(268435719),	// VCMPNEZB
    UINT64_C(268436743),	// VCMPNEZB_rec
    UINT64_C(268435783),	// VCMPNEZH
    UINT64_C(268436807),	// VCMPNEZH_rec
    UINT64_C(268435847),	// VCMPNEZW
    UINT64_C(268436871),	// VCMPNEZW_rec
    UINT64_C(268435777),	// VCMPSQ
    UINT64_C(268435713),	// VCMPUQ
    UINT64_C(270009922),	// VCNTMBB
    UINT64_C(270403138),	// VCNTMBD
    UINT64_C(270140994),	// VCNTMBH
    UINT64_C(270272066),	// VCNTMBW
    UINT64_C(268436426),	// VCTSXS
    UINT64_C(268436426),	// VCTSXS_0
    UINT64_C(268436362),	// VCTUXS
    UINT64_C(268436362),	// VCTUXS_0
    UINT64_C(270272002),	// VCTZB
    UINT64_C(270468610),	// VCTZD
    UINT64_C(268437444),	// VCTZDM
    UINT64_C(270337538),	// VCTZH
    UINT64_C(268502530),	// VCTZLSBB
    UINT64_C(270403074),	// VCTZW
    UINT64_C(268436427),	// VDIVESD
    UINT64_C(268436235),	// VDIVESQ
    UINT64_C(268436363),	// VDIVESW
    UINT64_C(268436171),	// VDIVEUD
    UINT64_C(268435979),	// VDIVEUQ
    UINT64_C(268436107),	// VDIVEUW
    UINT64_C(268435915),	// VDIVSD
    UINT64_C(268435723),	// VDIVSQ
    UINT64_C(268435851),	// VDIVSW
    UINT64_C(268435659),	// VDIVUD
    UINT64_C(268435467),	// VDIVUQ
    UINT64_C(268435595),	// VDIVUW
    UINT64_C(268437124),	// VEQV
    UINT64_C(268437058),	// VEXPANDBM
    UINT64_C(268633666),	// VEXPANDDM
    UINT64_C(268502594),	// VEXPANDHM
    UINT64_C(268699202),	// VEXPANDQM
    UINT64_C(268568130),	// VEXPANDWM
    UINT64_C(268435850),	// VEXPTEFP
    UINT64_C(268435486),	// VEXTDDVLX
    UINT64_C(268435487),	// VEXTDDVRX
    UINT64_C(268435480),	// VEXTDUBVLX
    UINT64_C(268435481),	// VEXTDUBVRX
    UINT64_C(268435482),	// VEXTDUHVLX
    UINT64_C(268435483),	// VEXTDUHVRX
    UINT64_C(268435484),	// VEXTDUWVLX
    UINT64_C(268435485),	// VEXTDUWVRX
    UINT64_C(268961346),	// VEXTRACTBM
    UINT64_C(268436173),	// VEXTRACTD
    UINT64_C(269157954),	// VEXTRACTDM
    UINT64_C(269026882),	// VEXTRACTHM
    UINT64_C(269223490),	// VEXTRACTQM
    UINT64_C(268435981),	// VEXTRACTUB
    UINT64_C(268436045),	// VEXTRACTUH
    UINT64_C(268436109),	// VEXTRACTUW
    UINT64_C(269092418),	// VEXTRACTWM
    UINT64_C(270009858),	// VEXTSB2D
    UINT64_C(270009858),	// VEXTSB2Ds
    UINT64_C(269485570),	// VEXTSB2W
    UINT64_C(269485570),	// VEXTSB2Ws
    UINT64_C(270206466),	// VEXTSD2Q
    UINT64_C(270075394),	// VEXTSH2D
    UINT64_C(270075394),	// VEXTSH2Ds
    UINT64_C(269551106),	// VEXTSH2W
    UINT64_C(269551106),	// VEXTSH2Ws
    UINT64_C(270140930),	// VEXTSW2D
    UINT64_C(270140930),	// VEXTSW2Ds
    UINT64_C(268437005),	// VEXTUBLX
    UINT64_C(268437261),	// VEXTUBRX
    UINT64_C(268437069),	// VEXTUHLX
    UINT64_C(268437325),	// VEXTUHRX
    UINT64_C(268437133),	// VEXTUWLX
    UINT64_C(268437389),	// VEXTUWRX
    UINT64_C(268436748),	// VGBBD
    UINT64_C(268436684),	// VGNB
    UINT64_C(268435983),	// VINSBLX
    UINT64_C(268436239),	// VINSBRX
    UINT64_C(268435471),	// VINSBVLX
    UINT64_C(268435727),	// VINSBVRX
    UINT64_C(268435919),	// VINSD
    UINT64_C(268436175),	// VINSDLX
    UINT64_C(268436431),	// VINSDRX
    UINT64_C(268436237),	// VINSERTB
    UINT64_C(268436429),	// VINSERTD
    UINT64_C(268436301),	// VINSERTH
    UINT64_C(268436365),	// VINSERTW
    UINT64_C(268436047),	// VINSHLX
    UINT64_C(268436303),	// VINSHRX
    UINT64_C(268435535),	// VINSHVLX
    UINT64_C(268435791),	// VINSHVRX
    UINT64_C(268435663),	// VINSW
    UINT64_C(268436111),	// VINSWLX
    UINT64_C(268436367),	// VINSWRX
    UINT64_C(268435599),	// VINSWVLX
    UINT64_C(268435855),	// VINSWVRX
    UINT64_C(268435914),	// VLOGEFP
    UINT64_C(268435502),	// VMADDFP
    UINT64_C(268436490),	// VMAXFP
    UINT64_C(268435714),	// VMAXSB
    UINT64_C(268435906),	// VMAXSD
    UINT64_C(268435778),	// VMAXSH
    UINT64_C(268435842),	// VMAXSW
    UINT64_C(268435458),	// VMAXUB
    UINT64_C(268435650),	// VMAXUD
    UINT64_C(268435522),	// VMAXUH
    UINT64_C(268435586),	// VMAXUW
    UINT64_C(268435488),	// VMHADDSHS
    UINT64_C(268435489),	// VMHRADDSHS
    UINT64_C(268436554),	// VMINFP
    UINT64_C(268436226),	// VMINSB
    UINT64_C(268436418),	// VMINSD
    UINT64_C(268436290),	// VMINSH
    UINT64_C(268436354),	// VMINSW
    UINT64_C(268435970),	// VMINUB
    UINT64_C(268436162),	// VMINUD
    UINT64_C(268436034),	// VMINUH
    UINT64_C(268436098),	// VMINUW
    UINT64_C(268435490),	// VMLADDUHM
    UINT64_C(268437451),	// VMODSD
    UINT64_C(268437259),	// VMODSQ
    UINT64_C(268437387),	// VMODSW
    UINT64_C(268437195),	// VMODUD
    UINT64_C(268437003),	// VMODUQ
    UINT64_C(268437131),	// VMODUW
    UINT64_C(268437388),	// VMRGEW
    UINT64_C(268435468),	// VMRGHB
    UINT64_C(268435532),	// VMRGHH
    UINT64_C(268435596),	// VMRGHW
    UINT64_C(268435724),	// VMRGLB
    UINT64_C(268435788),	// VMRGLH
    UINT64_C(268435852),	// VMRGLW
    UINT64_C(268437132),	// VMRGOW
    UINT64_C(268435479),	// VMSUMCUD
    UINT64_C(268435493),	// VMSUMMBM
    UINT64_C(268435496),	// VMSUMSHM
    UINT64_C(268435497),	// VMSUMSHS
    UINT64_C(268435492),	// VMSUMUBM
    UINT64_C(268435491),	// VMSUMUDM
    UINT64_C(268435494),	// VMSUMUHM
    UINT64_C(268435495),	// VMSUMUHS
    UINT64_C(268435457),	// VMUL10CUQ
    UINT64_C(268435521),	// VMUL10ECUQ
    UINT64_C(268436033),	// VMUL10EUQ
    UINT64_C(268435969),	// VMUL10UQ
    UINT64_C(268436232),	// VMULESB
    UINT64_C(268436424),	// VMULESD
    UINT64_C(268436296),	// VMULESH
    UINT64_C(268436360),	// VMULESW
    UINT64_C(268435976),	// VMULEUB
    UINT64_C(268436168),	// VMULEUD
    UINT64_C(268436040),	// VMULEUH
    UINT64_C(268436104),	// VMULEUW
    UINT64_C(268436425),	// VMULHSD
    UINT64_C(268436361),	// VMULHSW
    UINT64_C(268436169),	// VMULHUD
    UINT64_C(268436105),	// VMULHUW
    UINT64_C(268435913),	// VMULLD
    UINT64_C(268435720),	// VMULOSB
    UINT64_C(268435912),	// VMULOSD
    UINT64_C(268435784),	// VMULOSH
    UINT64_C(268435848),	// VMULOSW
    UINT64_C(268435464),	// VMULOUB
    UINT64_C(268435656),	// VMULOUD
    UINT64_C(268435528),	// VMULOUH
    UINT64_C(268435592),	// VMULOUW
    UINT64_C(268435593),	// VMULUWM
    UINT64_C(268436868),	// VNAND
    UINT64_C(268436808),	// VNCIPHER
    UINT64_C(268436809),	// VNCIPHERLAST
    UINT64_C(268895746),	// VNEGD
    UINT64_C(268830210),	// VNEGW
    UINT64_C(268435503),	// VNMSUBFP
    UINT64_C(268436740),	// VNOR
    UINT64_C(268436612),	// VOR
    UINT64_C(268436804),	// VORC
    UINT64_C(268436941),	// VPDEPD
    UINT64_C(268435499),	// VPERM
    UINT64_C(268435515),	// VPERMR
    UINT64_C(268435501),	// VPERMXOR
    UINT64_C(268436877),	// VPEXTD
    UINT64_C(268436238),	// VPKPX
    UINT64_C(268436942),	// VPKSDSS
    UINT64_C(268436814),	// VPKSDUS
    UINT64_C(268435854),	// VPKSHSS
    UINT64_C(268435726),	// VPKSHUS
    UINT64_C(268435918),	// VPKSWSS
    UINT64_C(268435790),	// VPKSWUS
    UINT64_C(268436558),	// VPKUDUM
    UINT64_C(268436686),	// VPKUDUS
    UINT64_C(268435470),	// VPKUHUM
    UINT64_C(268435598),	// VPKUHUS
    UINT64_C(268435534),	// VPKUWUM
    UINT64_C(268435662),	// VPKUWUS
    UINT64_C(268436488),	// VPMSUMB
    UINT64_C(268436680),	// VPMSUMD
    UINT64_C(268436552),	// VPMSUMH
    UINT64_C(268436616),	// VPMSUMW
    UINT64_C(268437251),	// VPOPCNTB
    UINT64_C(268437443),	// VPOPCNTD
    UINT64_C(268437315),	// VPOPCNTH
    UINT64_C(268437379),	// VPOPCNTW
    UINT64_C(269026818),	// VPRTYBD
    UINT64_C(269092354),	// VPRTYBQ
    UINT64_C(268961282),	// VPRTYBW
    UINT64_C(268435722),	// VREFP
    UINT64_C(268436170),	// VRFIM
    UINT64_C(268435978),	// VRFIN
    UINT64_C(268436106),	// VRFIP
    UINT64_C(268436042),	// VRFIZ
    UINT64_C(268435460),	// VRLB
    UINT64_C(268435652),	// VRLD
    UINT64_C(268435653),	// VRLDMI
    UINT64_C(268435909),	// VRLDNM
    UINT64_C(268435524),	// VRLH
    UINT64_C(268435461),	// VRLQ
    UINT64_C(268435525),	// VRLQMI
    UINT64_C(268435781),	// VRLQNM
    UINT64_C(268435588),	// VRLW
    UINT64_C(268435589),	// VRLWMI
    UINT64_C(268435845),	// VRLWNM
    UINT64_C(268435786),	// VRSQRTEFP
    UINT64_C(268436936),	// VSBOX
    UINT64_C(268435498),	// VSEL
    UINT64_C(268437186),	// VSHASIGMAD
    UINT64_C(268437122),	// VSHASIGMAW
    UINT64_C(268435908),	// VSL
    UINT64_C(268435716),	// VSLB
    UINT64_C(268436932),	// VSLD
    UINT64_C(268435478),	// VSLDBI
    UINT64_C(268435500),	// VSLDOI
    UINT64_C(268435780),	// VSLH
    UINT64_C(268436492),	// VSLO
    UINT64_C(268435717),	// VSLQ
    UINT64_C(268437316),	// VSLV
    UINT64_C(268435844),	// VSLW
    UINT64_C(268435980),	// VSPLTB
    UINT64_C(268435980),	// VSPLTBs
    UINT64_C(268436044),	// VSPLTH
    UINT64_C(268436044),	// VSPLTHs
    UINT64_C(268436236),	// VSPLTISB
    UINT64_C(268436300),	// VSPLTISH
    UINT64_C(268436364),	// VSPLTISW
    UINT64_C(268436108),	// VSPLTW
    UINT64_C(268436164),	// VSR
    UINT64_C(268436228),	// VSRAB
    UINT64_C(268436420),	// VSRAD
    UINT64_C(268436292),	// VSRAH
    UINT64_C(268436229),	// VSRAQ
    UINT64_C(268436356),	// VSRAW
    UINT64_C(268435972),	// VSRB
    UINT64_C(268437188),	// VSRD
    UINT64_C(268435990),	// VSRDBI
    UINT64_C(268436036),	// VSRH
    UINT64_C(268436556),	// VSRO
    UINT64_C(268435973),	// VSRQ
    UINT64_C(268437252),	// VSRV
    UINT64_C(268436100),	// VSRW
    UINT64_C(268435469),	// VSTRIBL
    UINT64_C(268436493),	// VSTRIBL_rec
    UINT64_C(268501005),	// VSTRIBR
    UINT64_C(268502029),	// VSTRIBR_rec
    UINT64_C(268566541),	// VSTRIHL
    UINT64_C(268567565),	// VSTRIHL_rec
    UINT64_C(268632077),	// VSTRIHR
    UINT64_C(268633101),	// VSTRIHR_rec
    UINT64_C(268436800),	// VSUBCUQ
    UINT64_C(268436864),	// VSUBCUW
    UINT64_C(268435519),	// VSUBECUQ
    UINT64_C(268435518),	// VSUBEUQM
    UINT64_C(268435530),	// VSUBFP
    UINT64_C(268437248),	// VSUBSBS
    UINT64_C(268437312),	// VSUBSHS
    UINT64_C(268437376),	// VSUBSWS
    UINT64_C(268436480),	// VSUBUBM
    UINT64_C(268436992),	// VSUBUBS
    UINT64_C(268436672),	// VSUBUDM
    UINT64_C(268436544),	// VSUBUHM
    UINT64_C(268437056),	// VSUBUHS
    UINT64_C(268436736),	// VSUBUQM
    UINT64_C(268436608),	// VSUBUWM
    UINT64_C(268437120),	// VSUBUWS
    UINT64_C(268437128),	// VSUM2SWS
    UINT64_C(268437256),	// VSUM4SBS
    UINT64_C(268437064),	// VSUM4SHS
    UINT64_C(268437000),	// VSUM4UBS
    UINT64_C(268437384),	// VSUMSWS
    UINT64_C(268436302),	// VUPKHPX
    UINT64_C(268435982),	// VUPKHSB
    UINT64_C(268436046),	// VUPKHSH
    UINT64_C(268437070),	// VUPKHSW
    UINT64_C(268436430),	// VUPKLPX
    UINT64_C(268436110),	// VUPKLSB
    UINT64_C(268436174),	// VUPKLSH
    UINT64_C(268437198),	// VUPKLSW
    UINT64_C(268436676),	// VXOR
    UINT64_C(268436676),	// V_SET0
    UINT64_C(268436676),	// V_SET0B
    UINT64_C(268436676),	// V_SET0H
    UINT64_C(270467980),	// V_SETALLONES
    UINT64_C(270467980),	// V_SETALLONESB
    UINT64_C(270467980),	// V_SETALLONESH
    UINT64_C(2080374844),	// WAIT
    UINT64_C(2080375046),	// WRTEE
    UINT64_C(2080375110),	// WRTEEI
    UINT64_C(2080375416),	// XOR
    UINT64_C(2080375416),	// XOR8
    UINT64_C(2080375417),	// XOR8_rec
    UINT64_C(1744830464),	// XORI
    UINT64_C(1744830464),	// XORI8
    UINT64_C(1811939328),	// XORIS
    UINT64_C(1811939328),	// XORIS8
    UINT64_C(2080375417),	// XOR_rec
    UINT64_C(4026533220),	// XSABSDP
    UINT64_C(4227860040),	// XSABSQP
    UINT64_C(4026532096),	// XSADDDP
    UINT64_C(4227858440),	// XSADDQP
    UINT64_C(4227858441),	// XSADDQPO
    UINT64_C(4026531840),	// XSADDSP
    UINT64_C(4026531864),	// XSCMPEQDP
    UINT64_C(4227858568),	// XSCMPEQQP
    UINT64_C(4026532312),	// XSCMPEXPDP
    UINT64_C(4227858760),	// XSCMPEXPQP
    UINT64_C(4026531992),	// XSCMPGEDP
    UINT64_C(4227858824),	// XSCMPGEQP
    UINT64_C(4026531928),	// XSCMPGTDP
    UINT64_C(4227858888),	// XSCMPGTQP
    UINT64_C(4026532184),	// XSCMPODP
    UINT64_C(4227858696),	// XSCMPOQP
    UINT64_C(4026532120),	// XSCMPUDP
    UINT64_C(4227859720),	// XSCMPUQP
    UINT64_C(4026533248),	// XSCPSGNDP
    UINT64_C(4227858632),	// XSCPSGNQP
    UINT64_C(4027647340),	// XSCVDPHP
    UINT64_C(4229301896),	// XSCVDPQP
    UINT64_C(4026532900),	// XSCVDPSP
    UINT64_C(4026532908),	// XSCVDPSPN
    UINT64_C(4026533216),	// XSCVDPSXDS
    UINT64_C(4026533216),	// XSCVDPSXDSs
    UINT64_C(4026532192),	// XSCVDPSXWS
    UINT64_C(4026532192),	// XSCVDPSXWSs
    UINT64_C(4026533152),	// XSCVDPUXDS
    UINT64_C(4026533152),	// XSCVDPUXDSs
    UINT64_C(4026532128),	// XSCVDPUXWS
    UINT64_C(4026532128),	// XSCVDPUXWSs
    UINT64_C(4027581804),	// XSCVHPDP
    UINT64_C(4229170824),	// XSCVQPDP
    UINT64_C(4229170825),	// XSCVQPDPO
    UINT64_C(4229498504),	// XSCVQPSDZ
    UINT64_C(4228384392),	// XSCVQPSQZ
    UINT64_C(4228449928),	// XSCVQPSWZ
    UINT64_C(4228974216),	// XSCVQPUDZ
    UINT64_C(4227860104),	// XSCVQPUQZ
    UINT64_C(4227925640),	// XSCVQPUWZ
    UINT64_C(4228515464),	// XSCVSDQP
    UINT64_C(4026533156),	// XSCVSPDP
    UINT64_C(4026533164),	// XSCVSPDPN
    UINT64_C(4228581000),	// XSCVSQQP
    UINT64_C(4026533344),	// XSCVSXDDP
    UINT64_C(4026533088),	// XSCVSXDSP
    UINT64_C(4227991176),	// XSCVUDQP
    UINT64_C(4228056712),	// XSCVUQQP
    UINT64_C(4026533280),	// XSCVUXDDP
    UINT64_C(4026533024),	// XSCVUXDSP
    UINT64_C(4026532288),	// XSDIVDP
    UINT64_C(4227859528),	// XSDIVQP
    UINT64_C(4227859529),	// XSDIVQPO
    UINT64_C(4026532032),	// XSDIVSP
    UINT64_C(4026533676),	// XSIEXPDP
    UINT64_C(4227860168),	// XSIEXPQP
    UINT64_C(4026532104),	// XSMADDADP
    UINT64_C(4026531848),	// XSMADDASP
    UINT64_C(4026532168),	// XSMADDMDP
    UINT64_C(4026531912),	// XSMADDMSP
    UINT64_C(4227859208),	// XSMADDQP
    UINT64_C(4227859209),	// XSMADDQPO
    UINT64_C(4026532864),	// XSMAXCDP
    UINT64_C(4227859784),	// XSMAXCQP
    UINT64_C(4026533120),	// XSMAXDP
    UINT64_C(4026532992),	// XSMAXJDP
    UINT64_C(4026532928),	// XSMINCDP
    UINT64_C(4227859912),	// XSMINCQP
    UINT64_C(4026533184),	// XSMINDP
    UINT64_C(4026533056),	// XSMINJDP
    UINT64_C(4026532232),	// XSMSUBADP
    UINT64_C(4026531976),	// XSMSUBASP
    UINT64_C(4026532296),	// XSMSUBMDP
    UINT64_C(4026532040),	// XSMSUBMSP
    UINT64_C(4227859272),	// XSMSUBQP
    UINT64_C(4227859273),	// XSMSUBQPO
    UINT64_C(4026532224),	// XSMULDP
    UINT64_C(4227858504),	// XSMULQP
    UINT64_C(4227858505),	// XSMULQPO
    UINT64_C(4026531968),	// XSMULSP
    UINT64_C(4026533284),	// XSNABSDP
    UINT64_C(4026533284),	// XSNABSDPs
    UINT64_C(4228384328),	// XSNABSQP
    UINT64_C(4026533348),	// XSNEGDP
    UINT64_C(4228908616),	// XSNEGQP
    UINT64_C(4026533128),	// XSNMADDADP
    UINT64_C(4026532872),	// XSNMADDASP
    UINT64_C(4026533192),	// XSNMADDMDP
    UINT64_C(4026532936),	// XSNMADDMSP
    UINT64_C(4227859336),	// XSNMADDQP
    UINT64_C(4227859337),	// XSNMADDQPO
    UINT64_C(4026533256),	// XSNMSUBADP
    UINT64_C(4026533000),	// XSNMSUBASP
    UINT64_C(4026533320),	// XSNMSUBMDP
    UINT64_C(4026533064),	// XSNMSUBMSP
    UINT64_C(4227859400),	// XSNMSUBQP
    UINT64_C(4227859401),	// XSNMSUBQPO
    UINT64_C(4026532132),	// XSRDPI
    UINT64_C(4026532268),	// XSRDPIC
    UINT64_C(4026532324),	// XSRDPIM
    UINT64_C(4026532260),	// XSRDPIP
    UINT64_C(4026532196),	// XSRDPIZ
    UINT64_C(4026532200),	// XSREDP
    UINT64_C(4026531944),	// XSRESP
    UINT64_C(4227858442),	// XSRQPI
    UINT64_C(4227858443),	// XSRQPIX
    UINT64_C(4227858506),	// XSRQPXP
    UINT64_C(4026532964),	// XSRSP
    UINT64_C(4026532136),	// XSRSQRTEDP
    UINT64_C(4026531880),	// XSRSQRTESP
    UINT64_C(4026532140),	// XSSQRTDP
    UINT64_C(4229629512),	// XSSQRTQP
    UINT64_C(4229629513),	// XSSQRTQPO
    UINT64_C(4026531884),	// XSSQRTSP
    UINT64_C(4026532160),	// XSSUBDP
    UINT64_C(4227859464),	// XSSUBQP
    UINT64_C(4227859465),	// XSSUBQPO
    UINT64_C(4026531904),	// XSSUBSP
    UINT64_C(4026532328),	// XSTDIVDP
    UINT64_C(4026532264),	// XSTSQRTDP
    UINT64_C(4026533288),	// XSTSTDCDP
    UINT64_C(4227859848),	// XSTSTDCQP
    UINT64_C(4026533032),	// XSTSTDCSP
    UINT64_C(4026533228),	// XSXEXPDP
    UINT64_C(4227991112),	// XSXEXPQP
    UINT64_C(4026598764),	// XSXSIGDP
    UINT64_C(4229039688),	// XSXSIGQP
    UINT64_C(4026533732),	// XVABSDP
    UINT64_C(4026533476),	// XVABSSP
    UINT64_C(4026532608),	// XVADDDP
    UINT64_C(4026532352),	// XVADDSP
    UINT64_C(3959423384),	// XVBF16GER2
    UINT64_C(3959424912),	// XVBF16GER2NN
    UINT64_C(3959423888),	// XVBF16GER2NP
    UINT64_C(3959424400),	// XVBF16GER2PN
    UINT64_C(3959423376),	// XVBF16GER2PP
    UINT64_C(3959423384),	// XVBF16GER2W
    UINT64_C(3959424912),	// XVBF16GER2WNN
    UINT64_C(3959423888),	// XVBF16GER2WNP
    UINT64_C(3959424400),	// XVBF16GER2WPN
    UINT64_C(3959423376),	// XVBF16GER2WPP
    UINT64_C(4026532632),	// XVCMPEQDP
    UINT64_C(4026533656),	// XVCMPEQDP_rec
    UINT64_C(4026532376),	// XVCMPEQSP
    UINT64_C(4026533400),	// XVCMPEQSP_rec
    UINT64_C(4026532760),	// XVCMPGEDP
    UINT64_C(4026533784),	// XVCMPGEDP_rec
    UINT64_C(4026532504),	// XVCMPGESP
    UINT64_C(4026533528),	// XVCMPGESP_rec
    UINT64_C(4026532696),	// XVCMPGTDP
    UINT64_C(4026533720),	// XVCMPGTDP_rec
    UINT64_C(4026532440),	// XVCMPGTSP
    UINT64_C(4026533464),	// XVCMPGTSP_rec
    UINT64_C(4026533760),	// XVCPSGNDP
    UINT64_C(4026533504),	// XVCPSGNSP
    UINT64_C(4027582316),	// XVCVBF16SPN
    UINT64_C(4026533412),	// XVCVDPSP
    UINT64_C(4026533728),	// XVCVDPSXDS
    UINT64_C(4026532704),	// XVCVDPSXWS
    UINT64_C(4026533664),	// XVCVDPUXDS
    UINT64_C(4026532640),	// XVCVDPUXWS
    UINT64_C(4028106604),	// XVCVHPSP
    UINT64_C(4027647852),	// XVCVSPBF16
    UINT64_C(4026533668),	// XVCVSPDP
    UINT64_C(4028172140),	// XVCVSPHP
    UINT64_C(4026533472),	// XVCVSPSXDS
    UINT64_C(4026532448),	// XVCVSPSXWS
    UINT64_C(4026533408),	// XVCVSPUXDS
    UINT64_C(4026532384),	// XVCVSPUXWS
    UINT64_C(4026533856),	// XVCVSXDDP
    UINT64_C(4026533600),	// XVCVSXDSP
    UINT64_C(4026532832),	// XVCVSXWDP
    UINT64_C(4026532576),	// XVCVSXWSP
    UINT64_C(4026533792),	// XVCVUXDDP
    UINT64_C(4026533536),	// XVCVUXDSP
    UINT64_C(4026532768),	// XVCVUXWDP
    UINT64_C(4026532512),	// XVCVUXWSP
    UINT64_C(4026532800),	// XVDIVDP
    UINT64_C(4026532544),	// XVDIVSP
    UINT64_C(3959423128),	// XVF16GER2
    UINT64_C(3959424656),	// XVF16GER2NN
    UINT64_C(3959423632),	// XVF16GER2NP
    UINT64_C(3959424144),	// XVF16GER2PN
    UINT64_C(3959423120),	// XVF16GER2PP
    UINT64_C(3959423128),	// XVF16GER2W
    UINT64_C(3959424656),	// XVF16GER2WNN
    UINT64_C(3959423632),	// XVF16GER2WNP
    UINT64_C(3959424144),	// XVF16GER2WPN
    UINT64_C(3959423120),	// XVF16GER2WPP
    UINT64_C(3959423192),	// XVF32GER
    UINT64_C(3959424720),	// XVF32GERNN
    UINT64_C(3959423696),	// XVF32GERNP
    UINT64_C(3959424208),	// XVF32GERPN
    UINT64_C(3959423184),	// XVF32GERPP
    UINT64_C(3959423192),	// XVF32GERW
    UINT64_C(3959424720),	// XVF32GERWNN
    UINT64_C(3959423696),	// XVF32GERWNP
    UINT64_C(3959424208),	// XVF32GERWPN
    UINT64_C(3959423184),	// XVF32GERWPP
    UINT64_C(3959423448),	// XVF64GER
    UINT64_C(3959424976),	// XVF64GERNN
    UINT64_C(3959423952),	// XVF64GERNP
    UINT64_C(3959424464),	// XVF64GERPN
    UINT64_C(3959423440),	// XVF64GERPP
    UINT64_C(3959423448),	// XVF64GERW
    UINT64_C(3959424976),	// XVF64GERWNN
    UINT64_C(3959423952),	// XVF64GERWNP
    UINT64_C(3959424464),	// XVF64GERWPN
    UINT64_C(3959423440),	// XVF64GERWPP
    UINT64_C(3959423576),	// XVI16GER2
    UINT64_C(3959423832),	// XVI16GER2PP
    UINT64_C(3959423320),	// XVI16GER2S
    UINT64_C(3959423312),	// XVI16GER2SPP
    UINT64_C(3959423320),	// XVI16GER2SW
    UINT64_C(3959423312),	// XVI16GER2SWPP
    UINT64_C(3959423576),	// XVI16GER2W
    UINT64_C(3959423832),	// XVI16GER2WPP
    UINT64_C(3959423256),	// XVI4GER8
    UINT64_C(3959423248),	// XVI4GER8PP
    UINT64_C(3959423256),	// XVI4GER8W
    UINT64_C(3959423248),	// XVI4GER8WPP
    UINT64_C(3959423000),	// XVI8GER4
    UINT64_C(3959422992),	// XVI8GER4PP
    UINT64_C(3959423768),	// XVI8GER4SPP
    UINT64_C(3959423000),	// XVI8GER4W
    UINT64_C(3959422992),	// XVI8GER4WPP
    UINT64_C(3959423768),	// XVI8GER4WSPP
    UINT64_C(4026533824),	// XVIEXPDP
    UINT64_C(4026533568),	// XVIEXPSP
    UINT64_C(4026532616),	// XVMADDADP
    UINT64_C(4026532360),	// XVMADDASP
    UINT64_C(4026532680),	// XVMADDMDP
    UINT64_C(4026532424),	// XVMADDMSP
    UINT64_C(4026533632),	// XVMAXDP
    UINT64_C(4026533376),	// XVMAXSP
    UINT64_C(4026533696),	// XVMINDP
    UINT64_C(4026533440),	// XVMINSP
    UINT64_C(4026532744),	// XVMSUBADP
    UINT64_C(4026532488),	// XVMSUBASP
    UINT64_C(4026532808),	// XVMSUBMDP
    UINT64_C(4026532552),	// XVMSUBMSP
    UINT64_C(4026532736),	// XVMULDP
    UINT64_C(4026532480),	// XVMULSP
    UINT64_C(4026533796),	// XVNABSDP
    UINT64_C(4026533540),	// XVNABSSP
    UINT64_C(4026533860),	// XVNEGDP
    UINT64_C(4026533604),	// XVNEGSP
    UINT64_C(4026533640),	// XVNMADDADP
    UINT64_C(4026533384),	// XVNMADDASP
    UINT64_C(4026533704),	// XVNMADDMDP
    UINT64_C(4026533448),	// XVNMADDMSP
    UINT64_C(4026533768),	// XVNMSUBADP
    UINT64_C(4026533512),	// XVNMSUBASP
    UINT64_C(4026533832),	// XVNMSUBMDP
    UINT64_C(4026533576),	// XVNMSUBMSP
    UINT64_C(4026532644),	// XVRDPI
    UINT64_C(4026532780),	// XVRDPIC
    UINT64_C(4026532836),	// XVRDPIM
    UINT64_C(4026532772),	// XVRDPIP
    UINT64_C(4026532708),	// XVRDPIZ
    UINT64_C(4026532712),	// XVREDP
    UINT64_C(4026532456),	// XVRESP
    UINT64_C(4026532388),	// XVRSPI
    UINT64_C(4026532524),	// XVRSPIC
    UINT64_C(4026532580),	// XVRSPIM
    UINT64_C(4026532516),	// XVRSPIP
    UINT64_C(4026532452),	// XVRSPIZ
    UINT64_C(4026532648),	// XVRSQRTEDP
    UINT64_C(4026532392),	// XVRSQRTESP
    UINT64_C(4026532652),	// XVSQRTDP
    UINT64_C(4026532396),	// XVSQRTSP
    UINT64_C(4026532672),	// XVSUBDP
    UINT64_C(4026532416),	// XVSUBSP
    UINT64_C(4026532840),	// XVTDIVDP
    UINT64_C(4026532584),	// XVTDIVSP
    UINT64_C(4026664812),	// XVTLSBB
    UINT64_C(4026532776),	// XVTSQRTDP
    UINT64_C(4026532520),	// XVTSQRTSP
    UINT64_C(4026533800),	// XVTSTDCDP
    UINT64_C(4026533544),	// XVTSTDCSP
    UINT64_C(4026533740),	// XVXEXPDP
    UINT64_C(4027058028),	// XVXEXPSP
    UINT64_C(4026599276),	// XVXSIGDP
    UINT64_C(4027123564),	// XVXSIGSP
    UINT64_C(360287972404232192),	// XXBLENDVB
    UINT64_C(360287972404232240),	// XXBLENDVD
    UINT64_C(360287972404232208),	// XXBLENDVH
    UINT64_C(360287972404232224),	// XXBLENDVW
    UINT64_C(4028041068),	// XXBRD
    UINT64_C(4026992492),	// XXBRH
    UINT64_C(4028565356),	// XXBRQ
    UINT64_C(4027516780),	// XXBRW
    UINT64_C(360287972471341072),	// XXEVAL
    UINT64_C(4026532500),	// XXEXTRACTUW
    UINT64_C(4026533672),	// XXGENPCVBM
    UINT64_C(4026533738),	// XXGENPCVDM
    UINT64_C(4026533674),	// XXGENPCVHM
    UINT64_C(4026533736),	// XXGENPCVWM
    UINT64_C(4026532564),	// XXINSERTW
    UINT64_C(4026532880),	// XXLAND
    UINT64_C(4026532944),	// XXLANDC
    UINT64_C(4026533328),	// XXLEQV
    UINT64_C(4026533328),	// XXLEQVOnes
    UINT64_C(4026533264),	// XXLNAND
    UINT64_C(4026533136),	// XXLNOR
    UINT64_C(4026533008),	// XXLOR
    UINT64_C(4026533200),	// XXLORC
    UINT64_C(4026533008),	// XXLORf
    UINT64_C(4026533072),	// XXLXOR
    UINT64_C(4026533072),	// XXLXORdpz
    UINT64_C(4026533072),	// XXLXORspz
    UINT64_C(4026533072),	// XXLXORz
    UINT64_C(2080375138),	// XXMFACC
    UINT64_C(2080375138),	// XXMFACCW
    UINT64_C(4026531984),	// XXMRGHW
    UINT64_C(4026532240),	// XXMRGLW
    UINT64_C(2080440674),	// XXMTACC
    UINT64_C(2080440674),	// XXMTACCW
    UINT64_C(4026532048),	// XXPERM
    UINT64_C(4026531920),	// XXPERMDI
    UINT64_C(4026531920),	// XXPERMDIs
    UINT64_C(4026532304),	// XXPERMR
    UINT64_C(360287972471341056),	// XXPERMX
    UINT64_C(4026531888),	// XXSEL
    UINT64_C(2080571746),	// XXSETACCZ
    UINT64_C(2080571746),	// XXSETACCZW
    UINT64_C(4026531856),	// XXSLDWI
    UINT64_C(4026531856),	// XXSLDWIs
    UINT64_C(360287972337123328),	// XXSPLTI32DX
    UINT64_C(4026532560),	// XXSPLTIB
    UINT64_C(360287972337385472),	// XXSPLTIDP
    UINT64_C(360287972337516544),	// XXSPLTIW
    UINT64_C(4026532496),	// XXSPLTW
    UINT64_C(4026532496),	// XXSPLTWs
    UINT64_C(1073741824),	// gBC
    UINT64_C(1073741826),	// gBCA
    UINT64_C(1073741826),	// gBCAat
    UINT64_C(1275069472),	// gBCCTR
    UINT64_C(1275069473),	// gBCCTRL
    UINT64_C(1073741825),	// gBCL
    UINT64_C(1073741827),	// gBCLA
    UINT64_C(1073741827),	// gBCLAat
    UINT64_C(1275068448),	// gBCLR
    UINT64_C(1275068449),	// gBCLRL
    UINT64_C(1073741825),	// gBCLat
    UINT64_C(1073741824),	// gBCat
    UINT64_C(0)
  };
  const unsigned opcode = MI.getOpcode();
  uint64_t Value = InstBits[opcode];
  uint64_t op = 0;
  (void)op;  // suppress warning
  switch (opcode) {
    case PPC::ADDISdtprelHA:
    case PPC::ADDISdtprelHA32:
    case PPC::ADDISgotTprelHA:
    case PPC::ADDIStlsgdHA:
    case PPC::ADDIStlsldHA:
    case PPC::ADDIStocHA:
    case PPC::ADDIStocHA8:
    case PPC::ADDIdtprelL:
    case PPC::ADDIdtprelL32:
    case PPC::ADDItlsgdL:
    case PPC::ADDItlsgdL32:
    case PPC::ADDItlsgdLADDR:
    case PPC::ADDItlsgdLADDR32:
    case PPC::ADDItlsldL:
    case PPC::ADDItlsldL32:
    case PPC::ADDItlsldLADDR:
    case PPC::ADDItlsldLADDR32:
    case PPC::ADDItoc:
    case PPC::ADDItoc8:
    case PPC::ADDItocL:
    case PPC::ADJCALLSTACKDOWN:
    case PPC::ADJCALLSTACKUP:
    case PPC::ANDI_rec_1_EQ_BIT:
    case PPC::ANDI_rec_1_EQ_BIT8:
    case PPC::ANDI_rec_1_GT_BIT:
    case PPC::ANDI_rec_1_GT_BIT8:
    case PPC::ATOMIC_CMP_SWAP_I16:
    case PPC::ATOMIC_CMP_SWAP_I32:
    case PPC::ATOMIC_CMP_SWAP_I64:
    case PPC::ATOMIC_CMP_SWAP_I8:
    case PPC::ATOMIC_LOAD_ADD_I16:
    case PPC::ATOMIC_LOAD_ADD_I32:
    case PPC::ATOMIC_LOAD_ADD_I64:
    case PPC::ATOMIC_LOAD_ADD_I8:
    case PPC::ATOMIC_LOAD_AND_I16:
    case PPC::ATOMIC_LOAD_AND_I32:
    case PPC::ATOMIC_LOAD_AND_I64:
    case PPC::ATOMIC_LOAD_AND_I8:
    case PPC::ATOMIC_LOAD_MAX_I16:
    case PPC::ATOMIC_LOAD_MAX_I32:
    case PPC::ATOMIC_LOAD_MAX_I64:
    case PPC::ATOMIC_LOAD_MAX_I8:
    case PPC::ATOMIC_LOAD_MIN_I16:
    case PPC::ATOMIC_LOAD_MIN_I32:
    case PPC::ATOMIC_LOAD_MIN_I64:
    case PPC::ATOMIC_LOAD_MIN_I8:
    case PPC::ATOMIC_LOAD_NAND_I16:
    case PPC::ATOMIC_LOAD_NAND_I32:
    case PPC::ATOMIC_LOAD_NAND_I64:
    case PPC::ATOMIC_LOAD_NAND_I8:
    case PPC::ATOMIC_LOAD_OR_I16:
    case PPC::ATOMIC_LOAD_OR_I32:
    case PPC::ATOMIC_LOAD_OR_I64:
    case PPC::ATOMIC_LOAD_OR_I8:
    case PPC::ATOMIC_LOAD_SUB_I16:
    case PPC::ATOMIC_LOAD_SUB_I32:
    case PPC::ATOMIC_LOAD_SUB_I64:
    case PPC::ATOMIC_LOAD_SUB_I8:
    case PPC::ATOMIC_LOAD_UMAX_I16:
    case PPC::ATOMIC_LOAD_UMAX_I32:
    case PPC::ATOMIC_LOAD_UMAX_I64:
    case PPC::ATOMIC_LOAD_UMAX_I8:
    case PPC::ATOMIC_LOAD_UMIN_I16:
    case PPC::ATOMIC_LOAD_UMIN_I32:
    case PPC::ATOMIC_LOAD_UMIN_I64:
    case PPC::ATOMIC_LOAD_UMIN_I8:
    case PPC::ATOMIC_LOAD_XOR_I16:
    case PPC::ATOMIC_LOAD_XOR_I32:
    case PPC::ATOMIC_LOAD_XOR_I64:
    case PPC::ATOMIC_LOAD_XOR_I8:
    case PPC::ATOMIC_SWAP_I16:
    case PPC::ATOMIC_SWAP_I32:
    case PPC::ATOMIC_SWAP_I64:
    case PPC::ATOMIC_SWAP_I8:
    case PPC::ATTN:
    case PPC::BCTR:
    case PPC::BCTR8:
    case PPC::BCTRL:
    case PPC::BCTRL8:
    case PPC::BCTRL8_RM:
    case PPC::BCTRL_RM:
    case PPC::BDNZLR:
    case PPC::BDNZLR8:
    case PPC::BDNZLRL:
    case PPC::BDNZLRLm:
    case PPC::BDNZLRLp:
    case PPC::BDNZLRm:
    case PPC::BDNZLRp:
    case PPC::BDZLR:
    case PPC::BDZLR8:
    case PPC::BDZLRL:
    case PPC::BDZLRLm:
    case PPC::BDZLRLp:
    case PPC::BDZLRm:
    case PPC::BDZLRp:
    case PPC::BLR:
    case PPC::BLR8:
    case PPC::BLRL:
    case PPC::CLRBHRB:
    case PPC::CP_ABORT:
    case PPC::CR6SET:
    case PPC::CR6UNSET:
    case PPC::DSSALL:
    case PPC::DYNALLOC:
    case PPC::DYNALLOC8:
    case PPC::DYNAREAOFFSET:
    case PPC::DYNAREAOFFSET8:
    case PPC::DecreaseCTR8loop:
    case PPC::DecreaseCTRloop:
    case PPC::EH_SjLj_LongJmp32:
    case PPC::EH_SjLj_LongJmp64:
    case PPC::EH_SjLj_SetJmp32:
    case PPC::EH_SjLj_SetJmp64:
    case PPC::EH_SjLj_Setup:
    case PPC::EnforceIEIO:
    case PPC::FADDrtz:
    case PPC::GETtlsADDR:
    case PPC::GETtlsADDR32:
    case PPC::GETtlsADDR32AIX:
    case PPC::GETtlsADDR64AIX:
    case PPC::GETtlsADDRPCREL:
    case PPC::GETtlsldADDR:
    case PPC::GETtlsldADDR32:
    case PPC::GETtlsldADDRPCREL:
    case PPC::HRFID:
    case PPC::ISYNC:
    case PPC::LDgotTprelL:
    case PPC::LDgotTprelL32:
    case PPC::LDtoc:
    case PPC::LDtocBA:
    case PPC::LDtocCPT:
    case PPC::LDtocJTI:
    case PPC::LDtocL:
    case PPC::LQX_PSEUDO:
    case PPC::LWZtoc:
    case PPC::LWZtocL:
    case PPC::MSGSYNC:
    case PPC::MSYNC:
    case PPC::MoveGOTtoLR:
    case PPC::MovePCtoLR:
    case PPC::MovePCtoLR8:
    case PPC::NAP:
    case PPC::NOP:
    case PPC::NOP_GT_PWR6:
    case PPC::NOP_GT_PWR7:
    case PPC::PADDIdtprel:
    case PPC::PPC32GOT:
    case PPC::PPC32PICGOT:
    case PPC::PREPARE_PROBED_ALLOCA_32:
    case PPC::PREPARE_PROBED_ALLOCA_64:
    case PPC::PREPARE_PROBED_ALLOCA_NEGSIZE_SAME_REG_32:
    case PPC::PREPARE_PROBED_ALLOCA_NEGSIZE_SAME_REG_64:
    case PPC::PROBED_ALLOCA_32:
    case PPC::PROBED_ALLOCA_64:
    case PPC::PROBED_STACKALLOC_32:
    case PPC::PROBED_STACKALLOC_64:
    case PPC::PseudoEIEIO:
    case PPC::RESTORE_ACC:
    case PPC::RESTORE_CR:
    case PPC::RESTORE_CRBIT:
    case PPC::RESTORE_QUADWORD:
    case PPC::RESTORE_UACC:
    case PPC::RESTORE_WACC:
    case PPC::RFCI:
    case PPC::RFDI:
    case PPC::RFI:
    case PPC::RFID:
    case PPC::RFMCI:
    case PPC::ReadTB:
    case PPC::SELECT_CC_F16:
    case PPC::SELECT_CC_F4:
    case PPC::SELECT_CC_F8:
    case PPC::SELECT_CC_I4:
    case PPC::SELECT_CC_I8:
    case PPC::SELECT_CC_SPE:
    case PPC::SELECT_CC_SPE4:
    case PPC::SELECT_CC_VRRC:
    case PPC::SELECT_CC_VSFRC:
    case PPC::SELECT_CC_VSRC:
    case PPC::SELECT_CC_VSSRC:
    case PPC::SELECT_F16:
    case PPC::SELECT_F4:
    case PPC::SELECT_F8:
    case PPC::SELECT_I4:
    case PPC::SELECT_I8:
    case PPC::SELECT_SPE:
    case PPC::SELECT_SPE4:
    case PPC::SELECT_VRRC:
    case PPC::SELECT_VSFRC:
    case PPC::SELECT_VSRC:
    case PPC::SELECT_VSSRC:
    case PPC::SETFLM:
    case PPC::SETRND:
    case PPC::SETRNDi:
    case PPC::SLBIA:
    case PPC::SLBSYNC:
    case PPC::SPILL_ACC:
    case PPC::SPILL_CR:
    case PPC::SPILL_CRBIT:
    case PPC::SPILL_QUADWORD:
    case PPC::SPILL_UACC:
    case PPC::SPILL_WACC:
    case PPC::SPLIT_QUADWORD:
    case PPC::STOP:
    case PPC::STQX_PSEUDO:
    case PPC::TAILBCTR:
    case PPC::TAILBCTR8:
    case PPC::TBEGIN_RET:
    case PPC::TCHECK_RET:
    case PPC::TCRETURNai:
    case PPC::TCRETURNai8:
    case PPC::TCRETURNdi:
    case PPC::TCRETURNdi8:
    case PPC::TCRETURNri:
    case PPC::TCRETURNri8:
    case PPC::TLBIA:
    case PPC::TLBRE:
    case PPC::TLBSYNC:
    case PPC::TLBWE:
    case PPC::TLSGDAIX:
    case PPC::TLSGDAIX8:
    case PPC::TRAP:
    case PPC::TRECHKPT:
    case PPC::UNENCODED_NOP:
    case PPC::UpdateGBR: {
      break;
    }
    case PPC::TEND: {
      // op: A
      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
      op &= UINT64_C(1);
      op <<= 25;
      Value |= op;
      break;
    }
    case PPC::TABORT:
    case PPC::TRECLAIM: {
      // op: A
      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 16;
      Value |= op;
      break;
    }
    case PPC::DCBA:
    case PPC::DCBFEP:
    case PPC::DCBI:
    case PPC::DCBST:
    case PPC::DCBSTEP:
    case PPC::DCBZ:
    case PPC::DCBZEP:
    case PPC::DCBZL:
    case PPC::DCBZLEP:
    case PPC::DCCCI:
    case PPC::ICBI:
    case PPC::ICBIEP:
    case PPC::ICCCI:
    case PPC::TLBIVAX:
    case PPC::TLBSX: {
      // op: A
      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 16;
      Value |= op;
      // op: B
      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 11;
      Value |= op;
      break;
    }
    case PPC::EXTSWSLI:
    case PPC::EXTSWSLI_32_64:
    case PPC::EXTSWSLI_32_64_rec:
    case PPC::EXTSWSLI_rec:
    case PPC::SRADI:
    case PPC::SRADI_32:
    case PPC::SRADI_rec: {
      // op: A
      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 16;
      Value |= op;
      // op: RS
      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 21;
      Value |= op;
      // op: SH
      op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
      Value |= (op & UINT64_C(31)) << 11;
      Value |= (op & UINT64_C(32)) >> 4;
      break;
    }
    case PPC::BRD:
    case PPC::BRH:
    case PPC::BRH8:
    case PPC::BRW:
    case PPC::BRW8:
    case PPC::CNTLZD:
    case PPC::CNTLZD_rec:
    case PPC::CNTLZW:
    case PPC::CNTLZW8:
    case PPC::CNTLZW8_rec:
    case PPC::CNTLZW_rec:
    case PPC::CNTTZD:
    case PPC::CNTTZD_rec:
    case PPC::CNTTZW:
    case PPC::CNTTZW8:
    case PPC::CNTTZW8_rec:
    case PPC::CNTTZW_rec:
    case PPC::EXTSB:
    case PPC::EXTSB8:
    case PPC::EXTSB8_32_64:
    case PPC::EXTSB8_rec:
    case PPC::EXTSB_rec:
    case PPC::EXTSH:
    case PPC::EXTSH8:
    case PPC::EXTSH8_32_64:
    case PPC::EXTSH8_rec:
    case PPC::EXTSH_rec:
    case PPC::EXTSW:
    case PPC::EXTSW_32:
    case PPC::EXTSW_32_64:
    case PPC::EXTSW_32_64_rec:
    case PPC::EXTSW_rec:
    case PPC::POPCNTB:
    case PPC::POPCNTB8:
    case PPC::POPCNTD:
    case PPC::POPCNTW: {
      // op: A
      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 16;
      Value |= op;
      // op: RST
      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 21;
      Value |= op;
      break;
    }
    case PPC::AND:
    case PPC::AND8:
    case PPC::AND8_rec:
    case PPC::ANDC:
    case PPC::ANDC8:
    case PPC::ANDC8_rec:
    case PPC::ANDC_rec:
    case PPC::AND_rec:
    case PPC::BPERMD:
    case PPC::CFUGED:
    case PPC::CMPB:
    case PPC::CMPB8:
    case PPC::CNTLZDM:
    case PPC::CNTTZDM:
    case PPC::EQV:
    case PPC::EQV8:
    case PPC::EQV8_rec:
    case PPC::EQV_rec:
    case PPC::NAND:
    case PPC::NAND8:
    case PPC::NAND8_rec:
    case PPC::NAND_rec:
    case PPC::NOR:
    case PPC::NOR8:
    case PPC::NOR8_rec:
    case PPC::NOR_rec:
    case PPC::OR:
    case PPC::OR8:
    case PPC::OR8_rec:
    case PPC::ORC:
    case PPC::ORC8:
    case PPC::ORC8_rec:
    case PPC::ORC_rec:
    case PPC::OR_rec:
    case PPC::PDEPD:
    case PPC::PEXTD:
    case PPC::SLD:
    case PPC::SLD_rec:
    case PPC::SLW:
    case PPC::SLW8:
    case PPC::SLW8_rec:
    case PPC::SLW_rec:
    case PPC::SRAD:
    case PPC::SRAD_rec:
    case PPC::SRAW:
    case PPC::SRAWI:
    case PPC::SRAWI_rec:
    case PPC::SRAW_rec:
    case PPC::SRD:
    case PPC::SRD_rec:
    case PPC::SRW:
    case PPC::SRW8:
    case PPC::SRW8_rec:
    case PPC::SRW_rec:
    case PPC::XOR:
    case PPC::XOR8:
    case PPC::XOR8_rec:
    case PPC::XOR_rec: {
      // op: A
      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 16;
      Value |= op;
      // op: RST
      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 21;
      Value |= op;
      // op: B
      op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 11;
      Value |= op;
      break;
    }
    case PPC::LBZ:
    case PPC::LBZ8:
    case PPC::LFD:
    case PPC::LFS:
    case PPC::LHA:
    case PPC::LHA8:
    case PPC::LHZ:
    case PPC::LHZ8:
    case PPC::LMW:
    case PPC::LWZ:
    case PPC::LWZ8:
    case PPC::SPELWZ:
    case PPC::SPESTW:
    case PPC::STB:
    case PPC::STB8:
    case PPC::STFD:
    case PPC::STFS:
    case PPC::STH:
    case PPC::STH8:
    case PPC::STMW:
    case PPC::STW:
    case PPC::STW8: {
      // op: A
      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 21;
      Value |= op;
      // op: Addr
      op = getMemRIEncoding(MI, 1, Fixups, STI);
      op &= UINT64_C(2097151);
      Value |= op;
      break;
    }
    case PPC::LBZU:
    case PPC::LBZU8:
    case PPC::LFDU:
    case PPC::LFSU:
    case PPC::LHAU:
    case PPC::LHAU8:
    case PPC::LHZU:
    case PPC::LHZU8:
    case PPC::LWZU:
    case PPC::LWZU8: {
      // op: A
      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 21;
      Value |= op;
      // op: Addr
      op = getMemRIEncoding(MI, 2, Fixups, STI);
      op &= UINT64_C(2097151);
      Value |= op;
      break;
    }
    case PPC::LI:
    case PPC::LI8:
    case PPC::LIS:
    case PPC::LIS8: {
      // op: A
      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 21;
      Value |= op;
      // op: B
      op = getImm16Encoding(MI, 1, Fixups, STI);
      op &= UINT64_C(65535);
      Value |= op;
      break;
    }
    case PPC::ADDI:
    case PPC::ADDI8:
    case PPC::ADDIC:
    case PPC::ADDIC8:
    case PPC::ADDIC_rec:
    case PPC::ADDIS:
    case PPC::ADDIS8:
    case PPC::LA:
    case PPC::LA8:
    case PPC::MULLI:
    case PPC::MULLI8:
    case PPC::SUBFIC:
    case PPC::SUBFIC8:
    case PPC::TDI:
    case PPC::TWI: {
      // op: A
      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 21;
      Value |= op;
      // op: B
      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 16;
      Value |= op;
      // op: C
      op = getImm16Encoding(MI, 2, Fixups, STI);
      op &= UINT64_C(65535);
      Value |= op;
      break;
    }
    case PPC::STBU:
    case PPC::STBU8:
    case PPC::STFDU:
    case PPC::STFSU:
    case PPC::STHU:
    case PPC::STHU8:
    case PPC::STWU:
    case PPC::STWU8: {
      // op: A
      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 21;
      Value |= op;
      // op: Addr
      op = getMemRIEncoding(MI, 2, Fixups, STI);
      op &= UINT64_C(2097151);
      Value |= op;
      break;
    }
    case PPC::DMSETDMRZ:
    case PPC::XXMTACC:
    case PPC::XXMTACCW:
    case PPC::XXSETACCZ:
    case PPC::XXSETACCZW: {
      // op: AT
      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
      op &= UINT64_C(7);
      op <<= 23;
      Value |= op;
      break;
    }
    case PPC::DMMR: {
      // op: AT
      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
      op &= UINT64_C(7);
      op <<= 23;
      Value |= op;
      // op: AB
      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
      op &= UINT64_C(7);
      op <<= 13;
      Value |= op;
      break;
    }
    case PPC::DMXOR: {
      // op: AT
      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
      op &= UINT64_C(7);
      op <<= 23;
      Value |= op;
      // op: AB
      op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
      op &= UINT64_C(7);
      op <<= 13;
      Value |= op;
      break;
    }
    case PPC::XVBF16GER2:
    case PPC::XVBF16GER2W:
    case PPC::XVF16GER2:
    case PPC::XVF16GER2W:
    case PPC::XVF32GER:
    case PPC::XVF32GERW:
    case PPC::XVI16GER2:
    case PPC::XVI16GER2S:
    case PPC::XVI16GER2SW:
    case PPC::XVI16GER2W:
    case PPC::XVI4GER8:
    case PPC::XVI4GER8W:
    case PPC::XVI8GER4:
    case PPC::XVI8GER4W: {
      // op: AT
      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
      op &= UINT64_C(7);
      op <<= 23;
      Value |= op;
      // op: XA
      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
      Value |= (op & UINT64_C(31)) << 16;
      Value |= (op & UINT64_C(32)) >> 3;
      // op: XB
      op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
      Value |= (op & UINT64_C(31)) << 11;
      Value |= (op & UINT64_C(32)) >> 4;
      break;
    }
    case PPC::PMXVF32GER:
    case PPC::PMXVF32GERW: {
      // op: AT
      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
      op &= UINT64_C(7);
      op <<= 23;
      Value |= op;
      // op: XA
      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
      Value |= (op & UINT64_C(31)) << 16;
      Value |= (op & UINT64_C(32)) >> 3;
      // op: XB
      op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
      Value |= (op & UINT64_C(31)) << 11;
      Value |= (op & UINT64_C(32)) >> 4;
      // op: XMSK
      op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
      op &= UINT64_C(15);
      op <<= 36;
      Value |= op;
      // op: YMSK
      op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
      op &= UINT64_C(15);
      op <<= 32;
      Value |= op;
      break;
    }
    case PPC::PMXVI8GER4:
    case PPC::PMXVI8GER4W: {
      // op: AT
      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
      op &= UINT64_C(7);
      op <<= 23;
      Value |= op;
      // op: XA
      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
      Value |= (op & UINT64_C(31)) << 16;
      Value |= (op & UINT64_C(32)) >> 3;
      // op: XB
      op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
      Value |= (op & UINT64_C(31)) << 11;
      Value |= (op & UINT64_C(32)) >> 4;
      // op: XMSK
      op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
      op &= UINT64_C(15);
      op <<= 36;
      Value |= op;
      // op: YMSK
      op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
      op &= UINT64_C(15);
      op <<= 32;
      Value |= op;
      // op: PMSK
      op = getMachineOpValue(MI, MI.getOperand(5), Fixups, STI);
      op &= UINT64_C(15);
      op <<= 44;
      Value |= op;
      break;
    }
    case PPC::PMXVI4GER8:
    case PPC::PMXVI4GER8W: {
      // op: AT
      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
      op &= UINT64_C(7);
      op <<= 23;
      Value |= op;
      // op: XA
      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
      Value |= (op & UINT64_C(31)) << 16;
      Value |= (op & UINT64_C(32)) >> 3;
      // op: XB
      op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
      Value |= (op & UINT64_C(31)) << 11;
      Value |= (op & UINT64_C(32)) >> 4;
      // op: XMSK
      op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
      op &= UINT64_C(15);
      op <<= 36;
      Value |= op;
      // op: YMSK
      op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
      op &= UINT64_C(15);
      op <<= 32;
      Value |= op;
      // op: PMSK
      op = getMachineOpValue(MI, MI.getOperand(5), Fixups, STI);
      op &= UINT64_C(255);
      op <<= 40;
      Value |= op;
      break;
    }
    case PPC::PMXVBF16GER2:
    case PPC::PMXVBF16GER2W:
    case PPC::PMXVF16GER2:
    case PPC::PMXVF16GER2W:
    case PPC::PMXVI16GER2:
    case PPC::PMXVI16GER2S:
    case PPC::PMXVI16GER2SW:
    case PPC::PMXVI16GER2W: {
      // op: AT
      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
      op &= UINT64_C(7);
      op <<= 23;
      Value |= op;
      // op: XA
      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
      Value |= (op & UINT64_C(31)) << 16;
      Value |= (op & UINT64_C(32)) >> 3;
      // op: XB
      op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
      Value |= (op & UINT64_C(31)) << 11;
      Value |= (op & UINT64_C(32)) >> 4;
      // op: XMSK
      op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
      op &= UINT64_C(15);
      op <<= 36;
      Value |= op;
      // op: YMSK
      op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
      op &= UINT64_C(15);
      op <<= 32;
      Value |= op;
      // op: PMSK
      op = getMachineOpValue(MI, MI.getOperand(5), Fixups, STI);
      op &= UINT64_C(3);
      op <<= 46;
      Value |= op;
      break;
    }
    case PPC::XVBF16GER2NN:
    case PPC::XVBF16GER2NP:
    case PPC::XVBF16GER2PN:
    case PPC::XVBF16GER2PP:
    case PPC::XVBF16GER2WNN:
    case PPC::XVBF16GER2WNP:
    case PPC::XVBF16GER2WPN:
    case PPC::XVBF16GER2WPP:
    case PPC::XVF16GER2NN:
    case PPC::XVF16GER2NP:
    case PPC::XVF16GER2PN:
    case PPC::XVF16GER2PP:
    case PPC::XVF16GER2WNN:
    case PPC::XVF16GER2WNP:
    case PPC::XVF16GER2WPN:
    case PPC::XVF16GER2WPP:
    case PPC::XVF32GERNN:
    case PPC::XVF32GERNP:
    case PPC::XVF32GERPN:
    case PPC::XVF32GERPP:
    case PPC::XVF32GERWNN:
    case PPC::XVF32GERWNP:
    case PPC::XVF32GERWPN:
    case PPC::XVF32GERWPP:
    case PPC::XVI16GER2PP:
    case PPC::XVI16GER2SPP:
    case PPC::XVI16GER2SWPP:
    case PPC::XVI16GER2WPP:
    case PPC::XVI4GER8PP:
    case PPC::XVI4GER8WPP:
    case PPC::XVI8GER4PP:
    case PPC::XVI8GER4SPP:
    case PPC::XVI8GER4WPP:
    case PPC::XVI8GER4WSPP: {
      // op: AT
      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
      op &= UINT64_C(7);
      op <<= 23;
      Value |= op;
      // op: XA
      op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
      Value |= (op & UINT64_C(31)) << 16;
      Value |= (op & UINT64_C(32)) >> 3;
      // op: XB
      op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
      Value |= (op & UINT64_C(31)) << 11;
      Value |= (op & UINT64_C(32)) >> 4;
      break;
    }
    case PPC::PMXVF32GERNN:
    case PPC::PMXVF32GERNP:
    case PPC::PMXVF32GERPN:
    case PPC::PMXVF32GERPP:
    case PPC::PMXVF32GERWNN:
    case PPC::PMXVF32GERWNP:
    case PPC::PMXVF32GERWPN:
    case PPC::PMXVF32GERWPP: {
      // op: AT
      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
      op &= UINT64_C(7);
      op <<= 23;
      Value |= op;
      // op: XA
      op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
      Value |= (op & UINT64_C(31)) << 16;
      Value |= (op & UINT64_C(32)) >> 3;
      // op: XB
      op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
      Value |= (op & UINT64_C(31)) << 11;
      Value |= (op & UINT64_C(32)) >> 4;
      // op: XMSK
      op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
      op &= UINT64_C(15);
      op <<= 36;
      Value |= op;
      // op: YMSK
      op = getMachineOpValue(MI, MI.getOperand(5), Fixups, STI);
      op &= UINT64_C(15);
      op <<= 32;
      Value |= op;
      break;
    }
    case PPC::PMXVI8GER4PP:
    case PPC::PMXVI8GER4SPP:
    case PPC::PMXVI8GER4WPP:
    case PPC::PMXVI8GER4WSPP: {
      // op: AT
      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
      op &= UINT64_C(7);
      op <<= 23;
      Value |= op;
      // op: XA
      op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
      Value |= (op & UINT64_C(31)) << 16;
      Value |= (op & UINT64_C(32)) >> 3;
      // op: XB
      op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
      Value |= (op & UINT64_C(31)) << 11;
      Value |= (op & UINT64_C(32)) >> 4;
      // op: XMSK
      op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
      op &= UINT64_C(15);
      op <<= 36;
      Value |= op;
      // op: YMSK
      op = getMachineOpValue(MI, MI.getOperand(5), Fixups, STI);
      op &= UINT64_C(15);
      op <<= 32;
      Value |= op;
      // op: PMSK
      op = getMachineOpValue(MI, MI.getOperand(6), Fixups, STI);
      op &= UINT64_C(15);
      op <<= 44;
      Value |= op;
      break;
    }
    case PPC::PMXVI4GER8PP:
    case PPC::PMXVI4GER8WPP: {
      // op: AT
      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
      op &= UINT64_C(7);
      op <<= 23;
      Value |= op;
      // op: XA
      op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
      Value |= (op & UINT64_C(31)) << 16;
      Value |= (op & UINT64_C(32)) >> 3;
      // op: XB
      op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
      Value |= (op & UINT64_C(31)) << 11;
      Value |= (op & UINT64_C(32)) >> 4;
      // op: XMSK
      op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
      op &= UINT64_C(15);
      op <<= 36;
      Value |= op;
      // op: YMSK
      op = getMachineOpValue(MI, MI.getOperand(5), Fixups, STI);
      op &= UINT64_C(15);
      op <<= 32;
      Value |= op;
      // op: PMSK
      op = getMachineOpValue(MI, MI.getOperand(6), Fixups, STI);
      op &= UINT64_C(255);
      op <<= 40;
      Value |= op;
      break;
    }
    case PPC::PMXVBF16GER2NN:
    case PPC::PMXVBF16GER2NP:
    case PPC::PMXVBF16GER2PN:
    case PPC::PMXVBF16GER2PP:
    case PPC::PMXVBF16GER2WNN:
    case PPC::PMXVBF16GER2WNP:
    case PPC::PMXVBF16GER2WPN:
    case PPC::PMXVBF16GER2WPP:
    case PPC::PMXVF16GER2NN:
    case PPC::PMXVF16GER2NP:
    case PPC::PMXVF16GER2PN:
    case PPC::PMXVF16GER2PP:
    case PPC::PMXVF16GER2WNN:
    case PPC::PMXVF16GER2WNP:
    case PPC::PMXVF16GER2WPN:
    case PPC::PMXVF16GER2WPP:
    case PPC::PMXVI16GER2PP:
    case PPC::PMXVI16GER2SPP:
    case PPC::PMXVI16GER2SWPP:
    case PPC::PMXVI16GER2WPP: {
      // op: AT
      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
      op &= UINT64_C(7);
      op <<= 23;
      Value |= op;
      // op: XA
      op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
      Value |= (op & UINT64_C(31)) << 16;
      Value |= (op & UINT64_C(32)) >> 3;
      // op: XB
      op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
      Value |= (op & UINT64_C(31)) << 11;
      Value |= (op & UINT64_C(32)) >> 4;
      // op: XMSK
      op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
      op &= UINT64_C(15);
      op <<= 36;
      Value |= op;
      // op: YMSK
      op = getMachineOpValue(MI, MI.getOperand(5), Fixups, STI);
      op &= UINT64_C(15);
      op <<= 32;
      Value |= op;
      // op: PMSK
      op = getMachineOpValue(MI, MI.getOperand(6), Fixups, STI);
      op &= UINT64_C(3);
      op <<= 46;
      Value |= op;
      break;
    }
    case PPC::XVF64GER:
    case PPC::XVF64GERW: {
      // op: AT
      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
      op &= UINT64_C(7);
      op <<= 23;
      Value |= op;
      // op: XA
      op = getVSRpEvenEncoding(MI, 1, Fixups, STI);
      Value |= (op & UINT64_C(31)) << 16;
      Value |= (op & UINT64_C(32)) >> 3;
      // op: XB
      op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
      Value |= (op & UINT64_C(31)) << 11;
      Value |= (op & UINT64_C(32)) >> 4;
      break;
    }
    case PPC::PMXVF64GER:
    case PPC::PMXVF64GERW: {
      // op: AT
      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
      op &= UINT64_C(7);
      op <<= 23;
      Value |= op;
      // op: XA
      op = getVSRpEvenEncoding(MI, 1, Fixups, STI);
      Value |= (op & UINT64_C(31)) << 16;
      Value |= (op & UINT64_C(32)) >> 3;
      // op: XB
      op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
      Value |= (op & UINT64_C(31)) << 11;
      Value |= (op & UINT64_C(32)) >> 4;
      // op: XMSK
      op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
      op &= UINT64_C(15);
      op <<= 36;
      Value |= op;
      // op: YMSK
      op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
      op &= UINT64_C(3);
      op <<= 34;
      Value |= op;
      break;
    }
    case PPC::XVF64GERNN:
    case PPC::XVF64GERNP:
    case PPC::XVF64GERPN:
    case PPC::XVF64GERPP:
    case PPC::XVF64GERWNN:
    case PPC::XVF64GERWNP:
    case PPC::XVF64GERWPN:
    case PPC::XVF64GERWPP: {
      // op: AT
      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
      op &= UINT64_C(7);
      op <<= 23;
      Value |= op;
      // op: XA
      op = getVSRpEvenEncoding(MI, 2, Fixups, STI);
      Value |= (op & UINT64_C(31)) << 16;
      Value |= (op & UINT64_C(32)) >> 3;
      // op: XB
      op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
      Value |= (op & UINT64_C(31)) << 11;
      Value |= (op & UINT64_C(32)) >> 4;
      break;
    }
    case PPC::PMXVF64GERNN:
    case PPC::PMXVF64GERNP:
    case PPC::PMXVF64GERPN:
    case PPC::PMXVF64GERPP:
    case PPC::PMXVF64GERWNN:
    case PPC::PMXVF64GERWNP:
    case PPC::PMXVF64GERWPN:
    case PPC::PMXVF64GERWPP: {
      // op: AT
      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
      op &= UINT64_C(7);
      op <<= 23;
      Value |= op;
      // op: XA
      op = getVSRpEvenEncoding(MI, 2, Fixups, STI);
      Value |= (op & UINT64_C(31)) << 16;
      Value |= (op & UINT64_C(32)) >> 3;
      // op: XB
      op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
      Value |= (op & UINT64_C(31)) << 11;
      Value |= (op & UINT64_C(32)) >> 4;
      // op: XMSK
      op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
      op &= UINT64_C(15);
      op <<= 36;
      Value |= op;
      // op: YMSK
      op = getMachineOpValue(MI, MI.getOperand(5), Fixups, STI);
      op &= UINT64_C(3);
      op <<= 34;
      Value |= op;
      break;
    }
    case PPC::DMXXINSTFDMR512:
    case PPC::DMXXINSTFDMR512_HI: {
      // op: AT
      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
      op &= UINT64_C(7);
      op <<= 23;
      Value |= op;
      // op: XAp
      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
      Value |= (op & UINT64_C(15)) << 17;
      Value |= (op & UINT64_C(16)) >> 2;
      // op: XBp
      op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
      Value |= (op & UINT64_C(15)) << 12;
      Value |= (op & UINT64_C(16)) >> 3;
      break;
    }
    case PPC::DMXXINSTFDMR256: {
      // op: AT
      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
      op &= UINT64_C(7);
      op <<= 23;
      Value |= op;
      // op: XBp
      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
      Value |= (op & UINT64_C(15)) << 12;
      Value |= (op & UINT64_C(16)) >> 3;
      // op: P
      op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
      Value |= (op & UINT64_C(1)) << 16;
      Value |= (op & UINT64_C(2)) << 10;
      break;
    }
    case PPC::XXMFACC:
    case PPC::XXMFACCW: {
      // op: AT
      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
      op &= UINT64_C(7);
      op <<= 23;
      Value |= op;
      break;
    }
    case PPC::DMXXEXTFDMR256: {
      // op: AT
      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
      op &= UINT64_C(7);
      op <<= 23;
      Value |= op;
      // op: XBp
      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
      Value |= (op & UINT64_C(15)) << 12;
      Value |= (op & UINT64_C(16)) >> 3;
      // op: P
      op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
      Value |= (op & UINT64_C(1)) << 16;
      Value |= (op & UINT64_C(2)) << 10;
      break;
    }
    case PPC::DMXXEXTFDMR512:
    case PPC::DMXXEXTFDMR512_HI: {
      // op: AT
      op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
      op &= UINT64_C(7);
      op <<= 23;
      Value |= op;
      // op: XAp
      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
      Value |= (op & UINT64_C(15)) << 17;
      Value |= (op & UINT64_C(16)) >> 2;
      // op: XBp
      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
      Value |= (op & UINT64_C(15)) << 12;
      Value |= (op & UINT64_C(16)) >> 3;
      break;
    }
    case PPC::SLBIE:
    case PPC::TLBIEL:
    case PPC::TLBLD:
    case PPC::TLBLI: {
      // op: B
      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 11;
      Value |= op;
      break;
    }
    case PPC::ANDI8_rec:
    case PPC::ANDIS8_rec:
    case PPC::ANDIS_rec:
    case PPC::ANDI_rec:
    case PPC::ORI:
    case PPC::ORI8:
    case PPC::ORIS:
    case PPC::ORIS8:
    case PPC::XORI:
    case PPC::XORI8:
    case PPC::XORIS:
    case PPC::XORIS8: {
      // op: B
      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 16;
      Value |= op;
      // op: A
      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 21;
      Value |= op;
      // op: C
      op = getImm16Encoding(MI, 2, Fixups, STI);
      op &= UINT64_C(65535);
      Value |= op;
      break;
    }
    case PPC::BDNZA:
    case PPC::BDNZAm:
    case PPC::BDNZAp:
    case PPC::BDNZLA:
    case PPC::BDNZLAm:
    case PPC::BDNZLAp:
    case PPC::BDZA:
    case PPC::BDZAm:
    case PPC::BDZAp:
    case PPC::BDZLA:
    case PPC::BDZLAm:
    case PPC::BDZLAp: {
      // op: BD
      op = getAbsCondBrEncoding(MI, 0, Fixups, STI);
      op &= UINT64_C(16383);
      op <<= 2;
      Value |= op;
      break;
    }
    case PPC::BCLalways:
    case PPC::BDNZ:
    case PPC::BDNZ8:
    case PPC::BDNZL:
    case PPC::BDNZLm:
    case PPC::BDNZLp:
    case PPC::BDNZm:
    case PPC::BDNZp:
    case PPC::BDZ:
    case PPC::BDZ8:
    case PPC::BDZL:
    case PPC::BDZLm:
    case PPC::BDZLp:
    case PPC::BDZm:
    case PPC::BDZp: {
      // op: BD
      op = getCondBrEncoding(MI, 0, Fixups, STI);
      op &= UINT64_C(16383);
      op <<= 2;
      Value |= op;
      break;
    }
    case PPC::MCRXRX:
    case PPC::TCHECK: {
      // op: BF
      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
      op &= UINT64_C(7);
      op <<= 23;
      Value |= op;
      break;
    }
    case PPC::MCRF:
    case PPC::MCRFS: {
      // op: BF
      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
      op &= UINT64_C(7);
      op <<= 23;
      Value |= op;
      // op: BFA
      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
      op &= UINT64_C(7);
      op <<= 18;
      Value |= op;
      break;
    }
    case PPC::XSTSTDCQP: {
      // op: BF
      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
      op &= UINT64_C(7);
      op <<= 23;
      Value |= op;
      // op: DCMX
      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
      op &= UINT64_C(127);
      op <<= 16;
      Value |= op;
      // op: VB
      op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 11;
      Value |= op;
      break;
    }
    case PPC::XSTSTDCDP:
    case PPC::XSTSTDCSP: {
      // op: BF
      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
      op &= UINT64_C(7);
      op <<= 23;
      Value |= op;
      // op: DCMX
      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
      op &= UINT64_C(127);
      op <<= 16;
      Value |= op;
      // op: XB
      op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
      Value |= (op & UINT64_C(31)) << 11;
      Value |= (op & UINT64_C(32)) >> 4;
      break;
    }
    case PPC::FCMPOD:
    case PPC::FCMPOS:
    case PPC::FCMPUD:
    case PPC::FCMPUS:
    case PPC::FTDIV:
    case PPC::XSCMPEXPQP:
    case PPC::XSCMPOQP:
    case PPC::XSCMPUQP: {
      // op: BF
      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
      op &= UINT64_C(7);
      op <<= 23;
      Value |= op;
      // op: FRA
      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 16;
      Value |= op;
      // op: FRB
      op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 11;
      Value |= op;
      break;
    }
    case PPC::FTSQRT: {
      // op: BF
      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
      op &= UINT64_C(7);
      op <<= 23;
      Value |= op;
      // op: FRB
      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 11;
      Value |= op;
      break;
    }
    case PPC::CMPRB:
    case PPC::CMPRB8: {
      // op: BF
      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
      op &= UINT64_C(7);
      op <<= 23;
      Value |= op;
      // op: L
      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
      op &= UINT64_C(1);
      op <<= 21;
      Value |= op;
      // op: RA
      op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 16;
      Value |= op;
      // op: RB
      op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 11;
      Value |= op;
      break;
    }
    case PPC::CMPDI:
    case PPC::CMPLDI:
    case PPC::CMPLWI:
    case PPC::CMPWI: {
      // op: BF
      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
      op &= UINT64_C(7);
      op <<= 23;
      Value |= op;
      // op: RA
      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 16;
      Value |= op;
      // op: I
      op = getImm16Encoding(MI, 2, Fixups, STI);
      op &= UINT64_C(65535);
      Value |= op;
      break;
    }
    case PPC::CMPD:
    case PPC::CMPEQB:
    case PPC::CMPLD:
    case PPC::CMPLW:
    case PPC::CMPW: {
      // op: BF
      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
      op &= UINT64_C(7);
      op <<= 23;
      Value |= op;
      // op: RA
      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 16;
      Value |= op;
      // op: RB
      op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 11;
      Value |= op;
      break;
    }
    case PPC::MTFSFIb: {
      // op: BF
      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
      op &= UINT64_C(7);
      op <<= 23;
      Value |= op;
      // op: U
      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
      op &= UINT64_C(15);
      op <<= 12;
      Value |= op;
      break;
    }
    case PPC::VCMPSQ:
    case PPC::VCMPUQ: {
      // op: BF
      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
      op &= UINT64_C(7);
      op <<= 23;
      Value |= op;
      // op: VA
      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 16;
      Value |= op;
      // op: VB
      op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 11;
      Value |= op;
      break;
    }
    case PPC::MTFSFI:
    case PPC::MTFSFI_rec: {
      // op: BF
      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
      op &= UINT64_C(7);
      op <<= 23;
      Value |= op;
      // op: W
      op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
      op &= UINT64_C(1);
      op <<= 16;
      Value |= op;
      // op: U
      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
      op &= UINT64_C(15);
      op <<= 12;
      Value |= op;
      break;
    }
    case PPC::XVTLSBB: {
      // op: BF
      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
      op &= UINT64_C(7);
      op <<= 23;
      Value |= op;
      // op: XB
      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
      Value |= (op & UINT64_C(31)) << 11;
      Value |= (op & UINT64_C(32)) >> 4;
      break;
    }
    case PPC::BCCTR:
    case PPC::BCCTR8:
    case PPC::BCCTR8n:
    case PPC::BCCTRL:
    case PPC::BCCTRL8:
    case PPC::BCCTRL8n:
    case PPC::BCCTRLn:
    case PPC::BCCTRn:
    case PPC::BCLR:
    case PPC::BCLRL:
    case PPC::BCLRLn:
    case PPC::BCLRn: {
      // op: BI
      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 16;
      Value |= op;
      break;
    }
    case PPC::BC:
    case PPC::BCL:
    case PPC::BCLn:
    case PPC::BCn: {
      // op: BI
      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 16;
      Value |= op;
      // op: BD
      op = getCondBrEncoding(MI, 1, Fixups, STI);
      op &= UINT64_C(16383);
      op <<= 2;
      Value |= op;
      break;
    }
    case PPC::BCCCTR:
    case PPC::BCCCTR8:
    case PPC::BCCCTRL:
    case PPC::BCCCTRL8:
    case PPC::BCCLR:
    case PPC::BCCLRL: {
      // op: BIBO
      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
      Value |= (op & UINT64_C(31)) << 21;
      Value |= (op & UINT64_C(96)) << 11;
      // op: CR
      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
      op &= UINT64_C(7);
      op <<= 18;
      Value |= op;
      break;
    }
    case PPC::BCCA:
    case PPC::BCCLA: {
      // op: BIBO
      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
      Value |= (op & UINT64_C(31)) << 21;
      Value |= (op & UINT64_C(96)) << 11;
      // op: CR
      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
      op &= UINT64_C(7);
      op <<= 18;
      Value |= op;
      // op: BD
      op = getAbsCondBrEncoding(MI, 2, Fixups, STI);
      op &= UINT64_C(16383);
      op <<= 2;
      Value |= op;
      break;
    }
    case PPC::BCC:
    case PPC::BCCL:
    case PPC::CTRL_DEP: {
      // op: BIBO
      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
      Value |= (op & UINT64_C(31)) << 21;
      Value |= (op & UINT64_C(96)) << 11;
      // op: CR
      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
      op &= UINT64_C(7);
      op <<= 18;
      Value |= op;
      // op: BD
      op = getCondBrEncoding(MI, 2, Fixups, STI);
      op &= UINT64_C(16383);
      op <<= 2;
      Value |= op;
      break;
    }
    case PPC::gBCAat:
    case PPC::gBCLAat: {
      // op: BO
      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
      op &= UINT64_C(28);
      op <<= 21;
      Value |= op;
      // op: at
      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
      op &= UINT64_C(3);
      op <<= 21;
      Value |= op;
      // op: BI
      op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 16;
      Value |= op;
      // op: BD
      op = getAbsCondBrEncoding(MI, 3, Fixups, STI);
      op &= UINT64_C(16383);
      op <<= 2;
      Value |= op;
      break;
    }
    case PPC::gBCLat:
    case PPC::gBCat: {
      // op: BO
      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
      op &= UINT64_C(28);
      op <<= 21;
      Value |= op;
      // op: at
      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
      op &= UINT64_C(3);
      op <<= 21;
      Value |= op;
      // op: BI
      op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 16;
      Value |= op;
      // op: BD
      op = getCondBrEncoding(MI, 3, Fixups, STI);
      op &= UINT64_C(16383);
      op <<= 2;
      Value |= op;
      break;
    }
    case PPC::gBCA:
    case PPC::gBCLA: {
      // op: BO
      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 21;
      Value |= op;
      // op: BI
      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 16;
      Value |= op;
      // op: BD
      op = getAbsCondBrEncoding(MI, 2, Fixups, STI);
      op &= UINT64_C(16383);
      op <<= 2;
      Value |= op;
      break;
    }
    case PPC::gBC:
    case PPC::gBCL: {
      // op: BO
      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 21;
      Value |= op;
      // op: BI
      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 16;
      Value |= op;
      // op: BD
      op = getCondBrEncoding(MI, 2, Fixups, STI);
      op &= UINT64_C(16383);
      op <<= 2;
      Value |= op;
      break;
    }
    case PPC::gBCCTR:
    case PPC::gBCCTRL:
    case PPC::gBCLR:
    case PPC::gBCLRL: {
      // op: BO
      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 21;
      Value |= op;
      // op: BI
      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 16;
      Value |= op;
      // op: BH
      op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
      op &= UINT64_C(3);
      op <<= 11;
      Value |= op;
      break;
    }
    case PPC::XSCMPEXPDP:
    case PPC::XSCMPODP:
    case PPC::XSCMPUDP:
    case PPC::XSTDIVDP:
    case PPC::XVTDIVDP:
    case PPC::XVTDIVSP: {
      // op: CR
      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
      op &= UINT64_C(7);
      op <<= 23;
      Value |= op;
      // op: XA
      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
      Value |= (op & UINT64_C(31)) << 16;
      Value |= (op & UINT64_C(32)) >> 3;
      // op: XB
      op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
      Value |= (op & UINT64_C(31)) << 11;
      Value |= (op & UINT64_C(32)) >> 4;
      break;
    }
    case PPC::XSTSQRTDP:
    case PPC::XVTSQRTDP:
    case PPC::XVTSQRTSP: {
      // op: CR
      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
      op &= UINT64_C(7);
      op <<= 23;
      Value |= op;
      // op: XB
      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
      Value |= (op & UINT64_C(31)) << 11;
      Value |= (op & UINT64_C(32)) >> 4;
      break;
    }
    case PPC::CRSET:
    case PPC::CRUNSET: {
      // op: CRD
      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
      Value |= (op & UINT64_C(31)) << 21;
      Value |= (op & UINT64_C(31)) << 16;
      Value |= (op & UINT64_C(31)) << 11;
      break;
    }
    case PPC::CRNOT: {
      // op: CRD
      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 21;
      Value |= op;
      // op: CRA
      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
      Value |= (op & UINT64_C(31)) << 16;
      Value |= (op & UINT64_C(31)) << 11;
      break;
    }
    case PPC::CRAND:
    case PPC::CRANDC:
    case PPC::CREQV:
    case PPC::CRNAND:
    case PPC::CRNOR:
    case PPC::CROR:
    case PPC::CRORC:
    case PPC::CRXOR: {
      // op: CRD
      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 21;
      Value |= op;
      // op: CRA
      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 16;
      Value |= op;
      // op: CRB
      op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 11;
      Value |= op;
      break;
    }
    case PPC::ICBLC:
    case PPC::ICBLQ:
    case PPC::ICBT:
    case PPC::ICBTLS: {
      // op: CT
      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
      op &= UINT64_C(15);
      op <<= 21;
      Value |= op;
      // op: RA
      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 16;
      Value |= op;
      // op: RB
      op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 11;
      Value |= op;
      break;
    }
    case PPC::BCTRL8_LDinto_toc:
    case PPC::BCTRL8_LDinto_toc_RM: {
      // op: DS_RA
      op = getMemRIXEncoding(MI, 0, Fixups, STI);
      op &= UINT64_C(524287);
      op <<= 2;
      Value |= op;
      break;
    }
    case PPC::BCTRL_LWZinto_toc:
    case PPC::BCTRL_LWZinto_toc_RM: {
      // op: D_RA
      op = getMemRIEncoding(MI, 0, Fixups, STI);
      op &= UINT64_C(2097151);
      Value |= op;
      break;
    }
    case PPC::HASHCHK:
    case PPC::HASHCHK8:
    case PPC::HASHCHKP:
    case PPC::HASHCHKP8:
    case PPC::HASHST:
    case PPC::HASHST8:
    case PPC::HASHSTP:
    case PPC::HASHSTP8: {
      // op: D_RA_XD
      op = getMemRIHashEncoding(MI, 1, Fixups, STI);
      Value |= (op & UINT64_C(31)) << 21;
      Value |= (op & UINT64_C(1984)) << 10;
      Value |= (op & UINT64_C(32)) >> 5;
      // op: RB
      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 11;
      Value |= op;
      break;
    }
    case PPC::WRTEEI: {
      // op: E
      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
      op &= UINT64_C(1);
      op <<= 15;
      Value |= op;
      break;
    }
    case PPC::MTFSFb: {
      // op: FM
      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
      op &= UINT64_C(255);
      op <<= 17;
      Value |= op;
      // op: rT
      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 11;
      Value |= op;
      break;
    }
    case PPC::MTFSB0:
    case PPC::MTFSB1: {
      // op: FM
      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 21;
      Value |= op;
      break;
    }
    case PPC::PLBZ:
    case PPC::PLBZ8:
    case PPC::PLFD:
    case PPC::PLFS:
    case PPC::PLHA:
    case PPC::PLHA8:
    case PPC::PLHZ:
    case PPC::PLHZ8:
    case PPC::PLWZ:
    case PPC::PLWZ8:
    case PPC::PSTB:
    case PPC::PSTB8:
    case PPC::PSTFD:
    case PPC::PSTFS:
    case PPC::PSTH:
    case PPC::PSTH8:
    case PPC::PSTW:
    case PPC::PSTW8: {
      // op: FRS
      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 21;
      Value |= op;
      // op: D_RA
      op = getMemRI34Encoding(MI, 1, Fixups, STI);
      Value |= (op & UINT64_C(17179803648)) << 16;
      Value |= (op & UINT64_C(532575944704)) >> 18;
      Value |= (op & UINT64_C(65535));
      break;
    }
    case PPC::PLBZ8pc:
    case PPC::PLBZpc:
    case PPC::PLFDpc:
    case PPC::PLFSpc:
    case PPC::PLHA8pc:
    case PPC::PLHApc:
    case PPC::PLHZ8pc:
    case PPC::PLHZpc:
    case PPC::PLWZ8pc:
    case PPC::PLWZpc:
    case PPC::PSTB8pc:
    case PPC::PSTBpc:
    case PPC::PSTFDpc:
    case PPC::PSTFSpc:
    case PPC::PSTH8pc:
    case PPC::PSTHpc:
    case PPC::PSTW8pc:
    case PPC::PSTWpc: {
      // op: FRS
      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 21;
      Value |= op;
      // op: D_RA
      op = getMemRI34PCRelEncoding(MI, 1, Fixups, STI);
      Value |= (op & UINT64_C(17179803648)) << 16;
      Value |= (op & UINT64_C(532575944704)) >> 18;
      Value |= (op & UINT64_C(65535));
      break;
    }
    case PPC::FADD:
    case PPC::FADDS:
    case PPC::FADDS_rec:
    case PPC::FADD_rec:
    case PPC::FDIV:
    case PPC::FDIVS:
    case PPC::FDIVS_rec:
    case PPC::FDIV_rec:
    case PPC::FSUB:
    case PPC::FSUBS:
    case PPC::FSUBS_rec:
    case PPC::FSUB_rec:
    case PPC::XSIEXPQP: {
      // op: FRT
      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 21;
      Value |= op;
      // op: FRA
      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 16;
      Value |= op;
      // op: FRB
      op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 11;
      Value |= op;
      break;
    }
    case PPC::FMUL:
    case PPC::FMULS:
    case PPC::FMULS_rec:
    case PPC::FMUL_rec: {
      // op: FRT
      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 21;
      Value |= op;
      // op: FRA
      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 16;
      Value |= op;
      // op: FRC
      op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 6;
      Value |= op;
      break;
    }
    case PPC::FMADD:
    case PPC::FMADDS:
    case PPC::FMADDS_rec:
    case PPC::FMADD_rec:
    case PPC::FMSUB:
    case PPC::FMSUBS:
    case PPC::FMSUBS_rec:
    case PPC::FMSUB_rec:
    case PPC::FNMADD:
    case PPC::FNMADDS:
    case PPC::FNMADDS_rec:
    case PPC::FNMADD_rec:
    case PPC::FNMSUB:
    case PPC::FNMSUBS:
    case PPC::FNMSUBS_rec:
    case PPC::FNMSUB_rec:
    case PPC::FSELD:
    case PPC::FSELD_rec:
    case PPC::FSELS:
    case PPC::FSELS_rec: {
      // op: FRT
      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 21;
      Value |= op;
      // op: FRA
      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 16;
      Value |= op;
      // op: FRC
      op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 6;
      Value |= op;
      // op: FRB
      op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 11;
      Value |= op;
      break;
    }
    case PPC::MTCRF:
    case PPC::MTCRF8: {
      // op: FXM
      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
      op &= UINT64_C(255);
      op <<= 12;
      Value |= op;
      // op: rS
      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 21;
      Value |= op;
      break;
    }
    case PPC::TSR: {
      // op: L
      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
      op &= UINT64_C(1);
      op <<= 21;
      Value |= op;
      break;
    }
    case PPC::SYNC:
    case PPC::WAIT: {
      // op: L
      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
      op &= UINT64_C(3);
      op <<= 21;
      Value |= op;
      break;
    }
    case PPC::CP_PASTE8_rec:
    case PPC::CP_PASTE_rec: {
      // op: L
      op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
      op &= UINT64_C(1);
      op <<= 21;
      Value |= op;
      // op: RA
      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 16;
      Value |= op;
      // op: RB
      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 11;
      Value |= op;
      break;
    }
    case PPC::MTFSF:
    case PPC::MTFSF_rec: {
      // op: L
      op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
      op &= UINT64_C(1);
      op <<= 25;
      Value |= op;
      // op: FLM
      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
      op &= UINT64_C(255);
      op <<= 17;
      Value |= op;
      // op: W
      op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
      op &= UINT64_C(1);
      op <<= 16;
      Value |= op;
      // op: FRB
      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 11;
      Value |= op;
      break;
    }
    case PPC::SC: {
      // op: LEV
      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
      op &= UINT64_C(127);
      op <<= 5;
      Value |= op;
      break;
    }
    case PPC::BA:
    case PPC::BLA:
    case PPC::BLA8:
    case PPC::BLA8_RM:
    case PPC::BLA_RM:
    case PPC::TAILBA:
    case PPC::TAILBA8: {
      // op: LI
      op = getAbsDirectBrEncoding(MI, 0, Fixups, STI);
      op &= UINT64_C(16777215);
      op <<= 2;
      Value |= op;
      break;
    }
    case PPC::BLA8_NOP:
    case PPC::BLA8_NOP_RM: {
      // op: LI
      op = getAbsDirectBrEncoding(MI, 0, Fixups, STI);
      op &= UINT64_C(16777215);
      op <<= 34;
      Value |= op;
      break;
    }
    case PPC::B:
    case PPC::BL:
    case PPC::BL8:
    case PPC::BL8_NOTOC:
    case PPC::BL8_NOTOC_RM:
    case PPC::BL8_RM:
    case PPC::BL_RM:
    case PPC::TAILB:
    case PPC::TAILB8: {
      // op: LI
      op = getDirectBrEncoding(MI, 0, Fixups, STI);
      op &= UINT64_C(16777215);
      op <<= 2;
      Value |= op;
      break;
    }
    case PPC::BL8_NOP:
    case PPC::BL8_NOP_RM:
    case PPC::BL_NOP:
    case PPC::BL_NOP_RM: {
      // op: LI
      op = getDirectBrEncoding(MI, 0, Fixups, STI);
      op &= UINT64_C(16777215);
      op <<= 34;
      Value |= op;
      break;
    }
    case PPC::BL8_NOTOC_TLS:
    case PPC::BL8_TLS:
    case PPC::BL8_TLS_:
    case PPC::BL_TLS: {
      // op: LI
      op = getTLSCallEncoding(MI, 0, Fixups, STI);
      op &= UINT64_C(16777215);
      op <<= 2;
      Value |= op;
      break;
    }
    case PPC::BL8_NOP_TLS: {
      // op: LI
      op = getTLSCallEncoding(MI, 0, Fixups, STI);
      op &= UINT64_C(16777215);
      op <<= 34;
      Value |= op;
      break;
    }
    case PPC::MBAR: {
      // op: MO
      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 21;
      Value |= op;
      break;
    }
    case PPC::TBEGIN: {
      // op: R
      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
      op &= UINT64_C(1);
      op <<= 21;
      Value |= op;
      break;
    }
    case PPC::CP_COPY:
    case PPC::CP_COPY8: {
      // op: RA
      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 16;
      Value |= op;
      // op: RB
      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 11;
      Value |= op;
      break;
    }
    case PPC::RLWINM:
    case PPC::RLWINM8:
    case PPC::RLWINM8_rec:
    case PPC::RLWINM_rec:
    case PPC::RLWNM:
    case PPC::RLWNM8:
    case PPC::RLWNM8_rec:
    case PPC::RLWNM_rec: {
      // op: RA
      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 16;
      Value |= op;
      // op: RS
      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 21;
      Value |= op;
      // op: RB
      op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 11;
      Value |= op;
      // op: MB
      op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 6;
      Value |= op;
      // op: ME
      op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 1;
      Value |= op;
      break;
    }
    case PPC::RLDCL:
    case PPC::RLDCL_rec:
    case PPC::RLDCR:
    case PPC::RLDCR_rec: {
      // op: RA
      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 16;
      Value |= op;
      // op: RS
      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 21;
      Value |= op;
      // op: RB
      op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 11;
      Value |= op;
      // op: MBE
      op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
      Value |= (op & UINT64_C(31)) << 6;
      Value |= (op & UINT64_C(32));
      break;
    }
    case PPC::RLDIC:
    case PPC::RLDICL:
    case PPC::RLDICL_32:
    case PPC::RLDICL_32_64:
    case PPC::RLDICL_32_rec:
    case PPC::RLDICL_rec:
    case PPC::RLDICR:
    case PPC::RLDICR_32:
    case PPC::RLDICR_rec:
    case PPC::RLDIC_rec: {
      // op: RA
      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 16;
      Value |= op;
      // op: RS
      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 21;
      Value |= op;
      // op: SH
      op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
      Value |= (op & UINT64_C(31)) << 11;
      Value |= (op & UINT64_C(32)) >> 4;
      // op: MBE
      op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
      Value |= (op & UINT64_C(31)) << 6;
      Value |= (op & UINT64_C(32));
      break;
    }
    case PPC::RLWIMI:
    case PPC::RLWIMI8:
    case PPC::RLWIMI8_rec:
    case PPC::RLWIMI_rec: {
      // op: RA
      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 16;
      Value |= op;
      // op: RS
      op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 21;
      Value |= op;
      // op: RB
      op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 11;
      Value |= op;
      // op: MB
      op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 6;
      Value |= op;
      // op: ME
      op = getMachineOpValue(MI, MI.getOperand(5), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 1;
      Value |= op;
      break;
    }
    case PPC::RLDIMI:
    case PPC::RLDIMI_rec: {
      // op: RA
      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 16;
      Value |= op;
      // op: RS
      op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 21;
      Value |= op;
      // op: SH
      op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
      Value |= (op & UINT64_C(31)) << 11;
      Value |= (op & UINT64_C(32)) >> 4;
      // op: MBE
      op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
      Value |= (op & UINT64_C(31)) << 6;
      Value |= (op & UINT64_C(32));
      break;
    }
    case PPC::MTVSRBM:
    case PPC::MTVSRDM:
    case PPC::MTVSRHM:
    case PPC::MTVSRQM:
    case PPC::MTVSRWM:
    case PPC::VCLZLSBB:
    case PPC::VCTZB:
    case PPC::VCTZD:
    case PPC::VCTZH:
    case PPC::VCTZLSBB:
    case PPC::VCTZW:
    case PPC::VEXPANDBM:
    case PPC::VEXPANDDM:
    case PPC::VEXPANDHM:
    case PPC::VEXPANDQM:
    case PPC::VEXPANDWM:
    case PPC::VEXTRACTBM:
    case PPC::VEXTRACTDM:
    case PPC::VEXTRACTHM:
    case PPC::VEXTRACTQM:
    case PPC::VEXTRACTWM:
    case PPC::VEXTSB2D:
    case PPC::VEXTSB2Ds:
    case PPC::VEXTSB2W:
    case PPC::VEXTSB2Ws:
    case PPC::VEXTSD2Q:
    case PPC::VEXTSH2D:
    case PPC::VEXTSH2Ds:
    case PPC::VEXTSH2W:
    case PPC::VEXTSH2Ws:
    case PPC::VEXTSW2D:
    case PPC::VEXTSW2Ds:
    case PPC::VNEGD:
    case PPC::VNEGW:
    case PPC::VPRTYBD:
    case PPC::VPRTYBQ:
    case PPC::VPRTYBW: {
      // op: RD
      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 21;
      Value |= op;
      // op: VB
      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 11;
      Value |= op;
      break;
    }
    case PPC::VCNTMBB:
    case PPC::VCNTMBD:
    case PPC::VCNTMBH:
    case PPC::VCNTMBW: {
      // op: RD
      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 21;
      Value |= op;
      // op: VB
      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 11;
      Value |= op;
      // op: MP
      op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
      op &= UINT64_C(1);
      op <<= 16;
      Value |= op;
      break;
    }
    case PPC::VGNB: {
      // op: RD
      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 21;
      Value |= op;
      // op: VB
      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 11;
      Value |= op;
      // op: N
      op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
      op &= UINT64_C(7);
      op <<= 16;
      Value |= op;
      break;
    }
    case PPC::WRTEE: {
      // op: RS
      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 21;
      Value |= op;
      break;
    }
    case PPC::MTMSR:
    case PPC::MTMSRD: {
      // op: RS
      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 21;
      Value |= op;
      // op: L
      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
      op &= UINT64_C(1);
      op <<= 16;
      Value |= op;
      break;
    }
    case PPC::MFSRIN:
    case PPC::MTSRIN: {
      // op: RS
      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 21;
      Value |= op;
      // op: RB
      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 11;
      Value |= op;
      break;
    }
    case PPC::MFSR:
    case PPC::MTSR: {
      // op: RS
      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 21;
      Value |= op;
      // op: SR
      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
      op &= UINT64_C(15);
      op <<= 16;
      Value |= op;
      break;
    }
    case PPC::MFFS:
    case PPC::MFFSCE:
    case PPC::MFFSL:
    case PPC::MFFS_rec:
    case PPC::MFMSR: {
      // op: RST
      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 21;
      Value |= op;
      break;
    }
    case PPC::SETBC:
    case PPC::SETBC8:
    case PPC::SETBCR:
    case PPC::SETBCR8:
    case PPC::SETNBC:
    case PPC::SETNBC8:
    case PPC::SETNBCR:
    case PPC::SETNBCR8: {
      // op: RST
      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 21;
      Value |= op;
      // op: A
      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 16;
      Value |= op;
      break;
    }
    case PPC::FCPSGND:
    case PPC::FCPSGND_rec:
    case PPC::FCPSGNS:
    case PPC::FCPSGNS_rec:
    case PPC::LBARX:
    case PPC::LBARXL:
    case PPC::LBEPX:
    case PPC::LBZCIX:
    case PPC::LBZX:
    case PPC::LBZX8:
    case PPC::LDARX:
    case PPC::LDARXL:
    case PPC::LDAT:
    case PPC::LDBRX:
    case PPC::LDCIX:
    case PPC::LDX:
    case PPC::LFDEPX:
    case PPC::LFDX:
    case PPC::LFIWAX:
    case PPC::LFIWZX:
    case PPC::LFSX:
    case PPC::LHARX:
    case PPC::LHARXL:
    case PPC::LHAX:
    case PPC::LHAX8:
    case PPC::LHBRX:
    case PPC::LHBRX8:
    case PPC::LHEPX:
    case PPC::LHZCIX:
    case PPC::LHZX:
    case PPC::LHZX8:
    case PPC::LQARX:
    case PPC::LQARXL:
    case PPC::LSWI:
    case PPC::LVEBX:
    case PPC::LVEHX:
    case PPC::LVEWX:
    case PPC::LVSL:
    case PPC::LVSR:
    case PPC::LVX:
    case PPC::LVXL:
    case PPC::LWARX:
    case PPC::LWARXL:
    case PPC::LWAT:
    case PPC::LWAX:
    case PPC::LWAX_32:
    case PPC::LWBRX:
    case PPC::LWBRX8:
    case PPC::LWEPX:
    case PPC::LWZCIX:
    case PPC::LWZX:
    case PPC::LWZX8:
    case PPC::MODSD:
    case PPC::MODSW:
    case PPC::MODUD:
    case PPC::MODUW:
    case PPC::SPELWZX:
    case PPC::SPESTWX:
    case PPC::STBCIX:
    case PPC::STBCX:
    case PPC::STBEPX:
    case PPC::STBX:
    case PPC::STBX8:
    case PPC::STDAT:
    case PPC::STDBRX:
    case PPC::STDCIX:
    case PPC::STDCX:
    case PPC::STDX:
    case PPC::STFDEPX:
    case PPC::STFDX:
    case PPC::STFIWX:
    case PPC::STFSX:
    case PPC::STHBRX:
    case PPC::STHCIX:
    case PPC::STHCX:
    case PPC::STHEPX:
    case PPC::STHX:
    case PPC::STHX8:
    case PPC::STQCX:
    case PPC::STSWI:
    case PPC::STVEBX:
    case PPC::STVEHX:
    case PPC::STVEWX:
    case PPC::STVX:
    case PPC::STVXL:
    case PPC::STWAT:
    case PPC::STWBRX:
    case PPC::STWCIX:
    case PPC::STWCX:
    case PPC::STWEPX:
    case PPC::STWX:
    case PPC::STWX8:
    case PPC::TABORTDC:
    case PPC::TABORTDCI:
    case PPC::TABORTWC:
    case PPC::TABORTWCI:
    case PPC::TD:
    case PPC::TLBSX2:
    case PPC::TLBSX2D:
    case PPC::TW:
    case PPC::XSADDQP:
    case PPC::XSADDQPO:
    case PPC::XSCMPEQQP:
    case PPC::XSCMPGEQP:
    case PPC::XSCMPGTQP:
    case PPC::XSCPSGNQP:
    case PPC::XSDIVQP:
    case PPC::XSDIVQPO:
    case PPC::XSMAXCQP:
    case PPC::XSMINCQP:
    case PPC::XSMULQP:
    case PPC::XSMULQPO:
    case PPC::XSSUBQP:
    case PPC::XSSUBQPO: {
      // op: RST
      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 21;
      Value |= op;
      // op: A
      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 16;
      Value |= op;
      // op: B
      op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 11;
      Value |= op;
      break;
    }
    case PPC::LBZXTLS:
    case PPC::LBZXTLS_:
    case PPC::LBZXTLS_32:
    case PPC::LDXTLS:
    case PPC::LDXTLS_:
    case PPC::LHZXTLS:
    case PPC::LHZXTLS_:
    case PPC::LHZXTLS_32:
    case PPC::LWZXTLS:
    case PPC::LWZXTLS_:
    case PPC::LWZXTLS_32:
    case PPC::STBXTLS:
    case PPC::STBXTLS_:
    case PPC::STBXTLS_32:
    case PPC::STDXTLS:
    case PPC::STDXTLS_:
    case PPC::STHXTLS:
    case PPC::STHXTLS_:
    case PPC::STHXTLS_32:
    case PPC::STWXTLS:
    case PPC::STWXTLS_:
    case PPC::STWXTLS_32: {
      // op: RST
      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 21;
      Value |= op;
      // op: A
      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 16;
      Value |= op;
      // op: B
      op = getTLSRegEncoding(MI, 2, Fixups, STI);
      op &= UINT64_C(31);
      op <<= 11;
      Value |= op;
      break;
    }
    case PPC::TLBRE2:
    case PPC::TLBWE2: {
      // op: RST
      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 21;
      Value |= op;
      // op: A
      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 16;
      Value |= op;
      // op: WS
      op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
      op &= UINT64_C(1);
      op <<= 11;
      Value |= op;
      break;
    }
    case PPC::LBZUX:
    case PPC::LBZUX8:
    case PPC::LDUX:
    case PPC::LFDUX:
    case PPC::LFSUX:
    case PPC::LHAUX:
    case PPC::LHAUX8:
    case PPC::LHZUX:
    case PPC::LHZUX8:
    case PPC::LWAUX:
    case PPC::LWZUX:
    case PPC::LWZUX8:
    case PPC::XSMADDQP:
    case PPC::XSMADDQPO:
    case PPC::XSMSUBQP:
    case PPC::XSMSUBQPO:
    case PPC::XSNMADDQP:
    case PPC::XSNMADDQPO:
    case PPC::XSNMSUBQP:
    case PPC::XSNMSUBQPO: {
      // op: RST
      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 21;
      Value |= op;
      // op: A
      op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 16;
      Value |= op;
      // op: B
      op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 11;
      Value |= op;
      break;
    }
    case PPC::FABSD:
    case PPC::FABSD_rec:
    case PPC::FABSS:
    case PPC::FABSS_rec:
    case PPC::FCFID:
    case PPC::FCFIDS:
    case PPC::FCFIDS_rec:
    case PPC::FCFIDU:
    case PPC::FCFIDUS:
    case PPC::FCFIDUS_rec:
    case PPC::FCFIDU_rec:
    case PPC::FCFID_rec:
    case PPC::FCTID:
    case PPC::FCTIDU:
    case PPC::FCTIDUZ:
    case PPC::FCTIDUZ_rec:
    case PPC::FCTIDU_rec:
    case PPC::FCTIDZ:
    case PPC::FCTIDZ_rec:
    case PPC::FCTID_rec:
    case PPC::FCTIW:
    case PPC::FCTIWU:
    case PPC::FCTIWUZ:
    case PPC::FCTIWUZ_rec:
    case PPC::FCTIWU_rec:
    case PPC::FCTIWZ:
    case PPC::FCTIWZ_rec:
    case PPC::FCTIW_rec:
    case PPC::FMR:
    case PPC::FMR_rec:
    case PPC::FNABSD:
    case PPC::FNABSD_rec:
    case PPC::FNABSS:
    case PPC::FNABSS_rec:
    case PPC::FNEGD:
    case PPC::FNEGD_rec:
    case PPC::FNEGS:
    case PPC::FNEGS_rec:
    case PPC::FRE:
    case PPC::FRES:
    case PPC::FRES_rec:
    case PPC::FRE_rec:
    case PPC::FRIMD:
    case PPC::FRIMD_rec:
    case PPC::FRIMS:
    case PPC::FRIMS_rec:
    case PPC::FRIND:
    case PPC::FRIND_rec:
    case PPC::FRINS:
    case PPC::FRINS_rec:
    case PPC::FRIPD:
    case PPC::FRIPD_rec:
    case PPC::FRIPS:
    case PPC::FRIPS_rec:
    case PPC::FRIZD:
    case PPC::FRIZD_rec:
    case PPC::FRIZS:
    case PPC::FRIZS_rec:
    case PPC::FRSP:
    case PPC::FRSP_rec:
    case PPC::FRSQRTE:
    case PPC::FRSQRTES:
    case PPC::FRSQRTES_rec:
    case PPC::FRSQRTE_rec:
    case PPC::FSQRT:
    case PPC::FSQRTS:
    case PPC::FSQRTS_rec:
    case PPC::FSQRT_rec:
    case PPC::SLBFEE_rec:
    case PPC::SLBIEG:
    case PPC::SLBMFEE:
    case PPC::SLBMTE:
    case PPC::TLBIE:
    case PPC::XSABSQP:
    case PPC::XSCVDPQP:
    case PPC::XSCVQPDP:
    case PPC::XSCVQPDPO:
    case PPC::XSCVQPSDZ:
    case PPC::XSCVQPSQZ:
    case PPC::XSCVQPSWZ:
    case PPC::XSCVQPUDZ:
    case PPC::XSCVQPUQZ:
    case PPC::XSCVQPUWZ:
    case PPC::XSCVSDQP:
    case PPC::XSCVSQQP:
    case PPC::XSCVUDQP:
    case PPC::XSCVUQQP:
    case PPC::XSNABSQP:
    case PPC::XSNEGQP:
    case PPC::XSSQRTQP:
    case PPC::XSSQRTQPO:
    case PPC::XSXEXPQP:
    case PPC::XSXSIGQP: {
      // op: RST
      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 21;
      Value |= op;
      // op: B
      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 11;
      Value |= op;
      break;
    }
    case PPC::MFFSCDRNI: {
      // op: RST
      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 21;
      Value |= op;
      // op: DRM
      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
      op &= UINT64_C(7);
      op <<= 11;
      Value |= op;
      break;
    }
    case PPC::LD:
    case PPC::LWA:
    case PPC::LWA_32:
    case PPC::LXSD:
    case PPC::LXSSP:
    case PPC::STD:
    case PPC::STQ:
    case PPC::STXSD:
    case PPC::STXSSP: {
      // op: RST
      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 21;
      Value |= op;
      // op: DS_RA
      op = getMemRIXEncoding(MI, 1, Fixups, STI);
      op &= UINT64_C(524287);
      op <<= 2;
      Value |= op;
      break;
    }
    case PPC::LDU: {
      // op: RST
      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 21;
      Value |= op;
      // op: DS_RA
      op = getMemRIXEncoding(MI, 2, Fixups, STI);
      op &= UINT64_C(524287);
      op <<= 2;
      Value |= op;
      break;
    }
    case PPC::MFFSCDRN:
    case PPC::MFFSCRN: {
      // op: RST
      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 21;
      Value |= op;
      // op: FRB
      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 11;
      Value |= op;
      break;
    }
    case PPC::MFFSCRNI: {
      // op: RST
      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 21;
      Value |= op;
      // op: RM
      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
      op &= UINT64_C(3);
      op <<= 11;
      Value |= op;
      break;
    }
    case PPC::STBUX:
    case PPC::STBUX8:
    case PPC::STDUX:
    case PPC::STFDUX:
    case PPC::STFSUX:
    case PPC::STHUX:
    case PPC::STHUX8:
    case PPC::STWUX:
    case PPC::STWUX8: {
      // op: RST
      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 21;
      Value |= op;
      // op: A
      op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 16;
      Value |= op;
      // op: B
      op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 11;
      Value |= op;
      break;
    }
    case PPC::STDU: {
      // op: RST
      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 21;
      Value |= op;
      // op: DS_RA
      op = getMemRIXEncoding(MI, 2, Fixups, STI);
      op &= UINT64_C(524287);
      op <<= 2;
      Value |= op;
      break;
    }
    case PPC::MFCR:
    case PPC::MFCR8:
    case PPC::MFCTR:
    case PPC::MFCTR8:
    case PPC::MFLR:
    case PPC::MFLR8:
    case PPC::MFTB8:
    case PPC::MFUDSCR:
    case PPC::MFVRSAVE:
    case PPC::MFVRSAVEv:
    case PPC::MTCTR:
    case PPC::MTCTR8:
    case PPC::MTCTR8loop:
    case PPC::MTCTRloop:
    case PPC::MTLR:
    case PPC::MTLR8:
    case PPC::MTUDSCR:
    case PPC::MTVRSAVE:
    case PPC::MTVRSAVEv: {
      // op: RT
      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 21;
      Value |= op;
      break;
    }
    case PPC::SETB:
    case PPC::SETB8: {
      // op: RT
      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 21;
      Value |= op;
      // op: BFA
      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
      op &= UINT64_C(7);
      op <<= 18;
      Value |= op;
      break;
    }
    case PPC::MTVSRBMI: {
      // op: RT
      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 21;
      Value |= op;
      // op: D
      op = getImm16Encoding(MI, 1, Fixups, STI);
      Value |= (op & UINT64_C(62)) << 15;
      Value |= (op & UINT64_C(65472));
      Value |= (op & UINT64_C(1));
      break;
    }
    case PPC::ADDPCIS: {
      // op: RT
      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 21;
      Value |= op;
      // op: D
      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
      Value |= (op & UINT64_C(62)) << 15;
      Value |= (op & UINT64_C(65472));
      Value |= (op & UINT64_C(1));
      break;
    }
    case PPC::EVLHHESPLAT:
    case PPC::EVLHHOSSPLAT:
    case PPC::EVLHHOUSPLAT: {
      // op: RT
      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 21;
      Value |= op;
      // op: D
      op = getSPE2DisEncoding(MI, 1, Fixups, STI);
      Value |= (op & UINT64_C(1)) << 20;
      Value |= (op & UINT64_C(2)) << 18;
      Value |= (op & UINT64_C(4)) << 16;
      Value |= (op & UINT64_C(8)) << 14;
      Value |= (op & UINT64_C(16)) << 12;
      Value |= (op & UINT64_C(32)) << 10;
      Value |= (op & UINT64_C(64)) << 8;
      Value |= (op & UINT64_C(128)) << 6;
      Value |= (op & UINT64_C(256)) << 4;
      Value |= (op & UINT64_C(512)) << 2;
      break;
    }
    case PPC::EVLWHE:
    case PPC::EVLWHOS:
    case PPC::EVLWHOU:
    case PPC::EVLWHSPLAT:
    case PPC::EVLWWSPLAT:
    case PPC::EVSTWHE:
    case PPC::EVSTWHO:
    case PPC::EVSTWWE:
    case PPC::EVSTWWO: {
      // op: RT
      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 21;
      Value |= op;
      // op: D
      op = getSPE4DisEncoding(MI, 1, Fixups, STI);
      Value |= (op & UINT64_C(1)) << 20;
      Value |= (op & UINT64_C(2)) << 18;
      Value |= (op & UINT64_C(4)) << 16;
      Value |= (op & UINT64_C(8)) << 14;
      Value |= (op & UINT64_C(16)) << 12;
      Value |= (op & UINT64_C(32)) << 10;
      Value |= (op & UINT64_C(64)) << 8;
      Value |= (op & UINT64_C(128)) << 6;
      Value |= (op & UINT64_C(256)) << 4;
      Value |= (op & UINT64_C(512)) << 2;
      break;
    }
    case PPC::EVLDD:
    case PPC::EVLDH:
    case PPC::EVLDW:
    case PPC::EVSTDD:
    case PPC::EVSTDH:
    case PPC::EVSTDW: {
      // op: RT
      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 21;
      Value |= op;
      // op: D
      op = getSPE8DisEncoding(MI, 1, Fixups, STI);
      Value |= (op & UINT64_C(1)) << 20;
      Value |= (op & UINT64_C(2)) << 18;
      Value |= (op & UINT64_C(4)) << 16;
      Value |= (op & UINT64_C(8)) << 14;
      Value |= (op & UINT64_C(16)) << 12;
      Value |= (op & UINT64_C(32)) << 10;
      Value |= (op & UINT64_C(64)) << 8;
      Value |= (op & UINT64_C(128)) << 6;
      Value |= (op & UINT64_C(256)) << 4;
      Value |= (op & UINT64_C(512)) << 2;
      break;
    }
    case PPC::PLD:
    case PPC::PLWA:
    case PPC::PLWA8:
    case PPC::PLXSD:
    case PPC::PLXSSP:
    case PPC::PSTD:
    case PPC::PSTXSD:
    case PPC::PSTXSSP: {
      // op: RT
      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 21;
      Value |= op;
      // op: D_RA
      op = getMemRI34Encoding(MI, 1, Fixups, STI);
      Value |= (op & UINT64_C(17179803648)) << 16;
      Value |= (op & UINT64_C(532575944704)) >> 18;
      Value |= (op & UINT64_C(65535));
      break;
    }
    case PPC::PLDpc:
    case PPC::PLWA8pc:
    case PPC::PLWApc:
    case PPC::PLXSDpc:
    case PPC::PLXSSPpc:
    case PPC::PSTDpc:
    case PPC::PSTXSDpc:
    case PPC::PSTXSSPpc: {
      // op: RT
      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 21;
      Value |= op;
      // op: D_RA
      op = getMemRI34PCRelEncoding(MI, 1, Fixups, STI);
      Value |= (op & UINT64_C(17179803648)) << 16;
      Value |= (op & UINT64_C(532575944704)) >> 18;
      Value |= (op & UINT64_C(65535));
      break;
    }
    case PPC::MFBHRBE: {
      // op: RT
      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 21;
      Value |= op;
      // op: Entry
      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
      op &= UINT64_C(1023);
      op <<= 11;
      Value |= op;
      break;
    }
    case PPC::DARN: {
      // op: RT
      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 21;
      Value |= op;
      // op: L
      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
      op &= UINT64_C(3);
      op <<= 16;
      Value |= op;
      break;
    }
    case PPC::ADDME:
    case PPC::ADDME8:
    case PPC::ADDME8O:
    case PPC::ADDME8O_rec:
    case PPC::ADDME8_rec:
    case PPC::ADDMEO:
    case PPC::ADDMEO_rec:
    case PPC::ADDME_rec:
    case PPC::ADDZE:
    case PPC::ADDZE8:
    case PPC::ADDZE8O:
    case PPC::ADDZE8O_rec:
    case PPC::ADDZE8_rec:
    case PPC::ADDZEO:
    case PPC::ADDZEO_rec:
    case PPC::ADDZE_rec:
    case PPC::EFDABS:
    case PPC::EFDNABS:
    case PPC::EFDNEG:
    case PPC::EFSABS:
    case PPC::EFSNABS:
    case PPC::EFSNEG:
    case PPC::EVABS:
    case PPC::EVADDSMIAAW:
    case PPC::EVADDSSIAAW:
    case PPC::EVADDUMIAAW:
    case PPC::EVADDUSIAAW:
    case PPC::EVCNTLSW:
    case PPC::EVCNTLZW:
    case PPC::EVEXTSB:
    case PPC::EVEXTSH:
    case PPC::EVFSABS:
    case PPC::EVFSNABS:
    case PPC::EVFSNEG:
    case PPC::EVMRA:
    case PPC::EVNEG:
    case PPC::EVRNDW:
    case PPC::EVSPLATFI:
    case PPC::EVSPLATI:
    case PPC::EVSUBFSMIAAW:
    case PPC::EVSUBFSSIAAW:
    case PPC::EVSUBFUMIAAW:
    case PPC::EVSUBFUSIAAW:
    case PPC::NEG:
    case PPC::NEG8:
    case PPC::NEG8O:
    case PPC::NEG8O_rec:
    case PPC::NEG8_rec:
    case PPC::NEGO:
    case PPC::NEGO_rec:
    case PPC::NEG_rec:
    case PPC::SUBFME:
    case PPC::SUBFME8:
    case PPC::SUBFME8O:
    case PPC::SUBFME8O_rec:
    case PPC::SUBFME8_rec:
    case PPC::SUBFMEO:
    case PPC::SUBFMEO_rec:
    case PPC::SUBFME_rec:
    case PPC::SUBFZE:
    case PPC::SUBFZE8:
    case PPC::SUBFZE8O:
    case PPC::SUBFZE8O_rec:
    case PPC::SUBFZE8_rec:
    case PPC::SUBFZEO:
    case PPC::SUBFZEO_rec:
    case PPC::SUBFZE_rec: {
      // op: RT
      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 21;
      Value |= op;
      // op: RA
      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 16;
      Value |= op;
      break;
    }
    case PPC::ADD4:
    case PPC::ADD4O:
    case PPC::ADD4O_rec:
    case PPC::ADD4_rec:
    case PPC::ADD8:
    case PPC::ADD8O:
    case PPC::ADD8O_rec:
    case PPC::ADD8_rec:
    case PPC::ADDC:
    case PPC::ADDC8:
    case PPC::ADDC8O:
    case PPC::ADDC8O_rec:
    case PPC::ADDC8_rec:
    case PPC::ADDCO:
    case PPC::ADDCO_rec:
    case PPC::ADDC_rec:
    case PPC::ADDE:
    case PPC::ADDE8:
    case PPC::ADDE8O:
    case PPC::ADDE8O_rec:
    case PPC::ADDE8_rec:
    case PPC::ADDEO:
    case PPC::ADDEO_rec:
    case PPC::ADDE_rec:
    case PPC::BRINC:
    case PPC::DIVD:
    case PPC::DIVDE:
    case PPC::DIVDEO:
    case PPC::DIVDEO_rec:
    case PPC::DIVDEU:
    case PPC::DIVDEUO:
    case PPC::DIVDEUO_rec:
    case PPC::DIVDEU_rec:
    case PPC::DIVDE_rec:
    case PPC::DIVDO:
    case PPC::DIVDO_rec:
    case PPC::DIVDU:
    case PPC::DIVDUO:
    case PPC::DIVDUO_rec:
    case PPC::DIVDU_rec:
    case PPC::DIVD_rec:
    case PPC::DIVW:
    case PPC::DIVWE:
    case PPC::DIVWEO:
    case PPC::DIVWEO_rec:
    case PPC::DIVWEU:
    case PPC::DIVWEUO:
    case PPC::DIVWEUO_rec:
    case PPC::DIVWEU_rec:
    case PPC::DIVWE_rec:
    case PPC::DIVWO:
    case PPC::DIVWO_rec:
    case PPC::DIVWU:
    case PPC::DIVWUO:
    case PPC::DIVWUO_rec:
    case PPC::DIVWU_rec:
    case PPC::DIVW_rec:
    case PPC::EFDADD:
    case PPC::EFDDIV:
    case PPC::EFDMUL:
    case PPC::EFDSUB:
    case PPC::EFSADD:
    case PPC::EFSDIV:
    case PPC::EFSMUL:
    case PPC::EFSSUB:
    case PPC::EVADDIW:
    case PPC::EVADDW:
    case PPC::EVAND:
    case PPC::EVANDC:
    case PPC::EVDIVWS:
    case PPC::EVDIVWU:
    case PPC::EVEQV:
    case PPC::EVFSADD:
    case PPC::EVFSDIV:
    case PPC::EVFSMUL:
    case PPC::EVFSSUB:
    case PPC::EVLDDX:
    case PPC::EVLDHX:
    case PPC::EVLDWX:
    case PPC::EVLHHESPLATX:
    case PPC::EVLHHOSSPLATX:
    case PPC::EVLHHOUSPLATX:
    case PPC::EVLWHEX:
    case PPC::EVLWHOSX:
    case PPC::EVLWHOUX:
    case PPC::EVLWHSPLATX:
    case PPC::EVLWWSPLATX:
    case PPC::EVMERGEHI:
    case PPC::EVMERGEHILO:
    case PPC::EVMERGELO:
    case PPC::EVMERGELOHI:
    case PPC::EVMHEGSMFAA:
    case PPC::EVMHEGSMFAN:
    case PPC::EVMHEGSMIAA:
    case PPC::EVMHEGSMIAN:
    case PPC::EVMHEGUMIAA:
    case PPC::EVMHEGUMIAN:
    case PPC::EVMHESMF:
    case PPC::EVMHESMFA:
    case PPC::EVMHESMFAAW:
    case PPC::EVMHESMFANW:
    case PPC::EVMHESMI:
    case PPC::EVMHESMIA:
    case PPC::EVMHESMIAAW:
    case PPC::EVMHESMIANW:
    case PPC::EVMHESSF:
    case PPC::EVMHESSFA:
    case PPC::EVMHESSFAAW:
    case PPC::EVMHESSFANW:
    case PPC::EVMHESSIAAW:
    case PPC::EVMHESSIANW:
    case PPC::EVMHEUMI:
    case PPC::EVMHEUMIA:
    case PPC::EVMHEUMIAAW:
    case PPC::EVMHEUMIANW:
    case PPC::EVMHEUSIAAW:
    case PPC::EVMHEUSIANW:
    case PPC::EVMHOGSMFAA:
    case PPC::EVMHOGSMFAN:
    case PPC::EVMHOGSMIAA:
    case PPC::EVMHOGSMIAN:
    case PPC::EVMHOGUMIAA:
    case PPC::EVMHOGUMIAN:
    case PPC::EVMHOSMF:
    case PPC::EVMHOSMFA:
    case PPC::EVMHOSMFAAW:
    case PPC::EVMHOSMFANW:
    case PPC::EVMHOSMI:
    case PPC::EVMHOSMIA:
    case PPC::EVMHOSMIAAW:
    case PPC::EVMHOSMIANW:
    case PPC::EVMHOSSF:
    case PPC::EVMHOSSFA:
    case PPC::EVMHOSSFAAW:
    case PPC::EVMHOSSFANW:
    case PPC::EVMHOSSIAAW:
    case PPC::EVMHOSSIANW:
    case PPC::EVMHOUMI:
    case PPC::EVMHOUMIA:
    case PPC::EVMHOUMIAAW:
    case PPC::EVMHOUMIANW:
    case PPC::EVMHOUSIAAW:
    case PPC::EVMHOUSIANW:
    case PPC::EVMWHSMF:
    case PPC::EVMWHSMFA:
    case PPC::EVMWHSMI:
    case PPC::EVMWHSMIA:
    case PPC::EVMWHSSF:
    case PPC::EVMWHSSFA:
    case PPC::EVMWHUMI:
    case PPC::EVMWHUMIA:
    case PPC::EVMWLSMIAAW:
    case PPC::EVMWLSMIANW:
    case PPC::EVMWLSSIAAW:
    case PPC::EVMWLSSIANW:
    case PPC::EVMWLUMI:
    case PPC::EVMWLUMIA:
    case PPC::EVMWLUMIAAW:
    case PPC::EVMWLUMIANW:
    case PPC::EVMWLUSIAAW:
    case PPC::EVMWLUSIANW:
    case PPC::EVMWSMF:
    case PPC::EVMWSMFA:
    case PPC::EVMWSMFAA:
    case PPC::EVMWSMFAN:
    case PPC::EVMWSMI:
    case PPC::EVMWSMIA:
    case PPC::EVMWSMIAA:
    case PPC::EVMWSMIAN:
    case PPC::EVMWSSF:
    case PPC::EVMWSSFA:
    case PPC::EVMWSSFAA:
    case PPC::EVMWSSFAN:
    case PPC::EVMWUMI:
    case PPC::EVMWUMIA:
    case PPC::EVMWUMIAA:
    case PPC::EVMWUMIAN:
    case PPC::EVNAND:
    case PPC::EVNOR:
    case PPC::EVOR:
    case PPC::EVORC:
    case PPC::EVRLW:
    case PPC::EVRLWI:
    case PPC::EVSLW:
    case PPC::EVSLWI:
    case PPC::EVSRWIS:
    case PPC::EVSRWIU:
    case PPC::EVSRWS:
    case PPC::EVSRWU:
    case PPC::EVSTDDX:
    case PPC::EVSTDHX:
    case PPC::EVSTDWX:
    case PPC::EVSTWHEX:
    case PPC::EVSTWHOX:
    case PPC::EVSTWWEX:
    case PPC::EVSTWWOX:
    case PPC::EVSUBFW:
    case PPC::EVSUBIFW:
    case PPC::EVXOR:
    case PPC::MULHD:
    case PPC::MULHDU:
    case PPC::MULHDU_rec:
    case PPC::MULHD_rec:
    case PPC::MULHW:
    case PPC::MULHWU:
    case PPC::MULHWU_rec:
    case PPC::MULHW_rec:
    case PPC::MULLD:
    case PPC::MULLDO:
    case PPC::MULLDO_rec:
    case PPC::MULLD_rec:
    case PPC::MULLW:
    case PPC::MULLWO:
    case PPC::MULLWO_rec:
    case PPC::MULLW_rec:
    case PPC::SUBF:
    case PPC::SUBF8:
    case PPC::SUBF8O:
    case PPC::SUBF8O_rec:
    case PPC::SUBF8_rec:
    case PPC::SUBFC:
    case PPC::SUBFC8:
    case PPC::SUBFC8O:
    case PPC::SUBFC8O_rec:
    case PPC::SUBFC8_rec:
    case PPC::SUBFCO:
    case PPC::SUBFCO_rec:
    case PPC::SUBFC_rec:
    case PPC::SUBFE:
    case PPC::SUBFE8:
    case PPC::SUBFE8O:
    case PPC::SUBFE8O_rec:
    case PPC::SUBFE8_rec:
    case PPC::SUBFEO:
    case PPC::SUBFEO_rec:
    case PPC::SUBFE_rec:
    case PPC::SUBFO:
    case PPC::SUBFO_rec:
    case PPC::SUBF_rec: {
      // op: RT
      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 21;
      Value |= op;
      // op: RA
      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 16;
      Value |= op;
      // op: RB
      op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 11;
      Value |= op;
      break;
    }
    case PPC::ISEL:
    case PPC::ISEL8: {
      // op: RT
      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 21;
      Value |= op;
      // op: RA
      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 16;
      Value |= op;
      // op: RB
      op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 11;
      Value |= op;
      // op: COND
      op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 6;
      Value |= op;
      break;
    }
    case PPC::ADDEX:
    case PPC::ADDEX8: {
      // op: RT
      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 21;
      Value |= op;
      // op: RA
      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 16;
      Value |= op;
      // op: RB
      op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 11;
      Value |= op;
      // op: CY
      op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
      op &= UINT64_C(3);
      op <<= 9;
      Value |= op;
      break;
    }
    case PPC::SUBFUS:
    case PPC::SUBFUS_rec: {
      // op: RT
      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 21;
      Value |= op;
      // op: RA
      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 16;
      Value |= op;
      // op: RB
      op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 11;
      Value |= op;
      // op: L
      op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
      op &= UINT64_C(1);
      op <<= 10;
      Value |= op;
      break;
    }
    case PPC::ADD4TLS:
    case PPC::ADD8TLS:
    case PPC::ADD8TLS_: {
      // op: RT
      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 21;
      Value |= op;
      // op: RA
      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 16;
      Value |= op;
      // op: RB
      op = getTLSRegEncoding(MI, 2, Fixups, STI);
      op &= UINT64_C(31);
      op <<= 11;
      Value |= op;
      break;
    }
    case PPC::PADDI:
    case PPC::PADDI8: {
      // op: RT
      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 21;
      Value |= op;
      // op: RA
      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 16;
      Value |= op;
      // op: SI
      op = getImm34EncodingNoPCRel(MI, 2, Fixups, STI);
      Value |= (op & UINT64_C(17179803648)) << 16;
      Value |= (op & UINT64_C(65535));
      break;
    }
    case PPC::PADDI8pc:
    case PPC::PADDIpc: {
      // op: RT
      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 21;
      Value |= op;
      // op: RA
      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 16;
      Value |= op;
      // op: SI
      op = getImm34EncodingPCRel(MI, 2, Fixups, STI);
      Value |= (op & UINT64_C(17179803648)) << 16;
      Value |= (op & UINT64_C(65535));
      break;
    }
    case PPC::EFDCFS:
    case PPC::EFDCFSF:
    case PPC::EFDCFSI:
    case PPC::EFDCFSID:
    case PPC::EFDCFUF:
    case PPC::EFDCFUI:
    case PPC::EFDCFUID:
    case PPC::EFDCTSF:
    case PPC::EFDCTSI:
    case PPC::EFDCTSIDZ:
    case PPC::EFDCTSIZ:
    case PPC::EFDCTUF:
    case PPC::EFDCTUI:
    case PPC::EFDCTUIDZ:
    case PPC::EFDCTUIZ:
    case PPC::EFSCFD:
    case PPC::EFSCFSF:
    case PPC::EFSCFSI:
    case PPC::EFSCFUF:
    case PPC::EFSCFUI:
    case PPC::EFSCTSF:
    case PPC::EFSCTSI:
    case PPC::EFSCTSIZ:
    case PPC::EFSCTUF:
    case PPC::EFSCTUI:
    case PPC::EFSCTUIZ:
    case PPC::EVFSCFSF:
    case PPC::EVFSCFSI:
    case PPC::EVFSCFUF:
    case PPC::EVFSCFUI:
    case PPC::EVFSCTSF:
    case PPC::EVFSCTSI:
    case PPC::EVFSCTSIZ:
    case PPC::EVFSCTUF:
    case PPC::EVFSCTUI:
    case PPC::EVFSCTUIZ:
    case PPC::SLBMFEV: {
      // op: RT
      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 21;
      Value |= op;
      // op: RB
      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 11;
      Value |= op;
      break;
    }
    case PPC::PLI:
    case PPC::PLI8: {
      // op: RT
      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 21;
      Value |= op;
      // op: SI
      op = getImm34EncodingNoPCRel(MI, 1, Fixups, STI);
      Value |= (op & UINT64_C(17179803648)) << 16;
      Value |= (op & UINT64_C(65535));
      break;
    }
    case PPC::MFDCR:
    case PPC::MFPMR:
    case PPC::MFSPR:
    case PPC::MFSPR8:
    case PPC::MFTB:
    case PPC::MTDCR: {
      // op: RT
      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 21;
      Value |= op;
      // op: SPR
      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
      Value |= (op & UINT64_C(31)) << 16;
      Value |= (op & UINT64_C(992)) << 6;
      break;
    }
    case PPC::XSXEXPDP:
    case PPC::XSXSIGDP: {
      // op: RT
      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 21;
      Value |= op;
      // op: XB
      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
      Value |= (op & UINT64_C(31)) << 11;
      Value |= (op & UINT64_C(32)) >> 4;
      break;
    }
    case PPC::MTPMR:
    case PPC::MTSPR:
    case PPC::MTSPR8: {
      // op: RT
      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 21;
      Value |= op;
      // op: SPR
      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
      Value |= (op & UINT64_C(31)) << 16;
      Value |= (op & UINT64_C(992)) << 6;
      break;
    }
    case PPC::LQ: {
      // op: RTp
      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 21;
      Value |= op;
      // op: DQ_RA
      op = getMemRIX16Encoding(MI, 1, Fixups, STI);
      op &= UINT64_C(131071);
      op <<= 4;
      Value |= op;
      break;
    }
    case PPC::RFEBB: {
      // op: S
      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
      op &= UINT64_C(1);
      op <<= 11;
      Value |= op;
      break;
    }
    case PPC::MFOCRF:
    case PPC::MFOCRF8: {
      // op: ST
      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 21;
      Value |= op;
      // op: FXM
      op = get_crbitm_encoding(MI, 1, Fixups, STI);
      op &= UINT64_C(255);
      op <<= 12;
      Value |= op;
      break;
    }
    case PPC::MTOCRF:
    case PPC::MTOCRF8: {
      // op: ST
      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 21;
      Value |= op;
      // op: FXM
      op = get_crbitm_encoding(MI, 0, Fixups, STI);
      op &= UINT64_C(255);
      op <<= 12;
      Value |= op;
      break;
    }
    case PPC::DSS: {
      // op: STRM
      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
      op &= UINT64_C(3);
      op <<= 21;
      Value |= op;
      break;
    }
    case PPC::DST:
    case PPC::DST64:
    case PPC::DSTST:
    case PPC::DSTST64:
    case PPC::DSTSTT:
    case PPC::DSTSTT64:
    case PPC::DSTT:
    case PPC::DSTT64: {
      // op: STRM
      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
      op &= UINT64_C(3);
      op <<= 21;
      Value |= op;
      // op: A
      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 16;
      Value |= op;
      // op: B
      op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 11;
      Value |= op;
      break;
    }
    case PPC::DCBF:
    case PPC::DCBT:
    case PPC::DCBTST: {
      // op: TH
      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 21;
      Value |= op;
      // op: A
      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 16;
      Value |= op;
      // op: B
      op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 11;
      Value |= op;
      break;
    }
    case PPC::DCBTEP:
    case PPC::DCBTSTEP: {
      // op: TH
      op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 21;
      Value |= op;
      // op: A
      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 16;
      Value |= op;
      // op: B
      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 11;
      Value |= op;
      break;
    }
    case PPC::MTVSCR: {
      // op: VB
      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 11;
      Value |= op;
      break;
    }
    case PPC::V_SET0:
    case PPC::V_SET0B:
    case PPC::V_SET0H: {
      // op: VD
      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
      Value |= (op & UINT64_C(31)) << 21;
      Value |= (op & UINT64_C(31)) << 16;
      Value |= (op & UINT64_C(31)) << 11;
      break;
    }
    case PPC::MFVSCR:
    case PPC::V_SETALLONES:
    case PPC::V_SETALLONESB:
    case PPC::V_SETALLONESH: {
      // op: VD
      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 21;
      Value |= op;
      break;
    }
    case PPC::VSPLTISB:
    case PPC::VSPLTISH:
    case PPC::VSPLTISW: {
      // op: VD
      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 21;
      Value |= op;
      // op: IMM
      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 16;
      Value |= op;
      break;
    }
    case PPC::VMUL10CUQ:
    case PPC::VMUL10UQ:
    case PPC::VSBOX: {
      // op: VD
      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 21;
      Value |= op;
      // op: VA
      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 16;
      Value |= op;
      break;
    }
    case PPC::VSHASIGMAD:
    case PPC::VSHASIGMAW: {
      // op: VD
      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 21;
      Value |= op;
      // op: VA
      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 16;
      Value |= op;
      // op: ST
      op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
      op &= UINT64_C(1);
      op <<= 15;
      Value |= op;
      // op: SIX
      op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
      op &= UINT64_C(15);
      op <<= 11;
      Value |= op;
      break;
    }
    case PPC::BCDCPSGN_rec:
    case PPC::BCDUS_rec:
    case PPC::BCDUTRUNC_rec:
    case PPC::VABSDUB:
    case PPC::VABSDUH:
    case PPC::VABSDUW:
    case PPC::VADDCUQ:
    case PPC::VADDCUW:
    case PPC::VADDFP:
    case PPC::VADDSBS:
    case PPC::VADDSHS:
    case PPC::VADDSWS:
    case PPC::VADDUBM:
    case PPC::VADDUBS:
    case PPC::VADDUDM:
    case PPC::VADDUHM:
    case PPC::VADDUHS:
    case PPC::VADDUQM:
    case PPC::VADDUWM:
    case PPC::VADDUWS:
    case PPC::VAND:
    case PPC::VANDC:
    case PPC::VAVGSB:
    case PPC::VAVGSH:
    case PPC::VAVGSW:
    case PPC::VAVGUB:
    case PPC::VAVGUH:
    case PPC::VAVGUW:
    case PPC::VBPERMD:
    case PPC::VBPERMQ:
    case PPC::VCFSX:
    case PPC::VCFUGED:
    case PPC::VCFUX:
    case PPC::VCIPHER:
    case PPC::VCIPHERLAST:
    case PPC::VCLRLB:
    case PPC::VCLRRB:
    case PPC::VCLZDM:
    case PPC::VCMPBFP:
    case PPC::VCMPBFP_rec:
    case PPC::VCMPEQFP:
    case PPC::VCMPEQFP_rec:
    case PPC::VCMPEQUB:
    case PPC::VCMPEQUB_rec:
    case PPC::VCMPEQUD:
    case PPC::VCMPEQUD_rec:
    case PPC::VCMPEQUH:
    case PPC::VCMPEQUH_rec:
    case PPC::VCMPEQUQ:
    case PPC::VCMPEQUQ_rec:
    case PPC::VCMPEQUW:
    case PPC::VCMPEQUW_rec:
    case PPC::VCMPGEFP:
    case PPC::VCMPGEFP_rec:
    case PPC::VCMPGTFP:
    case PPC::VCMPGTFP_rec:
    case PPC::VCMPGTSB:
    case PPC::VCMPGTSB_rec:
    case PPC::VCMPGTSD:
    case PPC::VCMPGTSD_rec:
    case PPC::VCMPGTSH:
    case PPC::VCMPGTSH_rec:
    case PPC::VCMPGTSQ:
    case PPC::VCMPGTSQ_rec:
    case PPC::VCMPGTSW:
    case PPC::VCMPGTSW_rec:
    case PPC::VCMPGTUB:
    case PPC::VCMPGTUB_rec:
    case PPC::VCMPGTUD:
    case PPC::VCMPGTUD_rec:
    case PPC::VCMPGTUH:
    case PPC::VCMPGTUH_rec:
    case PPC::VCMPGTUQ:
    case PPC::VCMPGTUQ_rec:
    case PPC::VCMPGTUW:
    case PPC::VCMPGTUW_rec:
    case PPC::VCMPNEB:
    case PPC::VCMPNEB_rec:
    case PPC::VCMPNEH:
    case PPC::VCMPNEH_rec:
    case PPC::VCMPNEW:
    case PPC::VCMPNEW_rec:
    case PPC::VCMPNEZB:
    case PPC::VCMPNEZB_rec:
    case PPC::VCMPNEZH:
    case PPC::VCMPNEZH_rec:
    case PPC::VCMPNEZW:
    case PPC::VCMPNEZW_rec:
    case PPC::VCTSXS:
    case PPC::VCTUXS:
    case PPC::VCTZDM:
    case PPC::VDIVESD:
    case PPC::VDIVESQ:
    case PPC::VDIVESW:
    case PPC::VDIVEUD:
    case PPC::VDIVEUQ:
    case PPC::VDIVEUW:
    case PPC::VDIVSD:
    case PPC::VDIVSQ:
    case PPC::VDIVSW:
    case PPC::VDIVUD:
    case PPC::VDIVUQ:
    case PPC::VDIVUW:
    case PPC::VEQV:
    case PPC::VEXTRACTD:
    case PPC::VEXTRACTUB:
    case PPC::VEXTRACTUH:
    case PPC::VEXTRACTUW:
    case PPC::VEXTUBLX:
    case PPC::VEXTUBRX:
    case PPC::VEXTUHLX:
    case PPC::VEXTUHRX:
    case PPC::VEXTUWLX:
    case PPC::VEXTUWRX:
    case PPC::VINSERTD:
    case PPC::VINSERTW:
    case PPC::VMAXFP:
    case PPC::VMAXSB:
    case PPC::VMAXSD:
    case PPC::VMAXSH:
    case PPC::VMAXSW:
    case PPC::VMAXUB:
    case PPC::VMAXUD:
    case PPC::VMAXUH:
    case PPC::VMAXUW:
    case PPC::VMINFP:
    case PPC::VMINSB:
    case PPC::VMINSD:
    case PPC::VMINSH:
    case PPC::VMINSW:
    case PPC::VMINUB:
    case PPC::VMINUD:
    case PPC::VMINUH:
    case PPC::VMINUW:
    case PPC::VMODSD:
    case PPC::VMODSQ:
    case PPC::VMODSW:
    case PPC::VMODUD:
    case PPC::VMODUQ:
    case PPC::VMODUW:
    case PPC::VMRGEW:
    case PPC::VMRGHB:
    case PPC::VMRGHH:
    case PPC::VMRGHW:
    case PPC::VMRGLB:
    case PPC::VMRGLH:
    case PPC::VMRGLW:
    case PPC::VMRGOW:
    case PPC::VMUL10ECUQ:
    case PPC::VMUL10EUQ:
    case PPC::VMULESB:
    case PPC::VMULESD:
    case PPC::VMULESH:
    case PPC::VMULESW:
    case PPC::VMULEUB:
    case PPC::VMULEUD:
    case PPC::VMULEUH:
    case PPC::VMULEUW:
    case PPC::VMULHSD:
    case PPC::VMULHSW:
    case PPC::VMULHUD:
    case PPC::VMULHUW:
    case PPC::VMULLD:
    case PPC::VMULOSB:
    case PPC::VMULOSD:
    case PPC::VMULOSH:
    case PPC::VMULOSW:
    case PPC::VMULOUB:
    case PPC::VMULOUD:
    case PPC::VMULOUH:
    case PPC::VMULOUW:
    case PPC::VMULUWM:
    case PPC::VNAND:
    case PPC::VNCIPHER:
    case PPC::VNCIPHERLAST:
    case PPC::VNOR:
    case PPC::VOR:
    case PPC::VORC:
    case PPC::VPDEPD:
    case PPC::VPEXTD:
    case PPC::VPKPX:
    case PPC::VPKSDSS:
    case PPC::VPKSDUS:
    case PPC::VPKSHSS:
    case PPC::VPKSHUS:
    case PPC::VPKSWSS:
    case PPC::VPKSWUS:
    case PPC::VPKUDUM:
    case PPC::VPKUDUS:
    case PPC::VPKUHUM:
    case PPC::VPKUHUS:
    case PPC::VPKUWUM:
    case PPC::VPKUWUS:
    case PPC::VPMSUMB:
    case PPC::VPMSUMD:
    case PPC::VPMSUMH:
    case PPC::VPMSUMW:
    case PPC::VRLB:
    case PPC::VRLD:
    case PPC::VRLDMI:
    case PPC::VRLDNM:
    case PPC::VRLH:
    case PPC::VRLQ:
    case PPC::VRLQMI:
    case PPC::VRLQNM:
    case PPC::VRLW:
    case PPC::VRLWMI:
    case PPC::VRLWNM:
    case PPC::VSL:
    case PPC::VSLB:
    case PPC::VSLD:
    case PPC::VSLH:
    case PPC::VSLO:
    case PPC::VSLQ:
    case PPC::VSLV:
    case PPC::VSLW:
    case PPC::VSPLTB:
    case PPC::VSPLTBs:
    case PPC::VSPLTH:
    case PPC::VSPLTHs:
    case PPC::VSPLTW:
    case PPC::VSR:
    case PPC::VSRAB:
    case PPC::VSRAD:
    case PPC::VSRAH:
    case PPC::VSRAQ:
    case PPC::VSRAW:
    case PPC::VSRB:
    case PPC::VSRD:
    case PPC::VSRH:
    case PPC::VSRO:
    case PPC::VSRQ:
    case PPC::VSRV:
    case PPC::VSRW:
    case PPC::VSUBCUQ:
    case PPC::VSUBCUW:
    case PPC::VSUBFP:
    case PPC::VSUBSBS:
    case PPC::VSUBSHS:
    case PPC::VSUBSWS:
    case PPC::VSUBUBM:
    case PPC::VSUBUBS:
    case PPC::VSUBUDM:
    case PPC::VSUBUHM:
    case PPC::VSUBUHS:
    case PPC::VSUBUQM:
    case PPC::VSUBUWM:
    case PPC::VSUBUWS:
    case PPC::VSUM2SWS:
    case PPC::VSUM4SBS:
    case PPC::VSUM4SHS:
    case PPC::VSUM4UBS:
    case PPC::VSUMSWS:
    case PPC::VXOR: {
      // op: VD
      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 21;
      Value |= op;
      // op: VA
      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 16;
      Value |= op;
      // op: VB
      op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 11;
      Value |= op;
      break;
    }
    case PPC::BCDADD_rec:
    case PPC::BCDSR_rec:
    case PPC::BCDSUB_rec:
    case PPC::BCDS_rec:
    case PPC::BCDTRUNC_rec: {
      // op: VD
      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 21;
      Value |= op;
      // op: VA
      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 16;
      Value |= op;
      // op: VB
      op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 11;
      Value |= op;
      // op: PS
      op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
      op &= UINT64_C(1);
      op <<= 9;
      Value |= op;
      break;
    }
    case PPC::VSLDOI: {
      // op: VD
      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 21;
      Value |= op;
      // op: VA
      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 16;
      Value |= op;
      // op: VB
      op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 11;
      Value |= op;
      // op: SH
      op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
      op &= UINT64_C(15);
      op <<= 6;
      Value |= op;
      break;
    }
    case PPC::MADDHD:
    case PPC::MADDHDU:
    case PPC::MADDLD:
    case PPC::MADDLD8:
    case PPC::VADDECUQ:
    case PPC::VADDEUQM:
    case PPC::VEXTDDVLX:
    case PPC::VEXTDDVRX:
    case PPC::VEXTDUBVLX:
    case PPC::VEXTDUBVRX:
    case PPC::VEXTDUHVLX:
    case PPC::VEXTDUHVRX:
    case PPC::VEXTDUWVLX:
    case PPC::VEXTDUWVRX:
    case PPC::VMHADDSHS:
    case PPC::VMHRADDSHS:
    case PPC::VMLADDUHM:
    case PPC::VMSUMCUD:
    case PPC::VMSUMMBM:
    case PPC::VMSUMSHM:
    case PPC::VMSUMSHS:
    case PPC::VMSUMUBM:
    case PPC::VMSUMUDM:
    case PPC::VMSUMUHM:
    case PPC::VMSUMUHS:
    case PPC::VPERM:
    case PPC::VPERMR:
    case PPC::VSEL:
    case PPC::VSUBECUQ:
    case PPC::VSUBEUQM: {
      // op: VD
      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 21;
      Value |= op;
      // op: VA
      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 16;
      Value |= op;
      // op: VB
      op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 11;
      Value |= op;
      // op: VC
      op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 6;
      Value |= op;
      break;
    }
    case PPC::VMADDFP:
    case PPC::VNMSUBFP: {
      // op: VD
      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 21;
      Value |= op;
      // op: VA
      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 16;
      Value |= op;
      // op: VC
      op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 6;
      Value |= op;
      // op: VB
      op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 11;
      Value |= op;
      break;
    }
    case PPC::VPERMXOR: {
      // op: VD
      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 21;
      Value |= op;
      // op: VA
      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 16;
      Value |= op;
      // op: VC
      op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 6;
      Value |= op;
      // op: VB
      op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 11;
      Value |= op;
      break;
    }
    case PPC::VINSBLX:
    case PPC::VINSBRX:
    case PPC::VINSBVLX:
    case PPC::VINSBVRX:
    case PPC::VINSD:
    case PPC::VINSDLX:
    case PPC::VINSDRX:
    case PPC::VINSERTB:
    case PPC::VINSERTH:
    case PPC::VINSHLX:
    case PPC::VINSHRX:
    case PPC::VINSHVLX:
    case PPC::VINSHVRX:
    case PPC::VINSW:
    case PPC::VINSWLX:
    case PPC::VINSWRX:
    case PPC::VINSWVLX:
    case PPC::VINSWVRX: {
      // op: VD
      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 21;
      Value |= op;
      // op: VA
      op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 16;
      Value |= op;
      // op: VB
      op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 11;
      Value |= op;
      break;
    }
    case PPC::BCDCTN_rec:
    case PPC::BCDCTSQ_rec:
    case PPC::VCFSX_0:
    case PPC::VCFUX_0:
    case PPC::VCLZB:
    case PPC::VCLZD:
    case PPC::VCLZH:
    case PPC::VCLZW:
    case PPC::VCTSXS_0:
    case PPC::VCTUXS_0:
    case PPC::VEXPTEFP:
    case PPC::VGBBD:
    case PPC::VLOGEFP:
    case PPC::VPOPCNTB:
    case PPC::VPOPCNTD:
    case PPC::VPOPCNTH:
    case PPC::VPOPCNTW:
    case PPC::VREFP:
    case PPC::VRFIM:
    case PPC::VRFIN:
    case PPC::VRFIP:
    case PPC::VRFIZ:
    case PPC::VRSQRTEFP:
    case PPC::VUPKHPX:
    case PPC::VUPKHSB:
    case PPC::VUPKHSH:
    case PPC::VUPKHSW:
    case PPC::VUPKLPX:
    case PPC::VUPKLSB:
    case PPC::VUPKLSH:
    case PPC::VUPKLSW: {
      // op: VD
      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 21;
      Value |= op;
      // op: VB
      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 11;
      Value |= op;
      break;
    }
    case PPC::BCDCFN_rec:
    case PPC::BCDCFSQ_rec:
    case PPC::BCDCFZ_rec:
    case PPC::BCDCTZ_rec:
    case PPC::BCDSETSGN_rec: {
      // op: VD
      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 21;
      Value |= op;
      // op: VB
      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 11;
      Value |= op;
      // op: PS
      op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
      op &= UINT64_C(1);
      op <<= 9;
      Value |= op;
      break;
    }
    case PPC::XSRQPI:
    case PPC::XSRQPIX:
    case PPC::XSRQPXP: {
      // op: VRT
      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 21;
      Value |= op;
      // op: R
      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
      op &= UINT64_C(1);
      op <<= 16;
      Value |= op;
      // op: VRB
      op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 11;
      Value |= op;
      // op: idx
      op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
      op &= UINT64_C(3);
      op <<= 9;
      Value |= op;
      break;
    }
    case PPC::VSLDBI:
    case PPC::VSRDBI: {
      // op: VRT
      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 21;
      Value |= op;
      // op: VRA
      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 16;
      Value |= op;
      // op: VRB
      op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 11;
      Value |= op;
      // op: SD
      op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
      op &= UINT64_C(7);
      op <<= 6;
      Value |= op;
      break;
    }
    case PPC::VSTRIBL:
    case PPC::VSTRIBL_rec:
    case PPC::VSTRIBR:
    case PPC::VSTRIBR_rec:
    case PPC::VSTRIHL:
    case PPC::VSTRIHL_rec:
    case PPC::VSTRIHR:
    case PPC::VSTRIHR_rec: {
      // op: VT
      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 21;
      Value |= op;
      // op: VB
      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 11;
      Value |= op;
      break;
    }
    case PPC::XXLEQVOnes:
    case PPC::XXLXORdpz:
    case PPC::XXLXORspz:
    case PPC::XXLXORz: {
      // op: XT
      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
      Value |= (op & UINT64_C(31)) << 21;
      Value |= (op & UINT64_C(31)) << 16;
      Value |= (op & UINT64_C(31)) << 11;
      Value |= (op & UINT64_C(32)) >> 3;
      Value |= (op & UINT64_C(32)) >> 4;
      Value |= (op & UINT64_C(32)) >> 5;
      break;
    }
    case PPC::XXSPLTIDP:
    case PPC::XXSPLTIW: {
      // op: XT
      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
      Value |= (op & UINT64_C(31)) << 21;
      Value |= (op & UINT64_C(32)) << 11;
      // op: IMM32
      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
      Value |= (op & UINT64_C(4294901760)) << 16;
      Value |= (op & UINT64_C(65535));
      break;
    }
    case PPC::XXSPLTI32DX: {
      // op: XT
      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
      Value |= (op & UINT64_C(31)) << 21;
      Value |= (op & UINT64_C(32)) << 11;
      // op: IX
      op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
      op &= UINT64_C(1);
      op <<= 17;
      Value |= op;
      // op: IMM32
      op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
      Value |= (op & UINT64_C(4294901760)) << 16;
      Value |= (op & UINT64_C(65535));
      break;
    }
    case PPC::LXV:
    case PPC::STXV: {
      // op: XT
      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
      Value |= (op & UINT64_C(31)) << 21;
      Value |= (op & UINT64_C(32)) >> 2;
      // op: DS_RA
      op = getMemRIX16Encoding(MI, 1, Fixups, STI);
      op &= UINT64_C(131071);
      op <<= 4;
      Value |= op;
      break;
    }
    case PPC::MTVRD:
    case PPC::MTVRWA:
    case PPC::MTVRWZ:
    case PPC::MTVSRD:
    case PPC::MTVSRWA:
    case PPC::MTVSRWS:
    case PPC::MTVSRWZ: {
      // op: XT
      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
      Value |= (op & UINT64_C(31)) << 21;
      Value |= (op & UINT64_C(32)) >> 5;
      // op: A
      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 16;
      Value |= op;
      break;
    }
    case PPC::LXSDX:
    case PPC::LXSIBZX:
    case PPC::LXSIHZX:
    case PPC::LXSIWAX:
    case PPC::LXSIWZX:
    case PPC::LXSSPX:
    case PPC::LXVB16X:
    case PPC::LXVD2X:
    case PPC::LXVDSX:
    case PPC::LXVH8X:
    case PPC::LXVL:
    case PPC::LXVLL:
    case PPC::LXVRBX:
    case PPC::LXVRDX:
    case PPC::LXVRHX:
    case PPC::LXVRL:
    case PPC::LXVRLL:
    case PPC::LXVRWX:
    case PPC::LXVW4X:
    case PPC::LXVWSX:
    case PPC::LXVX:
    case PPC::MTVSRDD:
    case PPC::STXSDX:
    case PPC::STXSIBX:
    case PPC::STXSIBXv:
    case PPC::STXSIHX:
    case PPC::STXSIHXv:
    case PPC::STXSIWX:
    case PPC::STXSSPX:
    case PPC::STXVB16X:
    case PPC::STXVD2X:
    case PPC::STXVH8X:
    case PPC::STXVL:
    case PPC::STXVLL:
    case PPC::STXVRBX:
    case PPC::STXVRDX:
    case PPC::STXVRHX:
    case PPC::STXVRL:
    case PPC::STXVRLL:
    case PPC::STXVRWX:
    case PPC::STXVW4X:
    case PPC::STXVX:
    case PPC::XSIEXPDP: {
      // op: XT
      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
      Value |= (op & UINT64_C(31)) << 21;
      Value |= (op & UINT64_C(32)) >> 5;
      // op: A
      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 16;
      Value |= op;
      // op: B
      op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 11;
      Value |= op;
      break;
    }
    case PPC::XVTSTDCDP:
    case PPC::XVTSTDCSP: {
      // op: XT
      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
      Value |= (op & UINT64_C(31)) << 21;
      Value |= (op & UINT64_C(32)) >> 5;
      // op: DCMX
      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
      Value |= (op & UINT64_C(31)) << 16;
      Value |= (op & UINT64_C(64));
      Value |= (op & UINT64_C(32)) >> 3;
      // op: XB
      op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
      Value |= (op & UINT64_C(31)) << 11;
      Value |= (op & UINT64_C(32)) >> 4;
      break;
    }
    case PPC::XXSPLTIB: {
      // op: XT
      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
      Value |= (op & UINT64_C(31)) << 21;
      Value |= (op & UINT64_C(32)) >> 5;
      // op: IMM8
      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
      op &= UINT64_C(255);
      op <<= 11;
      Value |= op;
      break;
    }
    case PPC::LXVKQ: {
      // op: XT
      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
      Value |= (op & UINT64_C(31)) << 21;
      Value |= (op & UINT64_C(32)) >> 5;
      // op: UIM
      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 11;
      Value |= op;
      break;
    }
    case PPC::XXGENPCVBM:
    case PPC::XXGENPCVDM:
    case PPC::XXGENPCVHM:
    case PPC::XXGENPCVWM: {
      // op: XT
      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
      Value |= (op & UINT64_C(31)) << 21;
      Value |= (op & UINT64_C(32)) >> 5;
      // op: VRB
      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 11;
      Value |= op;
      // op: IMM
      op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 16;
      Value |= op;
      break;
    }
    case PPC::XXPERMDIs:
    case PPC::XXSLDWIs: {
      // op: XT
      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
      Value |= (op & UINT64_C(31)) << 21;
      Value |= (op & UINT64_C(32)) >> 5;
      // op: XA
      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
      Value |= (op & UINT64_C(31)) << 16;
      Value |= (op & UINT64_C(31)) << 11;
      Value |= (op & UINT64_C(32)) >> 3;
      Value |= (op & UINT64_C(32)) >> 4;
      // op: D
      op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
      op &= UINT64_C(3);
      op <<= 8;
      Value |= op;
      break;
    }
    case PPC::XSADDDP:
    case PPC::XSADDSP:
    case PPC::XSCMPEQDP:
    case PPC::XSCMPGEDP:
    case PPC::XSCMPGTDP:
    case PPC::XSCPSGNDP:
    case PPC::XSDIVDP:
    case PPC::XSDIVSP:
    case PPC::XSMAXCDP:
    case PPC::XSMAXDP:
    case PPC::XSMAXJDP:
    case PPC::XSMINCDP:
    case PPC::XSMINDP:
    case PPC::XSMINJDP:
    case PPC::XSMULDP:
    case PPC::XSMULSP:
    case PPC::XSSUBDP:
    case PPC::XSSUBSP:
    case PPC::XVADDDP:
    case PPC::XVADDSP:
    case PPC::XVCMPEQDP:
    case PPC::XVCMPEQDP_rec:
    case PPC::XVCMPEQSP:
    case PPC::XVCMPEQSP_rec:
    case PPC::XVCMPGEDP:
    case PPC::XVCMPGEDP_rec:
    case PPC::XVCMPGESP:
    case PPC::XVCMPGESP_rec:
    case PPC::XVCMPGTDP:
    case PPC::XVCMPGTDP_rec:
    case PPC::XVCMPGTSP:
    case PPC::XVCMPGTSP_rec:
    case PPC::XVCPSGNDP:
    case PPC::XVCPSGNSP:
    case PPC::XVDIVDP:
    case PPC::XVDIVSP:
    case PPC::XVIEXPDP:
    case PPC::XVIEXPSP:
    case PPC::XVMAXDP:
    case PPC::XVMAXSP:
    case PPC::XVMINDP:
    case PPC::XVMINSP:
    case PPC::XVMULDP:
    case PPC::XVMULSP:
    case PPC::XVSUBDP:
    case PPC::XVSUBSP:
    case PPC::XXLAND:
    case PPC::XXLANDC:
    case PPC::XXLEQV:
    case PPC::XXLNAND:
    case PPC::XXLNOR:
    case PPC::XXLOR:
    case PPC::XXLORC:
    case PPC::XXLORf:
    case PPC::XXLXOR:
    case PPC::XXMRGHW:
    case PPC::XXMRGLW: {
      // op: XT
      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
      Value |= (op & UINT64_C(31)) << 21;
      Value |= (op & UINT64_C(32)) >> 5;
      // op: XA
      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
      Value |= (op & UINT64_C(31)) << 16;
      Value |= (op & UINT64_C(32)) >> 3;
      // op: XB
      op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
      Value |= (op & UINT64_C(31)) << 11;
      Value |= (op & UINT64_C(32)) >> 4;
      break;
    }
    case PPC::XXPERMDI:
    case PPC::XXSLDWI: {
      // op: XT
      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
      Value |= (op & UINT64_C(31)) << 21;
      Value |= (op & UINT64_C(32)) >> 5;
      // op: XA
      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
      Value |= (op & UINT64_C(31)) << 16;
      Value |= (op & UINT64_C(32)) >> 3;
      // op: XB
      op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
      Value |= (op & UINT64_C(31)) << 11;
      Value |= (op & UINT64_C(32)) >> 4;
      // op: D
      op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
      op &= UINT64_C(3);
      op <<= 8;
      Value |= op;
      break;
    }
    case PPC::XXBLENDVB:
    case PPC::XXBLENDVD:
    case PPC::XXBLENDVH:
    case PPC::XXBLENDVW:
    case PPC::XXSEL: {
      // op: XT
      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
      Value |= (op & UINT64_C(31)) << 21;
      Value |= (op & UINT64_C(32)) >> 5;
      // op: XA
      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
      Value |= (op & UINT64_C(31)) << 16;
      Value |= (op & UINT64_C(32)) >> 3;
      // op: XB
      op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
      Value |= (op & UINT64_C(31)) << 11;
      Value |= (op & UINT64_C(32)) >> 4;
      // op: XC
      op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
      Value |= (op & UINT64_C(31)) << 6;
      Value |= (op & UINT64_C(32)) >> 2;
      break;
    }
    case PPC::XXEVAL: {
      // op: XT
      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
      Value |= (op & UINT64_C(31)) << 21;
      Value |= (op & UINT64_C(32)) >> 5;
      // op: XA
      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
      Value |= (op & UINT64_C(31)) << 16;
      Value |= (op & UINT64_C(32)) >> 3;
      // op: XB
      op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
      Value |= (op & UINT64_C(31)) << 11;
      Value |= (op & UINT64_C(32)) >> 4;
      // op: XC
      op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
      Value |= (op & UINT64_C(31)) << 6;
      Value |= (op & UINT64_C(32)) >> 2;
      // op: IMM
      op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
      op &= UINT64_C(255);
      op <<= 32;
      Value |= op;
      break;
    }
    case PPC::XXPERMX: {
      // op: XT
      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
      Value |= (op & UINT64_C(31)) << 21;
      Value |= (op & UINT64_C(32)) >> 5;
      // op: XA
      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
      Value |= (op & UINT64_C(31)) << 16;
      Value |= (op & UINT64_C(32)) >> 3;
      // op: XB
      op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
      Value |= (op & UINT64_C(31)) << 11;
      Value |= (op & UINT64_C(32)) >> 4;
      // op: XC
      op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
      Value |= (op & UINT64_C(31)) << 6;
      Value |= (op & UINT64_C(32)) >> 2;
      // op: IMM
      op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
      op &= UINT64_C(7);
      op <<= 32;
      Value |= op;
      break;
    }
    case PPC::XXPERM:
    case PPC::XXPERMR: {
      // op: XT
      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
      Value |= (op & UINT64_C(31)) << 21;
      Value |= (op & UINT64_C(32)) >> 5;
      // op: XA
      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
      Value |= (op & UINT64_C(31)) << 16;
      Value |= (op & UINT64_C(32)) >> 3;
      // op: XB
      op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
      Value |= (op & UINT64_C(31)) << 11;
      Value |= (op & UINT64_C(32)) >> 4;
      break;
    }
    case PPC::XSMADDADP:
    case PPC::XSMADDASP:
    case PPC::XSMADDMDP:
    case PPC::XSMADDMSP:
    case PPC::XSMSUBADP:
    case PPC::XSMSUBASP:
    case PPC::XSMSUBMDP:
    case PPC::XSMSUBMSP:
    case PPC::XSNMADDADP:
    case PPC::XSNMADDASP:
    case PPC::XSNMADDMDP:
    case PPC::XSNMADDMSP:
    case PPC::XSNMSUBADP:
    case PPC::XSNMSUBASP:
    case PPC::XSNMSUBMDP:
    case PPC::XSNMSUBMSP:
    case PPC::XVMADDADP:
    case PPC::XVMADDASP:
    case PPC::XVMADDMDP:
    case PPC::XVMADDMSP:
    case PPC::XVMSUBADP:
    case PPC::XVMSUBASP:
    case PPC::XVMSUBMDP:
    case PPC::XVMSUBMSP:
    case PPC::XVNMADDADP:
    case PPC::XVNMADDASP:
    case PPC::XVNMADDMDP:
    case PPC::XVNMADDMSP:
    case PPC::XVNMSUBADP:
    case PPC::XVNMSUBASP:
    case PPC::XVNMSUBMDP:
    case PPC::XVNMSUBMSP: {
      // op: XT
      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
      Value |= (op & UINT64_C(31)) << 21;
      Value |= (op & UINT64_C(32)) >> 5;
      // op: XA
      op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
      Value |= (op & UINT64_C(31)) << 16;
      Value |= (op & UINT64_C(32)) >> 3;
      // op: XB
      op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
      Value |= (op & UINT64_C(31)) << 11;
      Value |= (op & UINT64_C(32)) >> 4;
      break;
    }
    case PPC::XSABSDP:
    case PPC::XSCVDPHP:
    case PPC::XSCVDPSP:
    case PPC::XSCVDPSPN:
    case PPC::XSCVDPSXDS:
    case PPC::XSCVDPSXDSs:
    case PPC::XSCVDPSXWS:
    case PPC::XSCVDPSXWSs:
    case PPC::XSCVDPUXDS:
    case PPC::XSCVDPUXDSs:
    case PPC::XSCVDPUXWS:
    case PPC::XSCVDPUXWSs:
    case PPC::XSCVHPDP:
    case PPC::XSCVSPDP:
    case PPC::XSCVSPDPN:
    case PPC::XSCVSXDDP:
    case PPC::XSCVSXDSP:
    case PPC::XSCVUXDDP:
    case PPC::XSCVUXDSP:
    case PPC::XSNABSDP:
    case PPC::XSNABSDPs:
    case PPC::XSNEGDP:
    case PPC::XSRDPI:
    case PPC::XSRDPIC:
    case PPC::XSRDPIM:
    case PPC::XSRDPIP:
    case PPC::XSRDPIZ:
    case PPC::XSREDP:
    case PPC::XSRESP:
    case PPC::XSRSP:
    case PPC::XSRSQRTEDP:
    case PPC::XSRSQRTESP:
    case PPC::XSSQRTDP:
    case PPC::XSSQRTSP:
    case PPC::XVABSDP:
    case PPC::XVABSSP:
    case PPC::XVCVBF16SPN:
    case PPC::XVCVDPSP:
    case PPC::XVCVDPSXDS:
    case PPC::XVCVDPSXWS:
    case PPC::XVCVDPUXDS:
    case PPC::XVCVDPUXWS:
    case PPC::XVCVHPSP:
    case PPC::XVCVSPBF16:
    case PPC::XVCVSPDP:
    case PPC::XVCVSPHP:
    case PPC::XVCVSPSXDS:
    case PPC::XVCVSPSXWS:
    case PPC::XVCVSPUXDS:
    case PPC::XVCVSPUXWS:
    case PPC::XVCVSXDDP:
    case PPC::XVCVSXDSP:
    case PPC::XVCVSXWDP:
    case PPC::XVCVSXWSP:
    case PPC::XVCVUXDDP:
    case PPC::XVCVUXDSP:
    case PPC::XVCVUXWDP:
    case PPC::XVCVUXWSP:
    case PPC::XVNABSDP:
    case PPC::XVNABSSP:
    case PPC::XVNEGDP:
    case PPC::XVNEGSP:
    case PPC::XVRDPI:
    case PPC::XVRDPIC:
    case PPC::XVRDPIM:
    case PPC::XVRDPIP:
    case PPC::XVRDPIZ:
    case PPC::XVREDP:
    case PPC::XVRESP:
    case PPC::XVRSPI:
    case PPC::XVRSPIC:
    case PPC::XVRSPIM:
    case PPC::XVRSPIP:
    case PPC::XVRSPIZ:
    case PPC::XVRSQRTEDP:
    case PPC::XVRSQRTESP:
    case PPC::XVSQRTDP:
    case PPC::XVSQRTSP:
    case PPC::XVXEXPDP:
    case PPC::XVXEXPSP:
    case PPC::XVXSIGDP:
    case PPC::XVXSIGSP:
    case PPC::XXBRD:
    case PPC::XXBRH:
    case PPC::XXBRQ:
    case PPC::XXBRW: {
      // op: XT
      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
      Value |= (op & UINT64_C(31)) << 21;
      Value |= (op & UINT64_C(32)) >> 5;
      // op: XB
      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
      Value |= (op & UINT64_C(31)) << 11;
      Value |= (op & UINT64_C(32)) >> 4;
      break;
    }
    case PPC::XXSPLTW:
    case PPC::XXSPLTWs: {
      // op: XT
      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
      Value |= (op & UINT64_C(31)) << 21;
      Value |= (op & UINT64_C(32)) >> 5;
      // op: XB
      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
      Value |= (op & UINT64_C(31)) << 11;
      Value |= (op & UINT64_C(32)) >> 4;
      // op: D
      op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
      op &= UINT64_C(3);
      op <<= 16;
      Value |= op;
      break;
    }
    case PPC::XXEXTRACTUW: {
      // op: XT
      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
      Value |= (op & UINT64_C(31)) << 21;
      Value |= (op & UINT64_C(32)) >> 5;
      // op: XB
      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
      Value |= (op & UINT64_C(31)) << 11;
      Value |= (op & UINT64_C(32)) >> 4;
      // op: UIM5
      op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 16;
      Value |= op;
      break;
    }
    case PPC::XXINSERTW: {
      // op: XT
      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
      Value |= (op & UINT64_C(31)) << 21;
      Value |= (op & UINT64_C(32)) >> 5;
      // op: XB
      op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
      Value |= (op & UINT64_C(31)) << 11;
      Value |= (op & UINT64_C(32)) >> 4;
      // op: UIM5
      op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 16;
      Value |= op;
      break;
    }
    case PPC::PLXV:
    case PPC::PSTXV: {
      // op: XT
      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
      op &= UINT64_C(63);
      op <<= 21;
      Value |= op;
      // op: D_RA
      op = getMemRI34Encoding(MI, 1, Fixups, STI);
      Value |= (op & UINT64_C(17179803648)) << 16;
      Value |= (op & UINT64_C(532575944704)) >> 18;
      Value |= (op & UINT64_C(65535));
      break;
    }
    case PPC::PLXVpc:
    case PPC::PSTXVpc: {
      // op: XT
      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
      op &= UINT64_C(63);
      op <<= 21;
      Value |= op;
      // op: D_RA
      op = getMemRI34PCRelEncoding(MI, 1, Fixups, STI);
      Value |= (op & UINT64_C(17179803648)) << 16;
      Value |= (op & UINT64_C(532575944704)) >> 18;
      Value |= (op & UINT64_C(65535));
      break;
    }
    case PPC::MFVRD:
    case PPC::MFVRWZ:
    case PPC::MFVSRD:
    case PPC::MFVSRLD:
    case PPC::MFVSRWZ: {
      // op: XT
      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
      Value |= (op & UINT64_C(31)) << 21;
      Value |= (op & UINT64_C(32)) >> 5;
      // op: A
      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 16;
      Value |= op;
      break;
    }
    case PPC::LXVPRL:
    case PPC::LXVPRLL:
    case PPC::LXVPX:
    case PPC::STXVPRL:
    case PPC::STXVPRLL:
    case PPC::STXVPX: {
      // op: XTp
      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
      Value |= (op & UINT64_C(15)) << 22;
      Value |= (op & UINT64_C(16)) << 17;
      // op: A
      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 16;
      Value |= op;
      // op: B
      op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 11;
      Value |= op;
      break;
    }
    case PPC::LXVP:
    case PPC::STXVP: {
      // op: XTp
      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
      Value |= (op & UINT64_C(15)) << 22;
      Value |= (op & UINT64_C(16)) << 17;
      // op: DQ_RA
      op = getMemRIX16Encoding(MI, 1, Fixups, STI);
      op &= UINT64_C(131071);
      op <<= 4;
      Value |= op;
      break;
    }
    case PPC::PLXVP:
    case PPC::PSTXVP: {
      // op: XTp
      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
      Value |= (op & UINT64_C(15)) << 22;
      Value |= (op & UINT64_C(16)) << 17;
      // op: D_RA
      op = getMemRI34Encoding(MI, 1, Fixups, STI);
      Value |= (op & UINT64_C(17179803648)) << 16;
      Value |= (op & UINT64_C(532575944704)) >> 18;
      Value |= (op & UINT64_C(65535));
      break;
    }
    case PPC::PLXVPpc:
    case PPC::PSTXVPpc: {
      // op: XTp
      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
      Value |= (op & UINT64_C(15)) << 22;
      Value |= (op & UINT64_C(16)) << 17;
      // op: D_RA
      op = getMemRI34PCRelEncoding(MI, 1, Fixups, STI);
      Value |= (op & UINT64_C(17179803648)) << 16;
      Value |= (op & UINT64_C(532575944704)) >> 18;
      Value |= (op & UINT64_C(65535));
      break;
    }
    case PPC::EFDCMPEQ:
    case PPC::EFDCMPGT:
    case PPC::EFDCMPLT:
    case PPC::EFDTSTEQ:
    case PPC::EFDTSTGT:
    case PPC::EFDTSTLT:
    case PPC::EFSCMPEQ:
    case PPC::EFSCMPGT:
    case PPC::EFSCMPLT:
    case PPC::EFSTSTEQ:
    case PPC::EFSTSTGT:
    case PPC::EFSTSTLT:
    case PPC::EVCMPEQ:
    case PPC::EVCMPGTS:
    case PPC::EVCMPGTU:
    case PPC::EVCMPLTS:
    case PPC::EVCMPLTU:
    case PPC::EVFSCMPEQ:
    case PPC::EVFSCMPGT:
    case PPC::EVFSCMPLT:
    case PPC::EVFSTSTEQ:
    case PPC::EVFSTSTGT:
    case PPC::EVFSTSTLT: {
      // op: crD
      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
      op &= UINT64_C(7);
      op <<= 23;
      Value |= op;
      // op: RA
      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 16;
      Value |= op;
      // op: RB
      op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 11;
      Value |= op;
      break;
    }
    case PPC::EVSEL: {
      // op: crD
      op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
      op &= UINT64_C(7);
      Value |= op;
      // op: RA
      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 16;
      Value |= op;
      // op: RB
      op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 11;
      Value |= op;
      // op: RT
      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
      op &= UINT64_C(31);
      op <<= 21;
      Value |= op;
      break;
    }
  default:
    std::string msg;
    raw_string_ostream Msg(msg);
    Msg << "Not supported instr: " << MI;
    report_fatal_error(Msg.str().c_str());
  }
  return Value;
}

