]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - contrib/llvm/tools/lldb/source/Plugins/Process/Utility/lldb-x86-register-enums.h
Merge OpenSSL 1.0.2g.
[FreeBSD/FreeBSD.git] / contrib / llvm / tools / lldb / source / Plugins / Process / Utility / lldb-x86-register-enums.h
1 //===-- lldb-x86-register-enums.h -------------------------------*- C++ -*-===//
2 //
3 //                     The LLVM Compiler Infrastructure
4 //
5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details.
7 //
8 //===----------------------------------------------------------------------===//
9
10 #ifndef lldb_x86_register_enums_h
11 #define lldb_x86_register_enums_h
12
13 namespace lldb_private
14 {
15     // LLDB register codes (e.g. RegisterKind == eRegisterKindLLDB)
16
17     //---------------------------------------------------------------------------
18     // Internal codes for all i386 registers.
19     //---------------------------------------------------------------------------
20     enum
21     {
22         k_first_gpr_i386,
23         lldb_eax_i386 = k_first_gpr_i386,
24         lldb_ebx_i386,
25         lldb_ecx_i386,
26         lldb_edx_i386,
27         lldb_edi_i386,
28         lldb_esi_i386,
29         lldb_ebp_i386,
30         lldb_esp_i386,
31         lldb_eip_i386,
32         lldb_eflags_i386,
33         lldb_cs_i386,
34         lldb_fs_i386,
35         lldb_gs_i386,
36         lldb_ss_i386,
37         lldb_ds_i386,
38         lldb_es_i386,
39
40         k_first_alias_i386,
41         lldb_ax_i386 = k_first_alias_i386,
42         lldb_bx_i386,
43         lldb_cx_i386,
44         lldb_dx_i386,
45         lldb_di_i386,
46         lldb_si_i386,
47         lldb_bp_i386,
48         lldb_sp_i386,
49         lldb_ah_i386,
50         lldb_bh_i386,
51         lldb_ch_i386,
52         lldb_dh_i386,
53         lldb_al_i386,
54         lldb_bl_i386,
55         lldb_cl_i386,
56         lldb_dl_i386,
57         k_last_alias_i386 = lldb_dl_i386,
58
59         k_last_gpr_i386 = k_last_alias_i386,
60
61         k_first_fpr_i386,
62         lldb_fctrl_i386 = k_first_fpr_i386,
63         lldb_fstat_i386,
64         lldb_ftag_i386,
65         lldb_fop_i386,
66         lldb_fiseg_i386,
67         lldb_fioff_i386,
68         lldb_foseg_i386,
69         lldb_fooff_i386,
70         lldb_mxcsr_i386,
71         lldb_mxcsrmask_i386,
72         lldb_st0_i386,
73         lldb_st1_i386,
74         lldb_st2_i386,
75         lldb_st3_i386,
76         lldb_st4_i386,
77         lldb_st5_i386,
78         lldb_st6_i386,
79         lldb_st7_i386,
80         lldb_mm0_i386,
81         lldb_mm1_i386,
82         lldb_mm2_i386,
83         lldb_mm3_i386,
84         lldb_mm4_i386,
85         lldb_mm5_i386,
86         lldb_mm6_i386,
87         lldb_mm7_i386,
88         lldb_xmm0_i386,
89         lldb_xmm1_i386,
90         lldb_xmm2_i386,
91         lldb_xmm3_i386,
92         lldb_xmm4_i386,
93         lldb_xmm5_i386,
94         lldb_xmm6_i386,
95         lldb_xmm7_i386,
96         k_last_fpr_i386 = lldb_xmm7_i386,
97
98         k_first_avx_i386,
99         lldb_ymm0_i386 = k_first_avx_i386,
100         lldb_ymm1_i386,
101         lldb_ymm2_i386,
102         lldb_ymm3_i386,
103         lldb_ymm4_i386,
104         lldb_ymm5_i386,
105         lldb_ymm6_i386,
106         lldb_ymm7_i386,
107         k_last_avx_i386 = lldb_ymm7_i386,
108
109         lldb_dr0_i386,
110         lldb_dr1_i386,
111         lldb_dr2_i386,
112         lldb_dr3_i386,
113         lldb_dr4_i386,
114         lldb_dr5_i386,
115         lldb_dr6_i386,
116         lldb_dr7_i386,
117
118         k_num_registers_i386,
119         k_num_gpr_registers_i386 = k_last_gpr_i386 - k_first_gpr_i386 + 1,
120         k_num_fpr_registers_i386 = k_last_fpr_i386 - k_first_fpr_i386 + 1,
121         k_num_avx_registers_i386 = k_last_avx_i386 - k_first_avx_i386 + 1,
122         k_num_user_registers_i386 = k_num_gpr_registers_i386 + k_num_fpr_registers_i386 + k_num_avx_registers_i386,
123     };
124
125     //---------------------------------------------------------------------------
126     // Internal codes for all x86_64 registers.
127     //---------------------------------------------------------------------------
128     enum
129     {
130         k_first_gpr_x86_64,
131         lldb_rax_x86_64 = k_first_gpr_x86_64,
132         lldb_rbx_x86_64,
133         lldb_rcx_x86_64,
134         lldb_rdx_x86_64,
135         lldb_rdi_x86_64,
136         lldb_rsi_x86_64,
137         lldb_rbp_x86_64,
138         lldb_rsp_x86_64,
139         lldb_r8_x86_64,
140         lldb_r9_x86_64,
141         lldb_r10_x86_64,
142         lldb_r11_x86_64,
143         lldb_r12_x86_64,
144         lldb_r13_x86_64,
145         lldb_r14_x86_64,
146         lldb_r15_x86_64,
147         lldb_rip_x86_64,
148         lldb_rflags_x86_64,
149         lldb_cs_x86_64,
150         lldb_fs_x86_64,
151         lldb_gs_x86_64,
152         lldb_ss_x86_64,
153         lldb_ds_x86_64,
154         lldb_es_x86_64,
155
156         k_first_alias_x86_64,
157         lldb_eax_x86_64 = k_first_alias_x86_64,
158         lldb_ebx_x86_64,
159         lldb_ecx_x86_64,
160         lldb_edx_x86_64,
161         lldb_edi_x86_64,
162         lldb_esi_x86_64,
163         lldb_ebp_x86_64,
164         lldb_esp_x86_64,
165         lldb_r8d_x86_64,    // Low 32 bits of r8
166         lldb_r9d_x86_64,    // Low 32 bits of r9
167         lldb_r10d_x86_64,   // Low 32 bits of r10
168         lldb_r11d_x86_64,   // Low 32 bits of r11
169         lldb_r12d_x86_64,   // Low 32 bits of r12
170         lldb_r13d_x86_64,   // Low 32 bits of r13
171         lldb_r14d_x86_64,   // Low 32 bits of r14
172         lldb_r15d_x86_64,   // Low 32 bits of r15
173         lldb_ax_x86_64,
174         lldb_bx_x86_64,
175         lldb_cx_x86_64,
176         lldb_dx_x86_64,
177         lldb_di_x86_64,
178         lldb_si_x86_64,
179         lldb_bp_x86_64,
180         lldb_sp_x86_64,
181         lldb_r8w_x86_64,    // Low 16 bits of r8
182         lldb_r9w_x86_64,    // Low 16 bits of r9
183         lldb_r10w_x86_64,   // Low 16 bits of r10
184         lldb_r11w_x86_64,   // Low 16 bits of r11
185         lldb_r12w_x86_64,   // Low 16 bits of r12
186         lldb_r13w_x86_64,   // Low 16 bits of r13
187         lldb_r14w_x86_64,   // Low 16 bits of r14
188         lldb_r15w_x86_64,   // Low 16 bits of r15
189         lldb_ah_x86_64,
190         lldb_bh_x86_64,
191         lldb_ch_x86_64,
192         lldb_dh_x86_64,
193         lldb_al_x86_64,
194         lldb_bl_x86_64,
195         lldb_cl_x86_64,
196         lldb_dl_x86_64,
197         lldb_dil_x86_64,
198         lldb_sil_x86_64,
199         lldb_bpl_x86_64,
200         lldb_spl_x86_64,
201         lldb_r8l_x86_64,    // Low 8 bits of r8
202         lldb_r9l_x86_64,    // Low 8 bits of r9
203         lldb_r10l_x86_64,   // Low 8 bits of r10
204         lldb_r11l_x86_64,   // Low 8 bits of r11
205         lldb_r12l_x86_64,   // Low 8 bits of r12
206         lldb_r13l_x86_64,   // Low 8 bits of r13
207         lldb_r14l_x86_64,   // Low 8 bits of r14
208         lldb_r15l_x86_64,   // Low 8 bits of r15
209         k_last_alias_x86_64 = lldb_r15l_x86_64,
210
211         k_last_gpr_x86_64 = k_last_alias_x86_64,
212
213         k_first_fpr_x86_64,
214         lldb_fctrl_x86_64 = k_first_fpr_x86_64,
215         lldb_fstat_x86_64,
216         lldb_ftag_x86_64,
217         lldb_fop_x86_64,
218         lldb_fiseg_x86_64,
219         lldb_fioff_x86_64,
220         lldb_foseg_x86_64,
221         lldb_fooff_x86_64,
222         lldb_mxcsr_x86_64,
223         lldb_mxcsrmask_x86_64,
224         lldb_st0_x86_64,
225         lldb_st1_x86_64,
226         lldb_st2_x86_64,
227         lldb_st3_x86_64,
228         lldb_st4_x86_64,
229         lldb_st5_x86_64,
230         lldb_st6_x86_64,
231         lldb_st7_x86_64,
232         lldb_mm0_x86_64,
233         lldb_mm1_x86_64,
234         lldb_mm2_x86_64,
235         lldb_mm3_x86_64,
236         lldb_mm4_x86_64,
237         lldb_mm5_x86_64,
238         lldb_mm6_x86_64,
239         lldb_mm7_x86_64,
240         lldb_xmm0_x86_64,
241         lldb_xmm1_x86_64,
242         lldb_xmm2_x86_64,
243         lldb_xmm3_x86_64,
244         lldb_xmm4_x86_64,
245         lldb_xmm5_x86_64,
246         lldb_xmm6_x86_64,
247         lldb_xmm7_x86_64,
248         lldb_xmm8_x86_64,
249         lldb_xmm9_x86_64,
250         lldb_xmm10_x86_64,
251         lldb_xmm11_x86_64,
252         lldb_xmm12_x86_64,
253         lldb_xmm13_x86_64,
254         lldb_xmm14_x86_64,
255         lldb_xmm15_x86_64,
256         k_last_fpr_x86_64 = lldb_xmm15_x86_64,
257
258         k_first_avx_x86_64,
259         lldb_ymm0_x86_64 = k_first_avx_x86_64,
260         lldb_ymm1_x86_64,
261         lldb_ymm2_x86_64,
262         lldb_ymm3_x86_64,
263         lldb_ymm4_x86_64,
264         lldb_ymm5_x86_64,
265         lldb_ymm6_x86_64,
266         lldb_ymm7_x86_64,
267         lldb_ymm8_x86_64,
268         lldb_ymm9_x86_64,
269         lldb_ymm10_x86_64,
270         lldb_ymm11_x86_64,
271         lldb_ymm12_x86_64,
272         lldb_ymm13_x86_64,
273         lldb_ymm14_x86_64,
274         lldb_ymm15_x86_64,
275         k_last_avx_x86_64 = lldb_ymm15_x86_64,
276
277         lldb_dr0_x86_64,
278         lldb_dr1_x86_64,
279         lldb_dr2_x86_64,
280         lldb_dr3_x86_64,
281         lldb_dr4_x86_64,
282         lldb_dr5_x86_64,
283         lldb_dr6_x86_64,
284         lldb_dr7_x86_64,
285
286         k_num_registers_x86_64,
287         k_num_gpr_registers_x86_64 = k_last_gpr_x86_64 - k_first_gpr_x86_64 + 1,
288         k_num_fpr_registers_x86_64 = k_last_fpr_x86_64 - k_first_fpr_x86_64 + 1,
289         k_num_avx_registers_x86_64 = k_last_avx_x86_64 - k_first_avx_x86_64 + 1,
290         k_num_user_registers_x86_64 = k_num_gpr_registers_x86_64 + k_num_fpr_registers_x86_64 + k_num_avx_registers_x86_64,
291     };
292
293 }
294
295 #endif // #ifndef lldb_x86_register_enums_h