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
15 // LLDB register codes (e.g. RegisterKind == eRegisterKindLLDB)
17 //---------------------------------------------------------------------------
18 // Internal codes for all i386 registers.
19 //---------------------------------------------------------------------------
23 lldb_eax_i386 = k_first_gpr_i386,
41 lldb_ax_i386 = k_first_alias_i386,
57 k_last_alias_i386 = lldb_dl_i386,
59 k_last_gpr_i386 = k_last_alias_i386,
62 lldb_fctrl_i386 = k_first_fpr_i386,
96 k_last_fpr_i386 = lldb_xmm7_i386,
99 lldb_ymm0_i386 = k_first_avx_i386,
107 k_last_avx_i386 = lldb_ymm7_i386,
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,
125 //---------------------------------------------------------------------------
126 // Internal codes for all x86_64 registers.
127 //---------------------------------------------------------------------------
131 lldb_rax_x86_64 = k_first_gpr_x86_64,
156 k_first_alias_x86_64,
157 lldb_eax_x86_64 = k_first_alias_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
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
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,
211 k_last_gpr_x86_64 = k_last_alias_x86_64,
214 lldb_fctrl_x86_64 = k_first_fpr_x86_64,
223 lldb_mxcsrmask_x86_64,
256 k_last_fpr_x86_64 = lldb_xmm15_x86_64,
259 lldb_ymm0_x86_64 = k_first_avx_x86_64,
275 k_last_avx_x86_64 = lldb_ymm15_x86_64,
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,
295 #endif // #ifndef lldb_x86_register_enums_h