IndexAssemblerasmjit::BaseRegList
asmjit::BaseRegList Class Reference
Inheritance diagram for asmjit::BaseRegList:
asmjit::Operand asmjit::Operand_ asmjit::RegListT< RegT >

List of physical registers (base).

Note
List of registers is only used by some ARM instructions at the moment.

Public Types

Constants
- Public Types inherited from asmjit::Operand_

Member Functions

Construction & Destruction
Overloaded Operators
Accessors
- 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 Member Functions inherited from asmjit::Operand_

BaseRegList::BaseRegList()constexprnoexcept[1/4][¶]

Creates a dummy register operand.

BaseRegList::BaseRegList(
const BaseRegList& other
)constexprnoexcept[2/4][¶]

Creates a new register operand which is the same as other .

BaseRegList::BaseRegList(
const BaseRegList& other,
RegMask regMask
)constexprnoexcept[3/4][¶]

Creates a new register operand compatible with other, but with a different id.

BaseRegList::BaseRegList(
const Signature& signature,
RegMask regMask
)constexprnoexcept[4/4][¶]

Creates a register initialized to the given signature and id.

bool BaseRegList::isValid() constconstexprnoexcept[¶]

Tests whether the register-list is valid, which means it has a type and at least a single register in the list.

bool BaseRegList::isType(
RegType type
) constconstexprnoexcept[¶]

Tests whether the register type matches type - same as isReg(type), provided for convenience.

bool BaseRegList::isGroup(
RegGroup group
) constconstexprnoexcept[¶]

Tests whether the register group matches group.

bool BaseRegList::isGp() constconstexprnoexcept[¶]

Tests whether the register is a general purpose register (any size).

bool BaseRegList::isVec() constconstexprnoexcept[¶]

Tests whether the register is a vector register.

RegType BaseRegList::type() constconstexprnoexcept[¶]

Returns the register type.

RegGroup BaseRegList::group() constconstexprnoexcept[¶]

Returns the register group.

uint32_t BaseRegList::size() constconstexprnoexcept[¶]

Returns the size of a single register in this register-list or 0 if unspecified.

RegMask BaseRegList::list() constconstexprnoexcept[¶]

Returns the register list as a mask, where each bit represents one physical register.

void BaseRegList::setList(
RegMask mask
)noexcept[¶]

Sets the register list to mask.

void BaseRegList::resetList()noexcept[¶]

Remoes all registers from the register-list by making the underlying register-mask zero.

void BaseRegList::addList(
RegMask mask
)noexcept[¶]

Adds registers passed by a register mask to the register-list.

void BaseRegList::clearList(
RegMask mask
)noexcept[¶]

Removes registers passed by a register mask to the register-list.

void BaseRegList::andList(
RegMask mask
)noexcept[¶]

Uses AND operator to combine the current register-list with other register mask.

void BaseRegList::xorList(
RegMask mask
)noexcept[¶]

Uses XOR operator to combine the current register-list with other register mask.

bool BaseRegList::hasReg(
uint32_t physId
) constnoexcept[¶]

Checks whether a physical register physId is in the register-list.

void BaseRegList::addReg(
uint32_t physId
)noexcept[¶]

Adds a physical register physId to the register-list.

void BaseRegList::clearReg(
uint32_t physId
)noexcept[¶]

Removes a physical register physId from the register-list.

BaseRegList BaseRegList::clone() constconstexprnoexcept[¶]

Clones the register-list operand.

template<typename RegListT>
RegListT BaseRegList::cloneAs() constconstexprnoexcept[1/2][¶]

Casts this register to RegT by also changing its signature.

Note
Improper use of cloneAs() can lead to hard-to-debug errors.

template<typename RegListT>
RegListT BaseRegList::cloneAs(
const RegListT& other
) constconstexprnoexcept[2/2][¶]

Casts this register to other by also changing its signature.

Note
Improper use of cloneAs() can lead to hard-to-debug errors.