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 utility_ARM64_ehframe_Registers_h_
11#define 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};
54
55enum {
56  v0 = 64,
57  v1,
58  v2,
59  v3,
60  v4,
61  v5,
62  v6,
63  v7,
64  v8,
65  v9,
66  v10,
67  v11,
68  v12,
69  v13,
70  v14,
71  v15,
72  v16,
73  v17,
74  v18,
75  v19,
76  v20,
77  v21,
78  v22,
79  v23,
80  v24,
81  v25,
82  v26,
83  v27,
84  v28,
85  v29,
86  v30,
87  v31 // 95
88};
89}
90
91#endif // utility_ARM64_ehframe_Registers_h_
92