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

source code of lldb/source/Utility/ARM64_ehframe_Registers.h