AsmJit
Low-Latency Machine Code Generation
RegOnly is 8-byte version of BaseReg
that allows to store either register or nothing.
It's designed to decrease the space consumed by an extra "operand" in BaseEmitter and InstNode.
Initializes the RegOnly
instance to hold register signature
and id
.
Resets the RegOnly
members to zeros (none).
Tests whether this ExtraReg is none (same as calling Operand_::isNone()
).
Tests whether the register is valid (either virtual or physical).
Tests whether this is a physical register.
Tests whether this is a virtual register (used by BaseCompiler
).
Returns the register signature or 0 if no register is assigned.
Returns the register id.
RegOnly
instance would return zero id, which is still a valid register id. Sets the register id.
Returns the register type.
Returns the register group.
Converts this ExtraReg to a real RegT
operand.
Operand signature - only OperandType::kNone and OperandType::kReg are supported.
Physical or virtual register id.