AsmJit
Low-Latency Machine Code Generation
Emitter (X86 - explicit).
Returns either 32-bit or 64-bit GP register of the given id
depending on the emitter's architecture.
Clones the given reg
to either 32-bit or 64-bit GP register depending on the emitter's architecture.
0
, uint32_t size = 0
) constnoexcept◆ Creates a target dependent pointer of which base register's id is baseId
.
0
) constnoexcept[1/9]◆ Creates an intptr_t
memory operand depending on the current architecture.
0
, int32_t offset = 0
) constnoexcept[2/9]◆ This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
0
, int32_t offset = 0
) constnoexcept[3/9]◆ This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
0
) constnoexcept[4/9]◆ This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
0
) constnoexcept[5/9]◆ This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
0
) constnoexcept[6/9]◆ This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
0
) constnoexcept[7/9]◆ This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
0
) constnoexcept[9/9]◆ This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
0
) constnoexcept[2/2]◆ This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
1
)◆ Embeds 8-bit integer data.
1
)◆ Embeds 16-bit integer data.
1
)◆ Embeds 32-bit integer data.
1
)◆ Embeds 64-bit integer data.
Adds data in a given structure instance to the CodeBuffer.
Force short form of jmp/jcc instruction.
Force long form of jmp/jcc instruction.
Prefer MOD/RM encoding when both MOD/RM and MOD/MR forms are applicable.
Prefer MOD/MR encoding when both MOD/RM and MOD/MR forms are applicable.
Condition is likely to be taken (has only benefit on P4).
Condition is unlikely to be taken (has only benefit on P4).
Use LOCK prefix.
Use XACQUIRE prefix.
Use XRELEASE prefix.
Use BND/REPNE prefix.
repne()
or repnz()
prefix. Use REP/REPZ prefix.
repe()
or repz()
prefix. Use REP/REPE prefix.
rep()
or repz()
prefix. Use REP/REPE prefix.
rep()
or repe()
prefix. Use REPNE prefix.
bnd()
or repnz()
prefix. Use REPNE prefix.
bnd()
or repne()
prefix. Force REX prefix to be emitted even when it's not needed (X86_64).
x86::Assembler
would fail to encode such instruction. Force REX.B prefix (X64) [It exists for special purposes only].
Force REX.X prefix (X64) [It exists for special purposes only].
Force REX.R prefix (X64) [It exists for special purposes only].
Force REX.W prefix (X64) [It exists for special purposes only].
Use VEX prefix instead of EVEX prefix (useful to select AVX_VNNI instruction instead of AVX512_VNNI).
Force 3-byte VEX prefix (AVX+).
Force 4-byte EVEX prefix (AVX512+).
Use masking {k} (AVX512+).
Use zeroing instead of merging (AVX512+).
Suppress all exceptions (AVX512+).
Static rounding mode {rn} (round-to-nearest even) and {sae} (AVX512+).
Static rounding mode {rd} (round-down, toward -inf) and {sae} (AVX512+).
Static rounding mode {ru} (round-up, toward +inf) and {sae} (AVX512+).
Static rounding mode {rz} (round-toward-zero, truncate) and {sae} (AVX512+).
The imul(Gp, Imm)
instruction is an alias of imul(Gp, Gp, Imm)
instruction.