1*f6aab3d8Srobert //===-- LoongArch_DWARF_Registers.h -----------------------------*- C++ -*-===//
2*f6aab3d8Srobert //
3*f6aab3d8Srobert // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4*f6aab3d8Srobert // See https://llvm.org/LICENSE.txt for license information.
5*f6aab3d8Srobert // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6*f6aab3d8Srobert //
7*f6aab3d8Srobert //===----------------------------------------------------------------------===//
8*f6aab3d8Srobert 
9*f6aab3d8Srobert #ifndef LLDB_SOURCE_UTILITY_LOONGARCH_DWARF_REGISTERS_H
10*f6aab3d8Srobert #define LLDB_SOURCE_UTILITY_LOONGARCH_DWARF_REGISTERS_H
11*f6aab3d8Srobert 
12*f6aab3d8Srobert #include "lldb/lldb-private.h"
13*f6aab3d8Srobert 
14*f6aab3d8Srobert namespace loongarch_dwarf {
15*f6aab3d8Srobert 
16*f6aab3d8Srobert enum {
17*f6aab3d8Srobert   dwarf_gpr_r0 = 0,
18*f6aab3d8Srobert   dwarf_gpr_r1,
19*f6aab3d8Srobert   dwarf_gpr_r2,
20*f6aab3d8Srobert   dwarf_gpr_r3,
21*f6aab3d8Srobert   dwarf_gpr_r4,
22*f6aab3d8Srobert   dwarf_gpr_r5,
23*f6aab3d8Srobert   dwarf_gpr_r6,
24*f6aab3d8Srobert   dwarf_gpr_r7,
25*f6aab3d8Srobert   dwarf_gpr_r8,
26*f6aab3d8Srobert   dwarf_gpr_r9,
27*f6aab3d8Srobert   dwarf_gpr_r10,
28*f6aab3d8Srobert   dwarf_gpr_r11,
29*f6aab3d8Srobert   dwarf_gpr_r12,
30*f6aab3d8Srobert   dwarf_gpr_r13,
31*f6aab3d8Srobert   dwarf_gpr_r14,
32*f6aab3d8Srobert   dwarf_gpr_r15,
33*f6aab3d8Srobert   dwarf_gpr_r16,
34*f6aab3d8Srobert   dwarf_gpr_r17,
35*f6aab3d8Srobert   dwarf_gpr_r18,
36*f6aab3d8Srobert   dwarf_gpr_r19,
37*f6aab3d8Srobert   dwarf_gpr_r20,
38*f6aab3d8Srobert   dwarf_gpr_r21,
39*f6aab3d8Srobert   dwarf_gpr_r22,
40*f6aab3d8Srobert   dwarf_gpr_r23,
41*f6aab3d8Srobert   dwarf_gpr_r24,
42*f6aab3d8Srobert   dwarf_gpr_r25,
43*f6aab3d8Srobert   dwarf_gpr_r26,
44*f6aab3d8Srobert   dwarf_gpr_r27,
45*f6aab3d8Srobert   dwarf_gpr_r28,
46*f6aab3d8Srobert   dwarf_gpr_r29,
47*f6aab3d8Srobert   dwarf_gpr_r30,
48*f6aab3d8Srobert   dwarf_gpr_r31 = 31,
49*f6aab3d8Srobert 
50*f6aab3d8Srobert   dwarf_gpr_orig_a0,
51*f6aab3d8Srobert   dwarf_gpr_pc,
52*f6aab3d8Srobert   dwarf_gpr_badv,
53*f6aab3d8Srobert 
54*f6aab3d8Srobert   dwarf_gpr_reserved0 = 35,
55*f6aab3d8Srobert   dwarf_gpr_reserved1,
56*f6aab3d8Srobert   dwarf_gpr_reserved2,
57*f6aab3d8Srobert   dwarf_gpr_reserved3,
58*f6aab3d8Srobert   dwarf_gpr_reserved4,
59*f6aab3d8Srobert   dwarf_gpr_reserved5,
60*f6aab3d8Srobert   dwarf_gpr_reserved6,
61*f6aab3d8Srobert   dwarf_gpr_reserved7,
62*f6aab3d8Srobert   dwarf_gpr_reserved8,
63*f6aab3d8Srobert   dwarf_gpr_reserved9,
64*f6aab3d8Srobert 
65*f6aab3d8Srobert   dwarf_fpr_f0 = 45,
66*f6aab3d8Srobert   dwarf_fpr_f1,
67*f6aab3d8Srobert   dwarf_fpr_f2,
68*f6aab3d8Srobert   dwarf_fpr_f3,
69*f6aab3d8Srobert   dwarf_fpr_f4,
70*f6aab3d8Srobert   dwarf_fpr_f5,
71*f6aab3d8Srobert   dwarf_fpr_f6,
72*f6aab3d8Srobert   dwarf_fpr_f7,
73*f6aab3d8Srobert   dwarf_fpr_f8,
74*f6aab3d8Srobert   dwarf_fpr_f9,
75*f6aab3d8Srobert   dwarf_fpr_f10,
76*f6aab3d8Srobert   dwarf_fpr_f11,
77*f6aab3d8Srobert   dwarf_fpr_f12,
78*f6aab3d8Srobert   dwarf_fpr_f13,
79*f6aab3d8Srobert   dwarf_fpr_f14,
80*f6aab3d8Srobert   dwarf_fpr_f15,
81*f6aab3d8Srobert   dwarf_fpr_f16,
82*f6aab3d8Srobert   dwarf_fpr_f17,
83*f6aab3d8Srobert   dwarf_fpr_f18,
84*f6aab3d8Srobert   dwarf_fpr_f19,
85*f6aab3d8Srobert   dwarf_fpr_f20,
86*f6aab3d8Srobert   dwarf_fpr_f21,
87*f6aab3d8Srobert   dwarf_fpr_f22,
88*f6aab3d8Srobert   dwarf_fpr_f23,
89*f6aab3d8Srobert   dwarf_fpr_f24,
90*f6aab3d8Srobert   dwarf_fpr_f25,
91*f6aab3d8Srobert   dwarf_fpr_f26,
92*f6aab3d8Srobert   dwarf_fpr_f27,
93*f6aab3d8Srobert   dwarf_fpr_f28,
94*f6aab3d8Srobert   dwarf_fpr_f29,
95*f6aab3d8Srobert   dwarf_fpr_f30,
96*f6aab3d8Srobert   dwarf_fpr_f31 = 76,
97*f6aab3d8Srobert 
98*f6aab3d8Srobert   dwarf_fpr_fcc0,
99*f6aab3d8Srobert   dwarf_fpr_fcc1,
100*f6aab3d8Srobert   dwarf_fpr_fcc2,
101*f6aab3d8Srobert   dwarf_fpr_fcc3,
102*f6aab3d8Srobert   dwarf_fpr_fcc4,
103*f6aab3d8Srobert   dwarf_fpr_fcc5,
104*f6aab3d8Srobert   dwarf_fpr_fcc6,
105*f6aab3d8Srobert   dwarf_fpr_fcc7,
106*f6aab3d8Srobert   dwarf_fpr_fcsr,
107*f6aab3d8Srobert 
108*f6aab3d8Srobert   // register name alias
109*f6aab3d8Srobert   dwarf_gpr_zero = dwarf_gpr_r0,
110*f6aab3d8Srobert   dwarf_gpr_ra = dwarf_gpr_r1,
111*f6aab3d8Srobert   dwarf_gpr_tp = dwarf_gpr_r2,
112*f6aab3d8Srobert   dwarf_gpr_sp = dwarf_gpr_r3,
113*f6aab3d8Srobert   dwarf_gpr_a0 = dwarf_gpr_r4,
114*f6aab3d8Srobert   dwarf_gpr_a1 = dwarf_gpr_r5,
115*f6aab3d8Srobert   dwarf_gpr_a2 = dwarf_gpr_r6,
116*f6aab3d8Srobert   dwarf_gpr_a3 = dwarf_gpr_r7,
117*f6aab3d8Srobert   dwarf_gpr_a4 = dwarf_gpr_r8,
118*f6aab3d8Srobert   dwarf_gpr_a5 = dwarf_gpr_r9,
119*f6aab3d8Srobert   dwarf_gpr_a6 = dwarf_gpr_r10,
120*f6aab3d8Srobert   dwarf_gpr_a7 = dwarf_gpr_r11,
121*f6aab3d8Srobert   dwarf_gpr_t0 = dwarf_gpr_r12,
122*f6aab3d8Srobert   dwarf_gpr_t1 = dwarf_gpr_r13,
123*f6aab3d8Srobert   dwarf_gpr_t2 = dwarf_gpr_r14,
124*f6aab3d8Srobert   dwarf_gpr_t3 = dwarf_gpr_r15,
125*f6aab3d8Srobert   dwarf_gpr_t4 = dwarf_gpr_r16,
126*f6aab3d8Srobert   dwarf_gpr_t5 = dwarf_gpr_r17,
127*f6aab3d8Srobert   dwarf_gpr_t6 = dwarf_gpr_r18,
128*f6aab3d8Srobert   dwarf_gpr_t7 = dwarf_gpr_r19,
129*f6aab3d8Srobert   dwarf_gpr_t8 = dwarf_gpr_r20,
130*f6aab3d8Srobert   dwarf_gpr_fp = dwarf_gpr_r22,
131*f6aab3d8Srobert   dwarf_gpr_s0 = dwarf_gpr_r23,
132*f6aab3d8Srobert   dwarf_gpr_s1 = dwarf_gpr_r24,
133*f6aab3d8Srobert   dwarf_gpr_s2 = dwarf_gpr_r25,
134*f6aab3d8Srobert   dwarf_gpr_s3 = dwarf_gpr_r26,
135*f6aab3d8Srobert   dwarf_gpr_s4 = dwarf_gpr_r27,
136*f6aab3d8Srobert   dwarf_gpr_s5 = dwarf_gpr_r28,
137*f6aab3d8Srobert   dwarf_gpr_s6 = dwarf_gpr_r29,
138*f6aab3d8Srobert   dwarf_gpr_s7 = dwarf_gpr_r30,
139*f6aab3d8Srobert   dwarf_gpr_s8 = dwarf_gpr_r31,
140*f6aab3d8Srobert 
141*f6aab3d8Srobert   dwarf_fpr_fa0 = dwarf_fpr_f0,
142*f6aab3d8Srobert   dwarf_fpr_fa1 = dwarf_fpr_f1,
143*f6aab3d8Srobert   dwarf_fpr_fa2 = dwarf_fpr_f2,
144*f6aab3d8Srobert   dwarf_fpr_fa3 = dwarf_fpr_f3,
145*f6aab3d8Srobert   dwarf_fpr_fa4 = dwarf_fpr_f4,
146*f6aab3d8Srobert   dwarf_fpr_fa5 = dwarf_fpr_f5,
147*f6aab3d8Srobert   dwarf_fpr_fa6 = dwarf_fpr_f6,
148*f6aab3d8Srobert   dwarf_fpr_fa7 = dwarf_fpr_f7,
149*f6aab3d8Srobert   dwarf_fpr_ft0 = dwarf_fpr_f8,
150*f6aab3d8Srobert   dwarf_fpr_ft1 = dwarf_fpr_f9,
151*f6aab3d8Srobert   dwarf_fpr_ft2 = dwarf_fpr_f10,
152*f6aab3d8Srobert   dwarf_fpr_ft3 = dwarf_fpr_f11,
153*f6aab3d8Srobert   dwarf_fpr_ft4 = dwarf_fpr_f12,
154*f6aab3d8Srobert   dwarf_fpr_ft5 = dwarf_fpr_f13,
155*f6aab3d8Srobert   dwarf_fpr_ft6 = dwarf_fpr_f14,
156*f6aab3d8Srobert   dwarf_fpr_ft7 = dwarf_fpr_f15,
157*f6aab3d8Srobert   dwarf_fpr_ft8 = dwarf_fpr_f16,
158*f6aab3d8Srobert   dwarf_fpr_ft9 = dwarf_fpr_f17,
159*f6aab3d8Srobert   dwarf_fpr_ft10 = dwarf_fpr_f18,
160*f6aab3d8Srobert   dwarf_fpr_ft11 = dwarf_fpr_f19,
161*f6aab3d8Srobert   dwarf_fpr_ft12 = dwarf_fpr_f20,
162*f6aab3d8Srobert   dwarf_fpr_ft13 = dwarf_fpr_f21,
163*f6aab3d8Srobert   dwarf_fpr_ft14 = dwarf_fpr_f22,
164*f6aab3d8Srobert   dwarf_fpr_ft15 = dwarf_fpr_f23,
165*f6aab3d8Srobert   dwarf_fpr_fs0 = dwarf_fpr_f24,
166*f6aab3d8Srobert   dwarf_fpr_fs1 = dwarf_fpr_f25,
167*f6aab3d8Srobert   dwarf_fpr_fs2 = dwarf_fpr_f26,
168*f6aab3d8Srobert   dwarf_fpr_fs3 = dwarf_fpr_f27,
169*f6aab3d8Srobert   dwarf_fpr_fs4 = dwarf_fpr_f28,
170*f6aab3d8Srobert   dwarf_fpr_fs5 = dwarf_fpr_f29,
171*f6aab3d8Srobert   dwarf_fpr_fs6 = dwarf_fpr_f30,
172*f6aab3d8Srobert   dwarf_fpr_fs7 = dwarf_fpr_f31,
173*f6aab3d8Srobert };
174*f6aab3d8Srobert 
175*f6aab3d8Srobert } // namespace loongarch_dwarf
176*f6aab3d8Srobert 
177*f6aab3d8Srobert #endif // LLDB_SOURCE_UTILITY_LOONGARCH_DWARF_REGISTERS_H
178