1 //===-- RegisterInfos_x86_64_with_base_shared.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 #include "Plugins/Process/Utility/lldb-x86-register-enums.h"
12 #ifndef lldb_RegisterInfos_x86_64_with_base_shared_h
13 #define lldb_RegisterInfos_x86_64_with_base_shared_h
15 #include "Plugins/Process/Utility/NativeRegisterContextRegisterInfo.h"
17 namespace lldb_private
{
19 struct RegisterInfos_x86_64_with_base_shared
{
20 static uint32_t g_contained_eax
[];
21 static uint32_t g_contained_ebx
[];
22 static uint32_t g_contained_ecx
[];
23 static uint32_t g_contained_edx
[];
24 static uint32_t g_contained_edi
[];
25 static uint32_t g_contained_esi
[];
26 static uint32_t g_contained_ebp
[];
27 static uint32_t g_contained_esp
[];
29 static uint32_t g_invalidate_eax
[];
30 static uint32_t g_invalidate_ebx
[];
31 static uint32_t g_invalidate_ecx
[];
32 static uint32_t g_invalidate_edx
[];
33 static uint32_t g_invalidate_edi
[];
34 static uint32_t g_invalidate_esi
[];
35 static uint32_t g_invalidate_ebp
[];
36 static uint32_t g_invalidate_esp
[];
38 static uint32_t g_contained_rax
[];
39 static uint32_t g_contained_rbx
[];
40 static uint32_t g_contained_rcx
[];
41 static uint32_t g_contained_rdx
[];
42 static uint32_t g_contained_rdi
[];
43 static uint32_t g_contained_rsi
[];
44 static uint32_t g_contained_rbp
[];
45 static uint32_t g_contained_rsp
[];
46 static uint32_t g_contained_r8
[];
47 static uint32_t g_contained_r9
[];
48 static uint32_t g_contained_r10
[];
49 static uint32_t g_contained_r11
[];
50 static uint32_t g_contained_r12
[];
51 static uint32_t g_contained_r13
[];
52 static uint32_t g_contained_r14
[];
53 static uint32_t g_contained_r15
[];
55 static uint32_t g_invalidate_rax
[];
56 static uint32_t g_invalidate_rbx
[];
57 static uint32_t g_invalidate_rcx
[];
58 static uint32_t g_invalidate_rdx
[];
59 static uint32_t g_invalidate_rdi
[];
60 static uint32_t g_invalidate_rsi
[];
61 static uint32_t g_invalidate_rbp
[];
62 static uint32_t g_invalidate_rsp
[];
63 static uint32_t g_invalidate_r8
[];
64 static uint32_t g_invalidate_r9
[];
65 static uint32_t g_invalidate_r10
[];
66 static uint32_t g_invalidate_r11
[];
67 static uint32_t g_invalidate_r12
[];
68 static uint32_t g_invalidate_r13
[];
69 static uint32_t g_invalidate_r14
[];
70 static uint32_t g_invalidate_r15
[];
72 static uint32_t g_contained_fip
[];
73 static uint32_t g_contained_fdp
[];
75 static uint32_t g_invalidate_fip
[];
76 static uint32_t g_invalidate_fdp
[];
78 static uint32_t g_contained_st0_32
[];
79 static uint32_t g_contained_st1_32
[];
80 static uint32_t g_contained_st2_32
[];
81 static uint32_t g_contained_st3_32
[];
82 static uint32_t g_contained_st4_32
[];
83 static uint32_t g_contained_st5_32
[];
84 static uint32_t g_contained_st6_32
[];
85 static uint32_t g_contained_st7_32
[];
87 static uint32_t g_invalidate_st0_32
[];
88 static uint32_t g_invalidate_st1_32
[];
89 static uint32_t g_invalidate_st2_32
[];
90 static uint32_t g_invalidate_st3_32
[];
91 static uint32_t g_invalidate_st4_32
[];
92 static uint32_t g_invalidate_st5_32
[];
93 static uint32_t g_invalidate_st6_32
[];
94 static uint32_t g_invalidate_st7_32
[];
96 static uint32_t g_contained_st0_64
[];
97 static uint32_t g_contained_st1_64
[];
98 static uint32_t g_contained_st2_64
[];
99 static uint32_t g_contained_st3_64
[];
100 static uint32_t g_contained_st4_64
[];
101 static uint32_t g_contained_st5_64
[];
102 static uint32_t g_contained_st6_64
[];
103 static uint32_t g_contained_st7_64
[];
105 static uint32_t g_invalidate_st0_64
[];
106 static uint32_t g_invalidate_st1_64
[];
107 static uint32_t g_invalidate_st2_64
[];
108 static uint32_t g_invalidate_st3_64
[];
109 static uint32_t g_invalidate_st4_64
[];
110 static uint32_t g_invalidate_st5_64
[];
111 static uint32_t g_invalidate_st6_64
[];
112 static uint32_t g_invalidate_st7_64
[];
116 uint32_t num_registers
;
117 uint32_t num_gpr_registers
;
118 uint32_t num_fpr_registers
;
119 uint32_t num_avx_registers
;
138 RegInfo
&GetRegInfoShared(llvm::Triple::ArchType arch_type
, bool with_base
);
140 } // namespace lldb_private
142 #endif // ifndef lldb_RegisterInfos_x86_64_with_base_shared_h