ClamAV is an open source (GPLv2) anti-virus toolkit.
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.
 
 
 
 
 
 
clamav/libclamav/c++/PPCGenAsmWriter.inc

1531 lines
45 KiB

//===- TableGen'erated file -------------------------------------*- C++ -*-===//
//
// Assembly Writer Source Fragment
//
// Automatically generated file, do not edit!
//
//===----------------------------------------------------------------------===//
/// printInstruction - This method is automatically generated by tablegen
/// from the instruction set description.
void PPCAsmPrinter::printInstruction(const MachineInstr *MI) {
static const unsigned OpInfo[] = {
0U, // PHI
0U, // INLINEASM
0U, // DBG_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
1U, // DBG_VALUE
268435467U, // ADD4
268435467U, // ADD8
268435472U, // ADDC
268435472U, // ADDC8
268435478U, // ADDE
268435478U, // ADDE8
268439580U, // ADDI
268439580U, // ADDI8
268439586U, // ADDIC
268439586U, // ADDIC8
268439593U, // ADDICo
268443697U, // ADDIS
268443697U, // ADDIS8
268468280U, // ADDME
268468280U, // ADDME8
268468287U, // ADDZE
268468287U, // ADDZE8
541065286U, // ADJCALLSTACKDOWN
545259590U, // ADJCALLSTACKUP
268435527U, // AND
268435527U, // AND8
268435532U, // ANDC
268435532U, // ANDC8
268447826U, // ANDISo
268447826U, // ANDISo8
268447834U, // ANDIo
268447834U, // ANDIo8
549453894U, // ATOMIC_CMP_SWAP_I16
553648198U, // ATOMIC_CMP_SWAP_I32
557842502U, // ATOMIC_CMP_SWAP_I64
562036806U, // ATOMIC_CMP_SWAP_I8
566231110U, // ATOMIC_LOAD_ADD_I16
570425414U, // ATOMIC_LOAD_ADD_I32
574619718U, // ATOMIC_LOAD_ADD_I64
578814022U, // ATOMIC_LOAD_ADD_I8
583008326U, // ATOMIC_LOAD_AND_I16
587202630U, // ATOMIC_LOAD_AND_I32
591396934U, // ATOMIC_LOAD_AND_I64
595591238U, // ATOMIC_LOAD_AND_I8
599785542U, // ATOMIC_LOAD_NAND_I16
603979846U, // ATOMIC_LOAD_NAND_I32
608174150U, // ATOMIC_LOAD_NAND_I64
612368454U, // ATOMIC_LOAD_NAND_I8
616562758U, // ATOMIC_LOAD_OR_I16
620757062U, // ATOMIC_LOAD_OR_I32
624951366U, // ATOMIC_LOAD_OR_I64
629145670U, // ATOMIC_LOAD_OR_I8
633339974U, // ATOMIC_LOAD_SUB_I16
637534278U, // ATOMIC_LOAD_SUB_I32
641728582U, // ATOMIC_LOAD_SUB_I64
645922886U, // ATOMIC_LOAD_SUB_I8
650117190U, // ATOMIC_LOAD_XOR_I16
654311494U, // ATOMIC_LOAD_XOR_I32
658505798U, // ATOMIC_LOAD_XOR_I64
662700102U, // ATOMIC_LOAD_XOR_I8
666894406U, // ATOMIC_SWAP_I16
671088710U, // ATOMIC_SWAP_I32
675283014U, // ATOMIC_SWAP_I64
679477318U, // ATOMIC_SWAP_I8
805306465U, // B
1220804708U, // BCC
102U, // BCTR
107U, // BCTRL8_Darwin
107U, // BCTRL8_ELF
107U, // BCTRL_Darwin
107U, // BCTRL_SVR4
1493172337U, // BL8_Darwin
1493172337U, // BL8_ELF
1761607797U, // BLA8_Darwin
1761607797U, // BLA8_ELF
1761607797U, // BLA_Darwin
1761607797U, // BLA_SVR4
1228931172U, // BLR
1493172337U, // BL_Darwin
1493172337U, // BL_SVR4
268435578U, // CMPD
268439680U, // CMPDI
268435591U, // CMPLD
268447886U, // CMPLDI
268435606U, // CMPLW
268447901U, // CMPLWI
268435621U, // CMPW
268439723U, // CMPWI
268468402U, // CNTLZD
268468410U, // CNTLZW
268435650U, // CREQV
268435657U, // CROR
268959938U, // CRSET
1879048399U, // DCBA
1879048405U, // DCBF
1879048411U, // DCBI
1879048417U, // DCBST
1879048424U, // DCBT
1879048430U, // DCBTST
1879048438U, // DCBZ
1879048444U, // DCBZL
268435715U, // DIVD
268435721U, // DIVDU
268435728U, // DIVW
268435734U, // DIVWU
2147483933U, // DSS
290U, // DSSALL
2415919401U, // DST
2415919401U, // DST64
2415919406U, // DSTST
2415919406U, // DSTST64
2415919413U, // DSTSTT
2415919413U, // DSTSTT64
2415919421U, // DSTT
2415919421U, // DSTT64
696254534U, // DYNALLOC
700448838U, // DYNALLOC8
268435779U, // EQV
268435779U, // EQV8
268468552U, // EXTSB
268468552U, // EXTSB8
268468559U, // EXTSH
268468559U, // EXTSH8
268468566U, // EXTSW
268468566U, // EXTSW_32
268468566U, // EXTSW_32_64
268468573U, // FABSD
268468573U, // FABSS
268435811U, // FADD
268435817U, // FADDS
268435811U, // FADDrtz
268468592U, // FCFID
268435831U, // FCMPUD
268435831U, // FCMPUS
268468606U, // FCTIDZ
268468614U, // FCTIWZ
268435854U, // FDIV
268435860U, // FDIVS
268435867U, // FMADD
268435874U, // FMADDS
268468650U, // FMR
268468650U, // FMRSD
268435887U, // FMSUB
268435894U, // FMSUBS
268435902U, // FMUL
268435908U, // FMULS
268468683U, // FNABSD
268468683U, // FNABSS
268468690U, // FNEGD
268468690U, // FNEGS
268435928U, // FNMADD
268435936U, // FNMADDS
268435945U, // FNMSUB
268435953U, // FNMSUBS
268468730U, // FRSP
268435968U, // FSELD
268435968U, // FSELS
268468742U, // FSQRT
268468749U, // FSQRTS
268435989U, // FSUB
268435995U, // FSUBS
269287970U, // LA
269484582U, // LBZ
269484582U, // LBZ8
269746731U, // LBZU
269746731U, // LBZU8
270008881U, // LBZX
270008881U, // LBZX8
270271031U, // LD
270008891U, // LDARX
270533186U, // LDU
270008903U, // LDX
436208204U, // LDinto_toc
270795319U, // LDtoc
597U, // LDtoc_restore
269484641U, // LFD
269746785U, // LFDU
270008934U, // LFDX
269484652U, // LFS
269746796U, // LFSU
270008945U, // LFSX
269484663U, // LHA
269484663U, // LHA8
269746812U, // LHAU
269320828U, // LHAU8
270008962U, // LHAX
270008962U, // LHAX8
270008968U, // LHBRX
269484687U, // LHZ
269484687U, // LHZ8
269746836U, // LHZU
269746836U, // LHZU8
270008986U, // LHZX
270008986U, // LHZX8
271057568U, // LI
271057568U, // LI8
271319716U, // LIS
271319716U, // LIS8
270009001U, // LVEBX
270009008U, // LVEHX
270009015U, // LVEWX
270009022U, // LVSL
270009028U, // LVSR
270009034U, // LVX
270009039U, // LVXL
270271189U, // LWA
270009050U, // LWARX
270009057U, // LWAX
270009063U, // LWBRX
269484782U, // LWZ
269484782U, // LWZ8
269746931U, // LWZU
269746931U, // LWZU8
270009081U, // LWZX
270009081U, // LWZX8
268468991U, // MCRF
419431173U, // MFCR
419431179U, // MFCTR
419431179U, // MFCTR8
419431186U, // MFFS
419431192U, // MFLR
419431192U, // MFLR8
271581957U, // MFOCRF
440402718U, // MFVRSAVE
419431205U, // MFVSCR
2684355373U, // MTCRF
419431220U, // MTCTR
419431220U, // MTCTR8
2952790843U, // MTFSB0
2952790851U, // MTFSB1
3397387083U, // MTFSF
419431250U, // MTLR
419431250U, // MTLR8
419431256U, // MTVRSAVE
419431268U, // MTVSCR
268436332U, // MULHD
268436339U, // MULHDU
268436347U, // MULHW
268436354U, // MULHWU
268436362U, // MULLD
268440465U, // MULLI
268436376U, // MULLW
3489661041U, // MovePCtoLR
3489661041U, // MovePCtoLR8
268436383U, // NAND
268436383U, // NAND8
268469157U, // NEG
268469157U, // NEG8
938U, // NOP
268436398U, // NOR
268436398U, // NOR8
268436403U, // OR
268436403U, // OR4To8
268436403U, // OR8
268436403U, // OR8To4
268436407U, // ORC
268436407U, // ORC8
268448700U, // ORI
268448700U, // ORI8
268448705U, // ORIS
268448705U, // ORIS8
268436423U, // RLDCL
268452814U, // RLDICL
268452822U, // RLDICR
271975390U, // RLDIMI
272008166U, // RLWIMI
268456942U, // RLWINM
268456950U, // RLWINMo
268436479U, // RLWNM
717226054U, // SELECT_CC_F4
717226054U, // SELECT_CC_F8
717226054U, // SELECT_CC_I4
717226054U, // SELECT_CC_I8
717226054U, // SELECT_CC_VRRC
268436486U, // SLD
268436491U, // SLW
721420358U, // SPILL_CR
268436496U, // SRAD
268452886U, // SRADI
268436509U, // SRAW
268456995U, // SRAWI
268436522U, // SRD
268436527U, // SRW
269485108U, // STB
269485108U, // STB8
3409970233U, // STBU
3409970233U, // STBU8
270009407U, // STBX
270009407U, // STBX8
270271557U, // STD
270009418U, // STDCX
3414164562U, // STDU
270009432U, // STDUX
270009439U, // STDX
270009439U, // STDX_32
270271557U, // STD_32
269485157U, // STFD
3409970283U, // STFDU
270009458U, // STFDX
270009465U, // STFIWX
269485185U, // STFS
3409970311U, // STFSU
270009486U, // STFSX
269485205U, // STH
269485205U, // STH8
270009498U, // STHBRX
3409970338U, // STHU
3409970338U, // STHU8
270009512U, // STHX
270009512U, // STHX8
270009518U, // STVEBX
270009526U, // STVEHX
270009534U, // STVEWX
270009542U, // STVX
270009548U, // STVXL
269485267U, // STW
269485267U, // STW8
270009560U, // STWBRX
270009568U, // STWCX
3409970408U, // STWU
268436718U, // STWUX
270009589U, // STWX
270009589U, // STWX8
268436731U, // SUBF
268436731U, // SUBF8
268436737U, // SUBFC
268436737U, // SUBFC8
268436744U, // SUBFE
268436744U, // SUBFE8
268440847U, // SUBFIC
268440847U, // SUBFIC8
268469527U, // SUBFME
268469527U, // SUBFME8
268469535U, // SUBFZE
268469535U, // SUBFZE8
1319U, // SYNC
1493172321U, // TAILB
1493172321U, // TAILB8
1761609004U, // TAILBA
1761609004U, // TAILBA8
102U, // TAILBCTR
102U, // TAILBCTR8
1757447472U, // TCRETURNai
1757447485U, // TCRETURNai8
1489012043U, // TCRETURNdi
1489012056U, // TCRETURNdi8
415270246U, // TCRETURNri
415270259U, // TCRETURNri8
1409U, // TRAP
268469638U, // UPDATE_VRSAVE
268436885U, // VADDCUW
268436894U, // VADDFP
268436902U, // VADDSBS
268436911U, // VADDSHS
268436920U, // VADDSWS
268436929U, // VADDUBM
268436938U, // VADDUBS
268436947U, // VADDUHM
268436956U, // VADDUHS
268436965U, // VADDUWM
268436974U, // VADDUWS
268436983U, // VAND
268436989U, // VANDC
268436996U, // VAVGSB
268437004U, // VAVGSH
268437012U, // VAVGSW
268437020U, // VAVGUB
268437028U, // VAVGUH
268437036U, // VAVGUW
272041524U, // VCFSX
272041531U, // VCFUX
268437058U, // VCMPBFP
268437067U, // VCMPBFPo
268437077U, // VCMPEQFP
268437087U, // VCMPEQFPo
268437098U, // VCMPEQUB
268437108U, // VCMPEQUBo
268437119U, // VCMPEQUH
268437129U, // VCMPEQUHo
268437140U, // VCMPEQUW
268437150U, // VCMPEQUWo
268437161U, // VCMPGEFP
268437171U, // VCMPGEFPo
268437182U, // VCMPGTFP
268437192U, // VCMPGTFPo
268437203U, // VCMPGTSB
268437213U, // VCMPGTSBo
268437224U, // VCMPGTSH
268437234U, // VCMPGTSHo
268437245U, // VCMPGTSW
268437255U, // VCMPGTSWo
268437266U, // VCMPGTUB
268437276U, // VCMPGTUBo
268437287U, // VCMPGTUH
268437297U, // VCMPGTUHo
268437308U, // VCMPGTUW
268437318U, // VCMPGTUWo
272041809U, // VCTSXS
272041817U, // VCTUXS
268470113U, // VEXPTEFP
268470123U, // VLOGEFP
268437364U, // VMADDFP
268437373U, // VMAXFP
268437381U, // VMAXSB
268437389U, // VMAXSH
268437397U, // VMAXSW
268437405U, // VMAXUB
268437413U, // VMAXUH
268437421U, // VMAXUW
268437429U, // VMHADDSHS
268437440U, // VMHRADDSHS
268437452U, // VMINFP
268437460U, // VMINSB
268437468U, // VMINSH
268437476U, // VMINSW
268437484U, // VMINUB
268437492U, // VMINUH
268437500U, // VMINUW
268437508U, // VMLADDUHM
268437519U, // VMRGHB
268437527U, // VMRGHH
268437535U, // VMRGHW
268437543U, // VMRGLB
268437551U, // VMRGLH
268437559U, // VMRGLW
268437567U, // VMSUMMBM
268437577U, // VMSUMSHM
268437587U, // VMSUMSHS
268437597U, // VMSUMUBM
268437607U, // VMSUMUHM
268437617U, // VMSUMUHS
268437627U, // VMULESB
268437636U, // VMULESH
268437645U, // VMULEUB
268437654U, // VMULEUH
268437663U, // VMULOSB
268437672U, // VMULOSH
268437681U, // VMULOUB
268437690U, // VMULOUH
268437699U, // VNMSUBFP
268437709U, // VNOR
268437715U, // VOR
268437720U, // VPERM
268437727U, // VPKPX
268437734U, // VPKSHSS
268437743U, // VPKSHUS
268437752U, // VPKSWSS
268437761U, // VPKSWUS
268437770U, // VPKUHUM
268437779U, // VPKUHUS
268437788U, // VPKUWUM
268437797U, // VPKUWUS
268470574U, // VREFP
268470581U, // VRFIM
268470588U, // VRFIN
268470595U, // VRFIP
268470602U, // VRFIZ
268437841U, // VRLB
268437847U, // VRLH
268437853U, // VRLW
268470627U, // VRSQRTEFP
268437870U, // VSEL
268437876U, // VSL
268437881U, // VSLB
268437887U, // VSLDOI
268437895U, // VSLH
268437901U, // VSLO
268437907U, // VSLW
272042393U, // VSPLTB
272042401U, // VSPLTH
272107945U, // VSPLTISB
272107955U, // VSPLTISH
272107965U, // VSPLTISW
272042439U, // VSPLTW
268437967U, // VSR
268437972U, // VSRAB
268437979U, // VSRAH
268437986U, // VSRAW
268437993U, // VSRB
268437999U, // VSRH
268438005U, // VSRO
268438011U, // VSRW
268438017U, // VSUBCUW
268438026U, // VSUBFP
268438034U, // VSUBSBS
268438043U, // VSUBSHS
268438052U, // VSUBSWS
268438061U, // VSUBUBM
268438070U, // VSUBUBS
268438079U, // VSUBUHM
268438088U, // VSUBUHS
268438097U, // VSUBUWM
268438106U, // VSUBUWS
268438115U, // VSUM2SWS
268438125U, // VSUM4SBS
268438135U, // VSUM4SHS
268438145U, // VSUM4UBS
268438155U, // VSUMSWS
268470932U, // VUPKHPX
268470941U, // VUPKHSB
268470950U, // VUPKHSH
268470959U, // VUPKLPX
268470968U, // VUPKLSB
268470977U, // VUPKLSH
268438218U, // VXOR
268962506U, // V_SET0
268438224U, // XOR
268438224U, // XOR8
268450517U, // XORI
268450517U, // XORI8
268450523U, // XORIS
268450523U, // XORIS8
0U
};
const char *AsmStrs =
"DBG_VALUE\000add \000addc \000adde \000addi \000addic \000addic. \000ad"
"dis \000addme \000addze \000\000and \000andc \000andis. \000andi. \000b"
" \000b\000bctr\000bctrl\000bl \000bla \000cmpd \000cmpdi \000cmpld \000"
"cmpldi \000cmplw \000cmplwi \000cmpw \000cmpwi \000cntlzd \000cntlzw \000"
"creqv \000cror \000dcba \000dcbf \000dcbi \000dcbst \000dcbt \000dcbtst"
" \000dcbz \000dcbzl \000divd \000divdu \000divw \000divwu \000dss \000d"
"ssall\000dst \000dstst \000dststt \000dstt \000eqv \000extsb \000extsh "
"\000extsw \000fabs \000fadd \000fadds \000fcfid \000fcmpu \000fctidz \000"
"fctiwz \000fdiv \000fdivs \000fmadd \000fmadds \000fmr \000fmsub \000fm"
"subs \000fmul \000fmuls \000fnabs \000fneg \000fnmadd \000fnmadds \000f"
"nmsub \000fnmsubs \000frsp \000fsel \000fsqrt \000fsqrts \000fsub \000f"
"subs \000la \000lbz \000lbzu \000lbzx \000ld \000ldarx \000ldu \000ldx "
"\000ld 2, 8(\000ld 2, 40(1)\000lfd \000lfdx \000lfs \000lfsx \000lha \000"
"lhau \000lhax \000lhbrx \000lhz \000lhzu \000lhzx \000li \000lis \000lv"
"ebx \000lvehx \000lvewx \000lvsl \000lvsr \000lvx \000lvxl \000lwa \000"
"lwarx \000lwax \000lwbrx \000lwz \000lwzu \000lwzx \000mcrf \000mfcr \000"
"mfctr \000mffs \000mflr \000mfspr \000mfvscr \000mtcrf \000mtctr \000mt"
"fsb0 \000mtfsb1 \000mtfsf \000mtlr \000mtspr 256, \000mtvscr \000mulhd "
"\000mulhdu \000mulhw \000mulhwu \000mulld \000mulli \000mullw \000nand "
"\000neg \000nop\000nor \000or \000orc \000ori \000oris \000rldcl \000rl"
"dicl \000rldicr \000rldimi \000rlwimi \000rlwinm \000rlwinm. \000rlwnm "
"\000sld \000slw \000srad \000sradi \000sraw \000srawi \000srd \000srw \000"
"stb \000stbu \000stbx \000std \000stdcx. \000stdu \000stdux \000stdx \000"
"stfd \000stfdu \000stfdx \000stfiwx \000stfs \000stfsu \000stfsx \000st"
"h \000sthbrx \000sthu \000sthx \000stvebx \000stvehx \000stvewx \000stv"
"x \000stvxl \000stw \000stwbrx \000stwcx. \000stwu \000stwux \000stwx \000"
"subf \000subfc \000subfe \000subfic \000subfme \000subfze \000sync\000b"
"a \000#TC_RETURNa \000#TC_RETURNa8 \000#TC_RETURNd \000#TC_RETURNd8 \000"
"#TC_RETURNr \000#TC_RETURNr8 \000trap\000UPDATE_VRSAVE \000vaddcuw \000"
"vaddfp \000vaddsbs \000vaddshs \000vaddsws \000vaddubm \000vaddubs \000"
"vadduhm \000vadduhs \000vadduwm \000vadduws \000vand \000vandc \000vavg"
"sb \000vavgsh \000vavgsw \000vavgub \000vavguh \000vavguw \000vcfsx \000"
"vcfux \000vcmpbfp \000vcmpbfp. \000vcmpeqfp \000vcmpeqfp. \000vcmpequb "
"\000vcmpequb. \000vcmpequh \000vcmpequh. \000vcmpequw \000vcmpequw. \000"
"vcmpgefp \000vcmpgefp. \000vcmpgtfp \000vcmpgtfp. \000vcmpgtsb \000vcmp"
"gtsb. \000vcmpgtsh \000vcmpgtsh. \000vcmpgtsw \000vcmpgtsw. \000vcmpgtu"
"b \000vcmpgtub. \000vcmpgtuh \000vcmpgtuh. \000vcmpgtuw \000vcmpgtuw. \000"
"vctsxs \000vctuxs \000vexptefp \000vlogefp \000vmaddfp \000vmaxfp \000v"
"maxsb \000vmaxsh \000vmaxsw \000vmaxub \000vmaxuh \000vmaxuw \000vmhadd"
"shs \000vmhraddshs \000vminfp \000vminsb \000vminsh \000vminsw \000vmin"
"ub \000vminuh \000vminuw \000vmladduhm \000vmrghb \000vmrghh \000vmrghw"
" \000vmrglb \000vmrglh \000vmrglw \000vmsummbm \000vmsumshm \000vmsumsh"
"s \000vmsumubm \000vmsumuhm \000vmsumuhs \000vmulesb \000vmulesh \000vm"
"uleub \000vmuleuh \000vmulosb \000vmulosh \000vmuloub \000vmulouh \000v"
"nmsubfp \000vnor \000vor \000vperm \000vpkpx \000vpkshss \000vpkshus \000"
"vpkswss \000vpkswus \000vpkuhum \000vpkuhus \000vpkuwum \000vpkuwus \000"
"vrefp \000vrfim \000vrfin \000vrfip \000vrfiz \000vrlb \000vrlh \000vrl"
"w \000vrsqrtefp \000vsel \000vsl \000vslb \000vsldoi \000vslh \000vslo "
"\000vslw \000vspltb \000vsplth \000vspltisb \000vspltish \000vspltisw \000"
"vspltw \000vsr \000vsrab \000vsrah \000vsraw \000vsrb \000vsrh \000vsro"
" \000vsrw \000vsubcuw \000vsubfp \000vsubsbs \000vsubshs \000vsubsws \000"
"vsububm \000vsububs \000vsubuhm \000vsubuhs \000vsubuwm \000vsubuws \000"
"vsum2sws \000vsum4sbs \000vsum4shs \000vsum4ubs \000vsumsws \000vupkhpx"
" \000vupkhsb \000vupkhsh \000vupklpx \000vupklsb \000vupklsh \000vxor \000"
"xor \000xori \000xoris \000";
O << "\t";
// Emit the opcode for the instruction.
unsigned Bits = OpInfo[MI->getOpcode()];
assert(Bits != 0 && "Cannot print this instruction.");
O << AsmStrs+(Bits & 4095)-1;
// Fragment 0 encoded into 4 bits for 14 unique commands.
switch ((Bits >> 28) & 15) {
default: // unreachable.
case 0:
// DBG_VALUE, BCTR, BCTRL8_Darwin, BCTRL8_ELF, BCTRL_Darwin, BCTRL_SVR4, ...
return;
break;
case 1:
// ADD4, ADD8, ADDC, ADDC8, ADDE, ADDE8, ADDI, ADDI8, ADDIC, ADDIC8, ADDI...
printOperand(MI, 0);
break;
case 2:
// ADJCALLSTACKDOWN, ADJCALLSTACKUP, ATOMIC_CMP_SWAP_I16, ATOMIC_CMP_SWAP...
PrintSpecial(MI, "comment");
break;
case 3:
// B
printBranchOperand(MI, 0);
return;
break;
case 4:
// BCC, BLR
printPredicateOperand(MI, 0, "cc");
break;
case 5:
// BL8_Darwin, BL8_ELF, BL_Darwin, BL_SVR4, TAILB, TAILB8, TCRETURNdi, TC...
printCallOperand(MI, 0);
break;
case 6:
// BLA8_Darwin, BLA8_ELF, BLA_Darwin, BLA_SVR4, TAILBA, TAILBA8, TCRETURN...
printAbsAddrOperand(MI, 0);
break;
case 7:
// DCBA, DCBF, DCBI, DCBST, DCBT, DCBTST, DCBZ, DCBZL
printMemRegReg(MI, 0);
return;
break;
case 8:
// DSS
printU5ImmOperand(MI, 1);
return;
break;
case 9:
// DST, DST64, DSTST, DSTST64, DSTSTT, DSTSTT64, DSTT, DSTT64
printOperand(MI, 2);
O << ", ";
printOperand(MI, 3);
O << ", ";
printU5ImmOperand(MI, 1);
return;
break;
case 10:
// MTCRF
printcrbitm(MI, 0);
O << ", ";
printOperand(MI, 1);
return;
break;
case 11:
// MTFSB0, MTFSB1
printU5ImmOperand(MI, 0);
return;
break;
case 12:
// MTFSF, STBU, STBU8, STDU, STFDU, STFSU, STHU, STHU8, STWU
printOperand(MI, 1);
O << ", ";
break;
case 13:
// MovePCtoLR, MovePCtoLR8
printPICLabel(MI, 0);
return;
break;
}
// Fragment 1 encoded into 6 bits for 47 unique commands.
switch ((Bits >> 22) & 63) {
default: // unreachable.
case 0:
// ADD4, ADD8, ADDC, ADDC8, ADDE, ADDE8, ADDI, ADDI8, ADDIC, ADDIC8, ADDI...
O << ", ";
break;
case 1:
// ADJCALLSTACKDOWN
O << " ADJCALLSTACKDOWN";
return;
break;
case 2:
// ADJCALLSTACKUP
O << " ADJCALLSTACKUP";
return;
break;
case 3:
// ATOMIC_CMP_SWAP_I16
O << " ATOMIC_CMP_SWAP_I16 PSEUDO!";
return;
break;
case 4:
// ATOMIC_CMP_SWAP_I32
O << " ATOMIC_CMP_SWAP_I32 PSEUDO!";
return;
break;
case 5:
// ATOMIC_CMP_SWAP_I64
O << " ATOMIC_CMP_SWAP_I64 PSEUDO!";
return;
break;
case 6:
// ATOMIC_CMP_SWAP_I8
O << " ATOMIC_CMP_SWAP_I8 PSEUDO!";
return;
break;
case 7:
// ATOMIC_LOAD_ADD_I16
O << " ATOMIC_LOAD_ADD_I16 PSEUDO!";
return;
break;
case 8:
// ATOMIC_LOAD_ADD_I32
O << " ATOMIC_LOAD_ADD_I32 PSEUDO!";
return;
break;
case 9:
// ATOMIC_LOAD_ADD_I64
O << " ATOMIC_LOAD_ADD_I64 PSEUDO!";
return;
break;
case 10:
// ATOMIC_LOAD_ADD_I8
O << " ATOMIC_LOAD_ADD_I8 PSEUDO!";
return;
break;
case 11:
// ATOMIC_LOAD_AND_I16
O << " ATOMIC_LOAD_AND_I16 PSEUDO!";
return;
break;
case 12:
// ATOMIC_LOAD_AND_I32
O << " ATOMIC_LOAD_AND_I32 PSEUDO!";
return;
break;
case 13:
// ATOMIC_LOAD_AND_I64
O << " ATOMIC_LOAD_AND_I64 PSEUDO!";
return;
break;
case 14:
// ATOMIC_LOAD_AND_I8
O << " ATOMIC_LOAD_AND_I8 PSEUDO!";
return;
break;
case 15:
// ATOMIC_LOAD_NAND_I16
O << " ATOMIC_LOAD_NAND_I16 PSEUDO!";
return;
break;
case 16:
// ATOMIC_LOAD_NAND_I32
O << " ATOMIC_LOAD_NAND_I32 PSEUDO!";
return;
break;
case 17:
// ATOMIC_LOAD_NAND_I64
O << " ATOMIC_LOAD_NAND_I64 PSEUDO!";
return;
break;
case 18:
// ATOMIC_LOAD_NAND_I8
O << " ATOMIC_LOAD_NAND_I8 PSEUDO!";
return;
break;
case 19:
// ATOMIC_LOAD_OR_I16
O << " ATOMIC_LOAD_OR_I16 PSEUDO!";
return;
break;
case 20:
// ATOMIC_LOAD_OR_I32
O << " ATOMIC_LOAD_OR_I32 PSEUDO!";
return;
break;
case 21:
// ATOMIC_LOAD_OR_I64
O << " ATOMIC_LOAD_OR_I64 PSEUDO!";
return;
break;
case 22:
// ATOMIC_LOAD_OR_I8
O << " ATOMIC_LOAD_OR_I8 PSEUDO!";
return;
break;
case 23:
// ATOMIC_LOAD_SUB_I16
O << " ATOMIC_LOAD_SUB_I16 PSEUDO!";
return;
break;
case 24:
// ATOMIC_LOAD_SUB_I32
O << " ATOMIC_LOAD_SUB_I32 PSEUDO!";
return;
break;
case 25:
// ATOMIC_LOAD_SUB_I64
O << " ATOMIC_LOAD_SUB_I64 PSEUDO!";
return;
break;
case 26:
// ATOMIC_LOAD_SUB_I8
O << " ATOMIC_LOAD_SUB_I8 PSEUDO!";
return;
break;
case 27:
// ATOMIC_LOAD_XOR_I16
O << " ATOMIC_LOAD_XOR_I16 PSEUDO!";
return;
break;
case 28:
// ATOMIC_LOAD_XOR_I32
O << " ATOMIC_LOAD_XOR_I32 PSEUDO!";
return;
break;
case 29:
// ATOMIC_LOAD_XOR_I64
O << " ATOMIC_LOAD_XOR_I64 PSEUDO!";
return;
break;
case 30:
// ATOMIC_LOAD_XOR_I8
O << " ATOMIC_LOAD_XOR_I8 PSEUDO!";
return;
break;
case 31:
// ATOMIC_SWAP_I16
O << " ATOMIC_SWAP_I16 PSEUDO!";
return;
break;
case 32:
// ATOMIC_SWAP_I32
O << " ATOMIC_SWAP_I32 PSEUDO!";
return;
break;
case 33:
// ATOMIC_SWAP_I64
O << " ATOMIC_SWAP_I64 PSEUDO!";
return;
break;
case 34:
// ATOMIC_SWAP_I8
O << " ATOMIC_SWAP_I8 PSEUDO!";
return;
break;
case 35:
// BCC, TCRETURNai, TCRETURNai8, TCRETURNdi, TCRETURNdi8, TCRETURNri, TCR...
O << ' ';
break;
case 36:
// BL8_Darwin, BL8_ELF, BLA8_Darwin, BLA8_ELF, BLA_Darwin, BLA_SVR4, BL_D...
return;
break;
case 37:
// BLR
O << "lr ";
printPredicateOperand(MI, 0, "reg");
return;
break;
case 38:
// DYNALLOC
O << " DYNALLOC ";
printOperand(MI, 0);
O << ", ";
printOperand(MI, 1);
O << ", ";
printMemRegImm(MI, 2);
return;
break;
case 39:
// DYNALLOC8
O << " DYNALLOC8 ";
printOperand(MI, 0);
O << ", ";
printOperand(MI, 1);
O << ", ";
printMemRegImm(MI, 2);
return;
break;
case 40:
// LDinto_toc
O << ')';
return;
break;
case 41:
// MFVRSAVE
O << ", 256";
return;
break;
case 42:
// MTFSF
printOperand(MI, 2);
return;
break;
case 43:
// SELECT_CC_F4, SELECT_CC_F8, SELECT_CC_I4, SELECT_CC_I8, SELECT_CC_VRRC
O << " SELECT_CC PSEUDO!";
return;
break;
case 44:
// SPILL_CR
O << " SPILL_CR ";
printOperand(MI, 0);
O << ' ';
printMemRegImm(MI, 1);
return;
break;
case 45:
// STBU, STBU8, STFDU, STFSU, STHU, STHU8, STWU
printSymbolLo(MI, 2);
O << '(';
printOperand(MI, 3);
O << ')';
return;
break;
case 46:
// STDU
printS16X4ImmOperand(MI, 2);
O << '(';
printOperand(MI, 3);
O << ')';
return;
break;
}
// Fragment 2 encoded into 4 bits for 15 unique commands.
switch ((Bits >> 18) & 15) {
default: // unreachable.
case 0:
// ADD4, ADD8, ADDC, ADDC8, ADDE, ADDE8, ADDI, ADDI8, ADDIC, ADDIC8, ADDI...
printOperand(MI, 1);
break;
case 1:
// BCC
printPredicateOperand(MI, 0, "reg");
O << ", ";
printBranchOperand(MI, 2);
return;
break;
case 2:
// CRSET, V_SET0
printOperand(MI, 0);
O << ", ";
printOperand(MI, 0);
return;
break;
case 3:
// LA, LHAU8
printSymbolLo(MI, 2);
O << '(';
break;
case 4:
// LBZ, LBZ8, LFD, LFS, LHA, LHA8, LHZ, LHZ8, LWZ, LWZ8, STB, STB8, STFD,...
printMemRegImm(MI, 1);
return;
break;
case 5:
// LBZU, LBZU8, LFDU, LFSU, LHAU, LHZU, LHZU8, LWZU, LWZU8
printMemRegImm(MI, 2);
return;
break;
case 6:
// LBZX, LBZX8, LDARX, LDX, LFDX, LFSX, LHAX, LHAX8, LHBRX, LHZX, LHZX8, ...
printMemRegReg(MI, 1);
return;
break;
case 7:
// LD, LWA, STD, STD_32
printMemRegImmShifted(MI, 1);
return;
break;
case 8:
// LDU
printMemRegImmShifted(MI, 2);
return;
break;
case 9:
// LDtoc
printTOCEntryLabel(MI, 1);
O << '(';
printOperand(MI, 2);
O << ')';
return;
break;
case 10:
// LI, LI8
printSymbolLo(MI, 1);
return;
break;
case 11:
// LIS, LIS8
printSymbolHi(MI, 1);
return;
break;
case 12:
// MFOCRF
printcrbitm(MI, 1);
return;
break;
case 13:
// RLDIMI, RLWIMI, VCFSX, VCFUX, VCTSXS, VCTUXS, VSPLTB, VSPLTH, VSPLTW
printOperand(MI, 2);
O << ", ";
break;
case 14:
// VSPLTISB, VSPLTISH, VSPLTISW
printS5ImmOperand(MI, 1);
return;
break;
}
// Fragment 3 encoded into 3 bits for 7 unique commands.
switch ((Bits >> 15) & 7) {
default: // unreachable.
case 0:
// ADD4, ADD8, ADDC, ADDC8, ADDE, ADDE8, ADDI, ADDI8, ADDIC, ADDIC8, ADDI...
O << ", ";
break;
case 1:
// ADDME, ADDME8, ADDZE, ADDZE8, CNTLZD, CNTLZW, EXTSB, EXTSB8, EXTSH, EX...
return;
break;
case 2:
// LA
printOperand(MI, 1);
O << ')';
return;
break;
case 3:
// LHAU8
printOperand(MI, 3);
O << ')';
return;
break;
case 4:
// RLDIMI
printU6ImmOperand(MI, 3);
O << ", ";
printU6ImmOperand(MI, 4);
return;
break;
case 5:
// RLWIMI
printU5ImmOperand(MI, 3);
O << ", ";
printU5ImmOperand(MI, 4);
O << ", ";
printU5ImmOperand(MI, 5);
return;
break;
case 6:
// VCFSX, VCFUX, VCTSXS, VCTUXS, VSPLTB, VSPLTH, VSPLTW
printU5ImmOperand(MI, 1);
return;
break;
}
// Fragment 4 encoded into 3 bits for 6 unique commands.
switch ((Bits >> 12) & 7) {
default: // unreachable.
case 0:
// ADD4, ADD8, ADDC, ADDC8, ADDE, ADDE8, AND, AND8, ANDC, ANDC8, CMPD, CM...
printOperand(MI, 2);
break;
case 1:
// ADDI, ADDI8, ADDIC, ADDIC8, ADDICo, CMPDI, CMPWI, MULLI, SUBFIC, SUBFI...
printS16ImmOperand(MI, 2);
return;
break;
case 2:
// ADDIS, ADDIS8
printSymbolHi(MI, 2);
return;
break;
case 3:
// ANDISo, ANDISo8, ANDIo, ANDIo8, CMPLDI, CMPLWI, ORI, ORI8, ORIS, ORIS8...
printU16ImmOperand(MI, 2);
return;
break;
case 4:
// RLDICL, RLDICR, SRADI
printU6ImmOperand(MI, 2);
break;
case 5:
// RLWINM, RLWINMo, SRAWI
printU5ImmOperand(MI, 2);
break;
}
switch (MI->getOpcode()) {
case PPC::ADD4:
case PPC::ADD8:
case PPC::ADDC:
case PPC::ADDC8:
case PPC::ADDE:
case PPC::ADDE8:
case PPC::AND:
case PPC::AND8:
case PPC::ANDC:
case PPC::ANDC8:
case PPC::CMPD:
case PPC::CMPLD:
case PPC::CMPLW:
case PPC::CMPW:
case PPC::CREQV:
case PPC::CROR:
case PPC::DIVD:
case PPC::DIVDU:
case PPC::DIVW:
case PPC::DIVWU:
case PPC::EQV:
case PPC::EQV8:
case PPC::FADD:
case PPC::FADDS:
case PPC::FADDrtz:
case PPC::FCMPUD:
case PPC::FCMPUS:
case PPC::FDIV:
case PPC::FDIVS:
case PPC::FMUL:
case PPC::FMULS:
case PPC::FSUB:
case PPC::FSUBS:
case PPC::MULHD:
case PPC::MULHDU:
case PPC::MULHW:
case PPC::MULHWU:
case PPC::MULLD:
case PPC::MULLW:
case PPC::NAND:
case PPC::NAND8:
case PPC::NOR:
case PPC::NOR8:
case PPC::OR:
case PPC::OR4To8:
case PPC::OR8:
case PPC::OR8To4:
case PPC::ORC:
case PPC::ORC8:
case PPC::SLD:
case PPC::SLW:
case PPC::SRAD:
case PPC::SRADI:
case PPC::SRAW:
case PPC::SRAWI:
case PPC::SRD:
case PPC::SRW:
case PPC::STWUX:
case PPC::SUBF:
case PPC::SUBF8:
case PPC::SUBFC:
case PPC::SUBFC8:
case PPC::SUBFE:
case PPC::SUBFE8:
case PPC::VADDCUW:
case PPC::VADDFP:
case PPC::VADDSBS:
case PPC::VADDSHS:
case PPC::VADDSWS:
case PPC::VADDUBM:
case PPC::VADDUBS:
case PPC::VADDUHM:
case PPC::VADDUHS:
case PPC::VADDUWM:
case PPC::VADDUWS:
case PPC::VAND:
case PPC::VANDC:
case PPC::VAVGSB:
case PPC::VAVGSH:
case PPC::VAVGSW:
case PPC::VAVGUB:
case PPC::VAVGUH:
case PPC::VAVGUW:
case PPC::VCMPBFP:
case PPC::VCMPBFPo:
case PPC::VCMPEQFP:
case PPC::VCMPEQFPo:
case PPC::VCMPEQUB:
case PPC::VCMPEQUBo:
case PPC::VCMPEQUH:
case PPC::VCMPEQUHo:
case PPC::VCMPEQUW:
case PPC::VCMPEQUWo:
case PPC::VCMPGEFP:
case PPC::VCMPGEFPo:
case PPC::VCMPGTFP:
case PPC::VCMPGTFPo:
case PPC::VCMPGTSB:
case PPC::VCMPGTSBo:
case PPC::VCMPGTSH:
case PPC::VCMPGTSHo:
case PPC::VCMPGTSW:
case PPC::VCMPGTSWo:
case PPC::VCMPGTUB:
case PPC::VCMPGTUBo:
case PPC::VCMPGTUH:
case PPC::VCMPGTUHo:
case PPC::VCMPGTUW:
case PPC::VCMPGTUWo:
case PPC::VMAXFP:
case PPC::VMAXSB:
case PPC::VMAXSH:
case PPC::VMAXSW:
case PPC::VMAXUB:
case PPC::VMAXUH:
case PPC::VMAXUW:
case PPC::VMINFP:
case PPC::VMINSB:
case PPC::VMINSH:
case PPC::VMINSW:
case PPC::VMINUB:
case PPC::VMINUH:
case PPC::VMINUW:
case PPC::VMRGHB:
case PPC::VMRGHH:
case PPC::VMRGHW:
case PPC::VMRGLB:
case PPC::VMRGLH:
case PPC::VMRGLW:
case PPC::VMULESB:
case PPC::VMULESH:
case PPC::VMULEUB:
case PPC::VMULEUH:
case PPC::VMULOSB:
case PPC::VMULOSH:
case PPC::VMULOUB:
case PPC::VMULOUH:
case PPC::VNOR:
case PPC::VOR:
case PPC::VPKPX:
case PPC::VPKSHSS:
case PPC::VPKSHUS:
case PPC::VPKSWSS:
case PPC::VPKSWUS:
case PPC::VPKUHUM:
case PPC::VPKUHUS:
case PPC::VPKUWUM:
case PPC::VPKUWUS:
case PPC::VRLB:
case PPC::VRLH:
case PPC::VRLW:
case PPC::VSL:
case PPC::VSLB:
case PPC::VSLH:
case PPC::VSLO:
case PPC::VSLW:
case PPC::VSR:
case PPC::VSRAB:
case PPC::VSRAH:
case PPC::VSRAW:
case PPC::VSRB:
case PPC::VSRH:
case PPC::VSRO:
case PPC::VSRW:
case PPC::VSUBCUW:
case PPC::VSUBFP:
case PPC::VSUBSBS:
case PPC::VSUBSHS:
case PPC::VSUBSWS:
case PPC::VSUBUBM:
case PPC::VSUBUBS:
case PPC::VSUBUHM:
case PPC::VSUBUHS:
case PPC::VSUBUWM:
case PPC::VSUBUWS:
case PPC::VSUM2SWS:
case PPC::VSUM4SBS:
case PPC::VSUM4SHS:
case PPC::VSUM4UBS:
case PPC::VSUMSWS:
case PPC::VXOR:
case PPC::XOR:
case PPC::XOR8:
return;
break;
case PPC::FMADD:
case PPC::FMADDS:
case PPC::FMSUB:
case PPC::FMSUBS:
case PPC::FNMADD:
case PPC::FNMADDS:
case PPC::FNMSUB:
case PPC::FNMSUBS:
case PPC::FSELD:
case PPC::FSELS:
case PPC::RLDCL:
case PPC::RLDICL:
case PPC::RLDICR:
case PPC::VMADDFP:
case PPC::VMHADDSHS:
case PPC::VMHRADDSHS:
case PPC::VMLADDUHM:
case PPC::VMSUMMBM:
case PPC::VMSUMSHM:
case PPC::VMSUMSHS:
case PPC::VMSUMUBM:
case PPC::VMSUMUHM:
case PPC::VMSUMUHS:
case PPC::VNMSUBFP:
case PPC::VPERM:
case PPC::VSEL:
case PPC::VSLDOI:
O << ", ";
switch (MI->getOpcode()) {
case PPC::FMADD:
case PPC::FMADDS:
case PPC::FMSUB:
case PPC::FMSUBS:
case PPC::FNMADD:
case PPC::FNMADDS:
case PPC::FNMSUB:
case PPC::FNMSUBS:
case PPC::FSELD:
case PPC::FSELS:
case PPC::VMADDFP:
case PPC::VMHADDSHS:
case PPC::VMHRADDSHS:
case PPC::VMLADDUHM:
case PPC::VMSUMMBM:
case PPC::VMSUMSHM:
case PPC::VMSUMSHS:
case PPC::VMSUMUBM:
case PPC::VMSUMUHM:
case PPC::VMSUMUHS:
case PPC::VNMSUBFP:
case PPC::VPERM:
case PPC::VSEL: printOperand(MI, 3); break;
case PPC::RLDCL:
case PPC::RLDICL:
case PPC::RLDICR: printU6ImmOperand(MI, 3); break;
case PPC::VSLDOI: printU5ImmOperand(MI, 3); break;
}
return;
break;
case PPC::RLWINM:
case PPC::RLWINMo:
case PPC::RLWNM:
O << ", ";
printU5ImmOperand(MI, 3);
O << ", ";
printU5ImmOperand(MI, 4);
return;
break;
}
return;
}
/// getRegisterName - This method is automatically generated by tblgen
/// from the register set description. This returns the assembler name
/// for the specified register.
const char *PPCAsmPrinter::getRegisterName(unsigned RegNo) {
assert(RegNo && RegNo < 176 && "Invalid register number!");
static const unsigned RegAsmOffset[] = {
0, 3, 7, 9, 11, 13, 15, 19, 21, 23, 25, 27, 31, 34,
36, 38, 41, 45, 48, 51, 54, 57, 61, 64, 67, 70, 73, 77,
80, 83, 86, 89, 93, 96, 99, 102, 105, 109, 112, 115, 118, 121,
121, 125, 128, 131, 135, 139, 143, 147, 151, 155, 159, 163, 167, 171,
174, 178, 182, 186, 190, 194, 198, 202, 206, 210, 214, 217, 221, 225,
228, 231, 234, 237, 240, 243, 243, 246, 249, 252, 256, 260, 264, 268,
272, 276, 280, 284, 288, 292, 295, 299, 303, 307, 311, 315, 319, 323,
327, 331, 335, 338, 342, 346, 349, 352, 355, 358, 361, 364, 382, 385,
388, 392, 396, 400, 404, 408, 412, 416, 420, 424, 428, 431, 435, 439,
443, 447, 451, 455, 459, 463, 467, 471, 474, 478, 482, 485, 488, 491,
494, 497, 500, 246, 249, 252, 256, 260, 264, 268, 272, 276, 280, 284,
288, 292, 295, 299, 303, 307, 311, 315, 319, 323, 327, 331, 335, 338,
342, 346, 349, 352, 355, 358, 361, 0
};
const char *AsmStrs =
"ca\000cr0\0002\0001\0000\0003\000cr1\0006\0005\0004\0007\000cr2\00010\000"
"9\0008\00011\000cr3\00014\00013\00012\00015\000cr4\00018\00017\00016\000"
"19\000cr5\00022\00021\00020\00023\000cr6\00026\00025\00024\00027\000cr7"
"\00030\00029\00028\00031\000ctr\000f0\000f1\000f10\000f11\000f12\000f13"
"\000f14\000f15\000f16\000f17\000f18\000f19\000f2\000f20\000f21\000f22\000"
"f23\000f24\000f25\000f26\000f27\000f28\000f29\000f3\000f30\000f31\000f4"
"\000f5\000f6\000f7\000f8\000f9\000lr\000r0\000r1\000r10\000r11\000r12\000"
"r13\000r14\000r15\000r16\000r17\000r18\000r19\000r2\000r20\000r21\000r2"
"2\000r23\000r24\000r25\000r26\000r27\000r28\000r29\000r3\000r30\000r31\000"
"r4\000r5\000r6\000r7\000r8\000r9\000**ROUNDING MODE**\000v0\000v1\000v1"
"0\000v11\000v12\000v13\000v14\000v15\000v16\000v17\000v18\000v19\000v2\000"
"v20\000v21\000v22\000v23\000v24\000v25\000v26\000v27\000v28\000v29\000v"
"3\000v30\000v31\000v4\000v5\000v6\000v7\000v8\000v9\000VRsave\000";
return AsmStrs+RegAsmOffset[RegNo-1];
}
#ifdef GET_INSTRUCTION_NAME
#undef GET_INSTRUCTION_NAME
/// getInstructionName: This method is automatically generated by tblgen
/// from the instruction set description. This returns the enum name of the
/// specified instruction.
const char *PPCAsmPrinter::getInstructionName(unsigned Opcode) {
assert(Opcode < 519 && "Invalid instruction number!");
static const unsigned InstAsmOffset[] = {
0, 4, 14, 24, 33, 42, 47, 62, 76, 89, 103, 120, 130, 135,
140, 145, 151, 156, 162, 167, 173, 179, 186, 193, 199, 206, 212, 219,
225, 232, 249, 264, 268, 273, 278, 284, 291, 299, 305, 312, 332, 352,
372, 391, 411, 431, 451, 470, 490, 510, 530, 549, 570, 591, 612, 632,
651, 670, 689, 707, 727, 747, 767, 786, 806, 826, 846, 865, 881, 897,
913, 928, 930, 934, 939, 953, 964, 977, 988, 999, 1007, 1019, 1028, 1039,
1048, 1052, 1062, 1070, 1075, 1081, 1087, 1094, 1100, 1107, 1112, 1118, 1125, 1132,
1138, 1143, 1149, 1154, 1159, 1164, 1170, 1175, 1182, 1187, 1193, 1198, 1204, 1209,
1215, 1219, 1226, 1230, 1236, 1242, 1250, 1257, 1266, 1271, 1278, 1287, 1297, 1301,
1306, 1312, 1319, 1325, 1332, 1338, 1347, 1359, 1365, 1371, 1376, 1382, 1390, 1396,
1403, 1410, 1417, 1424, 1429, 1435, 1441, 1448, 1452, 1458, 1464, 1471, 1476, 1482,
1489, 1496, 1502, 1508, 1515, 1523, 1530, 1538, 1543, 1549, 1555, 1561, 1568, 1573,
1579, 1582, 1586, 1591, 1596, 1602, 1607, 1613, 1616, 1622, 1626, 1630, 1641, 1647,
1661, 1665, 1670, 1675, 1679, 1684, 1689, 1693, 1698, 1703, 1709, 1714, 1720, 1726,
1730, 1735, 1740, 1746, 1751, 1757, 1760, 1764, 1768, 1773, 1779, 1785, 1791, 1796,
1801, 1805, 1810, 1814, 1820, 1825, 1831, 1835, 1840, 1845, 1851, 1856, 1862, 1867,
1872, 1878, 1885, 1890, 1895, 1901, 1908, 1917, 1924, 1930, 1936, 1943, 1950, 1957,
1963, 1968, 1974, 1983, 1990, 1996, 2003, 2009, 2016, 2022, 2028, 2034, 2045, 2057,
2062, 2068, 2072, 2077, 2081, 2085, 2090, 2093, 2100, 2104, 2111, 2115, 2120, 2124,
2129, 2134, 2140, 2146, 2153, 2160, 2167, 2174, 2181, 2189, 2195, 2208, 2221, 2234,
2247, 2262, 2266, 2270, 2279, 2284, 2290, 2295, 2301, 2305, 2309, 2313, 2318, 2323,
2329, 2334, 2340, 2344, 2350, 2355, 2361, 2366, 2374, 2381, 2386, 2392, 2398, 2405,
2410, 2416, 2422, 2426, 2431, 2438, 2443, 2449, 2454, 2460, 2467, 2474, 2481, 2486,
2492, 2496, 2501, 2508, 2514, 2519, 2525, 2530, 2536, 2541, 2547, 2553, 2560, 2566,
2573, 2580, 2588, 2595, 2603, 2610, 2618, 2623, 2629, 2636, 2643, 2651, 2660, 2670,
2681, 2693, 2704, 2716, 2727, 2739, 2744, 2758, 2766, 2773, 2781, 2789, 2797, 2805,
2813, 2821, 2829, 2837, 2845, 2850, 2856, 2863, 2870, 2877, 2884, 2891, 2898, 2904,
2910, 2918, 2927, 2936, 2946, 2955, 2965, 2974, 2984, 2993, 3003, 3012, 3022, 3031,
3041, 3050, 3060, 3069, 3079, 3088, 3098, 3107, 3117, 3126, 3136, 3145, 3155, 3162,
3169, 3178, 3186, 3194, 3201, 3208, 3215, 3222, 3229, 3236, 3243, 3253, 3264, 3271,
3278, 3285, 3292, 3299, 3306, 3313, 3323, 3330, 3337, 3344, 3351, 3358, 3365, 3374,
3383, 3392, 3401, 3410, 3419, 3427, 3435, 3443, 3451, 3459, 3467, 3475, 3483, 3492,
3497, 3501, 3507, 3513, 3521, 3529, 3537, 3545, 3553, 3561, 3569, 3577, 3583, 3589,
3595, 3601, 3607, 3612, 3617, 3622, 3632, 3637, 3641, 3646, 3653, 3658, 3663, 3668,
3675, 3682, 3691, 3700, 3709, 3716, 3720, 3726, 3732, 3738, 3743, 3748, 3753, 3758,
3766, 3773, 3781, 3789, 3797, 3805, 3813, 3821, 3829, 3837, 3845, 3854, 3863, 3872,
3881, 3889, 3897, 3905, 3913, 3921, 3929, 3937, 3942, 3949, 3953, 3958, 3963, 3969,
3975, 0
};
const char *Strs =
"PHI\000INLINEASM\000DBG_LABEL\000EH_LABEL\000GC_LABEL\000KILL\000EXTRAC"
"T_SUBREG\000INSERT_SUBREG\000IMPLICIT_DEF\000SUBREG_TO_REG\000COPY_TO_R"
"EGCLASS\000DBG_VALUE\000ADD4\000ADD8\000ADDC\000ADDC8\000ADDE\000ADDE8\000"
"ADDI\000ADDI8\000ADDIC\000ADDIC8\000ADDICo\000ADDIS\000ADDIS8\000ADDME\000"
"ADDME8\000ADDZE\000ADDZE8\000ADJCALLSTACKDOWN\000ADJCALLSTACKUP\000AND\000"
"AND8\000ANDC\000ANDC8\000ANDISo\000ANDISo8\000ANDIo\000ANDIo8\000ATOMIC"
"_CMP_SWAP_I16\000ATOMIC_CMP_SWAP_I32\000ATOMIC_CMP_SWAP_I64\000ATOMIC_C"
"MP_SWAP_I8\000ATOMIC_LOAD_ADD_I16\000ATOMIC_LOAD_ADD_I32\000ATOMIC_LOAD"
"_ADD_I64\000ATOMIC_LOAD_ADD_I8\000ATOMIC_LOAD_AND_I16\000ATOMIC_LOAD_AN"
"D_I32\000ATOMIC_LOAD_AND_I64\000ATOMIC_LOAD_AND_I8\000ATOMIC_LOAD_NAND_"
"I16\000ATOMIC_LOAD_NAND_I32\000ATOMIC_LOAD_NAND_I64\000ATOMIC_LOAD_NAND"
"_I8\000ATOMIC_LOAD_OR_I16\000ATOMIC_LOAD_OR_I32\000ATOMIC_LOAD_OR_I64\000"
"ATOMIC_LOAD_OR_I8\000ATOMIC_LOAD_SUB_I16\000ATOMIC_LOAD_SUB_I32\000ATOM"
"IC_LOAD_SUB_I64\000ATOMIC_LOAD_SUB_I8\000ATOMIC_LOAD_XOR_I16\000ATOMIC_"
"LOAD_XOR_I32\000ATOMIC_LOAD_XOR_I64\000ATOMIC_LOAD_XOR_I8\000ATOMIC_SWA"
"P_I16\000ATOMIC_SWAP_I32\000ATOMIC_SWAP_I64\000ATOMIC_SWAP_I8\000B\000B"
"CC\000BCTR\000BCTRL8_Darwin\000BCTRL8_ELF\000BCTRL_Darwin\000BCTRL_SVR4"
"\000BL8_Darwin\000BL8_ELF\000BLA8_Darwin\000BLA8_ELF\000BLA_Darwin\000B"
"LA_SVR4\000BLR\000BL_Darwin\000BL_SVR4\000CMPD\000CMPDI\000CMPLD\000CMP"
"LDI\000CMPLW\000CMPLWI\000CMPW\000CMPWI\000CNTLZD\000CNTLZW\000CREQV\000"
"CROR\000CRSET\000DCBA\000DCBF\000DCBI\000DCBST\000DCBT\000DCBTST\000DCB"
"Z\000DCBZL\000DIVD\000DIVDU\000DIVW\000DIVWU\000DSS\000DSSALL\000DST\000"
"DST64\000DSTST\000DSTST64\000DSTSTT\000DSTSTT64\000DSTT\000DSTT64\000DY"
"NALLOC\000DYNALLOC8\000EQV\000EQV8\000EXTSB\000EXTSB8\000EXTSH\000EXTSH"
"8\000EXTSW\000EXTSW_32\000EXTSW_32_64\000FABSD\000FABSS\000FADD\000FADD"
"S\000FADDrtz\000FCFID\000FCMPUD\000FCMPUS\000FCTIDZ\000FCTIWZ\000FDIV\000"
"FDIVS\000FMADD\000FMADDS\000FMR\000FMRSD\000FMSUB\000FMSUBS\000FMUL\000"
"FMULS\000FNABSD\000FNABSS\000FNEGD\000FNEGS\000FNMADD\000FNMADDS\000FNM"
"SUB\000FNMSUBS\000FRSP\000FSELD\000FSELS\000FSQRT\000FSQRTS\000FSUB\000"
"FSUBS\000LA\000LBZ\000LBZ8\000LBZU\000LBZU8\000LBZX\000LBZX8\000LD\000L"
"DARX\000LDU\000LDX\000LDinto_toc\000LDtoc\000LDtoc_restore\000LFD\000LF"
"DU\000LFDX\000LFS\000LFSU\000LFSX\000LHA\000LHA8\000LHAU\000LHAU8\000LH"
"AX\000LHAX8\000LHBRX\000LHZ\000LHZ8\000LHZU\000LHZU8\000LHZX\000LHZX8\000"
"LI\000LI8\000LIS\000LIS8\000LVEBX\000LVEHX\000LVEWX\000LVSL\000LVSR\000"
"LVX\000LVXL\000LWA\000LWARX\000LWAX\000LWBRX\000LWZ\000LWZ8\000LWZU\000"
"LWZU8\000LWZX\000LWZX8\000MCRF\000MFCR\000MFCTR\000MFCTR8\000MFFS\000MF"
"LR\000MFLR8\000MFOCRF\000MFVRSAVE\000MFVSCR\000MTCRF\000MTCTR\000MTCTR8"
"\000MTFSB0\000MTFSB1\000MTFSF\000MTLR\000MTLR8\000MTVRSAVE\000MTVSCR\000"
"MULHD\000MULHDU\000MULHW\000MULHWU\000MULLD\000MULLI\000MULLW\000MovePC"
"toLR\000MovePCtoLR8\000NAND\000NAND8\000NEG\000NEG8\000NOP\000NOR\000NO"
"R8\000OR\000OR4To8\000OR8\000OR8To4\000ORC\000ORC8\000ORI\000ORI8\000OR"
"IS\000ORIS8\000RLDCL\000RLDICL\000RLDICR\000RLDIMI\000RLWIMI\000RLWINM\000"
"RLWINMo\000RLWNM\000SELECT_CC_F4\000SELECT_CC_F8\000SELECT_CC_I4\000SEL"
"ECT_CC_I8\000SELECT_CC_VRRC\000SLD\000SLW\000SPILL_CR\000SRAD\000SRADI\000"
"SRAW\000SRAWI\000SRD\000SRW\000STB\000STB8\000STBU\000STBU8\000STBX\000"
"STBX8\000STD\000STDCX\000STDU\000STDUX\000STDX\000STDX_32\000STD_32\000"
"STFD\000STFDU\000STFDX\000STFIWX\000STFS\000STFSU\000STFSX\000STH\000ST"
"H8\000STHBRX\000STHU\000STHU8\000STHX\000STHX8\000STVEBX\000STVEHX\000S"
"TVEWX\000STVX\000STVXL\000STW\000STW8\000STWBRX\000STWCX\000STWU\000STW"
"UX\000STWX\000STWX8\000SUBF\000SUBF8\000SUBFC\000SUBFC8\000SUBFE\000SUB"
"FE8\000SUBFIC\000SUBFIC8\000SUBFME\000SUBFME8\000SUBFZE\000SUBFZE8\000S"
"YNC\000TAILB\000TAILB8\000TAILBA\000TAILBA8\000TAILBCTR\000TAILBCTR8\000"
"TCRETURNai\000TCRETURNai8\000TCRETURNdi\000TCRETURNdi8\000TCRETURNri\000"
"TCRETURNri8\000TRAP\000UPDATE_VRSAVE\000VADDCUW\000VADDFP\000VADDSBS\000"
"VADDSHS\000VADDSWS\000VADDUBM\000VADDUBS\000VADDUHM\000VADDUHS\000VADDU"
"WM\000VADDUWS\000VAND\000VANDC\000VAVGSB\000VAVGSH\000VAVGSW\000VAVGUB\000"
"VAVGUH\000VAVGUW\000VCFSX\000VCFUX\000VCMPBFP\000VCMPBFPo\000VCMPEQFP\000"
"VCMPEQFPo\000VCMPEQUB\000VCMPEQUBo\000VCMPEQUH\000VCMPEQUHo\000VCMPEQUW"
"\000VCMPEQUWo\000VCMPGEFP\000VCMPGEFPo\000VCMPGTFP\000VCMPGTFPo\000VCMP"
"GTSB\000VCMPGTSBo\000VCMPGTSH\000VCMPGTSHo\000VCMPGTSW\000VCMPGTSWo\000"
"VCMPGTUB\000VCMPGTUBo\000VCMPGTUH\000VCMPGTUHo\000VCMPGTUW\000VCMPGTUWo"
"\000VCTSXS\000VCTUXS\000VEXPTEFP\000VLOGEFP\000VMADDFP\000VMAXFP\000VMA"
"XSB\000VMAXSH\000VMAXSW\000VMAXUB\000VMAXUH\000VMAXUW\000VMHADDSHS\000V"
"MHRADDSHS\000VMINFP\000VMINSB\000VMINSH\000VMINSW\000VMINUB\000VMINUH\000"
"VMINUW\000VMLADDUHM\000VMRGHB\000VMRGHH\000VMRGHW\000VMRGLB\000VMRGLH\000"
"VMRGLW\000VMSUMMBM\000VMSUMSHM\000VMSUMSHS\000VMSUMUBM\000VMSUMUHM\000V"
"MSUMUHS\000VMULESB\000VMULESH\000VMULEUB\000VMULEUH\000VMULOSB\000VMULO"
"SH\000VMULOUB\000VMULOUH\000VNMSUBFP\000VNOR\000VOR\000VPERM\000VPKPX\000"
"VPKSHSS\000VPKSHUS\000VPKSWSS\000VPKSWUS\000VPKUHUM\000VPKUHUS\000VPKUW"
"UM\000VPKUWUS\000VREFP\000VRFIM\000VRFIN\000VRFIP\000VRFIZ\000VRLB\000V"
"RLH\000VRLW\000VRSQRTEFP\000VSEL\000VSL\000VSLB\000VSLDOI\000VSLH\000VS"
"LO\000VSLW\000VSPLTB\000VSPLTH\000VSPLTISB\000VSPLTISH\000VSPLTISW\000V"
"SPLTW\000VSR\000VSRAB\000VSRAH\000VSRAW\000VSRB\000VSRH\000VSRO\000VSRW"
"\000VSUBCUW\000VSUBFP\000VSUBSBS\000VSUBSHS\000VSUBSWS\000VSUBUBM\000VS"
"UBUBS\000VSUBUHM\000VSUBUHS\000VSUBUWM\000VSUBUWS\000VSUM2SWS\000VSUM4S"
"BS\000VSUM4SHS\000VSUM4UBS\000VSUMSWS\000VUPKHPX\000VUPKHSB\000VUPKHSH\000"
"VUPKLPX\000VUPKLSB\000VUPKLSH\000VXOR\000V_SET0\000XOR\000XOR8\000XORI\000"
"XORI8\000XORIS\000XORIS8\000";
return Strs+InstAsmOffset[Opcode];
}
#endif