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 utility_ARM64_DWARF_Registers_h_
10 #define 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-63 reserved
55 
56   // V0-V31 (128 bit vector registers)
57   v0 = 64,
58   v1,
59   v2,
60   v3,
61   v4,
62   v5,
63   v6,
64   v7,
65   v8,
66   v9,
67   v10,
68   v11,
69   v12,
70   v13,
71   v14,
72   v15,
73   v16,
74   v17,
75   v18,
76   v19,
77   v20,
78   v21,
79   v22,
80   v23,
81   v24,
82   v25,
83   v26,
84   v27,
85   v28,
86   v29,
87   v30,
88   v31
89 
90   // 96-127 reserved
91 };
92 
93 } // namespace arm64_dwarf
94 
95 #endif // utility_ARM64_DWARF_Registers_h_
96