xref: /aosp_15_r20/external/capstone/bindings/vb6/mx86.bas (revision 9a0e4156d50a75a99ec4f1653a0e9602a5d45c18)
1*9a0e4156SSadaf EbrahimiAttribute VB_Name = "mx86"
2*9a0e4156SSadaf EbrahimiOption Explicit
3*9a0e4156SSadaf Ebrahimi
4*9a0e4156SSadaf Ebrahimi'Capstone Disassembly Engine bindings for VB6
5*9a0e4156SSadaf Ebrahimi'Contributed by FireEye FLARE Team
6*9a0e4156SSadaf Ebrahimi'Author:  David Zimmer <[email protected]>, <[email protected]>
7*9a0e4156SSadaf Ebrahimi'License: Apache
8*9a0e4156SSadaf Ebrahimi'Copyright: FireEye 2017
9*9a0e4156SSadaf Ebrahimi
10*9a0e4156SSadaf Ebrahimi
11*9a0e4156SSadaf EbrahimiEnum x86_reg
12*9a0e4156SSadaf Ebrahimi    X86_REG_INVALID = 0
13*9a0e4156SSadaf Ebrahimi    X86_REG_AH
14*9a0e4156SSadaf Ebrahimi    X86_REG_AL
15*9a0e4156SSadaf Ebrahimi    X86_REG_AX
16*9a0e4156SSadaf Ebrahimi    X86_REG_BH
17*9a0e4156SSadaf Ebrahimi    X86_REG_BL
18*9a0e4156SSadaf Ebrahimi    X86_REG_BP
19*9a0e4156SSadaf Ebrahimi    X86_REG_BPL
20*9a0e4156SSadaf Ebrahimi    X86_REG_BX
21*9a0e4156SSadaf Ebrahimi    X86_REG_CH
22*9a0e4156SSadaf Ebrahimi    X86_REG_CL
23*9a0e4156SSadaf Ebrahimi    X86_REG_CS
24*9a0e4156SSadaf Ebrahimi    X86_REG_CX
25*9a0e4156SSadaf Ebrahimi    X86_REG_DH
26*9a0e4156SSadaf Ebrahimi    X86_REG_DI
27*9a0e4156SSadaf Ebrahimi    X86_REG_DIL
28*9a0e4156SSadaf Ebrahimi    X86_REG_DL
29*9a0e4156SSadaf Ebrahimi    X86_REG_DS
30*9a0e4156SSadaf Ebrahimi    X86_REG_DX
31*9a0e4156SSadaf Ebrahimi    X86_REG_EAX
32*9a0e4156SSadaf Ebrahimi    X86_REG_EBP
33*9a0e4156SSadaf Ebrahimi    X86_REG_EBX
34*9a0e4156SSadaf Ebrahimi    X86_REG_ECX
35*9a0e4156SSadaf Ebrahimi    X86_REG_EDI
36*9a0e4156SSadaf Ebrahimi    X86_REG_EDX
37*9a0e4156SSadaf Ebrahimi    X86_REG_EFLAGS
38*9a0e4156SSadaf Ebrahimi    X86_REG_EIP
39*9a0e4156SSadaf Ebrahimi    X86_REG_EIZ
40*9a0e4156SSadaf Ebrahimi    X86_REG_ES
41*9a0e4156SSadaf Ebrahimi    X86_REG_ESI
42*9a0e4156SSadaf Ebrahimi    X86_REG_ESP
43*9a0e4156SSadaf Ebrahimi    X86_REG_FPSW
44*9a0e4156SSadaf Ebrahimi    X86_REG_FS
45*9a0e4156SSadaf Ebrahimi    X86_REG_GS
46*9a0e4156SSadaf Ebrahimi    X86_REG_IP
47*9a0e4156SSadaf Ebrahimi    X86_REG_RAX
48*9a0e4156SSadaf Ebrahimi    X86_REG_RBP
49*9a0e4156SSadaf Ebrahimi    X86_REG_RBX
50*9a0e4156SSadaf Ebrahimi    X86_REG_RCX
51*9a0e4156SSadaf Ebrahimi    X86_REG_RDI
52*9a0e4156SSadaf Ebrahimi    X86_REG_RDX
53*9a0e4156SSadaf Ebrahimi    X86_REG_RIP
54*9a0e4156SSadaf Ebrahimi    X86_REG_RIZ
55*9a0e4156SSadaf Ebrahimi    X86_REG_RSI
56*9a0e4156SSadaf Ebrahimi    X86_REG_RSP
57*9a0e4156SSadaf Ebrahimi    X86_REG_SI
58*9a0e4156SSadaf Ebrahimi    X86_REG_SIL
59*9a0e4156SSadaf Ebrahimi    X86_REG_SP
60*9a0e4156SSadaf Ebrahimi    X86_REG_SPL
61*9a0e4156SSadaf Ebrahimi    X86_REG_SS
62*9a0e4156SSadaf Ebrahimi    X86_REG_CR0
63*9a0e4156SSadaf Ebrahimi    X86_REG_CR1
64*9a0e4156SSadaf Ebrahimi    X86_REG_CR2
65*9a0e4156SSadaf Ebrahimi    X86_REG_CR3
66*9a0e4156SSadaf Ebrahimi    X86_REG_CR4
67*9a0e4156SSadaf Ebrahimi    X86_REG_CR5
68*9a0e4156SSadaf Ebrahimi    X86_REG_CR6
69*9a0e4156SSadaf Ebrahimi    X86_REG_CR7
70*9a0e4156SSadaf Ebrahimi    X86_REG_CR8
71*9a0e4156SSadaf Ebrahimi    X86_REG_CR9
72*9a0e4156SSadaf Ebrahimi    X86_REG_CR10
73*9a0e4156SSadaf Ebrahimi    X86_REG_CR11
74*9a0e4156SSadaf Ebrahimi    X86_REG_CR12
75*9a0e4156SSadaf Ebrahimi    X86_REG_CR13
76*9a0e4156SSadaf Ebrahimi    X86_REG_CR14
77*9a0e4156SSadaf Ebrahimi    X86_REG_CR15
78*9a0e4156SSadaf Ebrahimi    X86_REG_DR0
79*9a0e4156SSadaf Ebrahimi    X86_REG_DR1
80*9a0e4156SSadaf Ebrahimi    X86_REG_DR2
81*9a0e4156SSadaf Ebrahimi    X86_REG_DR3
82*9a0e4156SSadaf Ebrahimi    X86_REG_DR4
83*9a0e4156SSadaf Ebrahimi    X86_REG_DR5
84*9a0e4156SSadaf Ebrahimi    X86_REG_DR6
85*9a0e4156SSadaf Ebrahimi    X86_REG_DR7
86*9a0e4156SSadaf Ebrahimi    X86_REG_FP0
87*9a0e4156SSadaf Ebrahimi    X86_REG_FP1
88*9a0e4156SSadaf Ebrahimi    X86_REG_FP2
89*9a0e4156SSadaf Ebrahimi    X86_REG_FP3
90*9a0e4156SSadaf Ebrahimi    X86_REG_FP4
91*9a0e4156SSadaf Ebrahimi    X86_REG_FP5
92*9a0e4156SSadaf Ebrahimi    X86_REG_FP6
93*9a0e4156SSadaf Ebrahimi    X86_REG_FP7
94*9a0e4156SSadaf Ebrahimi    X86_REG_K0
95*9a0e4156SSadaf Ebrahimi    X86_REG_K1
96*9a0e4156SSadaf Ebrahimi    X86_REG_K2
97*9a0e4156SSadaf Ebrahimi    X86_REG_K3
98*9a0e4156SSadaf Ebrahimi    X86_REG_K4
99*9a0e4156SSadaf Ebrahimi    X86_REG_K5
100*9a0e4156SSadaf Ebrahimi    X86_REG_K6
101*9a0e4156SSadaf Ebrahimi    X86_REG_K7
102*9a0e4156SSadaf Ebrahimi    X86_REG_MM0
103*9a0e4156SSadaf Ebrahimi    X86_REG_MM1
104*9a0e4156SSadaf Ebrahimi    X86_REG_MM2
105*9a0e4156SSadaf Ebrahimi    X86_REG_MM3
106*9a0e4156SSadaf Ebrahimi    X86_REG_MM4
107*9a0e4156SSadaf Ebrahimi    X86_REG_MM5
108*9a0e4156SSadaf Ebrahimi    X86_REG_MM6
109*9a0e4156SSadaf Ebrahimi    X86_REG_MM7
110*9a0e4156SSadaf Ebrahimi    X86_REG_R8
111*9a0e4156SSadaf Ebrahimi    X86_REG_R9
112*9a0e4156SSadaf Ebrahimi    X86_REG_R10
113*9a0e4156SSadaf Ebrahimi    X86_REG_R11
114*9a0e4156SSadaf Ebrahimi    X86_REG_R12
115*9a0e4156SSadaf Ebrahimi    X86_REG_R13
116*9a0e4156SSadaf Ebrahimi    X86_REG_R14
117*9a0e4156SSadaf Ebrahimi    X86_REG_R15
118*9a0e4156SSadaf Ebrahimi    X86_REG_ST0
119*9a0e4156SSadaf Ebrahimi    X86_REG_ST1
120*9a0e4156SSadaf Ebrahimi    X86_REG_ST2
121*9a0e4156SSadaf Ebrahimi    X86_REG_ST3
122*9a0e4156SSadaf Ebrahimi    X86_REG_ST4
123*9a0e4156SSadaf Ebrahimi    X86_REG_ST5
124*9a0e4156SSadaf Ebrahimi    X86_REG_ST6
125*9a0e4156SSadaf Ebrahimi    X86_REG_ST7
126*9a0e4156SSadaf Ebrahimi    X86_REG_XMM0
127*9a0e4156SSadaf Ebrahimi    X86_REG_XMM1
128*9a0e4156SSadaf Ebrahimi    X86_REG_XMM2
129*9a0e4156SSadaf Ebrahimi    X86_REG_XMM3
130*9a0e4156SSadaf Ebrahimi    X86_REG_XMM4
131*9a0e4156SSadaf Ebrahimi    X86_REG_XMM5
132*9a0e4156SSadaf Ebrahimi    X86_REG_XMM6
133*9a0e4156SSadaf Ebrahimi    X86_REG_XMM7
134*9a0e4156SSadaf Ebrahimi    X86_REG_XMM8
135*9a0e4156SSadaf Ebrahimi    X86_REG_XMM9
136*9a0e4156SSadaf Ebrahimi    X86_REG_XMM10
137*9a0e4156SSadaf Ebrahimi    X86_REG_XMM11
138*9a0e4156SSadaf Ebrahimi    X86_REG_XMM12
139*9a0e4156SSadaf Ebrahimi    X86_REG_XMM13
140*9a0e4156SSadaf Ebrahimi    X86_REG_XMM14
141*9a0e4156SSadaf Ebrahimi    X86_REG_XMM15
142*9a0e4156SSadaf Ebrahimi    X86_REG_XMM16
143*9a0e4156SSadaf Ebrahimi    X86_REG_XMM17
144*9a0e4156SSadaf Ebrahimi    X86_REG_XMM18
145*9a0e4156SSadaf Ebrahimi    X86_REG_XMM19
146*9a0e4156SSadaf Ebrahimi    X86_REG_XMM20
147*9a0e4156SSadaf Ebrahimi    X86_REG_XMM21
148*9a0e4156SSadaf Ebrahimi    X86_REG_XMM22
149*9a0e4156SSadaf Ebrahimi    X86_REG_XMM23
150*9a0e4156SSadaf Ebrahimi    X86_REG_XMM24
151*9a0e4156SSadaf Ebrahimi    X86_REG_XMM25
152*9a0e4156SSadaf Ebrahimi    X86_REG_XMM26
153*9a0e4156SSadaf Ebrahimi    X86_REG_XMM27
154*9a0e4156SSadaf Ebrahimi    X86_REG_XMM28
155*9a0e4156SSadaf Ebrahimi    X86_REG_XMM29
156*9a0e4156SSadaf Ebrahimi    X86_REG_XMM30
157*9a0e4156SSadaf Ebrahimi    X86_REG_XMM31
158*9a0e4156SSadaf Ebrahimi    X86_REG_YMM0
159*9a0e4156SSadaf Ebrahimi    X86_REG_YMM1
160*9a0e4156SSadaf Ebrahimi    X86_REG_YMM2
161*9a0e4156SSadaf Ebrahimi    X86_REG_YMM3
162*9a0e4156SSadaf Ebrahimi    X86_REG_YMM4
163*9a0e4156SSadaf Ebrahimi    X86_REG_YMM5
164*9a0e4156SSadaf Ebrahimi    X86_REG_YMM6
165*9a0e4156SSadaf Ebrahimi    X86_REG_YMM7
166*9a0e4156SSadaf Ebrahimi    X86_REG_YMM8
167*9a0e4156SSadaf Ebrahimi    X86_REG_YMM9
168*9a0e4156SSadaf Ebrahimi    X86_REG_YMM10
169*9a0e4156SSadaf Ebrahimi    X86_REG_YMM11
170*9a0e4156SSadaf Ebrahimi    X86_REG_YMM12
171*9a0e4156SSadaf Ebrahimi    X86_REG_YMM13
172*9a0e4156SSadaf Ebrahimi    X86_REG_YMM14
173*9a0e4156SSadaf Ebrahimi    X86_REG_YMM15
174*9a0e4156SSadaf Ebrahimi    X86_REG_YMM16
175*9a0e4156SSadaf Ebrahimi    X86_REG_YMM17
176*9a0e4156SSadaf Ebrahimi    X86_REG_YMM18
177*9a0e4156SSadaf Ebrahimi    X86_REG_YMM19
178*9a0e4156SSadaf Ebrahimi    X86_REG_YMM20
179*9a0e4156SSadaf Ebrahimi    X86_REG_YMM21
180*9a0e4156SSadaf Ebrahimi    X86_REG_YMM22
181*9a0e4156SSadaf Ebrahimi    X86_REG_YMM23
182*9a0e4156SSadaf Ebrahimi    X86_REG_YMM24
183*9a0e4156SSadaf Ebrahimi    X86_REG_YMM25
184*9a0e4156SSadaf Ebrahimi    X86_REG_YMM26
185*9a0e4156SSadaf Ebrahimi    X86_REG_YMM27
186*9a0e4156SSadaf Ebrahimi    X86_REG_YMM28
187*9a0e4156SSadaf Ebrahimi    X86_REG_YMM29
188*9a0e4156SSadaf Ebrahimi    X86_REG_YMM30
189*9a0e4156SSadaf Ebrahimi    X86_REG_YMM31
190*9a0e4156SSadaf Ebrahimi    X86_REG_ZMM0
191*9a0e4156SSadaf Ebrahimi    X86_REG_ZMM1
192*9a0e4156SSadaf Ebrahimi    X86_REG_ZMM2
193*9a0e4156SSadaf Ebrahimi    X86_REG_ZMM3
194*9a0e4156SSadaf Ebrahimi    X86_REG_ZMM4
195*9a0e4156SSadaf Ebrahimi    X86_REG_ZMM5
196*9a0e4156SSadaf Ebrahimi    X86_REG_ZMM6
197*9a0e4156SSadaf Ebrahimi    X86_REG_ZMM7
198*9a0e4156SSadaf Ebrahimi    X86_REG_ZMM8
199*9a0e4156SSadaf Ebrahimi    X86_REG_ZMM9
200*9a0e4156SSadaf Ebrahimi    X86_REG_ZMM10
201*9a0e4156SSadaf Ebrahimi    X86_REG_ZMM11
202*9a0e4156SSadaf Ebrahimi    X86_REG_ZMM12
203*9a0e4156SSadaf Ebrahimi    X86_REG_ZMM13
204*9a0e4156SSadaf Ebrahimi    X86_REG_ZMM14
205*9a0e4156SSadaf Ebrahimi    X86_REG_ZMM15
206*9a0e4156SSadaf Ebrahimi    X86_REG_ZMM16
207*9a0e4156SSadaf Ebrahimi    X86_REG_ZMM17
208*9a0e4156SSadaf Ebrahimi    X86_REG_ZMM18
209*9a0e4156SSadaf Ebrahimi    X86_REG_ZMM19
210*9a0e4156SSadaf Ebrahimi    X86_REG_ZMM20
211*9a0e4156SSadaf Ebrahimi    X86_REG_ZMM21
212*9a0e4156SSadaf Ebrahimi    X86_REG_ZMM22
213*9a0e4156SSadaf Ebrahimi    X86_REG_ZMM23
214*9a0e4156SSadaf Ebrahimi    X86_REG_ZMM24
215*9a0e4156SSadaf Ebrahimi    X86_REG_ZMM25
216*9a0e4156SSadaf Ebrahimi    X86_REG_ZMM26
217*9a0e4156SSadaf Ebrahimi    X86_REG_ZMM27
218*9a0e4156SSadaf Ebrahimi    X86_REG_ZMM28
219*9a0e4156SSadaf Ebrahimi    X86_REG_ZMM29
220*9a0e4156SSadaf Ebrahimi    X86_REG_ZMM30
221*9a0e4156SSadaf Ebrahimi    X86_REG_ZMM31
222*9a0e4156SSadaf Ebrahimi    X86_REG_R8B
223*9a0e4156SSadaf Ebrahimi    X86_REG_R9B
224*9a0e4156SSadaf Ebrahimi    X86_REG_R10B
225*9a0e4156SSadaf Ebrahimi    X86_REG_R11B
226*9a0e4156SSadaf Ebrahimi    X86_REG_R12B
227*9a0e4156SSadaf Ebrahimi    X86_REG_R13B
228*9a0e4156SSadaf Ebrahimi    X86_REG_R14B
229*9a0e4156SSadaf Ebrahimi    X86_REG_R15B
230*9a0e4156SSadaf Ebrahimi    X86_REG_R8D
231*9a0e4156SSadaf Ebrahimi    X86_REG_R9D
232*9a0e4156SSadaf Ebrahimi    X86_REG_R10D
233*9a0e4156SSadaf Ebrahimi    X86_REG_R11D
234*9a0e4156SSadaf Ebrahimi    X86_REG_R12D
235*9a0e4156SSadaf Ebrahimi    X86_REG_R13D
236*9a0e4156SSadaf Ebrahimi    X86_REG_R14D
237*9a0e4156SSadaf Ebrahimi    X86_REG_R15D
238*9a0e4156SSadaf Ebrahimi    X86_REG_R8W
239*9a0e4156SSadaf Ebrahimi    X86_REG_R9W
240*9a0e4156SSadaf Ebrahimi    X86_REG_R10W
241*9a0e4156SSadaf Ebrahimi    X86_REG_R11W
242*9a0e4156SSadaf Ebrahimi    X86_REG_R12W
243*9a0e4156SSadaf Ebrahimi    X86_REG_R13W
244*9a0e4156SSadaf Ebrahimi    X86_REG_R14W
245*9a0e4156SSadaf Ebrahimi    X86_REG_R15W
246*9a0e4156SSadaf Ebrahimi    X86_REG_ENDING          '  <-- mark    the end of  the list    of  registers
247*9a0e4156SSadaf EbrahimiEnd Enum
248*9a0e4156SSadaf Ebrahimi
249*9a0e4156SSadaf Ebrahimi'Operand type for instruction's operands
250*9a0e4156SSadaf EbrahimiEnum x86_op_type
251*9a0e4156SSadaf Ebrahimi    X86_OP_INVALID = 0   'CS_OP_INVALID (Uninitialized).
252*9a0e4156SSadaf Ebrahimi    X86_OP_REG           'CS_OP_REG (Register operand).
253*9a0e4156SSadaf Ebrahimi    X86_OP_IMM           'CS_OP_IMM (Immediate operand).
254*9a0e4156SSadaf Ebrahimi    x86_op_mem           'CS_OP_MEM (Memory operand).
255*9a0e4156SSadaf Ebrahimi    X86_OP_FP            'CS_OP_FP  (Floating-Point operand).
256*9a0e4156SSadaf EbrahimiEnd Enum
257*9a0e4156SSadaf Ebrahimi
258*9a0e4156SSadaf Ebrahimi'AVX broadcast type
259*9a0e4156SSadaf EbrahimiPublic Enum x86_avx_bcast
260*9a0e4156SSadaf Ebrahimi    X86_AVX_BCAST_INVALID = 0 ' Uninitialized.
261*9a0e4156SSadaf Ebrahimi    X86_AVX_BCAST_2         ' AVX512 broadcast type {1to2}
262*9a0e4156SSadaf Ebrahimi    X86_AVX_BCAST_4         ' AVX512 broadcast type {1to4}
263*9a0e4156SSadaf Ebrahimi    X86_AVX_BCAST_8         ' AVX512 broadcast type {1to8}
264*9a0e4156SSadaf Ebrahimi    X86_AVX_BCAST_16        ' AVX512 broadcast type {1to16}
265*9a0e4156SSadaf EbrahimiEnd Enum
266*9a0e4156SSadaf Ebrahimi
267*9a0e4156SSadaf Ebrahimi
268*9a0e4156SSadaf Ebrahimi'SSE Code Condition type
269*9a0e4156SSadaf EbrahimiPublic Enum x86_sse_cc
270*9a0e4156SSadaf Ebrahimi    X86_SSE_CC_INVALID = 0 ' Uninitialized.
271*9a0e4156SSadaf Ebrahimi    X86_SSE_CC_EQ
272*9a0e4156SSadaf Ebrahimi    X86_SSE_CC_LT
273*9a0e4156SSadaf Ebrahimi    X86_SSE_CC_LE
274*9a0e4156SSadaf Ebrahimi    X86_SSE_CC_UNORD
275*9a0e4156SSadaf Ebrahimi    X86_SSE_CC_NEQ
276*9a0e4156SSadaf Ebrahimi    X86_SSE_CC_NLT
277*9a0e4156SSadaf Ebrahimi    X86_SSE_CC_NLE
278*9a0e4156SSadaf Ebrahimi    X86_SSE_CC_ORD
279*9a0e4156SSadaf Ebrahimi    X86_SSE_CC_EQ_UQ
280*9a0e4156SSadaf Ebrahimi    X86_SSE_CC_NGE
281*9a0e4156SSadaf Ebrahimi    X86_SSE_CC_NGT
282*9a0e4156SSadaf Ebrahimi    X86_SSE_CC_FALSE
283*9a0e4156SSadaf Ebrahimi    X86_SSE_CC_NEQ_OQ
284*9a0e4156SSadaf Ebrahimi    X86_SSE_CC_GE
285*9a0e4156SSadaf Ebrahimi    X86_SSE_CC_GT
286*9a0e4156SSadaf Ebrahimi    X86_SSE_CC_TRUE
287*9a0e4156SSadaf EbrahimiEnd Enum
288*9a0e4156SSadaf Ebrahimi
289*9a0e4156SSadaf Ebrahimi'AVX Code Condition type
290*9a0e4156SSadaf EbrahimiPublic Enum x86_avx_cc
291*9a0e4156SSadaf Ebrahimi    X86_AVX_CC_INVALID = 0 ' Uninitialized.
292*9a0e4156SSadaf Ebrahimi    X86_AVX_CC_EQ
293*9a0e4156SSadaf Ebrahimi    X86_AVX_CC_LT
294*9a0e4156SSadaf Ebrahimi    X86_AVX_CC_LE
295*9a0e4156SSadaf Ebrahimi    X86_AVX_CC_UNORD
296*9a0e4156SSadaf Ebrahimi    X86_AVX_CC_NEQ
297*9a0e4156SSadaf Ebrahimi    X86_AVX_CC_NLT
298*9a0e4156SSadaf Ebrahimi    X86_AVX_CC_NLE
299*9a0e4156SSadaf Ebrahimi    X86_AVX_CC_ORD
300*9a0e4156SSadaf Ebrahimi    X86_AVX_CC_EQ_UQ
301*9a0e4156SSadaf Ebrahimi    X86_AVX_CC_NGE
302*9a0e4156SSadaf Ebrahimi    X86_AVX_CC_NGT
303*9a0e4156SSadaf Ebrahimi    X86_AVX_CC_FALSE
304*9a0e4156SSadaf Ebrahimi    X86_AVX_CC_NEQ_OQ
305*9a0e4156SSadaf Ebrahimi    X86_AVX_CC_GE
306*9a0e4156SSadaf Ebrahimi    X86_AVX_CC_GT
307*9a0e4156SSadaf Ebrahimi    X86_AVX_CC_TRUE
308*9a0e4156SSadaf Ebrahimi    X86_AVX_CC_EQ_OS
309*9a0e4156SSadaf Ebrahimi    X86_AVX_CC_LT_OQ
310*9a0e4156SSadaf Ebrahimi    X86_AVX_CC_LE_OQ
311*9a0e4156SSadaf Ebrahimi    X86_AVX_CC_UNORD_S
312*9a0e4156SSadaf Ebrahimi    X86_AVX_CC_NEQ_US
313*9a0e4156SSadaf Ebrahimi    X86_AVX_CC_NLT_UQ
314*9a0e4156SSadaf Ebrahimi    X86_AVX_CC_NLE_UQ
315*9a0e4156SSadaf Ebrahimi    X86_AVX_CC_ORD_S
316*9a0e4156SSadaf Ebrahimi    X86_AVX_CC_EQ_US
317*9a0e4156SSadaf Ebrahimi    X86_AVX_CC_NGE_UQ
318*9a0e4156SSadaf Ebrahimi    X86_AVX_CC_NGT_UQ
319*9a0e4156SSadaf Ebrahimi    X86_AVX_CC_FALSE_OS
320*9a0e4156SSadaf Ebrahimi    X86_AVX_CC_NEQ_OS
321*9a0e4156SSadaf Ebrahimi    X86_AVX_CC_GE_OQ
322*9a0e4156SSadaf Ebrahimi    X86_AVX_CC_GT_OQ
323*9a0e4156SSadaf Ebrahimi    X86_AVX_CC_TRUE_US
324*9a0e4156SSadaf EbrahimiEnd Enum
325*9a0e4156SSadaf Ebrahimi
326*9a0e4156SSadaf Ebrahimi'AVX static rounding mode type
327*9a0e4156SSadaf EbrahimiPublic Enum x86_avx_rm
328*9a0e4156SSadaf Ebrahimi    X86_AVX_RM_INVALID = 0 ' Uninitialized.
329*9a0e4156SSadaf Ebrahimi    X86_AVX_RM_RN        ' Round to nearest
330*9a0e4156SSadaf Ebrahimi    X86_AVX_RM_RD        ' Round down
331*9a0e4156SSadaf Ebrahimi    X86_AVX_RM_RU        ' Round up
332*9a0e4156SSadaf Ebrahimi    X86_AVX_RM_RZ        ' Round toward zero
333*9a0e4156SSadaf EbrahimiEnd Enum
334*9a0e4156SSadaf Ebrahimi
335*9a0e4156SSadaf Ebrahimi'Instruction prefixes - to be used in cs_x86.prefix[]
336*9a0e4156SSadaf EbrahimiPublic Enum x86_prefix
337*9a0e4156SSadaf Ebrahimi    X86_PREFIX_LOCK = &HF0     ' lock (cs_x86.prefix[0]
338*9a0e4156SSadaf Ebrahimi    X86_PREFIX_REP = &HF3      ' rep (cs_x86.prefix[0]
339*9a0e4156SSadaf Ebrahimi    X86_PREFIX_REPNE = &HF2    ' repne (cs_x86.prefix[0]
340*9a0e4156SSadaf Ebrahimi    X86_PREFIX_CS = &H2E       ' segment override CS (cs_x86.prefix[1]
341*9a0e4156SSadaf Ebrahimi    X86_PREFIX_SS = &H36       ' segment override SS (cs_x86.prefix[1]
342*9a0e4156SSadaf Ebrahimi    X86_PREFIX_DS = &H3E       ' segment override DS (cs_x86.prefix[1]
343*9a0e4156SSadaf Ebrahimi    X86_PREFIX_ES = &H26       ' segment override ES (cs_x86.prefix[1]
344*9a0e4156SSadaf Ebrahimi    X86_PREFIX_FS = &H64       ' segment override FS (cs_x86.prefix[1]
345*9a0e4156SSadaf Ebrahimi    X86_PREFIX_GS = &H65       ' segment override GS (cs_x86.prefix[1]
346*9a0e4156SSadaf Ebrahimi    X86_PREFIX_OPSIZE = &H66   ' operand-size override (cs_x86.prefix[2]
347*9a0e4156SSadaf Ebrahimi    X86_PREFIX_ADDRSIZE = &H67 ' address-size override (cs_x86.prefix[3]
348*9a0e4156SSadaf EbrahimiEnd Enum
349*9a0e4156SSadaf Ebrahimi
350*9a0e4156SSadaf Ebrahimi'Instruction's operand referring to memory
351*9a0e4156SSadaf Ebrahimi'This is associated with X86_OP_MEM operand type above
352*9a0e4156SSadaf EbrahimiPublic Type x86_op_mem
353*9a0e4156SSadaf Ebrahimi    segment As Long  ' segment register (or X86_REG_INVALID if irrelevant) UNSIGNED
354*9a0e4156SSadaf Ebrahimi    base As Long     ' base register (or X86_REG_INVALID if irrelevant) UNSIGNED
355*9a0e4156SSadaf Ebrahimi    index As Long    ' index register (or X86_REG_INVALID if irrelevant) UNSIGNED
356*9a0e4156SSadaf Ebrahimi    scale As Long    ' scale for index register
357*9a0e4156SSadaf Ebrahimi    disp As Currency ' displacement value
358*9a0e4156SSadaf EbrahimiEnd Type
359*9a0e4156SSadaf Ebrahimi
360*9a0e4156SSadaf Ebrahimi'Instruction operand 48 bytes
361*9a0e4156SSadaf Ebrahimi'typedef struct cs_x86_op {
362*9a0e4156SSadaf Ebrahimi'        x86_op_type type;   // operand type
363*9a0e4156SSadaf Ebrahimi'        union {
364*9a0e4156SSadaf Ebrahimi'            x86_reg reg;    // register value for REG operand
365*9a0e4156SSadaf Ebrahimi'            int64_t imm;        // immediate value for IMM operand
366*9a0e4156SSadaf Ebrahimi'            double fp;      // floating point value for FP operand
367*9a0e4156SSadaf Ebrahimi'            x86_op_mem mem;     // base/index/scale/disp value for MEM operand
368*9a0e4156SSadaf Ebrahimi'        };
369*9a0e4156SSadaf Ebrahimi'
370*9a0e4156SSadaf Ebrahimi'        // size of this operand (in bytes).
371*9a0e4156SSadaf Ebrahimi'        uint8_t size;
372*9a0e4156SSadaf Ebrahimi'
373*9a0e4156SSadaf Ebrahimi'        // AVX broadcast type, or 0 if irrelevant
374*9a0e4156SSadaf Ebrahimi'        x86_avx_bcast avx_bcast;
375*9a0e4156SSadaf Ebrahimi'
376*9a0e4156SSadaf Ebrahimi'        // AVX zero opmask {z}
377*9a0e4156SSadaf Ebrahimi'        bool avx_zero_opmask;
378*9a0e4156SSadaf Ebrahimi'} cs_x86_op;
379*9a0e4156SSadaf Ebrahimi
380*9a0e4156SSadaf Ebrahimi'Instruction structure
381*9a0e4156SSadaf EbrahimiPublic Type cs_x86
382*9a0e4156SSadaf Ebrahimi    ' Instruction prefix, which can be up to 4 bytes.
383*9a0e4156SSadaf Ebrahimi    ' A prefix byte gets value 0 when irrelevant.
384*9a0e4156SSadaf Ebrahimi    ' prefix[0] indicates REP/REPNE/LOCK prefix (See X86_PREFIX_REP/REPNE/LOCK above)
385*9a0e4156SSadaf Ebrahimi    ' prefix[1] indicates segment override (irrelevant for x86_64):
386*9a0e4156SSadaf Ebrahimi    ' See X86_PREFIX_CS/SS/DS/ES/FS/GS above.
387*9a0e4156SSadaf Ebrahimi    ' prefix[2] indicates operand-size override (X86_PREFIX_OPSIZE)
388*9a0e4156SSadaf Ebrahimi    ' prefix[3] indicates address-size override (X86_PREFIX_ADDRSIZE)
389*9a0e4156SSadaf Ebrahimi    prefix(0 To 3) As Byte        ' UNSIGNED
390*9a0e4156SSadaf Ebrahimi
391*9a0e4156SSadaf Ebrahimi    ' Instruction opcode, wich can be from 1 to 4 bytes in size.
392*9a0e4156SSadaf Ebrahimi    ' This contains VEX opcode as well.
393*9a0e4156SSadaf Ebrahimi    ' An trailing opcode byte gets value 0 when irrelevant.
394*9a0e4156SSadaf Ebrahimi    opcode(0 To 3) As Byte        ' UNSIGNED
395*9a0e4156SSadaf Ebrahimi
396*9a0e4156SSadaf Ebrahimi    rex As Byte                   ' REX prefix: only a non-zero value is relavant for x86_64  UNSIGNED
397*9a0e4156SSadaf Ebrahimi    addr_size As Byte             ' Address size, which can be overrided with above prefix[5].  UNSIGNED
398*9a0e4156SSadaf Ebrahimi    modrm As Byte                 ' ModR/M byte  UNSIGNED
399*9a0e4156SSadaf Ebrahimi    sib As Byte                   ' SIB value, or 0 when irrelevant.  UNSIGNED
400*9a0e4156SSadaf Ebrahimi    disp As Long                  ' Displacement value, or 0 when irrelevant.
401*9a0e4156SSadaf Ebrahimi    sib_index As x86_reg          ' SIB index register, or X86_REG_INVALID when irrelevant.
402*9a0e4156SSadaf Ebrahimi    sib_scale As Byte             ' SIB scale. only applicable if sib_index is relavant.
403*9a0e4156SSadaf Ebrahimi    sib_base As x86_reg           ' SIB base register, or X86_REG_INVALID when irrelevant.
404*9a0e4156SSadaf Ebrahimi    sse_cc As x86_sse_cc          ' SSE Code Condition
405*9a0e4156SSadaf Ebrahimi    avx_cc As x86_avx_cc          ' AVX Code Condition
406*9a0e4156SSadaf Ebrahimi    avx_sae As Byte               ' AVX Suppress all Exception
407*9a0e4156SSadaf Ebrahimi    avx_rm As x86_avx_rm          ' AVX static rounding mode
408*9a0e4156SSadaf Ebrahimi    op_count As Byte              ' Number of operands of this instruction, or 0 when instruction has no operand.UNSIGNED
409*9a0e4156SSadaf Ebrahimi
410*9a0e4156SSadaf Ebrahimi    'operands(0 To 7) As cs_x86_op ' operands for this instruction.
411*9a0e4156SSadaf Ebrahimi    'opBuf(0 To 383) As Byte
412*9a0e4156SSadaf Ebrahimi
413*9a0e4156SSadaf EbrahimiEnd Type
414*9a0e4156SSadaf Ebrahimi
415*9a0e4156SSadaf Ebrahimi'X86 instructions
416*9a0e4156SSadaf EbrahimiPublic Enum x86_insn
417*9a0e4156SSadaf Ebrahimi    X86_INS_INVALID = 0
418*9a0e4156SSadaf Ebrahimi    X86_INS_AAA
419*9a0e4156SSadaf Ebrahimi    X86_INS_AAD
420*9a0e4156SSadaf Ebrahimi    X86_INS_AAM
421*9a0e4156SSadaf Ebrahimi    X86_INS_AAS
422*9a0e4156SSadaf Ebrahimi    X86_INS_FABS
423*9a0e4156SSadaf Ebrahimi    X86_INS_ADC
424*9a0e4156SSadaf Ebrahimi    X86_INS_ADCX
425*9a0e4156SSadaf Ebrahimi    X86_INS_ADD
426*9a0e4156SSadaf Ebrahimi    X86_INS_ADDPD
427*9a0e4156SSadaf Ebrahimi    X86_INS_ADDPS
428*9a0e4156SSadaf Ebrahimi    X86_INS_ADDSD
429*9a0e4156SSadaf Ebrahimi    X86_INS_ADDSS
430*9a0e4156SSadaf Ebrahimi    X86_INS_ADDSUBPD
431*9a0e4156SSadaf Ebrahimi    X86_INS_ADDSUBPS
432*9a0e4156SSadaf Ebrahimi    X86_INS_FADD
433*9a0e4156SSadaf Ebrahimi    X86_INS_FIADD
434*9a0e4156SSadaf Ebrahimi    X86_INS_FADDP
435*9a0e4156SSadaf Ebrahimi    X86_INS_ADOX
436*9a0e4156SSadaf Ebrahimi    X86_INS_AESDECLAST
437*9a0e4156SSadaf Ebrahimi    X86_INS_AESDEC
438*9a0e4156SSadaf Ebrahimi    X86_INS_AESENCLAST
439*9a0e4156SSadaf Ebrahimi    X86_INS_AESENC
440*9a0e4156SSadaf Ebrahimi    X86_INS_AESIMC
441*9a0e4156SSadaf Ebrahimi    X86_INS_AESKEYGENASSIST
442*9a0e4156SSadaf Ebrahimi    X86_INS_AND
443*9a0e4156SSadaf Ebrahimi    X86_INS_ANDN
444*9a0e4156SSadaf Ebrahimi    X86_INS_ANDNPD
445*9a0e4156SSadaf Ebrahimi    X86_INS_ANDNPS
446*9a0e4156SSadaf Ebrahimi    X86_INS_ANDPD
447*9a0e4156SSadaf Ebrahimi    X86_INS_ANDPS
448*9a0e4156SSadaf Ebrahimi    X86_INS_ARPL
449*9a0e4156SSadaf Ebrahimi    X86_INS_BEXTR
450*9a0e4156SSadaf Ebrahimi    X86_INS_BLCFILL
451*9a0e4156SSadaf Ebrahimi    X86_INS_BLCI
452*9a0e4156SSadaf Ebrahimi    X86_INS_BLCIC
453*9a0e4156SSadaf Ebrahimi    X86_INS_BLCMSK
454*9a0e4156SSadaf Ebrahimi    X86_INS_BLCS
455*9a0e4156SSadaf Ebrahimi    X86_INS_BLENDPD
456*9a0e4156SSadaf Ebrahimi    X86_INS_BLENDPS
457*9a0e4156SSadaf Ebrahimi    X86_INS_BLENDVPD
458*9a0e4156SSadaf Ebrahimi    X86_INS_BLENDVPS
459*9a0e4156SSadaf Ebrahimi    X86_INS_BLSFILL
460*9a0e4156SSadaf Ebrahimi    X86_INS_BLSI
461*9a0e4156SSadaf Ebrahimi    X86_INS_BLSIC
462*9a0e4156SSadaf Ebrahimi    X86_INS_BLSMSK
463*9a0e4156SSadaf Ebrahimi    X86_INS_BLSR
464*9a0e4156SSadaf Ebrahimi    X86_INS_BOUND
465*9a0e4156SSadaf Ebrahimi    X86_INS_BSF
466*9a0e4156SSadaf Ebrahimi    X86_INS_BSR
467*9a0e4156SSadaf Ebrahimi    X86_INS_BSWAP
468*9a0e4156SSadaf Ebrahimi    X86_INS_BT
469*9a0e4156SSadaf Ebrahimi    X86_INS_BTC
470*9a0e4156SSadaf Ebrahimi    X86_INS_BTR
471*9a0e4156SSadaf Ebrahimi    X86_INS_BTS
472*9a0e4156SSadaf Ebrahimi    X86_INS_BZHI
473*9a0e4156SSadaf Ebrahimi    X86_INS_CALL
474*9a0e4156SSadaf Ebrahimi    X86_INS_CBW
475*9a0e4156SSadaf Ebrahimi    X86_INS_CDQ
476*9a0e4156SSadaf Ebrahimi    X86_INS_CDQE
477*9a0e4156SSadaf Ebrahimi    X86_INS_FCHS
478*9a0e4156SSadaf Ebrahimi    X86_INS_CLAC
479*9a0e4156SSadaf Ebrahimi    X86_INS_CLC
480*9a0e4156SSadaf Ebrahimi    X86_INS_CLD
481*9a0e4156SSadaf Ebrahimi    X86_INS_CLFLUSH
482*9a0e4156SSadaf Ebrahimi    X86_INS_CLGI
483*9a0e4156SSadaf Ebrahimi    X86_INS_CLI
484*9a0e4156SSadaf Ebrahimi    X86_INS_CLTS
485*9a0e4156SSadaf Ebrahimi    X86_INS_CMC
486*9a0e4156SSadaf Ebrahimi    X86_INS_CMOVA
487*9a0e4156SSadaf Ebrahimi    X86_INS_CMOVAE
488*9a0e4156SSadaf Ebrahimi    X86_INS_CMOVB
489*9a0e4156SSadaf Ebrahimi    X86_INS_CMOVBE
490*9a0e4156SSadaf Ebrahimi    X86_INS_FCMOVBE
491*9a0e4156SSadaf Ebrahimi    X86_INS_FCMOVB
492*9a0e4156SSadaf Ebrahimi    X86_INS_CMOVE
493*9a0e4156SSadaf Ebrahimi    X86_INS_FCMOVE
494*9a0e4156SSadaf Ebrahimi    X86_INS_CMOVG
495*9a0e4156SSadaf Ebrahimi    X86_INS_CMOVGE
496*9a0e4156SSadaf Ebrahimi    X86_INS_CMOVL
497*9a0e4156SSadaf Ebrahimi    X86_INS_CMOVLE
498*9a0e4156SSadaf Ebrahimi    X86_INS_FCMOVNBE
499*9a0e4156SSadaf Ebrahimi    X86_INS_FCMOVNB
500*9a0e4156SSadaf Ebrahimi    X86_INS_CMOVNE
501*9a0e4156SSadaf Ebrahimi    X86_INS_FCMOVNE
502*9a0e4156SSadaf Ebrahimi    X86_INS_CMOVNO
503*9a0e4156SSadaf Ebrahimi    X86_INS_CMOVNP
504*9a0e4156SSadaf Ebrahimi    X86_INS_FCMOVNU
505*9a0e4156SSadaf Ebrahimi    X86_INS_CMOVNS
506*9a0e4156SSadaf Ebrahimi    X86_INS_CMOVO
507*9a0e4156SSadaf Ebrahimi    X86_INS_CMOVP
508*9a0e4156SSadaf Ebrahimi    X86_INS_FCMOVU
509*9a0e4156SSadaf Ebrahimi    X86_INS_CMOVS
510*9a0e4156SSadaf Ebrahimi    X86_INS_CMP
511*9a0e4156SSadaf Ebrahimi    X86_INS_CMPPD
512*9a0e4156SSadaf Ebrahimi    X86_INS_CMPPS
513*9a0e4156SSadaf Ebrahimi    X86_INS_CMPSB
514*9a0e4156SSadaf Ebrahimi    X86_INS_CMPSD
515*9a0e4156SSadaf Ebrahimi    X86_INS_CMPSQ
516*9a0e4156SSadaf Ebrahimi    X86_INS_CMPSS
517*9a0e4156SSadaf Ebrahimi    X86_INS_CMPSW
518*9a0e4156SSadaf Ebrahimi    X86_INS_CMPXCHG16B
519*9a0e4156SSadaf Ebrahimi    X86_INS_CMPXCHG
520*9a0e4156SSadaf Ebrahimi    X86_INS_CMPXCHG8B
521*9a0e4156SSadaf Ebrahimi    X86_INS_COMISD
522*9a0e4156SSadaf Ebrahimi    X86_INS_COMISS
523*9a0e4156SSadaf Ebrahimi    X86_INS_FCOMP
524*9a0e4156SSadaf Ebrahimi    X86_INS_FCOMPI
525*9a0e4156SSadaf Ebrahimi    X86_INS_FCOMI
526*9a0e4156SSadaf Ebrahimi    X86_INS_FCOM
527*9a0e4156SSadaf Ebrahimi    X86_INS_FCOS
528*9a0e4156SSadaf Ebrahimi    X86_INS_CPUID
529*9a0e4156SSadaf Ebrahimi    X86_INS_CQO
530*9a0e4156SSadaf Ebrahimi    X86_INS_CRC32
531*9a0e4156SSadaf Ebrahimi    X86_INS_CVTDQ2PD
532*9a0e4156SSadaf Ebrahimi    X86_INS_CVTDQ2PS
533*9a0e4156SSadaf Ebrahimi    X86_INS_CVTPD2DQ
534*9a0e4156SSadaf Ebrahimi    X86_INS_CVTPD2PS
535*9a0e4156SSadaf Ebrahimi    X86_INS_CVTPS2DQ
536*9a0e4156SSadaf Ebrahimi    X86_INS_CVTPS2PD
537*9a0e4156SSadaf Ebrahimi    X86_INS_CVTSD2SI
538*9a0e4156SSadaf Ebrahimi    X86_INS_CVTSD2SS
539*9a0e4156SSadaf Ebrahimi    X86_INS_CVTSI2SD
540*9a0e4156SSadaf Ebrahimi    X86_INS_CVTSI2SS
541*9a0e4156SSadaf Ebrahimi    X86_INS_CVTSS2SD
542*9a0e4156SSadaf Ebrahimi    X86_INS_CVTSS2SI
543*9a0e4156SSadaf Ebrahimi    X86_INS_CVTTPD2DQ
544*9a0e4156SSadaf Ebrahimi    X86_INS_CVTTPS2DQ
545*9a0e4156SSadaf Ebrahimi    X86_INS_CVTTSD2SI
546*9a0e4156SSadaf Ebrahimi    X86_INS_CVTTSS2SI
547*9a0e4156SSadaf Ebrahimi    X86_INS_CWD
548*9a0e4156SSadaf Ebrahimi    X86_INS_CWDE
549*9a0e4156SSadaf Ebrahimi    X86_INS_DAA
550*9a0e4156SSadaf Ebrahimi    X86_INS_DAS
551*9a0e4156SSadaf Ebrahimi    X86_INS_DATA16
552*9a0e4156SSadaf Ebrahimi    X86_INS_DEC
553*9a0e4156SSadaf Ebrahimi    X86_INS_DIV
554*9a0e4156SSadaf Ebrahimi    X86_INS_DIVPD
555*9a0e4156SSadaf Ebrahimi    X86_INS_DIVPS
556*9a0e4156SSadaf Ebrahimi    X86_INS_FDIVR
557*9a0e4156SSadaf Ebrahimi    X86_INS_FIDIVR
558*9a0e4156SSadaf Ebrahimi    X86_INS_FDIVRP
559*9a0e4156SSadaf Ebrahimi    X86_INS_DIVSD
560*9a0e4156SSadaf Ebrahimi    X86_INS_DIVSS
561*9a0e4156SSadaf Ebrahimi    X86_INS_FDIV
562*9a0e4156SSadaf Ebrahimi    X86_INS_FIDIV
563*9a0e4156SSadaf Ebrahimi    X86_INS_FDIVP
564*9a0e4156SSadaf Ebrahimi    X86_INS_DPPD
565*9a0e4156SSadaf Ebrahimi    X86_INS_DPPS
566*9a0e4156SSadaf Ebrahimi    X86_INS_RET
567*9a0e4156SSadaf Ebrahimi    X86_INS_ENCLS
568*9a0e4156SSadaf Ebrahimi    X86_INS_ENCLU
569*9a0e4156SSadaf Ebrahimi    X86_INS_ENTER
570*9a0e4156SSadaf Ebrahimi    X86_INS_EXTRACTPS
571*9a0e4156SSadaf Ebrahimi    X86_INS_EXTRQ
572*9a0e4156SSadaf Ebrahimi    X86_INS_F2XM1
573*9a0e4156SSadaf Ebrahimi    X86_INS_LCALL
574*9a0e4156SSadaf Ebrahimi    X86_INS_LJMP
575*9a0e4156SSadaf Ebrahimi    X86_INS_FBLD
576*9a0e4156SSadaf Ebrahimi    X86_INS_FBSTP
577*9a0e4156SSadaf Ebrahimi    X86_INS_FCOMPP
578*9a0e4156SSadaf Ebrahimi    X86_INS_FDECSTP
579*9a0e4156SSadaf Ebrahimi    X86_INS_FEMMS
580*9a0e4156SSadaf Ebrahimi    X86_INS_FFREE
581*9a0e4156SSadaf Ebrahimi    X86_INS_FICOM
582*9a0e4156SSadaf Ebrahimi    X86_INS_FICOMP
583*9a0e4156SSadaf Ebrahimi    X86_INS_FINCSTP
584*9a0e4156SSadaf Ebrahimi    X86_INS_FLDCW
585*9a0e4156SSadaf Ebrahimi    X86_INS_FLDENV
586*9a0e4156SSadaf Ebrahimi    X86_INS_FLDL2E
587*9a0e4156SSadaf Ebrahimi    X86_INS_FLDL2T
588*9a0e4156SSadaf Ebrahimi    X86_INS_FLDLG2
589*9a0e4156SSadaf Ebrahimi    X86_INS_FLDLN2
590*9a0e4156SSadaf Ebrahimi    X86_INS_FLDPI
591*9a0e4156SSadaf Ebrahimi    X86_INS_FNCLEX
592*9a0e4156SSadaf Ebrahimi    X86_INS_FNINIT
593*9a0e4156SSadaf Ebrahimi    X86_INS_FNOP
594*9a0e4156SSadaf Ebrahimi    X86_INS_FNSTCW
595*9a0e4156SSadaf Ebrahimi    X86_INS_FNSTSW
596*9a0e4156SSadaf Ebrahimi    X86_INS_FPATAN
597*9a0e4156SSadaf Ebrahimi    X86_INS_FPREM
598*9a0e4156SSadaf Ebrahimi    X86_INS_FPREM1
599*9a0e4156SSadaf Ebrahimi    X86_INS_FPTAN
600*9a0e4156SSadaf Ebrahimi    X86_INS_FRNDINT
601*9a0e4156SSadaf Ebrahimi    X86_INS_FRSTOR
602*9a0e4156SSadaf Ebrahimi    X86_INS_FNSAVE
603*9a0e4156SSadaf Ebrahimi    X86_INS_FSCALE
604*9a0e4156SSadaf Ebrahimi    X86_INS_FSETPM
605*9a0e4156SSadaf Ebrahimi    X86_INS_FSINCOS
606*9a0e4156SSadaf Ebrahimi    X86_INS_FNSTENV
607*9a0e4156SSadaf Ebrahimi    X86_INS_FXAM
608*9a0e4156SSadaf Ebrahimi    X86_INS_FXRSTOR
609*9a0e4156SSadaf Ebrahimi    X86_INS_FXRSTOR64
610*9a0e4156SSadaf Ebrahimi    X86_INS_FXSAVE
611*9a0e4156SSadaf Ebrahimi    X86_INS_FXSAVE64
612*9a0e4156SSadaf Ebrahimi    X86_INS_FXTRACT
613*9a0e4156SSadaf Ebrahimi    X86_INS_FYL2X
614*9a0e4156SSadaf Ebrahimi    X86_INS_FYL2XP1
615*9a0e4156SSadaf Ebrahimi    X86_INS_MOVAPD
616*9a0e4156SSadaf Ebrahimi    X86_INS_MOVAPS
617*9a0e4156SSadaf Ebrahimi    X86_INS_ORPD
618*9a0e4156SSadaf Ebrahimi    X86_INS_ORPS
619*9a0e4156SSadaf Ebrahimi    X86_INS_VMOVAPD
620*9a0e4156SSadaf Ebrahimi    X86_INS_VMOVAPS
621*9a0e4156SSadaf Ebrahimi    X86_INS_XORPD
622*9a0e4156SSadaf Ebrahimi    X86_INS_XORPS
623*9a0e4156SSadaf Ebrahimi    X86_INS_GETSEC
624*9a0e4156SSadaf Ebrahimi    X86_INS_HADDPD
625*9a0e4156SSadaf Ebrahimi    X86_INS_HADDPS
626*9a0e4156SSadaf Ebrahimi    X86_INS_HLT
627*9a0e4156SSadaf Ebrahimi    X86_INS_HSUBPD
628*9a0e4156SSadaf Ebrahimi    X86_INS_HSUBPS
629*9a0e4156SSadaf Ebrahimi    X86_INS_IDIV
630*9a0e4156SSadaf Ebrahimi    X86_INS_FILD
631*9a0e4156SSadaf Ebrahimi    X86_INS_IMUL
632*9a0e4156SSadaf Ebrahimi    X86_INS_IN
633*9a0e4156SSadaf Ebrahimi    X86_INS_INC
634*9a0e4156SSadaf Ebrahimi    X86_INS_INSB
635*9a0e4156SSadaf Ebrahimi    X86_INS_INSERTPS
636*9a0e4156SSadaf Ebrahimi    X86_INS_INSERTQ
637*9a0e4156SSadaf Ebrahimi    X86_INS_INSD
638*9a0e4156SSadaf Ebrahimi    X86_INS_INSW
639*9a0e4156SSadaf Ebrahimi    X86_INS_INT
640*9a0e4156SSadaf Ebrahimi    X86_INS_INT1
641*9a0e4156SSadaf Ebrahimi    X86_INS_INT3
642*9a0e4156SSadaf Ebrahimi    X86_INS_INTO
643*9a0e4156SSadaf Ebrahimi    X86_INS_INVD
644*9a0e4156SSadaf Ebrahimi    X86_INS_INVEPT
645*9a0e4156SSadaf Ebrahimi    X86_INS_INVLPG
646*9a0e4156SSadaf Ebrahimi    X86_INS_INVLPGA
647*9a0e4156SSadaf Ebrahimi    X86_INS_INVPCID
648*9a0e4156SSadaf Ebrahimi    X86_INS_INVVPID
649*9a0e4156SSadaf Ebrahimi    X86_INS_IRET
650*9a0e4156SSadaf Ebrahimi    X86_INS_IRETD
651*9a0e4156SSadaf Ebrahimi    X86_INS_IRETQ
652*9a0e4156SSadaf Ebrahimi    X86_INS_FISTTP
653*9a0e4156SSadaf Ebrahimi    X86_INS_FIST
654*9a0e4156SSadaf Ebrahimi    X86_INS_FISTP
655*9a0e4156SSadaf Ebrahimi    X86_INS_UCOMISD
656*9a0e4156SSadaf Ebrahimi    X86_INS_UCOMISS
657*9a0e4156SSadaf Ebrahimi    X86_INS_VCMP
658*9a0e4156SSadaf Ebrahimi    X86_INS_VCOMISD
659*9a0e4156SSadaf Ebrahimi    X86_INS_VCOMISS
660*9a0e4156SSadaf Ebrahimi    X86_INS_VCVTSD2SS
661*9a0e4156SSadaf Ebrahimi    X86_INS_VCVTSI2SD
662*9a0e4156SSadaf Ebrahimi    X86_INS_VCVTSI2SS
663*9a0e4156SSadaf Ebrahimi    X86_INS_VCVTSS2SD
664*9a0e4156SSadaf Ebrahimi    X86_INS_VCVTTSD2SI
665*9a0e4156SSadaf Ebrahimi    X86_INS_VCVTTSD2USI
666*9a0e4156SSadaf Ebrahimi    X86_INS_VCVTTSS2SI
667*9a0e4156SSadaf Ebrahimi    X86_INS_VCVTTSS2USI
668*9a0e4156SSadaf Ebrahimi    X86_INS_VCVTUSI2SD
669*9a0e4156SSadaf Ebrahimi    X86_INS_VCVTUSI2SS
670*9a0e4156SSadaf Ebrahimi    X86_INS_VUCOMISD
671*9a0e4156SSadaf Ebrahimi    X86_INS_VUCOMISS
672*9a0e4156SSadaf Ebrahimi    X86_INS_JAE
673*9a0e4156SSadaf Ebrahimi    X86_INS_JA
674*9a0e4156SSadaf Ebrahimi    X86_INS_JBE
675*9a0e4156SSadaf Ebrahimi    X86_INS_JB
676*9a0e4156SSadaf Ebrahimi    X86_INS_JCXZ
677*9a0e4156SSadaf Ebrahimi    X86_INS_JECXZ
678*9a0e4156SSadaf Ebrahimi    X86_INS_JE
679*9a0e4156SSadaf Ebrahimi    X86_INS_JGE
680*9a0e4156SSadaf Ebrahimi    X86_INS_JG
681*9a0e4156SSadaf Ebrahimi    X86_INS_JLE
682*9a0e4156SSadaf Ebrahimi    X86_INS_JL
683*9a0e4156SSadaf Ebrahimi    X86_INS_JMP
684*9a0e4156SSadaf Ebrahimi    X86_INS_JNE
685*9a0e4156SSadaf Ebrahimi    X86_INS_JNO
686*9a0e4156SSadaf Ebrahimi    X86_INS_JNP
687*9a0e4156SSadaf Ebrahimi    X86_INS_JNS
688*9a0e4156SSadaf Ebrahimi    X86_INS_JO
689*9a0e4156SSadaf Ebrahimi    X86_INS_JP
690*9a0e4156SSadaf Ebrahimi    X86_INS_JRCXZ
691*9a0e4156SSadaf Ebrahimi    X86_INS_JS
692*9a0e4156SSadaf Ebrahimi    X86_INS_KANDB
693*9a0e4156SSadaf Ebrahimi    X86_INS_KANDD
694*9a0e4156SSadaf Ebrahimi    X86_INS_KANDNB
695*9a0e4156SSadaf Ebrahimi    X86_INS_KANDND
696*9a0e4156SSadaf Ebrahimi    X86_INS_KANDNQ
697*9a0e4156SSadaf Ebrahimi    X86_INS_KANDNW
698*9a0e4156SSadaf Ebrahimi    X86_INS_KANDQ
699*9a0e4156SSadaf Ebrahimi    X86_INS_KANDW
700*9a0e4156SSadaf Ebrahimi    X86_INS_KMOVB
701*9a0e4156SSadaf Ebrahimi    X86_INS_KMOVD
702*9a0e4156SSadaf Ebrahimi    X86_INS_KMOVQ
703*9a0e4156SSadaf Ebrahimi    X86_INS_KMOVW
704*9a0e4156SSadaf Ebrahimi    X86_INS_KNOTB
705*9a0e4156SSadaf Ebrahimi    X86_INS_KNOTD
706*9a0e4156SSadaf Ebrahimi    X86_INS_KNOTQ
707*9a0e4156SSadaf Ebrahimi    X86_INS_KNOTW
708*9a0e4156SSadaf Ebrahimi    X86_INS_KORB
709*9a0e4156SSadaf Ebrahimi    X86_INS_KORD
710*9a0e4156SSadaf Ebrahimi    X86_INS_KORQ
711*9a0e4156SSadaf Ebrahimi    X86_INS_KORTESTW
712*9a0e4156SSadaf Ebrahimi    X86_INS_KORW
713*9a0e4156SSadaf Ebrahimi    X86_INS_KSHIFTLW
714*9a0e4156SSadaf Ebrahimi    X86_INS_KSHIFTRW
715*9a0e4156SSadaf Ebrahimi    X86_INS_KUNPCKBW
716*9a0e4156SSadaf Ebrahimi    X86_INS_KXNORB
717*9a0e4156SSadaf Ebrahimi    X86_INS_KXNORD
718*9a0e4156SSadaf Ebrahimi    X86_INS_KXNORQ
719*9a0e4156SSadaf Ebrahimi    X86_INS_KXNORW
720*9a0e4156SSadaf Ebrahimi    X86_INS_KXORB
721*9a0e4156SSadaf Ebrahimi    X86_INS_KXORD
722*9a0e4156SSadaf Ebrahimi    X86_INS_KXORQ
723*9a0e4156SSadaf Ebrahimi    X86_INS_KXORW
724*9a0e4156SSadaf Ebrahimi    X86_INS_LAHF
725*9a0e4156SSadaf Ebrahimi    X86_INS_LAR
726*9a0e4156SSadaf Ebrahimi    X86_INS_LDDQU
727*9a0e4156SSadaf Ebrahimi    X86_INS_LDMXCSR
728*9a0e4156SSadaf Ebrahimi    X86_INS_LDS
729*9a0e4156SSadaf Ebrahimi    X86_INS_FLDZ
730*9a0e4156SSadaf Ebrahimi    X86_INS_FLD1
731*9a0e4156SSadaf Ebrahimi    X86_INS_FLD
732*9a0e4156SSadaf Ebrahimi    X86_INS_LEA
733*9a0e4156SSadaf Ebrahimi    X86_INS_LEAVE
734*9a0e4156SSadaf Ebrahimi    X86_INS_LES
735*9a0e4156SSadaf Ebrahimi    X86_INS_LFENCE
736*9a0e4156SSadaf Ebrahimi    X86_INS_LFS
737*9a0e4156SSadaf Ebrahimi    X86_INS_LGDT
738*9a0e4156SSadaf Ebrahimi    X86_INS_LGS
739*9a0e4156SSadaf Ebrahimi    X86_INS_LIDT
740*9a0e4156SSadaf Ebrahimi    X86_INS_LLDT
741*9a0e4156SSadaf Ebrahimi    X86_INS_LMSW
742*9a0e4156SSadaf Ebrahimi    X86_INS_OR
743*9a0e4156SSadaf Ebrahimi    X86_INS_SUB
744*9a0e4156SSadaf Ebrahimi    X86_INS_XOR
745*9a0e4156SSadaf Ebrahimi    X86_INS_LODSB
746*9a0e4156SSadaf Ebrahimi    X86_INS_LODSD
747*9a0e4156SSadaf Ebrahimi    X86_INS_LODSQ
748*9a0e4156SSadaf Ebrahimi    X86_INS_LODSW
749*9a0e4156SSadaf Ebrahimi    X86_INS_LOOP
750*9a0e4156SSadaf Ebrahimi    X86_INS_LOOPE
751*9a0e4156SSadaf Ebrahimi    X86_INS_LOOPNE
752*9a0e4156SSadaf Ebrahimi    X86_INS_RETF
753*9a0e4156SSadaf Ebrahimi    X86_INS_RETFQ
754*9a0e4156SSadaf Ebrahimi    X86_INS_LSL
755*9a0e4156SSadaf Ebrahimi    X86_INS_LSS
756*9a0e4156SSadaf Ebrahimi    X86_INS_LTR
757*9a0e4156SSadaf Ebrahimi    X86_INS_XADD
758*9a0e4156SSadaf Ebrahimi    X86_INS_LZCNT
759*9a0e4156SSadaf Ebrahimi    X86_INS_MASKMOVDQU
760*9a0e4156SSadaf Ebrahimi    X86_INS_MAXPD
761*9a0e4156SSadaf Ebrahimi    X86_INS_MAXPS
762*9a0e4156SSadaf Ebrahimi    X86_INS_MAXSD
763*9a0e4156SSadaf Ebrahimi    X86_INS_MAXSS
764*9a0e4156SSadaf Ebrahimi    X86_INS_MFENCE
765*9a0e4156SSadaf Ebrahimi    X86_INS_MINPD
766*9a0e4156SSadaf Ebrahimi    X86_INS_MINPS
767*9a0e4156SSadaf Ebrahimi    X86_INS_MINSD
768*9a0e4156SSadaf Ebrahimi    X86_INS_MINSS
769*9a0e4156SSadaf Ebrahimi    X86_INS_CVTPD2PI
770*9a0e4156SSadaf Ebrahimi    X86_INS_CVTPI2PD
771*9a0e4156SSadaf Ebrahimi    X86_INS_CVTPI2PS
772*9a0e4156SSadaf Ebrahimi    X86_INS_CVTPS2PI
773*9a0e4156SSadaf Ebrahimi    X86_INS_CVTTPD2PI
774*9a0e4156SSadaf Ebrahimi    X86_INS_CVTTPS2PI
775*9a0e4156SSadaf Ebrahimi    X86_INS_EMMS
776*9a0e4156SSadaf Ebrahimi    X86_INS_MASKMOVQ
777*9a0e4156SSadaf Ebrahimi    X86_INS_MOVD
778*9a0e4156SSadaf Ebrahimi    X86_INS_MOVDQ2Q
779*9a0e4156SSadaf Ebrahimi    X86_INS_MOVNTQ
780*9a0e4156SSadaf Ebrahimi    X86_INS_MOVQ2DQ
781*9a0e4156SSadaf Ebrahimi    X86_INS_MOVQ
782*9a0e4156SSadaf Ebrahimi    X86_INS_PABSB
783*9a0e4156SSadaf Ebrahimi    X86_INS_PABSD
784*9a0e4156SSadaf Ebrahimi    X86_INS_PABSW
785*9a0e4156SSadaf Ebrahimi    X86_INS_PACKSSDW
786*9a0e4156SSadaf Ebrahimi    X86_INS_PACKSSWB
787*9a0e4156SSadaf Ebrahimi    X86_INS_PACKUSWB
788*9a0e4156SSadaf Ebrahimi    X86_INS_PADDB
789*9a0e4156SSadaf Ebrahimi    X86_INS_PADDD
790*9a0e4156SSadaf Ebrahimi    X86_INS_PADDQ
791*9a0e4156SSadaf Ebrahimi    X86_INS_PADDSB
792*9a0e4156SSadaf Ebrahimi    X86_INS_PADDSW
793*9a0e4156SSadaf Ebrahimi    X86_INS_PADDUSB
794*9a0e4156SSadaf Ebrahimi    X86_INS_PADDUSW
795*9a0e4156SSadaf Ebrahimi    X86_INS_PADDW
796*9a0e4156SSadaf Ebrahimi    X86_INS_PALIGNR
797*9a0e4156SSadaf Ebrahimi    X86_INS_PANDN
798*9a0e4156SSadaf Ebrahimi    X86_INS_PAND
799*9a0e4156SSadaf Ebrahimi    X86_INS_PAVGB
800*9a0e4156SSadaf Ebrahimi    X86_INS_PAVGW
801*9a0e4156SSadaf Ebrahimi    X86_INS_PCMPEQB
802*9a0e4156SSadaf Ebrahimi    X86_INS_PCMPEQD
803*9a0e4156SSadaf Ebrahimi    X86_INS_PCMPEQW
804*9a0e4156SSadaf Ebrahimi    X86_INS_PCMPGTB
805*9a0e4156SSadaf Ebrahimi    X86_INS_PCMPGTD
806*9a0e4156SSadaf Ebrahimi    X86_INS_PCMPGTW
807*9a0e4156SSadaf Ebrahimi    X86_INS_PEXTRW
808*9a0e4156SSadaf Ebrahimi    X86_INS_PHADDSW
809*9a0e4156SSadaf Ebrahimi    X86_INS_PHADDW
810*9a0e4156SSadaf Ebrahimi    X86_INS_PHADDD
811*9a0e4156SSadaf Ebrahimi    X86_INS_PHSUBD
812*9a0e4156SSadaf Ebrahimi    X86_INS_PHSUBSW
813*9a0e4156SSadaf Ebrahimi    X86_INS_PHSUBW
814*9a0e4156SSadaf Ebrahimi    X86_INS_PINSRW
815*9a0e4156SSadaf Ebrahimi    X86_INS_PMADDUBSW
816*9a0e4156SSadaf Ebrahimi    X86_INS_PMADDWD
817*9a0e4156SSadaf Ebrahimi    X86_INS_PMAXSW
818*9a0e4156SSadaf Ebrahimi    X86_INS_PMAXUB
819*9a0e4156SSadaf Ebrahimi    X86_INS_PMINSW
820*9a0e4156SSadaf Ebrahimi    X86_INS_PMINUB
821*9a0e4156SSadaf Ebrahimi    X86_INS_PMOVMSKB
822*9a0e4156SSadaf Ebrahimi    X86_INS_PMULHRSW
823*9a0e4156SSadaf Ebrahimi    X86_INS_PMULHUW
824*9a0e4156SSadaf Ebrahimi    X86_INS_PMULHW
825*9a0e4156SSadaf Ebrahimi    X86_INS_PMULLW
826*9a0e4156SSadaf Ebrahimi    X86_INS_PMULUDQ
827*9a0e4156SSadaf Ebrahimi    X86_INS_POR
828*9a0e4156SSadaf Ebrahimi    X86_INS_PSADBW
829*9a0e4156SSadaf Ebrahimi    X86_INS_PSHUFB
830*9a0e4156SSadaf Ebrahimi    X86_INS_PSHUFW
831*9a0e4156SSadaf Ebrahimi    X86_INS_PSIGNB
832*9a0e4156SSadaf Ebrahimi    X86_INS_PSIGND
833*9a0e4156SSadaf Ebrahimi    X86_INS_PSIGNW
834*9a0e4156SSadaf Ebrahimi    X86_INS_PSLLD
835*9a0e4156SSadaf Ebrahimi    X86_INS_PSLLQ
836*9a0e4156SSadaf Ebrahimi    X86_INS_PSLLW
837*9a0e4156SSadaf Ebrahimi    X86_INS_PSRAD
838*9a0e4156SSadaf Ebrahimi    X86_INS_PSRAW
839*9a0e4156SSadaf Ebrahimi    X86_INS_PSRLD
840*9a0e4156SSadaf Ebrahimi    X86_INS_PSRLQ
841*9a0e4156SSadaf Ebrahimi    X86_INS_PSRLW
842*9a0e4156SSadaf Ebrahimi    X86_INS_PSUBB
843*9a0e4156SSadaf Ebrahimi    X86_INS_PSUBD
844*9a0e4156SSadaf Ebrahimi    X86_INS_PSUBQ
845*9a0e4156SSadaf Ebrahimi    X86_INS_PSUBSB
846*9a0e4156SSadaf Ebrahimi    X86_INS_PSUBSW
847*9a0e4156SSadaf Ebrahimi    X86_INS_PSUBUSB
848*9a0e4156SSadaf Ebrahimi    X86_INS_PSUBUSW
849*9a0e4156SSadaf Ebrahimi    X86_INS_PSUBW
850*9a0e4156SSadaf Ebrahimi    X86_INS_PUNPCKHBW
851*9a0e4156SSadaf Ebrahimi    X86_INS_PUNPCKHDQ
852*9a0e4156SSadaf Ebrahimi    X86_INS_PUNPCKHWD
853*9a0e4156SSadaf Ebrahimi    X86_INS_PUNPCKLBW
854*9a0e4156SSadaf Ebrahimi    X86_INS_PUNPCKLDQ
855*9a0e4156SSadaf Ebrahimi    X86_INS_PUNPCKLWD
856*9a0e4156SSadaf Ebrahimi    X86_INS_PXOR
857*9a0e4156SSadaf Ebrahimi    X86_INS_MONITOR
858*9a0e4156SSadaf Ebrahimi    X86_INS_MONTMUL
859*9a0e4156SSadaf Ebrahimi    X86_INS_MOV
860*9a0e4156SSadaf Ebrahimi    X86_INS_MOVABS
861*9a0e4156SSadaf Ebrahimi    X86_INS_MOVBE
862*9a0e4156SSadaf Ebrahimi    X86_INS_MOVDDUP
863*9a0e4156SSadaf Ebrahimi    X86_INS_MOVDQA
864*9a0e4156SSadaf Ebrahimi    X86_INS_MOVDQU
865*9a0e4156SSadaf Ebrahimi    X86_INS_MOVHLPS
866*9a0e4156SSadaf Ebrahimi    X86_INS_MOVHPD
867*9a0e4156SSadaf Ebrahimi    X86_INS_MOVHPS
868*9a0e4156SSadaf Ebrahimi    X86_INS_MOVLHPS
869*9a0e4156SSadaf Ebrahimi    X86_INS_MOVLPD
870*9a0e4156SSadaf Ebrahimi    X86_INS_MOVLPS
871*9a0e4156SSadaf Ebrahimi    X86_INS_MOVMSKPD
872*9a0e4156SSadaf Ebrahimi    X86_INS_MOVMSKPS
873*9a0e4156SSadaf Ebrahimi    X86_INS_MOVNTDQA
874*9a0e4156SSadaf Ebrahimi    X86_INS_MOVNTDQ
875*9a0e4156SSadaf Ebrahimi    X86_INS_MOVNTI
876*9a0e4156SSadaf Ebrahimi    X86_INS_MOVNTPD
877*9a0e4156SSadaf Ebrahimi    X86_INS_MOVNTPS
878*9a0e4156SSadaf Ebrahimi    X86_INS_MOVNTSD
879*9a0e4156SSadaf Ebrahimi    X86_INS_MOVNTSS
880*9a0e4156SSadaf Ebrahimi    X86_INS_MOVSB
881*9a0e4156SSadaf Ebrahimi    X86_INS_MOVSD
882*9a0e4156SSadaf Ebrahimi    X86_INS_MOVSHDUP
883*9a0e4156SSadaf Ebrahimi    X86_INS_MOVSLDUP
884*9a0e4156SSadaf Ebrahimi    X86_INS_MOVSQ
885*9a0e4156SSadaf Ebrahimi    X86_INS_MOVSS
886*9a0e4156SSadaf Ebrahimi    X86_INS_MOVSW
887*9a0e4156SSadaf Ebrahimi    X86_INS_MOVSX
888*9a0e4156SSadaf Ebrahimi    X86_INS_MOVSXD
889*9a0e4156SSadaf Ebrahimi    X86_INS_MOVUPD
890*9a0e4156SSadaf Ebrahimi    X86_INS_MOVUPS
891*9a0e4156SSadaf Ebrahimi    X86_INS_MOVZX
892*9a0e4156SSadaf Ebrahimi    X86_INS_MPSADBW
893*9a0e4156SSadaf Ebrahimi    X86_INS_MUL
894*9a0e4156SSadaf Ebrahimi    X86_INS_MULPD
895*9a0e4156SSadaf Ebrahimi    X86_INS_MULPS
896*9a0e4156SSadaf Ebrahimi    X86_INS_MULSD
897*9a0e4156SSadaf Ebrahimi    X86_INS_MULSS
898*9a0e4156SSadaf Ebrahimi    X86_INS_MULX
899*9a0e4156SSadaf Ebrahimi    X86_INS_FMUL
900*9a0e4156SSadaf Ebrahimi    X86_INS_FIMUL
901*9a0e4156SSadaf Ebrahimi    X86_INS_FMULP
902*9a0e4156SSadaf Ebrahimi    X86_INS_MWAIT
903*9a0e4156SSadaf Ebrahimi    X86_INS_NEG
904*9a0e4156SSadaf Ebrahimi    X86_INS_NOP
905*9a0e4156SSadaf Ebrahimi    X86_INS_NOT
906*9a0e4156SSadaf Ebrahimi    X86_INS_OUT
907*9a0e4156SSadaf Ebrahimi    X86_INS_OUTSB
908*9a0e4156SSadaf Ebrahimi    X86_INS_OUTSD
909*9a0e4156SSadaf Ebrahimi    X86_INS_OUTSW
910*9a0e4156SSadaf Ebrahimi    X86_INS_PACKUSDW
911*9a0e4156SSadaf Ebrahimi    X86_INS_PAUSE
912*9a0e4156SSadaf Ebrahimi    X86_INS_PAVGUSB
913*9a0e4156SSadaf Ebrahimi    X86_INS_PBLENDVB
914*9a0e4156SSadaf Ebrahimi    X86_INS_PBLENDW
915*9a0e4156SSadaf Ebrahimi    X86_INS_PCLMULQDQ
916*9a0e4156SSadaf Ebrahimi    X86_INS_PCMPEQQ
917*9a0e4156SSadaf Ebrahimi    X86_INS_PCMPESTRI
918*9a0e4156SSadaf Ebrahimi    X86_INS_PCMPESTRM
919*9a0e4156SSadaf Ebrahimi    X86_INS_PCMPGTQ
920*9a0e4156SSadaf Ebrahimi    X86_INS_PCMPISTRI
921*9a0e4156SSadaf Ebrahimi    X86_INS_PCMPISTRM
922*9a0e4156SSadaf Ebrahimi    X86_INS_PDEP
923*9a0e4156SSadaf Ebrahimi    X86_INS_PEXT
924*9a0e4156SSadaf Ebrahimi    X86_INS_PEXTRB
925*9a0e4156SSadaf Ebrahimi    X86_INS_PEXTRD
926*9a0e4156SSadaf Ebrahimi    X86_INS_PEXTRQ
927*9a0e4156SSadaf Ebrahimi    X86_INS_PF2ID
928*9a0e4156SSadaf Ebrahimi    X86_INS_PF2IW
929*9a0e4156SSadaf Ebrahimi    X86_INS_PFACC
930*9a0e4156SSadaf Ebrahimi    X86_INS_PFADD
931*9a0e4156SSadaf Ebrahimi    X86_INS_PFCMPEQ
932*9a0e4156SSadaf Ebrahimi    X86_INS_PFCMPGE
933*9a0e4156SSadaf Ebrahimi    X86_INS_PFCMPGT
934*9a0e4156SSadaf Ebrahimi    X86_INS_PFMAX
935*9a0e4156SSadaf Ebrahimi    X86_INS_PFMIN
936*9a0e4156SSadaf Ebrahimi    X86_INS_PFMUL
937*9a0e4156SSadaf Ebrahimi    X86_INS_PFNACC
938*9a0e4156SSadaf Ebrahimi    X86_INS_PFPNACC
939*9a0e4156SSadaf Ebrahimi    X86_INS_PFRCPIT1
940*9a0e4156SSadaf Ebrahimi    X86_INS_PFRCPIT2
941*9a0e4156SSadaf Ebrahimi    X86_INS_PFRCP
942*9a0e4156SSadaf Ebrahimi    X86_INS_PFRSQIT1
943*9a0e4156SSadaf Ebrahimi    X86_INS_PFRSQRT
944*9a0e4156SSadaf Ebrahimi    X86_INS_PFSUBR
945*9a0e4156SSadaf Ebrahimi    X86_INS_PFSUB
946*9a0e4156SSadaf Ebrahimi    X86_INS_PHMINPOSUW
947*9a0e4156SSadaf Ebrahimi    X86_INS_PI2FD
948*9a0e4156SSadaf Ebrahimi    X86_INS_PI2FW
949*9a0e4156SSadaf Ebrahimi    X86_INS_PINSRB
950*9a0e4156SSadaf Ebrahimi    X86_INS_PINSRD
951*9a0e4156SSadaf Ebrahimi    X86_INS_PINSRQ
952*9a0e4156SSadaf Ebrahimi    X86_INS_PMAXSB
953*9a0e4156SSadaf Ebrahimi    X86_INS_PMAXSD
954*9a0e4156SSadaf Ebrahimi    X86_INS_PMAXUD
955*9a0e4156SSadaf Ebrahimi    X86_INS_PMAXUW
956*9a0e4156SSadaf Ebrahimi    X86_INS_PMINSB
957*9a0e4156SSadaf Ebrahimi    X86_INS_PMINSD
958*9a0e4156SSadaf Ebrahimi    X86_INS_PMINUD
959*9a0e4156SSadaf Ebrahimi    X86_INS_PMINUW
960*9a0e4156SSadaf Ebrahimi    X86_INS_PMOVSXBD
961*9a0e4156SSadaf Ebrahimi    X86_INS_PMOVSXBQ
962*9a0e4156SSadaf Ebrahimi    X86_INS_PMOVSXBW
963*9a0e4156SSadaf Ebrahimi    X86_INS_PMOVSXDQ
964*9a0e4156SSadaf Ebrahimi    X86_INS_PMOVSXWD
965*9a0e4156SSadaf Ebrahimi    X86_INS_PMOVSXWQ
966*9a0e4156SSadaf Ebrahimi    X86_INS_PMOVZXBD
967*9a0e4156SSadaf Ebrahimi    X86_INS_PMOVZXBQ
968*9a0e4156SSadaf Ebrahimi    X86_INS_PMOVZXBW
969*9a0e4156SSadaf Ebrahimi    X86_INS_PMOVZXDQ
970*9a0e4156SSadaf Ebrahimi    X86_INS_PMOVZXWD
971*9a0e4156SSadaf Ebrahimi    X86_INS_PMOVZXWQ
972*9a0e4156SSadaf Ebrahimi    X86_INS_PMULDQ
973*9a0e4156SSadaf Ebrahimi    X86_INS_PMULHRW
974*9a0e4156SSadaf Ebrahimi    X86_INS_PMULLD
975*9a0e4156SSadaf Ebrahimi    X86_INS_POP
976*9a0e4156SSadaf Ebrahimi    X86_INS_POPAW
977*9a0e4156SSadaf Ebrahimi    X86_INS_POPAL
978*9a0e4156SSadaf Ebrahimi    X86_INS_POPCNT
979*9a0e4156SSadaf Ebrahimi    X86_INS_POPF
980*9a0e4156SSadaf Ebrahimi    X86_INS_POPFD
981*9a0e4156SSadaf Ebrahimi    X86_INS_POPFQ
982*9a0e4156SSadaf Ebrahimi    X86_INS_PREFETCH
983*9a0e4156SSadaf Ebrahimi    X86_INS_PREFETCHNTA
984*9a0e4156SSadaf Ebrahimi    X86_INS_PREFETCHT0
985*9a0e4156SSadaf Ebrahimi    X86_INS_PREFETCHT1
986*9a0e4156SSadaf Ebrahimi    X86_INS_PREFETCHT2
987*9a0e4156SSadaf Ebrahimi    X86_INS_PREFETCHW
988*9a0e4156SSadaf Ebrahimi    X86_INS_PSHUFD
989*9a0e4156SSadaf Ebrahimi    X86_INS_PSHUFHW
990*9a0e4156SSadaf Ebrahimi    X86_INS_PSHUFLW
991*9a0e4156SSadaf Ebrahimi    X86_INS_PSLLDQ
992*9a0e4156SSadaf Ebrahimi    X86_INS_PSRLDQ
993*9a0e4156SSadaf Ebrahimi    X86_INS_PSWAPD
994*9a0e4156SSadaf Ebrahimi    X86_INS_PTEST
995*9a0e4156SSadaf Ebrahimi    X86_INS_PUNPCKHQDQ
996*9a0e4156SSadaf Ebrahimi    X86_INS_PUNPCKLQDQ
997*9a0e4156SSadaf Ebrahimi    X86_INS_PUSH
998*9a0e4156SSadaf Ebrahimi    X86_INS_PUSHAW
999*9a0e4156SSadaf Ebrahimi    X86_INS_PUSHAL
1000*9a0e4156SSadaf Ebrahimi    X86_INS_PUSHF
1001*9a0e4156SSadaf Ebrahimi    X86_INS_PUSHFD
1002*9a0e4156SSadaf Ebrahimi    X86_INS_PUSHFQ
1003*9a0e4156SSadaf Ebrahimi    X86_INS_RCL
1004*9a0e4156SSadaf Ebrahimi    X86_INS_RCPPS
1005*9a0e4156SSadaf Ebrahimi    X86_INS_RCPSS
1006*9a0e4156SSadaf Ebrahimi    X86_INS_RCR
1007*9a0e4156SSadaf Ebrahimi    X86_INS_RDFSBASE
1008*9a0e4156SSadaf Ebrahimi    X86_INS_RDGSBASE
1009*9a0e4156SSadaf Ebrahimi    X86_INS_RDMSR
1010*9a0e4156SSadaf Ebrahimi    X86_INS_RDPMC
1011*9a0e4156SSadaf Ebrahimi    X86_INS_RDRAND
1012*9a0e4156SSadaf Ebrahimi    X86_INS_RDSEED
1013*9a0e4156SSadaf Ebrahimi    X86_INS_RDTSC
1014*9a0e4156SSadaf Ebrahimi    X86_INS_RDTSCP
1015*9a0e4156SSadaf Ebrahimi    X86_INS_ROL
1016*9a0e4156SSadaf Ebrahimi    X86_INS_ROR
1017*9a0e4156SSadaf Ebrahimi    X86_INS_RORX
1018*9a0e4156SSadaf Ebrahimi    X86_INS_ROUNDPD
1019*9a0e4156SSadaf Ebrahimi    X86_INS_ROUNDPS
1020*9a0e4156SSadaf Ebrahimi    X86_INS_ROUNDSD
1021*9a0e4156SSadaf Ebrahimi    X86_INS_ROUNDSS
1022*9a0e4156SSadaf Ebrahimi    X86_INS_RSM
1023*9a0e4156SSadaf Ebrahimi    X86_INS_RSQRTPS
1024*9a0e4156SSadaf Ebrahimi    X86_INS_RSQRTSS
1025*9a0e4156SSadaf Ebrahimi    X86_INS_SAHF
1026*9a0e4156SSadaf Ebrahimi    X86_INS_SAL
1027*9a0e4156SSadaf Ebrahimi    X86_INS_SALC
1028*9a0e4156SSadaf Ebrahimi    X86_INS_SAR
1029*9a0e4156SSadaf Ebrahimi    X86_INS_SARX
1030*9a0e4156SSadaf Ebrahimi    X86_INS_SBB
1031*9a0e4156SSadaf Ebrahimi    X86_INS_SCASB
1032*9a0e4156SSadaf Ebrahimi    X86_INS_SCASD
1033*9a0e4156SSadaf Ebrahimi    X86_INS_SCASQ
1034*9a0e4156SSadaf Ebrahimi    X86_INS_SCASW
1035*9a0e4156SSadaf Ebrahimi    X86_INS_SETAE
1036*9a0e4156SSadaf Ebrahimi    X86_INS_SETA
1037*9a0e4156SSadaf Ebrahimi    X86_INS_SETBE
1038*9a0e4156SSadaf Ebrahimi    X86_INS_SETB
1039*9a0e4156SSadaf Ebrahimi    X86_INS_SETE
1040*9a0e4156SSadaf Ebrahimi    X86_INS_SETGE
1041*9a0e4156SSadaf Ebrahimi    X86_INS_SETG
1042*9a0e4156SSadaf Ebrahimi    X86_INS_SETLE
1043*9a0e4156SSadaf Ebrahimi    X86_INS_SETL
1044*9a0e4156SSadaf Ebrahimi    X86_INS_SETNE
1045*9a0e4156SSadaf Ebrahimi    X86_INS_SETNO
1046*9a0e4156SSadaf Ebrahimi    X86_INS_SETNP
1047*9a0e4156SSadaf Ebrahimi    X86_INS_SETNS
1048*9a0e4156SSadaf Ebrahimi    X86_INS_SETO
1049*9a0e4156SSadaf Ebrahimi    X86_INS_SETP
1050*9a0e4156SSadaf Ebrahimi    X86_INS_SETS
1051*9a0e4156SSadaf Ebrahimi    X86_INS_SFENCE
1052*9a0e4156SSadaf Ebrahimi    X86_INS_SGDT
1053*9a0e4156SSadaf Ebrahimi    X86_INS_SHA1MSG1
1054*9a0e4156SSadaf Ebrahimi    X86_INS_SHA1MSG2
1055*9a0e4156SSadaf Ebrahimi    X86_INS_SHA1NEXTE
1056*9a0e4156SSadaf Ebrahimi    X86_INS_SHA1RNDS4
1057*9a0e4156SSadaf Ebrahimi    X86_INS_SHA256MSG1
1058*9a0e4156SSadaf Ebrahimi    X86_INS_SHA256MSG2
1059*9a0e4156SSadaf Ebrahimi    X86_INS_SHA256RNDS2
1060*9a0e4156SSadaf Ebrahimi    X86_INS_SHL
1061*9a0e4156SSadaf Ebrahimi    X86_INS_SHLD
1062*9a0e4156SSadaf Ebrahimi    X86_INS_SHLX
1063*9a0e4156SSadaf Ebrahimi    X86_INS_SHR
1064*9a0e4156SSadaf Ebrahimi    X86_INS_SHRD
1065*9a0e4156SSadaf Ebrahimi    X86_INS_SHRX
1066*9a0e4156SSadaf Ebrahimi    X86_INS_SHUFPD
1067*9a0e4156SSadaf Ebrahimi    X86_INS_SHUFPS
1068*9a0e4156SSadaf Ebrahimi    X86_INS_SIDT
1069*9a0e4156SSadaf Ebrahimi    X86_INS_FSIN
1070*9a0e4156SSadaf Ebrahimi    X86_INS_SKINIT
1071*9a0e4156SSadaf Ebrahimi    X86_INS_SLDT
1072*9a0e4156SSadaf Ebrahimi    X86_INS_SMSW
1073*9a0e4156SSadaf Ebrahimi    X86_INS_SQRTPD
1074*9a0e4156SSadaf Ebrahimi    X86_INS_SQRTPS
1075*9a0e4156SSadaf Ebrahimi    X86_INS_SQRTSD
1076*9a0e4156SSadaf Ebrahimi    X86_INS_SQRTSS
1077*9a0e4156SSadaf Ebrahimi    X86_INS_FSQRT
1078*9a0e4156SSadaf Ebrahimi    X86_INS_STAC
1079*9a0e4156SSadaf Ebrahimi    X86_INS_STC
1080*9a0e4156SSadaf Ebrahimi    X86_INS_STD
1081*9a0e4156SSadaf Ebrahimi    X86_INS_STGI
1082*9a0e4156SSadaf Ebrahimi    X86_INS_STI
1083*9a0e4156SSadaf Ebrahimi    X86_INS_STMXCSR
1084*9a0e4156SSadaf Ebrahimi    X86_INS_STOSB
1085*9a0e4156SSadaf Ebrahimi    X86_INS_STOSD
1086*9a0e4156SSadaf Ebrahimi    X86_INS_STOSQ
1087*9a0e4156SSadaf Ebrahimi    X86_INS_STOSW
1088*9a0e4156SSadaf Ebrahimi    X86_INS_STR
1089*9a0e4156SSadaf Ebrahimi    X86_INS_FST
1090*9a0e4156SSadaf Ebrahimi    X86_INS_FSTP
1091*9a0e4156SSadaf Ebrahimi    X86_INS_FSTPNCE
1092*9a0e4156SSadaf Ebrahimi    X86_INS_SUBPD
1093*9a0e4156SSadaf Ebrahimi    X86_INS_SUBPS
1094*9a0e4156SSadaf Ebrahimi    X86_INS_FSUBR
1095*9a0e4156SSadaf Ebrahimi    X86_INS_FISUBR
1096*9a0e4156SSadaf Ebrahimi    X86_INS_FSUBRP
1097*9a0e4156SSadaf Ebrahimi    X86_INS_SUBSD
1098*9a0e4156SSadaf Ebrahimi    X86_INS_SUBSS
1099*9a0e4156SSadaf Ebrahimi    X86_INS_FSUB
1100*9a0e4156SSadaf Ebrahimi    X86_INS_FISUB
1101*9a0e4156SSadaf Ebrahimi    X86_INS_FSUBP
1102*9a0e4156SSadaf Ebrahimi    X86_INS_SWAPGS
1103*9a0e4156SSadaf Ebrahimi    X86_INS_SYSCALL
1104*9a0e4156SSadaf Ebrahimi    X86_INS_SYSENTER
1105*9a0e4156SSadaf Ebrahimi    X86_INS_SYSEXIT
1106*9a0e4156SSadaf Ebrahimi    X86_INS_SYSRET
1107*9a0e4156SSadaf Ebrahimi    X86_INS_T1MSKC
1108*9a0e4156SSadaf Ebrahimi    X86_INS_TEST
1109*9a0e4156SSadaf Ebrahimi    X86_INS_UD2
1110*9a0e4156SSadaf Ebrahimi    X86_INS_FTST
1111*9a0e4156SSadaf Ebrahimi    X86_INS_TZCNT
1112*9a0e4156SSadaf Ebrahimi    X86_INS_TZMSK
1113*9a0e4156SSadaf Ebrahimi    X86_INS_FUCOMPI
1114*9a0e4156SSadaf Ebrahimi    X86_INS_FUCOMI
1115*9a0e4156SSadaf Ebrahimi    X86_INS_FUCOMPP
1116*9a0e4156SSadaf Ebrahimi    X86_INS_FUCOMP
1117*9a0e4156SSadaf Ebrahimi    X86_INS_FUCOM
1118*9a0e4156SSadaf Ebrahimi    X86_INS_UD2B
1119*9a0e4156SSadaf Ebrahimi    X86_INS_UNPCKHPD
1120*9a0e4156SSadaf Ebrahimi    X86_INS_UNPCKHPS
1121*9a0e4156SSadaf Ebrahimi    X86_INS_UNPCKLPD
1122*9a0e4156SSadaf Ebrahimi    X86_INS_UNPCKLPS
1123*9a0e4156SSadaf Ebrahimi    X86_INS_VADDPD
1124*9a0e4156SSadaf Ebrahimi    X86_INS_VADDPS
1125*9a0e4156SSadaf Ebrahimi    X86_INS_VADDSD
1126*9a0e4156SSadaf Ebrahimi    X86_INS_VADDSS
1127*9a0e4156SSadaf Ebrahimi    X86_INS_VADDSUBPD
1128*9a0e4156SSadaf Ebrahimi    X86_INS_VADDSUBPS
1129*9a0e4156SSadaf Ebrahimi    X86_INS_VAESDECLAST
1130*9a0e4156SSadaf Ebrahimi    X86_INS_VAESDEC
1131*9a0e4156SSadaf Ebrahimi    X86_INS_VAESENCLAST
1132*9a0e4156SSadaf Ebrahimi    X86_INS_VAESENC
1133*9a0e4156SSadaf Ebrahimi    X86_INS_VAESIMC
1134*9a0e4156SSadaf Ebrahimi    X86_INS_VAESKEYGENASSIST
1135*9a0e4156SSadaf Ebrahimi    X86_INS_VALIGND
1136*9a0e4156SSadaf Ebrahimi    X86_INS_VALIGNQ
1137*9a0e4156SSadaf Ebrahimi    X86_INS_VANDNPD
1138*9a0e4156SSadaf Ebrahimi    X86_INS_VANDNPS
1139*9a0e4156SSadaf Ebrahimi    X86_INS_VANDPD
1140*9a0e4156SSadaf Ebrahimi    X86_INS_VANDPS
1141*9a0e4156SSadaf Ebrahimi    X86_INS_VBLENDMPD
1142*9a0e4156SSadaf Ebrahimi    X86_INS_VBLENDMPS
1143*9a0e4156SSadaf Ebrahimi    X86_INS_VBLENDPD
1144*9a0e4156SSadaf Ebrahimi    X86_INS_VBLENDPS
1145*9a0e4156SSadaf Ebrahimi    X86_INS_VBLENDVPD
1146*9a0e4156SSadaf Ebrahimi    X86_INS_VBLENDVPS
1147*9a0e4156SSadaf Ebrahimi    X86_INS_VBROADCASTF128
1148*9a0e4156SSadaf Ebrahimi    X86_INS_VBROADCASTI128
1149*9a0e4156SSadaf Ebrahimi    X86_INS_VBROADCASTI32X4
1150*9a0e4156SSadaf Ebrahimi    X86_INS_VBROADCASTI64X4
1151*9a0e4156SSadaf Ebrahimi    X86_INS_VBROADCASTSD
1152*9a0e4156SSadaf Ebrahimi    X86_INS_VBROADCASTSS
1153*9a0e4156SSadaf Ebrahimi    X86_INS_VCMPPD
1154*9a0e4156SSadaf Ebrahimi    X86_INS_VCMPPS
1155*9a0e4156SSadaf Ebrahimi    X86_INS_VCMPSD
1156*9a0e4156SSadaf Ebrahimi    X86_INS_VCMPSS
1157*9a0e4156SSadaf Ebrahimi    X86_INS_VCVTDQ2PD
1158*9a0e4156SSadaf Ebrahimi    X86_INS_VCVTDQ2PS
1159*9a0e4156SSadaf Ebrahimi    X86_INS_VCVTPD2DQX
1160*9a0e4156SSadaf Ebrahimi    X86_INS_VCVTPD2DQ
1161*9a0e4156SSadaf Ebrahimi    X86_INS_VCVTPD2PSX
1162*9a0e4156SSadaf Ebrahimi    X86_INS_VCVTPD2PS
1163*9a0e4156SSadaf Ebrahimi    X86_INS_VCVTPD2UDQ
1164*9a0e4156SSadaf Ebrahimi    X86_INS_VCVTPH2PS
1165*9a0e4156SSadaf Ebrahimi    X86_INS_VCVTPS2DQ
1166*9a0e4156SSadaf Ebrahimi    X86_INS_VCVTPS2PD
1167*9a0e4156SSadaf Ebrahimi    X86_INS_VCVTPS2PH
1168*9a0e4156SSadaf Ebrahimi    X86_INS_VCVTPS2UDQ
1169*9a0e4156SSadaf Ebrahimi    X86_INS_VCVTSD2SI
1170*9a0e4156SSadaf Ebrahimi    X86_INS_VCVTSD2USI
1171*9a0e4156SSadaf Ebrahimi    X86_INS_VCVTSS2SI
1172*9a0e4156SSadaf Ebrahimi    X86_INS_VCVTSS2USI
1173*9a0e4156SSadaf Ebrahimi    X86_INS_VCVTTPD2DQX
1174*9a0e4156SSadaf Ebrahimi    X86_INS_VCVTTPD2DQ
1175*9a0e4156SSadaf Ebrahimi    X86_INS_VCVTTPD2UDQ
1176*9a0e4156SSadaf Ebrahimi    X86_INS_VCVTTPS2DQ
1177*9a0e4156SSadaf Ebrahimi    X86_INS_VCVTTPS2UDQ
1178*9a0e4156SSadaf Ebrahimi    X86_INS_VCVTUDQ2PD
1179*9a0e4156SSadaf Ebrahimi    X86_INS_VCVTUDQ2PS
1180*9a0e4156SSadaf Ebrahimi    X86_INS_VDIVPD
1181*9a0e4156SSadaf Ebrahimi    X86_INS_VDIVPS
1182*9a0e4156SSadaf Ebrahimi    X86_INS_VDIVSD
1183*9a0e4156SSadaf Ebrahimi    X86_INS_VDIVSS
1184*9a0e4156SSadaf Ebrahimi    X86_INS_VDPPD
1185*9a0e4156SSadaf Ebrahimi    X86_INS_VDPPS
1186*9a0e4156SSadaf Ebrahimi    X86_INS_VERR
1187*9a0e4156SSadaf Ebrahimi    X86_INS_VERW
1188*9a0e4156SSadaf Ebrahimi    X86_INS_VEXTRACTF128
1189*9a0e4156SSadaf Ebrahimi    X86_INS_VEXTRACTF32X4
1190*9a0e4156SSadaf Ebrahimi    X86_INS_VEXTRACTF64X4
1191*9a0e4156SSadaf Ebrahimi    X86_INS_VEXTRACTI128
1192*9a0e4156SSadaf Ebrahimi    X86_INS_VEXTRACTI32X4
1193*9a0e4156SSadaf Ebrahimi    X86_INS_VEXTRACTI64X4
1194*9a0e4156SSadaf Ebrahimi    X86_INS_VEXTRACTPS
1195*9a0e4156SSadaf Ebrahimi    X86_INS_VFMADD132PD
1196*9a0e4156SSadaf Ebrahimi    X86_INS_VFMADD132PS
1197*9a0e4156SSadaf Ebrahimi    X86_INS_VFMADD213PD
1198*9a0e4156SSadaf Ebrahimi    X86_INS_VFMADD213PS
1199*9a0e4156SSadaf Ebrahimi    X86_INS_VFMADDPD
1200*9a0e4156SSadaf Ebrahimi    X86_INS_VFMADD231PD
1201*9a0e4156SSadaf Ebrahimi    X86_INS_VFMADDPS
1202*9a0e4156SSadaf Ebrahimi    X86_INS_VFMADD231PS
1203*9a0e4156SSadaf Ebrahimi    X86_INS_VFMADDSD
1204*9a0e4156SSadaf Ebrahimi    X86_INS_VFMADD213SD
1205*9a0e4156SSadaf Ebrahimi    X86_INS_VFMADD132SD
1206*9a0e4156SSadaf Ebrahimi    X86_INS_VFMADD231SD
1207*9a0e4156SSadaf Ebrahimi    X86_INS_VFMADDSS
1208*9a0e4156SSadaf Ebrahimi    X86_INS_VFMADD213SS
1209*9a0e4156SSadaf Ebrahimi    X86_INS_VFMADD132SS
1210*9a0e4156SSadaf Ebrahimi    X86_INS_VFMADD231SS
1211*9a0e4156SSadaf Ebrahimi    X86_INS_VFMADDSUB132PD
1212*9a0e4156SSadaf Ebrahimi    X86_INS_VFMADDSUB132PS
1213*9a0e4156SSadaf Ebrahimi    X86_INS_VFMADDSUB213PD
1214*9a0e4156SSadaf Ebrahimi    X86_INS_VFMADDSUB213PS
1215*9a0e4156SSadaf Ebrahimi    X86_INS_VFMADDSUBPD
1216*9a0e4156SSadaf Ebrahimi    X86_INS_VFMADDSUB231PD
1217*9a0e4156SSadaf Ebrahimi    X86_INS_VFMADDSUBPS
1218*9a0e4156SSadaf Ebrahimi    X86_INS_VFMADDSUB231PS
1219*9a0e4156SSadaf Ebrahimi    X86_INS_VFMSUB132PD
1220*9a0e4156SSadaf Ebrahimi    X86_INS_VFMSUB132PS
1221*9a0e4156SSadaf Ebrahimi    X86_INS_VFMSUB213PD
1222*9a0e4156SSadaf Ebrahimi    X86_INS_VFMSUB213PS
1223*9a0e4156SSadaf Ebrahimi    X86_INS_VFMSUBADD132PD
1224*9a0e4156SSadaf Ebrahimi    X86_INS_VFMSUBADD132PS
1225*9a0e4156SSadaf Ebrahimi    X86_INS_VFMSUBADD213PD
1226*9a0e4156SSadaf Ebrahimi    X86_INS_VFMSUBADD213PS
1227*9a0e4156SSadaf Ebrahimi    X86_INS_VFMSUBADDPD
1228*9a0e4156SSadaf Ebrahimi    X86_INS_VFMSUBADD231PD
1229*9a0e4156SSadaf Ebrahimi    X86_INS_VFMSUBADDPS
1230*9a0e4156SSadaf Ebrahimi    X86_INS_VFMSUBADD231PS
1231*9a0e4156SSadaf Ebrahimi    X86_INS_VFMSUBPD
1232*9a0e4156SSadaf Ebrahimi    X86_INS_VFMSUB231PD
1233*9a0e4156SSadaf Ebrahimi    X86_INS_VFMSUBPS
1234*9a0e4156SSadaf Ebrahimi    X86_INS_VFMSUB231PS
1235*9a0e4156SSadaf Ebrahimi    X86_INS_VFMSUBSD
1236*9a0e4156SSadaf Ebrahimi    X86_INS_VFMSUB213SD
1237*9a0e4156SSadaf Ebrahimi    X86_INS_VFMSUB132SD
1238*9a0e4156SSadaf Ebrahimi    X86_INS_VFMSUB231SD
1239*9a0e4156SSadaf Ebrahimi    X86_INS_VFMSUBSS
1240*9a0e4156SSadaf Ebrahimi    X86_INS_VFMSUB213SS
1241*9a0e4156SSadaf Ebrahimi    X86_INS_VFMSUB132SS
1242*9a0e4156SSadaf Ebrahimi    X86_INS_VFMSUB231SS
1243*9a0e4156SSadaf Ebrahimi    X86_INS_VFNMADD132PD
1244*9a0e4156SSadaf Ebrahimi    X86_INS_VFNMADD132PS
1245*9a0e4156SSadaf Ebrahimi    X86_INS_VFNMADD213PD
1246*9a0e4156SSadaf Ebrahimi    X86_INS_VFNMADD213PS
1247*9a0e4156SSadaf Ebrahimi    X86_INS_VFNMADDPD
1248*9a0e4156SSadaf Ebrahimi    X86_INS_VFNMADD231PD
1249*9a0e4156SSadaf Ebrahimi    X86_INS_VFNMADDPS
1250*9a0e4156SSadaf Ebrahimi    X86_INS_VFNMADD231PS
1251*9a0e4156SSadaf Ebrahimi    X86_INS_VFNMADDSD
1252*9a0e4156SSadaf Ebrahimi    X86_INS_VFNMADD213SD
1253*9a0e4156SSadaf Ebrahimi    X86_INS_VFNMADD132SD
1254*9a0e4156SSadaf Ebrahimi    X86_INS_VFNMADD231SD
1255*9a0e4156SSadaf Ebrahimi    X86_INS_VFNMADDSS
1256*9a0e4156SSadaf Ebrahimi    X86_INS_VFNMADD213SS
1257*9a0e4156SSadaf Ebrahimi    X86_INS_VFNMADD132SS
1258*9a0e4156SSadaf Ebrahimi    X86_INS_VFNMADD231SS
1259*9a0e4156SSadaf Ebrahimi    X86_INS_VFNMSUB132PD
1260*9a0e4156SSadaf Ebrahimi    X86_INS_VFNMSUB132PS
1261*9a0e4156SSadaf Ebrahimi    X86_INS_VFNMSUB213PD
1262*9a0e4156SSadaf Ebrahimi    X86_INS_VFNMSUB213PS
1263*9a0e4156SSadaf Ebrahimi    X86_INS_VFNMSUBPD
1264*9a0e4156SSadaf Ebrahimi    X86_INS_VFNMSUB231PD
1265*9a0e4156SSadaf Ebrahimi    X86_INS_VFNMSUBPS
1266*9a0e4156SSadaf Ebrahimi    X86_INS_VFNMSUB231PS
1267*9a0e4156SSadaf Ebrahimi    X86_INS_VFNMSUBSD
1268*9a0e4156SSadaf Ebrahimi    X86_INS_VFNMSUB213SD
1269*9a0e4156SSadaf Ebrahimi    X86_INS_VFNMSUB132SD
1270*9a0e4156SSadaf Ebrahimi    X86_INS_VFNMSUB231SD
1271*9a0e4156SSadaf Ebrahimi    X86_INS_VFNMSUBSS
1272*9a0e4156SSadaf Ebrahimi    X86_INS_VFNMSUB213SS
1273*9a0e4156SSadaf Ebrahimi    X86_INS_VFNMSUB132SS
1274*9a0e4156SSadaf Ebrahimi    X86_INS_VFNMSUB231SS
1275*9a0e4156SSadaf Ebrahimi    X86_INS_VFRCZPD
1276*9a0e4156SSadaf Ebrahimi    X86_INS_VFRCZPS
1277*9a0e4156SSadaf Ebrahimi    X86_INS_VFRCZSD
1278*9a0e4156SSadaf Ebrahimi    X86_INS_VFRCZSS
1279*9a0e4156SSadaf Ebrahimi    X86_INS_VORPD
1280*9a0e4156SSadaf Ebrahimi    X86_INS_VORPS
1281*9a0e4156SSadaf Ebrahimi    X86_INS_VXORPD
1282*9a0e4156SSadaf Ebrahimi    X86_INS_VXORPS
1283*9a0e4156SSadaf Ebrahimi    X86_INS_VGATHERDPD
1284*9a0e4156SSadaf Ebrahimi    X86_INS_VGATHERDPS
1285*9a0e4156SSadaf Ebrahimi    X86_INS_VGATHERPF0DPD
1286*9a0e4156SSadaf Ebrahimi    X86_INS_VGATHERPF0DPS
1287*9a0e4156SSadaf Ebrahimi    X86_INS_VGATHERPF0QPD
1288*9a0e4156SSadaf Ebrahimi    X86_INS_VGATHERPF0QPS
1289*9a0e4156SSadaf Ebrahimi    X86_INS_VGATHERPF1DPD
1290*9a0e4156SSadaf Ebrahimi    X86_INS_VGATHERPF1DPS
1291*9a0e4156SSadaf Ebrahimi    X86_INS_VGATHERPF1QPD
1292*9a0e4156SSadaf Ebrahimi    X86_INS_VGATHERPF1QPS
1293*9a0e4156SSadaf Ebrahimi    X86_INS_VGATHERQPD
1294*9a0e4156SSadaf Ebrahimi    X86_INS_VGATHERQPS
1295*9a0e4156SSadaf Ebrahimi    X86_INS_VHADDPD
1296*9a0e4156SSadaf Ebrahimi    X86_INS_VHADDPS
1297*9a0e4156SSadaf Ebrahimi    X86_INS_VHSUBPD
1298*9a0e4156SSadaf Ebrahimi    X86_INS_VHSUBPS
1299*9a0e4156SSadaf Ebrahimi    X86_INS_VINSERTF128
1300*9a0e4156SSadaf Ebrahimi    X86_INS_VINSERTF32X4
1301*9a0e4156SSadaf Ebrahimi    X86_INS_VINSERTF64X4
1302*9a0e4156SSadaf Ebrahimi    X86_INS_VINSERTI128
1303*9a0e4156SSadaf Ebrahimi    X86_INS_VINSERTI32X4
1304*9a0e4156SSadaf Ebrahimi    X86_INS_VINSERTI64X4
1305*9a0e4156SSadaf Ebrahimi    X86_INS_VINSERTPS
1306*9a0e4156SSadaf Ebrahimi    X86_INS_VLDDQU
1307*9a0e4156SSadaf Ebrahimi    X86_INS_VLDMXCSR
1308*9a0e4156SSadaf Ebrahimi    X86_INS_VMASKMOVDQU
1309*9a0e4156SSadaf Ebrahimi    X86_INS_VMASKMOVPD
1310*9a0e4156SSadaf Ebrahimi    X86_INS_VMASKMOVPS
1311*9a0e4156SSadaf Ebrahimi    X86_INS_VMAXPD
1312*9a0e4156SSadaf Ebrahimi    X86_INS_VMAXPS
1313*9a0e4156SSadaf Ebrahimi    X86_INS_VMAXSD
1314*9a0e4156SSadaf Ebrahimi    X86_INS_VMAXSS
1315*9a0e4156SSadaf Ebrahimi    X86_INS_VMCALL
1316*9a0e4156SSadaf Ebrahimi    X86_INS_VMCLEAR
1317*9a0e4156SSadaf Ebrahimi    X86_INS_VMFUNC
1318*9a0e4156SSadaf Ebrahimi    X86_INS_VMINPD
1319*9a0e4156SSadaf Ebrahimi    X86_INS_VMINPS
1320*9a0e4156SSadaf Ebrahimi    X86_INS_VMINSD
1321*9a0e4156SSadaf Ebrahimi    X86_INS_VMINSS
1322*9a0e4156SSadaf Ebrahimi    X86_INS_VMLAUNCH
1323*9a0e4156SSadaf Ebrahimi    X86_INS_VMLOAD
1324*9a0e4156SSadaf Ebrahimi    X86_INS_VMMCALL
1325*9a0e4156SSadaf Ebrahimi    X86_INS_VMOVQ
1326*9a0e4156SSadaf Ebrahimi    X86_INS_VMOVDDUP
1327*9a0e4156SSadaf Ebrahimi    X86_INS_VMOVD
1328*9a0e4156SSadaf Ebrahimi    X86_INS_VMOVDQA32
1329*9a0e4156SSadaf Ebrahimi    X86_INS_VMOVDQA64
1330*9a0e4156SSadaf Ebrahimi    X86_INS_VMOVDQA
1331*9a0e4156SSadaf Ebrahimi    X86_INS_VMOVDQU16
1332*9a0e4156SSadaf Ebrahimi    X86_INS_VMOVDQU32
1333*9a0e4156SSadaf Ebrahimi    X86_INS_VMOVDQU64
1334*9a0e4156SSadaf Ebrahimi    X86_INS_VMOVDQU8
1335*9a0e4156SSadaf Ebrahimi    X86_INS_VMOVDQU
1336*9a0e4156SSadaf Ebrahimi    X86_INS_VMOVHLPS
1337*9a0e4156SSadaf Ebrahimi    X86_INS_VMOVHPD
1338*9a0e4156SSadaf Ebrahimi    X86_INS_VMOVHPS
1339*9a0e4156SSadaf Ebrahimi    X86_INS_VMOVLHPS
1340*9a0e4156SSadaf Ebrahimi    X86_INS_VMOVLPD
1341*9a0e4156SSadaf Ebrahimi    X86_INS_VMOVLPS
1342*9a0e4156SSadaf Ebrahimi    X86_INS_VMOVMSKPD
1343*9a0e4156SSadaf Ebrahimi    X86_INS_VMOVMSKPS
1344*9a0e4156SSadaf Ebrahimi    X86_INS_VMOVNTDQA
1345*9a0e4156SSadaf Ebrahimi    X86_INS_VMOVNTDQ
1346*9a0e4156SSadaf Ebrahimi    X86_INS_VMOVNTPD
1347*9a0e4156SSadaf Ebrahimi    X86_INS_VMOVNTPS
1348*9a0e4156SSadaf Ebrahimi    X86_INS_VMOVSD
1349*9a0e4156SSadaf Ebrahimi    X86_INS_VMOVSHDUP
1350*9a0e4156SSadaf Ebrahimi    X86_INS_VMOVSLDUP
1351*9a0e4156SSadaf Ebrahimi    X86_INS_VMOVSS
1352*9a0e4156SSadaf Ebrahimi    X86_INS_VMOVUPD
1353*9a0e4156SSadaf Ebrahimi    X86_INS_VMOVUPS
1354*9a0e4156SSadaf Ebrahimi    X86_INS_VMPSADBW
1355*9a0e4156SSadaf Ebrahimi    X86_INS_VMPTRLD
1356*9a0e4156SSadaf Ebrahimi    X86_INS_VMPTRST
1357*9a0e4156SSadaf Ebrahimi    X86_INS_VMREAD
1358*9a0e4156SSadaf Ebrahimi    X86_INS_VMRESUME
1359*9a0e4156SSadaf Ebrahimi    X86_INS_VMRUN
1360*9a0e4156SSadaf Ebrahimi    X86_INS_VMSAVE
1361*9a0e4156SSadaf Ebrahimi    X86_INS_VMULPD
1362*9a0e4156SSadaf Ebrahimi    X86_INS_VMULPS
1363*9a0e4156SSadaf Ebrahimi    X86_INS_VMULSD
1364*9a0e4156SSadaf Ebrahimi    X86_INS_VMULSS
1365*9a0e4156SSadaf Ebrahimi    X86_INS_VMWRITE
1366*9a0e4156SSadaf Ebrahimi    X86_INS_VMXOFF
1367*9a0e4156SSadaf Ebrahimi    X86_INS_VMXON
1368*9a0e4156SSadaf Ebrahimi    X86_INS_VPABSB
1369*9a0e4156SSadaf Ebrahimi    X86_INS_VPABSD
1370*9a0e4156SSadaf Ebrahimi    X86_INS_VPABSQ
1371*9a0e4156SSadaf Ebrahimi    X86_INS_VPABSW
1372*9a0e4156SSadaf Ebrahimi    X86_INS_VPACKSSDW
1373*9a0e4156SSadaf Ebrahimi    X86_INS_VPACKSSWB
1374*9a0e4156SSadaf Ebrahimi    X86_INS_VPACKUSDW
1375*9a0e4156SSadaf Ebrahimi    X86_INS_VPACKUSWB
1376*9a0e4156SSadaf Ebrahimi    X86_INS_VPADDB
1377*9a0e4156SSadaf Ebrahimi    X86_INS_VPADDD
1378*9a0e4156SSadaf Ebrahimi    X86_INS_VPADDQ
1379*9a0e4156SSadaf Ebrahimi    X86_INS_VPADDSB
1380*9a0e4156SSadaf Ebrahimi    X86_INS_VPADDSW
1381*9a0e4156SSadaf Ebrahimi    X86_INS_VPADDUSB
1382*9a0e4156SSadaf Ebrahimi    X86_INS_VPADDUSW
1383*9a0e4156SSadaf Ebrahimi    X86_INS_VPADDW
1384*9a0e4156SSadaf Ebrahimi    X86_INS_VPALIGNR
1385*9a0e4156SSadaf Ebrahimi    X86_INS_VPANDD
1386*9a0e4156SSadaf Ebrahimi    X86_INS_VPANDND
1387*9a0e4156SSadaf Ebrahimi    X86_INS_VPANDNQ
1388*9a0e4156SSadaf Ebrahimi    X86_INS_VPANDN
1389*9a0e4156SSadaf Ebrahimi    X86_INS_VPANDQ
1390*9a0e4156SSadaf Ebrahimi    X86_INS_VPAND
1391*9a0e4156SSadaf Ebrahimi    X86_INS_VPAVGB
1392*9a0e4156SSadaf Ebrahimi    X86_INS_VPAVGW
1393*9a0e4156SSadaf Ebrahimi    X86_INS_VPBLENDD
1394*9a0e4156SSadaf Ebrahimi    X86_INS_VPBLENDMD
1395*9a0e4156SSadaf Ebrahimi    X86_INS_VPBLENDMQ
1396*9a0e4156SSadaf Ebrahimi    X86_INS_VPBLENDVB
1397*9a0e4156SSadaf Ebrahimi    X86_INS_VPBLENDW
1398*9a0e4156SSadaf Ebrahimi    X86_INS_VPBROADCASTB
1399*9a0e4156SSadaf Ebrahimi    X86_INS_VPBROADCASTD
1400*9a0e4156SSadaf Ebrahimi    X86_INS_VPBROADCASTMB2Q
1401*9a0e4156SSadaf Ebrahimi    X86_INS_VPBROADCASTMW2D
1402*9a0e4156SSadaf Ebrahimi    X86_INS_VPBROADCASTQ
1403*9a0e4156SSadaf Ebrahimi    X86_INS_VPBROADCASTW
1404*9a0e4156SSadaf Ebrahimi    X86_INS_VPCLMULQDQ
1405*9a0e4156SSadaf Ebrahimi    X86_INS_VPCMOV
1406*9a0e4156SSadaf Ebrahimi    X86_INS_VPCMP
1407*9a0e4156SSadaf Ebrahimi    X86_INS_VPCMPD
1408*9a0e4156SSadaf Ebrahimi    X86_INS_VPCMPEQB
1409*9a0e4156SSadaf Ebrahimi    X86_INS_VPCMPEQD
1410*9a0e4156SSadaf Ebrahimi    X86_INS_VPCMPEQQ
1411*9a0e4156SSadaf Ebrahimi    X86_INS_VPCMPEQW
1412*9a0e4156SSadaf Ebrahimi    X86_INS_VPCMPESTRI
1413*9a0e4156SSadaf Ebrahimi    X86_INS_VPCMPESTRM
1414*9a0e4156SSadaf Ebrahimi    X86_INS_VPCMPGTB
1415*9a0e4156SSadaf Ebrahimi    X86_INS_VPCMPGTD
1416*9a0e4156SSadaf Ebrahimi    X86_INS_VPCMPGTQ
1417*9a0e4156SSadaf Ebrahimi    X86_INS_VPCMPGTW
1418*9a0e4156SSadaf Ebrahimi    X86_INS_VPCMPISTRI
1419*9a0e4156SSadaf Ebrahimi    X86_INS_VPCMPISTRM
1420*9a0e4156SSadaf Ebrahimi    X86_INS_VPCMPQ
1421*9a0e4156SSadaf Ebrahimi    X86_INS_VPCMPUD
1422*9a0e4156SSadaf Ebrahimi    X86_INS_VPCMPUQ
1423*9a0e4156SSadaf Ebrahimi    X86_INS_VPCOMB
1424*9a0e4156SSadaf Ebrahimi    X86_INS_VPCOMD
1425*9a0e4156SSadaf Ebrahimi    X86_INS_VPCOMQ
1426*9a0e4156SSadaf Ebrahimi    X86_INS_VPCOMUB
1427*9a0e4156SSadaf Ebrahimi    X86_INS_VPCOMUD
1428*9a0e4156SSadaf Ebrahimi    X86_INS_VPCOMUQ
1429*9a0e4156SSadaf Ebrahimi    X86_INS_VPCOMUW
1430*9a0e4156SSadaf Ebrahimi    X86_INS_VPCOMW
1431*9a0e4156SSadaf Ebrahimi    X86_INS_VPCONFLICTD
1432*9a0e4156SSadaf Ebrahimi    X86_INS_VPCONFLICTQ
1433*9a0e4156SSadaf Ebrahimi    X86_INS_VPERM2F128
1434*9a0e4156SSadaf Ebrahimi    X86_INS_VPERM2I128
1435*9a0e4156SSadaf Ebrahimi    X86_INS_VPERMD
1436*9a0e4156SSadaf Ebrahimi    X86_INS_VPERMI2D
1437*9a0e4156SSadaf Ebrahimi    X86_INS_VPERMI2PD
1438*9a0e4156SSadaf Ebrahimi    X86_INS_VPERMI2PS
1439*9a0e4156SSadaf Ebrahimi    X86_INS_VPERMI2Q
1440*9a0e4156SSadaf Ebrahimi    X86_INS_VPERMIL2PD
1441*9a0e4156SSadaf Ebrahimi    X86_INS_VPERMIL2PS
1442*9a0e4156SSadaf Ebrahimi    X86_INS_VPERMILPD
1443*9a0e4156SSadaf Ebrahimi    X86_INS_VPERMILPS
1444*9a0e4156SSadaf Ebrahimi    X86_INS_VPERMPD
1445*9a0e4156SSadaf Ebrahimi    X86_INS_VPERMPS
1446*9a0e4156SSadaf Ebrahimi    X86_INS_VPERMQ
1447*9a0e4156SSadaf Ebrahimi    X86_INS_VPERMT2D
1448*9a0e4156SSadaf Ebrahimi    X86_INS_VPERMT2PD
1449*9a0e4156SSadaf Ebrahimi    X86_INS_VPERMT2PS
1450*9a0e4156SSadaf Ebrahimi    X86_INS_VPERMT2Q
1451*9a0e4156SSadaf Ebrahimi    X86_INS_VPEXTRB
1452*9a0e4156SSadaf Ebrahimi    X86_INS_VPEXTRD
1453*9a0e4156SSadaf Ebrahimi    X86_INS_VPEXTRQ
1454*9a0e4156SSadaf Ebrahimi    X86_INS_VPEXTRW
1455*9a0e4156SSadaf Ebrahimi    X86_INS_VPGATHERDD
1456*9a0e4156SSadaf Ebrahimi    X86_INS_VPGATHERDQ
1457*9a0e4156SSadaf Ebrahimi    X86_INS_VPGATHERQD
1458*9a0e4156SSadaf Ebrahimi    X86_INS_VPGATHERQQ
1459*9a0e4156SSadaf Ebrahimi    X86_INS_VPHADDBD
1460*9a0e4156SSadaf Ebrahimi    X86_INS_VPHADDBQ
1461*9a0e4156SSadaf Ebrahimi    X86_INS_VPHADDBW
1462*9a0e4156SSadaf Ebrahimi    X86_INS_VPHADDDQ
1463*9a0e4156SSadaf Ebrahimi    X86_INS_VPHADDD
1464*9a0e4156SSadaf Ebrahimi    X86_INS_VPHADDSW
1465*9a0e4156SSadaf Ebrahimi    X86_INS_VPHADDUBD
1466*9a0e4156SSadaf Ebrahimi    X86_INS_VPHADDUBQ
1467*9a0e4156SSadaf Ebrahimi    X86_INS_VPHADDUBW
1468*9a0e4156SSadaf Ebrahimi    X86_INS_VPHADDUDQ
1469*9a0e4156SSadaf Ebrahimi    X86_INS_VPHADDUWD
1470*9a0e4156SSadaf Ebrahimi    X86_INS_VPHADDUWQ
1471*9a0e4156SSadaf Ebrahimi    X86_INS_VPHADDWD
1472*9a0e4156SSadaf Ebrahimi    X86_INS_VPHADDWQ
1473*9a0e4156SSadaf Ebrahimi    X86_INS_VPHADDW
1474*9a0e4156SSadaf Ebrahimi    X86_INS_VPHMINPOSUW
1475*9a0e4156SSadaf Ebrahimi    X86_INS_VPHSUBBW
1476*9a0e4156SSadaf Ebrahimi    X86_INS_VPHSUBDQ
1477*9a0e4156SSadaf Ebrahimi    X86_INS_VPHSUBD
1478*9a0e4156SSadaf Ebrahimi    X86_INS_VPHSUBSW
1479*9a0e4156SSadaf Ebrahimi    X86_INS_VPHSUBWD
1480*9a0e4156SSadaf Ebrahimi    X86_INS_VPHSUBW
1481*9a0e4156SSadaf Ebrahimi    X86_INS_VPINSRB
1482*9a0e4156SSadaf Ebrahimi    X86_INS_VPINSRD
1483*9a0e4156SSadaf Ebrahimi    X86_INS_VPINSRQ
1484*9a0e4156SSadaf Ebrahimi    X86_INS_VPINSRW
1485*9a0e4156SSadaf Ebrahimi    X86_INS_VPLZCNTD
1486*9a0e4156SSadaf Ebrahimi    X86_INS_VPLZCNTQ
1487*9a0e4156SSadaf Ebrahimi    X86_INS_VPMACSDD
1488*9a0e4156SSadaf Ebrahimi    X86_INS_VPMACSDQH
1489*9a0e4156SSadaf Ebrahimi    X86_INS_VPMACSDQL
1490*9a0e4156SSadaf Ebrahimi    X86_INS_VPMACSSDD
1491*9a0e4156SSadaf Ebrahimi    X86_INS_VPMACSSDQH
1492*9a0e4156SSadaf Ebrahimi    X86_INS_VPMACSSDQL
1493*9a0e4156SSadaf Ebrahimi    X86_INS_VPMACSSWD
1494*9a0e4156SSadaf Ebrahimi    X86_INS_VPMACSSWW
1495*9a0e4156SSadaf Ebrahimi    X86_INS_VPMACSWD
1496*9a0e4156SSadaf Ebrahimi    X86_INS_VPMACSWW
1497*9a0e4156SSadaf Ebrahimi    X86_INS_VPMADCSSWD
1498*9a0e4156SSadaf Ebrahimi    X86_INS_VPMADCSWD
1499*9a0e4156SSadaf Ebrahimi    X86_INS_VPMADDUBSW
1500*9a0e4156SSadaf Ebrahimi    X86_INS_VPMADDWD
1501*9a0e4156SSadaf Ebrahimi    X86_INS_VPMASKMOVD
1502*9a0e4156SSadaf Ebrahimi    X86_INS_VPMASKMOVQ
1503*9a0e4156SSadaf Ebrahimi    X86_INS_VPMAXSB
1504*9a0e4156SSadaf Ebrahimi    X86_INS_VPMAXSD
1505*9a0e4156SSadaf Ebrahimi    X86_INS_VPMAXSQ
1506*9a0e4156SSadaf Ebrahimi    X86_INS_VPMAXSW
1507*9a0e4156SSadaf Ebrahimi    X86_INS_VPMAXUB
1508*9a0e4156SSadaf Ebrahimi    X86_INS_VPMAXUD
1509*9a0e4156SSadaf Ebrahimi    X86_INS_VPMAXUQ
1510*9a0e4156SSadaf Ebrahimi    X86_INS_VPMAXUW
1511*9a0e4156SSadaf Ebrahimi    X86_INS_VPMINSB
1512*9a0e4156SSadaf Ebrahimi    X86_INS_VPMINSD
1513*9a0e4156SSadaf Ebrahimi    X86_INS_VPMINSQ
1514*9a0e4156SSadaf Ebrahimi    X86_INS_VPMINSW
1515*9a0e4156SSadaf Ebrahimi    X86_INS_VPMINUB
1516*9a0e4156SSadaf Ebrahimi    X86_INS_VPMINUD
1517*9a0e4156SSadaf Ebrahimi    X86_INS_VPMINUQ
1518*9a0e4156SSadaf Ebrahimi    X86_INS_VPMINUW
1519*9a0e4156SSadaf Ebrahimi    X86_INS_VPMOVDB
1520*9a0e4156SSadaf Ebrahimi    X86_INS_VPMOVDW
1521*9a0e4156SSadaf Ebrahimi    X86_INS_VPMOVMSKB
1522*9a0e4156SSadaf Ebrahimi    X86_INS_VPMOVQB
1523*9a0e4156SSadaf Ebrahimi    X86_INS_VPMOVQD
1524*9a0e4156SSadaf Ebrahimi    X86_INS_VPMOVQW
1525*9a0e4156SSadaf Ebrahimi    X86_INS_VPMOVSDB
1526*9a0e4156SSadaf Ebrahimi    X86_INS_VPMOVSDW
1527*9a0e4156SSadaf Ebrahimi    X86_INS_VPMOVSQB
1528*9a0e4156SSadaf Ebrahimi    X86_INS_VPMOVSQD
1529*9a0e4156SSadaf Ebrahimi    X86_INS_VPMOVSQW
1530*9a0e4156SSadaf Ebrahimi    X86_INS_VPMOVSXBD
1531*9a0e4156SSadaf Ebrahimi    X86_INS_VPMOVSXBQ
1532*9a0e4156SSadaf Ebrahimi    X86_INS_VPMOVSXBW
1533*9a0e4156SSadaf Ebrahimi    X86_INS_VPMOVSXDQ
1534*9a0e4156SSadaf Ebrahimi    X86_INS_VPMOVSXWD
1535*9a0e4156SSadaf Ebrahimi    X86_INS_VPMOVSXWQ
1536*9a0e4156SSadaf Ebrahimi    X86_INS_VPMOVUSDB
1537*9a0e4156SSadaf Ebrahimi    X86_INS_VPMOVUSDW
1538*9a0e4156SSadaf Ebrahimi    X86_INS_VPMOVUSQB
1539*9a0e4156SSadaf Ebrahimi    X86_INS_VPMOVUSQD
1540*9a0e4156SSadaf Ebrahimi    X86_INS_VPMOVUSQW
1541*9a0e4156SSadaf Ebrahimi    X86_INS_VPMOVZXBD
1542*9a0e4156SSadaf Ebrahimi    X86_INS_VPMOVZXBQ
1543*9a0e4156SSadaf Ebrahimi    X86_INS_VPMOVZXBW
1544*9a0e4156SSadaf Ebrahimi    X86_INS_VPMOVZXDQ
1545*9a0e4156SSadaf Ebrahimi    X86_INS_VPMOVZXWD
1546*9a0e4156SSadaf Ebrahimi    X86_INS_VPMOVZXWQ
1547*9a0e4156SSadaf Ebrahimi    X86_INS_VPMULDQ
1548*9a0e4156SSadaf Ebrahimi    X86_INS_VPMULHRSW
1549*9a0e4156SSadaf Ebrahimi    X86_INS_VPMULHUW
1550*9a0e4156SSadaf Ebrahimi    X86_INS_VPMULHW
1551*9a0e4156SSadaf Ebrahimi    X86_INS_VPMULLD
1552*9a0e4156SSadaf Ebrahimi    X86_INS_VPMULLW
1553*9a0e4156SSadaf Ebrahimi    X86_INS_VPMULUDQ
1554*9a0e4156SSadaf Ebrahimi    X86_INS_VPORD
1555*9a0e4156SSadaf Ebrahimi    X86_INS_VPORQ
1556*9a0e4156SSadaf Ebrahimi    X86_INS_VPOR
1557*9a0e4156SSadaf Ebrahimi    X86_INS_VPPERM
1558*9a0e4156SSadaf Ebrahimi    X86_INS_VPROTB
1559*9a0e4156SSadaf Ebrahimi    X86_INS_VPROTD
1560*9a0e4156SSadaf Ebrahimi    X86_INS_VPROTQ
1561*9a0e4156SSadaf Ebrahimi    X86_INS_VPROTW
1562*9a0e4156SSadaf Ebrahimi    X86_INS_VPSADBW
1563*9a0e4156SSadaf Ebrahimi    X86_INS_VPSCATTERDD
1564*9a0e4156SSadaf Ebrahimi    X86_INS_VPSCATTERDQ
1565*9a0e4156SSadaf Ebrahimi    X86_INS_VPSCATTERQD
1566*9a0e4156SSadaf Ebrahimi    X86_INS_VPSCATTERQQ
1567*9a0e4156SSadaf Ebrahimi    X86_INS_VPSHAB
1568*9a0e4156SSadaf Ebrahimi    X86_INS_VPSHAD
1569*9a0e4156SSadaf Ebrahimi    X86_INS_VPSHAQ
1570*9a0e4156SSadaf Ebrahimi    X86_INS_VPSHAW
1571*9a0e4156SSadaf Ebrahimi    X86_INS_VPSHLB
1572*9a0e4156SSadaf Ebrahimi    X86_INS_VPSHLD
1573*9a0e4156SSadaf Ebrahimi    X86_INS_VPSHLQ
1574*9a0e4156SSadaf Ebrahimi    X86_INS_VPSHLW
1575*9a0e4156SSadaf Ebrahimi    X86_INS_VPSHUFB
1576*9a0e4156SSadaf Ebrahimi    X86_INS_VPSHUFD
1577*9a0e4156SSadaf Ebrahimi    X86_INS_VPSHUFHW
1578*9a0e4156SSadaf Ebrahimi    X86_INS_VPSHUFLW
1579*9a0e4156SSadaf Ebrahimi    X86_INS_VPSIGNB
1580*9a0e4156SSadaf Ebrahimi    X86_INS_VPSIGND
1581*9a0e4156SSadaf Ebrahimi    X86_INS_VPSIGNW
1582*9a0e4156SSadaf Ebrahimi    X86_INS_VPSLLDQ
1583*9a0e4156SSadaf Ebrahimi    X86_INS_VPSLLD
1584*9a0e4156SSadaf Ebrahimi    X86_INS_VPSLLQ
1585*9a0e4156SSadaf Ebrahimi    X86_INS_VPSLLVD
1586*9a0e4156SSadaf Ebrahimi    X86_INS_VPSLLVQ
1587*9a0e4156SSadaf Ebrahimi    X86_INS_VPSLLW
1588*9a0e4156SSadaf Ebrahimi    X86_INS_VPSRAD
1589*9a0e4156SSadaf Ebrahimi    X86_INS_VPSRAQ
1590*9a0e4156SSadaf Ebrahimi    X86_INS_VPSRAVD
1591*9a0e4156SSadaf Ebrahimi    X86_INS_VPSRAVQ
1592*9a0e4156SSadaf Ebrahimi    X86_INS_VPSRAW
1593*9a0e4156SSadaf Ebrahimi    X86_INS_VPSRLDQ
1594*9a0e4156SSadaf Ebrahimi    X86_INS_VPSRLD
1595*9a0e4156SSadaf Ebrahimi    X86_INS_VPSRLQ
1596*9a0e4156SSadaf Ebrahimi    X86_INS_VPSRLVD
1597*9a0e4156SSadaf Ebrahimi    X86_INS_VPSRLVQ
1598*9a0e4156SSadaf Ebrahimi    X86_INS_VPSRLW
1599*9a0e4156SSadaf Ebrahimi    X86_INS_VPSUBB
1600*9a0e4156SSadaf Ebrahimi    X86_INS_VPSUBD
1601*9a0e4156SSadaf Ebrahimi    X86_INS_VPSUBQ
1602*9a0e4156SSadaf Ebrahimi    X86_INS_VPSUBSB
1603*9a0e4156SSadaf Ebrahimi    X86_INS_VPSUBSW
1604*9a0e4156SSadaf Ebrahimi    X86_INS_VPSUBUSB
1605*9a0e4156SSadaf Ebrahimi    X86_INS_VPSUBUSW
1606*9a0e4156SSadaf Ebrahimi    X86_INS_VPSUBW
1607*9a0e4156SSadaf Ebrahimi    X86_INS_VPTESTMD
1608*9a0e4156SSadaf Ebrahimi    X86_INS_VPTESTMQ
1609*9a0e4156SSadaf Ebrahimi    X86_INS_VPTESTNMD
1610*9a0e4156SSadaf Ebrahimi    X86_INS_VPTESTNMQ
1611*9a0e4156SSadaf Ebrahimi    X86_INS_VPTEST
1612*9a0e4156SSadaf Ebrahimi    X86_INS_VPUNPCKHBW
1613*9a0e4156SSadaf Ebrahimi    X86_INS_VPUNPCKHDQ
1614*9a0e4156SSadaf Ebrahimi    X86_INS_VPUNPCKHQDQ
1615*9a0e4156SSadaf Ebrahimi    X86_INS_VPUNPCKHWD
1616*9a0e4156SSadaf Ebrahimi    X86_INS_VPUNPCKLBW
1617*9a0e4156SSadaf Ebrahimi    X86_INS_VPUNPCKLDQ
1618*9a0e4156SSadaf Ebrahimi    X86_INS_VPUNPCKLQDQ
1619*9a0e4156SSadaf Ebrahimi    X86_INS_VPUNPCKLWD
1620*9a0e4156SSadaf Ebrahimi    X86_INS_VPXORD
1621*9a0e4156SSadaf Ebrahimi    X86_INS_VPXORQ
1622*9a0e4156SSadaf Ebrahimi    X86_INS_VPXOR
1623*9a0e4156SSadaf Ebrahimi    X86_INS_VRCP14PD
1624*9a0e4156SSadaf Ebrahimi    X86_INS_VRCP14PS
1625*9a0e4156SSadaf Ebrahimi    X86_INS_VRCP14SD
1626*9a0e4156SSadaf Ebrahimi    X86_INS_VRCP14SS
1627*9a0e4156SSadaf Ebrahimi    X86_INS_VRCP28PD
1628*9a0e4156SSadaf Ebrahimi    X86_INS_VRCP28PS
1629*9a0e4156SSadaf Ebrahimi    X86_INS_VRCP28SD
1630*9a0e4156SSadaf Ebrahimi    X86_INS_VRCP28SS
1631*9a0e4156SSadaf Ebrahimi    X86_INS_VRCPPS
1632*9a0e4156SSadaf Ebrahimi    X86_INS_VRCPSS
1633*9a0e4156SSadaf Ebrahimi    X86_INS_VRNDSCALEPD
1634*9a0e4156SSadaf Ebrahimi    X86_INS_VRNDSCALEPS
1635*9a0e4156SSadaf Ebrahimi    X86_INS_VRNDSCALESD
1636*9a0e4156SSadaf Ebrahimi    X86_INS_VRNDSCALESS
1637*9a0e4156SSadaf Ebrahimi    X86_INS_VROUNDPD
1638*9a0e4156SSadaf Ebrahimi    X86_INS_VROUNDPS
1639*9a0e4156SSadaf Ebrahimi    X86_INS_VROUNDSD
1640*9a0e4156SSadaf Ebrahimi    X86_INS_VROUNDSS
1641*9a0e4156SSadaf Ebrahimi    X86_INS_VRSQRT14PD
1642*9a0e4156SSadaf Ebrahimi    X86_INS_VRSQRT14PS
1643*9a0e4156SSadaf Ebrahimi    X86_INS_VRSQRT14SD
1644*9a0e4156SSadaf Ebrahimi    X86_INS_VRSQRT14SS
1645*9a0e4156SSadaf Ebrahimi    X86_INS_VRSQRT28PD
1646*9a0e4156SSadaf Ebrahimi    X86_INS_VRSQRT28PS
1647*9a0e4156SSadaf Ebrahimi    X86_INS_VRSQRT28SD
1648*9a0e4156SSadaf Ebrahimi    X86_INS_VRSQRT28SS
1649*9a0e4156SSadaf Ebrahimi    X86_INS_VRSQRTPS
1650*9a0e4156SSadaf Ebrahimi    X86_INS_VRSQRTSS
1651*9a0e4156SSadaf Ebrahimi    X86_INS_VSCATTERDPD
1652*9a0e4156SSadaf Ebrahimi    X86_INS_VSCATTERDPS
1653*9a0e4156SSadaf Ebrahimi    X86_INS_VSCATTERPF0DPD
1654*9a0e4156SSadaf Ebrahimi    X86_INS_VSCATTERPF0DPS
1655*9a0e4156SSadaf Ebrahimi    X86_INS_VSCATTERPF0QPD
1656*9a0e4156SSadaf Ebrahimi    X86_INS_VSCATTERPF0QPS
1657*9a0e4156SSadaf Ebrahimi    X86_INS_VSCATTERPF1DPD
1658*9a0e4156SSadaf Ebrahimi    X86_INS_VSCATTERPF1DPS
1659*9a0e4156SSadaf Ebrahimi    X86_INS_VSCATTERPF1QPD
1660*9a0e4156SSadaf Ebrahimi    X86_INS_VSCATTERPF1QPS
1661*9a0e4156SSadaf Ebrahimi    X86_INS_VSCATTERQPD
1662*9a0e4156SSadaf Ebrahimi    X86_INS_VSCATTERQPS
1663*9a0e4156SSadaf Ebrahimi    X86_INS_VSHUFPD
1664*9a0e4156SSadaf Ebrahimi    X86_INS_VSHUFPS
1665*9a0e4156SSadaf Ebrahimi    X86_INS_VSQRTPD
1666*9a0e4156SSadaf Ebrahimi    X86_INS_VSQRTPS
1667*9a0e4156SSadaf Ebrahimi    X86_INS_VSQRTSD
1668*9a0e4156SSadaf Ebrahimi    X86_INS_VSQRTSS
1669*9a0e4156SSadaf Ebrahimi    X86_INS_VSTMXCSR
1670*9a0e4156SSadaf Ebrahimi    X86_INS_VSUBPD
1671*9a0e4156SSadaf Ebrahimi    X86_INS_VSUBPS
1672*9a0e4156SSadaf Ebrahimi    X86_INS_VSUBSD
1673*9a0e4156SSadaf Ebrahimi    X86_INS_VSUBSS
1674*9a0e4156SSadaf Ebrahimi    X86_INS_VTESTPD
1675*9a0e4156SSadaf Ebrahimi    X86_INS_VTESTPS
1676*9a0e4156SSadaf Ebrahimi    X86_INS_VUNPCKHPD
1677*9a0e4156SSadaf Ebrahimi    X86_INS_VUNPCKHPS
1678*9a0e4156SSadaf Ebrahimi    X86_INS_VUNPCKLPD
1679*9a0e4156SSadaf Ebrahimi    X86_INS_VUNPCKLPS
1680*9a0e4156SSadaf Ebrahimi    X86_INS_VZEROALL
1681*9a0e4156SSadaf Ebrahimi    X86_INS_VZEROUPPER
1682*9a0e4156SSadaf Ebrahimi    X86_INS_WAIT
1683*9a0e4156SSadaf Ebrahimi    X86_INS_WBINVD
1684*9a0e4156SSadaf Ebrahimi    X86_INS_WRFSBASE
1685*9a0e4156SSadaf Ebrahimi    X86_INS_WRGSBASE
1686*9a0e4156SSadaf Ebrahimi    X86_INS_WRMSR
1687*9a0e4156SSadaf Ebrahimi    X86_INS_XABORT
1688*9a0e4156SSadaf Ebrahimi    X86_INS_XACQUIRE
1689*9a0e4156SSadaf Ebrahimi    X86_INS_XBEGIN
1690*9a0e4156SSadaf Ebrahimi    X86_INS_XCHG
1691*9a0e4156SSadaf Ebrahimi    X86_INS_FXCH
1692*9a0e4156SSadaf Ebrahimi    X86_INS_XCRYPTCBC
1693*9a0e4156SSadaf Ebrahimi    X86_INS_XCRYPTCFB
1694*9a0e4156SSadaf Ebrahimi    X86_INS_XCRYPTCTR
1695*9a0e4156SSadaf Ebrahimi    X86_INS_XCRYPTECB
1696*9a0e4156SSadaf Ebrahimi    X86_INS_XCRYPTOFB
1697*9a0e4156SSadaf Ebrahimi    X86_INS_XEND
1698*9a0e4156SSadaf Ebrahimi    X86_INS_XGETBV
1699*9a0e4156SSadaf Ebrahimi    X86_INS_XLATB
1700*9a0e4156SSadaf Ebrahimi    X86_INS_XRELEASE
1701*9a0e4156SSadaf Ebrahimi    X86_INS_XRSTOR
1702*9a0e4156SSadaf Ebrahimi    X86_INS_XRSTOR64
1703*9a0e4156SSadaf Ebrahimi    X86_INS_XSAVE
1704*9a0e4156SSadaf Ebrahimi    X86_INS_XSAVE64
1705*9a0e4156SSadaf Ebrahimi    X86_INS_XSAVEOPT
1706*9a0e4156SSadaf Ebrahimi    X86_INS_XSAVEOPT64
1707*9a0e4156SSadaf Ebrahimi    X86_INS_XSETBV
1708*9a0e4156SSadaf Ebrahimi    X86_INS_XSHA1
1709*9a0e4156SSadaf Ebrahimi    X86_INS_XSHA256
1710*9a0e4156SSadaf Ebrahimi    X86_INS_XSTORE
1711*9a0e4156SSadaf Ebrahimi    X86_INS_XTEST
1712*9a0e4156SSadaf Ebrahimi    X86_INS_ENDING ' mark the end of the list of insn
1713*9a0e4156SSadaf EbrahimiEnd Enum
1714*9a0e4156SSadaf Ebrahimi
1715*9a0e4156SSadaf Ebrahimi'Group of X86 instructions
1716*9a0e4156SSadaf EbrahimiPublic Enum x86_insn_group
1717*9a0e4156SSadaf Ebrahimi    X86_GRP_INVALID = 0 ' = CS_GRP_INVALID
1718*9a0e4156SSadaf Ebrahimi
1719*9a0e4156SSadaf Ebrahimi    ' > Generic groups                      '
1720*9a0e4156SSadaf Ebrahimi    X86_GRP_JUMP      'all jump instructions (conditional+direct+indirect jumps) = CS_GRP_JUMP
1721*9a0e4156SSadaf Ebrahimi    X86_GRP_CALL      'all call instructions = CS_GRP_CALL
1722*9a0e4156SSadaf Ebrahimi    X86_GRP_RET       ' all return instructions = CS_GRP_RET
1723*9a0e4156SSadaf Ebrahimi    X86_GRP_INT       'all interrupt instructions (int+syscall) = CS_GRP_INT
1724*9a0e4156SSadaf Ebrahimi    X86_GRP_IRET      'all interrupt return instructions = CS_GRP_IRET
1725*9a0e4156SSadaf Ebrahimi
1726*9a0e4156SSadaf Ebrahimi    ' > Architecture-specific groups
1727*9a0e4156SSadaf Ebrahimi    X86_GRP_VM = 128  ' all virtualization instructions (VT-x + AMD-V)
1728*9a0e4156SSadaf Ebrahimi    X86_GRP_3DNOW
1729*9a0e4156SSadaf Ebrahimi    X86_GRP_AES
1730*9a0e4156SSadaf Ebrahimi    X86_GRP_ADX
1731*9a0e4156SSadaf Ebrahimi    X86_GRP_AVX
1732*9a0e4156SSadaf Ebrahimi    X86_GRP_AVX2
1733*9a0e4156SSadaf Ebrahimi    X86_GRP_AVX512
1734*9a0e4156SSadaf Ebrahimi    X86_GRP_BMI
1735*9a0e4156SSadaf Ebrahimi    X86_GRP_BMI2
1736*9a0e4156SSadaf Ebrahimi    X86_GRP_CMOV
1737*9a0e4156SSadaf Ebrahimi    X86_GRP_F16C
1738*9a0e4156SSadaf Ebrahimi    X86_GRP_FMA
1739*9a0e4156SSadaf Ebrahimi    X86_GRP_FMA4
1740*9a0e4156SSadaf Ebrahimi    X86_GRP_FSGSBASE
1741*9a0e4156SSadaf Ebrahimi    X86_GRP_HLE
1742*9a0e4156SSadaf Ebrahimi    X86_GRP_MMX
1743*9a0e4156SSadaf Ebrahimi    X86_GRP_MODE32
1744*9a0e4156SSadaf Ebrahimi    X86_GRP_MODE64
1745*9a0e4156SSadaf Ebrahimi    X86_GRP_RTM
1746*9a0e4156SSadaf Ebrahimi    X86_GRP_SHA
1747*9a0e4156SSadaf Ebrahimi    X86_GRP_SSE1
1748*9a0e4156SSadaf Ebrahimi    X86_GRP_SSE2
1749*9a0e4156SSadaf Ebrahimi    X86_GRP_SSE3
1750*9a0e4156SSadaf Ebrahimi    X86_GRP_SSE41
1751*9a0e4156SSadaf Ebrahimi    X86_GRP_SSE42
1752*9a0e4156SSadaf Ebrahimi    X86_GRP_SSE4A
1753*9a0e4156SSadaf Ebrahimi    X86_GRP_SSSE3
1754*9a0e4156SSadaf Ebrahimi    X86_GRP_PCLMUL
1755*9a0e4156SSadaf Ebrahimi    X86_GRP_XOP
1756*9a0e4156SSadaf Ebrahimi    X86_GRP_CDI
1757*9a0e4156SSadaf Ebrahimi    X86_GRP_ERI
1758*9a0e4156SSadaf Ebrahimi    X86_GRP_TBM
1759*9a0e4156SSadaf Ebrahimi    X86_GRP_16BITMODE
1760*9a0e4156SSadaf Ebrahimi    X86_GRP_NOT64BITMODE
1761*9a0e4156SSadaf Ebrahimi    X86_GRP_SGX
1762*9a0e4156SSadaf Ebrahimi    X86_GRP_DQI
1763*9a0e4156SSadaf Ebrahimi    X86_GRP_BWI
1764*9a0e4156SSadaf Ebrahimi    X86_GRP_PFI
1765*9a0e4156SSadaf Ebrahimi    X86_GRP_VLX
1766*9a0e4156SSadaf Ebrahimi    X86_GRP_SMAP
1767*9a0e4156SSadaf Ebrahimi    X86_GRP_NOVLX
1768*9a0e4156SSadaf Ebrahimi    X86_GRP_ENDING
1769*9a0e4156SSadaf EbrahimiEnd Enum
1770*9a0e4156SSadaf Ebrahimi
1771*9a0e4156SSadaf Ebrahimi
1772*9a0e4156SSadaf Ebrahimi
1773*9a0e4156SSadaf EbrahimiFunction x86_sse_cc2str(v As x86_sse_cc) As String
1774*9a0e4156SSadaf Ebrahimi     Dim r As String
1775*9a0e4156SSadaf Ebrahimi    If v = X86_SSE_CC_INVALID Then r = "X86_SSE_CC_INVALID"
1776*9a0e4156SSadaf Ebrahimi    If v = X86_SSE_CC_EQ Then r = "X86_SSE_CC_EQ"
1777*9a0e4156SSadaf Ebrahimi    If v = X86_SSE_CC_LT Then r = "X86_SSE_CC_LT"
1778*9a0e4156SSadaf Ebrahimi    If v = X86_SSE_CC_LE Then r = "X86_SSE_CC_LE"
1779*9a0e4156SSadaf Ebrahimi    If v = X86_SSE_CC_UNORD Then r = "X86_SSE_CC_UNORD"
1780*9a0e4156SSadaf Ebrahimi    If v = X86_SSE_CC_NEQ Then r = "X86_SSE_CC_NEQ"
1781*9a0e4156SSadaf Ebrahimi    If v = X86_SSE_CC_NLT Then r = "X86_SSE_CC_NLT"
1782*9a0e4156SSadaf Ebrahimi    If v = X86_SSE_CC_NLE Then r = "X86_SSE_CC_NLE"
1783*9a0e4156SSadaf Ebrahimi    If v = X86_SSE_CC_ORD Then r = "X86_SSE_CC_ORD"
1784*9a0e4156SSadaf Ebrahimi    If v = X86_SSE_CC_EQ_UQ Then r = "X86_SSE_CC_EQ_UQ"
1785*9a0e4156SSadaf Ebrahimi    If v = X86_SSE_CC_NGE Then r = "X86_SSE_CC_NGE"
1786*9a0e4156SSadaf Ebrahimi    If v = X86_SSE_CC_NGT Then r = "X86_SSE_CC_NGT"
1787*9a0e4156SSadaf Ebrahimi    If v = X86_SSE_CC_FALSE Then r = "X86_SSE_CC_FALSE"
1788*9a0e4156SSadaf Ebrahimi    If v = X86_SSE_CC_NEQ_OQ Then r = "X86_SSE_CC_NEQ_OQ"
1789*9a0e4156SSadaf Ebrahimi    If v = X86_SSE_CC_GE Then r = "X86_SSE_CC_GE"
1790*9a0e4156SSadaf Ebrahimi    If v = X86_SSE_CC_GT Then r = "X86_SSE_CC_GT"
1791*9a0e4156SSadaf Ebrahimi    If v = X86_SSE_CC_TRUE Then r = "X86_SSE_CC_TRUE"
1792*9a0e4156SSadaf Ebrahimi
1793*9a0e4156SSadaf Ebrahimi    If Len(r) = 0 Then
1794*9a0e4156SSadaf Ebrahimi        r = "Unknown: " & Hex(v)
1795*9a0e4156SSadaf Ebrahimi    ElseIf DEBUG_DUMP Then
1796*9a0e4156SSadaf Ebrahimi        r = r & " (" & Hex(v) & ")"
1797*9a0e4156SSadaf Ebrahimi    End If
1798*9a0e4156SSadaf Ebrahimi
1799*9a0e4156SSadaf Ebrahimi    x86_sse_cc2str = r
1800*9a0e4156SSadaf Ebrahimi
1801*9a0e4156SSadaf EbrahimiEnd Function
1802*9a0e4156SSadaf Ebrahimi
1803*9a0e4156SSadaf EbrahimiFunction x86_avx_cc2str(v As x86_avx_cc) As String
1804*9a0e4156SSadaf Ebrahimi     Dim r As String
1805*9a0e4156SSadaf Ebrahimi    If v = X86_AVX_CC_INVALID Then r = "X86_AVX_CC_INVALID"
1806*9a0e4156SSadaf Ebrahimi    If v = X86_AVX_CC_EQ Then r = "X86_AVX_CC_EQ"
1807*9a0e4156SSadaf Ebrahimi    If v = X86_AVX_CC_LT Then r = "X86_AVX_CC_LT"
1808*9a0e4156SSadaf Ebrahimi    If v = X86_AVX_CC_LE Then r = "X86_AVX_CC_LE"
1809*9a0e4156SSadaf Ebrahimi    If v = X86_AVX_CC_UNORD Then r = "X86_AVX_CC_UNORD"
1810*9a0e4156SSadaf Ebrahimi    If v = X86_AVX_CC_NEQ Then r = "X86_AVX_CC_NEQ"
1811*9a0e4156SSadaf Ebrahimi    If v = X86_AVX_CC_NLT Then r = "X86_AVX_CC_NLT"
1812*9a0e4156SSadaf Ebrahimi    If v = X86_AVX_CC_NLE Then r = "X86_AVX_CC_NLE"
1813*9a0e4156SSadaf Ebrahimi    If v = X86_AVX_CC_ORD Then r = "X86_AVX_CC_ORD"
1814*9a0e4156SSadaf Ebrahimi    If v = X86_AVX_CC_EQ_UQ Then r = "X86_AVX_CC_EQ_UQ"
1815*9a0e4156SSadaf Ebrahimi    If v = X86_AVX_CC_NGE Then r = "X86_AVX_CC_NGE"
1816*9a0e4156SSadaf Ebrahimi    If v = X86_AVX_CC_NGT Then r = "X86_AVX_CC_NGT"
1817*9a0e4156SSadaf Ebrahimi    If v = X86_AVX_CC_FALSE Then r = "X86_AVX_CC_FALSE"
1818*9a0e4156SSadaf Ebrahimi    If v = X86_AVX_CC_NEQ_OQ Then r = "X86_AVX_CC_NEQ_OQ"
1819*9a0e4156SSadaf Ebrahimi    If v = X86_AVX_CC_GE Then r = "X86_AVX_CC_GE"
1820*9a0e4156SSadaf Ebrahimi    If v = X86_AVX_CC_GT Then r = "X86_AVX_CC_GT"
1821*9a0e4156SSadaf Ebrahimi    If v = X86_AVX_CC_TRUE Then r = "X86_AVX_CC_TRUE"
1822*9a0e4156SSadaf Ebrahimi    If v = X86_AVX_CC_EQ_OS Then r = "X86_AVX_CC_EQ_OS"
1823*9a0e4156SSadaf Ebrahimi    If v = X86_AVX_CC_LT_OQ Then r = "X86_AVX_CC_LT_OQ"
1824*9a0e4156SSadaf Ebrahimi    If v = X86_AVX_CC_LE_OQ Then r = "X86_AVX_CC_LE_OQ"
1825*9a0e4156SSadaf Ebrahimi    If v = X86_AVX_CC_UNORD_S Then r = "X86_AVX_CC_UNORD_S"
1826*9a0e4156SSadaf Ebrahimi    If v = X86_AVX_CC_NEQ_US Then r = "X86_AVX_CC_NEQ_US"
1827*9a0e4156SSadaf Ebrahimi    If v = X86_AVX_CC_NLT_UQ Then r = "X86_AVX_CC_NLT_UQ"
1828*9a0e4156SSadaf Ebrahimi    If v = X86_AVX_CC_NLE_UQ Then r = "X86_AVX_CC_NLE_UQ"
1829*9a0e4156SSadaf Ebrahimi    If v = X86_AVX_CC_ORD_S Then r = "X86_AVX_CC_ORD_S"
1830*9a0e4156SSadaf Ebrahimi    If v = X86_AVX_CC_EQ_US Then r = "X86_AVX_CC_EQ_US"
1831*9a0e4156SSadaf Ebrahimi    If v = X86_AVX_CC_NGE_UQ Then r = "X86_AVX_CC_NGE_UQ"
1832*9a0e4156SSadaf Ebrahimi    If v = X86_AVX_CC_NGT_UQ Then r = "X86_AVX_CC_NGT_UQ"
1833*9a0e4156SSadaf Ebrahimi    If v = X86_AVX_CC_FALSE_OS Then r = "X86_AVX_CC_FALSE_OS"
1834*9a0e4156SSadaf Ebrahimi    If v = X86_AVX_CC_NEQ_OS Then r = "X86_AVX_CC_NEQ_OS"
1835*9a0e4156SSadaf Ebrahimi    If v = X86_AVX_CC_GE_OQ Then r = "X86_AVX_CC_GE_OQ"
1836*9a0e4156SSadaf Ebrahimi    If v = X86_AVX_CC_GT_OQ Then r = "X86_AVX_CC_GT_OQ"
1837*9a0e4156SSadaf Ebrahimi    If v = X86_AVX_CC_TRUE_US Then r = "X86_AVX_CC_TRUE_US"
1838*9a0e4156SSadaf Ebrahimi
1839*9a0e4156SSadaf Ebrahimi    If Len(r) = 0 Then
1840*9a0e4156SSadaf Ebrahimi        r = "Unknown: " & Hex(v)
1841*9a0e4156SSadaf Ebrahimi    ElseIf DEBUG_DUMP Then
1842*9a0e4156SSadaf Ebrahimi        r = r & " (" & Hex(v) & ")"
1843*9a0e4156SSadaf Ebrahimi    End If
1844*9a0e4156SSadaf Ebrahimi
1845*9a0e4156SSadaf Ebrahimi    x86_avx_cc2str = r
1846*9a0e4156SSadaf Ebrahimi
1847*9a0e4156SSadaf EbrahimiEnd Function
1848*9a0e4156SSadaf Ebrahimi
1849*9a0e4156SSadaf Ebrahimi
1850*9a0e4156SSadaf EbrahimiFunction x86_avx_rm2str(v As x86_avx_rm) As String
1851*9a0e4156SSadaf Ebrahimi    Dim r As String
1852*9a0e4156SSadaf Ebrahimi
1853*9a0e4156SSadaf Ebrahimi    If v = X86_AVX_RM_INVALID Then r = "X86_AVX_RM_INVALID"
1854*9a0e4156SSadaf Ebrahimi    If v = X86_AVX_RM_RN Then r = "X86_AVX_RM_RN"
1855*9a0e4156SSadaf Ebrahimi    If v = X86_AVX_RM_RD Then r = "X86_AVX_RM_RD"
1856*9a0e4156SSadaf Ebrahimi    If v = X86_AVX_RM_RU Then r = "X86_AVX_RM_RU"
1857*9a0e4156SSadaf Ebrahimi    If v = X86_AVX_RM_RZ Then r = "X86_AVX_RM_RZ"
1858*9a0e4156SSadaf Ebrahimi
1859*9a0e4156SSadaf Ebrahimi    If Len(r) = 0 Then
1860*9a0e4156SSadaf Ebrahimi        r = "Unknown: " & Hex(v)
1861*9a0e4156SSadaf Ebrahimi    ElseIf DEBUG_DUMP Then
1862*9a0e4156SSadaf Ebrahimi        r = r & " (" & Hex(v) & ")"
1863*9a0e4156SSadaf Ebrahimi    End If
1864*9a0e4156SSadaf Ebrahimi
1865*9a0e4156SSadaf Ebrahimi    x86_avx_rm2str = r
1866*9a0e4156SSadaf EbrahimiEnd Function
1867*9a0e4156SSadaf Ebrahimi
1868*9a0e4156SSadaf Ebrahimi
1869