1 /// @file xed-reg-enum.h
2 
3 // This file was automatically generated.
4 // Do not edit this file.
5 
6 #if !defined(XED_REG_ENUM_H)
7 # define XED_REG_ENUM_H
8 #include "xed-common-hdrs.h"
9 typedef enum {
10   XED_REG_INVALID,
11   XED_REG_BNDCFGU,
12   XED_REG_BNDSTATUS,
13   XED_REG_BND0,
14   XED_REG_BND1,
15   XED_REG_BND2,
16   XED_REG_BND3,
17   XED_REG_CR0,
18   XED_REG_CR1,
19   XED_REG_CR2,
20   XED_REG_CR3,
21   XED_REG_CR4,
22   XED_REG_CR5,
23   XED_REG_CR6,
24   XED_REG_CR7,
25   XED_REG_CR8,
26   XED_REG_CR9,
27   XED_REG_CR10,
28   XED_REG_CR11,
29   XED_REG_CR12,
30   XED_REG_CR13,
31   XED_REG_CR14,
32   XED_REG_CR15,
33   XED_REG_DR0,
34   XED_REG_DR1,
35   XED_REG_DR2,
36   XED_REG_DR3,
37   XED_REG_DR4,
38   XED_REG_DR5,
39   XED_REG_DR6,
40   XED_REG_DR7,
41   XED_REG_FLAGS,
42   XED_REG_EFLAGS,
43   XED_REG_RFLAGS,
44   XED_REG_AX,
45   XED_REG_CX,
46   XED_REG_DX,
47   XED_REG_BX,
48   XED_REG_SP,
49   XED_REG_BP,
50   XED_REG_SI,
51   XED_REG_DI,
52   XED_REG_R8W,
53   XED_REG_R9W,
54   XED_REG_R10W,
55   XED_REG_R11W,
56   XED_REG_R12W,
57   XED_REG_R13W,
58   XED_REG_R14W,
59   XED_REG_R15W,
60   XED_REG_EAX,
61   XED_REG_ECX,
62   XED_REG_EDX,
63   XED_REG_EBX,
64   XED_REG_ESP,
65   XED_REG_EBP,
66   XED_REG_ESI,
67   XED_REG_EDI,
68   XED_REG_R8D,
69   XED_REG_R9D,
70   XED_REG_R10D,
71   XED_REG_R11D,
72   XED_REG_R12D,
73   XED_REG_R13D,
74   XED_REG_R14D,
75   XED_REG_R15D,
76   XED_REG_RAX,
77   XED_REG_RCX,
78   XED_REG_RDX,
79   XED_REG_RBX,
80   XED_REG_RSP,
81   XED_REG_RBP,
82   XED_REG_RSI,
83   XED_REG_RDI,
84   XED_REG_R8,
85   XED_REG_R9,
86   XED_REG_R10,
87   XED_REG_R11,
88   XED_REG_R12,
89   XED_REG_R13,
90   XED_REG_R14,
91   XED_REG_R15,
92   XED_REG_AL,
93   XED_REG_CL,
94   XED_REG_DL,
95   XED_REG_BL,
96   XED_REG_SPL,
97   XED_REG_BPL,
98   XED_REG_SIL,
99   XED_REG_DIL,
100   XED_REG_R8B,
101   XED_REG_R9B,
102   XED_REG_R10B,
103   XED_REG_R11B,
104   XED_REG_R12B,
105   XED_REG_R13B,
106   XED_REG_R14B,
107   XED_REG_R15B,
108   XED_REG_AH,
109   XED_REG_CH,
110   XED_REG_DH,
111   XED_REG_BH,
112   XED_REG_ERROR,
113   XED_REG_RIP,
114   XED_REG_EIP,
115   XED_REG_IP,
116   XED_REG_K0,
117   XED_REG_K1,
118   XED_REG_K2,
119   XED_REG_K3,
120   XED_REG_K4,
121   XED_REG_K5,
122   XED_REG_K6,
123   XED_REG_K7,
124   XED_REG_MMX0,
125   XED_REG_MMX1,
126   XED_REG_MMX2,
127   XED_REG_MMX3,
128   XED_REG_MMX4,
129   XED_REG_MMX5,
130   XED_REG_MMX6,
131   XED_REG_MMX7,
132   XED_REG_SSP,
133   XED_REG_IA32_U_CET,
134   XED_REG_MXCSR,
135   XED_REG_STACKPUSH,
136   XED_REG_STACKPOP,
137   XED_REG_GDTR,
138   XED_REG_LDTR,
139   XED_REG_IDTR,
140   XED_REG_TR,
141   XED_REG_TSC,
142   XED_REG_TSCAUX,
143   XED_REG_MSRS,
144   XED_REG_FSBASE,
145   XED_REG_GSBASE,
146   XED_REG_X87CONTROL,
147   XED_REG_X87STATUS,
148   XED_REG_X87TAG,
149   XED_REG_X87PUSH,
150   XED_REG_X87POP,
151   XED_REG_X87POP2,
152   XED_REG_X87OPCODE,
153   XED_REG_X87LASTCS,
154   XED_REG_X87LASTIP,
155   XED_REG_X87LASTDS,
156   XED_REG_X87LASTDP,
157   XED_REG_CS,
158   XED_REG_DS,
159   XED_REG_ES,
160   XED_REG_SS,
161   XED_REG_FS,
162   XED_REG_GS,
163   XED_REG_TMP0,
164   XED_REG_TMP1,
165   XED_REG_TMP2,
166   XED_REG_TMP3,
167   XED_REG_TMP4,
168   XED_REG_TMP5,
169   XED_REG_TMP6,
170   XED_REG_TMP7,
171   XED_REG_TMP8,
172   XED_REG_TMP9,
173   XED_REG_TMP10,
174   XED_REG_TMP11,
175   XED_REG_TMP12,
176   XED_REG_TMP13,
177   XED_REG_TMP14,
178   XED_REG_TMP15,
179   XED_REG_ST0,
180   XED_REG_ST1,
181   XED_REG_ST2,
182   XED_REG_ST3,
183   XED_REG_ST4,
184   XED_REG_ST5,
185   XED_REG_ST6,
186   XED_REG_ST7,
187   XED_REG_XCR0,
188   XED_REG_XMM0,
189   XED_REG_XMM1,
190   XED_REG_XMM2,
191   XED_REG_XMM3,
192   XED_REG_XMM4,
193   XED_REG_XMM5,
194   XED_REG_XMM6,
195   XED_REG_XMM7,
196   XED_REG_XMM8,
197   XED_REG_XMM9,
198   XED_REG_XMM10,
199   XED_REG_XMM11,
200   XED_REG_XMM12,
201   XED_REG_XMM13,
202   XED_REG_XMM14,
203   XED_REG_XMM15,
204   XED_REG_XMM16,
205   XED_REG_XMM17,
206   XED_REG_XMM18,
207   XED_REG_XMM19,
208   XED_REG_XMM20,
209   XED_REG_XMM21,
210   XED_REG_XMM22,
211   XED_REG_XMM23,
212   XED_REG_XMM24,
213   XED_REG_XMM25,
214   XED_REG_XMM26,
215   XED_REG_XMM27,
216   XED_REG_XMM28,
217   XED_REG_XMM29,
218   XED_REG_XMM30,
219   XED_REG_XMM31,
220   XED_REG_YMM0,
221   XED_REG_YMM1,
222   XED_REG_YMM2,
223   XED_REG_YMM3,
224   XED_REG_YMM4,
225   XED_REG_YMM5,
226   XED_REG_YMM6,
227   XED_REG_YMM7,
228   XED_REG_YMM8,
229   XED_REG_YMM9,
230   XED_REG_YMM10,
231   XED_REG_YMM11,
232   XED_REG_YMM12,
233   XED_REG_YMM13,
234   XED_REG_YMM14,
235   XED_REG_YMM15,
236   XED_REG_YMM16,
237   XED_REG_YMM17,
238   XED_REG_YMM18,
239   XED_REG_YMM19,
240   XED_REG_YMM20,
241   XED_REG_YMM21,
242   XED_REG_YMM22,
243   XED_REG_YMM23,
244   XED_REG_YMM24,
245   XED_REG_YMM25,
246   XED_REG_YMM26,
247   XED_REG_YMM27,
248   XED_REG_YMM28,
249   XED_REG_YMM29,
250   XED_REG_YMM30,
251   XED_REG_YMM31,
252   XED_REG_ZMM0,
253   XED_REG_ZMM1,
254   XED_REG_ZMM2,
255   XED_REG_ZMM3,
256   XED_REG_ZMM4,
257   XED_REG_ZMM5,
258   XED_REG_ZMM6,
259   XED_REG_ZMM7,
260   XED_REG_ZMM8,
261   XED_REG_ZMM9,
262   XED_REG_ZMM10,
263   XED_REG_ZMM11,
264   XED_REG_ZMM12,
265   XED_REG_ZMM13,
266   XED_REG_ZMM14,
267   XED_REG_ZMM15,
268   XED_REG_ZMM16,
269   XED_REG_ZMM17,
270   XED_REG_ZMM18,
271   XED_REG_ZMM19,
272   XED_REG_ZMM20,
273   XED_REG_ZMM21,
274   XED_REG_ZMM22,
275   XED_REG_ZMM23,
276   XED_REG_ZMM24,
277   XED_REG_ZMM25,
278   XED_REG_ZMM26,
279   XED_REG_ZMM27,
280   XED_REG_ZMM28,
281   XED_REG_ZMM29,
282   XED_REG_ZMM30,
283   XED_REG_ZMM31,
284   XED_REG_LAST,
285   XED_REG_BNDCFG_FIRST=XED_REG_BNDCFGU, //< PSEUDO
286   XED_REG_BNDCFG_LAST=XED_REG_BNDCFGU, //<PSEUDO
287   XED_REG_BNDSTAT_FIRST=XED_REG_BNDSTATUS, //< PSEUDO
288   XED_REG_BNDSTAT_LAST=XED_REG_BNDSTATUS, //<PSEUDO
289   XED_REG_BOUND_FIRST=XED_REG_BND0, //< PSEUDO
290   XED_REG_BOUND_LAST=XED_REG_BND3, //<PSEUDO
291   XED_REG_CR_FIRST=XED_REG_CR0, //< PSEUDO
292   XED_REG_CR_LAST=XED_REG_CR15, //<PSEUDO
293   XED_REG_DR_FIRST=XED_REG_DR0, //< PSEUDO
294   XED_REG_DR_LAST=XED_REG_DR7, //<PSEUDO
295   XED_REG_FLAGS_FIRST=XED_REG_FLAGS, //< PSEUDO
296   XED_REG_FLAGS_LAST=XED_REG_RFLAGS, //<PSEUDO
297   XED_REG_GPR16_FIRST=XED_REG_AX, //< PSEUDO
298   XED_REG_GPR16_LAST=XED_REG_R15W, //<PSEUDO
299   XED_REG_GPR32_FIRST=XED_REG_EAX, //< PSEUDO
300   XED_REG_GPR32_LAST=XED_REG_R15D, //<PSEUDO
301   XED_REG_GPR64_FIRST=XED_REG_RAX, //< PSEUDO
302   XED_REG_GPR64_LAST=XED_REG_R15, //<PSEUDO
303   XED_REG_GPR8_FIRST=XED_REG_AL, //< PSEUDO
304   XED_REG_GPR8_LAST=XED_REG_R15B, //<PSEUDO
305   XED_REG_GPR8h_FIRST=XED_REG_AH, //< PSEUDO
306   XED_REG_GPR8h_LAST=XED_REG_BH, //<PSEUDO
307   XED_REG_INVALID_FIRST=XED_REG_INVALID, //< PSEUDO
308   XED_REG_INVALID_LAST=XED_REG_ERROR, //<PSEUDO
309   XED_REG_IP_FIRST=XED_REG_RIP, //< PSEUDO
310   XED_REG_IP_LAST=XED_REG_IP, //<PSEUDO
311   XED_REG_MASK_FIRST=XED_REG_K0, //< PSEUDO
312   XED_REG_MASK_LAST=XED_REG_K7, //<PSEUDO
313   XED_REG_MMX_FIRST=XED_REG_MMX0, //< PSEUDO
314   XED_REG_MMX_LAST=XED_REG_MMX7, //<PSEUDO
315   XED_REG_MSR_FIRST=XED_REG_SSP, //< PSEUDO
316   XED_REG_MSR_LAST=XED_REG_IA32_U_CET, //<PSEUDO
317   XED_REG_MXCSR_FIRST=XED_REG_MXCSR, //< PSEUDO
318   XED_REG_MXCSR_LAST=XED_REG_MXCSR, //<PSEUDO
319   XED_REG_PSEUDO_FIRST=XED_REG_STACKPUSH, //< PSEUDO
320   XED_REG_PSEUDO_LAST=XED_REG_GSBASE, //<PSEUDO
321   XED_REG_PSEUDOX87_FIRST=XED_REG_X87CONTROL, //< PSEUDO
322   XED_REG_PSEUDOX87_LAST=XED_REG_X87LASTDP, //<PSEUDO
323   XED_REG_SR_FIRST=XED_REG_CS, //< PSEUDO
324   XED_REG_SR_LAST=XED_REG_GS, //<PSEUDO
325   XED_REG_TMP_FIRST=XED_REG_TMP0, //< PSEUDO
326   XED_REG_TMP_LAST=XED_REG_TMP15, //<PSEUDO
327   XED_REG_X87_FIRST=XED_REG_ST0, //< PSEUDO
328   XED_REG_X87_LAST=XED_REG_ST7, //<PSEUDO
329   XED_REG_XCR_FIRST=XED_REG_XCR0, //< PSEUDO
330   XED_REG_XCR_LAST=XED_REG_XCR0, //<PSEUDO
331   XED_REG_XMM_FIRST=XED_REG_XMM0, //< PSEUDO
332   XED_REG_XMM_LAST=XED_REG_XMM31, //<PSEUDO
333   XED_REG_YMM_FIRST=XED_REG_YMM0, //< PSEUDO
334   XED_REG_YMM_LAST=XED_REG_YMM31, //<PSEUDO
335   XED_REG_ZMM_FIRST=XED_REG_ZMM0, //< PSEUDO
336   XED_REG_ZMM_LAST=XED_REG_ZMM31 //<PSEUDO
337 } xed_reg_enum_t;
338 
339 /// This converts strings to #xed_reg_enum_t types.
340 /// @param s A C-string.
341 /// @return #xed_reg_enum_t
342 /// @ingroup ENUM
343 XED_DLL_EXPORT xed_reg_enum_t str2xed_reg_enum_t(const char* s);
344 /// This converts strings to #xed_reg_enum_t types.
345 /// @param p An enumeration element of type xed_reg_enum_t.
346 /// @return string
347 /// @ingroup ENUM
348 XED_DLL_EXPORT const char* xed_reg_enum_t2str(const xed_reg_enum_t p);
349 
350 /// Returns the last element of the enumeration
351 /// @return xed_reg_enum_t The last element of the enumeration.
352 /// @ingroup ENUM
353 XED_DLL_EXPORT xed_reg_enum_t xed_reg_enum_t_last(void);
354 #endif
355