Scalable_Vector_Type¶
- class Scalable_Vector_Type (concrete, logical)¶
ARM scalable vector type (e.g.,
__SVInt8_t). This is an opaque length-agnostic vector; or a tuple of multiple such vectors. Scalable vector types are sizeless types: the IR will store Size=0, as the actual size is determined only at runtime. Sizeless types can be used as the type of parameters and local variables, but not for global variables, data members or array element types.- Direct parents:
inherits Vector_Type
- Ancestor classes and implemented interfaces:
Declarative_Node, Logical_IR_Root, Symbol, Type, Unnamed_Type, Vector_Type
Field
Kind
Type
Description
Tuple_Elements
attribute
builtin Byte
Number of tuple elements (1, 2, 3 or 4). For example,
svint16x3_twill have Tuple_Elements==3.Element_Type (from Vector_Type)
semantic
class Type
The type of the elements.
Size (from Type)
attribute
builtin Natural
Alignment_Log (from Type)
attribute
builtin Byte
log2 of the type’s alignment
Alignment (from Type)
attribute
builtin Natural
Alignment of the type (must be a power of 2)
Size_In_Bits (from Type)
attribute
builtin UInt64
Size of the type, in bits.
Parent (from Logical_IR_Root)
semantic
class Logical_IR_Root
Physical (from Logical_IR_Root)
semantic to physical
class Physical_IR_Root