Capstone disassembly/disassembler framework: Core (Arm, Arm64, BPF, EVM, M68K, M680X, MOS65xx, Mips, PPC, RISCV, Sparc, SystemZ, TMS320C64x, Web Assembly, X86, X86_64, XCore) + bindings. (bloaty 依赖)
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.
 
 
 
 
 
 

3484 lines
103 KiB

/*===- TableGen'erated file -------------------------------------*- C++ -*-===*\
|* *|
|*Assembly Writer Source Fragment *|
|* *|
|* Automatically generated file, do not edit! *|
|* *|
\*===----------------------------------------------------------------------===*/
/* Capstone Disassembler Engine */
/* By Nguyen Anh Quynh <aquynh@gmail.com>, 2013> */
/// printInstruction - This method is automatically generated by tablegen
/// from the instruction set description.
static void printInstruction(MCInst *MI, SStream *O)
{
static const uint32_t OpInfo[] = {
0U, // PHI
0U, // INLINEASM
0U, // PROLOG_LABEL
0U, // EH_LABEL
0U, // GC_LABEL
0U, // KILL
0U, // EXTRACT_SUBREG
0U, // INSERT_SUBREG
0U, // IMPLICIT_DEF
0U, // SUBREG_TO_REG
0U, // COPY_TO_REGCLASS
5390U, // DBG_VALUE
0U, // REG_SEQUENCE
0U, // COPY
5383U, // BUNDLE
5588U, // LIFETIME_START
5370U, // LIFETIME_END
0U, // STACKMAP
0U, // PATCHPOINT
9932U, // ADD4
9932U, // ADD4TLS
8479U, // ADD4o
9932U, // ADD8
9932U, // ADD8TLS
9932U, // ADD8TLS_
8479U, // ADD8o
9838U, // ADDC
9838U, // ADDC8
8419U, // ADDC8o
8419U, // ADDCo
10066U, // ADDE
10066U, // ADDE8
8569U, // ADDE8o
8569U, // ADDEo
536881348U, // ADDI
536881348U, // ADDI8
536880785U, // ADDIC
536880785U, // ADDIC8
536879361U, // ADDICo
536882412U, // ADDIS
536882412U, // ADDIS8
5329U, // ADDISdtprelHA
5312U, // ADDISgotTprelHA
5284U, // ADDIStlsgdHA
5298U, // ADDIStlsldHA
5272U, // ADDIStocHA
5495U, // ADDIdtprelL
5458U, // ADDItlsgdL
5470U, // ADDItlsldL
5448U, // ADDItocL
67118966U, // ADDME
67118966U, // ADDME8
67117448U, // ADDME8o
67117448U, // ADDMEo
67119003U, // ADDZE
67119003U, // ADDZE8
67117481U, // ADDZE8o
67117481U, // ADDZEo
148759U, // ADJCALLSTACKDOWN
4474154U, // ADJCALLSTACKUP
10006U, // AND
10006U, // AND8
8541U, // AND8o
9846U, // ANDC
9846U, // ANDC8
8426U, // ANDC8o
8426U, // ANDCo
1073750934U, // ANDISo
1073750934U, // ANDISo8
1073750541U, // ANDIo
1073750541U, // ANDIo8
8541U, // ANDo
142877896U, // ATOMIC_CMP_SWAP_I16
142877874U, // ATOMIC_CMP_SWAP_I32
4746U, // ATOMIC_CMP_SWAP_I64
5185U, // ATOMIC_CMP_SWAP_I8
4943U, // ATOMIC_LOAD_ADD_I16
4491U, // ATOMIC_LOAD_ADD_I32
4686U, // ATOMIC_LOAD_ADD_I64
5124U, // ATOMIC_LOAD_ADD_I8
4986U, // ATOMIC_LOAD_AND_I16
4534U, // ATOMIC_LOAD_AND_I32
4845U, // ATOMIC_LOAD_AND_I64
5165U, // ATOMIC_LOAD_AND_I8
4964U, // ATOMIC_LOAD_NAND_I16
4512U, // ATOMIC_LOAD_NAND_I32
4707U, // ATOMIC_LOAD_NAND_I64
5144U, // ATOMIC_LOAD_NAND_I8
5045U, // ATOMIC_LOAD_OR_I16
4593U, // ATOMIC_LOAD_OR_I32
4788U, // ATOMIC_LOAD_OR_I64
5224U, // ATOMIC_LOAD_OR_I8
4922U, // ATOMIC_LOAD_SUB_I16
4470U, // ATOMIC_LOAD_SUB_I32
4665U, // ATOMIC_LOAD_SUB_I64
5090U, // ATOMIC_LOAD_SUB_I8
5024U, // ATOMIC_LOAD_XOR_I16
4572U, // ATOMIC_LOAD_XOR_I32
4767U, // ATOMIC_LOAD_XOR_I64
5205U, // ATOMIC_LOAD_XOR_I8
5007U, // ATOMIC_SWAP_I16
4555U, // ATOMIC_SWAP_I32
4729U, // ATOMIC_SWAP_I64
5256U, // ATOMIC_SWAP_I8
157064U, // B
165194U, // BA
439785U, // BCC
570857U, // BCCA
701929U, // BCCL
833001U, // BCCLA
964073U, // BCCTR
964073U, // BCCTR8
1095145U, // BCCTRL
1095145U, // BCCTRL8
1226217U, // BCLR
1357289U, // BCLRL
155725U, // BCLalways
5697U, // BCTR
5697U, // BCTR8
5659U, // BCTRL
5659U, // BCTRL8
159972U, // BDNZ
159972U, // BDNZ8
165245U, // BDNZA
163966U, // BDNZAm
163881U, // BDNZAp
158193U, // BDNZL
165226U, // BDNZLA
163950U, // BDNZLAm
163865U, // BDNZLAp
5690U, // BDNZLR
5690U, // BDNZLR8
5651U, // BDNZLRL
4422U, // BDNZLRLm
4390U, // BDNZLRLp
4438U, // BDNZLRm
4406U, // BDNZLRp
155789U, // BDNZLm
155704U, // BDNZLp
155803U, // BDNZm
155718U, // BDNZp
159941U, // BDZ
159941U, // BDZ8
165239U, // BDZA
163959U, // BDZAm
163874U, // BDZAp
158187U, // BDZL
165219U, // BDZLA
163942U, // BDZLAm
163857U, // BDZLAp
5684U, // BDZLR
5684U, // BDZLR8
5644U, // BDZLRL
4414U, // BDZLRLm
4382U, // BDZLRLp
4431U, // BDZLRm
4399U, // BDZLRp
155782U, // BDZLm
155697U, // BDZLp
155797U, // BDZm
155712U, // BDZp
158090U, // BL
158090U, // BL8
1468810U, // BL8_NOP
1493386U, // BL8_NOP_TLS
182666U, // BL8_TLS
182666U, // BL8_TLS_
165208U, // BLA
165208U, // BLA8
1475928U, // BLA8_NOP
5680U, // BLR
5639U, // BLRL
1610623186U, // CLRLSLDI
1610621433U, // CLRLSLDIo
2147494212U, // CLRLSLWI
2147492434U, // CLRLSLWIo
1610623211U, // CLRRDI
1610621460U, // CLRRDIo
2147494245U, // CLRRWI
2147492463U, // CLRRWIo
10024U, // CMPD
536881380U, // CMPDI
9991U, // CMPLD
1073752266U, // CMPLDI
11921U, // CMPLW
1073752380U, // CMPLWI
11951U, // CMPW
536881502U, // CMPWI
67118922U, // CNTLZD
67117424U, // CNTLZDo
67120968U, // CNTLZW
67118172U, // CNTLZWo
4908U, // CR6SET
4894U, // CR6UNSET
10011U, // CRAND
9844U, // CRANDC
11870U, // CREQV
10003U, // CRNAND
11154U, // CRNOR
11167U, // CROR
9901U, // CRORC
12594782U, // CRSET
12594090U, // CRUNSET
11178U, // CRXOR
58696U, // DCBA
59306U, // DCBF
59563U, // DCBI
60851U, // DCBST
60832U, // DCBT
60863U, // DCBTST
61626U, // DCBZ
59876U, // DCBZL
10052U, // DIVD
11792U, // DIVDU
9179U, // DIVDUo
8553U, // DIVDo
12098U, // DIVW
11839U, // DIVWU
9196U, // DIVWUo
9301U, // DIVWo
68870U, // DSS
5632U, // DSSALL
77242U, // DST
77242U, // DST64
77255U, // DSTST
77255U, // DSTST64
77268U, // DSTSTT
77268U, // DSTSTT64
77262U, // DSTT
77262U, // DSTT64
5344U, // DYNALLOC
5065U, // DYNALLOC8
4628U, // EH_SjLj_LongJmp32
4808U, // EH_SjLj_LongJmp64
4647U, // EH_SjLj_SetJmp32
4827U, // EH_SjLj_SetJmp64
155649U, // EH_SjLj_Setup
5665U, // EIEIO
11872U, // EQV
11872U, // EQV8
9211U, // EQV8o
9211U, // EQVo
1610623196U, // EXTLDI
1610621444U, // EXTLDIo
2147494230U, // EXTLWI
2147492454U, // EXTLWIo
1610623235U, // EXTRDI
1610621487U, // EXTRDIo
2147494269U, // EXTRWI
2147492490U, // EXTRWIo
67118581U, // EXTSB
67118581U, // EXTSB8
67118581U, // EXTSB8_32_64
67117229U, // EXTSB8o
67117229U, // EXTSBo
67119185U, // EXTSH
67119185U, // EXTSH8
67119185U, // EXTSH8_32_64
67117523U, // EXTSH8o
67117523U, // EXTSHo
67120863U, // EXTSW
67120863U, // EXTSW_32_64
67118135U, // EXTSW_32_64o
67118135U, // EXTSWo
67120110U, // FABSD
67117878U, // FABSDo
67120110U, // FABSS
67117878U, // FABSSo
9931U, // FADD
11339U, // FADDS
9056U, // FADDSo
8478U, // FADDo
0U, // FADDrtz
67118834U, // FCFID
67120227U, // FCFIDS
67117947U, // FCFIDSo
67120637U, // FCFIDU
67120421U, // FCFIDUS
67117999U, // FCFIDUSo
67118034U, // FCFIDUo
67117374U, // FCFIDo
11805U, // FCMPUD
11805U, // FCMPUS
10902U, // FCPSGND
8906U, // FCPSGNDo
10902U, // FCPSGNS
8906U, // FCPSGNSo
67118841U, // FCTID
67121386U, // FCTIDUZ
67118213U, // FCTIDUZo
67121354U, // FCTIDZ
67118197U, // FCTIDZo
67117382U, // FCTIDo
67120763U, // FCTIW
67121395U, // FCTIWUZ
67118223U, // FCTIWUZo
67121404U, // FCTIWZ
67118233U, // FCTIWZo
67118096U, // FCTIWo
11864U, // FDIV
11602U, // FDIVS
9145U, // FDIVSo
9204U, // FDIVo
9937U, // FMADD
11346U, // FMADDS
9064U, // FMADDSo
8485U, // FMADDo
67120013U, // FMR
67117860U, // FMRo
9801U, // FMSUB
11322U, // FMSUBS
9037U, // FMSUBSo
8391U, // FMSUBo
10705U, // FMUL
11519U, // FMULS
9118U, // FMULSo
8875U, // FMULo
67120116U, // FNABSD
67117885U, // FNABSDo
67120116U, // FNABSS
67117885U, // FNABSSo
67119066U, // FNEGD
67117505U, // FNEGDo
67119066U, // FNEGS
67117505U, // FNEGSo
9944U, // FNMADD
11354U, // FNMADDS
9073U, // FNMADDSo
8493U, // FNMADDo
9808U, // FNMSUB
11330U, // FNMSUBS
9046U, // FNMSUBSo
8399U, // FNMSUBo
67118981U, // FRE
67120235U, // FRES
67117956U, // FRESo
67117465U, // FREo
67119702U, // FRIMD
67117746U, // FRIMDo
67119702U, // FRIMS
67117746U, // FRIMSo
67119781U, // FRIND
67117779U, // FRINDo
67119781U, // FRINS
67117779U, // FRINSo
67119933U, // FRIPD
67117829U, // FRIPDo
67119933U, // FRIPS
67117829U, // FRIPSo
67121374U, // FRIZD
67118206U, // FRIZDo
67121374U, // FRIZS
67118206U, // FRIZSo
67119939U, // FRSP
67117836U, // FRSPo
67118994U, // FRSQRTE
67120241U, // FRSQRTES
67117963U, // FRSQRTESo
67117471U, // FRSQRTEo
10666U, // FSELD
8868U, // FSELDo
10666U, // FSELS
8868U, // FSELSo
67120556U, // FSQRT
67120413U, // FSQRTS
67117990U, // FSQRTSo
67118017U, // FSQRTo
9795U, // FSUB
11315U, // FSUBS
9029U, // FSUBSo
8384U, // FSUBo
5544U, // GETtlsADDR
5530U, // GETtlsldADDR
59569U, // ICBI
2147494222U, // INSLWI
2147492445U, // INSLWIo
1610623219U, // INSRDI
1610621469U, // INSRDIo
2147494253U, // INSRWI
2147492472U, // INSRWIo
10672U, // ISEL
10672U, // ISEL8
5619U, // ISYNC
16786777U, // LA
20981081U, // LAx
20984000U, // LBZ
20984000U, // LBZ8
25177670U, // LBZU
25177670U, // LBZU8
29372515U, // LBZUX
29372515U, // LBZUX8
75509920U, // LBZX
75509920U, // LBZX8
20981507U, // LD
75509695U, // LDARX
75509709U, // LDBRX
25177605U, // LDU
29372466U, // LDUX
75509638U, // LDX
5482U, // LDgotTprelL
4613U, // LDgotTprelL32
1585417U, // LDinto_toc
5625U, // LDtoc
5578U, // LDtocCPT
5430U, // LDtocJTI
5440U, // LDtocL
4370U, // LDtoc_restore
20981472U, // LFD
25177576U, // LFDU
29372451U, // LFDUX
75509625U, // LFDX
75509590U, // LFIWAX
75509932U, // LFIWZX
20982913U, // LFS
25177636U, // LFSU
29372493U, // LFSUX
75509761U, // LFSX
20981075U, // LHA
20981075U, // LHA8
25177564U, // LHAU
25177564U, // LHAU8
29372430U, // LHAUX
29372430U, // LHAUX8
75509584U, // LHAX
75509584U, // LHAX8
75509724U, // LHBRX
20984018U, // LHZ
20984018U, // LHZ8
25177676U, // LHZU
25177676U, // LHZU8
29372522U, // LHZUX
29372522U, // LHZUX8
75509926U, // LHZX
75509926U, // LHZX8
33564947U, // LI
33564947U, // LI8
33565939U, // LIS
33565939U, // LIS8
20983460U, // LMW
75509604U, // LVEBX
75509649U, // LVEHX
75509891U, // LVEWX
75508171U, // LVSL
75508691U, // LVSR
75509880U, // LVX
75508183U, // LVXL
20981106U, // LWA
75509702U, // LWARX
29372437U, // LWAUX
75509598U, // LWAX
75509598U, // LWAX_32
20981106U, // LWA_32
75509739U, // LWBRX
20984068U, // LWZ
20984068U, // LWZ8
25177682U, // LWZU
25177682U, // LWZU8
29372529U, // LWZUX
29372529U, // LWZUX8
75509940U, // LWZX
75509940U, // LWZX8
67119030U, // MCRF
142173U, // MFCR
142173U, // MFCR8
142304U, // MFCTR
142304U, // MFCTR8
142459U, // MFFS
142209U, // MFLR
142209U, // MFLR8
142277U, // MFMSR
37758908U, // MFOCRF
37758908U, // MFOCRF8
67120055U, // MFSPR
67118596U, // MFTB
1715127U, // MFTB8
1846199U, // MFVRSAVE
1846199U, // MFVRSAVEv
142187U, // MFVSCR
67119052U, // MTCRF
67119052U, // MTCRF8
142311U, // MTCTR
142311U, // MTCTR8
142311U, // MTCTR8loop
142311U, // MTCTRloop
214178U, // MTFSB0
214186U, // MTFSB1
67119059U, // MTFSF
142215U, // MTLR
142215U, // MTLR8
67120076U, // MTMSR
67118894U, // MTMSRD
92100U, // MTOCRF
92100U, // MTOCRF8
67120062U, // MTSPR
139354U, // MTVRSAVE
229466U, // MTVRSAVEv
142195U, // MTVSCR
9963U, // MULHD
11765U, // MULHDU
9161U, // MULHDUo
8502U, // MULHDo
11892U, // MULHW
11825U, // MULHWU
9187U, // MULHWUo
9224U, // MULHWo
9984U, // MULLD
8526U, // MULLDo
536881424U, // MULLI
536881424U, // MULLI8
11914U, // MULLW
9240U, // MULLWo
5556U, // MovePCtoLR
5243U, // MovePCtoLR8
10005U, // NAND
10005U, // NAND8
8540U, // NAND8o
8540U, // NANDo
67119067U, // NEG
67119067U, // NEG8
67117506U, // NEG8o
67117506U, // NEGo
5676U, // NOP
4446U, // NOP_GT_PWR6
4458U, // NOP_GT_PWR7
11156U, // NOR
11156U, // NOR8
9002U, // NOR8o
9002U, // NORo
11157U, // OR
11157U, // OR8
9003U, // OR8o
9903U, // ORC
9903U, // ORC8
8465U, // ORC8o
8465U, // ORCo
1073752368U, // ORI
1073752368U, // ORI8
1073753337U, // ORIS
1073753337U, // ORIS8
9003U, // ORo
67118902U, // POPCNTD
67120886U, // POPCNTW
5568U, // PPC32GOT
5508U, // RESTORE_CR
5400U, // RESTORE_VRSAVE
10643U, // RLDCL
8851U, // RLDCLo
11094U, // RLDCR
8979U, // RLDCRo
1610622616U, // RLDIC
1610623386U, // RLDICL
1610623386U, // RLDICL_32_64
1610621595U, // RLDICLo
1610623843U, // RLDICR
1610621723U, // RLDICRo
1610621193U, // RLDICo
243280151U, // RLDIMI
243278392U, // RLDIMIo
310389023U, // RLWIMI
310387265U, // RLWIMIo
2147494492U, // RLWINM
2147494492U, // RLWINM8
2147492537U, // RLWINM8o
2147492537U, // RLWINMo
10852U, // RLWNM
8898U, // RLWNMo
1610623227U, // ROTRDI
1610621478U, // ROTRDIo
2147494261U, // ROTRWI
2147492481U, // ROTRWIo
140980U, // SC
4866U, // SELECT_CC_F4
5076U, // SELECT_CC_F8
4880U, // SELECT_CC_I4
5110U, // SELECT_CC_I8
5354U, // SELECT_CC_VRRC
5603U, // SLBIA
141160U, // SLBIE
67118936U, // SLBMFEE
67118986U, // SLBMTE
9998U, // SLD
1610623190U, // SLDI
1610621437U, // SLDIo
8534U, // SLDo
11935U, // SLW
2147494216U, // SLWI
2147492438U, // SLWIo
9248U, // SLWo
5520U, // SPILL_CR
5416U, // SPILL_VRSAVE
9925U, // SRAD
1610623165U, // SRADI
1610621425U, // SRADIo
8471U, // SRADo
11878U, // SRAW
2147494197U, // SRAWI
2147492426U, // SRAWIo
9217U, // SRAWo
10033U, // SRD
1610623221U, // SRDI
1610621471U, // SRDIo
8547U, // SRDo
11958U, // SRW
2147494255U, // SRWI
2147492474U, // SRWIo
9254U, // SRWo
20981266U, // STB
20981266U, // STB8
25267682U, // STBU
25267682U, // STBU8
29462556U, // STBUX
29462556U, // STBUX8
75509619U, // STBX
75509619U, // STBX8
20981567U, // STD
75509716U, // STDBRX
75506789U, // STDCX
25267722U, // STDU
29462584U, // STDUX
75509643U, // STDX
20981477U, // STFD
25267694U, // STFDU
29462570U, // STFDUX
75509631U, // STFDX
75509906U, // STFIWX
20982918U, // STFS
25267754U, // STFSU
29462612U, // STFSUX
75509767U, // STFSX
20981864U, // STH
20981864U, // STH8
75509731U, // STHBRX
25267735U, // STHU
25267735U, // STHU8
29462598U, // STHUX
29462598U, // STHUX8
75509664U, // STHX
75509664U, // STHX8
20983465U, // STMW
75509611U, // STVEBX
75509656U, // STVEHX
75509898U, // STVEWX
75509885U, // STVX
75508189U, // STVXL
20983551U, // STW
20983551U, // STW8
75509746U, // STWBRX
75506797U, // STWCX
25267769U, // STWU
25267769U, // STWU8
29462620U, // STWUX
29462620U, // STWUX8
75509914U, // STWX
75509914U, // STWX8
10160U, // SUBF
10160U, // SUBF8
8634U, // SUBF8o
9859U, // SUBFC
9859U, // SUBFC8
8433U, // SUBFC8o
8433U, // SUBFCo
10081U, // SUBFE
10081U, // SUBFE8
8576U, // SUBFE8o
8576U, // SUBFEo
536880799U, // SUBFIC
536880799U, // SUBFIC8
67118973U, // SUBFME
67118973U, // SUBFME8
67117456U, // SUBFME8o
67117456U, // SUBFMEo
67119010U, // SUBFZE
67119010U, // SUBFZE8
67117489U, // SUBFZE8o
67117489U, // SUBFZEo
8634U, // SUBFo
536881335U, // SUBI
536880778U, // SUBIC
536879353U, // SUBICo
536882405U, // SUBIS
140967U, // SYNC
157064U, // TAILB
157064U, // TAILB8
165194U, // TAILBA
165194U, // TAILBA8
5697U, // TAILBCTR
5697U, // TAILBCTR8
67405115U, // TCRETURNai
67405022U, // TCRETURNai8
67397304U, // TCRETURNdi
67396844U, // TCRETURNdi8
67382089U, // TCRETURNri
67380474U, // TCRETURNri8
83771U, // TD
536955147U, // TDI
2066287U, // TLBIE
141730U, // TLBIEL
5611U, // TLBSYNC
5671U, // TRAP
85746U, // TW
536955269U, // TWI
67118344U, // UPDATE_VRSAVE
12045U, // VADDCUW
10971U, // VADDFP
11278U, // VADDSBS
11446U, // VADDSHS
11628U, // VADDSWS
10763U, // VADDUBM
11306U, // VADDUBS
10812U, // VADDUHM
11474U, // VADDUHS
10893U, // VADDUWM
11655U, // VADDUWS
10018U, // VAND
9852U, // VANDC
9654U, // VAVGSB
10258U, // VAVGSH
11963U, // VAVGSW
9760U, // VAVGUB
10358U, // VAVGUH
12054U, // VAVGUW
377499642U, // VCFSX
402665466U, // VCFSX_0
377499711U, // VCFUX
402665535U, // VCFUX_0
10935U, // VCMPBFP
8922U, // VCMPBFPo
11034U, // VCMPEQFP
8943U, // VCMPEQFPo
9785U, // VCMPEQUB
8373U, // VCMPEQUBo
10383U, // VCMPEQUH
8667U, // VCMPEQUHo
12070U, // VCMPEQUW
9279U, // VCMPEQUWo
10988U, // VCMPGEFP
8932U, // VCMPGEFPo
11044U, // VCMPGTFP
8954U, // VCMPGTFPo
9707U, // VCMPGTSB
8354U, // VCMPGTSBo
10311U, // VCMPGTSH
8648U, // VCMPGTSHo
11989U, // VCMPGTSW
9260U, // VCMPGTSWo
9816U, // VCMPGTUB
8408U, // VCMPGTUBo
10393U, // VCMPGTUH
8678U, // VCMPGTUHo
12080U, // VCMPGTUW
9290U, // VCMPGTUWo
377499024U, // VCTSXS
402664848U, // VCTSXS_0
377499032U, // VCTUXS
402664856U, // VCTUXS_0
67119869U, // VEXPTEFP
67119843U, // VLOGEFP
10962U, // VMADDFP
11054U, // VMAXFP
9724U, // VMAXSB
10328U, // VMAXSH
12006U, // VMAXSW
9826U, // VMAXUB
10403U, // VMAXUH
12090U, // VMAXUW
11423U, // VMHADDSHS
11434U, // VMHRADDSHS
11026U, // VMINFP
9690U, // VMINSB
10294U, // VMINSH
11981U, // VMINSW
9768U, // VMINUB
10366U, // VMINUH
12062U, // VMINUW
10801U, // VMLADDUHM
9611U, // VMRGHB
10215U, // VMRGHH
11884U, // VMRGHW
9619U, // VMRGLB
10223U, // VMRGLH
11906U, // VMRGLW
10744U, // VMSUMMBM
10782U, // VMSUMSHM
11455U, // VMSUMSHS
10772U, // VMSUMUBM
10821U, // VMSUMUHM
11483U, // VMSUMUHS
9645U, // VMULESB
10249U, // VMULESH
9751U, // VMULEUB
10349U, // VMULEUH
9698U, // VMULOSB
10302U, // VMULOSH
9776U, // VMULOUB
10374U, // VMULOUH
10944U, // VNMSUBFP
11161U, // VNOR
11173U, // VOR
10859U, // VPERM
12207U, // VPKPX
11531U, // VPKSHSS
11566U, // VPKSHUS
11540U, // VPKSWSS
11584U, // VPKSWUS
10866U, // VPKUHUM
11575U, // VPKUHUS
10875U, // VPKUWUM
11593U, // VPKUWUS
67119862U, // VREFP
67119695U, // VRFIM
67119774U, // VRFIN
67119926U, // VRFIP
67121367U, // VRFIZ
9627U, // VRLB
10231U, // VRLH
11928U, // VRLW
67119879U, // VRSQRTEFP
10678U, // VSEL
10700U, // VSL
9633U, // VSLB
10535U, // VSLDOI
10237U, // VSLH
10923U, // VSLO
11934U, // VSLW
377497098U, // VSPLTB
377497696U, // VSPLTH
46147015U, // VSPLTISB
46147619U, // VSPLTISH
46149315U, // VSPLTISW
377499374U, // VSPLTW
11220U, // VSR
9604U, // VSRAB
10208U, // VSRAH
11877U, // VSRAW
9639U, // VSRB
10243U, // VSRH
10929U, // VSRO
11957U, // VSRW
12036U, // VSUBCUW
10954U, // VSUBFP
11269U, // VSUBSBS
11414U, // VSUBSHS
11619U, // VSUBSWS
10754U, // VSUBUBM
11297U, // VSUBUBS
10792U, // VSUBUHM
11465U, // VSUBUHS
10884U, // VSUBUWM
11646U, // VSUBUWS
11609U, // VSUM2SWS
11259U, // VSUM4SBS
11404U, // VSUM4SHS
11287U, // VSUM4UBS
11637U, // VSUMSWS
67121062U, // VUPKHPX
67118526U, // VUPKHSB
67119130U, // VUPKHSH
67121078U, // VUPKLPX
67118545U, // VUPKLSB
67119149U, // VUPKLSH
11185U, // VXOR
12594097U, // V_SET0
12594097U, // V_SET0B
12594097U, // V_SET0H
2109123U, // V_SETALLONES
2109123U, // V_SETALLONESB
2109123U, // V_SETALLONESH
142758U, // WAIT
11180U, // XOR
11180U, // XOR8
9008U, // XOR8o
1073752367U, // XORI
1073752367U, // XORI8
1073753336U, // XORIS
1073753336U, // XORIS8
9008U, // XORo
2684438122U, // gBC
3221308750U, // gBCA
84953U, // gBCCTR
84419U, // gBCCTRL
2684438926U, // gBCL
3221308765U, // gBCLA
84859U, // gBCLR
84412U, // gBCLRL
0U
};
static const uint8_t OpInfo2[] = {
0U, // PHI
0U, // INLINEASM
0U, // PROLOG_LABEL
0U, // EH_LABEL
0U, // GC_LABEL
0U, // KILL
0U, // EXTRACT_SUBREG
0U, // INSERT_SUBREG
0U, // IMPLICIT_DEF
0U, // SUBREG_TO_REG
0U, // COPY_TO_REGCLASS
0U, // DBG_VALUE
0U, // REG_SEQUENCE
0U, // COPY
0U, // BUNDLE
0U, // LIFETIME_START
0U, // LIFETIME_END
0U, // STACKMAP
0U, // PATCHPOINT
0U, // ADD4
0U, // ADD4TLS
0U, // ADD4o
0U, // ADD8
0U, // ADD8TLS
0U, // ADD8TLS_
0U, // ADD8o
0U, // ADDC
0U, // ADDC8
0U, // ADDC8o
0U, // ADDCo
0U, // ADDE
0U, // ADDE8
0U, // ADDE8o
0U, // ADDEo
0U, // ADDI
0U, // ADDI8
0U, // ADDIC
0U, // ADDIC8
0U, // ADDICo
0U, // ADDIS
0U, // ADDIS8
0U, // ADDISdtprelHA
0U, // ADDISgotTprelHA
0U, // ADDIStlsgdHA
0U, // ADDIStlsldHA
0U, // ADDIStocHA
0U, // ADDIdtprelL
0U, // ADDItlsgdL
0U, // ADDItlsldL
0U, // ADDItocL
0U, // ADDME
0U, // ADDME8
0U, // ADDME8o
0U, // ADDMEo
0U, // ADDZE
0U, // ADDZE8
0U, // ADDZE8o
0U, // ADDZEo
0U, // ADJCALLSTACKDOWN
0U, // ADJCALLSTACKUP
0U, // AND
0U, // AND8
0U, // AND8o
0U, // ANDC
0U, // ANDC8
0U, // ANDC8o
0U, // ANDCo
0U, // ANDISo
0U, // ANDISo8
0U, // ANDIo
0U, // ANDIo8
0U, // ANDo
0U, // ATOMIC_CMP_SWAP_I16
0U, // ATOMIC_CMP_SWAP_I32
0U, // ATOMIC_CMP_SWAP_I64
0U, // ATOMIC_CMP_SWAP_I8
0U, // ATOMIC_LOAD_ADD_I16
0U, // ATOMIC_LOAD_ADD_I32
0U, // ATOMIC_LOAD_ADD_I64
0U, // ATOMIC_LOAD_ADD_I8
0U, // ATOMIC_LOAD_AND_I16
0U, // ATOMIC_LOAD_AND_I32
0U, // ATOMIC_LOAD_AND_I64
0U, // ATOMIC_LOAD_AND_I8
0U, // ATOMIC_LOAD_NAND_I16
0U, // ATOMIC_LOAD_NAND_I32
0U, // ATOMIC_LOAD_NAND_I64
0U, // ATOMIC_LOAD_NAND_I8
0U, // ATOMIC_LOAD_OR_I16
0U, // ATOMIC_LOAD_OR_I32
0U, // ATOMIC_LOAD_OR_I64
0U, // ATOMIC_LOAD_OR_I8
0U, // ATOMIC_LOAD_SUB_I16
0U, // ATOMIC_LOAD_SUB_I32
0U, // ATOMIC_LOAD_SUB_I64
0U, // ATOMIC_LOAD_SUB_I8
0U, // ATOMIC_LOAD_XOR_I16
0U, // ATOMIC_LOAD_XOR_I32
0U, // ATOMIC_LOAD_XOR_I64
0U, // ATOMIC_LOAD_XOR_I8
0U, // ATOMIC_SWAP_I16
0U, // ATOMIC_SWAP_I32
0U, // ATOMIC_SWAP_I64
0U, // ATOMIC_SWAP_I8
0U, // B
0U, // BA
0U, // BCC
0U, // BCCA
0U, // BCCL
0U, // BCCLA
0U, // BCCTR
0U, // BCCTR8
0U, // BCCTRL
0U, // BCCTRL8
0U, // BCLR
0U, // BCLRL
0U, // BCLalways
0U, // BCTR
0U, // BCTR8
0U, // BCTRL
0U, // BCTRL8
0U, // BDNZ
0U, // BDNZ8
0U, // BDNZA
0U, // BDNZAm
0U, // BDNZAp
0U, // BDNZL
0U, // BDNZLA
0U, // BDNZLAm
0U, // BDNZLAp
0U, // BDNZLR
0U, // BDNZLR8
0U, // BDNZLRL
0U, // BDNZLRLm
0U, // BDNZLRLp
0U, // BDNZLRm
0U, // BDNZLRp
0U, // BDNZLm
0U, // BDNZLp
0U, // BDNZm
0U, // BDNZp
0U, // BDZ
0U, // BDZ8
0U, // BDZA
0U, // BDZAm
0U, // BDZAp
0U, // BDZL
0U, // BDZLA
0U, // BDZLAm
0U, // BDZLAp
0U, // BDZLR
0U, // BDZLR8
0U, // BDZLRL
0U, // BDZLRLm
0U, // BDZLRLp
0U, // BDZLRm
0U, // BDZLRp
0U, // BDZLm
0U, // BDZLp
0U, // BDZm
0U, // BDZp
0U, // BL
0U, // BL8
0U, // BL8_NOP
0U, // BL8_NOP_TLS
0U, // BL8_TLS
0U, // BL8_TLS_
0U, // BLA
0U, // BLA8
0U, // BLA8_NOP
0U, // BLR
0U, // BLRL
1U, // CLRLSLDI
1U, // CLRLSLDIo
3U, // CLRLSLWI
3U, // CLRLSLWIo
0U, // CLRRDI
0U, // CLRRDIo
0U, // CLRRWI
0U, // CLRRWIo
0U, // CMPD
0U, // CMPDI
0U, // CMPLD
0U, // CMPLDI
0U, // CMPLW
0U, // CMPLWI
0U, // CMPW
0U, // CMPWI
0U, // CNTLZD
0U, // CNTLZDo
0U, // CNTLZW
0U, // CNTLZWo
0U, // CR6SET
0U, // CR6UNSET
0U, // CRAND
0U, // CRANDC
0U, // CREQV
0U, // CRNAND
0U, // CRNOR
0U, // CROR
0U, // CRORC
0U, // CRSET
0U, // CRUNSET
0U, // CRXOR
0U, // DCBA
0U, // DCBF
0U, // DCBI
0U, // DCBST
0U, // DCBT
0U, // DCBTST
0U, // DCBZ
0U, // DCBZL
0U, // DIVD
0U, // DIVDU
0U, // DIVDUo
0U, // DIVDo
0U, // DIVW
0U, // DIVWU
0U, // DIVWUo
0U, // DIVWo
0U, // DSS
0U, // DSSALL
0U, // DST
0U, // DST64
0U, // DSTST
0U, // DSTST64
0U, // DSTSTT
0U, // DSTSTT64
0U, // DSTT
0U, // DSTT64
0U, // DYNALLOC
0U, // DYNALLOC8
0U, // EH_SjLj_LongJmp32
0U, // EH_SjLj_LongJmp64
0U, // EH_SjLj_SetJmp32
0U, // EH_SjLj_SetJmp64
0U, // EH_SjLj_Setup
0U, // EIEIO
0U, // EQV
0U, // EQV8
0U, // EQV8o
0U, // EQVo
1U, // EXTLDI
1U, // EXTLDIo
3U, // EXTLWI
3U, // EXTLWIo
1U, // EXTRDI
1U, // EXTRDIo
3U, // EXTRWI
3U, // EXTRWIo
0U, // EXTSB
0U, // EXTSB8
0U, // EXTSB8_32_64
0U, // EXTSB8o
0U, // EXTSBo
0U, // EXTSH
0U, // EXTSH8
0U, // EXTSH8_32_64
0U, // EXTSH8o
0U, // EXTSHo
0U, // EXTSW
0U, // EXTSW_32_64
0U, // EXTSW_32_64o
0U, // EXTSWo
0U, // FABSD
0U, // FABSDo
0U, // FABSS
0U, // FABSSo
0U, // FADD
0U, // FADDS
0U, // FADDSo
0U, // FADDo
0U, // FADDrtz
0U, // FCFID
0U, // FCFIDS
0U, // FCFIDSo
0U, // FCFIDU
0U, // FCFIDUS
0U, // FCFIDUSo
0U, // FCFIDUo
0U, // FCFIDo
0U, // FCMPUD
0U, // FCMPUS
0U, // FCPSGND
0U, // FCPSGNDo
0U, // FCPSGNS
0U, // FCPSGNSo
0U, // FCTID
0U, // FCTIDUZ
0U, // FCTIDUZo
0U, // FCTIDZ
0U, // FCTIDZo
0U, // FCTIDo
0U, // FCTIW
0U, // FCTIWUZ
0U, // FCTIWUZo
0U, // FCTIWZ
0U, // FCTIWZo
0U, // FCTIWo
0U, // FDIV
0U, // FDIVS
0U, // FDIVSo
0U, // FDIVo
5U, // FMADD
5U, // FMADDS
5U, // FMADDSo
5U, // FMADDo
0U, // FMR
0U, // FMRo
5U, // FMSUB
5U, // FMSUBS
5U, // FMSUBSo
5U, // FMSUBo
0U, // FMUL
0U, // FMULS
0U, // FMULSo
0U, // FMULo
0U, // FNABSD
0U, // FNABSDo
0U, // FNABSS
0U, // FNABSSo
0U, // FNEGD
0U, // FNEGDo
0U, // FNEGS
0U, // FNEGSo
5U, // FNMADD
5U, // FNMADDS
5U, // FNMADDSo
5U, // FNMADDo
5U, // FNMSUB
5U, // FNMSUBS
5U, // FNMSUBSo
5U, // FNMSUBo
0U, // FRE
0U, // FRES
0U, // FRESo
0U, // FREo
0U, // FRIMD
0U, // FRIMDo
0U, // FRIMS
0U, // FRIMSo
0U, // FRIND
0U, // FRINDo
0U, // FRINS
0U, // FRINSo
0U, // FRIPD
0U, // FRIPDo
0U, // FRIPS
0U, // FRIPSo
0U, // FRIZD
0U, // FRIZDo
0U, // FRIZS
0U, // FRIZSo
0U, // FRSP
0U, // FRSPo
0U, // FRSQRTE
0U, // FRSQRTES
0U, // FRSQRTESo
0U, // FRSQRTEo
5U, // FSELD
5U, // FSELDo
5U, // FSELS
5U, // FSELSo
0U, // FSQRT
0U, // FSQRTS
0U, // FSQRTSo
0U, // FSQRTo
0U, // FSUB
0U, // FSUBS
0U, // FSUBSo
0U, // FSUBo
0U, // GETtlsADDR
0U, // GETtlsldADDR
0U, // ICBI
3U, // INSLWI
3U, // INSLWIo
1U, // INSRDI
1U, // INSRDIo
3U, // INSRWI
3U, // INSRWIo
5U, // ISEL
5U, // ISEL8
0U, // ISYNC
0U, // LA
0U, // LAx
0U, // LBZ
0U, // LBZ8
0U, // LBZU
0U, // LBZU8
0U, // LBZUX
0U, // LBZUX8
0U, // LBZX
0U, // LBZX8
0U, // LD
0U, // LDARX
0U, // LDBRX
0U, // LDU
0U, // LDUX
0U, // LDX
0U, // LDgotTprelL
0U, // LDgotTprelL32
0U, // LDinto_toc
0U, // LDtoc
0U, // LDtocCPT
0U, // LDtocJTI
0U, // LDtocL
0U, // LDtoc_restore
0U, // LFD
0U, // LFDU
0U, // LFDUX
0U, // LFDX
0U, // LFIWAX
0U, // LFIWZX
0U, // LFS
0U, // LFSU
0U, // LFSUX
0U, // LFSX
0U, // LHA
0U, // LHA8
0U, // LHAU
0U, // LHAU8
0U, // LHAUX
0U, // LHAUX8
0U, // LHAX
0U, // LHAX8
0U, // LHBRX
0U, // LHZ
0U, // LHZ8
0U, // LHZU
0U, // LHZU8
0U, // LHZUX
0U, // LHZUX8
0U, // LHZX
0U, // LHZX8
0U, // LI
0U, // LI8
0U, // LIS
0U, // LIS8
0U, // LMW
0U, // LVEBX
0U, // LVEHX
0U, // LVEWX
0U, // LVSL
0U, // LVSR
0U, // LVX
0U, // LVXL
0U, // LWA
0U, // LWARX
0U, // LWAUX
0U, // LWAX
0U, // LWAX_32
0U, // LWA_32
0U, // LWBRX
0U, // LWZ
0U, // LWZ8
0U, // LWZU
0U, // LWZU8
0U, // LWZUX
0U, // LWZUX8
0U, // LWZX
0U, // LWZX8
0U, // MCRF
0U, // MFCR
0U, // MFCR8
0U, // MFCTR
0U, // MFCTR8
0U, // MFFS
0U, // MFLR
0U, // MFLR8
0U, // MFMSR
0U, // MFOCRF
0U, // MFOCRF8
0U, // MFSPR
0U, // MFTB
0U, // MFTB8
0U, // MFVRSAVE
0U, // MFVRSAVEv
0U, // MFVSCR
0U, // MTCRF
0U, // MTCRF8
0U, // MTCTR
0U, // MTCTR8
0U, // MTCTR8loop
0U, // MTCTRloop
0U, // MTFSB0
0U, // MTFSB1
0U, // MTFSF
0U, // MTLR
0U, // MTLR8
0U, // MTMSR
0U, // MTMSRD
0U, // MTOCRF
0U, // MTOCRF8
0U, // MTSPR
0U, // MTVRSAVE
0U, // MTVRSAVEv
0U, // MTVSCR
0U, // MULHD
0U, // MULHDU
0U, // MULHDUo
0U, // MULHDo
0U, // MULHW
0U, // MULHWU
0U, // MULHWUo
0U, // MULHWo
0U, // MULLD
0U, // MULLDo
0U, // MULLI
0U, // MULLI8
0U, // MULLW
0U, // MULLWo
0U, // MovePCtoLR
0U, // MovePCtoLR8
0U, // NAND
0U, // NAND8
0U, // NAND8o
0U, // NANDo
0U, // NEG
0U, // NEG8
0U, // NEG8o
0U, // NEGo
0U, // NOP
0U, // NOP_GT_PWR6
0U, // NOP_GT_PWR7
0U, // NOR
0U, // NOR8
0U, // NOR8o
0U, // NORo
0U, // OR
0U, // OR8
0U, // OR8o
0U, // ORC
0U, // ORC8
0U, // ORC8o
0U, // ORCo
0U, // ORI
0U, // ORI8
0U, // ORIS
0U, // ORIS8
0U, // ORo
0U, // POPCNTD
0U, // POPCNTW
0U, // PPC32GOT
0U, // RESTORE_CR
0U, // RESTORE_VRSAVE
1U, // RLDCL
1U, // RLDCLo
1U, // RLDCR
1U, // RLDCRo
1U, // RLDIC
1U, // RLDICL
1U, // RLDICL_32_64
1U, // RLDICLo
1U, // RLDICR
1U, // RLDICRo
1U, // RLDICo
0U, // RLDIMI
0U, // RLDIMIo
0U, // RLWIMI
0U, // RLWIMIo
11U, // RLWINM
11U, // RLWINM8
11U, // RLWINM8o
11U, // RLWINMo
11U, // RLWNM
11U, // RLWNMo
0U, // ROTRDI
0U, // ROTRDIo
0U, // ROTRWI
0U, // ROTRWIo
0U, // SC
0U, // SELECT_CC_F4
0U, // SELECT_CC_F8
0U, // SELECT_CC_I4
0U, // SELECT_CC_I8
0U, // SELECT_CC_VRRC
0U, // SLBIA
0U, // SLBIE
0U, // SLBMFEE
0U, // SLBMTE
0U, // SLD
0U, // SLDI
0U, // SLDIo
0U, // SLDo
0U, // SLW
0U, // SLWI
0U, // SLWIo
0U, // SLWo
0U, // SPILL_CR
0U, // SPILL_VRSAVE
0U, // SRAD
0U, // SRADI
0U, // SRADIo
0U, // SRADo
0U, // SRAW
0U, // SRAWI
0U, // SRAWIo
0U, // SRAWo
0U, // SRD
0U, // SRDI
0U, // SRDIo
0U, // SRDo
0U, // SRW
0U, // SRWI
0U, // SRWIo
0U, // SRWo
0U, // STB
0U, // STB8
0U, // STBU
0U, // STBU8
0U, // STBUX
0U, // STBUX8
0U, // STBX
0U, // STBX8
0U, // STD
0U, // STDBRX
0U, // STDCX
0U, // STDU
0U, // STDUX
0U, // STDX
0U, // STFD
0U, // STFDU
0U, // STFDUX
0U, // STFDX
0U, // STFIWX
0U, // STFS
0U, // STFSU
0U, // STFSUX
0U, // STFSX
0U, // STH
0U, // STH8
0U, // STHBRX
0U, // STHU
0U, // STHU8
0U, // STHUX
0U, // STHUX8
0U, // STHX
0U, // STHX8
0U, // STMW
0U, // STVEBX
0U, // STVEHX
0U, // STVEWX
0U, // STVX
0U, // STVXL
0U, // STW
0U, // STW8
0U, // STWBRX
0U, // STWCX
0U, // STWU
0U, // STWU8
0U, // STWUX
0U, // STWUX8
0U, // STWX
0U, // STWX8
0U, // SUBF
0U, // SUBF8
0U, // SUBF8o
0U, // SUBFC
0U, // SUBFC8
0U, // SUBFC8o
0U, // SUBFCo
0U, // SUBFE
0U, // SUBFE8
0U, // SUBFE8o
0U, // SUBFEo
0U, // SUBFIC
0U, // SUBFIC8
0U, // SUBFME
0U, // SUBFME8
0U, // SUBFME8o
0U, // SUBFMEo
0U, // SUBFZE
0U, // SUBFZE8
0U, // SUBFZE8o
0U, // SUBFZEo
0U, // SUBFo
0U, // SUBI
0U, // SUBIC
0U, // SUBICo
0U, // SUBIS
0U, // SYNC
0U, // TAILB
0U, // TAILB8
0U, // TAILBA
0U, // TAILBA8
0U, // TAILBCTR
0U, // TAILBCTR8
0U, // TCRETURNai
0U, // TCRETURNai8
0U, // TCRETURNdi
0U, // TCRETURNdi8
0U, // TCRETURNri
0U, // TCRETURNri8
0U, // TD
0U, // TDI
0U, // TLBIE
0U, // TLBIEL
0U, // TLBSYNC
0U, // TRAP
0U, // TW
0U, // TWI
0U, // UPDATE_VRSAVE
0U, // VADDCUW
0U, // VADDFP
0U, // VADDSBS
0U, // VADDSHS
0U, // VADDSWS
0U, // VADDUBM
0U, // VADDUBS
0U, // VADDUHM
0U, // VADDUHS
0U, // VADDUWM
0U, // VADDUWS
0U, // VAND
0U, // VANDC
0U, // VAVGSB
0U, // VAVGSH
0U, // VAVGSW
0U, // VAVGUB
0U, // VAVGUH
0U, // VAVGUW
0U, // VCFSX
0U, // VCFSX_0
0U, // VCFUX
0U, // VCFUX_0
0U, // VCMPBFP
0U, // VCMPBFPo
0U, // VCMPEQFP
0U, // VCMPEQFPo
0U, // VCMPEQUB
0U, // VCMPEQUBo
0U, // VCMPEQUH
0U, // VCMPEQUHo
0U, // VCMPEQUW
0U, // VCMPEQUWo
0U, // VCMPGEFP
0U, // VCMPGEFPo
0U, // VCMPGTFP
0U, // VCMPGTFPo
0U, // VCMPGTSB
0U, // VCMPGTSBo
0U, // VCMPGTSH
0U, // VCMPGTSHo
0U, // VCMPGTSW
0U, // VCMPGTSWo
0U, // VCMPGTUB
0U, // VCMPGTUBo
0U, // VCMPGTUH
0U, // VCMPGTUHo
0U, // VCMPGTUW
0U, // VCMPGTUWo
0U, // VCTSXS
0U, // VCTSXS_0
0U, // VCTUXS
0U, // VCTUXS_0
0U, // VEXPTEFP
0U, // VLOGEFP
5U, // VMADDFP
0U, // VMAXFP
0U, // VMAXSB
0U, // VMAXSH
0U, // VMAXSW
0U, // VMAXUB
0U, // VMAXUH
0U, // VMAXUW
5U, // VMHADDSHS
5U, // VMHRADDSHS
0U, // VMINFP
0U, // VMINSB
0U, // VMINSH
0U, // VMINSW
0U, // VMINUB
0U, // VMINUH
0U, // VMINUW
5U, // VMLADDUHM
0U, // VMRGHB
0U, // VMRGHH
0U, // VMRGHW
0U, // VMRGLB
0U, // VMRGLH
0U, // VMRGLW
5U, // VMSUMMBM
5U, // VMSUMSHM
5U, // VMSUMSHS
5U, // VMSUMUBM
5U, // VMSUMUHM
5U, // VMSUMUHS
0U, // VMULESB
0U, // VMULESH
0U, // VMULEUB
0U, // VMULEUH
0U, // VMULOSB
0U, // VMULOSH
0U, // VMULOUB
0U, // VMULOUH
5U, // VNMSUBFP
0U, // VNOR
0U, // VOR
5U, // VPERM
0U, // VPKPX
0U, // VPKSHSS
0U, // VPKSHUS
0U, // VPKSWSS
0U, // VPKSWUS
0U, // VPKUHUM
0U, // VPKUHUS
0U, // VPKUWUM
0U, // VPKUWUS
0U, // VREFP
0U, // VRFIM
0U, // VRFIN
0U, // VRFIP
0U, // VRFIZ
0U, // VRLB
0U, // VRLH
0U, // VRLW
0U, // VRSQRTEFP
5U, // VSEL
0U, // VSL
0U, // VSLB
3U, // VSLDOI
0U, // VSLH
0U, // VSLO
0U, // VSLW
0U, // VSPLTB
0U, // VSPLTH
0U, // VSPLTISB
0U, // VSPLTISH
0U, // VSPLTISW
0U, // VSPLTW
0U, // VSR
0U, // VSRAB
0U, // VSRAH
0U, // VSRAW
0U, // VSRB
0U, // VSRH
0U, // VSRO
0U, // VSRW
0U, // VSUBCUW
0U, // VSUBFP
0U, // VSUBSBS
0U, // VSUBSHS
0U, // VSUBSWS
0U, // VSUBUBM
0U, // VSUBUBS
0U, // VSUBUHM
0U, // VSUBUHS
0U, // VSUBUWM
0U, // VSUBUWS
0U, // VSUM2SWS
0U, // VSUM4SBS
0U, // VSUM4SHS
0U, // VSUM4UBS
0U, // VSUMSWS
0U, // VUPKHPX
0U, // VUPKHSB
0U, // VUPKHSH
0U, // VUPKLPX
0U, // VUPKLSB
0U, // VUPKLSH
0U, // VXOR
0U, // V_SET0
0U, // V_SET0B
0U, // V_SET0H
0U, // V_SETALLONES
0U, // V_SETALLONESB
0U, // V_SETALLONESH
0U, // WAIT
0U, // XOR
0U, // XOR8
0U, // XOR8o
0U, // XORI
0U, // XORI8
0U, // XORIS
0U, // XORIS8
0U, // XORo
0U, // gBC
0U, // gBCA
0U, // gBCCTR
0U, // gBCCTRL
0U, // gBCL
0U, // gBCLA
0U, // gBCLR
0U, // gBCLRL
0U
};
const char AsmStrs[] = {
/* 0 */ '#', 'E', 'H', '_', 'S', 'j', 'L', 'j', '_', 'S', 'e', 't', 'u', 'p', 9, 0,
/* 16 */ 'b', 'd', 'z', 'l', 'a', '+', 32, 0,
/* 24 */ 'b', 'd', 'n', 'z', 'l', 'a', '+', 32, 0,
/* 33 */ 'b', 'd', 'z', 'a', '+', 32, 0,
/* 40 */ 'b', 'd', 'n', 'z', 'a', '+', 32, 0,
/* 48 */ 'b', 'd', 'z', 'l', '+', 32, 0,
/* 55 */ 'b', 'd', 'n', 'z', 'l', '+', 32, 0,
/* 63 */ 'b', 'd', 'z', '+', 32, 0,
/* 69 */ 'b', 'd', 'n', 'z', '+', 32, 0,
/* 76 */ 'b', 'c', 'l', 32, '2', '0', ',', 32, '3', '1', ',', 32, 0,
/* 89 */ 'm', 't', 's', 'p', 'r', 32, '2', '5', '6', ',', 32, 0,
/* 101 */ 'b', 'd', 'z', 'l', 'a', '-', 32, 0,
/* 109 */ 'b', 'd', 'n', 'z', 'l', 'a', '-', 32, 0,
/* 118 */ 'b', 'd', 'z', 'a', '-', 32, 0,
/* 125 */ 'b', 'd', 'n', 'z', 'a', '-', 32, 0,
/* 133 */ 'b', 'd', 'z', 'l', '-', 32, 0,
/* 140 */ 'b', 'd', 'n', 'z', 'l', '-', 32, 0,
/* 148 */ 'b', 'd', 'z', '-', 32, 0,
/* 154 */ 'b', 'd', 'n', 'z', '-', 32, 0,
/* 161 */ 'v', 'c', 'm', 'p', 'g', 't', 's', 'b', '.', 32, 0,
/* 172 */ 'e', 'x', 't', 's', 'b', '.', 32, 0,
/* 180 */ 'v', 'c', 'm', 'p', 'e', 'q', 'u', 'b', '.', 32, 0,
/* 191 */ 'f', 's', 'u', 'b', '.', 32, 0,
/* 198 */ 'f', 'm', 's', 'u', 'b', '.', 32, 0,
/* 206 */ 'f', 'n', 'm', 's', 'u', 'b', '.', 32, 0,
/* 215 */ 'v', 'c', 'm', 'p', 'g', 't', 'u', 'b', '.', 32, 0,
/* 226 */ 'a', 'd', 'd', 'c', '.', 32, 0,
/* 233 */ 'a', 'n', 'd', 'c', '.', 32, 0,
/* 240 */ 's', 'u', 'b', 'f', 'c', '.', 32, 0,
/* 248 */ 's', 'u', 'b', 'i', 'c', '.', 32, 0,
/* 256 */ 'a', 'd', 'd', 'i', 'c', '.', 32, 0,
/* 264 */ 'r', 'l', 'd', 'i', 'c', '.', 32, 0,
/* 272 */ 'o', 'r', 'c', '.', 32, 0,
/* 278 */ 's', 'r', 'a', 'd', '.', 32, 0,
/* 285 */ 'f', 'a', 'd', 'd', '.', 32, 0,
/* 292 */ 'f', 'm', 'a', 'd', 'd', '.', 32, 0,
/* 300 */ 'f', 'n', 'm', 'a', 'd', 'd', '.', 32, 0,
/* 309 */ 'm', 'u', 'l', 'h', 'd', '.', 32, 0,
/* 317 */ 'f', 'c', 'f', 'i', 'd', '.', 32, 0,
/* 325 */ 'f', 'c', 't', 'i', 'd', '.', 32, 0,
/* 333 */ 'm', 'u', 'l', 'l', 'd', '.', 32, 0,
/* 341 */ 's', 'l', 'd', '.', 32, 0,
/* 347 */ 'n', 'a', 'n', 'd', '.', 32, 0,
/* 354 */ 's', 'r', 'd', '.', 32, 0,
/* 360 */ 'd', 'i', 'v', 'd', '.', 32, 0,
/* 367 */ 'c', 'n', 't', 'l', 'z', 'd', '.', 32, 0,
/* 376 */ 'a', 'd', 'd', 'e', '.', 32, 0,
/* 383 */ 's', 'u', 'b', 'f', 'e', '.', 32, 0,
/* 391 */ 'a', 'd', 'd', 'm', 'e', '.', 32, 0,
/* 399 */ 's', 'u', 'b', 'f', 'm', 'e', '.', 32, 0,
/* 408 */ 'f', 'r', 'e', '.', 32, 0,
/* 414 */ 'f', 'r', 's', 'q', 'r', 't', 'e', '.', 32, 0,
/* 424 */ 'a', 'd', 'd', 'z', 'e', '.', 32, 0,
/* 432 */ 's', 'u', 'b', 'f', 'z', 'e', '.', 32, 0,
/* 441 */ 's', 'u', 'b', 'f', '.', 32, 0,
/* 448 */ 'f', 'n', 'e', 'g', '.', 32, 0,
/* 455 */ 'v', 'c', 'm', 'p', 'g', 't', 's', 'h', '.', 32, 0,
/* 466 */ 'e', 'x', 't', 's', 'h', '.', 32, 0,
/* 474 */ 'v', 'c', 'm', 'p', 'e', 'q', 'u', 'h', '.', 32, 0,
/* 485 */ 'v', 'c', 'm', 'p', 'g', 't', 'u', 'h', '.', 32, 0,
/* 496 */ 's', 'r', 'a', 'd', 'i', '.', 32, 0,
/* 504 */ 'c', 'l', 'r', 'l', 's', 'l', 'd', 'i', '.', 32, 0,
/* 515 */ 'e', 'x', 't', 'l', 'd', 'i', '.', 32, 0,
/* 524 */ 'a', 'n', 'd', 'i', '.', 32, 0,
/* 531 */ 'c', 'l', 'r', 'r', 'd', 'i', '.', 32, 0,
/* 540 */ 'i', 'n', 's', 'r', 'd', 'i', '.', 32, 0,
/* 549 */ 'r', 'o', 't', 'r', 'd', 'i', '.', 32, 0,
/* 558 */ 'e', 'x', 't', 'r', 'd', 'i', '.', 32, 0,
/* 567 */ 'r', 'l', 'd', 'i', 'm', 'i', '.', 32, 0,
/* 576 */ 'r', 'l', 'w', 'i', 'm', 'i', '.', 32, 0,
/* 585 */ 's', 'r', 'a', 'w', 'i', '.', 32, 0,
/* 593 */ 'c', 'l', 'r', 'l', 's', 'l', 'w', 'i', '.', 32, 0,
/* 604 */ 'i', 'n', 's', 'l', 'w', 'i', '.', 32, 0,
/* 613 */ 'e', 'x', 't', 'l', 'w', 'i', '.', 32, 0,
/* 622 */ 'c', 'l', 'r', 'r', 'w', 'i', '.', 32, 0,
/* 631 */ 'i', 'n', 's', 'r', 'w', 'i', '.', 32, 0,
/* 640 */ 'r', 'o', 't', 'r', 'w', 'i', '.', 32, 0,
/* 649 */ 'e', 'x', 't', 'r', 'w', 'i', '.', 32, 0,
/* 658 */ 'r', 'l', 'd', 'c', 'l', '.', 32, 0,
/* 666 */ 'r', 'l', 'd', 'i', 'c', 'l', '.', 32, 0,
/* 675 */ 'f', 's', 'e', 'l', '.', 32, 0,
/* 682 */ 'f', 'm', 'u', 'l', '.', 32, 0,
/* 689 */ 'f', 'r', 'i', 'm', '.', 32, 0,
/* 696 */ 'r', 'l', 'w', 'i', 'n', 'm', '.', 32, 0,
/* 705 */ 'r', 'l', 'w', 'n', 'm', '.', 32, 0,
/* 713 */ 'f', 'c', 'p', 's', 'g', 'n', '.', 32, 0,
/* 722 */ 'f', 'r', 'i', 'n', '.', 32, 0,
/* 729 */ 'v', 'c', 'm', 'p', 'b', 'f', 'p', '.', 32, 0,
/* 739 */ 'v', 'c', 'm', 'p', 'g', 'e', 'f', 'p', '.', 32, 0,
/* 750 */ 'v', 'c', 'm', 'p', 'e', 'q', 'f', 'p', '.', 32, 0,
/* 761 */ 'v', 'c', 'm', 'p', 'g', 't', 'f', 'p', '.', 32, 0,
/* 772 */ 'f', 'r', 'i', 'p', '.', 32, 0,
/* 779 */ 'f', 'r', 's', 'p', '.', 32, 0,
/* 786 */ 'r', 'l', 'd', 'c', 'r', '.', 32, 0,
/* 794 */ 'r', 'l', 'd', 'i', 'c', 'r', '.', 32, 0,
/* 803 */ 'f', 'm', 'r', '.', 32, 0,
/* 809 */ 'n', 'o', 'r', '.', 32, 0,
/* 815 */ 'x', 'o', 'r', '.', 32, 0,
/* 821 */ 'f', 'a', 'b', 's', '.', 32, 0,
/* 828 */ 'f', 'n', 'a', 'b', 's', '.', 32, 0,
/* 836 */ 'f', 's', 'u', 'b', 's', '.', 32, 0,
/* 844 */ 'f', 'm', 's', 'u', 'b', 's', '.', 32, 0,
/* 853 */ 'f', 'n', 'm', 's', 'u', 'b', 's', '.', 32, 0,
/* 863 */ 'f', 'a', 'd', 'd', 's', '.', 32, 0,
/* 871 */ 'f', 'm', 'a', 'd', 'd', 's', '.', 32, 0,
/* 880 */ 'f', 'n', 'm', 'a', 'd', 'd', 's', '.', 32, 0,
/* 890 */ 'f', 'c', 'f', 'i', 'd', 's', '.', 32, 0,
/* 899 */ 'f', 'r', 'e', 's', '.', 32, 0,
/* 906 */ 'f', 'r', 's', 'q', 'r', 't', 'e', 's', '.', 32, 0,
/* 917 */ 'a', 'n', 'd', 'i', 's', '.', 32, 0,
/* 925 */ 'f', 'm', 'u', 'l', 's', '.', 32, 0,
/* 933 */ 'f', 's', 'q', 'r', 't', 's', '.', 32, 0,
/* 942 */ 'f', 'c', 'f', 'i', 'd', 'u', 's', '.', 32, 0,
/* 952 */ 'f', 'd', 'i', 'v', 's', '.', 32, 0,
/* 960 */ 'f', 's', 'q', 'r', 't', '.', 32, 0,
/* 968 */ 'm', 'u', 'l', 'h', 'd', 'u', '.', 32, 0,
/* 977 */ 'f', 'c', 'f', 'i', 'd', 'u', '.', 32, 0,
/* 986 */ 'd', 'i', 'v', 'd', 'u', '.', 32, 0,
/* 994 */ 'm', 'u', 'l', 'h', 'w', 'u', '.', 32, 0,
/* 1003 */ 'd', 'i', 'v', 'w', 'u', '.', 32, 0,
/* 1011 */ 'f', 'd', 'i', 'v', '.', 32, 0,
/* 1018 */ 'e', 'q', 'v', '.', 32, 0,
/* 1024 */ 's', 'r', 'a', 'w', '.', 32, 0,
/* 1031 */ 'm', 'u', 'l', 'h', 'w', '.', 32, 0,
/* 1039 */ 'f', 'c', 't', 'i', 'w', '.', 32, 0,
/* 1047 */ 'm', 'u', 'l', 'l', 'w', '.', 32, 0,
/* 1055 */ 's', 'l', 'w', '.', 32, 0,
/* 1061 */ 's', 'r', 'w', '.', 32, 0,
/* 1067 */ 'v', 'c', 'm', 'p', 'g', 't', 's', 'w', '.', 32, 0,
/* 1078 */ 'e', 'x', 't', 's', 'w', '.', 32, 0,
/* 1086 */ 'v', 'c', 'm', 'p', 'e', 'q', 'u', 'w', '.', 32, 0,
/* 1097 */ 'v', 'c', 'm', 'p', 'g', 't', 'u', 'w', '.', 32, 0,
/* 1108 */ 'd', 'i', 'v', 'w', '.', 32, 0,
/* 1115 */ 'c', 'n', 't', 'l', 'z', 'w', '.', 32, 0,
/* 1124 */ 's', 't', 'd', 'c', 'x', '.', 32, 0,
/* 1132 */ 's', 't', 'w', 'c', 'x', '.', 32, 0,
/* 1140 */ 'f', 'c', 't', 'i', 'd', 'z', '.', 32, 0,
/* 1149 */ 'f', 'r', 'i', 'z', '.', 32, 0,
/* 1156 */ 'f', 'c', 't', 'i', 'd', 'u', 'z', '.', 32, 0,
/* 1166 */ 'f', 'c', 't', 'i', 'w', 'u', 'z', '.', 32, 0,
/* 1176 */ 'f', 'c', 't', 'i', 'w', 'z', '.', 32, 0,
/* 1185 */ 'm', 't', 'f', 's', 'b', '0', 32, 0,
/* 1193 */ 'm', 't', 'f', 's', 'b', '1', 32, 0,
/* 1201 */ '#', 'A', 'T', 'O', 'M', 'I', 'C', '_', 'C', 'M', 'P', '_', 'S', 'W', 'A', 'P', '_', 'I', '3', '2', 32, 0,
/* 1223 */ '#', 'A', 'T', 'O', 'M', 'I', 'C', '_', 'C', 'M', 'P', '_', 'S', 'W', 'A', 'P', '_', 'I', '1', '6', 32, 0,
/* 1245 */ '#', 'T', 'C', '_', 'R', 'E', 'T', 'U', 'R', 'N', 'a', '8', 32, 0,
/* 1259 */ '#', 'T', 'C', '_', 'R', 'E', 'T', 'U', 'R', 'N', 'd', '8', 32, 0,
/* 1273 */ '#', 'T', 'C', '_', 'R', 'E', 'T', 'U', 'R', 'N', 'r', '8', 32, 0,
/* 1287 */ 'U', 'P', 'D', 'A', 'T', 'E', '_', 'V', 'R', 'S', 'A', 'V', 'E', 32, 0,
/* 1302 */ '#', 'A', 'D', 'J', 'C', 'A', 'L', 'L', 'S', 'T', 'A', 'C', 'K', 'D', 'O', 'W', 'N', 32, 0,
/* 1321 */ '#', 'A', 'D', 'J', 'C', 'A', 'L', 'L', 'S', 'T', 'A', 'C', 'K', 'U', 'P', 32, 0,
/* 1338 */ '#', 'T', 'C', '_', 'R', 'E', 'T', 'U', 'R', 'N', 'a', 32, 0,
/* 1351 */ 'd', 'c', 'b', 'a', 32, 0,
/* 1357 */ 'b', 'c', 'a', 32, 0,
/* 1362 */ 'l', 'h', 'a', 32, 0,
/* 1367 */ 'b', 'l', 'a', 32, 0,
/* 1372 */ 'b', 'c', 'l', 'a', 32, 0,
/* 1378 */ 'b', 'd', 'z', 'l', 'a', 32, 0,
/* 1385 */ 'b', 'd', 'n', 'z', 'l', 'a', 32, 0,
/* 1393 */ 'l', 'w', 'a', 32, 0,
/* 1398 */ 'b', 'd', 'z', 'a', 32, 0,
/* 1404 */ 'b', 'd', 'n', 'z', 'a', 32, 0,
/* 1411 */ 'v', 's', 'r', 'a', 'b', 32, 0,
/* 1418 */ 'v', 'm', 'r', 'g', 'h', 'b', 32, 0,
/* 1426 */ 'v', 'm', 'r', 'g', 'l', 'b', 32, 0,
/* 1434 */ 'v', 'r', 'l', 'b', 32, 0,
/* 1440 */ 'v', 's', 'l', 'b', 32, 0,
/* 1446 */ 'v', 's', 'r', 'b', 32, 0,
/* 1452 */ 'v', 'm', 'u', 'l', 'e', 's', 'b', 32, 0,
/* 1461 */ 'v', 'a', 'v', 'g', 's', 'b', 32, 0,
/* 1469 */ 'v', 'u', 'p', 'k', 'h', 's', 'b', 32, 0,
/* 1478 */ 'v', 's', 'p', 'l', 't', 'i', 's', 'b', 32, 0,
/* 1488 */ 'v', 'u', 'p', 'k', 'l', 's', 'b', 32, 0,
/* 1497 */ 'v', 'm', 'i', 'n', 's', 'b', 32, 0,
/* 1505 */ 'v', 'm', 'u', 'l', 'o', 's', 'b', 32, 0,
/* 1514 */ 'v', 'c', 'm', 'p', 'g', 't', 's', 'b', 32, 0,
/* 1524 */ 'e', 'x', 't', 's', 'b', 32, 0,
/* 1531 */ 'v', 'm', 'a', 'x', 's', 'b', 32, 0,
/* 1539 */ 'm', 'f', 't', 'b', 32, 0,
/* 1545 */ 'v', 's', 'p', 'l', 't', 'b', 32, 0,
/* 1553 */ 's', 't', 'b', 32, 0,
/* 1558 */ 'v', 'm', 'u', 'l', 'e', 'u', 'b', 32, 0,
/* 1567 */ 'v', 'a', 'v', 'g', 'u', 'b', 32, 0,
/* 1575 */ 'v', 'm', 'i', 'n', 'u', 'b', 32, 0,
/* 1583 */ 'v', 'm', 'u', 'l', 'o', 'u', 'b', 32, 0,
/* 1592 */ 'v', 'c', 'm', 'p', 'e', 'q', 'u', 'b', 32, 0,
/* 1602 */ 'f', 's', 'u', 'b', 32, 0,
/* 1608 */ 'f', 'm', 's', 'u', 'b', 32, 0,
/* 1615 */ 'f', 'n', 'm', 's', 'u', 'b', 32, 0,
/* 1623 */ 'v', 'c', 'm', 'p', 'g', 't', 'u', 'b', 32, 0,
/* 1633 */ 'v', 'm', 'a', 'x', 'u', 'b', 32, 0,
/* 1641 */ 'b', 'c', 32, 0,
/* 1645 */ 'a', 'd', 'd', 'c', 32, 0,
/* 1651 */ 'c', 'r', 'a', 'n', 'd', 'c', 32, 0,
/* 1659 */ 'v', 'a', 'n', 'd', 'c', 32, 0,
/* 1666 */ 's', 'u', 'b', 'f', 'c', 32, 0,
/* 1673 */ 's', 'u', 'b', 'i', 'c', 32, 0,
/* 1680 */ 'a', 'd', 'd', 'i', 'c', 32, 0,
/* 1687 */ 'r', 'l', 'd', 'i', 'c', 32, 0,
/* 1694 */ 's', 'u', 'b', 'f', 'i', 'c', 32, 0,
/* 1702 */ 's', 'y', 'n', 'c', 32, 0,
/* 1708 */ 'c', 'r', 'o', 'r', 'c', 32, 0,
/* 1715 */ 's', 'c', 32, 0,
/* 1719 */ '#', 'T', 'C', '_', 'R', 'E', 'T', 'U', 'R', 'N', 'd', 32, 0,
/* 1732 */ 's', 'r', 'a', 'd', 32, 0,
/* 1738 */ 'f', 'a', 'd', 'd', 32, 0,
/* 1744 */ 'f', 'm', 'a', 'd', 'd', 32, 0,
/* 1751 */ 'f', 'n', 'm', 'a', 'd', 'd', 32, 0,
/* 1759 */ 'l', 'f', 'd', 32, 0,
/* 1764 */ 's', 't', 'f', 'd', 32, 0,
/* 1770 */ 'm', 'u', 'l', 'h', 'd', 32, 0,
/* 1777 */ 'f', 'c', 'f', 'i', 'd', 32, 0,
/* 1784 */ 'f', 'c', 't', 'i', 'd', 32, 0,
/* 1791 */ 'm', 'u', 'l', 'l', 'd', 32, 0,
/* 1798 */ 'c', 'm', 'p', 'l', 'd', 32, 0,
/* 1805 */ 's', 'l', 'd', 32, 0,
/* 1810 */ 'c', 'r', 'n', 'a', 'n', 'd', 32, 0,
/* 1818 */ 'c', 'r', 'a', 'n', 'd', 32, 0,
/* 1825 */ 'v', 'a', 'n', 'd', 32, 0,
/* 1831 */ 'c', 'm', 'p', 'd', 32, 0,
/* 1837 */ 'm', 't', 'm', 's', 'r', 'd', 32, 0,
/* 1845 */ 'p', 'o', 'p', 'c', 'n', 't', 'd', 32, 0,
/* 1854 */ 's', 't', 'd', 32, 0,
/* 1859 */ 'd', 'i', 'v', 'd', 32, 0,
/* 1865 */ 'c', 'n', 't', 'l', 'z', 'd', 32, 0,
/* 1873 */ 'a', 'd', 'd', 'e', 32, 0,
/* 1879 */ 's', 'l', 'b', 'm', 'f', 'e', 'e', 32, 0,
/* 1888 */ 's', 'u', 'b', 'f', 'e', 32, 0,
/* 1895 */ 's', 'l', 'b', 'i', 'e', 32, 0,
/* 1902 */ 't', 'l', 'b', 'i', 'e', 32, 0,
/* 1909 */ 'a', 'd', 'd', 'm', 'e', 32, 0,
/* 1916 */ 's', 'u', 'b', 'f', 'm', 'e', 32, 0,
/* 1924 */ 'f', 'r', 'e', 32, 0,
/* 1929 */ 's', 'l', 'b', 'm', 't', 'e', 32, 0,
/* 1937 */ 'f', 'r', 's', 'q', 'r', 't', 'e', 32, 0,
/* 1946 */ 'a', 'd', 'd', 'z', 'e', 32, 0,
/* 1953 */ 's', 'u', 'b', 'f', 'z', 'e', 32, 0,
/* 1961 */ 'd', 'c', 'b', 'f', 32, 0,
/* 1967 */ 's', 'u', 'b', 'f', 32, 0,
/* 1973 */ 'm', 'c', 'r', 'f', 32, 0,
/* 1979 */ 'm', 'f', 'o', 'c', 'r', 'f', 32, 0,
/* 1987 */ 'm', 't', 'o', 'c', 'r', 'f', 32, 0,
/* 1995 */ 'm', 't', 'c', 'r', 'f', 32, 0,
/* 2002 */ 'm', 't', 'f', 's', 'f', 32, 0,
/* 2009 */ 'f', 'n', 'e', 'g', 32, 0,
/* 2015 */ 'v', 's', 'r', 'a', 'h', 32, 0,
/* 2022 */ 'v', 'm', 'r', 'g', 'h', 'h', 32, 0,
/* 2030 */ 'v', 'm', 'r', 'g', 'l', 'h', 32, 0,
/* 2038 */ 'v', 'r', 'l', 'h', 32, 0,
/* 2044 */ 'v', 's', 'l', 'h', 32, 0,
/* 2050 */ 'v', 's', 'r', 'h', 32, 0,
/* 2056 */ 'v', 'm', 'u', 'l', 'e', 's', 'h', 32, 0,
/* 2065 */ 'v', 'a', 'v', 'g', 's', 'h', 32, 0,
/* 2073 */ 'v', 'u', 'p', 'k', 'h', 's', 'h', 32, 0,
/* 2082 */ 'v', 's', 'p', 'l', 't', 'i', 's', 'h', 32, 0,
/* 2092 */ 'v', 'u', 'p', 'k', 'l', 's', 'h', 32, 0,
/* 2101 */ 'v', 'm', 'i', 'n', 's', 'h', 32, 0,
/* 2109 */ 'v', 'm', 'u', 'l', 'o', 's', 'h', 32, 0,
/* 2118 */ 'v', 'c', 'm', 'p', 'g', 't', 's', 'h', 32, 0,
/* 2128 */ 'e', 'x', 't', 's', 'h', 32, 0,
/* 2135 */ 'v', 'm', 'a', 'x', 's', 'h', 32, 0,
/* 2143 */ 'v', 's', 'p', 'l', 't', 'h', 32, 0,
/* 2151 */ 's', 't', 'h', 32, 0,
/* 2156 */ 'v', 'm', 'u', 'l', 'e', 'u', 'h', 32, 0,
/* 2165 */ 'v', 'a', 'v', 'g', 'u', 'h', 32, 0,
/* 2173 */ 'v', 'm', 'i', 'n', 'u', 'h', 32, 0,
/* 2181 */ 'v', 'm', 'u', 'l', 'o', 'u', 'h', 32, 0,
/* 2190 */ 'v', 'c', 'm', 'p', 'e', 'q', 'u', 'h', 32, 0,
/* 2200 */ 'v', 'c', 'm', 'p', 'g', 't', 'u', 'h', 32, 0,
/* 2210 */ 'v', 'm', 'a', 'x', 'u', 'h', 32, 0,
/* 2218 */ 'd', 'c', 'b', 'i', 32, 0,
/* 2224 */ 'i', 'c', 'b', 'i', 32, 0,
/* 2230 */ 's', 'u', 'b', 'i', 32, 0,
/* 2236 */ 's', 'r', 'a', 'd', 'i', 32, 0,
/* 2243 */ 'a', 'd', 'd', 'i', 32, 0,
/* 2249 */ 'c', 'm', 'p', 'l', 'd', 'i', 32, 0,
/* 2257 */ 'c', 'l', 'r', 'l', 's', 'l', 'd', 'i', 32, 0,
/* 2267 */ 'e', 'x', 't', 'l', 'd', 'i', 32, 0,
/* 2275 */ 'c', 'm', 'p', 'd', 'i', 32, 0,
/* 2282 */ 'c', 'l', 'r', 'r', 'd', 'i', 32, 0,
/* 2290 */ 'i', 'n', 's', 'r', 'd', 'i', 32, 0,
/* 2298 */ 'r', 'o', 't', 'r', 'd', 'i', 32, 0,
/* 2306 */ 'e', 'x', 't', 'r', 'd', 'i', 32, 0,
/* 2314 */ 't', 'd', 'i', 32, 0,
/* 2319 */ 'm', 'u', 'l', 'l', 'i', 32, 0,
/* 2326 */ 'r', 'l', 'd', 'i', 'm', 'i', 32, 0,
/* 2334 */ 'r', 'l', 'w', 'i', 'm', 'i', 32, 0,
/* 2342 */ 'v', 's', 'l', 'd', 'o', 'i', 32, 0,
/* 2350 */ 'x', 'o', 'r', 'i', 32, 0,
/* 2356 */ 's', 'r', 'a', 'w', 'i', 32, 0,
/* 2363 */ 'c', 'm', 'p', 'l', 'w', 'i', 32, 0,
/* 2371 */ 'c', 'l', 'r', 'l', 's', 'l', 'w', 'i', 32, 0,
/* 2381 */ 'i', 'n', 's', 'l', 'w', 'i', 32, 0,
/* 2389 */ 'e', 'x', 't', 'l', 'w', 'i', 32, 0,
/* 2397 */ 'c', 'm', 'p', 'w', 'i', 32, 0,
/* 2404 */ 'c', 'l', 'r', 'r', 'w', 'i', 32, 0,
/* 2412 */ 'i', 'n', 's', 'r', 'w', 'i', 32, 0,
/* 2420 */ 'r', 'o', 't', 'r', 'w', 'i', 32, 0,
/* 2428 */ 'e', 'x', 't', 'r', 'w', 'i', 32, 0,
/* 2436 */ 't', 'w', 'i', 32, 0,
/* 2441 */ 'b', 'l', 32, 0,
/* 2445 */ 'b', 'c', 'l', 32, 0,
/* 2450 */ 'r', 'l', 'd', 'c', 'l', 32, 0,
/* 2457 */ 'r', 'l', 'd', 'i', 'c', 'l', 32, 0,
/* 2465 */ 't', 'l', 'b', 'i', 'e', 'l', 32, 0,
/* 2473 */ 'f', 's', 'e', 'l', 32, 0,
/* 2479 */ 'i', 's', 'e', 'l', 32, 0,
/* 2485 */ 'v', 's', 'e', 'l', 32, 0,
/* 2491 */ 'b', 'c', 'l', 'r', 'l', 32, 0,
/* 2498 */ 'b', 'c', 'c', 't', 'r', 'l', 32, 0,
/* 2506 */ 'l', 'v', 's', 'l', 32, 0,
/* 2512 */ 'f', 'm', 'u', 'l', 32, 0,
/* 2518 */ 'l', 'v', 'x', 'l', 32, 0,
/* 2524 */ 's', 't', 'v', 'x', 'l', 32, 0,
/* 2531 */ 'd', 'c', 'b', 'z', 'l', 32, 0,
/* 2538 */ 'b', 'd', 'z', 'l', 32, 0,
/* 2544 */ 'b', 'd', 'n', 'z', 'l', 32, 0,
/* 2551 */ 'v', 'm', 's', 'u', 'm', 'm', 'b', 'm', 32, 0,
/* 2561 */ 'v', 's', 'u', 'b', 'u', 'b', 'm', 32, 0,
/* 2570 */ 'v', 'a', 'd', 'd', 'u', 'b', 'm', 32, 0,
/* 2579 */ 'v', 'm', 's', 'u', 'm', 'u', 'b', 'm', 32, 0,
/* 2589 */ 'v', 'm', 's', 'u', 'm', 's', 'h', 'm', 32, 0,
/* 2599 */ 'v', 's', 'u', 'b', 'u', 'h', 'm', 32, 0,
/* 2608 */ 'v', 'm', 'l', 'a', 'd', 'd', 'u', 'h', 'm', 32, 0,
/* 2619 */ 'v', 'a', 'd', 'd', 'u', 'h', 'm', 32, 0,
/* 2628 */ 'v', 'm', 's', 'u', 'm', 'u', 'h', 'm', 32, 0,
/* 2638 */ 'v', 'r', 'f', 'i', 'm', 32, 0,
/* 2645 */ 'f', 'r', 'i', 'm', 32, 0,
/* 2651 */ 'r', 'l', 'w', 'i', 'n', 'm', 32, 0,
/* 2659 */ 'r', 'l', 'w', 'n', 'm', 32, 0,
/* 2666 */ 'v', 'p', 'e', 'r', 'm', 32, 0,
/* 2673 */ 'v', 'p', 'k', 'u', 'h', 'u', 'm', 32, 0,
/* 2682 */ 'v', 'p', 'k', 'u', 'w', 'u', 'm', 32, 0,
/* 2691 */ 'v', 's', 'u', 'b', 'u', 'w', 'm', 32, 0,
/* 2700 */ 'v', 'a', 'd', 'd', 'u', 'w', 'm', 32, 0,
/* 2709 */ 'f', 'c', 'p', 's', 'g', 'n', 32, 0,
/* 2717 */ 'v', 'r', 'f', 'i', 'n', 32, 0,
/* 2724 */ 'f', 'r', 'i', 'n', 32, 0,
/* 2730 */ 'v', 's', 'l', 'o', 32, 0,
/* 2736 */ 'v', 's', 'r', 'o', 32, 0,
/* 2742 */ 'v', 'c', 'm', 'p', 'b', 'f', 'p', 32, 0,
/* 2751 */ 'v', 'n', 'm', 's', 'u', 'b', 'f', 'p', 32, 0,
/* 2761 */ 'v', 's', 'u', 'b', 'f', 'p', 32, 0,
/* 2769 */ 'v', 'm', 'a', 'd', 'd', 'f', 'p', 32, 0,
/* 2778 */ 'v', 'a', 'd', 'd', 'f', 'p', 32, 0,
/* 2786 */ 'v', 'l', 'o', 'g', 'e', 'f', 'p', 32, 0,
/* 2795 */ 'v', 'c', 'm', 'p', 'g', 'e', 'f', 'p', 32, 0,
/* 2805 */ 'v', 'r', 'e', 'f', 'p', 32, 0,
/* 2812 */ 'v', 'e', 'x', 'p', 't', 'e', 'f', 'p', 32, 0,
/* 2822 */ 'v', 'r', 's', 'q', 'r', 't', 'e', 'f', 'p', 32, 0,
/* 2833 */ 'v', 'm', 'i', 'n', 'f', 'p', 32, 0,
/* 2841 */ 'v', 'c', 'm', 'p', 'e', 'q', 'f', 'p', 32, 0,
/* 2851 */ 'v', 'c', 'm', 'p', 'g', 't', 'f', 'p', 32, 0,
/* 2861 */ 'v', 'm', 'a', 'x', 'f', 'p', 32, 0,
/* 2869 */ 'v', 'r', 'f', 'i', 'p', 32, 0,
/* 2876 */ 'f', 'r', 'i', 'p', 32, 0,
/* 2882 */ 'f', 'r', 's', 'p', 32, 0,
/* 2888 */ '#', 'T', 'C', '_', 'R', 'E', 'T', 'U', 'R', 'N', 'r', 32, 0,
/* 2901 */ 'r', 'l', 'd', 'c', 'r', 32, 0,
/* 2908 */ 'm', 'f', 'c', 'r', 32, 0,
/* 2914 */ 'r', 'l', 'd', 'i', 'c', 'r', 32, 0,
/* 2922 */ 'm', 'f', 'v', 's', 'c', 'r', 32, 0,
/* 2930 */ 'm', 't', 'v', 's', 'c', 'r', 32, 0,
/* 2938 */ 'b', 'c', 'l', 'r', 32, 0,
/* 2944 */ 'm', 'f', 'l', 'r', 32, 0,
/* 2950 */ 'm', 't', 'l', 'r', 32, 0,
/* 2956 */ 'f', 'm', 'r', 32, 0,
/* 2961 */ 'c', 'r', 'n', 'o', 'r', 32, 0,
/* 2968 */ 'v', 'n', 'o', 'r', 32, 0,
/* 2974 */ 'c', 'r', 'o', 'r', 32, 0,
/* 2980 */ 'v', 'o', 'r', 32, 0,
/* 2985 */ 'c', 'r', 'x', 'o', 'r', 32, 0,
/* 2992 */ 'v', 'x', 'o', 'r', 32, 0,
/* 2998 */ 'm', 'f', 's', 'p', 'r', 32, 0,
/* 3005 */ 'm', 't', 's', 'p', 'r', 32, 0,
/* 3012 */ 'm', 'f', 'm', 's', 'r', 32, 0,
/* 3019 */ 'm', 't', 'm', 's', 'r', 32, 0,
/* 3026 */ 'l', 'v', 's', 'r', 32, 0,
/* 3032 */ 'b', 'c', 'c', 't', 'r', 32, 0,
/* 3039 */ 'm', 'f', 'c', 't', 'r', 32, 0,
/* 3046 */ 'm', 't', 'c', 't', 'r', 32, 0,
/* 3053 */ 'f', 'a', 'b', 's', 32, 0,
/* 3059 */ 'f', 'n', 'a', 'b', 's', 32, 0,
/* 3066 */ 'v', 's', 'u', 'm', '4', 's', 'b', 's', 32, 0,
/* 3076 */ 'v', 's', 'u', 'b', 's', 'b', 's', 32, 0,
/* 3085 */ 'v', 'a', 'd', 'd', 's', 'b', 's', 32, 0,
/* 3094 */ 'v', 's', 'u', 'm', '4', 'u', 'b', 's', 32, 0,
/* 3104 */ 'v', 's', 'u', 'b', 'u', 'b', 's', 32, 0,
/* 3113 */ 'v', 'a', 'd', 'd', 'u', 'b', 's', 32, 0,
/* 3122 */ 'f', 's', 'u', 'b', 's', 32, 0,
/* 3129 */ 'f', 'm', 's', 'u', 'b', 's', 32, 0,
/* 3137 */ 'f', 'n', 'm', 's', 'u', 'b', 's', 32, 0,
/* 3146 */ 'f', 'a', 'd', 'd', 's', 32, 0,
/* 3153 */ 'f', 'm', 'a', 'd', 'd', 's', 32, 0,
/* 3161 */ 'f', 'n', 'm', 'a', 'd', 'd', 's', 32, 0,
/* 3170 */ 'f', 'c', 'f', 'i', 'd', 's', 32, 0,
/* 3178 */ 'f', 'r', 'e', 's', 32, 0,
/* 3184 */ 'f', 'r', 's', 'q', 'r', 't', 'e', 's', 32, 0,
/* 3194 */ 'm', 'f', 'f', 's', 32, 0,
/* 3200 */ 'l', 'f', 's', 32, 0,
/* 3205 */ 's', 't', 'f', 's', 32, 0,
/* 3211 */ 'v', 's', 'u', 'm', '4', 's', 'h', 's', 32, 0,
/* 3221 */ 'v', 's', 'u', 'b', 's', 'h', 's', 32, 0,
/* 3230 */ 'v', 'm', 'h', 'a', 'd', 'd', 's', 'h', 's', 32, 0,
/* 3241 */ 'v', 'm', 'h', 'r', 'a', 'd', 'd', 's', 'h', 's', 32, 0,
/* 3253 */ 'v', 'a', 'd', 'd', 's', 'h', 's', 32, 0,
/* 3262 */ 'v', 'm', 's', 'u', 'm', 's', 'h', 's', 32, 0,
/* 3272 */ 'v', 's', 'u', 'b', 'u', 'h', 's', 32, 0,
/* 3281 */ 'v', 'a', 'd', 'd', 'u', 'h', 's', 32, 0,
/* 3290 */ 'v', 'm', 's', 'u', 'm', 'u', 'h', 's', 32, 0,
/* 3300 */ 's', 'u', 'b', 'i', 's', 32, 0,
/* 3307 */ 'a', 'd', 'd', 'i', 's', 32, 0,
/* 3314 */ 'l', 'i', 's', 32, 0,
/* 3319 */ 'x', 'o', 'r', 'i', 's', 32, 0,
/* 3326 */ 'f', 'm', 'u', 'l', 's', 32, 0,
/* 3333 */ 'd', 's', 's', 32, 0,
/* 3338 */ 'v', 'p', 'k', 's', 'h', 's', 's', 32, 0,
/* 3347 */ 'v', 'p', 'k', 's', 'w', 's', 's', 32, 0,
/* 3356 */ 'f', 's', 'q', 'r', 't', 's', 32, 0,
/* 3364 */ 'f', 'c', 'f', 'i', 'd', 'u', 's', 32, 0,
/* 3373 */ 'v', 'p', 'k', 's', 'h', 'u', 's', 32, 0,
/* 3382 */ 'v', 'p', 'k', 'u', 'h', 'u', 's', 32, 0,
/* 3391 */ 'v', 'p', 'k', 's', 'w', 'u', 's', 32, 0,
/* 3400 */ 'v', 'p', 'k', 'u', 'w', 'u', 's', 32, 0,
/* 3409 */ 'f', 'd', 'i', 'v', 's', 32, 0,
/* 3416 */ 'v', 's', 'u', 'm', '2', 's', 'w', 's', 32, 0,
/* 3426 */ 'v', 's', 'u', 'b', 's', 'w', 's', 32, 0,
/* 3435 */ 'v', 'a', 'd', 'd', 's', 'w', 's', 32, 0,
/* 3444 */ 'v', 's', 'u', 'm', 's', 'w', 's', 32, 0,
/* 3453 */ 'v', 's', 'u', 'b', 'u', 'w', 's', 32, 0,
/* 3462 */ 'v', 'a', 'd', 'd', 'u', 'w', 's', 32, 0,
/* 3471 */ 'v', 'c', 't', 's', 'x', 's', 32, 0,
/* 3479 */ 'v', 'c', 't', 'u', 'x', 's', 32, 0,
/* 3487 */ 'd', 'c', 'b', 't', 32, 0,
/* 3493 */ 'w', 'a', 'i', 't', 32, 0,
/* 3499 */ 'f', 's', 'q', 'r', 't', 32, 0,
/* 3506 */ 'd', 'c', 'b', 's', 't', 32, 0,
/* 3513 */ 'd', 's', 't', 32, 0,
/* 3518 */ 'd', 'c', 'b', 't', 's', 't', 32, 0,
/* 3526 */ 'd', 's', 't', 's', 't', 32, 0,
/* 3533 */ 'd', 's', 't', 't', 32, 0,
/* 3539 */ 'd', 's', 't', 's', 't', 't', 32, 0,
/* 3547 */ 'l', 'h', 'a', 'u', 32, 0,
/* 3553 */ 's', 't', 'b', 'u', 32, 0,
/* 3559 */ 'l', 'f', 'd', 'u', 32, 0,
/* 3565 */ 's', 't', 'f', 'd', 'u', 32, 0,
/* 3572 */ 'm', 'u', 'l', 'h', 'd', 'u', 32, 0,
/* 3580 */ 'f', 'c', 'f', 'i', 'd', 'u', 32, 0,
/* 3588 */ 'l', 'd', 'u', 32, 0,
/* 3593 */ 's', 't', 'd', 'u', 32, 0,
/* 3599 */ 'd', 'i', 'v', 'd', 'u', 32, 0,
/* 3606 */ 's', 't', 'h', 'u', 32, 0,
/* 3612 */ 'f', 'c', 'm', 'p', 'u', 32, 0,
/* 3619 */ 'l', 'f', 's', 'u', 32, 0,
/* 3625 */ 's', 't', 'f', 's', 'u', 32, 0,
/* 3632 */ 'm', 'u', 'l', 'h', 'w', 'u', 32, 0,
/* 3640 */ 's', 't', 'w', 'u', 32, 0,
/* 3646 */ 'd', 'i', 'v', 'w', 'u', 32, 0,
/* 3653 */ 'l', 'b', 'z', 'u', 32, 0,
/* 3659 */ 'l', 'h', 'z', 'u', 32, 0,
/* 3665 */ 'l', 'w', 'z', 'u', 32, 0,
/* 3671 */ 'f', 'd', 'i', 'v', 32, 0,
/* 3677 */ 'c', 'r', 'e', 'q', 'v', 32, 0,
/* 3684 */ 'v', 's', 'r', 'a', 'w', 32, 0,
/* 3691 */ 'v', 'm', 'r', 'g', 'h', 'w', 32, 0,
/* 3699 */ 'm', 'u', 'l', 'h', 'w', 32, 0,
/* 3706 */ 'f', 'c', 't', 'i', 'w', 32, 0,
/* 3713 */ 'v', 'm', 'r', 'g', 'l', 'w', 32, 0,
/* 3721 */ 'm', 'u', 'l', 'l', 'w', 32, 0,
/* 3728 */ 'c', 'm', 'p', 'l', 'w', 32, 0,
/* 3735 */ 'v', 'r', 'l', 'w', 32, 0,
/* 3741 */ 'v', 's', 'l', 'w', 32, 0,
/* 3747 */ 'l', 'm', 'w', 32, 0,
/* 3752 */ 's', 't', 'm', 'w', 32, 0,
/* 3758 */ 'c', 'm', 'p', 'w', 32, 0,
/* 3764 */ 'v', 's', 'r', 'w', 32, 0,
/* 3770 */ 'v', 'a', 'v', 'g', 's', 'w', 32, 0,
/* 3778 */ 'v', 's', 'p', 'l', 't', 'i', 's', 'w', 32, 0,
/* 3788 */ 'v', 'm', 'i', 'n', 's', 'w', 32, 0,
/* 3796 */ 'v', 'c', 'm', 'p', 'g', 't', 's', 'w', 32, 0,
/* 3806 */ 'e', 'x', 't', 's', 'w', 32, 0,
/* 3813 */ 'v', 'm', 'a', 'x', 's', 'w', 32, 0,
/* 3821 */ 'v', 's', 'p', 'l', 't', 'w', 32, 0,
/* 3829 */ 'p', 'o', 'p', 'c', 'n', 't', 'w', 32, 0,
/* 3838 */ 's', 't', 'w', 32, 0,
/* 3843 */ 'v', 's', 'u', 'b', 'c', 'u', 'w', 32, 0,
/* 3852 */ 'v', 'a', 'd', 'd', 'c', 'u', 'w', 32, 0,
/* 3861 */ 'v', 'a', 'v', 'g', 'u', 'w', 32, 0,
/* 3869 */ 'v', 'm', 'i', 'n', 'u', 'w', 32, 0,
/* 3877 */ 'v', 'c', 'm', 'p', 'e', 'q', 'u', 'w', 32, 0,
/* 3887 */ 'v', 'c', 'm', 'p', 'g', 't', 'u', 'w', 32, 0,
/* 3897 */ 'v', 'm', 'a', 'x', 'u', 'w', 32, 0,
/* 3905 */ 'd', 'i', 'v', 'w', 32, 0,
/* 3911 */ 'c', 'n', 't', 'l', 'z', 'w', 32, 0,
/* 3919 */ 'l', 'h', 'a', 'x', 32, 0,
/* 3925 */ 'l', 'f', 'i', 'w', 'a', 'x', 32, 0,
/* 3933 */ 'l', 'w', 'a', 'x', 32, 0,
/* 3939 */ 'l', 'v', 'e', 'b', 'x', 32, 0,
/* 3946 */ 's', 't', 'v', 'e', 'b', 'x', 32, 0,
/* 3954 */ 's', 't', 'b', 'x', 32, 0,
/* 3960 */ 'l', 'f', 'd', 'x', 32, 0,
/* 3966 */ 's', 't', 'f', 'd', 'x', 32, 0,
/* 3973 */ 'l', 'd', 'x', 32, 0,
/* 3978 */ 's', 't', 'd', 'x', 32, 0,
/* 3984 */ 'l', 'v', 'e', 'h', 'x', 32, 0,
/* 3991 */ 's', 't', 'v', 'e', 'h', 'x', 32, 0,
/* 3999 */ 's', 't', 'h', 'x', 32, 0,
/* 4005 */ 'v', 'u', 'p', 'k', 'h', 'p', 'x', 32, 0,
/* 4014 */ 'v', 'p', 'k', 'p', 'x', 32, 0,
/* 4021 */ 'v', 'u', 'p', 'k', 'l', 'p', 'x', 32, 0,
/* 4030 */ 'l', 'd', 'a', 'r', 'x', 32, 0,
/* 4037 */ 'l', 'w', 'a', 'r', 'x', 32, 0,
/* 4044 */ 'l', 'd', 'b', 'r', 'x', 32, 0,
/* 4051 */ 's', 't', 'd', 'b', 'r', 'x', 32, 0,
/* 4059 */ 'l', 'h', 'b', 'r', 'x', 32, 0,
/* 4066 */ 's', 't', 'h', 'b', 'r', 'x', 32, 0,
/* 4074 */ 'l', 'w', 'b', 'r', 'x', 32, 0,
/* 4081 */ 's', 't', 'w', 'b', 'r', 'x', 32, 0,
/* 4089 */ 'v', 'c', 'f', 's', 'x', 32, 0,
/* 4096 */ 'l', 'f', 's', 'x', 32, 0,
/* 4102 */ 's', 't', 'f', 's', 'x', 32, 0,
/* 4109 */ 'l', 'h', 'a', 'u', 'x', 32, 0,
/* 4116 */ 'l', 'w', 'a', 'u', 'x', 32, 0,
/* 4123 */ 's', 't', 'b', 'u', 'x', 32, 0,
/* 4130 */ 'l', 'f', 'd', 'u', 'x', 32, 0,
/* 4137 */ 's', 't', 'f', 'd', 'u', 'x', 32, 0,
/* 4145 */ 'l', 'd', 'u', 'x', 32, 0,
/* 4151 */ 's', 't', 'd', 'u', 'x', 32, 0,
/* 4158 */ 'v', 'c', 'f', 'u', 'x', 32, 0,
/* 4165 */ 's', 't', 'h', 'u', 'x', 32, 0,
/* 4172 */ 'l', 'f', 's', 'u', 'x', 32, 0,
/* 4179 */ 's', 't', 'f', 's', 'u', 'x', 32, 0,
/* 4187 */ 's', 't', 'w', 'u', 'x', 32, 0,
/* 4194 */ 'l', 'b', 'z', 'u', 'x', 32, 0,
/* 4201 */ 'l', 'h', 'z', 'u', 'x', 32, 0,
/* 4208 */ 'l', 'w', 'z', 'u', 'x', 32, 0,
/* 4215 */ 'l', 'v', 'x', 32, 0,
/* 4220 */ 's', 't', 'v', 'x', 32, 0,
/* 4226 */ 'l', 'v', 'e', 'w', 'x', 32, 0,
/* 4233 */ 's', 't', 'v', 'e', 'w', 'x', 32, 0,
/* 4241 */ 's', 't', 'f', 'i', 'w', 'x', 32, 0,
/* 4249 */ 's', 't', 'w', 'x', 32, 0,
/* 4255 */ 'l', 'b', 'z', 'x', 32, 0,
/* 4261 */ 'l', 'h', 'z', 'x', 32, 0,
/* 4267 */ 'l', 'f', 'i', 'w', 'z', 'x', 32, 0,
/* 4275 */ 'l', 'w', 'z', 'x', 32, 0,
/* 4281 */ 'd', 'c', 'b', 'z', 32, 0,
/* 4287 */ 'l', 'b', 'z', 32, 0,
/* 4292 */ 'b', 'd', 'z', 32, 0,
/* 4297 */ 'f', 'c', 't', 'i', 'd', 'z', 32, 0,
/* 4305 */ 'l', 'h', 'z', 32, 0,
/* 4310 */ 'v', 'r', 'f', 'i', 'z', 32, 0,
/* 4317 */ 'f', 'r', 'i', 'z', 32, 0,
/* 4323 */ 'b', 'd', 'n', 'z', 32, 0,
/* 4329 */ 'f', 'c', 't', 'i', 'd', 'u', 'z', 32, 0,
/* 4338 */ 'f', 'c', 't', 'i', 'w', 'u', 'z', 32, 0,
/* 4347 */ 'f', 'c', 't', 'i', 'w', 'z', 32, 0,
/* 4355 */ 'l', 'w', 'z', 32, 0,
/* 4360 */ 'l', 'd', 32, '2', ',', 32, '8', '(', 0,
/* 4369 */ 'l', 'd', 32, '2', ',', 32, '4', '0', '(', '1', ')', 0,
/* 4381 */ 'b', 'd', 'z', 'l', 'r', 'l', '+', 0,
/* 4389 */ 'b', 'd', 'n', 'z', 'l', 'r', 'l', '+', 0,
/* 4398 */ 'b', 'd', 'z', 'l', 'r', '+', 0,
/* 4405 */ 'b', 'd', 'n', 'z', 'l', 'r', '+', 0,
/* 4413 */ 'b', 'd', 'z', 'l', 'r', 'l', '-', 0,
/* 4421 */ 'b', 'd', 'n', 'z', 'l', 'r', 'l', '-', 0,
/* 4430 */ 'b', 'd', 'z', 'l', 'r', '-', 0,
/* 4437 */ 'b', 'd', 'n', 'z', 'l', 'r', '-', 0,
/* 4445 */ 'o', 'r', 'i', 32, '1', ',', 32, '1', ',', 32, '0', 0,
/* 4457 */ 'o', 'r', 'i', 32, '2', ',', 32, '2', ',', 32, '0', 0,
/* 4469 */ '#', 'A', 'T', 'O', 'M', 'I', 'C', '_', 'L', 'O', 'A', 'D', '_', 'S', 'U', 'B', '_', 'I', '3', '2', 0,
/* 4490 */ '#', 'A', 'T', 'O', 'M', 'I', 'C', '_', 'L', 'O', 'A', 'D', '_', 'A', 'D', 'D', '_', 'I', '3', '2', 0,
/* 4511 */ '#', 'A', 'T', 'O', 'M', 'I', 'C', '_', 'L', 'O', 'A', 'D', '_', 'N', 'A', 'N', 'D', '_', 'I', '3', '2', 0,
/* 4533 */ '#', 'A', 'T', 'O', 'M', 'I', 'C', '_', 'L', 'O', 'A', 'D', '_', 'A', 'N', 'D', '_', 'I', '3', '2', 0,
/* 4554 */ '#', 'A', 'T', 'O', 'M', 'I', 'C', '_', 'S', 'W', 'A', 'P', '_', 'I', '3', '2', 0,
/* 4571 */ '#', 'A', 'T', 'O', 'M', 'I', 'C', '_', 'L', 'O', 'A', 'D', '_', 'X', 'O', 'R', '_', 'I', '3', '2', 0,
/* 4592 */ '#', 'A', 'T', 'O', 'M', 'I', 'C', '_', 'L', 'O', 'A', 'D', '_', 'O', 'R', '_', 'I', '3', '2', 0,
/* 4612 */ '#', 'L', 'D', 'g', 'o', 't', 'T', 'p', 'r', 'e', 'l', 'L', '3', '2', 0,
/* 4627 */ '#', 'E', 'H', '_', 'S', 'J', 'L', 'J', '_', 'L', 'O', 'N', 'G', 'J', 'M', 'P', '3', '2', 0,
/* 4646 */ '#', 'E', 'H', '_', 'S', 'J', 'L', 'J', '_', 'S', 'E', 'T', 'J', 'M', 'P', '3', '2', 0,
/* 4664 */ '#', 'A', 'T', 'O', 'M', 'I', 'C', '_', 'L', 'O', 'A', 'D', '_', 'S', 'U', 'B', '_', 'I', '6', '4', 0,
/* 4685 */ '#', 'A', 'T', 'O', 'M', 'I', 'C', '_', 'L', 'O', 'A', 'D', '_', 'A', 'D', 'D', '_', 'I', '6', '4', 0,
/* 4706 */ '#', 'A', 'T', 'O', 'M', 'I', 'C', '_', 'L', 'O', 'A', 'D', '_', 'N', 'A', 'N', 'D', '_', 'I', '6', '4', 0,
/* 4728 */ '#', 'A', 'T', 'O', 'M', 'I', 'C', '_', 'S', 'W', 'A', 'P', '_', 'I', '6', '4', 0,
/* 4745 */ '#', 'A', 'T', 'O', 'M', 'I', 'C', '_', 'C', 'M', 'P', '_', 'S', 'W', 'A', 'P', '_', 'I', '6', '4', 0,
/* 4766 */ '#', 'A', 'T', 'O', 'M', 'I', 'C', '_', 'L', 'O', 'A', 'D', '_', 'X', 'O', 'R', '_', 'I', '6', '4', 0,
/* 4787 */ '#', 'A', 'T', 'O', 'M', 'I', 'C', '_', 'L', 'O', 'A', 'D', '_', 'O', 'R', '_', 'I', '6', '4', 0,
/* 4807 */ '#', 'E', 'H', '_', 'S', 'J', 'L', 'J', '_', 'L', 'O', 'N', 'G', 'J', 'M', 'P', '6', '4', 0,
/* 4826 */ '#', 'E', 'H', '_', 'S', 'J', 'L', 'J', '_', 'S', 'E', 'T', 'J', 'M', 'P', '6', '4', 0,
/* 4844 */ '#', 'A', 'T', 'O', 'M', 'I', 'C', '_', 'L', 'O', 'A', 'D', '_', 'A', 'N', 'D', '_', 'i', '6', '4', 0,
/* 4865 */ '#', 'S', 'E', 'L', 'E', 'C', 'T', '_', 'C', 'C', '_', 'F', '4', 0,
/* 4879 */ '#', 'S', 'E', 'L', 'E', 'C', 'T', '_', 'C', 'C', '_', 'I', '4', 0,
/* 4893 */ 'c', 'r', 'x', 'o', 'r', 32, '6', ',', 32, '6', ',', 32, '6', 0,
/* 4907 */ 'c', 'r', 'e', 'q', 'v', 32, '6', ',', 32, '6', ',', 32, '6', 0,
/* 4921 */ '#', 'A', 'T', 'O', 'M', 'I', 'C', '_', 'L', 'O', 'A', 'D', '_', 'S', 'U', 'B', '_', 'I', '1', '6', 0,
/* 4942 */ '#', 'A', 'T', 'O', 'M', 'I', 'C', '_', 'L', 'O', 'A', 'D', '_', 'A', 'D', 'D', '_', 'I', '1', '6', 0,
/* 4963 */ '#', 'A', 'T', 'O', 'M', 'I', 'C', '_', 'L', 'O', 'A', 'D', '_', 'N', 'A', 'N', 'D', '_', 'I', '1', '6', 0,
/* 4985 */ '#', 'A', 'T', 'O', 'M', 'I', 'C', '_', 'L', 'O', 'A', 'D', '_', 'A', 'N', 'D', '_', 'I', '1', '6', 0,
/* 5006 */ '#', 'A', 'T', 'O', 'M', 'I', 'C', '_', 'S', 'W', 'A', 'P', '_', 'I', '1', '6', 0,
/* 5023 */ '#', 'A', 'T', 'O', 'M', 'I', 'C', '_', 'L', 'O', 'A', 'D', '_', 'X', 'O', 'R', '_', 'I', '1', '6', 0,
/* 5044 */ '#', 'A', 'T', 'O', 'M', 'I', 'C', '_', 'L', 'O', 'A', 'D', '_', 'O', 'R', '_', 'I', '1', '6', 0,
/* 5064 */ '#', 'D', 'Y', 'N', 'A', 'L', 'L', 'O', 'C', '8', 0,
/* 5075 */ '#', 'S', 'E', 'L', 'E', 'C', 'T', '_', 'C', 'C', '_', 'F', '8', 0,
/* 5089 */ '#', 'A', 'T', 'O', 'M', 'I', 'C', '_', 'L', 'O', 'A', 'D', '_', 'S', 'U', 'B', '_', 'I', '8', 0,
/* 5109 */ '#', 'S', 'E', 'L', 'E', 'C', 'T', '_', 'C', 'C', '_', 'I', '8', 0,
/* 5123 */ '#', 'A', 'T', 'O', 'M', 'I', 'C', '_', 'L', 'O', 'A', 'D', '_', 'A', 'D', 'D', '_', 'I', '8', 0,
/* 5143 */ '#', 'A', 'T', 'O', 'M', 'I', 'C', '_', 'L', 'O', 'A', 'D', '_', 'N', 'A', 'N', 'D', '_', 'I', '8', 0,
/* 5164 */ '#', 'A', 'T', 'O', 'M', 'I', 'C', '_', 'L', 'O', 'A', 'D', '_', 'A', 'N', 'D', '_', 'I', '8', 0,
/* 5184 */ '#', 'A', 'T', 'O', 'M', 'I', 'C', '_', 'C', 'M', 'P', '_', 'S', 'W', 'A', 'P', '_', 'I', '8', 0,
/* 5204 */ 'A', 'T', 'O', 'M', 'I', 'C', '_', 'L', 'O', 'A', 'D', '_', 'X', 'O', 'R', '_', 'I', '8', 0,
/* 5223 */ '#', 'A', 'T', 'O', 'M', 'I', 'C', '_', 'L', 'O', 'A', 'D', '_', 'O', 'R', '_', 'I', '8', 0,
/* 5242 */ '#', 'M', 'o', 'v', 'e', 'P', 'C', 't', 'o', 'L', 'R', '8', 0,
/* 5255 */ '#', 'A', 'T', 'O', 'M', 'I', 'C', '_', 'S', 'W', 'A', 'P', '_', 'i', '8', 0,
/* 5271 */ '#', 'A', 'D', 'D', 'I', 'S', 't', 'o', 'c', 'H', 'A', 0,
/* 5283 */ '#', 'A', 'D', 'D', 'I', 'S', 't', 'l', 's', 'g', 'd', 'H', 'A', 0,
/* 5297 */ '#', 'A', 'D', 'D', 'I', 'S', 't', 'l', 's', 'l', 'd', 'H', 'A', 0,
/* 5311 */ '#', 'A', 'D', 'D', 'I', 'S', 'g', 'o', 't', 'T', 'p', 'r', 'e', 'l', 'H', 'A', 0,
/* 5328 */ '#', 'A', 'D', 'D', 'I', 'S', 'd', 't', 'p', 'r', 'e', 'l', 'H', 'A', 0,
/* 5343 */ '#', 'D', 'Y', 'N', 'A', 'L', 'L', 'O', 'C', 0,
/* 5353 */ '#', 'S', 'E', 'L', 'E', 'C', 'T', '_', 'C', 'C', '_', 'V', 'R', 'R', 'C', 0,
/* 5369 */ 'L', 'I', 'F', 'E', 'T', 'I', 'M', 'E', '_', 'E', 'N', 'D', 0,
/* 5382 */ 'B', 'U', 'N', 'D', 'L', 'E', 0,
/* 5389 */ 'D', 'B', 'G', '_', 'V', 'A', 'L', 'U', 'E', 0,
/* 5399 */ '#', 'R', 'E', 'S', 'T', 'O', 'R', 'E', '_', 'V', 'R', 'S', 'A', 'V', 'E', 0,
/* 5415 */ '#', 'S', 'P', 'I', 'L', 'L', '_', 'V', 'R', 'S', 'A', 'V', 'E', 0,
/* 5429 */ '#', 'L', 'D', 't', 'o', 'c', 'J', 'T', 'I', 0,
/* 5439 */ '#', 'L', 'D', 't', 'o', 'c', 'L', 0,
/* 5447 */ '#', 'A', 'D', 'D', 'I', 't', 'o', 'c', 'L', 0,
/* 5457 */ '#', 'A', 'D', 'D', 'I', 't', 'l', 's', 'g', 'd', 'L', 0,
/* 5469 */ '#', 'A', 'D', 'D', 'I', 't', 'l', 's', 'l', 'd', 'L', 0,
/* 5481 */ '#', 'L', 'D', 'g', 'o', 't', 'T', 'p', 'r', 'e', 'l', 'L', 0,
/* 5494 */ '#', 'A', 'D', 'D', 'I', 'd', 't', 'p', 'r', 'e', 'l', 'L', 0,
/* 5507 */ '#', 'R', 'E', 'S', 'T', 'O', 'R', 'E', '_', 'C', 'R', 0,
/* 5519 */ '#', 'S', 'P', 'I', 'L', 'L', '_', 'C', 'R', 0,
/* 5529 */ '#', 'G', 'E', 'T', 't', 'l', 's', 'l', 'd', 'A', 'D', 'D', 'R', 0,
/* 5543 */ '#', 'G', 'E', 'T', 't', 'l', 's', 'A', 'D', 'D', 'R', 0,
/* 5555 */ '#', 'M', 'o', 'v', 'e', 'P', 'C', 't', 'o', 'L', 'R', 0,
/* 5567 */ '#', 'P', 'P', 'C', '3', '2', 'G', 'O', 'T', 0,
/* 5577 */ '#', 'L', 'D', 't', 'o', 'c', 'C', 'P', 'T', 0,
/* 5587 */ 'L', 'I', 'F', 'E', 'T', 'I', 'M', 'E', '_', 'S', 'T', 'A', 'R', 'T', 0,
/* 5602 */ 's', 'l', 'b', 'i', 'a', 0,
/* 5608 */ 'b', 0,
/* 5610 */ 't', 'l', 'b', 's', 'y', 'n', 'c', 0,
/* 5618 */ 'i', 's', 'y', 'n', 'c', 0,
/* 5624 */ '#', 'L', 'D', 't', 'o', 'c', 0,
/* 5631 */ 'd', 's', 's', 'a', 'l', 'l', 0,
/* 5638 */ 'b', 'l', 'r', 'l', 0,
/* 5643 */ 'b', 'd', 'z', 'l', 'r', 'l', 0,
/* 5650 */ 'b', 'd', 'n', 'z', 'l', 'r', 'l', 0,
/* 5658 */ 'b', 'c', 't', 'r', 'l', 0,
/* 5664 */ 'e', 'i', 'e', 'i', 'o', 0,
/* 5670 */ 't', 'r', 'a', 'p', 0,
/* 5675 */ 'n', 'o', 'p', 0,
/* 5679 */ 'b', 'l', 'r', 0,
/* 5683 */ 'b', 'd', 'z', 'l', 'r', 0,
/* 5689 */ 'b', 'd', 'n', 'z', 'l', 'r', 0,
/* 5696 */ 'b', 'c', 't', 'r', 0,
};
// Emit the opcode for the instruction.
uint64_t Bits1 = OpInfo[MCInst_getOpcode(MI)];
uint64_t Bits2 = OpInfo2[MCInst_getOpcode(MI)];
uint64_t Bits = (Bits2 << 32) | Bits1;
//assert(Bits != 0 && "Cannot print this instruction.");
SStream_concat(O, "%s", AsmStrs+(Bits & 8191)-1);
// Fragment 0 encoded into 4 bits for 13 unique commands.
//printf("Frag-0: %"PRIu64"\n", (Bits >> 13) & 15);
switch ((Bits >> 13) & 15) {
default: // unreachable.
case 0:
// DBG_VALUE, BUNDLE, LIFETIME_START, LIFETIME_END, ADDISdtprelHA, ADDISg...
return;
break;
case 1:
// ADD4, ADD4TLS, ADD4o, ADD8, ADD8TLS, ADD8TLS_, ADD8o, ADDC, ADDC8, ADD...
printOperand(MI, 0, O);
break;
case 2:
// ADJCALLSTACKDOWN, ADJCALLSTACKUP
printU16ImmOperand(MI, 0, O);
break;
case 3:
// B, BCLalways, BDNZ, BDNZ8, BDNZL, BDNZLm, BDNZLp, BDNZm, BDNZp, BDZ, B...
printBranchOperand(MI, 0, O);
break;
case 4:
// BA, BDNZA, BDNZAm, BDNZAp, BDNZLA, BDNZLAm, BDNZLAp, BDZA, BDZAm, BDZA...
printAbsBranchOperand(MI, 0, O);
break;
case 5:
// BCC, BCCA, BCCL, BCCLA, BCCTR, BCCTR8, BCCTRL, BCCTRL8, BCLR, BCLRL
printPredicateOperand(MI, 0, O, "cc");
break;
case 6:
// BL8_NOP_TLS, BL8_TLS, BL8_TLS_
printTLSCall(MI, 0, O);
break;
case 7:
// DCBA, DCBF, DCBI, DCBST, DCBT, DCBTST, DCBZ, DCBZL, ICBI
printMemRegReg(MI, 0, O);
return;
break;
case 8:
// DSS
printU5ImmOperand(MI, 1, O);
return;
break;
case 9:
// DST, DST64, DSTST, DSTST64, DSTSTT, DSTSTT64, DSTT, DSTT64
printOperand(MI, 2, O);
SStream_concat(O, ", ");
printOperand(MI, 3, O);
SStream_concat(O, ", ");
printU5ImmOperand(MI, 1, O);
return;
break;
case 10:
// MTFSB0, MTFSB1, TD, TDI, TW, TWI, gBC, gBCA, gBCCTR, gBCCTRL, gBCL, gB...
printU5ImmOperand(MI, 0, O);
break;
case 11:
// MTOCRF, MTOCRF8
printcrbitm(MI, 0, O);
SStream_concat(O, ", ");
printOperand(MI, 1, O);
return;
break;
case 12:
// MTVRSAVEv, STBU, STBU8, STBUX, STBUX8, STDU, STDUX, STFDU, STFDUX, STF...
printOperand(MI, 1, O);
break;
}
// Fragment 1 encoded into 5 bits for 17 unique commands.
//printf("Frag-1: %"PRIu64"\n", (Bits >> 17) & 31);
switch ((Bits >> 17) & 31) {
default: // unreachable.
case 0:
// ADD4, ADD4TLS, ADD4o, ADD8, ADD8TLS, ADD8TLS_, ADD8o, ADDC, ADDC8, ADD...
SStream_concat(O, ", ");
break;
case 1:
// ADJCALLSTACKDOWN, B, BA, BCLalways, BDNZ, BDNZ8, BDNZA, BDNZAm, BDNZAp...
return;
break;
case 2:
// ADJCALLSTACKUP, ATOMIC_CMP_SWAP_I16, ATOMIC_CMP_SWAP_I32, TCRETURNai, ...
SStream_concat(O, " ");
break;
case 3:
// BCC
printPredicateOperand(MI, 0, O, "pm");
SStream_concat(O, " ");
printPredicateOperand(MI, 0, O, "reg");
SStream_concat(O, ", ");
printBranchOperand(MI, 2, O);
return;
break;
case 4:
// BCCA
SStream_concat(O, "a");
printPredicateOperand(MI, 0, O, "pm");
SStream_concat(O, " ");
printPredicateOperand(MI, 0, O, "reg");
SStream_concat(O, ", ");
printAbsBranchOperand(MI, 2, O);
return;
break;
case 5:
// BCCL
SStream_concat(O, "l");
printPredicateOperand(MI, 0, O, "pm");
SStream_concat(O, " ");
printPredicateOperand(MI, 0, O, "reg");
SStream_concat(O, ", ");
printBranchOperand(MI, 2, O);
return;
break;
case 6:
// BCCLA
SStream_concat(O, "la");
printPredicateOperand(MI, 0, O, "pm");
SStream_concat(O, " ");
printPredicateOperand(MI, 0, O, "reg");
SStream_concat(O, ", ");
printAbsBranchOperand(MI, 2, O);
return;
break;
case 7:
// BCCTR, BCCTR8
SStream_concat(O, "ctr");
printPredicateOperand(MI, 0, O, "pm");
SStream_concat(O, " ");
printPredicateOperand(MI, 0, O, "reg");
return;
break;
case 8:
// BCCTRL, BCCTRL8
SStream_concat(O, "ctrl");
printPredicateOperand(MI, 0, O, "pm");
SStream_concat(O, " ");
printPredicateOperand(MI, 0, O, "reg");
return;
break;
case 9:
// BCLR
SStream_concat(O, "lr");
printPredicateOperand(MI, 0, O, "pm");
SStream_concat(O, " ");
printPredicateOperand(MI, 0, O, "reg");
return;
break;
case 10:
// BCLRL
SStream_concat(O, "lrl");
printPredicateOperand(MI, 0, O, "pm");
SStream_concat(O, " ");
printPredicateOperand(MI, 0, O, "reg");
return;
break;
case 11:
// BL8_NOP, BL8_NOP_TLS, BLA8_NOP
SStream_concat(O, "\n\tnop");
return;
break;
case 12:
// LDinto_toc
SStream_concat(O, ")");
return;
break;
case 13:
// MFTB8
SStream_concat(O, ", 268");
return;
break;
case 14:
// MFVRSAVE, MFVRSAVEv
SStream_concat(O, ", 256");
return;
break;
case 15:
// TLBIE
SStream_concat(O, ",");
printOperand(MI, 0, O);
return;
break;
case 16:
// V_SETALLONES, V_SETALLONESB, V_SETALLONESH
SStream_concat(O, ", -1");
return;
break;
}
// Fragment 2 encoded into 4 bits for 12 unique commands.
//printf("Frag-2: %"PRIu64"\n", (Bits >> 22) & 15);
switch ((Bits >> 22) & 15) {
default: // unreachable.
case 0:
// ADD4, ADD4TLS, ADD4o, ADD8, ADD8TLS, ADD8TLS_, ADD8o, ADDC, ADDC8, ADD...
printOperand(MI, 1, O);
break;
case 1:
// ADJCALLSTACKUP
printU16ImmOperand(MI, 1, O);
return;
break;
case 2:
// ATOMIC_CMP_SWAP_I16, ATOMIC_CMP_SWAP_I32, LBZX, LBZX8, LDARX, LDBRX, L...
printMemRegReg(MI, 1, O);
break;
case 3:
// CRSET, CRUNSET, V_SET0, V_SET0B, V_SET0H
printOperand(MI, 0, O);
SStream_concat(O, ", ");
printOperand(MI, 0, O);
return;
break;
case 4:
// LA
printS16ImmOperand(MI, 2, O);
set_mem_access(MI, true);
SStream_concat(O, "(");
printOperand(MI, 1, O);
SStream_concat(O, ")");
set_mem_access(MI, false);
return;
break;
case 5:
// LAx, LBZ, LBZ8, LD, LFD, LFS, LHA, LHA8, LHZ, LHZ8, LMW, LWA, LWA_32, ...
printMemRegImm(MI, 1, O);
return;
break;
case 6:
// LBZU, LBZU8, LDU, LFDU, LFSU, LHAU, LHAU8, LHZU, LHZU8, LWZU, LWZU8, S...
printMemRegImm(MI, 2, O);
return;
break;
case 7:
// LBZUX, LBZUX8, LDUX, LFDUX, LFSUX, LHAUX, LHAUX8, LHZUX, LHZUX8, LWAUX...
printMemRegReg(MI, 2, O);
return;
break;
case 8:
// LI, LI8, LIS, LIS8
printS16ImmOperand(MI, 1, O);
return;
break;
case 9:
// MFOCRF, MFOCRF8
printcrbitm(MI, 1, O);
return;
break;
case 10:
// RLDIMI, RLDIMIo, RLWIMI, RLWIMIo, VCFSX, VCFUX, VCTSXS, VCTUXS, VSPLTB...
printOperand(MI, 2, O);
SStream_concat(O, ", ");
break;
case 11:
// VSPLTISB, VSPLTISH, VSPLTISW
printS5ImmOperand(MI, 1, O);
return;
break;
}
// Fragment 3 encoded into 3 bits for 7 unique commands.
//printf("Frag-3: %"PRIu64"\n", (Bits >> 26) & 7);
switch ((Bits >> 26) & 7) {
default: // unreachable.
case 0:
// ADD4, ADD4TLS, ADD4o, ADD8, ADD8TLS, ADD8TLS_, ADD8o, ADDC, ADDC8, ADD...
SStream_concat(O, ", ");
break;
case 1:
// ADDME, ADDME8, ADDME8o, ADDMEo, ADDZE, ADDZE8, ADDZE8o, ADDZEo, CNTLZD...
return;
break;
case 2:
// ATOMIC_CMP_SWAP_I16, ATOMIC_CMP_SWAP_I32
SStream_concat(O, " ");
printOperand(MI, 3, O);
SStream_concat(O, " ");
printOperand(MI, 4, O);
return;
break;
case 3:
// RLDIMI, RLDIMIo
printU6ImmOperand(MI, 3, O);
SStream_concat(O, ", ");
printU6ImmOperand(MI, 4, O);
return;
break;
case 4:
// RLWIMI, RLWIMIo
printU5ImmOperand(MI, 3, O);
SStream_concat(O, ", ");
printU5ImmOperand(MI, 4, O);
SStream_concat(O, ", ");
printU5ImmOperand(MI, 5, O);
return;
break;
case 5:
// VCFSX, VCFUX, VCTSXS, VCTUXS, VSPLTB, VSPLTH, VSPLTW
printU5ImmOperand(MI, 1, O);
return;
break;
case 6:
// VCFSX_0, VCFUX_0, VCTSXS_0, VCTUXS_0
SStream_concat(O, ", 0");
return;
break;
}
// Fragment 4 encoded into 3 bits for 7 unique commands.
//printf("Frag-4: %"PRIu64"\n", (Bits >> 29) & 7);
switch ((Bits >> 29) & 7) {
default: // unreachable.
case 0:
// ADD4, ADD4TLS, ADD4o, ADD8, ADD8TLS, ADD8TLS_, ADD8o, ADDC, ADDC8, ADD...
printOperand(MI, 2, O);
break;
case 1:
// ADDI, ADDI8, ADDIC, ADDIC8, ADDICo, ADDIS, ADDIS8, CMPDI, CMPWI, MULLI...
printS16ImmOperand(MI, 2, O);
return;
break;
case 2:
// ANDISo, ANDISo8, ANDIo, ANDIo8, CMPLDI, CMPLWI, ORI, ORI8, ORIS, ORIS8...
printU16ImmOperand(MI, 2, O);
return;
break;
case 3:
// CLRLSLDI, CLRLSLDIo, CLRRDI, CLRRDIo, EXTLDI, EXTLDIo, EXTRDI, EXTRDIo...
printU6ImmOperand(MI, 2, O);
break;
case 4:
// CLRLSLWI, CLRLSLWIo, CLRRWI, CLRRWIo, EXTLWI, EXTLWIo, EXTRWI, EXTRWIo...
printU5ImmOperand(MI, 2, O);
break;
case 5:
// gBC, gBCL
printBranchOperand(MI, 2, O);
return;
break;
case 6:
// gBCA, gBCLA
printAbsBranchOperand(MI, 2, O);
return;
break;
}
// Fragment 5 encoded into 1 bits for 2 unique commands.
//printf("Frag-5: %"PRIu64"\n", (Bits >> 32) & 1);
if ((Bits >> 32) & 1) {
// CLRLSLDI, CLRLSLDIo, CLRLSLWI, CLRLSLWIo, EXTLDI, EXTLDIo, EXTLWI, EXT...
SStream_concat(O, ", ");
} else {
// ADD4, ADD4TLS, ADD4o, ADD8, ADD8TLS, ADD8TLS_, ADD8o, ADDC, ADDC8, ADD...
return;
}
// Fragment 6 encoded into 2 bits for 3 unique commands.
//printf("Frag-6: %"PRIu64"\n", (Bits >> 33) & 3);
switch ((Bits >> 33) & 3) {
default: // unreachable.
case 0:
// CLRLSLDI, CLRLSLDIo, EXTLDI, EXTLDIo, EXTRDI, EXTRDIo, INSRDI, INSRDIo...
printU6ImmOperand(MI, 3, O);
return;
break;
case 1:
// CLRLSLWI, CLRLSLWIo, EXTLWI, EXTLWIo, EXTRWI, EXTRWIo, INSLWI, INSLWIo...
printU5ImmOperand(MI, 3, O);
break;
case 2:
// FMADD, FMADDS, FMADDSo, FMADDo, FMSUB, FMSUBS, FMSUBSo, FMSUBo, FNMADD...
printOperand(MI, 3, O);
return;
break;
}
// Fragment 7 encoded into 1 bits for 2 unique commands.
//printf("Frag-7: %"PRIu64"\n", (Bits >> 35) & 1);
if ((Bits >> 35) & 1) {
// RLWINM, RLWINM8, RLWINM8o, RLWINMo, RLWNM, RLWNMo
SStream_concat(O, ", ");
printU5ImmOperand(MI, 4, O);
return;
} else {
// CLRLSLWI, CLRLSLWIo, EXTLWI, EXTLWIo, EXTRWI, EXTRWIo, INSLWI, INSLWIo...
return;
}
}
/// getRegisterName - This method is automatically generated by tblgen
/// from the register set description. This returns the assembler name
/// for the specified register.
static const char *getRegisterName(unsigned RegNo)
{
//assert(RegNo && RegNo < 182 && "Invalid register number!");
static const char AsmStrs[] = {
/* 0 */ '*', '*', 'R', 'O', 'U', 'N', 'D', 'I', 'N', 'G', 32, 'M', 'O', 'D', 'E', '*', '*', 0,
/* 18 */ '*', '*', 'F', 'R', 'A', 'M', 'E', 32, 'P', 'O', 'I', 'N', 'T', 'E', 'R', '*', '*', 0,
/* 36 */ '*', '*', 'B', 'A', 'S', 'E', 32, 'P', 'O', 'I', 'N', 'T', 'E', 'R', '*', '*', 0,
/* 53 */ 'f', '1', '0', 0,
/* 57 */ 'r', '1', '0', 0,
/* 61 */ 'v', '1', '0', 0,
/* 65 */ 'f', '2', '0', 0,
/* 69 */ 'r', '2', '0', 0,
/* 73 */ 'v', '2', '0', 0,
/* 77 */ 'f', '3', '0', 0,
/* 81 */ 'r', '3', '0', 0,
/* 85 */ 'v', '3', '0', 0,
/* 89 */ 'f', '0', 0,
/* 92 */ 'c', 'r', '0', 0,
/* 96 */ 'v', '0', 0,
/* 99 */ 'f', '1', '1', 0,
/* 103 */ 'r', '1', '1', 0,
/* 107 */ 'v', '1', '1', 0,
/* 111 */ 'f', '2', '1', 0,
/* 115 */ 'r', '2', '1', 0,
/* 119 */ 'v', '2', '1', 0,
/* 123 */ 'f', '3', '1', 0,
/* 127 */ 'r', '3', '1', 0,
/* 131 */ 'v', '3', '1', 0,
/* 135 */ 'f', '1', 0,
/* 138 */ 'c', 'r', '1', 0,
/* 142 */ 'v', '1', 0,
/* 145 */ 'f', '1', '2', 0,
/* 149 */ 'r', '1', '2', 0,
/* 153 */ 'v', '1', '2', 0,
/* 157 */ 'f', '2', '2', 0,
/* 161 */ 'r', '2', '2', 0,
/* 165 */ 'v', '2', '2', 0,
/* 169 */ 'f', '2', 0,
/* 172 */ 'c', 'r', '2', 0,
/* 176 */ 'v', '2', 0,
/* 179 */ 'f', '1', '3', 0,
/* 183 */ 'r', '1', '3', 0,
/* 187 */ 'v', '1', '3', 0,
/* 191 */ 'f', '2', '3', 0,
/* 195 */ 'r', '2', '3', 0,
/* 199 */ 'v', '2', '3', 0,
/* 203 */ 'f', '3', 0,
/* 206 */ 'c', 'r', '3', 0,
/* 210 */ 'v', '3', 0,
/* 213 */ 'f', '1', '4', 0,
/* 217 */ 'r', '1', '4', 0,
/* 221 */ 'v', '1', '4', 0,
/* 225 */ 'f', '2', '4', 0,
/* 229 */ 'r', '2', '4', 0,
/* 233 */ 'v', '2', '4', 0,
/* 237 */ 'f', '4', 0,
/* 240 */ 'c', 'r', '4', 0,
/* 244 */ 'v', '4', 0,
/* 247 */ 'f', '1', '5', 0,
/* 251 */ 'r', '1', '5', 0,
/* 255 */ 'v', '1', '5', 0,
/* 259 */ 'f', '2', '5', 0,
/* 263 */ 'r', '2', '5', 0,
/* 267 */ 'v', '2', '5', 0,
/* 271 */ 'f', '5', 0,
/* 274 */ 'c', 'r', '5', 0,
/* 278 */ 'v', '5', 0,
/* 281 */ 'f', '1', '6', 0,
/* 285 */ 'r', '1', '6', 0,
/* 289 */ 'v', '1', '6', 0,
/* 293 */ 'f', '2', '6', 0,
/* 297 */ 'r', '2', '6', 0,
/* 301 */ 'v', '2', '6', 0,
/* 305 */ 'f', '6', 0,
/* 308 */ 'c', 'r', '6', 0,
/* 312 */ 'v', '6', 0,
/* 315 */ 'f', '1', '7', 0,
/* 319 */ 'r', '1', '7', 0,
/* 323 */ 'v', '1', '7', 0,
/* 327 */ 'f', '2', '7', 0,
/* 331 */ 'r', '2', '7', 0,
/* 335 */ 'v', '2', '7', 0,
/* 339 */ 'f', '7', 0,
/* 342 */ 'c', 'r', '7', 0,
/* 346 */ 'v', '7', 0,
/* 349 */ 'f', '1', '8', 0,
/* 353 */ 'r', '1', '8', 0,
/* 357 */ 'v', '1', '8', 0,
/* 361 */ 'f', '2', '8', 0,
/* 365 */ 'r', '2', '8', 0,
/* 369 */ 'v', '2', '8', 0,
/* 373 */ 'f', '8', 0,
/* 376 */ 'r', '8', 0,
/* 379 */ 'v', '8', 0,
/* 382 */ 'f', '1', '9', 0,
/* 386 */ 'r', '1', '9', 0,
/* 390 */ 'v', '1', '9', 0,
/* 394 */ 'f', '2', '9', 0,
/* 398 */ 'r', '2', '9', 0,
/* 402 */ 'v', '2', '9', 0,
/* 406 */ 'f', '9', 0,
/* 409 */ 'r', '9', 0,
/* 412 */ 'v', '9', 0,
/* 415 */ 'c', 'a', 0,
/* 418 */ 'v', 'r', 's', 'a', 'v', 'e', 0,
/* 425 */ 'l', 'r', 0,
/* 428 */ 'c', 't', 'r', 0,
};
static const uint32_t RegAsmOffset[] = {
36, 415, 428, 18, 425, 0, 418, 55, 36, 92, 138, 172, 206, 240,
274, 308, 342, 428, 89, 135, 169, 203, 237, 271, 305, 339, 373, 406,
53, 99, 145, 179, 213, 247, 281, 315, 349, 382, 65, 111, 157, 191,
225, 259, 293, 327, 361, 394, 77, 123, 18, 425, 93, 139, 173, 207,
241, 275, 309, 343, 376, 409, 57, 103, 149, 183, 217, 251, 285, 319,
353, 386, 69, 115, 161, 195, 229, 263, 297, 331, 365, 398, 81, 127,
96, 142, 176, 210, 244, 278, 312, 346, 379, 412, 61, 107, 153, 187,
221, 255, 289, 323, 357, 390, 73, 119, 165, 199, 233, 267, 301, 335,
369, 402, 85, 131, 93, 139, 173, 207, 241, 275, 309, 343, 376, 409,
57, 103, 149, 183, 217, 251, 285, 319, 353, 386, 69, 115, 161, 195,
229, 263, 297, 331, 365, 398, 81, 127, 55, 147, 283, 54, 214, 350,
158, 294, 78, 101, 249, 384, 180, 316, 112, 260, 395, 55, 215, 351,
146, 282, 66, 226, 362, 181, 317, 100, 248, 383, 192, 328, 124,
};
//assert (*(AsmStrs+RegAsmOffset[RegNo-1]) &&
// "Invalid alt name index for register!");
//int i;
//for (i = 0; i < sizeof(RegAsmOffset)/4; i++)
// printf("%s = %u\n", AsmStrs+RegAsmOffset[i], i + 1);
//printf("*************************\n");
return AsmStrs+RegAsmOffset[RegNo-1];
}
#ifdef PRINT_ALIAS_INSTR
#undef PRINT_ALIAS_INSTR
static bool printAliasInstr(MCInst *MI, SStream *OS, void *info)
{
const char *AsmString;
switch (MCInst_getOpcode(MI)) {
default: return false;
case PPC_BCCTR:
if (MCInst_getNumOperands(MI) == 2 &&
MCOperand_isImm(MCInst_getOperand(MI, 0)) &&
MCOperand_getImm(MCInst_getOperand(MI, 0)) == 12 &&
MCOperand_getReg(MCInst_getOperand(MI, 1)) == PPC_CR0) {
// (BCCTR 12, CR0)
AsmString = "bltctr";
break;
}
if (MCInst_getNumOperands(MI) == 2 &&
MCOperand_isImm(MCInst_getOperand(MI, 0)) &&
MCOperand_getImm(MCInst_getOperand(MI, 0)) == 14 &&
MCOperand_getReg(MCInst_getOperand(MI, 1)) == PPC_CR0) {
// (BCCTR 14, CR0)
AsmString = "bltctr-";
break;
}
if (MCInst_getNumOperands(MI) == 2 &&
MCOperand_isImm(MCInst_getOperand(MI, 0)) &&
MCOperand_getImm(MCInst_getOperand(MI, 0)) == 15 &&
MCOperand_getReg(MCInst_getOperand(MI, 1)) == PPC_CR0) {
// (BCCTR 15, CR0)
AsmString = "bltctr+";
break;
}
if (MCInst_getNumOperands(MI) == 2 &&
MCOperand_isImm(MCInst_getOperand(MI, 0)) &&
MCOperand_getImm(MCInst_getOperand(MI, 0)) == 44 &&
MCOperand_getReg(MCInst_getOperand(MI, 1)) == PPC_CR0) {
// (BCCTR 44, CR0)
AsmString = "bgtctr";
break;
}
if (MCInst_getNumOperands(MI) == 2 &&
MCOperand_isImm(MCInst_getOperand(MI, 0)) &&
MCOperand_getImm(MCInst_getOperand(MI, 0)) == 46 &&
MCOperand_getReg(MCInst_getOperand(MI, 1)) == PPC_CR0) {
// (BCCTR 46, CR0)
AsmString = "bgtctr-";
break;
}
if (MCInst_getNumOperands(MI) == 2 &&
MCOperand_isImm(MCInst_getOperand(MI, 0)) &&
MCOperand_getImm(MCInst_getOperand(MI, 0)) == 47 &&
MCOperand_getReg(MCInst_getOperand(MI, 1)) == PPC_CR0) {
// (BCCTR 47, CR0)
AsmString = "bgtctr+";
break;
}
if (MCInst_getNumOperands(MI) == 2 &&
MCOperand_isImm(MCInst_getOperand(MI, 0)) &&
MCOperand_getImm(MCInst_getOperand(MI, 0)) == 76 &&
MCOperand_getReg(MCInst_getOperand(MI, 1)) == PPC_CR0) {
// (BCCTR 76, CR0)
AsmString = "beqctr";
break;
}
if (MCInst_getNumOperands(MI) == 2 &&
MCOperand_isImm(MCInst_getOperand(MI, 0)) &&
MCOperand_getImm(MCInst_getOperand(MI, 0)) == 78 &&
MCOperand_getReg(MCInst_getOperand(MI, 1)) == PPC_CR0) {
// (BCCTR 78, CR0)
AsmString = "beqctr-";
break;
}
if (MCInst_getNumOperands(MI) == 2 &&
MCOperand_isImm(MCInst_getOperand(MI, 0)) &&
MCOperand_getImm(MCInst_getOperand(MI, 0)) == 79 &&
MCOperand_getReg(MCInst_getOperand(MI, 1)) == PPC_CR0) {
// (BCCTR 79, CR0)
AsmString = "beqctr+";
break;
}
if (MCInst_getNumOperands(MI) == 2 &&
MCOperand_isImm(MCInst_getOperand(MI, 0)) &&
MCOperand_getImm(MCInst_getOperand(MI, 0)) == 68 &&
MCOperand_getReg(MCInst_getOperand(MI, 1)) == PPC_CR0) {
// (BCCTR 68, CR0)
AsmString = "bnectr";
break;
}
if (MCInst_getNumOperands(MI) == 2 &&
MCOperand_isImm(MCInst_getOperand(MI, 0)) &&
MCOperand_getImm(MCInst_getOperand(MI, 0)) == 70 &&
MCOperand_getReg(MCInst_getOperand(MI, 1)) == PPC_CR0) {
// (BCCTR 70, CR0)
AsmString = "bnectr-";
break;
}
if (MCInst_getNumOperands(MI) == 2 &&
MCOperand_isImm(MCInst_getOperand(MI, 0)) &&
MCOperand_getImm(MCInst_getOperand(MI, 0)) == 71 &&
MCOperand_getReg(MCInst_getOperand(MI, 1)) == PPC_CR0) {
// (BCCTR 71, CR0)
AsmString = "bnectr+";
break;
}
return false;
case PPC_BCCTRL:
if (MCInst_getNumOperands(MI) == 2 &&
MCOperand_isImm(MCInst_getOperand(MI, 0)) &&
MCOperand_getImm(MCInst_getOperand(MI, 0)) == 12 &&
MCOperand_getReg(MCInst_getOperand(MI, 1)) == PPC_CR0) {
// (BCCTRL 12, CR0)
AsmString = "bltctrl";
break;
}
if (MCInst_getNumOperands(MI) == 2 &&
MCOperand_isImm(MCInst_getOperand(MI, 0)) &&
MCOperand_getImm(MCInst_getOperand(MI, 0)) == 14 &&
MCOperand_getReg(MCInst_getOperand(MI, 1)) == PPC_CR0) {
// (BCCTRL 14, CR0)
AsmString = "bltctrl-";
break;
}
if (MCInst_getNumOperands(MI) == 2 &&
MCOperand_isImm(MCInst_getOperand(MI, 0)) &&
MCOperand_getImm(MCInst_getOperand(MI, 0)) == 15 &&
MCOperand_getReg(MCInst_getOperand(MI, 1)) == PPC_CR0) {
// (BCCTRL 15, CR0)
AsmString = "bltctrl+";
break;
}
if (MCInst_getNumOperands(MI) == 2 &&
MCOperand_isImm(MCInst_getOperand(MI, 0)) &&
MCOperand_getImm(MCInst_getOperand(MI, 0)) == 44 &&
MCOperand_getReg(MCInst_getOperand(MI, 1)) == PPC_CR0) {
// (BCCTRL 44, CR0)
AsmString = "bgtctrl";
break;
}
if (MCInst_getNumOperands(MI) == 2 &&
MCOperand_isImm(MCInst_getOperand(MI, 0)) &&
MCOperand_getImm(MCInst_getOperand(MI, 0)) == 46 &&
MCOperand_getReg(MCInst_getOperand(MI, 1)) == PPC_CR0) {
// (BCCTRL 46, CR0)
AsmString = "bgtctrl-";
break;
}
if (MCInst_getNumOperands(MI) == 2 &&
MCOperand_isImm(MCInst_getOperand(MI, 0)) &&
MCOperand_getImm(MCInst_getOperand(MI, 0)) == 47 &&
MCOperand_getReg(MCInst_getOperand(MI, 1)) == PPC_CR0) {
// (BCCTRL 47, CR0)
AsmString = "bgtctrl+";
break;
}
if (MCInst_getNumOperands(MI) == 2 &&
MCOperand_isImm(MCInst_getOperand(MI, 0)) &&
MCOperand_getImm(MCInst_getOperand(MI, 0)) == 76 &&
MCOperand_getReg(MCInst_getOperand(MI, 1)) == PPC_CR0) {
// (BCCTRL 76, CR0)
AsmString = "beqctrl";
break;
}
if (MCInst_getNumOperands(MI) == 2 &&
MCOperand_isImm(MCInst_getOperand(MI, 0)) &&
MCOperand_getImm(MCInst_getOperand(MI, 0)) == 78 &&
MCOperand_getReg(MCInst_getOperand(MI, 1)) == PPC_CR0) {
// (BCCTRL 78, CR0)
AsmString = "beqctrl-";
break;
}
if (MCInst_getNumOperands(MI) == 2 &&
MCOperand_isImm(MCInst_getOperand(MI, 0)) &&
MCOperand_getImm(MCInst_getOperand(MI, 0)) == 79 &&
MCOperand_getReg(MCInst_getOperand(MI, 1)) == PPC_CR0) {
// (BCCTRL 79, CR0)
AsmString = "beqctrl+";
break;
}
if (MCInst_getNumOperands(MI) == 2 &&
MCOperand_isImm(MCInst_getOperand(MI, 0)) &&
MCOperand_getImm(MCInst_getOperand(MI, 0)) == 68 &&
MCOperand_getReg(MCInst_getOperand(MI, 1)) == PPC_CR0) {
// (BCCTRL 68, CR0)
AsmString = "bnectrl";
break;
}
if (MCInst_getNumOperands(MI) == 2 &&
MCOperand_isImm(MCInst_getOperand(MI, 0)) &&
MCOperand_getImm(MCInst_getOperand(MI, 0)) == 70 &&
MCOperand_getReg(MCInst_getOperand(MI, 1)) == PPC_CR0) {
// (BCCTRL 70, CR0)
AsmString = "bnectrl-";
break;
}
if (MCInst_getNumOperands(MI) == 2 &&
MCOperand_isImm(MCInst_getOperand(MI, 0)) &&
MCOperand_getImm(MCInst_getOperand(MI, 0)) == 71 &&
MCOperand_getReg(MCInst_getOperand(MI, 1)) == PPC_CR0) {
// (BCCTRL 71, CR0)
AsmString = "bnectrl+";
break;
}
return false;
case PPC_BCLR:
if (MCInst_getNumOperands(MI) == 2 &&
MCOperand_isImm(MCInst_getOperand(MI, 0)) &&
MCOperand_getImm(MCInst_getOperand(MI, 0)) == 12 &&
MCOperand_getReg(MCInst_getOperand(MI, 1)) == PPC_CR0) {
// (BCLR 12, CR0)
AsmString = "bltlr";
break;
}
if (MCInst_getNumOperands(MI) == 2 &&
MCOperand_isImm(MCInst_getOperand(MI, 0)) &&
MCOperand_getImm(MCInst_getOperand(MI, 0)) == 14 &&
MCOperand_getReg(MCInst_getOperand(MI, 1)) == PPC_CR0) {
// (BCLR 14, CR0)
AsmString = "bltlr-";
break;
}
if (MCInst_getNumOperands(MI) == 2 &&
MCOperand_isImm(MCInst_getOperand(MI, 0)) &&
MCOperand_getImm(MCInst_getOperand(MI, 0)) == 15 &&
MCOperand_getReg(MCInst_getOperand(MI, 1)) == PPC_CR0) {
// (BCLR 15, CR0)
AsmString = "bltlr+";
break;
}
if (MCInst_getNumOperands(MI) == 2 &&
MCOperand_isImm(MCInst_getOperand(MI, 0)) &&
MCOperand_getImm(MCInst_getOperand(MI, 0)) == 44 &&
MCOperand_getReg(MCInst_getOperand(MI, 1)) == PPC_CR0) {
// (BCLR 44, CR0)
AsmString = "bgtlr";
break;
}
if (MCInst_getNumOperands(MI) == 2 &&
MCOperand_isImm(MCInst_getOperand(MI, 0)) &&
MCOperand_getImm(MCInst_getOperand(MI, 0)) == 46 &&
MCOperand_getReg(MCInst_getOperand(MI, 1)) == PPC_CR0) {
// (BCLR 46, CR0)
AsmString = "bgtlr-";
break;
}
if (MCInst_getNumOperands(MI) == 2 &&
MCOperand_isImm(MCInst_getOperand(MI, 0)) &&
MCOperand_getImm(MCInst_getOperand(MI, 0)) == 47 &&
MCOperand_getReg(MCInst_getOperand(MI, 1)) == PPC_CR0) {
// (BCLR 47, CR0)
AsmString = "bgtlr+";
break;
}
if (MCInst_getNumOperands(MI) == 2 &&
MCOperand_isImm(MCInst_getOperand(MI, 0)) &&
MCOperand_getImm(MCInst_getOperand(MI, 0)) == 76 &&
MCOperand_getReg(MCInst_getOperand(MI, 1)) == PPC_CR0) {
// (BCLR 76, CR0)
AsmString = "beqlr";
break;
}
if (MCInst_getNumOperands(MI) == 2 &&
MCOperand_isImm(MCInst_getOperand(MI, 0)) &&
MCOperand_getImm(MCInst_getOperand(MI, 0)) == 78 &&
MCOperand_getReg(MCInst_getOperand(MI, 1)) == PPC_CR0) {
// (BCLR 78, CR0)
AsmString = "beqlr-";
break;
}
if (MCInst_getNumOperands(MI) == 2 &&
MCOperand_isImm(MCInst_getOperand(MI, 0)) &&
MCOperand_getImm(MCInst_getOperand(MI, 0)) == 79 &&
MCOperand_getReg(MCInst_getOperand(MI, 1)) == PPC_CR0) {
// (BCLR 79, CR0)
AsmString = "beqlr+";
break;
}
if (MCInst_getNumOperands(MI) == 2 &&
MCOperand_isImm(MCInst_getOperand(MI, 0)) &&
MCOperand_getImm(MCInst_getOperand(MI, 0)) == 68 &&
MCOperand_getReg(MCInst_getOperand(MI, 1)) == PPC_CR0) {
// (BCLR 68, CR0)
AsmString = "bnelr";
break;
}
if (MCInst_getNumOperands(MI) == 2 &&
MCOperand_isImm(MCInst_getOperand(MI, 0)) &&
MCOperand_getImm(MCInst_getOperand(MI, 0)) == 70 &&
MCOperand_getReg(MCInst_getOperand(MI, 1)) == PPC_CR0) {
// (BCLR 70, CR0)
AsmString = "bnelr-";
break;
}
if (MCInst_getNumOperands(MI) == 2 &&
MCOperand_isImm(MCInst_getOperand(MI, 0)) &&
MCOperand_getImm(MCInst_getOperand(MI, 0)) == 71 &&
MCOperand_getReg(MCInst_getOperand(MI, 1)) == PPC_CR0) {
// (BCLR 71, CR0)
AsmString = "bnelr+";
break;
}
return false;
case PPC_BCLRL:
if (MCInst_getNumOperands(MI) == 2 &&
MCOperand_isImm(MCInst_getOperand(MI, 0)) &&
MCOperand_getImm(MCInst_getOperand(MI, 0)) == 12 &&
MCOperand_getReg(MCInst_getOperand(MI, 1)) == PPC_CR0) {
// (BCLRL 12, CR0)
AsmString = "bltlrl";
break;
}
if (MCInst_getNumOperands(MI) == 2 &&
MCOperand_isImm(MCInst_getOperand(MI, 0)) &&
MCOperand_getImm(MCInst_getOperand(MI, 0)) == 14 &&
MCOperand_getReg(MCInst_getOperand(MI, 1)) == PPC_CR0) {
// (BCLRL 14, CR0)
AsmString = "bltlrl-";
break;
}
if (MCInst_getNumOperands(MI) == 2 &&
MCOperand_isImm(MCInst_getOperand(MI, 0)) &&
MCOperand_getImm(MCInst_getOperand(MI, 0)) == 15 &&
MCOperand_getReg(MCInst_getOperand(MI, 1)) == PPC_CR0) {
// (BCLRL 15, CR0)
AsmString = "bltlrl+";
break;
}
if (MCInst_getNumOperands(MI) == 2 &&
MCOperand_isImm(MCInst_getOperand(MI, 0)) &&
MCOperand_getImm(MCInst_getOperand(MI, 0)) == 44 &&
MCOperand_getReg(MCInst_getOperand(MI, 1)) == PPC_CR0) {
// (BCLRL 44, CR0)
AsmString = "bgtlrl";
break;
}
if (MCInst_getNumOperands(MI) == 2 &&
MCOperand_isImm(MCInst_getOperand(MI, 0)) &&
MCOperand_getImm(MCInst_getOperand(MI, 0)) == 46 &&
MCOperand_getReg(MCInst_getOperand(MI, 1)) == PPC_CR0) {
// (BCLRL 46, CR0)
AsmString = "bgtlrl-";
break;
}
if (MCInst_getNumOperands(MI) == 2 &&
MCOperand_isImm(MCInst_getOperand(MI, 0)) &&
MCOperand_getImm(MCInst_getOperand(MI, 0)) == 47 &&
MCOperand_getReg(MCInst_getOperand(MI, 1)) == PPC_CR0) {
// (BCLRL 47, CR0)
AsmString = "bgtlrl+";
break;
}
if (MCInst_getNumOperands(MI) == 2 &&
MCOperand_isImm(MCInst_getOperand(MI, 0)) &&
MCOperand_getImm(MCInst_getOperand(MI, 0)) == 76 &&
MCOperand_getReg(MCInst_getOperand(MI, 1)) == PPC_CR0) {
// (BCLRL 76, CR0)
AsmString = "beqlrl";
break;
}
if (MCInst_getNumOperands(MI) == 2 &&
MCOperand_isImm(MCInst_getOperand(MI, 0)) &&
MCOperand_getImm(MCInst_getOperand(MI, 0)) == 78 &&
MCOperand_getReg(MCInst_getOperand(MI, 1)) == PPC_CR0) {
// (BCLRL 78, CR0)
AsmString = "beqlrl-";
break;
}
if (MCInst_getNumOperands(MI) == 2 &&
MCOperand_isImm(MCInst_getOperand(MI, 0)) &&
MCOperand_getImm(MCInst_getOperand(MI, 0)) == 79 &&
MCOperand_getReg(MCInst_getOperand(MI, 1)) == PPC_CR0) {
// (BCLRL 79, CR0)
AsmString = "beqlrl+";
break;
}
if (MCInst_getNumOperands(MI) == 2 &&
MCOperand_isImm(MCInst_getOperand(MI, 0)) &&
MCOperand_getImm(MCInst_getOperand(MI, 0)) == 68 &&
MCOperand_getReg(MCInst_getOperand(MI, 1)) == PPC_CR0) {
// (BCLRL 68, CR0)
AsmString = "bnelrl";
break;
}
if (MCInst_getNumOperands(MI) == 2 &&
MCOperand_isImm(MCInst_getOperand(MI, 0)) &&
MCOperand_getImm(MCInst_getOperand(MI, 0)) == 70 &&
MCOperand_getReg(MCInst_getOperand(MI, 1)) == PPC_CR0) {
// (BCLRL 70, CR0)
AsmString = "bnelrl-";
break;
}
if (MCInst_getNumOperands(MI) == 2 &&
MCOperand_isImm(MCInst_getOperand(MI, 0)) &&
MCOperand_getImm(MCInst_getOperand(MI, 0)) == 71 &&
MCOperand_getReg(MCInst_getOperand(MI, 1)) == PPC_CR0) {
// (BCLRL 71, CR0)
AsmString = "bnelrl+";
break;
}
return false;
case PPC_SC:
if (MCInst_getNumOperands(MI) == 1 &&
MCOperand_isImm(MCInst_getOperand(MI, 0)) &&
MCOperand_getImm(MCInst_getOperand(MI, 0)) == 0) {
// (SC 0)
AsmString = "sc";
break;
}
return false;
case PPC_SYNC:
if (MCInst_getNumOperands(MI) == 1 &&
MCOperand_isImm(MCInst_getOperand(MI, 0)) &&
MCOperand_getImm(MCInst_getOperand(MI, 0)) == 1) {
// (SYNC 1)
AsmString = "lwsync";
break;
}
if (MCInst_getNumOperands(MI) == 1 &&
MCOperand_isImm(MCInst_getOperand(MI, 0)) &&
MCOperand_getImm(MCInst_getOperand(MI, 0)) == 2) {
// (SYNC 2)
AsmString = "ptesync";
break;
}
return false;
case PPC_WAIT:
if (MCInst_getNumOperands(MI) == 1 &&
MCOperand_isImm(MCInst_getOperand(MI, 0)) &&
MCOperand_getImm(MCInst_getOperand(MI, 0)) == 0) {
// (WAIT 0)
AsmString = "wait";
break;
}
if (MCInst_getNumOperands(MI) == 1 &&
MCOperand_isImm(MCInst_getOperand(MI, 0)) &&
MCOperand_getImm(MCInst_getOperand(MI, 0)) == 1) {
// (WAIT 1)
AsmString = "waitrsv";
break;
}
if (MCInst_getNumOperands(MI) == 1 &&
MCOperand_isImm(MCInst_getOperand(MI, 0)) &&
MCOperand_getImm(MCInst_getOperand(MI, 0)) == 2) {
// (WAIT 2)
AsmString = "waitimpl";
break;
}
return false;
case PPC_XORI:
if (MCInst_getNumOperands(MI) == 3 &&
MCOperand_getReg(MCInst_getOperand(MI, 0)) == PPC_R0 &&
MCOperand_getReg(MCInst_getOperand(MI, 1)) == PPC_R0 &&
MCOperand_isImm(MCInst_getOperand(MI, 2)) &&
MCOperand_getImm(MCInst_getOperand(MI, 2)) == 0) {
// (XORI R0, R0, 0)
AsmString = "xnop";
break;
}
return false;
}
char *tmp = strdup(AsmString), *AsmMnem, *AsmOps;
AsmMnem = tmp;
AsmOps = strchr(tmp, ' ');
if (AsmOps) {
*AsmOps = '\0';
AsmOps += 1;
}
SStream_concat(OS, "%s", AsmMnem);
if (AsmOps) {
SStream_concat(OS, "\t");
char *c;
for (c = AsmOps; *c; c++) {
if (*c == '$') {
c += 1;
printOperand(MI, *c - 1, OS);
} else {
SStream_concat(OS, "%c", *c);
}
}
}
free(tmp);
return true;
}
#endif // PRINT_ALIAS_INSTR