IndexAArch64 Backendasmjit::a64::Vec

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

Inheritance diagram for asmjit::a64::Vec:
asmjit::UniVec asmjit::Reg asmjit::Operand asmjit::Operand_

Vector register (AArch64).

Member Functions

Vector Register Accessors

Element Type Accessors

Element Index Accessors

Public Member Functions inherited from asmjit::UniVec
Public Member Functions inherited from asmjit::Reg
Public Member Functions inherited from asmjit::Operand
Public Member Functions inherited from asmjit::Operand_

Static Functions

Static Constructors

Static Public Member Functions inherited from asmjit::UniVec
Static 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_

a64::Vec::Vec()constexprnoexcept[1/5][¶]

Default constructor that only setups basics.

a64::Vec::Vec(
const Vec& other
)constexprnoexcept[2/5][¶]

Makes a copy of the other register operand.

a64::Vec::Vec(
const Reg& other,
uint32_t id
)constexprnoexcept[3/5][¶]

Makes a copy of the other register having id set to id

a64::Vec::Vec(
const OperandSignature& sgn,
uint32_t id
)constexprnoexcept[4/5][¶]

Creates a register based on signature and id.

a64::Vec::Vec()explicitnoexcept[5/5][¶]

Creates a completely uninitialized Vec register operand (garbage).

Vec a64::Vec::from_type_and_id(
RegType type,
uint32_t id
)staticnoexcept[¶]

Creates a new register from register type and id.

Vec a64::Vec::clone() constnodiscardconstexprnoexcept[¶]

Returns a copy of this register operand.

Vec& a64::Vec::operator=(
const Vec& other
)constexprnoexcept[¶]

Copy assignment operator - copies the content of other to this register.

Vec a64::Vec::make_v8(
uint32_t reg_id
)constexprstaticnodiscardnoexcept[¶]

Creates a new 8-bit vector register (B) having the given register id reg_id.

Vec a64::Vec::make_v16(
uint32_t reg_id
)constexprstaticnodiscardnoexcept[¶]

Creates a new 16-bit vector register (H) having the given register id reg_id.

Vec a64::Vec::make_v32(
uint32_t reg_id
)constexprstaticnodiscardnoexcept[¶]

Creates a new 32-bit vector register (S) having the given register id reg_id.

Vec a64::Vec::make_v64(
uint32_t reg_id
)constexprstaticnodiscardnoexcept[¶]

Creates a new 64-bit vector register (D) having the given register id reg_id.

Vec a64::Vec::make_v128(
uint32_t reg_id
)constexprstaticnodiscardnoexcept[¶]

Creates a new 128-bit vector register (Q) having the given register id reg_id.

Vec a64::Vec::make_b(
uint32_t reg_id
)constexprstaticnodiscardnoexcept[¶]

Creates a new 8-bit vector register (B) having the given register id reg_id.

Vec a64::Vec::make_h(
uint32_t reg_id
)constexprstaticnodiscardnoexcept[¶]

Creates a new 16-bit vector register (H) having the given register id reg_id.

Vec a64::Vec::make_s(
uint32_t reg_id
)constexprstaticnodiscardnoexcept[¶]

Creates a new 32-bit vector register (S) having the given register id reg_id.

Vec a64::Vec::make_d(
uint32_t reg_id
)constexprstaticnodiscardnoexcept[¶]

Creates a new 64-bit vector register (D) having the given register id reg_id.

Vec a64::Vec::make_q(
uint32_t reg_id
)constexprstaticnodiscardnoexcept[¶]

Creates a new 128-bit vector register (Q) having the given register id reg_id.

Vec a64::Vec::make_v32_with_element_type(
VecElementType element_type,
uint32_t reg_id
)constexprstaticnodiscardnoexcept[¶]

Creates a new 32-bit vector register (S) having the given vector element_type and register id reg_id.

Vec a64::Vec::make_v64_with_element_type(
VecElementType element_type,
uint32_t reg_id
)constexprstaticnodiscardnoexcept[¶]

Creates a new 64-bit vector register (D) having the given vector element_type and register id reg_id.

Vec a64::Vec::make_v128_with_element_type(
VecElementType element_type,
uint32_t reg_id
)constexprstaticnodiscardnoexcept[¶]

Creates a new 128-bit vector register (Q) having the given vector element_type and register id reg_id.

Vec a64::Vec::make_v128_with_element_index(
VecElementType element_type,
uint32_t element_index,
uint32_t reg_id
)constexprstaticnodiscardnoexcept[¶]

Creates a new 128-bit vector of type specified by element_type and element_index.

bool a64::Vec::has_element_type_or_index() constnodiscardconstexprnoexcept[¶]

Returns whether the register has element type or element index (or both).

Vec a64::Vec::v8() constnodiscardconstexprnoexcept[¶]

Clones and casts the register to an 8-bit B register (element type & index is not cloned).

Vec a64::Vec::v16() constnodiscardconstexprnoexcept[¶]

Clones and casts the register to a 16-bit H register (element type & index is not cloned).

Vec a64::Vec::v32() constnodiscardconstexprnoexcept[¶]

Clones and casts the register to a 32-bit S register (element type & index is not cloned).

Vec a64::Vec::v64() constnodiscardconstexprnoexcept[¶]

Clones and casts the register to a 64-bit D register (element type & index is not cloned).

Vec a64::Vec::v128() constnodiscardconstexprnoexcept[¶]

Clones and casts the register to a 128-bit Q register (element type & index is not cloned).

Vec a64::Vec::b() constnodiscardconstexprnoexcept[1/2][¶]

Clones and casts the register to an 8-bit B register (element type & index is not cloned).

Vec a64::Vec::h() constnodiscardconstexprnoexcept[1/2][¶]

Clones and casts the register to a 16-bit H register (element type & index is not cloned).

Vec a64::Vec::s() constnodiscardconstexprnoexcept[1/2][¶]

Clones and casts the register to a 32-bit S register (element type & index is not cloned).

Vec a64::Vec::d() constnodiscardconstexprnoexcept[1/2][¶]

Clones and casts the register to a 64-bit D register (element type & index is not cloned).

Vec a64::Vec::q() constnodiscardconstexprnoexcept[¶]

Clones and casts the register to a 128-bit Q register (element type & index is not cloned).

Vec a64::Vec::b(
uint32_t element_index
) constnodiscardconstexprnoexcept[2/2][¶]

Clones and casts the register to a 128-bit V.B[element_index] register.

Vec a64::Vec::h(
uint32_t element_index
) constnodiscardconstexprnoexcept[2/2][¶]

Clones and casts the register to a 128-bit V.H[element_index] register.

Vec a64::Vec::s(
uint32_t element_index
) constnodiscardconstexprnoexcept[2/2][¶]

Clones and casts the register to a 128-bit V.S[element_index] register.

Vec a64::Vec::d(
uint32_t element_index
) constnodiscardconstexprnoexcept[2/2][¶]

Clones and casts the register to a 128-bit V.D[element_index] register.

Vec a64::Vec::h2(
uint32_t element_index
) constnodiscardconstexprnoexcept[1/2][¶]

Clones and casts the register to a 128-bit V.H2[element_index] register.

Vec a64::Vec::b4(
uint32_t element_index
) constnodiscardconstexprnoexcept[¶]

Clones and casts the register to a 128-bit V.B4[element_index] register.

Vec a64::Vec::b8() constnodiscardconstexprnoexcept[¶]

Clones and casts the register to V.8B.

Vec a64::Vec::b16() constnodiscardconstexprnoexcept[¶]

Clones and casts the register to V.16B.

Vec a64::Vec::h2() constnodiscardconstexprnoexcept[2/2][¶]

Clones and casts the register to V.2H.

Vec a64::Vec::h4() constnodiscardconstexprnoexcept[¶]

Clones and casts the register to V.4H.

Vec a64::Vec::h8() constnodiscardconstexprnoexcept[¶]

Clones and casts the register to V.8H.

Vec a64::Vec::s2() constnodiscardconstexprnoexcept[¶]

Clones and casts the register to V.2S.

Vec a64::Vec::s4() constnodiscardconstexprnoexcept[¶]

Clones and casts the register to V.4S.

Vec a64::Vec::d2() constnodiscardconstexprnoexcept[¶]

Clones and casts the register to V.2D.

bool a64::Vec::has_element_type() constnodiscardconstexprnoexcept[¶]

Returns whether the vector register has associated a vector element type.

VecElementType a64::Vec::element_type() constnodiscardconstexprnoexcept[¶]

Returns vector element type of the register.

void a64::Vec::set_element_type(
VecElementType element_type
)constexprnoexcept[¶]

Sets vector element type of the register to element_type.

void a64::Vec::reset_element_type()constexprnoexcept[¶]

Resets vector element type to none.

bool a64::Vec::has_element_index() constconstexprnoexcept[¶]

Returns whether the register has element index (it's an element index access).

uint32_t a64::Vec::element_index() constconstexprnoexcept[¶]

Returns element index of the register.

void a64::Vec::set_element_index(
uint32_t element_index
)constexprnoexcept[¶]

Sets element index of the register to element_type.

void a64::Vec::reset_element_index()constexprnoexcept[¶]

Resets element index of the register.

Vec a64::Vec::at(
uint32_t element_index
) constnodiscardconstexprnoexcept[¶]

Clones a vector register with element access enabled at the given element_index.