func buildop(ctxt *obj.Link) { … }
func jalToSym(ctxt *obj.Link, p *obj.Prog, lr int16) { … }
func progedit(ctxt *obj.Link, p *obj.Prog, newprog obj.ProgAlloc) { … }
func addrToReg(a obj.Addr) int16 { … }
func movToLoad(mnemonic obj.As) obj.As { … }
func movToStore(mnemonic obj.As) obj.As { … }
func markRelocs(p *obj.Prog) { … }
func InvertBranch(as obj.As) obj.As { … }
func containsCall(sym *obj.LSym) bool { … }
func setPCs(p *obj.Prog, pc int64) int64 { … }
func stackOffset(a *obj.Addr, stacksize int64) { … }
func preprocess(ctxt *obj.Link, cursym *obj.LSym, newprog obj.ProgAlloc) { … }
func pcAlignPadLength(pc int64, alignedValue int64) int { … }
func stacksplit(ctxt *obj.Link, p *obj.Prog, cursym *obj.LSym, newprog obj.ProgAlloc, framesize int64) *obj.Prog { … }
func signExtend(val int64, bit uint) int64 { … }
func Split32BitImmediate(imm int64) (low, high int64, err error) { … }
func regVal(r, min, max uint32) uint32 { … }
func regI(r uint32) uint32 { … }
func regF(r uint32) uint32 { … }
func regV(r uint32) uint32 { … }
func regAddr(a obj.Addr, min, max uint32) uint32 { … }
func regIAddr(a obj.Addr) uint32 { … }
func regFAddr(a obj.Addr) uint32 { … }
func immEven(x int64) error { … }
func immIFits(x int64, nbits uint) error { … }
func immI(as obj.As, imm int64, nbits uint) uint32 { … }
func wantImmI(ctxt *obj.Link, ins *instruction, imm int64, nbits uint) { … }
func wantReg(ctxt *obj.Link, ins *instruction, pos string, descr string, r, min, max uint32) { … }
func wantNoneReg(ctxt *obj.Link, ins *instruction, pos string, r uint32) { … }
func wantIntReg(ctxt *obj.Link, ins *instruction, pos string, r uint32) { … }
func wantFloatReg(ctxt *obj.Link, ins *instruction, pos string, r uint32) { … }
func wantVectorReg(ctxt *obj.Link, ins *instruction, pos string, r uint32) { … }
func wantEvenOffset(ctxt *obj.Link, ins *instruction, offset int64) { … }
func validateRII(ctxt *obj.Link, ins *instruction) { … }
func validateRIII(ctxt *obj.Link, ins *instruction) { … }
func validateRFFF(ctxt *obj.Link, ins *instruction) { … }
func validateRFFFF(ctxt *obj.Link, ins *instruction) { … }
func validateRFFI(ctxt *obj.Link, ins *instruction) { … }
func validateRFI(ctxt *obj.Link, ins *instruction) { … }
func validateRIF(ctxt *obj.Link, ins *instruction) { … }
func validateRFF(ctxt *obj.Link, ins *instruction) { … }
func validateIII(ctxt *obj.Link, ins *instruction) { … }
func validateIF(ctxt *obj.Link, ins *instruction) { … }
func validateSI(ctxt *obj.Link, ins *instruction) { … }
func validateSF(ctxt *obj.Link, ins *instruction) { … }
func validateB(ctxt *obj.Link, ins *instruction) { … }
func validateU(ctxt *obj.Link, ins *instruction) { … }
func validateJ(ctxt *obj.Link, ins *instruction) { … }
func validateRaw(ctxt *obj.Link, ins *instruction) { … }
func extractBitAndShift(imm uint32, bit, pos int) uint32 { … }
func encodeR(as obj.As, rs1, rs2, rd, funct3, funct7 uint32) uint32 { … }
func encodeR4(as obj.As, rs1, rs2, rs3, rd, funct3, funct2 uint32) uint32 { … }
func encodeRII(ins *instruction) uint32 { … }
func encodeRIII(ins *instruction) uint32 { … }
func encodeRFFF(ins *instruction) uint32 { … }
func encodeRFFFF(ins *instruction) uint32 { … }
func encodeRFFI(ins *instruction) uint32 { … }
func encodeRFI(ins *instruction) uint32 { … }
func encodeRIF(ins *instruction) uint32 { … }
func encodeRFF(ins *instruction) uint32 { … }
func encodeI(as obj.As, rs1, rd, imm uint32) uint32 { … }
func encodeIII(ins *instruction) uint32 { … }
func encodeIF(ins *instruction) uint32 { … }
func encodeS(as obj.As, rs1, rs2, imm uint32) uint32 { … }
func encodeSI(ins *instruction) uint32 { … }
func encodeSF(ins *instruction) uint32 { … }
func encodeBImmediate(imm uint32) uint32 { … }
func encodeB(ins *instruction) uint32 { … }
func encodeU(ins *instruction) uint32 { … }
func encodeJImmediate(imm uint32) uint32 { … }
func encodeJ(ins *instruction) uint32 { … }
func encodeCBImmediate(imm uint32) uint32 { … }
func encodeCJImmediate(imm uint32) uint32 { … }
func encodeRawIns(ins *instruction) uint32 { … }
func EncodeBImmediate(imm int64) (int64, error) { … }
func EncodeCBImmediate(imm int64) (int64, error) { … }
func EncodeCJImmediate(imm int64) (int64, error) { … }
func EncodeIImmediate(imm int64) (int64, error) { … }
func EncodeJImmediate(imm int64) (int64, error) { … }
func EncodeSImmediate(imm int64) (int64, error) { … }
func EncodeUImmediate(imm int64) (int64, error) { … }
type encoding …
var rIIIEncoding …
var rIIEncoding …
var rFFFEncoding …
var rFFFFEncoding …
var rFFIEncoding …
var rFIEncoding …
var rIFEncoding …
var rFFEncoding …
var iIIEncoding …
var iFEncoding …
var sIEncoding …
var sFEncoding …
var bEncoding …
var uEncoding …
var jEncoding …
var rawEncoding …
var pseudoOpEncoding …
var badEncoding …
var encodings …
func encodingForAs(as obj.As) (encoding, error) { … }
type instruction …
func (ins *instruction) String() string { … }
func (ins *instruction) encode() (uint32, error) { … }
func (ins *instruction) length() int { … }
func (ins *instruction) validate(ctxt *obj.Link) { … }
func (ins *instruction) usesRegTmp() bool { … }
func instructionForProg(p *obj.Prog) *instruction { … }
func instructionsForOpImmediate(p *obj.Prog, as obj.As, rs int16) []*instruction { … }
func instructionsForLoad(p *obj.Prog, as obj.As, rs int16) []*instruction { … }
func instructionsForStore(p *obj.Prog, as obj.As, rd int16) []*instruction { … }
func instructionsForTLS(p *obj.Prog, ins *instruction) []*instruction { … }
func instructionsForTLSLoad(p *obj.Prog) []*instruction { … }
func instructionsForTLSStore(p *obj.Prog) []*instruction { … }
func instructionsForMOV(p *obj.Prog) []*instruction { … }
func instructionsForRotate(p *obj.Prog, ins *instruction) []*instruction { … }
func instructionsForProg(p *obj.Prog) []*instruction { … }
func assemble(ctxt *obj.Link, cursym *obj.LSym, newprog obj.ProgAlloc) { … }
func isUnsafePoint(p *obj.Prog) bool { … }
func ParseSuffix(prog *obj.Prog, cond string) (err error) { … }
var LinkRISCV64 …