Documentation
¶
Index ¶
- Constants
- Variables
- func AOP_IRR(op uint32, d uint32, a uint32, simm uint32) uint32
- func AOP_RRR(op uint32, d uint32, a uint32, b uint32) uint32
- func Aconv(a int) string
- func DRconv(a int) string
- func Dconv(p *liblink.Prog, flag int, a *liblink.Addr) string
- func LOP_IRR(op uint32, a uint32, s uint32, uimm uint32) uint32
- func LOP_RRR(op uint32, a uint32, s uint32, b uint32) uint32
- func Mconv(a *liblink.Addr) string
- func OP(o uint32, xo uint32) uint32
- func OPCC(o uint32, xo uint32, rc uint32) uint32
- func OPVCC(o uint32, xo uint32, oe uint32, rc uint32) uint32
- func OP_BC(op uint32, bo uint32, bi uint32, bd uint32, aa uint32) uint32
- func OP_BCR(op uint32, bo uint32, bi uint32) uint32
- func OP_BR(op uint32, li uint32, aa uint32) uint32
- func OP_RLW(op uint32, a uint32, s uint32, sh uint32, mb uint32, me uint32) uint32
- func Pconv(p *liblink.Prog) string
- func Rconv(r int) string
- type Oprang
- type Optab
Constants ¶
View Source
const ( NSNAME = 8 NSYM = 50 NREG = 32 NFREG = 32 )
* powerpc 64
View Source
const ( REGZERO = 0 REGSP = 1 REGSB = 2 REGRET = 3 REGARG = -1 REGRT1 = 3 REGRT2 = 4 REGMIN = 7 REGENV = 11 REGTLS = 13 REGMAX = 27 REGEXT = 30 REGG = 30 REGTMP = 31 FREGRET = 0 FREGMIN = 17 FREGMAX = 26 FREGEXT = 26 FREGCVI = 27 FREGZERO = 28 FREGHALF = 29 FREGONE = 30 FREGTWO = 31 )
View Source
const ( LABEL = 1 << 0 LEAF = 1 << 1 FLOAT = 1 << 2 BRANCH = 1 << 3 LOAD = 1 << 4 FCMP = 1 << 5 SYNC = 1 << 6 LIST = 1 << 7 FOLL = 1 << 8 NOSCHED = 1 << 9 )
View Source
const ( C_NONE = iota C_REG C_FREG C_CREG C_SPR C_ZCON C_SCON C_UCON C_ADDCON C_ANDCON C_LCON C_DCON C_SACON C_SECON C_LACON C_LECON C_DACON C_SBRA C_LBRA C_SAUTO C_LAUTO C_SEXT C_LEXT C_ZOREG C_SOREG C_LOREG C_FPSCR C_MSR C_XER C_LR C_CTR C_ANY C_GOK C_ADDR C_NCLASS )
View Source
const ( AXXX = iota AADD AADDCC AADDV AADDVCC AADDC AADDCCC AADDCV AADDCVCC AADDME AADDMECC AADDMEVCC AADDMEV AADDE AADDECC AADDEVCC AADDEV AADDZE AADDZECC AADDZEVCC AADDZEV AAND AANDCC AANDN AANDNCC ABC ABCL ABEQ ABGE ABGT ABL ABLE ABLT ABNE ABR ABVC ABVS ACMP ACMPU ACNTLZW ACNTLZWCC ACRAND ACRANDN ACREQV ACRNAND ACRNOR ACROR ACRORN ACRXOR ADIVW ADIVWCC ADIVWVCC ADIVWV ADIVWU ADIVWUCC ADIVWUVCC ADIVWUV AEQV AEQVCC AEXTSB AEXTSBCC AEXTSH AEXTSHCC AFABS AFABSCC AFADD AFADDCC AFADDS AFADDSCC AFCMPO AFCMPU AFCTIW AFCTIWCC AFCTIWZ AFCTIWZCC AFDIV AFDIVCC AFDIVS AFDIVSCC AFMADD AFMADDCC AFMADDS AFMADDSCC AFMOVD AFMOVDCC AFMOVDU AFMOVS AFMOVSU AFMSUB AFMSUBCC AFMSUBS AFMSUBSCC AFMUL AFMULCC AFMULS AFMULSCC AFNABS AFNABSCC AFNEG AFNEGCC AFNMADD AFNMADDCC AFNMADDS AFNMADDSCC AFNMSUB AFNMSUBCC AFNMSUBS AFNMSUBSCC AFRSP AFRSPCC AFSUB AFSUBCC AFSUBS AFSUBSCC AMOVMW ALSW ALWAR AMOVWBR AMOVB AMOVBU AMOVBZ AMOVBZU AMOVH AMOVHBR AMOVHU AMOVHZ AMOVHZU AMOVW AMOVWU AMOVFL AMOVCRFS AMTFSB0 AMTFSB0CC AMTFSB1 AMTFSB1CC AMULHW AMULHWCC AMULHWU AMULHWUCC AMULLW AMULLWCC AMULLWVCC AMULLWV ANAND ANANDCC ANEG ANEGCC ANEGVCC ANEGV ANOR ANORCC AOR AORCC AORN AORNCC AREM AREMCC AREMV AREMVCC AREMU AREMUCC AREMUV AREMUVCC ARFI ARLWMI ARLWMICC ARLWNM ARLWNMCC ASLW ASLWCC ASRW ASRAW ASRAWCC ASRWCC ASTSW ASTWCCC ASUB ASUBCC ASUBVCC ASUBC ASUBCCC ASUBCV ASUBCVCC ASUBME ASUBMECC ASUBMEVCC ASUBMEV ASUBV ASUBE ASUBECC ASUBEV ASUBEVCC ASUBZE ASUBZECC ASUBZEVCC ASUBZEV ASYNC AXOR AXORCC ADCBF ADCBI ADCBST ADCBT ADCBTST ADCBZ AECIWX AECOWX AEIEIO AICBI AISYNC APTESYNC ATLBIE ATLBIEL ATLBSYNC ATW ASYSCALL ADATA AGLOBL AGOK AHISTORY ANAME ANOP ARETURN ATEXT AWORD AEND ADYNT AINIT ASIGNAME ARFCI AFRES AFRESCC AFRSQRTE AFRSQRTECC AFSEL AFSELCC AFSQRT AFSQRTCC AFSQRTS AFSQRTSCC ACNTLZD ACNTLZDCC ACMPW ACMPWU ADIVD ADIVDCC ADIVDVCC ADIVDV ADIVDU ADIVDUCC ADIVDUVCC ADIVDUV AEXTSW AEXTSWCC AFCFID AFCFIDCC AFCTID AFCTIDCC AFCTIDZ AFCTIDZCC ALDAR AMOVD AMOVDU AMOVWZ AMOVWZU AMULHD AMULHDCC AMULHDU AMULHDUCC AMULLD AMULLDCC AMULLDVCC AMULLDV ARFID ARLDMI ARLDMICC ARLDC ARLDCCC ARLDCR ARLDCRCC ARLDCL ARLDCLCC ASLBIA ASLBIE ASLBMFEE ASLBMFEV ASLBMTE ASLD ASLDCC ASRD ASRAD ASRADCC ASRDCC ASTDCCC ATD ADWORD AREMD AREMDCC AREMDV AREMDVCC AREMDU AREMDUCC AREMDUV AREMDUVCC AHRFID AUNDEF AUSEFIELD ATYPE AFUNCDATA APCDATA ACHECKNIL AVARDEF AVARKILL ADUFFCOPY ADUFFZERO ALAST )
View Source
const ( D_GOK = 0 + iota D_NONE D_EXTERN D_STATIC D_AUTO D_PARAM D_BRANCH D_OREG D_CONST D_FCONST D_SCONST D_REG D_FPSCR D_MSR D_FREG D_CREG D_SPR D_OPT D_FILE D_FILE1 D_DCR D_DCONST D_ADDR D_LAST D_R0 = 0 D_F0 = D_R0 + NREG D_XER = 1 D_LR = 8 D_CTR = 9 )
type/name
View Source
const ( OP_ADD = 31<<26 | 266<<1 | 0<<10 | 0 OP_ADDI = 14<<26 | 0<<1 | 0<<10 | 0 OP_ADDIS = 15<<26 | 0<<1 | 0<<10 | 0 OP_ANDI = 28<<26 | 0<<1 | 0<<10 | 0 OP_EXTSB = 31<<26 | 954<<1 | 0<<10 | 0 OP_EXTSH = 31<<26 | 922<<1 | 0<<10 | 0 OP_EXTSW = 31<<26 | 986<<1 | 0<<10 | 0 OP_MCRF = 19<<26 | 0<<1 | 0<<10 | 0 OP_MCRFS = 63<<26 | 64<<1 | 0<<10 | 0 OP_MCRXR = 31<<26 | 512<<1 | 0<<10 | 0 OP_MFCR = 31<<26 | 19<<1 | 0<<10 | 0 OP_MFFS = 63<<26 | 583<<1 | 0<<10 | 0 OP_MFMSR = 31<<26 | 83<<1 | 0<<10 | 0 OP_MFSPR = 31<<26 | 339<<1 | 0<<10 | 0 OP_MFSR = 31<<26 | 595<<1 | 0<<10 | 0 OP_MFSRIN = 31<<26 | 659<<1 | 0<<10 | 0 OP_MTCRF = 31<<26 | 144<<1 | 0<<10 | 0 OP_MTFSF = 63<<26 | 711<<1 | 0<<10 | 0 OP_MTFSFI = 63<<26 | 134<<1 | 0<<10 | 0 OP_MTMSR = 31<<26 | 146<<1 | 0<<10 | 0 OP_MTMSRD = 31<<26 | 178<<1 | 0<<10 | 0 OP_MTSPR = 31<<26 | 467<<1 | 0<<10 | 0 OP_MTSR = 31<<26 | 210<<1 | 0<<10 | 0 OP_MTSRIN = 31<<26 | 242<<1 | 0<<10 | 0 OP_MULLW = 31<<26 | 235<<1 | 0<<10 | 0 OP_MULLD = 31<<26 | 233<<1 | 0<<10 | 0 OP_OR = 31<<26 | 444<<1 | 0<<10 | 0 OP_ORI = 24<<26 | 0<<1 | 0<<10 | 0 OP_ORIS = 25<<26 | 0<<1 | 0<<10 | 0 OP_RLWINM = 21<<26 | 0<<1 | 0<<10 | 0 OP_SUBF = 31<<26 | 40<<1 | 0<<10 | 0 OP_RLDIC = 30<<26 | 4<<1 | 0<<10 | 0 OP_RLDICR = 30<<26 | 2<<1 | 0<<10 | 0 OP_RLDICL = 30<<26 | 0<<1 | 0<<10 | 0 )
View Source
const (
BIG = 32768 - 8
)
* GENERAL: * * compiler allocates R3 up as temps * compiler allocates register variables R7-R27 * compiler allocates external registers R30 down * * compiler allocates register variables F17-F26 * compiler allocates external registers F26 down
View Source
const (
FuncAlign = 8
)
View Source
const (
STRINGSZ = 1000
)
Variables ¶
View Source
var Linkppc64 = liblink.LinkArch{ ByteOrder: binary.BigEndian, Pconv: Pconv, Name: "ppc64", Thechar: '9', Endian: liblink.BigEndian, Addstacksplit: addstacksplit, Assemble: span9, Datasize: datasize, Follow: follow, Iscall: iscall, Isdata: isdata, Prg: prg, Progedit: progedit, Settextflag: settextflag, Symtype: symtype, Textflag: textflag, Minlc: 4, Ptrsize: 8, Regsize: 8, D_ADDR: D_ADDR, D_AUTO: D_AUTO, D_BRANCH: D_BRANCH, D_CONST: D_CONST, D_EXTERN: D_EXTERN, D_FCONST: D_FCONST, D_NONE: D_NONE, D_PARAM: D_PARAM, D_SCONST: D_SCONST, D_STATIC: D_STATIC, D_OREG: D_OREG, ACALL: ABL, ADATA: ADATA, AEND: AEND, AFUNCDATA: AFUNCDATA, AGLOBL: AGLOBL, AJMP: ABR, ANOP: ANOP, APCDATA: APCDATA, ARET: ARETURN, ATEXT: ATEXT, ATYPE: ATYPE, AUSEFIELD: AUSEFIELD, }
View Source
var Linkppc64le = liblink.LinkArch{ ByteOrder: binary.LittleEndian, Pconv: Pconv, Name: "ppc64le", Thechar: '9', Endian: liblink.LittleEndian, Addstacksplit: addstacksplit, Assemble: span9, Datasize: datasize, Follow: follow, Iscall: iscall, Isdata: isdata, Prg: prg, Progedit: progedit, Settextflag: settextflag, Symtype: symtype, Textflag: textflag, Minlc: 4, Ptrsize: 8, Regsize: 8, D_ADDR: D_ADDR, D_AUTO: D_AUTO, D_BRANCH: D_BRANCH, D_CONST: D_CONST, D_EXTERN: D_EXTERN, D_FCONST: D_FCONST, D_NONE: D_NONE, D_PARAM: D_PARAM, D_SCONST: D_SCONST, D_STATIC: D_STATIC, D_OREG: D_OREG, ACALL: ABL, ADATA: ADATA, AEND: AEND, AFUNCDATA: AFUNCDATA, AGLOBL: AGLOBL, AJMP: ABR, ANOP: ANOP, APCDATA: APCDATA, ARET: ARETURN, ATEXT: ATEXT, ATYPE: ATYPE, AUSEFIELD: AUSEFIELD, }
Functions ¶
Types ¶
Click to show internal directories.
Click to hide internal directories.