asmjit::ujit::UniCompiler Class Reference [¶]
Pipeline compiler.
Returns the behavior of scalar operations (mostly floating point).
Returns the behavior of floating point min/max operations.
Returns the behavior of floating point mul+add (madd
) operations.
Tests whether a scalar operation is zeroing the rest of the destination register (AArch64).
Tests whether a scalar operation is preserving the low 128-bit part of the destination register (X86|X86_64).
Tests whether a floating point min/max operation selects a finite value if one of the values is NaN (AArch64).
Tests whether a floating point min/max operation works as a ternary if - if a <|> b ? a : b
(X86|X86_64).
Tests whether a floating point mul+add operation is fused (uses FMA).
Tests whether a FMA operation is available and that it can store the result to any register (true of X86).
Tests whether a FMA operation is available and that it only stores the result to accumulator register.
Returns a native register signature, either 32-bit or 64-bit depending on the target architecture).
Clones the given reg
register into a native register (either 32-bit or 64-bit depending on the target architecture).
Returns the current SIMD width (in bytes) that this compiler and all its parts must use.
The returned width is in bytes and it's calculated from the maximum supported widths of all pipeline parts. This means that SIMD width returned could be actually lower than a SIMD width supported by the target CPU.
Returns whether the compiler and all parts use 256-bit SIMD.
Returns whether the compiler and all parts use 512-bit SIMD.
Returns a constant that can be used to multiply a baseline SIMD width to get the value returned by vec_width()
.
A baseline SIMD width would be 16 bytes on most platforms.
AsmJit compiler.
The behavior of scalar operations (mostly floating point).
The behavior of floating point min/max operation.
The behavior of floating point madd
operation.
Target CPU features.
Optimization flags.
Number of available vector registers.
SIMD width.
SIMD multiplier, derived from _vec_width
(1, 2, 4).
SIMD register type (AsmJit).
SIMD type id (AsmJit).
Invalid GP register.
Temporary stack used to transfer SIMD regs to GP/MM.
Offset to the first constant to the commonTable
global.
Pointer to the commonTable
constant pool (only used in 64-bit mode).