AsmJit
Low-Latency Machine Code Generation
Type identifier utilities.
Returns the scalar type of typeId
.
Returns the size [in bytes] of typeId
.
Tests whether a given type typeId
is between a
and b
.
Tests whether a given type typeId
is TypeId::kVoid.
Tests whether a given type typeId
is a valid non-void type.
Tests whether a given type typeId
is scalar (has no vector part).
Tests whether a given type typeId
is abstract, which means that its size depends on register size.
Tests whether a given type is a scalar integer (signed or unsigned) of any size.
Tests whether a given type is a scalar 8-bit integer (signed).
Tests whether a given type is a scalar 8-bit integer (unsigned).
Tests whether a given type is a scalar 16-bit integer (signed).
Tests whether a given type is a scalar 16-bit integer (unsigned).
Tests whether a given type is a scalar 32-bit integer (signed).
Tests whether a given type is a scalar 32-bit integer (unsigned).
Tests whether a given type is a scalar 64-bit integer (signed).
Tests whether a given type is a scalar 64-bit integer (unsigned).
Tests whether a given type is an 8-bit general purpose register representing either signed or unsigned 8-bit integer.
Tests whether a given type is a 16-bit general purpose register representing either signed or unsigned 16-bit integer.
Tests whether a given type is a 32-bit general purpose register representing either signed or unsigned 32-bit integer.
Tests whether a given type is a 64-bit general purpose register representing either signed or unsigned 64-bit integer.
Tests whether a given type is a scalar floating point of any size.
Tests whether a given type is a scalar 32-bit float.
Tests whether a given type is a scalar 64-bit float.
Tests whether a given type is a scalar 80-bit float.
Tests whether a given type is a mask register of any size.
Tests whether a given type is an 8-bit mask register.
Tests whether a given type is an 16-bit mask register.
Tests whether a given type is an 32-bit mask register.
Tests whether a given type is an 64-bit mask register.
Tests whether a given type is an MMX register.
Tests whether a given type is an MMX register, which only uses the low 32 bits of data (only specific cases).
Tests whether a given type is an MMX register, which uses 64 bits of data (default).
Tests whether a given type is a vector register of any size.
Tests whether a given type is a 32-bit or 32-bit view of a vector register.
Tests whether a given type is a 64-bit or 64-bit view of a vector register.
Tests whether a given type is a 128-bit or 128-bit view of a vector register.
Tests whether a given type is a 256-bit or 256-bit view of a vector register.
Tests whether a given type is a 512-bit or 512-bit view of a vector register.
Returns a corresponding TypeId of T
type.
Returns offset needed to convert a kIntPtr
and kUIntPtr
TypeId into a type that matches registerSize
(general-purpose register size).
If you find such TypeId it's then only about adding the offset to it.
For example:
Deabstracts a given typeId
into a native type by using deabstractDelta
, which was previously calculated by calling deabstractDeltaOfSize() with a target native register size.