IndexUniversal JITasmjit::ujit::OpArray

asmjit::ujit::OpArray Class Reference [¶]

Inheritance diagram for asmjit::ujit::OpArray:
asmjit::ujit::VecArray

Operand array, mostly used for code generation that uses SIMD.

Can hold up to kMaxSize registers, however, the number of actual registers is dynamic and depends on initialization.

Public Members

Members

Static Public Attributes

Public Types

Member Functions

Protected Member Functions

Internal Utilities

Construction & Destruction

void ujit::OpArray::reset()noexcept[¶]

Resets OpArray to a default construction state.

bool ujit::OpArray::is_empty() constnodiscardnoexcept[¶]

Tests whether the vector is empty (has no elements).

bool ujit::OpArray::is_scalar() constnodiscardnoexcept[¶]

Tests whether the vector has only one element, which makes it scalar.

bool ujit::OpArray::is_vector() constnodiscardnoexcept[¶]

Tests whether the vector has more than 1 element, which means that calling high() and odd() won't return an empty vector.

size_t ujit::OpArray::size() constnodiscardnoexcept[¶]

Returns the number of vector elements.

size_t ujit::OpArray::max_size() constnodiscardnoexcept[¶]

Returns the maximum size of vector elements.

OpArray ujit::OpArray::even_odd(
size_t from
) constnodiscardnoexcept[¶]

Returns a new vector consisting of either even (from == 0) or odd (from == 1) elements. It's like calling even() and odd(), but can be used within a loop that performs the same operation for both.

size_t ujit::OpArray::kMaxSize = 8staticconstexpr[¶]

Maximum number of active operands OpArray can hold.

size_t ujit::OpArray::_size[¶]

Number of operands in OpArray.

Operand_ ujit::OpArray::v[kMaxSize][¶]

Underlying operand array.