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::cloneAdjusted(
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::baseReg() constnoexcept[¶]

Converts memory baseType and baseId to arm::Reg instance.

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

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

Converts memory indexType and indexId to arm::Reg instance.

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

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

Gets offset mode.

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

Sets offset mode to mode.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Gets shift operation that is used by index register.

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

Sets shift operation that is used by index register.

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

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

bool a64::Mem::hasShift() 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::setShift(
uint32_t shift
)constexprnoexcept[1/2][¶]

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

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

Sets the memory operand's shift and shift operation.

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

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

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

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