AsmJit
Low-Latency Machine Code Generation
Docs
Interactive Parser
Support
GitHub
API Reference
Index
Class List
Build Instructions
Breaking Changes
Core
Assembler
Builder
Compiler
Function
Logging
Error Handling
Instruction DB
Virtual Memory
Zone Memory
Utilities
X86 Backend
ARM Commons
AArch64 Backend
Index
⭢
AArch64 Backend
⭢
asmjit::a64
asmjit::a64 Namespace Reference
[¶]
AArch64 backend.
Namespaces
namespace
Inst
namespace
InstDB
Classes
class
Assembler
class
Builder
class
Compiler
class
Emitter
struct
EmitterExplicitT
class
Gp
class
Mem
class
Vec
Enumerations
enum class
VecElementType
:
uint32_t
Functions
static
constexpr
Gp
w
(
uint32_t
id)
noexcept
static
constexpr
Gp
gp32
(
uint32_t
id)
noexcept
static
constexpr
Gp
x
(
uint32_t
id)
noexcept
static
constexpr
Gp
gp64
(
uint32_t
id)
noexcept
static
constexpr
Vec
b
(
uint32_t
id)
noexcept
static
constexpr
Vec
h
(
uint32_t
id)
noexcept
static
constexpr
Vec
s
(
uint32_t
id)
noexcept
static
constexpr
Vec
d
(
uint32_t
id)
noexcept
static
constexpr
Vec
q
(
uint32_t
id)
noexcept
static
constexpr
Vec
v
(
uint32_t
id)
noexcept
Shift Operation Construction
static
constexpr
Shift
lsl
(
uint32_t
value)
noexcept
static
constexpr
Shift
lsr
(
uint32_t
value)
noexcept
static
constexpr
Shift
asr
(
uint32_t
value)
noexcept
static
constexpr
Shift
ror
(
uint32_t
value)
noexcept
static
constexpr
Shift
rrx
()
noexcept
static
constexpr
Shift
msl
(
uint32_t
value)
noexcept
static
constexpr
Shift
uxtb
(
uint32_t
value)
noexcept
static
constexpr
Shift
uxth
(
uint32_t
value)
noexcept
static
constexpr
Shift
uxtw
(
uint32_t
value)
noexcept
static
constexpr
Shift
uxtx
(
uint32_t
value)
noexcept
static
constexpr
Shift
sxtb
(
uint32_t
value)
noexcept
static
constexpr
Shift
sxth
(
uint32_t
value)
noexcept
static
constexpr
Shift
sxtw
(
uint32_t
value)
noexcept
static
constexpr
Shift
sxtx
(
uint32_t
value)
noexcept
Memory Operand Construction
static
constexpr
Mem
ptr
(
const
Gp
& base,
int32_t
offset = 0)
noexcept
static
constexpr
Mem
ptr_pre
(
const
Gp
& base,
int32_t
offset = 0)
noexcept
static
constexpr
Mem
ptr_post
(
const
Gp
& base,
int32_t
offset = 0)
noexcept
static
constexpr
Mem
ptr
(
const
Gp
& base,
const
Gp
& index)
noexcept
static
constexpr
Mem
ptr_pre
(
const
Gp
& base,
const
Gp
& index)
noexcept
static
constexpr
Mem
ptr_post
(
const
Gp
& base,
const
Gp
& index)
noexcept
static
constexpr
Mem
ptr
(
const
Gp
& base,
const
Gp
& index,
const
Shift
& shift)
noexcept
static
constexpr
Mem
ptr
(
const
Label
& base,
int32_t
offset = 0)
noexcept
static
constexpr
Mem
ptr
(
uint64_t
base)
noexcept
Variables
static
constexpr
Gp
w0
=
Gp::make_r32
(0)
static
constexpr
Gp
w1
=
Gp::make_r32
(1)
static
constexpr
Gp
w2
=
Gp::make_r32
(2)
static
constexpr
Gp
w3
=
Gp::make_r32
(3)
static
constexpr
Gp
w4
=
Gp::make_r32
(4)
static
constexpr
Gp
w5
=
Gp::make_r32
(5)
static
constexpr
Gp
w6
=
Gp::make_r32
(6)
static
constexpr
Gp
w7
=
Gp::make_r32
(7)
static
constexpr
Gp
w8
=
Gp::make_r32
(8)
static
constexpr
Gp
w9
=
Gp::make_r32
(9)
static
constexpr
Gp
w10
=
Gp::make_r32
(10)
static
constexpr
Gp
w11
=
Gp::make_r32
(11)
static
constexpr
Gp
w12
=
Gp::make_r32
(12)
static
constexpr
Gp
w13
=
Gp::make_r32
(13)
static
constexpr
Gp
w14
=
Gp::make_r32
(14)
static
constexpr
Gp
w15
=
Gp::make_r32
(15)
static
constexpr
Gp
w16
=
Gp::make_r32
(16)
static
constexpr
Gp
w17
=
Gp::make_r32
(17)
static
constexpr
Gp
w18
=
Gp::make_r32
(18)
static
constexpr
Gp
w19
=
Gp::make_r32
(19)
static
constexpr
Gp
w20
=
Gp::make_r32
(20)
static
constexpr
Gp
w21
=
Gp::make_r32
(21)
static
constexpr
Gp
w22
=
Gp::make_r32
(22)
static
constexpr
Gp
w23
=
Gp::make_r32
(23)
static
constexpr
Gp
w24
=
Gp::make_r32
(24)
static
constexpr
Gp
w25
=
Gp::make_r32
(25)
static
constexpr
Gp
w26
=
Gp::make_r32
(26)
static
constexpr
Gp
w27
=
Gp::make_r32
(27)
static
constexpr
Gp
w28
=
Gp::make_r32
(28)
static
constexpr
Gp
w29
=
Gp::make_r32
(29)
static
constexpr
Gp
w30
=
Gp::make_r32
(30)
static
constexpr
Gp
wzr
=
Gp::make_r32
(
Gp::kIdZr
)
static
constexpr
Gp
wsp
=
Gp::make_r32
(
Gp::kIdSp
)
static
constexpr
Gp
x0
=
Gp::make_r64
(0)
static
constexpr
Gp
x1
=
Gp::make_r64
(1)
static
constexpr
Gp
x2
=
Gp::make_r64
(2)
static
constexpr
Gp
x3
=
Gp::make_r64
(3)
static
constexpr
Gp
x4
=
Gp::make_r64
(4)
static
constexpr
Gp
x5
=
Gp::make_r64
(5)
static
constexpr
Gp
x6
=
Gp::make_r64
(6)
static
constexpr
Gp
x7
=
Gp::make_r64
(7)
static
constexpr
Gp
x8
=
Gp::make_r64
(8)
static
constexpr
Gp
x9
=
Gp::make_r64
(9)
static
constexpr
Gp
x10
=
Gp::make_r64
(10)
static
constexpr
Gp
x11
=
Gp::make_r64
(11)
static
constexpr
Gp
x12
=
Gp::make_r64
(12)
static
constexpr
Gp
x13
=
Gp::make_r64
(13)
static
constexpr
Gp
x14
=
Gp::make_r64
(14)
static
constexpr
Gp
x15
=
Gp::make_r64
(15)
static
constexpr
Gp
x16
=
Gp::make_r64
(16)
static
constexpr
Gp
x17
=
Gp::make_r64
(17)
static
constexpr
Gp
x18
=
Gp::make_r64
(18)
static
constexpr
Gp
x19
=
Gp::make_r64
(19)
static
constexpr
Gp
x20
=
Gp::make_r64
(20)
static
constexpr
Gp
x21
=
Gp::make_r64
(21)
static
constexpr
Gp
x22
=
Gp::make_r64
(22)
static
constexpr
Gp
x23
=
Gp::make_r64
(23)
static
constexpr
Gp
x24
=
Gp::make_r64
(24)
static
constexpr
Gp
x25
=
Gp::make_r64
(25)
static
constexpr
Gp
x26
=
Gp::make_r64
(26)
static
constexpr
Gp
x27
=
Gp::make_r64
(27)
static
constexpr
Gp
x28
=
Gp::make_r64
(28)
static
constexpr
Gp
x29
=
Gp::make_r64
(29)
static
constexpr
Gp
x30
=
Gp::make_r64
(30)
static
constexpr
Gp
xzr
=
Gp::make_r64
(
Gp::kIdZr
)
static
constexpr
Gp
sp
=
Gp::make_r64
(
Gp::kIdSp
)
static
constexpr
Vec
b0
=
Vec::make_v8
(0)
static
constexpr
Vec
b1
=
Vec::make_v8
(1)
static
constexpr
Vec
b2
=
Vec::make_v8
(2)
static
constexpr
Vec
b3
=
Vec::make_v8
(3)
static
constexpr
Vec
b4
=
Vec::make_v8
(4)
static
constexpr
Vec
b5
=
Vec::make_v8
(5)
static
constexpr
Vec
b6
=
Vec::make_v8
(6)
static
constexpr
Vec
b7
=
Vec::make_v8
(7)
static
constexpr
Vec
b8
=
Vec::make_v8
(8)
static
constexpr
Vec
b9
=
Vec::make_v8
(9)
static
constexpr
Vec
b10
=
Vec::make_v8
(10)
static
constexpr
Vec
b11
=
Vec::make_v8
(11)
static
constexpr
Vec
b12
=
Vec::make_v8
(12)
static
constexpr
Vec
b13
=
Vec::make_v8
(13)
static
constexpr
Vec
b14
=
Vec::make_v8
(14)
static
constexpr
Vec
b15
=
Vec::make_v8
(15)
static
constexpr
Vec
b16
=
Vec::make_v8
(16)
static
constexpr
Vec
b17
=
Vec::make_v8
(17)
static
constexpr
Vec
b18
=
Vec::make_v8
(18)
static
constexpr
Vec
b19
=
Vec::make_v8
(19)
static
constexpr
Vec
b20
=
Vec::make_v8
(20)
static
constexpr
Vec
b21
=
Vec::make_v8
(21)
static
constexpr
Vec
b22
=
Vec::make_v8
(22)
static
constexpr
Vec
b23
=
Vec::make_v8
(23)
static
constexpr
Vec
b24
=
Vec::make_v8
(24)
static
constexpr
Vec
b25
=
Vec::make_v8
(25)
static
constexpr
Vec
b26
=
Vec::make_v8
(26)
static
constexpr
Vec
b27
=
Vec::make_v8
(27)
static
constexpr
Vec
b28
=
Vec::make_v8
(28)
static
constexpr
Vec
b29
=
Vec::make_v8
(29)
static
constexpr
Vec
b30
=
Vec::make_v8
(30)
static
constexpr
Vec
b31
=
Vec::make_v8
(31)
static
constexpr
Vec
h0
=
Vec::make_v16
(0)
static
constexpr
Vec
h1
=
Vec::make_v16
(1)
static
constexpr
Vec
h2
=
Vec::make_v16
(2)
static
constexpr
Vec
h3
=
Vec::make_v16
(3)
static
constexpr
Vec
h4
=
Vec::make_v16
(4)
static
constexpr
Vec
h5
=
Vec::make_v16
(5)
static
constexpr
Vec
h6
=
Vec::make_v16
(6)
static
constexpr
Vec
h7
=
Vec::make_v16
(7)
static
constexpr
Vec
h8
=
Vec::make_v16
(8)
static
constexpr
Vec
h9
=
Vec::make_v16
(9)
static
constexpr
Vec
h10
=
Vec::make_v16
(10)
static
constexpr
Vec
h11
=
Vec::make_v16
(11)
static
constexpr
Vec
h12
=
Vec::make_v16
(12)
static
constexpr
Vec
h13
=
Vec::make_v16
(13)
static
constexpr
Vec
h14
=
Vec::make_v16
(14)
static
constexpr
Vec
h15
=
Vec::make_v16
(15)
static
constexpr
Vec
h16
=
Vec::make_v16
(16)
static
constexpr
Vec
h17
=
Vec::make_v16
(17)
static
constexpr
Vec
h18
=
Vec::make_v16
(18)
static
constexpr
Vec
h19
=
Vec::make_v16
(19)
static
constexpr
Vec
h20
=
Vec::make_v16
(20)
static
constexpr
Vec
h21
=
Vec::make_v16
(21)
static
constexpr
Vec
h22
=
Vec::make_v16
(22)
static
constexpr
Vec
h23
=
Vec::make_v16
(23)
static
constexpr
Vec
h24
=
Vec::make_v16
(24)
static
constexpr
Vec
h25
=
Vec::make_v16
(25)
static
constexpr
Vec
h26
=
Vec::make_v16
(26)
static
constexpr
Vec
h27
=
Vec::make_v16
(27)
static
constexpr
Vec
h28
=
Vec::make_v16
(28)
static
constexpr
Vec
h29
=
Vec::make_v16
(29)
static
constexpr
Vec
h30
=
Vec::make_v16
(30)
static
constexpr
Vec
h31
=
Vec::make_v16
(31)
static
constexpr
Vec
s0
=
Vec::make_v32
(0)
static
constexpr
Vec
s1
=
Vec::make_v32
(1)
static
constexpr
Vec
s2
=
Vec::make_v32
(2)
static
constexpr
Vec
s3
=
Vec::make_v32
(3)
static
constexpr
Vec
s4
=
Vec::make_v32
(4)
static
constexpr
Vec
s5
=
Vec::make_v32
(5)
static
constexpr
Vec
s6
=
Vec::make_v32
(6)
static
constexpr
Vec
s7
=
Vec::make_v32
(7)
static
constexpr
Vec
s8
=
Vec::make_v32
(8)
static
constexpr
Vec
s9
=
Vec::make_v32
(9)
static
constexpr
Vec
s10
=
Vec::make_v32
(10)
static
constexpr
Vec
s11
=
Vec::make_v32
(11)
static
constexpr
Vec
s12
=
Vec::make_v32
(12)
static
constexpr
Vec
s13
=
Vec::make_v32
(13)
static
constexpr
Vec
s14
=
Vec::make_v32
(14)
static
constexpr
Vec
s15
=
Vec::make_v32
(15)
static
constexpr
Vec
s16
=
Vec::make_v32
(16)
static
constexpr
Vec
s17
=
Vec::make_v32
(17)
static
constexpr
Vec
s18
=
Vec::make_v32
(18)
static
constexpr
Vec
s19
=
Vec::make_v32
(19)
static
constexpr
Vec
s20
=
Vec::make_v32
(20)
static
constexpr
Vec
s21
=
Vec::make_v32
(21)
static
constexpr
Vec
s22
=
Vec::make_v32
(22)
static
constexpr
Vec
s23
=
Vec::make_v32
(23)
static
constexpr
Vec
s24
=
Vec::make_v32
(24)
static
constexpr
Vec
s25
=
Vec::make_v32
(25)
static
constexpr
Vec
s26
=
Vec::make_v32
(26)
static
constexpr
Vec
s27
=
Vec::make_v32
(27)
static
constexpr
Vec
s28
=
Vec::make_v32
(28)
static
constexpr
Vec
s29
=
Vec::make_v32
(29)
static
constexpr
Vec
s30
=
Vec::make_v32
(30)
static
constexpr
Vec
s31
=
Vec::make_v32
(31)
static
constexpr
Vec
d0
=
Vec::make_v64
(0)
static
constexpr
Vec
d1
=
Vec::make_v64
(1)
static
constexpr
Vec
d2
=
Vec::make_v64
(2)
static
constexpr
Vec
d3
=
Vec::make_v64
(3)
static
constexpr
Vec
d4
=
Vec::make_v64
(4)
static
constexpr
Vec
d5
=
Vec::make_v64
(5)
static
constexpr
Vec
d6
=
Vec::make_v64
(6)
static
constexpr
Vec
d7
=
Vec::make_v64
(7)
static
constexpr
Vec
d8
=
Vec::make_v64
(8)
static
constexpr
Vec
d9
=
Vec::make_v64
(9)
static
constexpr
Vec
d10
=
Vec::make_v64
(10)
static
constexpr
Vec
d11
=
Vec::make_v64
(11)
static
constexpr
Vec
d12
=
Vec::make_v64
(12)
static
constexpr
Vec
d13
=
Vec::make_v64
(13)
static
constexpr
Vec
d14
=
Vec::make_v64
(14)
static
constexpr
Vec
d15
=
Vec::make_v64
(15)
static
constexpr
Vec
d16
=
Vec::make_v64
(16)
static
constexpr
Vec
d17
=
Vec::make_v64
(17)
static
constexpr
Vec
d18
=
Vec::make_v64
(18)
static
constexpr
Vec
d19
=
Vec::make_v64
(19)
static
constexpr
Vec
d20
=
Vec::make_v64
(20)
static
constexpr
Vec
d21
=
Vec::make_v64
(21)
static
constexpr
Vec
d22
=
Vec::make_v64
(22)
static
constexpr
Vec
d23
=
Vec::make_v64
(23)
static
constexpr
Vec
d24
=
Vec::make_v64
(24)
static
constexpr
Vec
d25
=
Vec::make_v64
(25)
static
constexpr
Vec
d26
=
Vec::make_v64
(26)
static
constexpr
Vec
d27
=
Vec::make_v64
(27)
static
constexpr
Vec
d28
=
Vec::make_v64
(28)
static
constexpr
Vec
d29
=
Vec::make_v64
(29)
static
constexpr
Vec
d30
=
Vec::make_v64
(30)
static
constexpr
Vec
d31
=
Vec::make_v64
(31)
static
constexpr
Vec
q0
=
Vec::make_v128
(0)
static
constexpr
Vec
q1
=
Vec::make_v128
(1)
static
constexpr
Vec
q2
=
Vec::make_v128
(2)
static
constexpr
Vec
q3
=
Vec::make_v128
(3)
static
constexpr
Vec
q4
=
Vec::make_v128
(4)
static
constexpr
Vec
q5
=
Vec::make_v128
(5)
static
constexpr
Vec
q6
=
Vec::make_v128
(6)
static
constexpr
Vec
q7
=
Vec::make_v128
(7)
static
constexpr
Vec
q8
=
Vec::make_v128
(8)
static
constexpr
Vec
q9
=
Vec::make_v128
(9)
static
constexpr
Vec
q10
=
Vec::make_v128
(10)
static
constexpr
Vec
q11
=
Vec::make_v128
(11)
static
constexpr
Vec
q12
=
Vec::make_v128
(12)
static
constexpr
Vec
q13
=
Vec::make_v128
(13)
static
constexpr
Vec
q14
=
Vec::make_v128
(14)
static
constexpr
Vec
q15
=
Vec::make_v128
(15)
static
constexpr
Vec
q16
=
Vec::make_v128
(16)
static
constexpr
Vec
q17
=
Vec::make_v128
(17)
static
constexpr
Vec
q18
=
Vec::make_v128
(18)
static
constexpr
Vec
q19
=
Vec::make_v128
(19)
static
constexpr
Vec
q20
=
Vec::make_v128
(20)
static
constexpr
Vec
q21
=
Vec::make_v128
(21)
static
constexpr
Vec
q22
=
Vec::make_v128
(22)
static
constexpr
Vec
q23
=
Vec::make_v128
(23)
static
constexpr
Vec
q24
=
Vec::make_v128
(24)
static
constexpr
Vec
q25
=
Vec::make_v128
(25)
static
constexpr
Vec
q26
=
Vec::make_v128
(26)
static
constexpr
Vec
q27
=
Vec::make_v128
(27)
static
constexpr
Vec
q28
=
Vec::make_v128
(28)
static
constexpr
Vec
q29
=
Vec::make_v128
(29)
static
constexpr
Vec
q30
=
Vec::make_v128
(30)
static
constexpr
Vec
q31
=
Vec::make_v128
(31)
static
constexpr
Vec
v0
=
Vec::make_v128
(0)
static
constexpr
Vec
v1
=
Vec::make_v128
(1)
static
constexpr
Vec
v2
=
Vec::make_v128
(2)
static
constexpr
Vec
v3
=
Vec::make_v128
(3)
static
constexpr
Vec
v4
=
Vec::make_v128
(4)
static
constexpr
Vec
v5
=
Vec::make_v128
(5)
static
constexpr
Vec
v6
=
Vec::make_v128
(6)
static
constexpr
Vec
v7
=
Vec::make_v128
(7)
static
constexpr
Vec
v8
=
Vec::make_v128
(8)
static
constexpr
Vec
v9
=
Vec::make_v128
(9)
static
constexpr
Vec
v10
=
Vec::make_v128
(10)
static
constexpr
Vec
v11
=
Vec::make_v128
(11)
static
constexpr
Vec
v12
=
Vec::make_v128
(12)
static
constexpr
Vec
v13
=
Vec::make_v128
(13)
static
constexpr
Vec
v14
=
Vec::make_v128
(14)
static
constexpr
Vec
v15
=
Vec::make_v128
(15)
static
constexpr
Vec
v16
=
Vec::make_v128
(16)
static
constexpr
Vec
v17
=
Vec::make_v128
(17)
static
constexpr
Vec
v18
=
Vec::make_v128
(18)
static
constexpr
Vec
v19
=
Vec::make_v128
(19)
static
constexpr
Vec
v20
=
Vec::make_v128
(20)
static
constexpr
Vec
v21
=
Vec::make_v128
(21)
static
constexpr
Vec
v22
=
Vec::make_v128
(22)
static
constexpr
Vec
v23
=
Vec::make_v128
(23)
static
constexpr
Vec
v24
=
Vec::make_v128
(24)
static
constexpr
Vec
v25
=
Vec::make_v128
(25)
static
constexpr
Vec
v26
=
Vec::make_v128
(26)
static
constexpr
Vec
v27
=
Vec::make_v128
(27)
static
constexpr
Vec
v28
=
Vec::make_v128
(28)
static
constexpr
Vec
v29
=
Vec::make_v128
(29)
static
constexpr
Vec
v30
=
Vec::make_v128
(30)
static
constexpr
Vec
v31
=
Vec::make_v128
(31)