IndexX86 Backendasmjit::x86::InstDB::InstInfo

asmjit::x86::InstDB::InstInfo Struct Reference [¶]

Instruction information.

Public Members

Member Functions

Accessors

const CommonInfo& x86::InstDB::InstInfo::common_info() constnodiscardnoexcept[¶]

Returns common information, see CommonInfo.

InstFlags x86::InstDB::InstInfo::flags() constnodiscardnoexcept[¶]

Returns instruction flags, see InstFlags.

bool x86::InstDB::InstInfo::has_flag() constnodiscardnoexcept[¶]

Tests whether the instruction has flag flag, see InstFlags.

Avx512Flags x86::InstDB::InstInfo::avx512_flags() constnodiscardnoexcept[¶]

Returns instruction AVX-512 flags, see Avx512Flags.

bool x86::InstDB::InstInfo::has_avx512_flag() constnodiscardnoexcept[¶]

Tests whether the instruction has an AVX-512 flag, see Avx512Flags.

bool x86::InstDB::InstInfo::is_fpu() constnodiscardnoexcept[¶]

Tests whether the instruction is FPU instruction.

bool x86::InstDB::InstInfo::is_mmx() constnodiscardnoexcept[¶]

Tests whether the instruction is MMX/3DNOW instruction that accesses MMX registers (includes EMMS and FEMMS).

bool x86::InstDB::InstInfo::is_vec() constnodiscardnoexcept[¶]

Tests whether the instruction is SSE|AVX|AVX512 instruction that accesses XMM|YMM|ZMM registers.

bool x86::InstDB::InstInfo::is_sse() constnodiscardnoexcept[¶]

Tests whether the instruction is SSE+ (SSE4.2, AES, SHA included) instruction that accesses XMM registers.

bool x86::InstDB::InstInfo::is_avx() constnodiscardnoexcept[¶]

Tests whether the instruction is AVX+ (FMA included) instruction that accesses XMM|YMM|ZMM registers.

bool x86::InstDB::InstInfo::has_lock_prefix() constnodiscardnoexcept[¶]

Tests whether the instruction can be prefixed with LOCK prefix.

bool x86::InstDB::InstInfo::has_rep_prefix() constnodiscardnoexcept[¶]

Tests whether the instruction can be prefixed with REP (REPE|REPZ) prefix.

bool x86::InstDB::InstInfo::has_xacquire_prefix() constnodiscardnoexcept[¶]

Tests whether the instruction can be prefixed with XACQUIRE prefix.

bool x86::InstDB::InstInfo::has_xrelease_prefix() constnodiscardnoexcept[¶]

Tests whether the instruction can be prefixed with XRELEASE prefix.

bool x86::InstDB::InstInfo::is_rep_ignored() constnodiscardnoexcept[¶]

Tests whether the rep prefix is supported by the instruction, but ignored (has no effect).

bool x86::InstDB::InstInfo::is_mib_op() constnodiscardnoexcept[¶]

Tests whether the instruction uses MIB.

bool x86::InstDB::InstInfo::is_vsib_op() constnodiscardnoexcept[¶]

Tests whether the instruction uses VSIB.

bool x86::InstDB::InstInfo::is_vex() constnodiscardnoexcept[¶]

Tests whether the instruction uses VEX (can be set together with EVEX if both are encodable).

bool x86::InstDB::InstInfo::is_evex() constnodiscardnoexcept[¶]

Tests whether the instruction uses EVEX (can be set together with VEX if both are encodable).

bool x86::InstDB::InstInfo::is_vex_or_evex() constnodiscardnoexcept[¶]

Tests whether the instruction uses EVEX (can be set together with VEX if both are encodable).

bool x86::InstDB::InstInfo::has_avx512_k() constnodiscardnoexcept[¶]

Tests whether the instruction supports AVX512 masking {k}.

bool x86::InstDB::InstInfo::has_avx512_z() constnodiscardnoexcept[¶]

Tests whether the instruction supports AVX512 zeroing {k}{z}.

bool x86::InstDB::InstInfo::has_avx512_er() constnodiscardnoexcept[¶]

Tests whether the instruction supports AVX512 embedded-rounding {er}.

bool x86::InstDB::InstInfo::has_avx512_sae() constnodiscardnoexcept[¶]

Tests whether the instruction supports AVX512 suppress-all-exceptions {sae}.

bool x86::InstDB::InstInfo::has_avx512_bcst() constnodiscardnoexcept[¶]

Tests whether the instruction supports AVX512 broadcast (either 32-bit or 64-bit).

bool x86::InstDB::InstInfo::has_avx512_bcst16() constnodiscardnoexcept[¶]

Tests whether the instruction supports AVX512 broadcast (16-bit).

bool x86::InstDB::InstInfo::has_avx512_bcst32() constnodiscardnoexcept[¶]

Tests whether the instruction supports AVX512 broadcast (32-bit).

bool x86::InstDB::InstInfo::has_avx512_bcst64() constnodiscardnoexcept[¶]

Tests whether the instruction supports AVX512 broadcast (64-bit).

InstControlFlow x86::InstDB::InstInfo::control_flow() constnodiscardnoexcept[¶]

Returns a control flow category of the instruction.

InstSameRegHint x86::InstDB::InstInfo::same_reg_hint() constnodiscardnoexcept[¶]

Returns a hint that can be used when both inputs are the same register.

Span<const InstSignature>x86::InstDB::InstInfo::inst_signatures() constnodiscardnoexcept[¶]

Returns all possible instruction signatures in a read-only span.

uint32_t x86::InstDB::InstInfo::_reserved[¶]

Reserved for future use.

uint32_t x86::InstDB::InstInfo::_common_info_index[¶]

Index to _inst_common_info_table.

uint32_t x86::InstDB::InstInfo::_additional_info_index[¶]

Index to additional_info_table.

uint8_t x86::InstDB::InstInfo::_encoding[¶]

Instruction encoding (internal encoding identifier used by Assembler).

uint8_t x86::InstDB::InstInfo::_main_opcode_value[¶]

Main opcode value (0..255).

uint8_t x86::InstDB::InstInfo::_main_opcode_index[¶]

Index to InstDB::main_opcode_table that is combined with InstDB::_main_opcode_value to form the final opcode.

uint8_t x86::InstDB::InstInfo::_alt_opcode_index[¶]

Index to InstDB::alt_opcode_table that contains a full alternative opcode.