AsmJit Project
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 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.
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.