lldb-x86-register-enums.h revision 360784
1//===-- lldb-x86-register-enums.h -------------------------------*- C++ -*-===// 2// 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 6// 7//===----------------------------------------------------------------------===// 8 9#ifndef lldb_x86_register_enums_h 10#define lldb_x86_register_enums_h 11 12namespace lldb_private { 13// LLDB register codes (e.g. RegisterKind == eRegisterKindLLDB) 14 15// Internal codes for all i386 registers. 16enum { 17 k_first_gpr_i386, 18 lldb_eax_i386 = k_first_gpr_i386, 19 lldb_ebx_i386, 20 lldb_ecx_i386, 21 lldb_edx_i386, 22 lldb_edi_i386, 23 lldb_esi_i386, 24 lldb_ebp_i386, 25 lldb_esp_i386, 26 lldb_eip_i386, 27 lldb_eflags_i386, 28 lldb_cs_i386, 29 lldb_fs_i386, 30 lldb_gs_i386, 31 lldb_ss_i386, 32 lldb_ds_i386, 33 lldb_es_i386, 34 35 k_first_alias_i386, 36 lldb_ax_i386 = k_first_alias_i386, 37 lldb_bx_i386, 38 lldb_cx_i386, 39 lldb_dx_i386, 40 lldb_di_i386, 41 lldb_si_i386, 42 lldb_bp_i386, 43 lldb_sp_i386, 44 lldb_ah_i386, 45 lldb_bh_i386, 46 lldb_ch_i386, 47 lldb_dh_i386, 48 lldb_al_i386, 49 lldb_bl_i386, 50 lldb_cl_i386, 51 lldb_dl_i386, 52 k_last_alias_i386 = lldb_dl_i386, 53 54 k_last_gpr_i386 = k_last_alias_i386, 55 56 k_first_fpr_i386, 57 lldb_fctrl_i386 = k_first_fpr_i386, 58 lldb_fstat_i386, 59 lldb_ftag_i386, 60 lldb_fop_i386, 61 lldb_fiseg_i386, 62 lldb_fioff_i386, 63 lldb_foseg_i386, 64 lldb_fooff_i386, 65 lldb_mxcsr_i386, 66 lldb_mxcsrmask_i386, 67 lldb_st0_i386, 68 lldb_st1_i386, 69 lldb_st2_i386, 70 lldb_st3_i386, 71 lldb_st4_i386, 72 lldb_st5_i386, 73 lldb_st6_i386, 74 lldb_st7_i386, 75 lldb_mm0_i386, 76 lldb_mm1_i386, 77 lldb_mm2_i386, 78 lldb_mm3_i386, 79 lldb_mm4_i386, 80 lldb_mm5_i386, 81 lldb_mm6_i386, 82 lldb_mm7_i386, 83 lldb_xmm0_i386, 84 lldb_xmm1_i386, 85 lldb_xmm2_i386, 86 lldb_xmm3_i386, 87 lldb_xmm4_i386, 88 lldb_xmm5_i386, 89 lldb_xmm6_i386, 90 lldb_xmm7_i386, 91 k_last_fpr_i386 = lldb_xmm7_i386, 92 93 k_first_avx_i386, 94 lldb_ymm0_i386 = k_first_avx_i386, 95 lldb_ymm1_i386, 96 lldb_ymm2_i386, 97 lldb_ymm3_i386, 98 lldb_ymm4_i386, 99 lldb_ymm5_i386, 100 lldb_ymm6_i386, 101 lldb_ymm7_i386, 102 k_last_avx_i386 = lldb_ymm7_i386, 103 104 k_first_mpxr_i386, 105 lldb_bnd0_i386 = k_first_mpxr_i386, 106 lldb_bnd1_i386, 107 lldb_bnd2_i386, 108 lldb_bnd3_i386, 109 k_last_mpxr = lldb_bnd3_i386, 110 111 k_first_mpxc_i386, 112 lldb_bndcfgu_i386 = k_first_mpxc_i386, 113 lldb_bndstatus_i386, 114 k_last_mpxc_i386 = lldb_bndstatus_i386, 115 116 lldb_dr0_i386, 117 lldb_dr1_i386, 118 lldb_dr2_i386, 119 lldb_dr3_i386, 120 lldb_dr4_i386, 121 lldb_dr5_i386, 122 lldb_dr6_i386, 123 lldb_dr7_i386, 124 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, 134}; 135 136// Internal codes for all x86_64 registers. 137enum { 138 k_first_gpr_x86_64, 139 lldb_rax_x86_64 = k_first_gpr_x86_64, 140 lldb_rbx_x86_64, 141 lldb_rcx_x86_64, 142 lldb_rdx_x86_64, 143 lldb_rdi_x86_64, 144 lldb_rsi_x86_64, 145 lldb_rbp_x86_64, 146 lldb_rsp_x86_64, 147 lldb_r8_x86_64, 148 lldb_r9_x86_64, 149 lldb_r10_x86_64, 150 lldb_r11_x86_64, 151 lldb_r12_x86_64, 152 lldb_r13_x86_64, 153 lldb_r14_x86_64, 154 lldb_r15_x86_64, 155 lldb_rip_x86_64, 156 lldb_rflags_x86_64, 157 lldb_cs_x86_64, 158 lldb_fs_x86_64, 159 lldb_gs_x86_64, 160 lldb_ss_x86_64, 161 lldb_ds_x86_64, 162 lldb_es_x86_64, 163 164 k_first_alias_x86_64, 165 lldb_eax_x86_64 = k_first_alias_x86_64, 166 lldb_ebx_x86_64, 167 lldb_ecx_x86_64, 168 lldb_edx_x86_64, 169 lldb_edi_x86_64, 170 lldb_esi_x86_64, 171 lldb_ebp_x86_64, 172 lldb_esp_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 181 lldb_ax_x86_64, 182 lldb_bx_x86_64, 183 lldb_cx_x86_64, 184 lldb_dx_x86_64, 185 lldb_di_x86_64, 186 lldb_si_x86_64, 187 lldb_bp_x86_64, 188 lldb_sp_x86_64, 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 197 lldb_ah_x86_64, 198 lldb_bh_x86_64, 199 lldb_ch_x86_64, 200 lldb_dh_x86_64, 201 lldb_al_x86_64, 202 lldb_bl_x86_64, 203 lldb_cl_x86_64, 204 lldb_dl_x86_64, 205 lldb_dil_x86_64, 206 lldb_sil_x86_64, 207 lldb_bpl_x86_64, 208 lldb_spl_x86_64, 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, 218 219 k_last_gpr_x86_64 = k_last_alias_x86_64, 220 221 k_first_fpr_x86_64, 222 lldb_fctrl_x86_64 = k_first_fpr_x86_64, 223 lldb_fstat_x86_64, 224 lldb_ftag_x86_64, 225 lldb_fop_x86_64, 226 lldb_fiseg_x86_64, 227 lldb_fioff_x86_64, 228 lldb_foseg_x86_64, 229 lldb_fooff_x86_64, 230 lldb_mxcsr_x86_64, 231 lldb_mxcsrmask_x86_64, 232 lldb_st0_x86_64, 233 lldb_st1_x86_64, 234 lldb_st2_x86_64, 235 lldb_st3_x86_64, 236 lldb_st4_x86_64, 237 lldb_st5_x86_64, 238 lldb_st6_x86_64, 239 lldb_st7_x86_64, 240 lldb_mm0_x86_64, 241 lldb_mm1_x86_64, 242 lldb_mm2_x86_64, 243 lldb_mm3_x86_64, 244 lldb_mm4_x86_64, 245 lldb_mm5_x86_64, 246 lldb_mm6_x86_64, 247 lldb_mm7_x86_64, 248 lldb_xmm0_x86_64, 249 lldb_xmm1_x86_64, 250 lldb_xmm2_x86_64, 251 lldb_xmm3_x86_64, 252 lldb_xmm4_x86_64, 253 lldb_xmm5_x86_64, 254 lldb_xmm6_x86_64, 255 lldb_xmm7_x86_64, 256 lldb_xmm8_x86_64, 257 lldb_xmm9_x86_64, 258 lldb_xmm10_x86_64, 259 lldb_xmm11_x86_64, 260 lldb_xmm12_x86_64, 261 lldb_xmm13_x86_64, 262 lldb_xmm14_x86_64, 263 lldb_xmm15_x86_64, 264 k_last_fpr_x86_64 = lldb_xmm15_x86_64, 265 266 k_first_avx_x86_64, 267 lldb_ymm0_x86_64 = k_first_avx_x86_64, 268 lldb_ymm1_x86_64, 269 lldb_ymm2_x86_64, 270 lldb_ymm3_x86_64, 271 lldb_ymm4_x86_64, 272 lldb_ymm5_x86_64, 273 lldb_ymm6_x86_64, 274 lldb_ymm7_x86_64, 275 lldb_ymm8_x86_64, 276 lldb_ymm9_x86_64, 277 lldb_ymm10_x86_64, 278 lldb_ymm11_x86_64, 279 lldb_ymm12_x86_64, 280 lldb_ymm13_x86_64, 281 lldb_ymm14_x86_64, 282 lldb_ymm15_x86_64, 283 k_last_avx_x86_64 = lldb_ymm15_x86_64, 284 285 k_first_mpxr_x86_64, 286 lldb_bnd0_x86_64 = k_first_mpxr_x86_64, 287 lldb_bnd1_x86_64, 288 lldb_bnd2_x86_64, 289 lldb_bnd3_x86_64, 290 k_last_mpxr_x86_64 = lldb_bnd3_x86_64, 291 292 k_first_mpxc_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, 296 297 k_first_dbr_x86_64, 298 lldb_dr0_x86_64 = k_first_dbr_x86_64, 299 lldb_dr1_x86_64, 300 lldb_dr2_x86_64, 301 lldb_dr3_x86_64, 302 lldb_dr4_x86_64, 303 lldb_dr5_x86_64, 304 lldb_dr6_x86_64, 305 lldb_dr7_x86_64, 306 k_last_dbr_x86_64 = lldb_dr7_x86_64, 307 308 k_num_registers_x86_64, 309 k_num_gpr_registers_x86_64 = k_last_gpr_x86_64 - k_first_gpr_x86_64 + 1, 310 k_num_fpr_registers_x86_64 = k_last_fpr_x86_64 - k_first_fpr_x86_64 + 1, 311 k_num_avx_registers_x86_64 = k_last_avx_x86_64 - k_first_avx_x86_64 + 1, 312 k_num_mpx_registers_x86_64 = k_last_mpxc_x86_64 - k_first_mpxr_x86_64 + 1, 313 k_num_user_registers_x86_64 = k_num_gpr_registers_x86_64 + 314 k_num_fpr_registers_x86_64 + 315 k_num_avx_registers_x86_64 + 316 k_num_mpx_registers_x86_64, 317 k_num_dbr_registers_x86_64 = k_last_dbr_x86_64 - k_first_dbr_x86_64 + 1, 318}; 319} 320 321#endif // #ifndef lldb_x86_register_enums_h 322