You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
keystone/llvm/lib/Target/PowerPC/PPCGenMCCodeEmitter.inc

4326 lines
130 KiB

/*===- 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(2080375316), // ADD4
UINT64_C(2080375316), // ADD4TLS
UINT64_C(2080375317), // ADD4o
UINT64_C(2080375316), // ADD8
UINT64_C(2080375316), // ADD8TLS
UINT64_C(2080375316), // ADD8TLS_
UINT64_C(2080375317), // ADD8o
UINT64_C(2080374804), // ADDC
UINT64_C(2080374804), // ADDC8
UINT64_C(2080374805), // ADDC8o
UINT64_C(2080374805), // ADDCo
UINT64_C(2080375060), // ADDE
UINT64_C(2080375060), // ADDE8
UINT64_C(2080375061), // ADDE8o
UINT64_C(2080375061), // ADDEo
UINT64_C(939524096), // ADDI
UINT64_C(939524096), // ADDI8
UINT64_C(805306368), // ADDIC
UINT64_C(805306368), // ADDIC8
UINT64_C(872415232), // ADDICo
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), // 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), // ADDItocL
UINT64_C(2080375252), // ADDME
UINT64_C(2080375252), // ADDME8
UINT64_C(2080375253), // ADDME8o
UINT64_C(2080375253), // ADDMEo
UINT64_C(2080375188), // ADDZE
UINT64_C(2080375188), // ADDZE8
UINT64_C(2080375189), // ADDZE8o
UINT64_C(2080375189), // ADDZEo
UINT64_C(0), // ADJCALLSTACKDOWN
UINT64_C(0), // ADJCALLSTACKUP
UINT64_C(2080374840), // AND
UINT64_C(2080374840), // AND8
UINT64_C(2080374841), // AND8o
UINT64_C(2080374904), // ANDC
UINT64_C(2080374904), // ANDC8
UINT64_C(2080374905), // ANDC8o
UINT64_C(2080374905), // ANDCo
UINT64_C(1946157056), // ANDISo
UINT64_C(1946157056), // ANDISo8
UINT64_C(1879048192), // ANDIo
UINT64_C(1879048192), // ANDIo8
UINT64_C(0), // ANDIo_1_EQ_BIT
UINT64_C(0), // ANDIo_1_EQ_BIT8
UINT64_C(0), // ANDIo_1_GT_BIT
UINT64_C(0), // ANDIo_1_GT_BIT8
UINT64_C(2080374841), // ANDo
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_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_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(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(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_TLS
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(1317011488), // BLR
UINT64_C(1317011488), // BLR8
UINT64_C(1317011489), // BLRL
UINT64_C(1207959553), // BL_TLS
UINT64_C(2080375288), // BPERMD
UINT64_C(268435983), // BRINC
UINT64_C(2080375644), // CLRBHRB
UINT64_C(0),
UINT64_C(0),
UINT64_C(0),
UINT64_C(0),
UINT64_C(0),
UINT64_C(0),
UINT64_C(0),
UINT64_C(0),
UINT64_C(2080375800), // CMPB
UINT64_C(2080375800), // CMPB8
UINT64_C(2082471936), // CMPD
UINT64_C(740294656), // CMPDI
UINT64_C(2082472000), // CMPLD
UINT64_C(673185792), // CMPLDI
UINT64_C(2080374848), // CMPLW
UINT64_C(671088640), // CMPLWI
UINT64_C(2080374784), // CMPW
UINT64_C(738197504), // CMPWI
UINT64_C(2080374900), // CNTLZD
UINT64_C(2080374901), // CNTLZDo
UINT64_C(2080374836), // CNTLZW
UINT64_C(2080374836), // CNTLZW8
UINT64_C(2080374837), // CNTLZW8o
UINT64_C(2080374837), // CNTLZWo
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(1275069314), // CROR
UINT64_C(1275069250), // CRORC
UINT64_C(1275068994), // CRSET
UINT64_C(1275068802), // CRUNSET
UINT64_C(1275068802), // CRXOR
UINT64_C(2080376300), // DCBA
UINT64_C(2080374956), // DCBF
UINT64_C(2080375724), // DCBI
UINT64_C(2080374892), // DCBST
UINT64_C(2080375340), // DCBT
UINT64_C(0),
UINT64_C(0),
UINT64_C(2080375276), // DCBTST
UINT64_C(0),
UINT64_C(0),
UINT64_C(0),
UINT64_C(0),
UINT64_C(0),
UINT64_C(0),
UINT64_C(2080376812), // DCBZ
UINT64_C(2082473964), // DCBZL
UINT64_C(2080375692), // DCCCI
UINT64_C(2080375762), // DIVD
UINT64_C(2080375634), // DIVDE
UINT64_C(2080375570), // DIVDEU
UINT64_C(2080375571), // DIVDEUo
UINT64_C(2080375635), // DIVDEo
UINT64_C(2080375698), // DIVDU
UINT64_C(2080375699), // DIVDUo
UINT64_C(2080375763), // DIVDo
UINT64_C(2080375766), // DIVW
UINT64_C(2080375638), // DIVWE
UINT64_C(2080375574), // DIVWEU
UINT64_C(2080375575), // DIVWEUo
UINT64_C(2080375639), // DIVWEo
UINT64_C(2080375702), // DIVWU
UINT64_C(2080375703), // DIVWUo
UINT64_C(2080375767), // DIVWo
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), // 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), // EQV8o
UINT64_C(2080375353), // EQVo
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(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(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(0),
UINT64_C(0),
UINT64_C(0),
UINT64_C(0),
UINT64_C(0),
UINT64_C(0),
UINT64_C(0),
UINT64_C(0),
UINT64_C(2080376692), // EXTSB
UINT64_C(2080376692), // EXTSB8
UINT64_C(2080376692), // EXTSB8_32_64
UINT64_C(2080376693), // EXTSB8o
UINT64_C(2080376693), // EXTSBo
UINT64_C(2080376628), // EXTSH
UINT64_C(2080376628), // EXTSH8
UINT64_C(2080376628), // EXTSH8_32_64
UINT64_C(2080376629), // EXTSH8o
UINT64_C(2080376629), // EXTSHo
UINT64_C(2080376756), // EXTSW
UINT64_C(2080376756), // EXTSW_32_64
UINT64_C(2080376757), // EXTSW_32_64o
UINT64_C(2080376757), // EXTSWo
UINT64_C(2080376492), // EnforceIEIO
UINT64_C(4227858960), // FABSD
UINT64_C(4227858961), // FABSDo
UINT64_C(4227858960), // FABSS
UINT64_C(4227858961), // FABSSo
UINT64_C(4227858474), // FADD
UINT64_C(3959423018), // FADDS
UINT64_C(3959423019), // FADDSo
UINT64_C(4227858475), // FADDo
UINT64_C(0), // FADDrtz
UINT64_C(4227860124), // FCFID
UINT64_C(3959424668), // FCFIDS
UINT64_C(3959424669), // FCFIDSo
UINT64_C(4227860380), // FCFIDU
UINT64_C(3959424924), // FCFIDUS
UINT64_C(3959424925), // FCFIDUSo
UINT64_C(4227860381), // FCFIDUo
UINT64_C(4227860125), // FCFIDo
UINT64_C(4227858432), // FCMPUD
UINT64_C(4227858432), // FCMPUS
UINT64_C(4227858448), // FCPSGND
UINT64_C(4227858449), // FCPSGNDo
UINT64_C(4227858448), // FCPSGNS
UINT64_C(4227858449), // FCPSGNSo
UINT64_C(4227860060), // FCTID
UINT64_C(4227860318), // FCTIDUZ
UINT64_C(4227860319), // FCTIDUZo
UINT64_C(4227860062), // FCTIDZ
UINT64_C(4227860063), // FCTIDZo
UINT64_C(4227860061), // FCTIDo
UINT64_C(4227858460), // FCTIW
UINT64_C(4227858718), // FCTIWUZ
UINT64_C(4227858719), // FCTIWUZo
UINT64_C(4227858462), // FCTIWZ
UINT64_C(4227858463), // FCTIWZo
UINT64_C(4227858461), // FCTIWo
UINT64_C(4227858468), // FDIV
UINT64_C(3959423012), // FDIVS
UINT64_C(3959423013), // FDIVSo
UINT64_C(4227858469), // FDIVo
UINT64_C(4227858490), // FMADD
UINT64_C(3959423034), // FMADDS
UINT64_C(3959423035), // FMADDSo
UINT64_C(4227858491), // FMADDo
UINT64_C(4227858576), // FMR
UINT64_C(4227858577), // FMRo
UINT64_C(4227858488), // FMSUB
UINT64_C(3959423032), // FMSUBS
UINT64_C(3959423033), // FMSUBSo
UINT64_C(4227858489), // FMSUBo
UINT64_C(4227858482), // FMUL
UINT64_C(3959423026), // FMULS
UINT64_C(3959423027), // FMULSo
UINT64_C(4227858483), // FMULo
UINT64_C(4227858704), // FNABSD
UINT64_C(4227858705), // FNABSDo
UINT64_C(4227858704), // FNABSS
UINT64_C(4227858705), // FNABSSo
UINT64_C(4227858512), // FNEGD
UINT64_C(4227858513), // FNEGDo
UINT64_C(4227858512), // FNEGS
UINT64_C(4227858513), // FNEGSo
UINT64_C(4227858494), // FNMADD
UINT64_C(3959423038), // FNMADDS
UINT64_C(3959423039), // FNMADDSo
UINT64_C(4227858495), // FNMADDo
UINT64_C(4227858492), // FNMSUB
UINT64_C(3959423036), // FNMSUBS
UINT64_C(3959423037), // FNMSUBSo
UINT64_C(4227858493), // FNMSUBo
UINT64_C(4227858480), // FRE
UINT64_C(3959423024), // FRES
UINT64_C(3959423025), // FRESo
UINT64_C(4227858481), // FREo
UINT64_C(4227859408), // FRIMD
UINT64_C(4227859409), // FRIMDo
UINT64_C(4227859408), // FRIMS
UINT64_C(4227859409), // FRIMSo
UINT64_C(4227859216), // FRIND
UINT64_C(4227859217), // FRINDo
UINT64_C(4227859216), // FRINS
UINT64_C(4227859217), // FRINSo
UINT64_C(4227859344), // FRIPD
UINT64_C(4227859345), // FRIPDo
UINT64_C(4227859344), // FRIPS
UINT64_C(4227859345), // FRIPSo
UINT64_C(4227859280), // FRIZD
UINT64_C(4227859281), // FRIZDo
UINT64_C(4227859280), // FRIZS
UINT64_C(4227859281), // FRIZSo
UINT64_C(4227858456), // FRSP
UINT64_C(4227858457), // FRSPo
UINT64_C(4227858484), // FRSQRTE
UINT64_C(3959423028), // FRSQRTES
UINT64_C(3959423029), // FRSQRTESo
UINT64_C(4227858485), // FRSQRTEo
UINT64_C(4227858478), // FSELD
UINT64_C(4227858479), // FSELDo
UINT64_C(4227858478), // FSELS
UINT64_C(4227858479), // FSELSo
UINT64_C(4227858476), // FSQRT
UINT64_C(3959423020), // FSQRTS
UINT64_C(3959423021), // FSQRTSo
UINT64_C(4227858477), // FSQRTo
UINT64_C(4227858472), // FSUB
UINT64_C(3959423016), // FSUBS
UINT64_C(3959423017), // FSUBSo
UINT64_C(4227858473), // FSUBo
UINT64_C(0), // GETtlsADDR
UINT64_C(0), // GETtlsADDR32
UINT64_C(0), // GETtlsldADDR
UINT64_C(0), // GETtlsldADDR32
UINT64_C(2080376748), // ICBI
UINT64_C(2080374828), // ICBT
UINT64_C(2080376716), // ICCCI
UINT64_C(0),
UINT64_C(0),
UINT64_C(0),
UINT64_C(0),
UINT64_C(0),
UINT64_C(0),
UINT64_C(2080374814), // ISEL
UINT64_C(2080374814), // ISEL8
UINT64_C(1275068716), // ISYNC
UINT64_C(939524096), // LA
UINT64_C(0),
UINT64_C(2080374888), // LBARX
UINT64_C(2080374889), // LBARXL
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(3892314112), // LD
UINT64_C(2080374952), // LDARX
UINT64_C(2080374953), // LDARXL
UINT64_C(2080375848), // LDBRX
UINT64_C(2080376554), // LDCIX
UINT64_C(3892314113), // LDU
UINT64_C(2080374890), // LDUX
UINT64_C(2080374826), // LDX
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(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(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(939524096), // LI
UINT64_C(939524096), // LI8
UINT64_C(1006632960), // LIS
UINT64_C(1006632960), // LIS8
UINT64_C(3087007744), // LMW
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(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(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(0), // LWZtoc
UINT64_C(2080375960), // LXSDX
UINT64_C(2080374936), // LXSIWAX
UINT64_C(2080374808), // LXSIWZX
UINT64_C(2080375832), // LXSSPX
UINT64_C(2080376472), // LXVD2X
UINT64_C(2080375448), // LXVDSX
UINT64_C(2080376344), // LXVW4X
UINT64_C(2080376492), // MBAR
UINT64_C(1275068416), // MCRF
UINT64_C(4227858560), // MCRFS
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(4227859599), // MFFSo
UINT64_C(2080899750), // MFLR
UINT64_C(2080899750), // MFLR8
UINT64_C(2080374950), // MFMSR
UINT64_C(2081423398), // MFOCRF
UINT64_C(2081423398), // MFOCRF8
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(2080391846), // MFVRSAVE
UINT64_C(2080391846), // MFVRSAVEv
UINT64_C(268436996), // MFVSCR
UINT64_C(2080374886), // MFVSRD
UINT64_C(2080375014), // MFVSRWZ
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), // MTFSFIo
UINT64_C(4227859854), // MTFSFb
UINT64_C(4227859855), // MTFSFo
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(2080375718), // MTSPR
UINT64_C(2080375718), // MTSPR8
UINT64_C(2080375204), // MTSR
UINT64_C(2080375268), // MTSRIN
UINT64_C(2080392102), // MTVRSAVE
UINT64_C(2080392102), // MTVRSAVEv
UINT64_C(268437060), // MTVSCR
UINT64_C(2080375142), // MTVSRD
UINT64_C(2080375206), // MTVSRWA
UINT64_C(2080375270), // MTVSRWZ
UINT64_C(2080374930), // MULHD
UINT64_C(2080374802), // MULHDU
UINT64_C(2080374803), // MULHDUo
UINT64_C(2080374931), // MULHDo
UINT64_C(2080374934), // MULHW
UINT64_C(2080374806), // MULHWU
UINT64_C(2080374807), // MULHWUo
UINT64_C(2080374935), // MULHWo
UINT64_C(2080375250), // MULLD
UINT64_C(2080375251), // MULLDo
UINT64_C(469762048), // MULLI
UINT64_C(469762048), // MULLI8
UINT64_C(2080375254), // MULLW
UINT64_C(2080375255), // MULLWo
UINT64_C(0), // MoveGOTtoLR
UINT64_C(0), // MovePCtoLR
UINT64_C(0), // MovePCtoLR8
UINT64_C(2080375736), // NAND
UINT64_C(2080375736), // NAND8
UINT64_C(2080375737), // NAND8o
UINT64_C(2080375737), // NANDo
UINT64_C(2080374992), // NEG
UINT64_C(2080374992), // NEG8
UINT64_C(2080374993), // NEG8o
UINT64_C(2080374993), // NEGo
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), // NOR8o
UINT64_C(2080375033), // NORo
UINT64_C(2080375672), // OR
UINT64_C(2080375672), // OR8
UINT64_C(2080375673), // OR8o
UINT64_C(2080375608), // ORC
UINT64_C(2080375608), // ORC8
UINT64_C(2080375609), // ORC8o
UINT64_C(2080375609), // ORCo
UINT64_C(1610612736), // ORI
UINT64_C(1610612736), // ORI8
UINT64_C(1677721600), // ORIS
UINT64_C(1677721600), // ORIS8
UINT64_C(2080375673), // ORo
UINT64_C(2080375796), // POPCNTD
UINT64_C(2080375540), // POPCNTW
UINT64_C(0), // PPC32GOT
UINT64_C(0), // PPC32PICGOT
UINT64_C(268435466), // QVALIGNI
UINT64_C(268435466), // QVALIGNIb
UINT64_C(268435466), // QVALIGNIs
UINT64_C(268435530), // QVESPLATI
UINT64_C(268435530), // QVESPLATIb
UINT64_C(268435530), // QVESPLATIs
UINT64_C(268435984), // QVFABS
UINT64_C(268435984), // QVFABSs
UINT64_C(268435498), // QVFADD
UINT64_C(42), // QVFADDS
UINT64_C(42), // QVFADDSs
UINT64_C(268437148), // QVFCFID
UINT64_C(1692), // QVFCFIDS
UINT64_C(268437404), // QVFCFIDU
UINT64_C(1948), // QVFCFIDUS
UINT64_C(268437148), // QVFCFIDb
UINT64_C(268435456), // QVFCMPEQ
UINT64_C(268435456), // QVFCMPEQb
UINT64_C(268435456), // QVFCMPEQbs
UINT64_C(268435520), // QVFCMPGT
UINT64_C(268435520), // QVFCMPGTb
UINT64_C(268435520), // QVFCMPGTbs
UINT64_C(268435648), // QVFCMPLT
UINT64_C(268435648), // QVFCMPLTb
UINT64_C(268435648), // QVFCMPLTbs
UINT64_C(268435472), // QVFCPSGN
UINT64_C(268435472), // QVFCPSGNs
UINT64_C(268437084), // QVFCTID
UINT64_C(268437340), // QVFCTIDU
UINT64_C(268437342), // QVFCTIDUZ
UINT64_C(268437086), // QVFCTIDZ
UINT64_C(268437084), // QVFCTIDb
UINT64_C(268435484), // QVFCTIW
UINT64_C(268435740), // QVFCTIWU
UINT64_C(268435742), // QVFCTIWUZ
UINT64_C(268435486), // QVFCTIWZ
UINT64_C(268435464), // QVFLOGICAL
UINT64_C(268435464), // QVFLOGICALb
UINT64_C(268435464), // QVFLOGICALs
UINT64_C(268435514), // QVFMADD
UINT64_C(58), // QVFMADDS
UINT64_C(58), // QVFMADDSs
UINT64_C(268435600), // QVFMR
UINT64_C(268435600), // QVFMRb
UINT64_C(268435600), // QVFMRs
UINT64_C(268435512), // QVFMSUB
UINT64_C(56), // QVFMSUBS
UINT64_C(56), // QVFMSUBSs
UINT64_C(268435506), // QVFMUL
UINT64_C(50), // QVFMULS
UINT64_C(50), // QVFMULSs
UINT64_C(268435728), // QVFNABS
UINT64_C(268435728), // QVFNABSs
UINT64_C(268435536), // QVFNEG
UINT64_C(268435536), // QVFNEGs
UINT64_C(268435518), // QVFNMADD
UINT64_C(62), // QVFNMADDS
UINT64_C(62), // QVFNMADDSs
UINT64_C(268435516), // QVFNMSUB
UINT64_C(60), // QVFNMSUBS
UINT64_C(60), // QVFNMSUBSs
UINT64_C(268435468), // QVFPERM
UINT64_C(268435468), // QVFPERMs
UINT64_C(268435504), // QVFRE
UINT64_C(48), // QVFRES
UINT64_C(48), // QVFRESs
UINT64_C(268436432), // QVFRIM
UINT64_C(268436432), // QVFRIMs
UINT64_C(268436240), // QVFRIN
UINT64_C(268436240), // QVFRINs
UINT64_C(268436368), // QVFRIP
UINT64_C(268436368), // QVFRIPs
UINT64_C(268436304), // QVFRIZ
UINT64_C(268436304), // QVFRIZs
UINT64_C(268435480), // QVFRSP
UINT64_C(268435480), // QVFRSPs
UINT64_C(268435508), // QVFRSQRTE
UINT64_C(52), // QVFRSQRTES
UINT64_C(52), // QVFRSQRTESs
UINT64_C(268435502), // QVFSEL
UINT64_C(268435502), // QVFSELb
UINT64_C(268435502), // QVFSELbb
UINT64_C(268435502), // QVFSELbs
UINT64_C(268435496), // QVFSUB
UINT64_C(40), // QVFSUBS
UINT64_C(40), // QVFSUBSs
UINT64_C(268435584), // QVFTSTNAN
UINT64_C(268435584), // QVFTSTNANb
UINT64_C(268435584), // QVFTSTNANbs
UINT64_C(268435474), // QVFXMADD
UINT64_C(18), // QVFXMADDS
UINT64_C(268435490), // QVFXMUL
UINT64_C(34), // QVFXMULS
UINT64_C(268435462), // QVFXXCPNMADD
UINT64_C(6), // QVFXXCPNMADDS
UINT64_C(268435458), // QVFXXMADD
UINT64_C(2), // QVFXXMADDS
UINT64_C(268435478), // QVFXXNPMADD
UINT64_C(22), // QVFXXNPMADDS
UINT64_C(268435722), // QVGPCI
UINT64_C(2080374990), // QVLFCDUX
UINT64_C(2080374991), // QVLFCDUXA
UINT64_C(2080374926), // QVLFCDX
UINT64_C(2080374927), // QVLFCDXA
UINT64_C(2080374862), // QVLFCSUX
UINT64_C(2080374863), // QVLFCSUXA
UINT64_C(2080374798), // QVLFCSX
UINT64_C(2080374799), // QVLFCSXA
UINT64_C(2080374798), // QVLFCSXs
UINT64_C(2080376014), // QVLFDUX
UINT64_C(2080376015), // QVLFDUXA
UINT64_C(2080375950), // QVLFDX
UINT64_C(2080375951), // QVLFDXA
UINT64_C(2080375950), // QVLFDXb
UINT64_C(2080376526), // QVLFIWAX
UINT64_C(2080376527), // QVLFIWAXA
UINT64_C(2080376462), // QVLFIWZX
UINT64_C(2080376463), // QVLFIWZXA
UINT64_C(2080375886), // QVLFSUX
UINT64_C(2080375887), // QVLFSUXA
UINT64_C(2080375822), // QVLFSX
UINT64_C(2080375823), // QVLFSXA
UINT64_C(2080375822), // QVLFSXb
UINT64_C(2080375822), // QVLFSXs
UINT64_C(2080375948), // QVLPCLDX
UINT64_C(2080375820), // QVLPCLSX
UINT64_C(2080375820), // QVLPCLSXint
UINT64_C(2080374924), // QVLPCRDX
UINT64_C(2080374796), // QVLPCRSX
UINT64_C(2080375246), // QVSTFCDUX
UINT64_C(2080375247), // QVSTFCDUXA
UINT64_C(2080375242), // QVSTFCDUXI
UINT64_C(2080375243), // QVSTFCDUXIA
UINT64_C(2080375182), // QVSTFCDX
UINT64_C(2080375183), // QVSTFCDXA
UINT64_C(2080375178), // QVSTFCDXI
UINT64_C(2080375179), // QVSTFCDXIA
UINT64_C(2080375118), // QVSTFCSUX
UINT64_C(2080375119), // QVSTFCSUXA
UINT64_C(2080375114), // QVSTFCSUXI
UINT64_C(2080375115), // QVSTFCSUXIA
UINT64_C(2080375054), // QVSTFCSX
UINT64_C(2080375055), // QVSTFCSXA
UINT64_C(2080375050), // QVSTFCSXI
UINT64_C(2080375051), // QVSTFCSXIA
UINT64_C(2080375054), // QVSTFCSXs
UINT64_C(2080376270), // QVSTFDUX
UINT64_C(2080376271), // QVSTFDUXA
UINT64_C(2080376266), // QVSTFDUXI
UINT64_C(2080376267), // QVSTFDUXIA
UINT64_C(2080376206), // QVSTFDX
UINT64_C(2080376207), // QVSTFDXA
UINT64_C(2080376202), // QVSTFDXI
UINT64_C(2080376203), // QVSTFDXIA
UINT64_C(2080376206), // QVSTFDXb
UINT64_C(2080376718), // QVSTFIWX
UINT64_C(2080376719), // QVSTFIWXA
UINT64_C(2080376142), // QVSTFSUX
UINT64_C(2080376143), // QVSTFSUXA
UINT64_C(2080376138), // QVSTFSUXI
UINT64_C(2080376139), // QVSTFSUXIA
UINT64_C(2080376142), // QVSTFSUXs
UINT64_C(2080376078), // QVSTFSX
UINT64_C(2080376079), // QVSTFSXA
UINT64_C(2080376074), // QVSTFSXI
UINT64_C(2080376075), // QVSTFSXIA
UINT64_C(2080376078), // QVSTFSXs
UINT64_C(0), // RESTORE_CR
UINT64_C(0), // RESTORE_CRBIT
UINT64_C(0), // RESTORE_VRSAVE
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), // RLDCLo
UINT64_C(2013265938), // RLDCR
UINT64_C(2013265939), // RLDCRo
UINT64_C(2013265928), // RLDIC
UINT64_C(2013265920), // RLDICL
UINT64_C(2013265920), // RLDICL_32_64
UINT64_C(2013265921), // RLDICLo
UINT64_C(2013265924), // RLDICR
UINT64_C(2013265925), // RLDICRo
UINT64_C(2013265929), // RLDICo
UINT64_C(2013265932), // RLDIMI
UINT64_C(2013265933), // RLDIMIo
UINT64_C(1342177280), // RLWIMI
UINT64_C(1342177280), // RLWIMI8
UINT64_C(1342177281), // RLWIMI8o
UINT64_C(0),
UINT64_C(1342177281), // RLWIMIo
UINT64_C(0),
UINT64_C(1409286144), // RLWINM
UINT64_C(1409286144), // RLWINM8
UINT64_C(1409286145), // RLWINM8o
UINT64_C(0),
UINT64_C(1409286145), // RLWINMo
UINT64_C(0),
UINT64_C(1543503872), // RLWNM
UINT64_C(1543503872), // RLWNM8
UINT64_C(1543503873), // RLWNM8o
UINT64_C(0),
UINT64_C(1543503873), // RLWNMo
UINT64_C(0),
UINT64_C(0),
UINT64_C(0),
UINT64_C(0),
UINT64_C(0),
UINT64_C(0), // ReadTB
UINT64_C(1140850690), // SC
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_QBRC
UINT64_C(0), // SELECT_CC_QFRC
UINT64_C(0), // SELECT_CC_QSRC
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_F4
UINT64_C(0), // SELECT_F8
UINT64_C(0), // SELECT_I4
UINT64_C(0), // SELECT_I8
UINT64_C(0), // SELECT_QBRC
UINT64_C(0), // SELECT_QFRC
UINT64_C(0), // SELECT_QSRC
UINT64_C(0), // SELECT_VRRC
UINT64_C(0), // SELECT_VSFRC
UINT64_C(0), // SELECT_VSRC
UINT64_C(0), // SELECT_VSSRC
UINT64_C(2080375780), // SLBIA
UINT64_C(2080375652), // SLBIE
UINT64_C(2080376614), // SLBMFEE
UINT64_C(2080375588), // SLBMTE
UINT64_C(2080374838), // SLD
UINT64_C(0),
UINT64_C(0),
UINT64_C(2080374839), // SLDo
UINT64_C(2080374832), // SLW
UINT64_C(2080374832), // SLW8
UINT64_C(2080374833), // SLW8o
UINT64_C(0),
UINT64_C(0),
UINT64_C(2080374833), // SLWo
UINT64_C(0), // SPILL_CR
UINT64_C(0), // SPILL_CRBIT
UINT64_C(0), // SPILL_VRSAVE
UINT64_C(2080376372), // SRAD
UINT64_C(2080376436), // SRADI
UINT64_C(2080376437), // SRADIo
UINT64_C(2080376373), // SRADo
UINT64_C(2080376368), // SRAW
UINT64_C(2080376432), // SRAWI
UINT64_C(2080376433), // SRAWIo
UINT64_C(2080376369), // SRAWo
UINT64_C(2080375862), // SRD
UINT64_C(0),
UINT64_C(0),
UINT64_C(2080375863), // SRDo
UINT64_C(2080375856), // SRW
UINT64_C(2080375856), // SRW8
UINT64_C(2080375857), // SRW8o
UINT64_C(0),
UINT64_C(0),
UINT64_C(2080375857), // SRWo
UINT64_C(2550136832), // STB
UINT64_C(2550136832), // STB8
UINT64_C(2080376746), // STBCIX
UINT64_C(2080376173), // STBCX
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(4160749568), // STD
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(3623878656), // STFD
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(3019898880), // STHU
UINT64_C(3019898880), // STHU8
UINT64_C(2080375662), // STHUX
UINT64_C(2080375662), // STHUX8
UINT64_C(2080375598), // STHX
UINT64_C(2080375598), // STHX8
UINT64_C(3154116608), // STMW
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(2080376108), // STWBRX
UINT64_C(2080376618), // STWCIX
UINT64_C(2080375085), // STWCX
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(2080376216), // STXSDX
UINT64_C(2080375064), // STXSIWX
UINT64_C(2080376088), // STXSSPX
UINT64_C(2080376728), // STXVD2X
UINT64_C(2080376600), // STXVW4X
UINT64_C(2080374864), // SUBF
UINT64_C(2080374864), // SUBF8
UINT64_C(2080374865), // SUBF8o
UINT64_C(2080374800), // SUBFC
UINT64_C(2080374800), // SUBFC8
UINT64_C(2080374801), // SUBFC8o
UINT64_C(2080374801), // SUBFCo
UINT64_C(2080375056), // SUBFE
UINT64_C(2080375056), // SUBFE8
UINT64_C(2080375057), // SUBFE8o
UINT64_C(2080375057), // SUBFEo
UINT64_C(536870912), // SUBFIC
UINT64_C(536870912), // SUBFIC8
UINT64_C(2080375248), // SUBFME
UINT64_C(2080375248), // SUBFME8
UINT64_C(2080375249), // SUBFME8o
UINT64_C(2080375249), // SUBFMEo
UINT64_C(2080375184), // SUBFZE
UINT64_C(2080375184), // SUBFZE8
UINT64_C(2080375185), // SUBFZE8o
UINT64_C(2080375185), // SUBFZEo
UINT64_C(2080374865), // SUBFo
UINT64_C(0),
UINT64_C(0),
UINT64_C(0),
UINT64_C(0),
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(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(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), // UPDATE_VRSAVE
UINT64_C(0), // UpdateGBR
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(268436812), // VBPERMQ
UINT64_C(268436298), // VCFSX
UINT64_C(268436298), // VCFSX_0
UINT64_C(268436234), // VCFUX
UINT64_C(268436234), // VCFUX_0
UINT64_C(268436744), // VCIPHER
UINT64_C(268436745), // VCIPHERLAST
UINT64_C(268437250), // VCLZB
UINT64_C(268437442), // VCLZD
UINT64_C(268437314), // VCLZH
UINT64_C(268437378), // VCLZW
UINT64_C(268436422), // VCMPBFP
UINT64_C(268437446), // VCMPBFPo
UINT64_C(268435654), // VCMPEQFP
UINT64_C(268436678), // VCMPEQFPo
UINT64_C(268435462), // VCMPEQUB
UINT64_C(268436486), // VCMPEQUBo
UINT64_C(268435655), // VCMPEQUD
UINT64_C(268436679), // VCMPEQUDo
UINT64_C(268435526), // VCMPEQUH
UINT64_C(268436550), // VCMPEQUHo
UINT64_C(268435590), // VCMPEQUW
UINT64_C(268436614), // VCMPEQUWo
UINT64_C(268435910), // VCMPGEFP
UINT64_C(268436934), // VCMPGEFPo
UINT64_C(268436166), // VCMPGTFP
UINT64_C(268437190), // VCMPGTFPo
UINT64_C(268436230), // VCMPGTSB
UINT64_C(268437254), // VCMPGTSBo
UINT64_C(268436423), // VCMPGTSD
UINT64_C(268437447), // VCMPGTSDo
UINT64_C(268436294), // VCMPGTSH
UINT64_C(268437318), // VCMPGTSHo
UINT64_C(268436358), // VCMPGTSW
UINT64_C(268437382), // VCMPGTSWo
UINT64_C(268435974), // VCMPGTUB
UINT64_C(268436998), // VCMPGTUBo
UINT64_C(268436167), // VCMPGTUD
UINT64_C(268437191), // VCMPGTUDo
UINT64_C(268436038), // VCMPGTUH
UINT64_C(268437062), // VCMPGTUHo
UINT64_C(268436102), // VCMPGTUW
UINT64_C(268437126), // VCMPGTUWo
UINT64_C(268436426), // VCTSXS
UINT64_C(268436426), // VCTSXS_0
UINT64_C(268436362), // VCTUXS
UINT64_C(268436362), // VCTUXS_0
UINT64_C(268437124), // VEQV
UINT64_C(268435850), // VEXPTEFP
UINT64_C(268436748), // VGBBD
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(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(268435493), // VMSUMMBM
UINT64_C(268435496), // VMSUMSHM
UINT64_C(268435497), // VMSUMSHS
UINT64_C(268435492), // VMSUMUBM
UINT64_C(268435494), // VMSUMUHM
UINT64_C(268435495), // VMSUMUHS
UINT64_C(268436232), // VMULESB
UINT64_C(268436296), // VMULESH
UINT64_C(268436360), // VMULESW
UINT64_C(268435976), // VMULEUB
UINT64_C(268436040), // VMULEUH
UINT64_C(268436104), // VMULEUW
UINT64_C(268435720), // VMULOSB
UINT64_C(268435784), // VMULOSH
UINT64_C(268435848), // VMULOSW
UINT64_C(268435464), // VMULOUB
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(268435503), // VNMSUBFP
UINT64_C(268436740), // VNOR
UINT64_C(268436612), // VOR
UINT64_C(268436804), // VORC
UINT64_C(268435499), // VPERM
UINT64_C(268435501), // VPERMXOR
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(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(268435524), // VRLH
UINT64_C(268435588), // VRLW
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(268435500), // VSLDOI
UINT64_C(268435780), // VSLH
UINT64_C(268436492), // VSLO
UINT64_C(268435844), // VSLW
UINT64_C(268435980), // VSPLTB
UINT64_C(268436044), // VSPLTH
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(268436356), // VSRAW
UINT64_C(268435972), // VSRB
UINT64_C(268437188), // VSRD
UINT64_C(268436036), // VSRH
UINT64_C(268436556), // VSRO
UINT64_C(268436100), // VSRW
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(2080374908), // WAIT
UINT64_C(2080375046), // WRTEE
UINT64_C(2080375110), // WRTEEI
UINT64_C(2080375416), // XOR
UINT64_C(2080375416), // XOR8
UINT64_C(2080375417), // XOR8o
UINT64_C(1744830464), // XORI
UINT64_C(1744830464), // XORI8
UINT64_C(1811939328), // XORIS
UINT64_C(1811939328), // XORIS8
UINT64_C(2080375417), // XORo
UINT64_C(4026533220), // XSABSDP
UINT64_C(4026532096), // XSADDDP
UINT64_C(4026531840), // XSADDSP
UINT64_C(4026532184), // XSCMPODP
UINT64_C(4026532120), // XSCMPUDP
UINT64_C(4026533248), // XSCPSGNDP
UINT64_C(4026532900), // XSCVDPSP
UINT64_C(4026532908), // XSCVDPSPN
UINT64_C(4026533216), // XSCVDPSXDS
UINT64_C(4026532192), // XSCVDPSXWS
UINT64_C(4026533152), // XSCVDPUXDS
UINT64_C(4026532128), // XSCVDPUXWS
UINT64_C(4026533156), // XSCVSPDP
UINT64_C(4026533164), // XSCVSPDPN
UINT64_C(4026533344), // XSCVSXDDP
UINT64_C(4026533088), // XSCVSXDSP
UINT64_C(4026533280), // XSCVUXDDP
UINT64_C(4026533024), // XSCVUXDSP
UINT64_C(4026532288), // XSDIVDP
UINT64_C(4026532032), // XSDIVSP
UINT64_C(4026532104), // XSMADDADP
UINT64_C(4026531848), // XSMADDASP
UINT64_C(4026532168), // XSMADDMDP
UINT64_C(4026531912), // XSMADDMSP
UINT64_C(4026533120), // XSMAXDP
UINT64_C(4026533184), // XSMINDP
UINT64_C(4026532232), // XSMSUBADP
UINT64_C(4026531976), // XSMSUBASP
UINT64_C(4026532296), // XSMSUBMDP
UINT64_C(4026532040), // XSMSUBMSP
UINT64_C(4026532224), // XSMULDP
UINT64_C(4026531968), // XSMULSP
UINT64_C(4026533284), // XSNABSDP
UINT64_C(4026533348), // XSNEGDP
UINT64_C(4026533128), // XSNMADDADP
UINT64_C(4026532872), // XSNMADDASP
UINT64_C(4026533192), // XSNMADDMDP
UINT64_C(4026532936), // XSNMADDMSP
UINT64_C(4026533256), // XSNMSUBADP
UINT64_C(4026533000), // XSNMSUBASP
UINT64_C(4026533320), // XSNMSUBMDP
UINT64_C(4026533064), // XSNMSUBMSP
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(4026532136), // XSRSQRTEDP
UINT64_C(4026531880), // XSRSQRTESP
UINT64_C(4026532140), // XSSQRTDP
UINT64_C(4026531884), // XSSQRTSP
UINT64_C(4026532160), // XSSUBDP
UINT64_C(4026531904), // XSSUBSP
UINT64_C(4026532328), // XSTDIVDP
UINT64_C(4026532264), // XSTSQRTDP
UINT64_C(4026533732), // XVABSDP
UINT64_C(4026533476), // XVABSSP
UINT64_C(4026532608), // XVADDDP
UINT64_C(4026532352), // XVADDSP
UINT64_C(4026532632), // XVCMPEQDP
UINT64_C(4026533656), // XVCMPEQDPo
UINT64_C(4026532376), // XVCMPEQSP
UINT64_C(4026533400), // XVCMPEQSPo
UINT64_C(4026532760), // XVCMPGEDP
UINT64_C(4026533784), // XVCMPGEDPo
UINT64_C(4026532504), // XVCMPGESP
UINT64_C(4026533528), // XVCMPGESPo
UINT64_C(4026532696), // XVCMPGTDP
UINT64_C(4026533720), // XVCMPGTDPo
UINT64_C(4026532440), // XVCMPGTSP
UINT64_C(4026533464), // XVCMPGTSPo
UINT64_C(4026533760), // XVCPSGNDP
UINT64_C(4026533504), // XVCPSGNSP
UINT64_C(4026533412), // XVCVDPSP
UINT64_C(4026533728), // XVCVDPSXDS
UINT64_C(4026532704), // XVCVDPSXWS
UINT64_C(4026533664), // XVCVDPUXDS
UINT64_C(4026532640), // XVCVDPUXWS
UINT64_C(4026533668), // XVCVSPDP
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(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(4026532776), // XVTSQRTDP
UINT64_C(4026532520), // XVTSQRTSP
UINT64_C(4026532880), // XXLAND
UINT64_C(4026532944), // XXLANDC
UINT64_C(4026533328), // XXLEQV
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(4026531984), // XXMRGHW
UINT64_C(4026532240), // XXMRGLW
UINT64_C(4026531920), // XXPERMDI
UINT64_C(4026531888), // XXSEL
UINT64_C(4026531856), // XXSLDWI
UINT64_C(4026532496), // XXSPLTW
UINT64_C(1073741824), // gBC
UINT64_C(1073741826), // gBCA
UINT64_C(1275069472), // gBCCTR
UINT64_C(1275069473), // gBCCTRL
UINT64_C(1073741825), // gBCL
UINT64_C(1073741827), // gBCLA
UINT64_C(1275068448), // gBCLR
UINT64_C(1275068449), // gBCLRL
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::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::ADDItocL:
case PPC::ADJCALLSTACKDOWN:
case PPC::ADJCALLSTACKUP:
case PPC::ANDIo_1_EQ_BIT:
case PPC::ANDIo_1_EQ_BIT8:
case PPC::ANDIo_1_GT_BIT:
case PPC::ANDIo_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_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_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::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::CR6SET:
case PPC::CR6UNSET:
case PPC::DSSALL:
case PPC::DYNALLOC:
case PPC::DYNALLOC8:
case PPC::DYNAREAOFFSET:
case PPC::DYNAREAOFFSET8:
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::GETtlsldADDR:
case PPC::GETtlsldADDR32:
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::LWZtoc:
case PPC::MSYNC:
case PPC::MoveGOTtoLR:
case PPC::MovePCtoLR:
case PPC::MovePCtoLR8:
case PPC::NOP:
case PPC::NOP_GT_PWR6:
case PPC::NOP_GT_PWR7:
case PPC::PPC32GOT:
case PPC::PPC32PICGOT:
case PPC::RESTORE_CR:
case PPC::RESTORE_CRBIT:
case PPC::RESTORE_VRSAVE:
case PPC::RFCI:
case PPC::RFDI:
case PPC::RFI:
case PPC::RFID:
case PPC::RFMCI:
case PPC::ReadTB:
case PPC::SELECT_CC_F4:
case PPC::SELECT_CC_F8:
case PPC::SELECT_CC_I4:
case PPC::SELECT_CC_I8:
case PPC::SELECT_CC_QBRC:
case PPC::SELECT_CC_QFRC:
case PPC::SELECT_CC_QSRC:
case PPC::SELECT_CC_VRRC:
case PPC::SELECT_CC_VSFRC:
case PPC::SELECT_CC_VSRC:
case PPC::SELECT_CC_VSSRC:
case PPC::SELECT_F4:
case PPC::SELECT_F8:
case PPC::SELECT_I4:
case PPC::SELECT_I8:
case PPC::SELECT_QBRC:
case PPC::SELECT_QFRC:
case PPC::SELECT_QSRC:
case PPC::SELECT_VRRC:
case PPC::SELECT_VSFRC:
case PPC::SELECT_VSRC:
case PPC::SELECT_VSSRC:
case PPC::SLBIA:
case PPC::SPILL_CR:
case PPC::SPILL_CRBIT:
case PPC::SPILL_VRSAVE:
case PPC::TAILBCTR:
case PPC::TAILBCTR8:
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::TRAP:
case PPC::TRECHKPT:
case PPC::UPDATE_VRSAVE:
case PPC::UpdateGBR: {
break;
}
case PPC::DCBA:
case PPC::DCBF:
case PPC::DCBI:
case PPC::DCBST:
case PPC::DCBZ:
case PPC::DCBZL:
case PPC::DCCCI:
case PPC::ICBI:
case PPC::ICCCI:
case PPC::TLBIVAX:
case PPC::TLBSX: {
// op: A
op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
Value |= (op & UINT64_C(31)) << 16;
// op: B
op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
Value |= (op & UINT64_C(31)) << 11;
break;
}
case PPC::SRADI:
case PPC::SRADIo: {
// op: A
op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
Value |= (op & UINT64_C(31)) << 16;
// op: RS
op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
Value |= (op & UINT64_C(31)) << 21;
// 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::CNTLZD:
case PPC::CNTLZDo:
case PPC::CNTLZW:
case PPC::CNTLZW8:
case PPC::CNTLZW8o:
case PPC::CNTLZWo:
case PPC::EXTSB:
case PPC::EXTSB8:
case PPC::EXTSB8_32_64:
case PPC::EXTSB8o:
case PPC::EXTSBo:
case PPC::EXTSH:
case PPC::EXTSH8:
case PPC::EXTSH8_32_64:
case PPC::EXTSH8o:
case PPC::EXTSHo:
case PPC::EXTSW:
case PPC::EXTSW_32_64:
case PPC::EXTSW_32_64o:
case PPC::EXTSWo:
case PPC::POPCNTD:
case PPC::POPCNTW:
case PPC::QVLPCLSXint: {
// op: A
op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
Value |= (op & UINT64_C(31)) << 16;
// op: RST
op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
Value |= (op & UINT64_C(31)) << 21;
break;
}
case PPC::AND:
case PPC::AND8:
case PPC::AND8o:
case PPC::ANDC:
case PPC::ANDC8:
case PPC::ANDC8o:
case PPC::ANDCo:
case PPC::ANDo:
case PPC::BPERMD:
case PPC::CMPB:
case PPC::CMPB8:
case PPC::EQV:
case PPC::EQV8:
case PPC::EQV8o:
case PPC::EQVo:
case PPC::NAND:
case PPC::NAND8:
case PPC::NAND8o:
case PPC::NANDo:
case PPC::NOR:
case PPC::NOR8:
case PPC::NOR8o:
case PPC::NORo:
case PPC::OR:
case PPC::OR8:
case PPC::OR8o:
case PPC::ORC:
case PPC::ORC8:
case PPC::ORC8o:
case PPC::ORCo:
case PPC::ORo:
case PPC::SLD:
case PPC::SLDo:
case PPC::SLW:
case PPC::SLW8:
case PPC::SLW8o:
case PPC::SLWo:
case PPC::SRAD:
case PPC::SRADo:
case PPC::SRAW:
case PPC::SRAWI:
case PPC::SRAWIo:
case PPC::SRAWo:
case PPC::SRD:
case PPC::SRDo:
case PPC::SRW:
case PPC::SRW8:
case PPC::SRW8o:
case PPC::SRWo:
case PPC::XOR:
case PPC::XOR8:
case PPC::XOR8o:
case PPC::XORo: {
// op: A
op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
Value |= (op & UINT64_C(31)) << 16;
// op: RST
op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
Value |= (op & UINT64_C(31)) << 21;
// op: B
op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
Value |= (op & UINT64_C(31)) << 11;
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::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);
Value |= (op & UINT64_C(31)) << 21;
// op: Addr
op = getMemRIEncoding(MI, 1, Fixups, STI);
Value |= op & UINT64_C(2097151);
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);
Value |= (op & UINT64_C(31)) << 21;
// op: Addr
op = getMemRIEncoding(MI, 2, Fixups, STI);
Value |= op & UINT64_C(2097151);
break;
}
case PPC::LI:
case PPC::LI8:
case PPC::LIS:
case PPC::LIS8: {
// op: A
op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
Value |= (op & UINT64_C(31)) << 21;
// op: B
op = getImm16Encoding(MI, 1, Fixups, STI);
Value |= op & UINT64_C(65535);
break;
}
case PPC::ADDI:
case PPC::ADDI8:
case PPC::ADDIC:
case PPC::ADDIC8:
case PPC::ADDICo:
case PPC::ADDIS:
case PPC::ADDIS8:
case PPC::LA:
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);
Value |= (op & UINT64_C(31)) << 21;
// op: B
op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
Value |= (op & UINT64_C(31)) << 16;
// op: C
op = getImm16Encoding(MI, 2, Fixups, STI);
Value |= op & UINT64_C(65535);
break;
}
case PPC::TEND: {
// op: A
op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
Value |= (op & UINT64_C(1)) << 25;
break;
}
case PPC::TABORT:
case PPC::TRECLAIM: {
// op: A
op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
Value |= (op & UINT64_C(31)) << 16;
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);
Value |= (op & UINT64_C(31)) << 21;
// op: Addr
op = getMemRIEncoding(MI, 2, Fixups, STI);
Value |= op & UINT64_C(2097151);
break;
}
case PPC::SLBIE:
case PPC::TLBIEL:
case PPC::TLBLD:
case PPC::TLBLI: {
// op: B
op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
Value |= (op & UINT64_C(31)) << 11;
break;
}
case PPC::ANDISo:
case PPC::ANDISo8:
case PPC::ANDIo:
case PPC::ANDIo8:
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);
Value |= (op & UINT64_C(31)) << 16;
// op: A
op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
Value |= (op & UINT64_C(31)) << 21;
// op: C
op = getImm16Encoding(MI, 2, Fixups, STI);
Value |= op & UINT64_C(65535);
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);
Value |= (op & UINT64_C(16383)) << 2;
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);
Value |= (op & UINT64_C(16383)) << 2;
break;
}
case PPC::TCHECK: {
// op: BF
op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
Value |= (op & UINT64_C(7)) << 23;
break;
}
case PPC::MCRF:
case PPC::MCRFS: {
// op: BF
op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
Value |= (op & UINT64_C(7)) << 23;
// op: BFA
op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
Value |= (op & UINT64_C(7)) << 18;
break;
}
case PPC::FCMPUD:
case PPC::FCMPUS: {
// op: BF
op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
Value |= (op & UINT64_C(7)) << 23;
// op: FRA
op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
Value |= (op & UINT64_C(31)) << 16;
// op: FRB
op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
Value |= (op & UINT64_C(31)) << 11;
break;
}
case PPC::CMPDI:
case PPC::CMPLDI:
case PPC::CMPLWI:
case PPC::CMPWI: {
// op: BF
op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
Value |= (op & UINT64_C(7)) << 23;
// op: RA
op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
Value |= (op & UINT64_C(31)) << 16;
// op: I
op = getImm16Encoding(MI, 2, Fixups, STI);
Value |= op & UINT64_C(65535);
break;
}
case PPC::CMPD:
case PPC::CMPLD:
case PPC::CMPLW:
case PPC::CMPW: {
// op: BF
op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
Value |= (op & UINT64_C(7)) << 23;
// op: RA
op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
Value |= (op & UINT64_C(31)) << 16;
// op: RB
op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
Value |= (op & UINT64_C(31)) << 11;
break;
}
case PPC::MTFSFI:
case PPC::MTFSFIo: {
// op: BF
op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
Value |= (op & UINT64_C(7)) << 23;
// op: W
op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
Value |= (op & UINT64_C(1)) << 16;
// op: U
op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
Value |= (op & UINT64_C(15)) << 12;
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);
Value |= (op & UINT64_C(31)) << 16;
break;
}
case PPC::BC:
case PPC::BCL:
case PPC::BCLn:
case PPC::BCn: {
// op: BI
op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
Value |= (op & UINT64_C(31)) << 16;
// op: BD
op = getCondBrEncoding(MI, 1, Fixups, STI);
Value |= (op & UINT64_C(16383)) << 2;
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);
Value |= (op & UINT64_C(7)) << 18;
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);
Value |= (op & UINT64_C(7)) << 18;
// op: BD
op = getAbsCondBrEncoding(MI, 2, Fixups, STI);
Value |= (op & UINT64_C(16383)) << 2;
break;
}
case PPC::BCC:
case PPC::BCCL: {
// 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);
Value |= (op & UINT64_C(7)) << 18;
// op: BD
op = getCondBrEncoding(MI, 2, Fixups, STI);
Value |= (op & UINT64_C(16383)) << 2;
break;
}
case PPC::gBCA:
case PPC::gBCLA: {
// op: BO
op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
Value |= (op & UINT64_C(31)) << 21;
// op: BI
op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
Value |= (op & UINT64_C(31)) << 16;
// op: BD
op = getAbsCondBrEncoding(MI, 2, Fixups, STI);
Value |= (op & UINT64_C(16383)) << 2;
break;
}
case PPC::gBC:
case PPC::gBCL: {
// op: BO
op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
Value |= (op & UINT64_C(31)) << 21;
// op: BI
op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
Value |= (op & UINT64_C(31)) << 16;
// op: BD
op = getCondBrEncoding(MI, 2, Fixups, STI);
Value |= (op & UINT64_C(16383)) << 2;
break;
}
case PPC::gBCCTR:
case PPC::gBCCTRL:
case PPC::gBCLR:
case PPC::gBCLRL: {
// op: BO
op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
Value |= (op & UINT64_C(31)) << 21;
// op: BI
op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
Value |= (op & UINT64_C(31)) << 16;
// op: BH
op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
Value |= (op & UINT64_C(3)) << 11;
break;
}
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);
Value |= (op & UINT64_C(7)) << 23;
// 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);
Value |= (op & UINT64_C(7)) << 23;
// 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::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);
Value |= (op & UINT64_C(31)) << 21;
// op: CRA
op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
Value |= (op & UINT64_C(31)) << 16;
// op: CRB
op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
Value |= (op & UINT64_C(31)) << 11;
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::ICBT: {
// op: CT
op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
Value |= (op & UINT64_C(15)) << 21;
// op: RA
op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
Value |= (op & UINT64_C(31)) << 16;
// op: RB
op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
Value |= (op & UINT64_C(31)) << 11;
break;
}
case PPC::BCTRL8_LDinto_toc: {
// op: DS_RA
op = getMemRIXEncoding(MI, 0, Fixups, STI);
Value |= (op & UINT64_C(524287)) << 2;
break;
}
case PPC::WRTEEI: {
// op: E
op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
Value |= (op & UINT64_C(1)) << 15;
break;
}
case PPC::MTFSFb: {
// op: FM
op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
Value |= (op & UINT64_C(255)) << 17;
// op: rT
op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
Value |= (op & UINT64_C(31)) << 11;
break;
}
case PPC::MTFSB0:
case PPC::MTFSB1: {
// op: FM
op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
Value |= (op & UINT64_C(31)) << 21;
break;
}
case PPC::FADD:
case PPC::FADDS:
case PPC::FADDSo:
case PPC::FADDo:
case PPC::FDIV:
case PPC::FDIVS:
case PPC::FDIVSo:
case PPC::FDIVo:
case PPC::FSUB:
case PPC::FSUBS:
case PPC::FSUBSo:
case PPC::FSUBo:
case PPC::QVFADD:
case PPC::QVFADDS:
case PPC::QVFADDSs:
case PPC::QVFCMPEQ:
case PPC::QVFCMPEQb:
case PPC::QVFCMPEQbs:
case PPC::QVFCMPGT:
case PPC::QVFCMPGTb:
case PPC::QVFCMPGTbs:
case PPC::QVFCMPLT:
case PPC::QVFCMPLTb:
case PPC::QVFCMPLTbs:
case PPC::QVFCPSGN:
case PPC::QVFCPSGNs:
case PPC::QVFSUB:
case PPC::QVFSUBS:
case PPC::QVFSUBSs:
case PPC::QVFTSTNAN:
case PPC::QVFTSTNANb:
case PPC::QVFTSTNANbs: {
// op: FRT
op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
Value |= (op & UINT64_C(31)) << 21;
// op: FRA
op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
Value |= (op & UINT64_C(31)) << 16;
// op: FRB
op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
Value |= (op & UINT64_C(31)) << 11;
break;
}
case PPC::QVALIGNI:
case PPC::QVALIGNIb:
case PPC::QVALIGNIs: {
// op: FRT
op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
Value |= (op & UINT64_C(31)) << 21;
// op: FRA
op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
Value |= (op & UINT64_C(31)) << 16;
// op: FRB
op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
Value |= (op & UINT64_C(31)) << 11;
// op: idx
op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
Value |= (op & UINT64_C(3)) << 9;
break;
}
case PPC::QVFLOGICAL:
case PPC::QVFLOGICALb:
case PPC::QVFLOGICALs: {
// op: FRT
op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
Value |= (op & UINT64_C(31)) << 21;
// op: FRA
op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
Value |= (op & UINT64_C(31)) << 16;
// op: FRB
op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
Value |= (op & UINT64_C(31)) << 11;
// op: tttt
op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
Value |= (op & UINT64_C(15)) << 7;
break;
}
case PPC::FMUL:
case PPC::FMULS:
case PPC::FMULSo:
case PPC::FMULo:
case PPC::QVFMUL:
case PPC::QVFMULS:
case PPC::QVFMULSs:
case PPC::QVFXMUL:
case PPC::QVFXMULS: {
// op: FRT
op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
Value |= (op & UINT64_C(31)) << 21;
// op: FRA
op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
Value |= (op & UINT64_C(31)) << 16;
// op: FRC
op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
Value |= (op & UINT64_C(31)) << 6;
break;
}
case PPC::FMADD:
case PPC::FMADDS:
case PPC::FMADDSo:
case PPC::FMADDo:
case PPC::FMSUB:
case PPC::FMSUBS:
case PPC::FMSUBSo:
case PPC::FMSUBo:
case PPC::FNMADD:
case PPC::FNMADDS:
case PPC::FNMADDSo:
case PPC::FNMADDo:
case PPC::FNMSUB:
case PPC::FNMSUBS:
case PPC::FNMSUBSo:
case PPC::FNMSUBo:
case PPC::FSELD:
case PPC::FSELDo:
case PPC::FSELS:
case PPC::FSELSo: {
// op: FRT
op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
Value |= (op & UINT64_C(31)) << 21;
// op: FRA
op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
Value |= (op & UINT64_C(31)) << 16;
// op: FRC
op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
Value |= (op & UINT64_C(31)) << 6;
// op: FRB
op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
Value |= (op & UINT64_C(31)) << 11;
break;
}
case PPC::QVFMADD:
case PPC::QVFMADDS:
case PPC::QVFMADDSs:
case PPC::QVFMSUB:
case PPC::QVFMSUBS:
case PPC::QVFMSUBSs:
case PPC::QVFNMADD:
case PPC::QVFNMADDS:
case PPC::QVFNMADDSs:
case PPC::QVFNMSUB:
case PPC::QVFNMSUBS:
case PPC::QVFNMSUBSs:
case PPC::QVFPERM:
case PPC::QVFPERMs:
case PPC::QVFSEL:
case PPC::QVFSELb:
case PPC::QVFSELbb:
case PPC::QVFSELbs:
case PPC::QVFXMADD:
case PPC::QVFXMADDS:
case PPC::QVFXXCPNMADD:
case PPC::QVFXXCPNMADDS:
case PPC::QVFXXMADD:
case PPC::QVFXXMADDS:
case PPC::QVFXXNPMADD:
case PPC::QVFXXNPMADDS: {
// op: FRT
op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
Value |= (op & UINT64_C(31)) << 21;
// op: FRA
op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
Value |= (op & UINT64_C(31)) << 16;
// op: FRC
op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
Value |= (op & UINT64_C(31)) << 6;
// op: FRB
op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
Value |= (op & UINT64_C(31)) << 11;
break;
}
case PPC::QVESPLATI:
case PPC::QVESPLATIb:
case PPC::QVESPLATIs: {
// op: FRT
op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
Value |= (op & UINT64_C(31)) << 21;
// op: FRA
op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
Value |= (op & UINT64_C(31)) << 16;
// op: idx
op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
Value |= (op & UINT64_C(3)) << 9;
break;
}
case PPC::QVFABS:
case PPC::QVFABSs:
case PPC::QVFCFID:
case PPC::QVFCFIDS:
case PPC::QVFCFIDU:
case PPC::QVFCFIDUS:
case PPC::QVFCFIDb:
case PPC::QVFCTID:
case PPC::QVFCTIDU:
case PPC::QVFCTIDUZ:
case PPC::QVFCTIDZ:
case PPC::QVFCTIDb:
case PPC::QVFCTIW:
case PPC::QVFCTIWU:
case PPC::QVFCTIWUZ:
case PPC::QVFCTIWZ:
case PPC::QVFMR:
case PPC::QVFMRb:
case PPC::QVFMRs:
case PPC::QVFNABS:
case PPC::QVFNABSs:
case PPC::QVFNEG:
case PPC::QVFNEGs:
case PPC::QVFRE:
case PPC::QVFRES:
case PPC::QVFRESs:
case PPC::QVFRIM:
case PPC::QVFRIMs:
case PPC::QVFRIN:
case PPC::QVFRINs:
case PPC::QVFRIP:
case PPC::QVFRIPs:
case PPC::QVFRIZ:
case PPC::QVFRIZs:
case PPC::QVFRSP:
case PPC::QVFRSPs:
case PPC::QVFRSQRTE:
case PPC::QVFRSQRTES:
case PPC::QVFRSQRTESs: {
// op: FRT
op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
Value |= (op & UINT64_C(31)) << 21;
// op: FRB
op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
Value |= (op & UINT64_C(31)) << 11;
break;
}
case PPC::QVGPCI: {
// op: FRT
op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
Value |= (op & UINT64_C(31)) << 21;
// op: idx
op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
Value |= (op & UINT64_C(4095)) << 9;
break;
}
case PPC::MTCRF:
case PPC::MTCRF8: {
// op: FXM
op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
Value |= (op & UINT64_C(255)) << 12;
// op: rS
op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
Value |= (op & UINT64_C(31)) << 21;
break;
}
case PPC::SYNC:
case PPC::WAIT: {
// op: L
op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
Value |= (op & UINT64_C(3)) << 21;
break;
}
case PPC::TSR: {
// op: L
op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
Value |= (op & UINT64_C(1)) << 21;
break;
}
case PPC::MTFSF:
case PPC::MTFSFo: {
// op: L
op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
Value |= (op & UINT64_C(1)) << 25;
// op: FLM
op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
Value |= (op & UINT64_C(255)) << 17;
// op: W
op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
Value |= (op & UINT64_C(1)) << 16;
// op: FRB
op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
Value |= (op & UINT64_C(31)) << 11;
break;
}
case PPC::SC: {
// op: LEV
op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
Value |= (op & UINT64_C(127)) << 5;
break;
}
case PPC::BA:
case PPC::BLA:
case PPC::BLA8:
case PPC::TAILBA:
case PPC::TAILBA8: {
// op: LI
op = getAbsDirectBrEncoding(MI, 0, Fixups, STI);
Value |= (op & UINT64_C(16777215)) << 2;
break;
}
case PPC::BLA8_NOP: {
// op: LI
op = getAbsDirectBrEncoding(MI, 0, Fixups, STI);
Value |= (op & UINT64_C(16777215)) << 34;
break;
}
case PPC::B:
case PPC::BL:
case PPC::BL8:
case PPC::TAILB:
case PPC::TAILB8: {
// op: LI
op = getDirectBrEncoding(MI, 0, Fixups, STI);
Value |= (op & UINT64_C(16777215)) << 2;
break;
}
case PPC::BL8_NOP: {
// op: LI
op = getDirectBrEncoding(MI, 0, Fixups, STI);
Value |= (op & UINT64_C(16777215)) << 34;
break;
}
case PPC::BL8_TLS:
case PPC::BL8_TLS_:
case PPC::BL_TLS: {
// op: LI
op = getTLSCallEncoding(MI, 0, Fixups, STI);
Value |= (op & UINT64_C(16777215)) << 2;
break;
}
case PPC::BL8_NOP_TLS: {
// op: LI
op = getTLSCallEncoding(MI, 0, Fixups, STI);
Value |= (op & UINT64_C(16777215)) << 34;
break;
}
case PPC::MBAR: {
// op: MO
op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
Value |= (op & UINT64_C(31)) << 21;
break;
}
case PPC::TBEGIN: {
// op: R
op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
Value |= (op & UINT64_C(1)) << 21;
break;
}
case PPC::RLWINM:
case PPC::RLWINM8:
case PPC::RLWINM8o:
case PPC::RLWINMo:
case PPC::RLWNM:
case PPC::RLWNM8:
case PPC::RLWNM8o:
case PPC::RLWNMo: {
// op: RA
op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
Value |= (op & UINT64_C(31)) << 16;
// op: RS
op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
Value |= (op & UINT64_C(31)) << 21;
// op: RB
op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
Value |= (op & UINT64_C(31)) << 11;
// op: MB
op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
Value |= (op & UINT64_C(31)) << 6;
// op: ME
op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
Value |= (op & UINT64_C(31)) << 1;
break;
}
case PPC::RLDCL:
case PPC::RLDCLo:
case PPC::RLDCR:
case PPC::RLDCRo: {
// op: RA
op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
Value |= (op & UINT64_C(31)) << 16;
// op: RS
op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
Value |= (op & UINT64_C(31)) << 21;
// op: RB
op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
Value |= (op & UINT64_C(31)) << 11;
// 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_64:
case PPC::RLDICLo:
case PPC::RLDICR:
case PPC::RLDICRo:
case PPC::RLDICo: {
// op: RA
op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
Value |= (op & UINT64_C(31)) << 16;
// op: RS
op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
Value |= (op & UINT64_C(31)) << 21;
// 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::RLWIMI8o:
case PPC::RLWIMIo: {
// op: RA
op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
Value |= (op & UINT64_C(31)) << 16;
// op: RS
op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
Value |= (op & UINT64_C(31)) << 21;
// op: RB
op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
Value |= (op & UINT64_C(31)) << 11;
// op: MB
op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
Value |= (op & UINT64_C(31)) << 6;
// op: ME
op = getMachineOpValue(MI, MI.getOperand(5), Fixups, STI);
Value |= (op & UINT64_C(31)) << 1;
break;
}
case PPC::RLDIMI:
case PPC::RLDIMIo: {
// op: RA
op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
Value |= (op & UINT64_C(31)) << 16;
// op: RS
op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
Value |= (op & UINT64_C(31)) << 21;
// 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::WRTEE: {
// op: RS
op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
Value |= (op & UINT64_C(31)) << 21;
break;
}
case PPC::MTMSR:
case PPC::MTMSRD: {
// op: RS
op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
Value |= (op & UINT64_C(31)) << 21;
// op: L
op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
Value |= (op & UINT64_C(1)) << 16;
break;
}
case PPC::MFSRIN:
case PPC::MTSRIN: {
// op: RS
op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
Value |= (op & UINT64_C(31)) << 21;
// op: RB
op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
Value |= (op & UINT64_C(31)) << 11;
break;
}
case PPC::MFSR:
case PPC::MTSR: {
// op: RS
op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
Value |= (op & UINT64_C(31)) << 21;
// op: SR
op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
Value |= (op & UINT64_C(15)) << 16;
break;
}
case PPC::MFFS:
case PPC::MFFSo:
case PPC::MFMSR: {
// op: RST
op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
Value |= (op & UINT64_C(31)) << 21;
break;
}
case PPC::FCPSGND:
case PPC::FCPSGNDo:
case PPC::FCPSGNS:
case PPC::FCPSGNSo:
case PPC::LBARX:
case PPC::LBARXL:
case PPC::LBZCIX:
case PPC::LBZX:
case PPC::LBZX8:
case PPC::LDARX:
case PPC::LDARXL:
case PPC::LDBRX:
case PPC::LDCIX:
case PPC::LDX:
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::LHZCIX:
case PPC::LHZX:
case PPC::LHZX8:
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::LWAX:
case PPC::LWAX_32:
case PPC::LWBRX:
case PPC::LWBRX8:
case PPC::LWZCIX:
case PPC::LWZX:
case PPC::LWZX8:
case PPC::QVLFCDUX:
case PPC::QVLFCDUXA:
case PPC::QVLFCDX:
case PPC::QVLFCDXA:
case PPC::QVLFCSUX:
case PPC::QVLFCSUXA:
case PPC::QVLFCSX:
case PPC::QVLFCSXA:
case PPC::QVLFCSXs:
case PPC::QVLFDUXA:
case PPC::QVLFDX:
case PPC::QVLFDXA:
case PPC::QVLFDXb:
case PPC::QVLFIWAX:
case PPC::QVLFIWAXA:
case PPC::QVLFIWZX:
case PPC::QVLFIWZXA:
case PPC::QVLFSUXA:
case PPC::QVLFSX:
case PPC::QVLFSXA:
case PPC::QVLFSXb:
case PPC::QVLFSXs:
case PPC::QVLPCLDX:
case PPC::QVLPCLSX:
case PPC::QVLPCRDX:
case PPC::QVLPCRSX:
case PPC::QVSTFCDUX:
case PPC::QVSTFCDUXA:
case PPC::QVSTFCDUXI:
case PPC::QVSTFCDUXIA:
case PPC::QVSTFCDX:
case PPC::QVSTFCDXA:
case PPC::QVSTFCDXI:
case PPC::QVSTFCDXIA:
case PPC::QVSTFCSUX:
case PPC::QVSTFCSUXA:
case PPC::QVSTFCSUXI:
case PPC::QVSTFCSUXIA:
case PPC::QVSTFCSX:
case PPC::QVSTFCSXA:
case PPC::QVSTFCSXI:
case PPC::QVSTFCSXIA:
case PPC::QVSTFCSXs:
case PPC::QVSTFDUXA:
case PPC::QVSTFDUXI:
case PPC::QVSTFDUXIA:
case PPC::QVSTFDX:
case PPC::QVSTFDXA:
case PPC::QVSTFDXI:
case PPC::QVSTFDXIA:
case PPC::QVSTFDXb:
case PPC::QVSTFIWX:
case PPC::QVSTFIWXA:
case PPC::QVSTFSUXA:
case PPC::QVSTFSUXI:
case PPC::QVSTFSUXIA:
case PPC::QVSTFSX:
case PPC::QVSTFSXA:
case PPC::QVSTFSXI:
case PPC::QVSTFSXIA:
case PPC::QVSTFSXs:
case PPC::STBCIX:
case PPC::STBCX:
case PPC::STBX:
case PPC::STBX8:
case PPC::STDBRX:
case PPC::STDCIX:
case PPC::STDCX:
case PPC::STDX:
case PPC::STFDX:
case PPC::STFIWX:
case PPC::STFSX:
case PPC::STHBRX:
case PPC::STHCIX:
case PPC::STHCX:
case PPC::STHX:
case PPC::STHX8:
case PPC::STSWI:
case PPC::STVEBX:
case PPC::STVEHX:
case PPC::STVEWX:
case PPC::STVX:
case PPC::STVXL:
case PPC::STWBRX:
case PPC::STWCIX:
case PPC::STWCX:
case PPC::STWX:
case PPC::STWX8:
case PPC::TD:
case PPC::TLBSX2:
case PPC::TLBSX2D:
case PPC::TW: {
// op: RST
op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
Value |= (op & UINT64_C(31)) << 21;
// op: A
op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
Value |= (op & UINT64_C(31)) << 16;
// op: B
op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
Value |= (op & UINT64_C(31)) << 11;
break;
}
case PPC::TLBRE2:
case PPC::TLBWE2: {
// op: RST
op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
Value |= (op & UINT64_C(31)) << 21;
// op: A
op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
Value |= (op & UINT64_C(31)) << 16;
// op: WS
op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
Value |= (op & UINT64_C(1)) << 11;
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::QVLFDUX:
case PPC::QVLFSUX:
case PPC::TABORTDC:
case PPC::TABORTDCI:
case PPC::TABORTWC:
case PPC::TABORTWCI: {
// op: RST
op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
Value |= (op & UINT64_C(31)) << 21;
// op: A
op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
Value |= (op & UINT64_C(31)) << 16;
// op: B
op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
Value |= (op & UINT64_C(31)) << 11;
break;
}
case PPC::FABSD:
case PPC::FABSDo:
case PPC::FABSS:
case PPC::FABSSo:
case PPC::FCFID:
case PPC::FCFIDS:
case PPC::FCFIDSo:
case PPC::FCFIDU:
case PPC::FCFIDUS:
case PPC::FCFIDUSo:
case PPC::FCFIDUo:
case PPC::FCFIDo:
case PPC::FCTID:
case PPC::FCTIDUZ:
case PPC::FCTIDUZo:
case PPC::FCTIDZ:
case PPC::FCTIDZo:
case PPC::FCTIDo:
case PPC::FCTIW:
case PPC::FCTIWUZ:
case PPC::FCTIWUZo:
case PPC::FCTIWZ:
case PPC::FCTIWZo:
case PPC::FCTIWo:
case PPC::FMR:
case PPC::FMRo:
case PPC::FNABSD:
case PPC::FNABSDo:
case PPC::FNABSS:
case PPC::FNABSSo:
case PPC::FNEGD:
case PPC::FNEGDo:
case PPC::FNEGS:
case PPC::FNEGSo:
case PPC::FRE:
case PPC::FRES:
case PPC::FRESo:
case PPC::FREo:
case PPC::FRIMD:
case PPC::FRIMDo:
case PPC::FRIMS:
case PPC::FRIMSo:
case PPC::FRIND:
case PPC::FRINDo:
case PPC::FRINS:
case PPC::FRINSo:
case PPC::FRIPD:
case PPC::FRIPDo:
case PPC::FRIPS:
case PPC::FRIPSo:
case PPC::FRIZD:
case PPC::FRIZDo:
case PPC::FRIZS:
case PPC::FRIZSo:
case PPC::FRSP:
case PPC::FRSPo:
case PPC::FRSQRTE:
case PPC::FRSQRTES:
case PPC::FRSQRTESo:
case PPC::FRSQRTEo:
case PPC::FSQRT:
case PPC::FSQRTS:
case PPC::FSQRTSo:
case PPC::FSQRTo:
case PPC::SLBMFEE:
case PPC::SLBMTE:
case PPC::TLBIE: {
// op: RST
op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
Value |= (op & UINT64_C(31)) << 21;
// op: B
op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
Value |= (op & UINT64_C(31)) << 11;
break;
}
case PPC::LD:
case PPC::LWA:
case PPC::LWA_32:
case PPC::STD: {
// op: RST
op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
Value |= (op & UINT64_C(31)) << 21;
// op: DS_RA
op = getMemRIXEncoding(MI, 1, Fixups, STI);
Value |= (op & UINT64_C(524287)) << 2;
break;
}
case PPC::LDU: {
// op: RST
op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
Value |= (op & UINT64_C(31)) << 21;
// op: DS_RA
op = getMemRIXEncoding(MI, 2, Fixups, STI);
Value |= (op & UINT64_C(524287)) << 2;
break;
}
case PPC::QVSTFDUX:
case PPC::QVSTFSUX:
case PPC::QVSTFSUXs:
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);
Value |= (op & UINT64_C(31)) << 21;
// op: A
op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
Value |= (op & UINT64_C(31)) << 16;
// op: B
op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
Value |= (op & UINT64_C(31)) << 11;
break;
}
case PPC::STDU: {
// op: RST
op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
Value |= (op & UINT64_C(31)) << 21;
// op: DS_RA
op = getMemRIXEncoding(MI, 2, Fixups, STI);
Value |= (op & UINT64_C(524287)) << 2;
break;
}
case PPC::MFCR:
case PPC::MFCR8:
case PPC::MFCTR:
case PPC::MFCTR8:
case PPC::MFLR:
case PPC::MFLR8:
case PPC::MFTB8:
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::MTVRSAVE:
case PPC::MTVRSAVEv: {
// op: RT
op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
Value |= (op & UINT64_C(31)) << 21;
break;
}
case PPC::EVLHHESPLAT:
case PPC::EVLHHOSSPLAT:
case PPC::EVLHHOUSPLAT: {
// op: RT
op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
Value |= (op & UINT64_C(31)) << 21;
// 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);
Value |= (op & UINT64_C(31)) << 21;
// 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);
Value |= (op & UINT64_C(31)) << 21;
// 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::MFBHRBE: {
// op: RT
op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
Value |= (op & UINT64_C(31)) << 21;
// op: Entry
op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
Value |= (op & UINT64_C(1023)) << 11;
break;
}
case PPC::ADDME:
case PPC::ADDME8:
case PPC::ADDME8o:
case PPC::ADDMEo:
case PPC::ADDZE:
case PPC::ADDZE8:
case PPC::ADDZE8o:
case PPC::ADDZEo:
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::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::NEGo:
case PPC::SUBFME:
case PPC::SUBFME8:
case PPC::SUBFME8o:
case PPC::SUBFMEo:
case PPC::SUBFZE:
case PPC::SUBFZE8:
case PPC::SUBFZE8o:
case PPC::SUBFZEo: {
// op: RT
op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
Value |= (op & UINT64_C(31)) << 21;
// op: RA
op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
Value |= (op & UINT64_C(31)) << 16;
break;
}
case PPC::ADD4:
case PPC::ADD4o:
case PPC::ADD8:
case PPC::ADD8o:
case PPC::ADDC:
case PPC::ADDC8:
case PPC::ADDC8o:
case PPC::ADDCo:
case PPC::ADDE:
case PPC::ADDE8:
case PPC::ADDE8o:
case PPC::ADDEo:
case PPC::BRINC:
case PPC::DIVD:
case PPC::DIVDE:
case PPC::DIVDEU:
case PPC::DIVDEUo:
case PPC::DIVDEo:
case PPC::DIVDU:
case PPC::DIVDUo:
case PPC::DIVDo:
case PPC::DIVW:
case PPC::DIVWE:
case PPC::DIVWEU:
case PPC::DIVWEUo:
case PPC::DIVWEo:
case PPC::DIVWU:
case PPC::DIVWUo:
case PPC::DIVWo:
case PPC::EVADDIW:
case PPC::EVADDW:
case PPC::EVAND:
case PPC::EVANDC:
case PPC::EVDIVWS:
case PPC::EVDIVWU:
case PPC::EVEQV:
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::MULHDUo:
case PPC::MULHDo:
case PPC::MULHW:
case PPC::MULHWU:
case PPC::MULHWUo:
case PPC::MULHWo:
case PPC::MULLD:
case PPC::MULLDo:
case PPC::MULLW:
case PPC::MULLWo:
case PPC::SUBF:
case PPC::SUBF8:
case PPC::SUBF8o:
case PPC::SUBFC:
case PPC::SUBFC8:
case PPC::SUBFC8o:
case PPC::SUBFCo:
case PPC::SUBFE:
case PPC::SUBFE8:
case PPC::SUBFE8o:
case PPC::SUBFEo:
case PPC::SUBFo: {
// op: RT
op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
Value |= (op & UINT64_C(31)) << 21;
// op: RA
op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
Value |= (op & UINT64_C(31)) << 16;
// op: RB
op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
Value |= (op & UINT64_C(31)) << 11;
break;
}
case PPC::ISEL:
case PPC::ISEL8: {
// op: RT
op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
Value |= (op & UINT64_C(31)) << 21;
// op: RA
op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
Value |= (op & UINT64_C(31)) << 16;
// op: RB
op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
Value |= (op & UINT64_C(31)) << 11;
// op: COND
op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
Value |= (op & UINT64_C(31)) << 6;
break;
}
case PPC::ADD4TLS:
case PPC::ADD8TLS:
case PPC::ADD8TLS_: {
// op: RT
op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
Value |= (op & UINT64_C(31)) << 21;
// op: RA
op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
Value |= (op & UINT64_C(31)) << 16;
// op: RB
op = getTLSRegEncoding(MI, 2, Fixups, STI);
Value |= (op & UINT64_C(31)) << 11;
break;
}
case PPC::MFDCR:
case PPC::MFSPR:
case PPC::MFSPR8:
case PPC::MFTB:
case PPC::MTDCR: {
// op: RT
op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
Value |= (op & UINT64_C(31)) << 21;
// 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::MTSPR:
case PPC::MTSPR8: {
// op: RT
op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
Value |= (op & UINT64_C(31)) << 21;
// 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::RFEBB: {
// op: S
op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
Value |= (op & UINT64_C(1)) << 11;
break;
}
case PPC::MFOCRF:
case PPC::MFOCRF8: {
// op: ST
op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
Value |= (op & UINT64_C(31)) << 21;
// op: FXM
op = get_crbitm_encoding(MI, 1, Fixups, STI);
Value |= (op & UINT64_C(255)) << 12;
break;
}
case PPC::MTOCRF:
case PPC::MTOCRF8: {
// op: ST
op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
Value |= (op & UINT64_C(31)) << 21;
// op: FXM
op = get_crbitm_encoding(MI, 0, Fixups, STI);
Value |= (op & UINT64_C(255)) << 12;
break;
}
case PPC::DSS: {
// op: STRM
op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
Value |= (op & UINT64_C(3)) << 21;
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);
Value |= (op & UINT64_C(3)) << 21;
// op: A
op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
Value |= (op & UINT64_C(31)) << 16;
// op: B
op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
Value |= (op & UINT64_C(31)) << 11;
break;
}
case PPC::DCBT:
case PPC::DCBTST: {
// op: TH
op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
Value |= (op & UINT64_C(31)) << 21;
// op: A
op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
Value |= (op & UINT64_C(31)) << 16;
// op: B
op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
Value |= (op & UINT64_C(31)) << 11;
break;
}
case PPC::MTVSCR: {
// op: VB
op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
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);
Value |= (op & UINT64_C(31)) << 21;
break;
}
case PPC::VSPLTISB:
case PPC::VSPLTISH:
case PPC::VSPLTISW: {
// op: VD
op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
Value |= (op & UINT64_C(31)) << 21;
// op: IMM
op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
Value |= (op & UINT64_C(31)) << 16;
break;
}
case PPC::VSBOX: {
// op: VD
op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
Value |= (op & UINT64_C(31)) << 21;
// op: VA
op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
Value |= (op & UINT64_C(31)) << 16;
break;
}
case PPC::VSHASIGMAD:
case PPC::VSHASIGMAW: {
// op: VD
op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
Value |= (op & UINT64_C(31)) << 21;
// op: VA
op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
Value |= (op & UINT64_C(31)) << 16;
// op: ST
op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
Value |= (op & UINT64_C(1)) << 15;
// op: SIX
op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
Value |= (op & UINT64_C(15)) << 11;
break;
}
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::VBPERMQ:
case PPC::VCFSX:
case PPC::VCFUX:
case PPC::VCIPHER:
case PPC::VCIPHERLAST:
case PPC::VCMPBFP:
case PPC::VCMPBFPo:
case PPC::VCMPEQFP:
case PPC::VCMPEQFPo:
case PPC::VCMPEQUB:
case PPC::VCMPEQUBo:
case PPC::VCMPEQUD:
case PPC::VCMPEQUDo:
case PPC::VCMPEQUH:
case PPC::VCMPEQUHo:
case PPC::VCMPEQUW:
case PPC::VCMPEQUWo:
case PPC::VCMPGEFP:
case PPC::VCMPGEFPo:
case PPC::VCMPGTFP:
case PPC::VCMPGTFPo:
case PPC::VCMPGTSB:
case PPC::VCMPGTSBo:
case PPC::VCMPGTSD:
case PPC::VCMPGTSDo:
case PPC::VCMPGTSH:
case PPC::VCMPGTSHo:
case PPC::VCMPGTSW:
case PPC::VCMPGTSWo:
case PPC::VCMPGTUB:
case PPC::VCMPGTUBo:
case PPC::VCMPGTUD:
case PPC::VCMPGTUDo:
case PPC::VCMPGTUH:
case PPC::VCMPGTUHo:
case PPC::VCMPGTUW:
case PPC::VCMPGTUWo:
case PPC::VCTSXS:
case PPC::VCTUXS:
case PPC::VEQV:
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::VMRGEW:
case PPC::VMRGHB:
case PPC::VMRGHH:
case PPC::VMRGHW:
case PPC::VMRGLB:
case PPC::VMRGLH:
case PPC::VMRGLW:
case PPC::VMRGOW:
case PPC::VMULESB:
case PPC::VMULESH:
case PPC::VMULESW:
case PPC::VMULEUB:
case PPC::VMULEUH:
case PPC::VMULEUW:
case PPC::VMULOSB:
case PPC::VMULOSH:
case PPC::VMULOSW:
case PPC::VMULOUB:
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::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::VRLH:
case PPC::VRLW:
case PPC::VSL:
case PPC::VSLB:
case PPC::VSLD:
case PPC::VSLH:
case PPC::VSLO:
case PPC::VSLW:
case PPC::VSPLTB:
case PPC::VSPLTH:
case PPC::VSPLTW:
case PPC::VSR:
case PPC::VSRAB:
case PPC::VSRAD:
case PPC::VSRAH:
case PPC::VSRAW:
case PPC::VSRB:
case PPC::VSRD:
case PPC::VSRH:
case PPC::VSRO:
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);
Value |= (op & UINT64_C(31)) << 21;
// op: VA
op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
Value |= (op & UINT64_C(31)) << 16;
// op: VB
op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
Value |= (op & UINT64_C(31)) << 11;
break;
}
case PPC::VSLDOI: {
// op: VD
op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
Value |= (op & UINT64_C(31)) << 21;
// op: VA
op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
Value |= (op & UINT64_C(31)) << 16;
// op: VB
op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
Value |= (op & UINT64_C(31)) << 11;
// op: SH
op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
Value |= (op & UINT64_C(15)) << 6;
break;
}
case PPC::VADDECUQ:
case PPC::VADDEUQM:
case PPC::VMHADDSHS:
case PPC::VMHRADDSHS:
case PPC::VMLADDUHM:
case PPC::VMSUMMBM:
case PPC::VMSUMSHM:
case PPC::VMSUMSHS:
case PPC::VMSUMUBM:
case PPC::VMSUMUHM:
case PPC::VMSUMUHS:
case PPC::VPERM:
case PPC::VPERMXOR:
case PPC::VSEL:
case PPC::VSUBECUQ:
case PPC::VSUBEUQM: {
// op: VD
op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
Value |= (op & UINT64_C(31)) << 21;
// op: VA
op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
Value |= (op & UINT64_C(31)) << 16;
// op: VB
op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
Value |= (op & UINT64_C(31)) << 11;
// op: VC
op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
Value |= (op & UINT64_C(31)) << 6;
break;
}
case PPC::VMADDFP:
case PPC::VNMSUBFP: {
// op: VD
op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
Value |= (op & UINT64_C(31)) << 21;
// op: VA
op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
Value |= (op & UINT64_C(31)) << 16;
// op: VC
op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
Value |= (op & UINT64_C(31)) << 6;
// op: VB
op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
Value |= (op & UINT64_C(31)) << 11;
break;
}
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);
Value |= (op & UINT64_C(31)) << 21;
// op: VB
op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
Value |= (op & UINT64_C(31)) << 11;
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::MTVSRD:
case PPC::MTVSRWA:
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);
Value |= (op & UINT64_C(31)) << 16;
break;
}
case PPC::LXSDX:
case PPC::LXSIWAX:
case PPC::LXSIWZX:
case PPC::LXSSPX:
case PPC::LXVD2X:
case PPC::LXVDSX:
case PPC::LXVW4X:
case PPC::STXSDX:
case PPC::STXSIWX:
case PPC::STXSSPX:
case PPC::STXVD2X:
case PPC::STXVW4X: {
// 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);
Value |= (op & UINT64_C(31)) << 16;
// op: B
op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
Value |= (op & UINT64_C(31)) << 11;
break;
}
case PPC::XSADDDP:
case PPC::XSADDSP:
case PPC::XSCPSGNDP:
case PPC::XSDIVDP:
case PPC::XSDIVSP:
case PPC::XSMAXDP:
case PPC::XSMINDP:
case PPC::XSMULDP:
case PPC::XSMULSP:
case PPC::XSSUBDP:
case PPC::XSSUBSP:
case PPC::XVADDDP:
case PPC::XVADDSP:
case PPC::XVCMPEQDP:
case PPC::XVCMPEQDPo:
case PPC::XVCMPEQSP:
case PPC::XVCMPEQSPo:
case PPC::XVCMPGEDP:
case PPC::XVCMPGEDPo:
case PPC::XVCMPGESP:
case PPC::XVCMPGESPo:
case PPC::XVCMPGTDP:
case PPC::XVCMPGTDPo:
case PPC::XVCMPGTSP:
case PPC::XVCMPGTSPo:
case PPC::XVCPSGNDP:
case PPC::XVCPSGNSP:
case PPC::XVDIVDP:
case PPC::XVDIVSP:
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);
Value |= (op & UINT64_C(3)) << 8;
break;
}
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::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::XSCVDPSP:
case PPC::XSCVDPSPN:
case PPC::XSCVDPSXDS:
case PPC::XSCVDPSXWS:
case PPC::XSCVDPUXDS:
case PPC::XSCVDPUXWS:
case PPC::XSCVSPDP:
case PPC::XSCVSPDPN:
case PPC::XSCVSXDDP:
case PPC::XSCVSXDSP:
case PPC::XSCVUXDDP:
case PPC::XSCVUXDSP:
case PPC::XSNABSDP:
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::XSRSQRTEDP:
case PPC::XSRSQRTESP:
case PPC::XSSQRTDP:
case PPC::XSSQRTSP:
case PPC::XVABSDP:
case PPC::XVABSSP:
case PPC::XVCVDPSP:
case PPC::XVCVDPSXDS:
case PPC::XVCVDPSXWS:
case PPC::XVCVDPUXDS:
case PPC::XVCVDPUXWS:
case PPC::XVCVSPDP:
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: {
// 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: {
// 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);
Value |= (op & UINT64_C(3)) << 16;
break;
}
case PPC::MFVSRD:
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);
Value |= (op & UINT64_C(31)) << 16;
break;
}
case PPC::EVCMPEQ:
case PPC::EVCMPGTS:
case PPC::EVCMPGTU:
case PPC::EVCMPLTS:
case PPC::EVCMPLTU: {
// op: crD
op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
Value |= (op & UINT64_C(7)) << 23;
// op: RA
op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
Value |= (op & UINT64_C(31)) << 16;
// op: RB
op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
Value |= (op & UINT64_C(31)) << 11;
break;
}
default:
std::string msg;
raw_string_ostream Msg(msg);
Msg << "Not supported instr: " << MI;
report_fatal_error(Msg.str());
}
return Value;
}