IndexAArch64 Backendasmjit::a64::Mem

asmjit::a64::Mem Class Reference [¶]

Inheritance diagram for asmjit::a64::Mem:
asmjit::BaseMem asmjit::Operand asmjit::Operand_

Memory operand (AArch64).

Member Functions

Construction & Destruction

Overloaded Operators

Clone

Base & Index

ARM Specific Features

Public Member Functions inherited from asmjit::BaseMem
Public Member Functions inherited from asmjit::Operand
Public Member Functions inherited from asmjit::Operand_

Additional Inherited Members

Public Attributes inherited from asmjit::Operand_
Static Public Attributes inherited from asmjit::Operand_
Public Types inherited from asmjit::Operand_
Static Public Member Functions inherited from asmjit::Operand_

a64::Mem::Mem()constexprnoexcept[¶]

Construct a default Mem operand, that points to [0].

Mem a64::Mem::clone() constconstexprnoexcept[¶]

Clones the memory operand.

Mem a64::Mem::clone_adjusted(
int64_t off
) constconstexprnoexcept[¶]

Gets new memory operand adjusted by off.

Mem a64::Mem::pre() constconstexprnoexcept[1/2][¶]

Clones the memory operand and makes it pre-index.

Mem a64::Mem::pre(
int64_t off
) constconstexprnoexcept[2/2][¶]

Clones the memory operand, applies a given offset off and makes it pre-index.

Mem a64::Mem::post() constconstexprnoexcept[1/2][¶]

Clones the memory operand and makes it post-index.

Mem a64::Mem::post(
int64_t off
) constconstexprnoexcept[2/2][¶]

Clones the memory operand, applies a given offset off and makes it post-index.

Reg a64::Mem::base_reg() constnoexcept[¶]

Converts memory base_type and base_id to arm::Reg instance.

The memory must have a valid base register otherwise the result will be wrong.

Reg a64::Mem::index_reg() constnoexcept[¶]

Converts memory index_type and index_id to arm::Reg instance.

The memory must have a valid index register otherwise the result will be wrong.

OffsetMode a64::Mem::offset_mode() constconstexprnoexcept[¶]

Gets offset mode.

void a64::Mem::set_offset_mode()constexprnoexcept[¶]

Sets offset mode to mode.

void a64::Mem::reset_offset_mode()constexprnoexcept[¶]

Resets offset mode to default (fixed offset, without write-back).

bool a64::Mem::is_fixed_offset() constconstexprnoexcept[¶]

Tests whether the current memory offset mode is fixed (see arm::OffsetMode::kFixed).

bool a64::Mem::is_pre_or_post() constconstexprnoexcept[¶]

Tests whether the current memory offset mode is either pre-index or post-index (write-back is used).

bool a64::Mem::is_pre_index() constconstexprnoexcept[¶]

Tests whether the current memory offset mode is pre-index (write-back is used).

bool a64::Mem::is_post_index() constconstexprnoexcept[¶]

Tests whether the current memory offset mode is post-index (write-back is used).

void a64::Mem::make_pre_index()constexprnoexcept[¶]

Sets offset mode of this memory operand to pre-index (write-back is used).

void a64::Mem::make_post_index()constexprnoexcept[¶]

Sets offset mode of this memory operand to post-index (write-back is used).

ShiftOp a64::Mem::shift_op() constconstexprnoexcept[¶]

Gets shift operation that is used by index register.

void a64::Mem::set_shift_op()constexprnoexcept[¶]

Sets shift operation that is used by index register.

void a64::Mem::reset_shift_op()constexprnoexcept[¶]

Resets shift operation that is used by index register to LSL (default value).

bool a64::Mem::has_shift() constconstexprnoexcept[¶]

Gets whether the memory operand has shift (aka scale) constant.

uint32_t a64::Mem::shift() constconstexprnoexcept[¶]

Gets the memory operand's shift (aka scale) constant.

void a64::Mem::set_shift(
uint32_t shift
)constexprnoexcept[1/2][¶]

Sets the memory operand's shift (aka scale) constant.

void a64::Mem::set_shift(
Shift shift
)constexprnoexcept[2/2][¶]

Sets the memory operand's shift and shift operation.

void a64::Mem::reset_shift()constexprnoexcept[¶]

Resets the memory operand's shift (aka scale) constant to zero.

void BaseMem::set_index(
const Reg& index
)constexprnoexcept[¶]

Sets the index register to type and id of the given index operand.