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