1 //===-- lldb-x86-register-enums.h -------------------------------*- C++ -*-===//
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
7 //===----------------------------------------------------------------------===//
9 #ifndef lldb_x86_register_enums_h
10 #define lldb_x86_register_enums_h
12 namespace lldb_private {
13 // LLDB register codes (e.g. RegisterKind == eRegisterKindLLDB)
15 // Internal codes for all i386 registers.
18 lldb_eax_i386 = k_first_gpr_i386,
36 lldb_ax_i386 = k_first_alias_i386,
52 k_last_alias_i386 = lldb_dl_i386,
54 k_last_gpr_i386 = k_last_alias_i386,
57 lldb_fctrl_i386 = k_first_fpr_i386,
91 k_last_fpr_i386 = lldb_xmm7_i386,
94 lldb_ymm0_i386 = k_first_avx_i386,
102 k_last_avx_i386 = lldb_ymm7_i386,
105 lldb_bnd0_i386 = k_first_mpxr_i386,
109 k_last_mpxr = lldb_bnd3_i386,
112 lldb_bndcfgu_i386 = k_first_mpxc_i386,
114 k_last_mpxc_i386 = lldb_bndstatus_i386,
125 k_num_registers_i386,
126 k_num_gpr_registers_i386 = k_last_gpr_i386 - k_first_gpr_i386 + 1,
127 k_num_fpr_registers_i386 = k_last_fpr_i386 - k_first_fpr_i386 + 1,
128 k_num_avx_registers_i386 = k_last_avx_i386 - k_first_avx_i386 + 1,
129 k_num_mpx_registers_i386 = k_last_mpxc_i386 - k_first_mpxr_i386 + 1,
130 k_num_user_registers_i386 = k_num_gpr_registers_i386 +
131 k_num_fpr_registers_i386 +
132 k_num_avx_registers_i386 +
133 k_num_mpx_registers_i386,
136 // Internal codes for all x86_64 registers.
139 lldb_rax_x86_64 = k_first_gpr_x86_64,
164 k_first_alias_x86_64,
165 lldb_eax_x86_64 = k_first_alias_x86_64,
173 lldb_r8d_x86_64, // Low 32 bits of r8
174 lldb_r9d_x86_64, // Low 32 bits of r9
175 lldb_r10d_x86_64, // Low 32 bits of r10
176 lldb_r11d_x86_64, // Low 32 bits of r11
177 lldb_r12d_x86_64, // Low 32 bits of r12
178 lldb_r13d_x86_64, // Low 32 bits of r13
179 lldb_r14d_x86_64, // Low 32 bits of r14
180 lldb_r15d_x86_64, // Low 32 bits of r15
189 lldb_r8w_x86_64, // Low 16 bits of r8
190 lldb_r9w_x86_64, // Low 16 bits of r9
191 lldb_r10w_x86_64, // Low 16 bits of r10
192 lldb_r11w_x86_64, // Low 16 bits of r11
193 lldb_r12w_x86_64, // Low 16 bits of r12
194 lldb_r13w_x86_64, // Low 16 bits of r13
195 lldb_r14w_x86_64, // Low 16 bits of r14
196 lldb_r15w_x86_64, // Low 16 bits of r15
209 lldb_r8l_x86_64, // Low 8 bits of r8
210 lldb_r9l_x86_64, // Low 8 bits of r9
211 lldb_r10l_x86_64, // Low 8 bits of r10
212 lldb_r11l_x86_64, // Low 8 bits of r11
213 lldb_r12l_x86_64, // Low 8 bits of r12
214 lldb_r13l_x86_64, // Low 8 bits of r13
215 lldb_r14l_x86_64, // Low 8 bits of r14
216 lldb_r15l_x86_64, // Low 8 bits of r15
217 k_last_alias_x86_64 = lldb_r15l_x86_64,
219 k_last_gpr_x86_64 = k_last_alias_x86_64,
222 lldb_fctrl_x86_64 = k_first_fpr_x86_64,
231 lldb_mxcsrmask_x86_64,
264 k_last_fpr_x86_64 = lldb_xmm15_x86_64,
267 lldb_ymm0_x86_64 = k_first_avx_x86_64,
283 k_last_avx_x86_64 = lldb_ymm15_x86_64,
286 lldb_bnd0_x86_64 = k_first_mpxr_x86_64,
290 k_last_mpxr_x86_64 = lldb_bnd3_x86_64,
293 lldb_bndcfgu_x86_64 = k_first_mpxc_x86_64,
294 lldb_bndstatus_x86_64,
295 k_last_mpxc_x86_64 = lldb_bndstatus_x86_64,
306 k_num_registers_x86_64,
307 k_num_gpr_registers_x86_64 = k_last_gpr_x86_64 - k_first_gpr_x86_64 + 1,
308 k_num_fpr_registers_x86_64 = k_last_fpr_x86_64 - k_first_fpr_x86_64 + 1,
309 k_num_avx_registers_x86_64 = k_last_avx_x86_64 - k_first_avx_x86_64 + 1,
310 k_num_mpx_registers_x86_64 = k_last_mpxc_x86_64 - k_first_mpxr_x86_64 + 1,
311 k_num_user_registers_x86_64 = k_num_gpr_registers_x86_64 +
312 k_num_fpr_registers_x86_64 +
313 k_num_avx_registers_x86_64 +
314 k_num_mpx_registers_x86_64,
318 #endif // #ifndef lldb_x86_register_enums_h