Versions in this module Expand all Collapse all v1 v1.0.2 Nov 11, 2023 v1.0.1 Jul 7, 2023 Changes in this version + const ADDL + const ADDPD + const ADDPS + const ADDQ + const ADDSD + const ADDSS + const ANDL + const ANDNPD + const ANDNPS + const ANDPD + const ANDPS + const ANDQ + const BLENDVPD + const BSRL + const BSRQ + const CDQ + const CLD + const CMOVQCS + const CMPEQPD + const CMPEQPS + const CMPL + const CMPPD + const CMPPS + const CMPQ + const COMISD + const COMISS + const CQO + const CVTDQ2PD + const CVTDQ2PS + const CVTPD2PS + const CVTPS2PD + const CVTSD2SS + const CVTSL2SD + const CVTSL2SS + const CVTSQ2SD + const CVTSQ2SS + const CVTSS2SD + const CVTTPD2DQ + const CVTTPS2DQ + const CVTTSD2SL + const CVTTSD2SQ + const CVTTSS2SL + const CVTTSS2SQ + const ConditionalRegisterStateA + const ConditionalRegisterStateAE + const ConditionalRegisterStateB + const ConditionalRegisterStateBE + const ConditionalRegisterStateE + const ConditionalRegisterStateG + const ConditionalRegisterStateGE + const ConditionalRegisterStateL + const ConditionalRegisterStateLE + const ConditionalRegisterStateNE + const ConditionalRegisterStateNS + const ConditionalRegisterStateS + const DECQ + const DIVL + const DIVPD + const DIVPS + const DIVQ + const DIVSD + const DIVSS + const IDIVL + const IDIVQ + const IMULQ + const INCQ + const INSERTPS + const JCC + const JCS + const JEQ + const JGE + const JGT + const JHI + const JLE + const JLS + const JLT + const JMI + const JMP + const JNE + const JPC + const JPL + const JPS + const LEAQ + const LZCNTL + const LZCNTQ + const MAXPD + const MAXPS + const MAXSD + const MAXSS + const MINPD + const MINPS + const MINSD + const MINSS + const MOVB + const MOVBLSX + const MOVBLZX + const MOVBQSX + const MOVBQZX + const MOVDQA + const MOVDQU + const MOVL + const MOVLHPS + const MOVLQSX + const MOVLQZX + const MOVMSKPD + const MOVMSKPS + const MOVQ + const MOVSD + const MOVUPD + const MOVW + const MOVWLSX + const MOVWLZX + const MOVWQSX + const MOVWQZX + const MULL + const MULPD + const MULPS + const MULQ + const MULSD + const MULSS + const NEGQ + const NONE + const NOP + const ORL + const ORPD + const ORPS + const ORQ + const PABSB + const PABSD + const PABSW + const PACKSSDW + const PACKSSWB + const PACKUSDW + const PACKUSWB + const PADDB + const PADDD + const PADDQ + const PADDSB + const PADDSW + const PADDUSB + const PADDUSW + const PADDW + const PALIGNR + const PAND + const PANDN + const PAVGB + const PAVGW + const PCMPEQB + const PCMPEQD + const PCMPEQQ + const PCMPEQW + const PCMPGTB + const PCMPGTD + const PCMPGTQ + const PCMPGTW + const PEXTRB + const PEXTRD + const PEXTRQ + const PEXTRW + const PINSRB + const PINSRD + const PINSRQ + const PINSRW + const PMADDUBSW + const PMADDWD + const PMAXSB + const PMAXSD + const PMAXSW + const PMAXUB + const PMAXUD + const PMAXUW + const PMINSB + const PMINSD + const PMINSW + const PMINUB + const PMINUD + const PMINUW + const PMOVMSKB + const PMOVSXBW + const PMOVSXDQ + const PMOVSXWD + const PMOVZXBW + const PMOVZXDQ + const PMOVZXWD + const PMULDQ + const PMULHRSW + const PMULHUW + const PMULHW + const PMULLD + const PMULLW + const PMULUDQ + const POPCNTL + const POPCNTQ + const POR + const PSHUFB + const PSHUFD + const PSLLD + const PSLLQ + const PSLLW + const PSRAD + const PSRAW + const PSRLD + const PSRLQ + const PSRLW + const PSUBB + const PSUBD + const PSUBQ + const PSUBSB + const PSUBSW + const PSUBUSB + const PSUBUSW + const PSUBW + const PTEST + const PUNPCKHBW + const PUNPCKHWD + const PUNPCKLBW + const PUNPCKLWD + const PXOR + const REPMOVSQ + const REPSTOSQ + const RET + const ROLL + const ROLQ + const RORL + const RORQ + const ROUNDPD + const ROUNDPS + const ROUNDSD + const ROUNDSS + const RegAX + const RegBP + const RegBX + const RegCX + const RegDI + const RegDX + const RegR10 + const RegR11 + const RegR12 + const RegR13 + const RegR14 + const RegR15 + const RegR8 + const RegR9 + const RegSI + const RegSP + const RegX0 + const RegX1 + const RegX10 + const RegX11 + const RegX12 + const RegX13 + const RegX14 + const RegX15 + const RegX2 + const RegX3 + const RegX4 + const RegX5 + const RegX6 + const RegX7 + const RegX8 + const RegX9 + const RexPrefixB + const RexPrefixDefault + const RexPrefixNone + const RexPrefixR + const RexPrefixW + const RexPrefixX + const SARL + const SARQ + const SETCC + const SETCS + const SETEQ + const SETGE + const SETGT + const SETHI + const SETLE + const SETLS + const SETLT + const SETMI + const SETNE + const SETPC + const SETPL + const SETPS + const SHLL + const SHLQ + const SHRL + const SHRQ + const SHUFPS + const SQRTPD + const SQRTPS + const SQRTSD + const SQRTSS + const STD + const SUBL + const SUBPD + const SUBPS + const SUBQ + const SUBSD + const SUBSS + const TESTL + const TESTQ + const TZCNTL + const TZCNTQ + const UCOMISD + const UCOMISS + const UD2 + const UNPCKLPS + const XCHGQ + const XORL + const XORPD + const XORPS + const XORQ + var RegisterToRegisterShiftOpcode = map[asm.Instruction]struct{ ... } + func FitIn32bit(v int64) bool + func InstructionName(instruction asm.Instruction) string + func IsVectorRegister(r asm.Register) bool + func RegisterName(reg asm.Register) string + type Assembler interface + CompileConstToMemory func(instruction asm.Instruction, value int64, dstBaseReg asm.Register, ...) asm.Node + CompileJumpToMemory func(jmpInstruction asm.Instruction, baseReg asm.Register, offset asm.ConstantValue) + CompileMemoryToConst func(instruction asm.Instruction, srcBaseReg asm.Register, srcOffset int64, ...) asm.Node + CompileMemoryWithIndexAndArgToRegister func(instruction asm.Instruction, srcBaseReg asm.Register, srcOffsetConst int64, ...) + CompileMemoryWithIndexToRegister func(instruction asm.Instruction, srcBaseReg asm.Register, srcOffsetConst int64, ...) + CompileNoneToMemory func(instruction asm.Instruction, baseReg asm.Register, offset int64) + CompileNoneToRegister func(instruction asm.Instruction, register asm.Register) + CompileRegisterToConst func(instruction asm.Instruction, srcRegister asm.Register, value int64) asm.Node + CompileRegisterToMemoryWithIndex func(instruction asm.Instruction, srcReg asm.Register, dstBaseReg asm.Register, ...) + CompileRegisterToMemoryWithIndexAndArg func(instruction asm.Instruction, srcReg asm.Register, dstBaseReg asm.Register, ...) + CompileRegisterToNone func(instruction asm.Instruction, register asm.Register) + CompileRegisterToRegisterWithArg func(instruction asm.Instruction, from, to asm.Register, arg byte) + CompileRegisterToStaticConst func(instruction asm.Instruction, srcReg asm.Register, c *asm.StaticConst) error + CompileStaticConstToRegister func(instruction asm.Instruction, c *asm.StaticConst, dstReg asm.Register) error + type AssemblerImpl struct + MaxDisplacementForConstantPool int + func NewAssembler() *AssemblerImpl + func (a *AssemblerImpl) Assemble() ([]byte, error) + func (a *AssemblerImpl) CompileConstToMemory(instruction asm.Instruction, value asm.ConstantValue, dstbaseReg asm.Register, ...) asm.Node + func (a *AssemblerImpl) CompileConstToRegister(instruction asm.Instruction, value asm.ConstantValue, ...) (inst asm.Node) + func (a *AssemblerImpl) CompileJump(jmpInstruction asm.Instruction) asm.Node + func (a *AssemblerImpl) CompileJumpToMemory(jmpInstruction asm.Instruction, baseReg asm.Register, offset asm.ConstantValue) + func (a *AssemblerImpl) CompileJumpToRegister(jmpInstruction asm.Instruction, reg asm.Register) + func (a *AssemblerImpl) CompileMemoryToConst(instruction asm.Instruction, srcBaseReg asm.Register, ...) asm.Node + func (a *AssemblerImpl) CompileMemoryToRegister(instruction asm.Instruction, sourceBaseReg asm.Register, ...) + func (a *AssemblerImpl) CompileMemoryWithIndexAndArgToRegister(instruction asm.Instruction, srcBaseReg asm.Register, ...) + func (a *AssemblerImpl) CompileMemoryWithIndexToRegister(instruction asm.Instruction, srcBaseReg asm.Register, ...) + func (a *AssemblerImpl) CompileNoneToMemory(instruction asm.Instruction, baseReg asm.Register, offset asm.ConstantValue) + func (a *AssemblerImpl) CompileNoneToRegister(instruction asm.Instruction, register asm.Register) + func (a *AssemblerImpl) CompileReadInstructionAddress(destinationRegister asm.Register, ...) + func (a *AssemblerImpl) CompileRegisterToConst(instruction asm.Instruction, srcRegister asm.Register, value asm.ConstantValue) asm.Node + func (a *AssemblerImpl) CompileRegisterToMemory(instruction asm.Instruction, ...) + func (a *AssemblerImpl) CompileRegisterToMemoryWithIndex(instruction asm.Instruction, srcReg, dstBaseReg asm.Register, ...) + func (a *AssemblerImpl) CompileRegisterToMemoryWithIndexAndArg(instruction asm.Instruction, srcReg, dstBaseReg asm.Register, ...) + func (a *AssemblerImpl) CompileRegisterToNone(instruction asm.Instruction, register asm.Register) + func (a *AssemblerImpl) CompileRegisterToRegister(instruction asm.Instruction, from, to asm.Register) + func (a *AssemblerImpl) CompileRegisterToRegisterWithArg(instruction asm.Instruction, from, to asm.Register, arg byte) + func (a *AssemblerImpl) CompileRegisterToStaticConst(instruction asm.Instruction, srcReg asm.Register, c *asm.StaticConst) (err error) + func (a *AssemblerImpl) CompileStandAlone(instruction asm.Instruction) asm.Node + func (a *AssemblerImpl) CompileStaticConstToRegister(instruction asm.Instruction, c *asm.StaticConst, dstReg asm.Register) (err error) + func (a *AssemblerImpl) Encode() (err error) + func (a *AssemblerImpl) EncodeNode(n *nodeImpl) (err error) + func (a *AssemblerImpl) InitializeNodesForEncoding() + func (a *AssemblerImpl) ResolveForwardRelativeJumps(target *nodeImpl) (err error) + func (a *AssemblerImpl) WriteConst(v int64, length byte) + type RexPrefix = byte