1 | //===-- ARM64_DWARF_Registers.h ---------------------------------*- C++ -*-===// |
2 | // |
3 | // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. |
4 | // See https://llvm.org/LICENSE.txt for license information. |
5 | // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception |
6 | // |
7 | //===----------------------------------------------------------------------===// |
8 | |
9 | #ifndef LLDB_SOURCE_UTILITY_ARM64_DWARF_REGISTERS_H |
10 | #define LLDB_SOURCE_UTILITY_ARM64_DWARF_REGISTERS_H |
11 | |
12 | #include "lldb/lldb-private.h" |
13 | |
14 | namespace arm64_dwarf { |
15 | |
16 | enum { |
17 | x0 = 0, |
18 | x1, |
19 | x2, |
20 | x3, |
21 | x4, |
22 | x5, |
23 | x6, |
24 | x7, |
25 | x8, |
26 | x9, |
27 | x10, |
28 | x11, |
29 | x12, |
30 | x13, |
31 | x14, |
32 | x15, |
33 | x16, |
34 | x17, |
35 | x18, |
36 | x19, |
37 | x20, |
38 | x21, |
39 | x22, |
40 | x23, |
41 | x24, |
42 | x25, |
43 | x26, |
44 | x27, |
45 | x28, |
46 | x29 = 29, |
47 | fp = x29, |
48 | x30 = 30, |
49 | lr = x30, |
50 | x31 = 31, |
51 | sp = x31, |
52 | pc = 32, |
53 | cpsr = 33, |
54 | // 34-45 reserved |
55 | |
56 | // 64-bit SVE Vector granule pseudo register |
57 | vg = 46, |
58 | |
59 | // VG ́8-bit SVE first fault register |
60 | ffr = 47, |
61 | |
62 | // VG x ́8-bit SVE predicate registers |
63 | p0 = 48, |
64 | p1, |
65 | p2, |
66 | p3, |
67 | p4, |
68 | p5, |
69 | p6, |
70 | p7, |
71 | p8, |
72 | p9, |
73 | p10, |
74 | p11, |
75 | p12, |
76 | p13, |
77 | p14, |
78 | p15, |
79 | |
80 | // V0-V31 (128 bit vector registers) |
81 | v0 = 64, |
82 | v1, |
83 | v2, |
84 | v3, |
85 | v4, |
86 | v5, |
87 | v6, |
88 | v7, |
89 | v8, |
90 | v9, |
91 | v10, |
92 | v11, |
93 | v12, |
94 | v13, |
95 | v14, |
96 | v15, |
97 | v16, |
98 | v17, |
99 | v18, |
100 | v19, |
101 | v20, |
102 | v21, |
103 | v22, |
104 | v23, |
105 | v24, |
106 | v25, |
107 | v26, |
108 | v27, |
109 | v28, |
110 | v29, |
111 | v30, |
112 | v31, |
113 | |
114 | // VG ́64-bit SVE vector registers |
115 | z0 = 96, |
116 | z1, |
117 | z2, |
118 | z3, |
119 | z4, |
120 | z5, |
121 | z6, |
122 | z7, |
123 | z8, |
124 | z9, |
125 | z10, |
126 | z11, |
127 | z12, |
128 | z13, |
129 | z14, |
130 | z15, |
131 | z16, |
132 | z17, |
133 | z18, |
134 | z19, |
135 | z20, |
136 | z21, |
137 | z22, |
138 | z23, |
139 | z24, |
140 | z25, |
141 | z26, |
142 | z27, |
143 | z28, |
144 | z29, |
145 | z30, |
146 | z31 |
147 | }; |
148 | |
149 | } // namespace arm64_dwarf |
150 | |
151 | #endif // LLDB_SOURCE_UTILITY_ARM64_DWARF_REGISTERS_H |
152 | |