asmjit::BaseInst Class Reference

Instruction id, options, and extraReg in a single structure.

This structure exists mainly to simplify analysis and validation API that requires BaseInst and Operand[] array.

Member Functions

Construction & Destruction
Instruction id and modifiers
Instruction Options
Extra Register
ARM Specific

Static Functions

Statics

Members

Member Enumeration Documentation

BaseInst::Id : uint32_tenum

ConstantDescription
kIdNone 

Invalid or uninitialized instruction id.

kIdAbstract 

Abstract instruction (BaseBuilder and BaseCompiler).

Constructor & Destructor Documentation

BaseInst::BaseInst(InstId instId = 0, InstOptions options = InstOptions::kNone)explicitnoexcept

Creates a new BaseInst instance with id and options set.

Default values of id and options are zero, which means 'none' instruction. Such instruction is guaranteed to never exist for any architecture supported by AsmJit.

Member Function Documentation

InstId BaseInst::id() constnoexcept

Returns the instruction id with modifiers.

void BaseInst::setId(InstId id)noexcept

Sets the instruction id and modiiers from id.

void BaseInst::resetId()noexcept

Resets the instruction id and modifiers to zero, see kIdNone.

InstId BaseInst::realId() constnoexcept

Returns a real instruction id that doesn't contain any modifiers.

Member Data Documentation

InstId BaseInst::_id

Instruction id with modifiers.

InstOptions BaseInst::_options

Instruction options.

RegOnly BaseInst::_extraReg

Extra register used by the instruction (either REP register or AVX-512 selector).