1 //===-- lldb-x86-register-enums.h -------------------------------*- C++ -*-===//
3 // The LLVM Compiler Infrastructure
5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details.
8 //===----------------------------------------------------------------------===//
10 #ifndef lldb_x86_register_enums_h
11 #define lldb_x86_register_enums_h
13 namespace lldb_private {
14 // LLDB register codes (e.g. RegisterKind == eRegisterKindLLDB)
16 //---------------------------------------------------------------------------
17 // Internal codes for all i386 registers.
18 //---------------------------------------------------------------------------
21 lldb_eax_i386 = k_first_gpr_i386,
39 lldb_ax_i386 = k_first_alias_i386,
55 k_last_alias_i386 = lldb_dl_i386,
57 k_last_gpr_i386 = k_last_alias_i386,
60 lldb_fctrl_i386 = k_first_fpr_i386,
94 k_last_fpr_i386 = lldb_xmm7_i386,
97 lldb_ymm0_i386 = k_first_avx_i386,
105 k_last_avx_i386 = lldb_ymm7_i386,
108 lldb_bnd0_i386 = k_first_mpxr_i386,
112 k_last_mpxr = lldb_bnd3_i386,
115 lldb_bndcfgu_i386 = k_first_mpxc_i386,
117 k_last_mpxc_i386 = lldb_bndstatus_i386,
128 k_num_registers_i386,
129 k_num_gpr_registers_i386 = k_last_gpr_i386 - k_first_gpr_i386 + 1,
130 k_num_fpr_registers_i386 = k_last_fpr_i386 - k_first_fpr_i386 + 1,
131 k_num_avx_registers_i386 = k_last_avx_i386 - k_first_avx_i386 + 1,
132 k_num_mpx_registers_i386 = k_last_mpxc_i386 - k_first_mpxr_i386 + 1,
133 k_num_user_registers_i386 = k_num_gpr_registers_i386 +
134 k_num_fpr_registers_i386 +
135 k_num_avx_registers_i386 +
136 k_num_mpx_registers_i386,
139 //---------------------------------------------------------------------------
140 // Internal codes for all x86_64 registers.
141 //---------------------------------------------------------------------------
144 lldb_rax_x86_64 = k_first_gpr_x86_64,
169 k_first_alias_x86_64,
170 lldb_eax_x86_64 = k_first_alias_x86_64,
178 lldb_r8d_x86_64, // Low 32 bits of r8
179 lldb_r9d_x86_64, // Low 32 bits of r9
180 lldb_r10d_x86_64, // Low 32 bits of r10
181 lldb_r11d_x86_64, // Low 32 bits of r11
182 lldb_r12d_x86_64, // Low 32 bits of r12
183 lldb_r13d_x86_64, // Low 32 bits of r13
184 lldb_r14d_x86_64, // Low 32 bits of r14
185 lldb_r15d_x86_64, // Low 32 bits of r15
194 lldb_r8w_x86_64, // Low 16 bits of r8
195 lldb_r9w_x86_64, // Low 16 bits of r9
196 lldb_r10w_x86_64, // Low 16 bits of r10
197 lldb_r11w_x86_64, // Low 16 bits of r11
198 lldb_r12w_x86_64, // Low 16 bits of r12
199 lldb_r13w_x86_64, // Low 16 bits of r13
200 lldb_r14w_x86_64, // Low 16 bits of r14
201 lldb_r15w_x86_64, // Low 16 bits of r15
214 lldb_r8l_x86_64, // Low 8 bits of r8
215 lldb_r9l_x86_64, // Low 8 bits of r9
216 lldb_r10l_x86_64, // Low 8 bits of r10
217 lldb_r11l_x86_64, // Low 8 bits of r11
218 lldb_r12l_x86_64, // Low 8 bits of r12
219 lldb_r13l_x86_64, // Low 8 bits of r13
220 lldb_r14l_x86_64, // Low 8 bits of r14
221 lldb_r15l_x86_64, // Low 8 bits of r15
222 k_last_alias_x86_64 = lldb_r15l_x86_64,
224 k_last_gpr_x86_64 = k_last_alias_x86_64,
227 lldb_fctrl_x86_64 = k_first_fpr_x86_64,
236 lldb_mxcsrmask_x86_64,
269 k_last_fpr_x86_64 = lldb_xmm15_x86_64,
272 lldb_ymm0_x86_64 = k_first_avx_x86_64,
288 k_last_avx_x86_64 = lldb_ymm15_x86_64,
291 lldb_bnd0_x86_64 = k_first_mpxr_x86_64,
295 k_last_mpxr_x86_64 = lldb_bnd3_x86_64,
298 lldb_bndcfgu_x86_64 = k_first_mpxc_x86_64,
299 lldb_bndstatus_x86_64,
300 k_last_mpxc_x86_64 = lldb_bndstatus_x86_64,
311 k_num_registers_x86_64,
312 k_num_gpr_registers_x86_64 = k_last_gpr_x86_64 - k_first_gpr_x86_64 + 1,
313 k_num_fpr_registers_x86_64 = k_last_fpr_x86_64 - k_first_fpr_x86_64 + 1,
314 k_num_avx_registers_x86_64 = k_last_avx_x86_64 - k_first_avx_x86_64 + 1,
315 k_num_mpx_registers_x86_64 = k_last_mpxc_x86_64 - k_first_mpxr_x86_64 + 1,
316 k_num_user_registers_x86_64 = k_num_gpr_registers_x86_64 +
317 k_num_fpr_registers_x86_64 +
318 k_num_avx_registers_x86_64 +
319 k_num_mpx_registers_x86_64,
323 #endif // #ifndef lldb_x86_register_enums_h