// IsRegister returns whether op has type reg.Register. func IsRegister(op Op) bool { … } // IsMem returns whether op has type Mem. func IsMem(op Op) bool { … } // IsRel returns whether op has type Rel. func IsRel(op Op) bool { … } // Is1 returns true if op is the immediate constant 1. func Is1(op Op) bool { … } // Is3 returns true if op is the immediate constant 3. func Is3(op Op) bool { … } // IsIMM2U returns true if op is a 2-bit unsigned immediate (less than 4). func IsIMM2U(op Op) bool { … } // IsIMM8 returns true is op is an 8-bit immediate. func IsIMM8(op Op) bool { … } // IsIMM16 returns true is op is a 16-bit immediate. func IsIMM16(op Op) bool { … } // IsIMM32 returns true is op is a 32-bit immediate. func IsIMM32(op Op) bool { … } // IsIMM64 returns true is op is a 64-bit immediate. func IsIMM64(op Op) bool { … } // IsAL returns true if op is the AL register. func IsAL(op Op) bool { … } // IsCL returns true if op is the CL register. func IsCL(op Op) bool { … } // IsAX returns true if op is the 16-bit AX register. func IsAX(op Op) bool { … } // IsEAX returns true if op is the 32-bit EAX register. func IsEAX(op Op) bool { … } // IsRAX returns true if op is the 64-bit RAX register. func IsRAX(op Op) bool { … } // IsR8 returns true if op is an 8-bit general-purpose register. func IsR8(op Op) bool { … } // IsR16 returns true if op is a 16-bit general-purpose register. func IsR16(op Op) bool { … } // IsR32 returns true if op is a 32-bit general-purpose register. func IsR32(op Op) bool { … } // IsR64 returns true if op is a 64-bit general-purpose register. func IsR64(op Op) bool { … } // IsPseudo returns true if op is a pseudo register. func IsPseudo(op Op) bool { … } // IsGP returns true if op is a general-purpose register of size n bytes. func IsGP(op Op, n uint) bool { … } // IsXMM0 returns true if op is the X0 register. func IsXMM0(op Op) bool { … } // IsXMM returns true if op is a 128-bit XMM register. func IsXMM(op Op) bool { … } // IsYMM returns true if op is a 256-bit YMM register. func IsYMM(op Op) bool { … } // IsZMM returns true if op is a 512-bit ZMM register. func IsZMM(op Op) bool { … } // IsK returns true if op is an Opmask register. func IsK(op Op) bool { … } // IsRegisterKindSize returns true if op is a register of the given kind and size in bytes. func IsRegisterKindSize(op Op, k reg.Kind, n uint) bool { … } // IsRegisterKind returns true if op is a register of the given kind. func IsRegisterKind(op Op, k reg.Kind) bool { … } // IsM returns true if op is a 16-, 32- or 64-bit memory operand. func IsM(op Op) bool { … } // IsM8 returns true if op is an 8-bit memory operand. func IsM8(op Op) bool { … } // IsM16 returns true if op is a 16-bit memory operand. func IsM16(op Op) bool { … } // IsM32 returns true if op is a 16-bit memory operand. func IsM32(op Op) bool { … } // IsM64 returns true if op is a 64-bit memory operand. func IsM64(op Op) bool { … } // IsMSize returns true if op is a memory operand using general-purpose address // registers of the given size in bytes. func IsMSize(op Op, n uint) bool { … } // IsMReg returns true if op is a register that can be used in a memory operand. func IsMReg(op Op) bool { … } // IsM128 returns true if op is a 128-bit memory operand. func IsM128(op Op) bool { … } // IsM256 returns true if op is a 256-bit memory operand. func IsM256(op Op) bool { … } // IsM512 returns true if op is a 512-bit memory operand. func IsM512(op Op) bool { … } // IsVM32X returns true if op is a vector memory operand with 32-bit XMM index. func IsVM32X(op Op) bool { … } // IsVM64X returns true if op is a vector memory operand with 64-bit XMM index. func IsVM64X(op Op) bool { … } // IsVmx returns true if op is a vector memory operand with XMM index. func IsVmx(op Op) bool { … } // IsVM32Y returns true if op is a vector memory operand with 32-bit YMM index. func IsVM32Y(op Op) bool { … } // IsVM64Y returns true if op is a vector memory operand with 64-bit YMM index. func IsVM64Y(op Op) bool { … } // IsVmy returns true if op is a vector memory operand with YMM index. func IsVmy(op Op) bool { … } // IsVM32Z returns true if op is a vector memory operand with 32-bit ZMM index. func IsVM32Z(op Op) bool { … } // IsVM64Z returns true if op is a vector memory operand with 64-bit ZMM index. func IsVM64Z(op Op) bool { … } // IsVmz returns true if op is a vector memory operand with ZMM index. func IsVmz(op Op) bool { … } func isvm(op Op, idx func(Op) bool) bool { … } // IsREL8 returns true if op is an 8-bit offset relative to instruction pointer. func IsREL8(op Op) bool { … } // IsREL32 returns true if op is an offset relative to instruction pointer, or a // label reference. func IsREL32(op Op) bool { … }