
AsmJit
Low-Latency Machine Code Generation
Operand signature is a 32-bit number describing Operand and some of its payload.
In AsmJit operand signature is used to store additional payload of register, memory, and immediate operands. In practice the biggest pressure on OperandSignature is from BaseMem and architecture specific memory operands that need to store additional payload that cannot be stored elsewhere as values of all other members are fully specified by BaseMem.
Overloaded operators make OperandSignature
behave like regular integer.
Tests whether the operand signature is valid (describes a valid operand, and not OperandType::kNone.
Returns operand type this operand signature describes.
Constructs operand signature from the given bits
.
Constructs operand signature from the given value
, use kFieldMask
to describe where the value is in the signature.
Constructs operand signature describing the given operand type opType
.
Constructs operand signature describing the given register type regType
.
Constructs operand signature describing the given register group regGroup
.
Constructs operand signature describing both register type regType
and register group regGroup
.
Constructs operand signature describing a memory base type baseType
.
Constructs operand signature describing a memory index type indexType
.
Constructs operand signature describing a predicate
.
Constructs operand signature describing a size
.