1 /// @file include-private/xed3-nt-capture.h
2
3 // This file was automatically generated.
4 // Do not edit this file.
5
6 #if !defined(INCLUDE_PRIVATE_XED3_NT_CAPTURE_H)
7 # define INCLUDE_PRIVATE_XED3_NT_CAPTURE_H
8 /*BEGIN_LEGAL
9
10 Copyright (c) 2018 Intel Corporation
11
12 Licensed under the Apache License, Version 2.0 (the "License");
13 you may not use this file except in compliance with the License.
14 You may obtain a copy of the License at
15
16 http://www.apache.org/licenses/LICENSE-2.0
17
18 Unless required by applicable law or agreed to in writing, software
19 distributed under the License is distributed on an "AS IS" BASIS,
20 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
21 See the License for the specific language governing permissions and
22 limitations under the License.
23
24 END_LEGAL */
25 #include "xed-internal-header.h"
26 #include "xed-operand-accessors.h"
27 #include "xed-ild.h"
28 static XED_INLINE void xed3_capture_nt_MASKNOT0(xed_decoded_inst_t* d);
29
30 static XED_INLINE void xed3_capture_nt_NELEM_TUPLE1_SUBDWORD(xed_decoded_inst_t* d);
31
32 static XED_INLINE void xed3_capture_nt_XMM_R3_64(xed_decoded_inst_t* d);
33
34 static XED_INLINE void xed3_capture_nt_SIB_BASE0(xed_decoded_inst_t* d);
35
36 static XED_INLINE void xed3_capture_nt_XMM_B_32(xed_decoded_inst_t* d);
37
38 static XED_INLINE void xed3_capture_nt_FINAL_DSEG_MODE64(xed_decoded_inst_t* d);
39
40 static XED_INLINE void xed3_capture_nt_OrDX(xed_decoded_inst_t* d);
41
42 static XED_INLINE void xed3_capture_nt_YMM_B3_64(xed_decoded_inst_t* d);
43
44 static XED_INLINE void xed3_capture_nt_SIB(xed_decoded_inst_t* d);
45
46 static XED_INLINE void xed3_capture_nt_OVERRIDE_SEG1(xed_decoded_inst_t* d);
47
48 static XED_INLINE void xed3_capture_nt_OVERRIDE_SEG0(xed_decoded_inst_t* d);
49
50 static XED_INLINE void xed3_capture_nt_FINAL_SSEG0(xed_decoded_inst_t* d);
51
52 static XED_INLINE void xed3_capture_nt_FINAL_SSEG1(xed_decoded_inst_t* d);
53
54 static XED_INLINE void xed3_capture_nt_NELEM_TUPLE1_4X(xed_decoded_inst_t* d);
55
56 static XED_INLINE void xed3_capture_nt_ONE(xed_decoded_inst_t* d);
57
58 static XED_INLINE void xed3_capture_nt_NELEM_FULL(xed_decoded_inst_t* d);
59
60 static XED_INLINE void xed3_capture_nt_VGPRy_N(xed_decoded_inst_t* d);
61
62 static XED_INLINE void xed3_capture_nt_GPR8_R(xed_decoded_inst_t* d);
63
64 static XED_INLINE void xed3_capture_nt_VGPR32_R(xed_decoded_inst_t* d);
65
66 static XED_INLINE void xed3_capture_nt_XMM_N3_32(xed_decoded_inst_t* d);
67
68 static XED_INLINE void xed3_capture_nt_Ar8(xed_decoded_inst_t* d);
69
70 static XED_INLINE void xed3_capture_nt_Ar9(xed_decoded_inst_t* d);
71
72 static XED_INLINE void xed3_capture_nt_NELEM_HALFMEM(xed_decoded_inst_t* d);
73
74 static XED_INLINE void xed3_capture_nt_SAE(xed_decoded_inst_t* d);
75
76 static XED_INLINE void xed3_capture_nt_AVX512_ROUND(xed_decoded_inst_t* d);
77
78 static XED_INLINE void xed3_capture_nt_GPR8_B(xed_decoded_inst_t* d);
79
80 static XED_INLINE void xed3_capture_nt_SIMM8(xed_decoded_inst_t* d);
81
82 static XED_INLINE void xed3_capture_nt_ESIZE_2_BITS(xed_decoded_inst_t* d);
83
84 static XED_INLINE void xed3_capture_nt_NELEM_GPR_READER_BYTE(xed_decoded_inst_t* d);
85
86 static XED_INLINE void xed3_capture_nt_MODRM(xed_decoded_inst_t* d);
87
88 static XED_INLINE void xed3_capture_nt_UIMM8(xed_decoded_inst_t* d);
89
90 static XED_INLINE void xed3_capture_nt_YMM_R3(xed_decoded_inst_t* d);
91
92 static XED_INLINE void xed3_capture_nt_YMM_B(xed_decoded_inst_t* d);
93
94 static XED_INLINE void xed3_capture_nt_IGNORE66(xed_decoded_inst_t* d);
95
96 static XED_INLINE void xed3_capture_nt_IMMUNE66_LOOP64(xed_decoded_inst_t* d);
97
98 static XED_INLINE void xed3_capture_nt_NELEM_GPR_READER(xed_decoded_inst_t* d);
99
100 static XED_INLINE void xed3_capture_nt_YMM_N(xed_decoded_inst_t* d);
101
102 static XED_INLINE void xed3_capture_nt_ZMM_N3(xed_decoded_inst_t* d);
103
104 static XED_INLINE void xed3_capture_nt_YMM_R(xed_decoded_inst_t* d);
105
106 static XED_INLINE void xed3_capture_nt_CR_WIDTH(xed_decoded_inst_t* d);
107
108 static XED_INLINE void xed3_capture_nt_VSIB_XMM(xed_decoded_inst_t* d);
109
110 static XED_INLINE void xed3_capture_nt_OeAX(xed_decoded_inst_t* d);
111
112 static XED_INLINE void xed3_capture_nt_XMM_N3_64(xed_decoded_inst_t* d);
113
114 static XED_INLINE void xed3_capture_nt_UISA_VMODRM_YMM(xed_decoded_inst_t* d);
115
116 static XED_INLINE void xed3_capture_nt_FIX_ROUND_LEN128(xed_decoded_inst_t* d);
117
118 static XED_INLINE void xed3_capture_nt_MODRM32(xed_decoded_inst_t* d);
119
120 static XED_INLINE void xed3_capture_nt_ZMM_B3_32(xed_decoded_inst_t* d);
121
122 static XED_INLINE void xed3_capture_nt_YMM_B_32(xed_decoded_inst_t* d);
123
124 static XED_INLINE void xed3_capture_nt_YMM_B3(xed_decoded_inst_t* d);
125
126 static XED_INLINE void xed3_capture_nt_GPRy_R(xed_decoded_inst_t* d);
127
128 static XED_INLINE void xed3_capture_nt_MODRM64alt32(xed_decoded_inst_t* d);
129
130 static XED_INLINE void xed3_capture_nt_SIMMz(xed_decoded_inst_t* d);
131
132 static XED_INLINE void xed3_capture_nt_UIMMv(xed_decoded_inst_t* d);
133
134 static XED_INLINE void xed3_capture_nt_XMM_B3_64(xed_decoded_inst_t* d);
135
136 static XED_INLINE void xed3_capture_nt_VSIB_INDEX_XMM(xed_decoded_inst_t* d);
137
138 static XED_INLINE void xed3_capture_nt_VSIB_YMM(xed_decoded_inst_t* d);
139
140 static XED_INLINE void xed3_capture_nt_GPRy_B(xed_decoded_inst_t* d);
141
142 static XED_INLINE void xed3_capture_nt_YMM_SE(xed_decoded_inst_t* d);
143
144 static XED_INLINE void xed3_capture_nt_VSIB_BASE(xed_decoded_inst_t* d);
145
146 static XED_INLINE void xed3_capture_nt_FINAL_SSEG_NOT64(xed_decoded_inst_t* d);
147
148 static XED_INLINE void xed3_capture_nt_MEMDISP16(xed_decoded_inst_t* d);
149
150 static XED_INLINE void xed3_capture_nt_NELEM_GPR_WRITER_STORE_BYTE(xed_decoded_inst_t* d);
151
152 static XED_INLINE void xed3_capture_nt_NELEM_MOVDDUP(xed_decoded_inst_t* d);
153
154 static XED_INLINE void xed3_capture_nt_ArDI(xed_decoded_inst_t* d);
155
156 static XED_INLINE void xed3_capture_nt_GPR16_R(xed_decoded_inst_t* d);
157
158 static XED_INLINE void xed3_capture_nt_NELEM_GPR_READER_WORD(xed_decoded_inst_t* d);
159
160 static XED_INLINE void xed3_capture_nt_GPRz_B(xed_decoded_inst_t* d);
161
162 static XED_INLINE void xed3_capture_nt_ArSI(xed_decoded_inst_t* d);
163
164 static XED_INLINE void xed3_capture_nt_UIMM8_1(xed_decoded_inst_t* d);
165
166 static XED_INLINE void xed3_capture_nt_ArSP(xed_decoded_inst_t* d);
167
168 static XED_INLINE void xed3_capture_nt_GPRm_B(xed_decoded_inst_t* d);
169
170 static XED_INLINE void xed3_capture_nt_ZMM_N3_32(xed_decoded_inst_t* d);
171
172 static XED_INLINE void xed3_capture_nt_ArDX(xed_decoded_inst_t* d);
173
174 static XED_INLINE void xed3_capture_nt_ArBX(xed_decoded_inst_t* d);
175
176 static XED_INLINE void xed3_capture_nt_GPRz_R(xed_decoded_inst_t* d);
177
178 static XED_INLINE void xed3_capture_nt_YMM_R3_64(xed_decoded_inst_t* d);
179
180 static XED_INLINE void xed3_capture_nt_YMM_R_64(xed_decoded_inst_t* d);
181
182 static XED_INLINE void xed3_capture_nt_UISA_VSIB_XMM(xed_decoded_inst_t* d);
183
184 static XED_INLINE void xed3_capture_nt_ArCX(xed_decoded_inst_t* d);
185
186 static XED_INLINE void xed3_capture_nt_XMM_B3(xed_decoded_inst_t* d);
187
188 static XED_INLINE void xed3_capture_nt_VGPR32_N_32(xed_decoded_inst_t* d);
189
190 static XED_INLINE void xed3_capture_nt_XMM_N_32(xed_decoded_inst_t* d);
191
192 static XED_INLINE void xed3_capture_nt_MEMDISP8(xed_decoded_inst_t* d);
193
194 static XED_INLINE void xed3_capture_nt_ZMM_R3(xed_decoded_inst_t* d);
195
196 static XED_INLINE void xed3_capture_nt_FINAL_DSEG1_MODE64(xed_decoded_inst_t* d);
197
198 static XED_INLINE void xed3_capture_nt_XMM_N(xed_decoded_inst_t* d);
199
200 static XED_INLINE void xed3_capture_nt_NELEM_QUARTERMEM(xed_decoded_inst_t* d);
201
202 static XED_INLINE void xed3_capture_nt_rIPa(xed_decoded_inst_t* d);
203
204 static XED_INLINE void xed3_capture_nt_VGPR32_N_64(xed_decoded_inst_t* d);
205
206 static XED_INLINE void xed3_capture_nt_GPRm_R(xed_decoded_inst_t* d);
207
208 static XED_INLINE void xed3_capture_nt_XMM_B(xed_decoded_inst_t* d);
209
210 static XED_INLINE void xed3_capture_nt_VGPR64_R(xed_decoded_inst_t* d);
211
212 static XED_INLINE void xed3_capture_nt_XMM_SE(xed_decoded_inst_t* d);
213
214 static XED_INLINE void xed3_capture_nt_FORCE64(xed_decoded_inst_t* d);
215
216 static XED_INLINE void xed3_capture_nt_XMM_R_64(xed_decoded_inst_t* d);
217
218 static XED_INLINE void xed3_capture_nt_NELEM_GPR_WRITER_LDOP(xed_decoded_inst_t* d);
219
220 static XED_INLINE void xed3_capture_nt_XMM_SE64(xed_decoded_inst_t* d);
221
222 static XED_INLINE void xed3_capture_nt_Ar12(xed_decoded_inst_t* d);
223
224 static XED_INLINE void xed3_capture_nt_Ar13(xed_decoded_inst_t* d);
225
226 static XED_INLINE void xed3_capture_nt_Ar10(xed_decoded_inst_t* d);
227
228 static XED_INLINE void xed3_capture_nt_Ar11(xed_decoded_inst_t* d);
229
230 static XED_INLINE void xed3_capture_nt_YMM_N_64(xed_decoded_inst_t* d);
231
232 static XED_INLINE void xed3_capture_nt_Ar14(xed_decoded_inst_t* d);
233
234 static XED_INLINE void xed3_capture_nt_Ar15(xed_decoded_inst_t* d);
235
236 static XED_INLINE void xed3_capture_nt_VGPR64_B(xed_decoded_inst_t* d);
237
238 static XED_INLINE void xed3_capture_nt_XMM_R(xed_decoded_inst_t* d);
239
240 static XED_INLINE void xed3_capture_nt_GPR64_SB(xed_decoded_inst_t* d);
241
242 static XED_INLINE void xed3_capture_nt_UIMM16(xed_decoded_inst_t* d);
243
244 static XED_INLINE void xed3_capture_nt_NELEM_GPR_WRITER_STORE_SUBDWORD(xed_decoded_inst_t* d);
245
246 static XED_INLINE void xed3_capture_nt_GPR16_B(xed_decoded_inst_t* d);
247
248 static XED_INLINE void xed3_capture_nt_NELEM_GPR_WRITER_LDOP_Q(xed_decoded_inst_t* d);
249
250 static XED_INLINE void xed3_capture_nt_XMM_B_64(xed_decoded_inst_t* d);
251
252 static XED_INLINE void xed3_capture_nt_VGPR32_B_32(xed_decoded_inst_t* d);
253
254 static XED_INLINE void xed3_capture_nt_GPRv_SB(xed_decoded_inst_t* d);
255
256 static XED_INLINE void xed3_capture_nt_FINAL_DSEG1(xed_decoded_inst_t* d);
257
258 static XED_INLINE void xed3_capture_nt_GPR16_SB(xed_decoded_inst_t* d);
259
260 static XED_INLINE void xed3_capture_nt_NELEM_MEM128(xed_decoded_inst_t* d);
261
262 static XED_INLINE void xed3_capture_nt_NELEM_GPR_WRITER_LDOP_D(xed_decoded_inst_t* d);
263
264 static XED_INLINE void xed3_capture_nt_NELEM_GPR_WRITER_STORE_WORD(xed_decoded_inst_t* d);
265
266 static XED_INLINE void xed3_capture_nt_UISA_VSIB_YMM(xed_decoded_inst_t* d);
267
268 static XED_INLINE void xed3_capture_nt_ESIZE_16_BITS(xed_decoded_inst_t* d);
269
270 static XED_INLINE void xed3_capture_nt_SrSP(xed_decoded_inst_t* d);
271
272 static XED_INLINE void xed3_capture_nt_VGPR64_N(xed_decoded_inst_t* d);
273
274 static XED_INLINE void xed3_capture_nt_UISA_VSIB_INDEX_YMM(xed_decoded_inst_t* d);
275
276 static XED_INLINE void xed3_capture_nt_VMODRM_YMM(xed_decoded_inst_t* d);
277
278 static XED_INLINE void xed3_capture_nt_GPR64_B(xed_decoded_inst_t* d);
279
280 static XED_INLINE void xed3_capture_nt_NELEM_EIGHTHMEM(xed_decoded_inst_t* d);
281
282 static XED_INLINE void xed3_capture_nt_ESIZE_64_BITS(xed_decoded_inst_t* d);
283
284 static XED_INLINE void xed3_capture_nt_GPR64_X(xed_decoded_inst_t* d);
285
286 static XED_INLINE void xed3_capture_nt_ASZ_NONTERM(xed_decoded_inst_t* d);
287
288 static XED_INLINE void xed3_capture_nt_MEMDISP(xed_decoded_inst_t* d);
289
290 static XED_INLINE void xed3_capture_nt_NELEM_GSCAT(xed_decoded_inst_t* d);
291
292 static XED_INLINE void xed3_capture_nt_DR_R(xed_decoded_inst_t* d);
293
294 static XED_INLINE void xed3_capture_nt_GPR64_R(xed_decoded_inst_t* d);
295
296 static XED_INLINE void xed3_capture_nt_REMOVE_SEGMENT(xed_decoded_inst_t* d);
297
298 static XED_INLINE void xed3_capture_nt_rFLAGS(xed_decoded_inst_t* d);
299
300 static XED_INLINE void xed3_capture_nt_VGPR32_R_32(xed_decoded_inst_t* d);
301
302 static XED_INLINE void xed3_capture_nt_FINAL_ESEG1(xed_decoded_inst_t* d);
303
304 static XED_INLINE void xed3_capture_nt_NELEM_TUPLE8(xed_decoded_inst_t* d);
305
306 static XED_INLINE void xed3_capture_nt_ESIZE_128_BITS(xed_decoded_inst_t* d);
307
308 static XED_INLINE void xed3_capture_nt_NELEM_TUPLE4(xed_decoded_inst_t* d);
309
310 static XED_INLINE void xed3_capture_nt_XMM_B3_32(xed_decoded_inst_t* d);
311
312 static XED_INLINE void xed3_capture_nt_ArAX(xed_decoded_inst_t* d);
313
314 static XED_INLINE void xed3_capture_nt_MEMDISPv(xed_decoded_inst_t* d);
315
316 static XED_INLINE void xed3_capture_nt_NELEM_TUPLE1(xed_decoded_inst_t* d);
317
318 static XED_INLINE void xed3_capture_nt_NELEM_TUPLE2(xed_decoded_inst_t* d);
319
320 static XED_INLINE void xed3_capture_nt_SEG(xed_decoded_inst_t* d);
321
322 static XED_INLINE void xed3_capture_nt_OrAX(xed_decoded_inst_t* d);
323
324 static XED_INLINE void xed3_capture_nt_XMM_R3_32(xed_decoded_inst_t* d);
325
326 static XED_INLINE void xed3_capture_nt_ZMM_R3_64(xed_decoded_inst_t* d);
327
328 static XED_INLINE void xed3_capture_nt_UISA_VSIB_INDEX_XMM(xed_decoded_inst_t* d);
329
330 static XED_INLINE void xed3_capture_nt_IMMUNE_REXW(xed_decoded_inst_t* d);
331
332 static XED_INLINE void xed3_capture_nt_MMX_B(xed_decoded_inst_t* d);
333
334 static XED_INLINE void xed3_capture_nt_NELEM_HALF(xed_decoded_inst_t* d);
335
336 static XED_INLINE void xed3_capture_nt_YMM_B3_32(xed_decoded_inst_t* d);
337
338 static XED_INLINE void xed3_capture_nt_DF64(xed_decoded_inst_t* d);
339
340 static XED_INLINE void xed3_capture_nt_ZMM_B3_64(xed_decoded_inst_t* d);
341
342 static XED_INLINE void xed3_capture_nt_MASK1(xed_decoded_inst_t* d);
343
344 static XED_INLINE void xed3_capture_nt_ESIZE_4_BITS(xed_decoded_inst_t* d);
345
346 static XED_INLINE void xed3_capture_nt_MMX_R(xed_decoded_inst_t* d);
347
348 static XED_INLINE void xed3_capture_nt_NELEM_GPR_WRITER_STORE(xed_decoded_inst_t* d);
349
350 static XED_INLINE void xed3_capture_nt_ZMM_B3(xed_decoded_inst_t* d);
351
352 static XED_INLINE void xed3_capture_nt_XMM_R_32(xed_decoded_inst_t* d);
353
354 static XED_INLINE void xed3_capture_nt_FINAL_DSEG_NOT64(xed_decoded_inst_t* d);
355
356 static XED_INLINE void xed3_capture_nt_MASK_R(xed_decoded_inst_t* d);
357
358 static XED_INLINE void xed3_capture_nt_ArBP(xed_decoded_inst_t* d);
359
360 static XED_INLINE void xed3_capture_nt_UISA_VMODRM_ZMM(xed_decoded_inst_t* d);
361
362 static XED_INLINE void xed3_capture_nt_VGPR32_R_64(xed_decoded_inst_t* d);
363
364 static XED_INLINE void xed3_capture_nt_CR_B(xed_decoded_inst_t* d);
365
366 static XED_INLINE void xed3_capture_nt_UIMM32(xed_decoded_inst_t* d);
367
368 static XED_INLINE void xed3_capture_nt_XMM_N_64(xed_decoded_inst_t* d);
369
370 static XED_INLINE void xed3_capture_nt_SrBP(xed_decoded_inst_t* d);
371
372 static XED_INLINE void xed3_capture_nt_MASK_B(xed_decoded_inst_t* d);
373
374 static XED_INLINE void xed3_capture_nt_VGPR32_N(xed_decoded_inst_t* d);
375
376 static XED_INLINE void xed3_capture_nt_YMM_R_32(xed_decoded_inst_t* d);
377
378 static XED_INLINE void xed3_capture_nt_NELEM_TUPLE1_WORD(xed_decoded_inst_t* d);
379
380 static XED_INLINE void xed3_capture_nt_NELEM_SCALAR(xed_decoded_inst_t* d);
381
382 static XED_INLINE void xed3_capture_nt_SE_IMM8(xed_decoded_inst_t* d);
383
384 static XED_INLINE void xed3_capture_nt_FINAL_ESEG(xed_decoded_inst_t* d);
385
386 static XED_INLINE void xed3_capture_nt_UISA_VSIB_INDEX_ZMM(xed_decoded_inst_t* d);
387
388 static XED_INLINE void xed3_capture_nt_CR_R(xed_decoded_inst_t* d);
389
390 static XED_INLINE void xed3_capture_nt_MASK_N(xed_decoded_inst_t* d);
391
392 static XED_INLINE void xed3_capture_nt_OrSP(xed_decoded_inst_t* d);
393
394 static XED_INLINE void xed3_capture_nt_VGPR32_B(xed_decoded_inst_t* d);
395
396 static XED_INLINE void xed3_capture_nt_YMM_N3_32(xed_decoded_inst_t* d);
397
398 static XED_INLINE void xed3_capture_nt_OSZ_NONTERM(xed_decoded_inst_t* d);
399
400 static XED_INLINE void xed3_capture_nt_ESIZE_8_BITS(xed_decoded_inst_t* d);
401
402 static XED_INLINE void xed3_capture_nt_ZMM_R3_32(xed_decoded_inst_t* d);
403
404 static XED_INLINE void xed3_capture_nt_XMM_SE32(xed_decoded_inst_t* d);
405
406 static XED_INLINE void xed3_capture_nt_IMMUNE66(xed_decoded_inst_t* d);
407
408 static XED_INLINE void xed3_capture_nt_YMM_N_32(xed_decoded_inst_t* d);
409
410 static XED_INLINE void xed3_capture_nt_GPR32_B(xed_decoded_inst_t* d);
411
412 static XED_INLINE void xed3_capture_nt_VMODRM_XMM(xed_decoded_inst_t* d);
413
414 static XED_INLINE void xed3_capture_nt_YMM_SE32(xed_decoded_inst_t* d);
415
416 static XED_INLINE void xed3_capture_nt_GPR32_X(xed_decoded_inst_t* d);
417
418 static XED_INLINE void xed3_capture_nt_YMM_B_64(xed_decoded_inst_t* d);
419
420 static XED_INLINE void xed3_capture_nt_FINAL_DSEG(xed_decoded_inst_t* d);
421
422 static XED_INLINE void xed3_capture_nt_YMM_N3(xed_decoded_inst_t* d);
423
424 static XED_INLINE void xed3_capture_nt_FIX_ROUND_LEN512(xed_decoded_inst_t* d);
425
426 static XED_INLINE void xed3_capture_nt_REFINING66(xed_decoded_inst_t* d);
427
428 static XED_INLINE void xed3_capture_nt_VSIB_INDEX_YMM(xed_decoded_inst_t* d);
429
430 static XED_INLINE void xed3_capture_nt_GPR32_R(xed_decoded_inst_t* d);
431
432 static XED_INLINE void xed3_capture_nt_BND_R_CHECK(xed_decoded_inst_t* d);
433
434 static XED_INLINE void xed3_capture_nt_GPR32_SB(xed_decoded_inst_t* d);
435
436 static XED_INLINE void xed3_capture_nt_GPRv_R(xed_decoded_inst_t* d);
437
438 static XED_INLINE void xed3_capture_nt_UISA_VSIB_ZMM(xed_decoded_inst_t* d);
439
440 static XED_INLINE void xed3_capture_nt_X87(xed_decoded_inst_t* d);
441
442 static XED_INLINE void xed3_capture_nt_BRANCH_HINT(xed_decoded_inst_t* d);
443
444 static XED_INLINE void xed3_capture_nt_FINAL_SSEG(xed_decoded_inst_t* d);
445
446 static XED_INLINE void xed3_capture_nt_GPRv_B(xed_decoded_inst_t* d);
447
448 static XED_INLINE void xed3_capture_nt_UISA_VSIB_BASE(xed_decoded_inst_t* d);
449
450 static XED_INLINE void xed3_capture_nt_YMM_SE64(xed_decoded_inst_t* d);
451
452 static XED_INLINE void xed3_capture_nt_VGPR32_B_64(xed_decoded_inst_t* d);
453
454 static XED_INLINE void xed3_capture_nt_XMM_N3(xed_decoded_inst_t* d);
455
456 static XED_INLINE void xed3_capture_nt_NELEM_TUPLE1_BYTE(xed_decoded_inst_t* d);
457
458 static XED_INLINE void xed3_capture_nt_MASK_N32(xed_decoded_inst_t* d);
459
460 static XED_INLINE void xed3_capture_nt_BRDISP8(xed_decoded_inst_t* d);
461
462 static XED_INLINE void xed3_capture_nt_NELEM_GPR_READER_SUBDWORD(xed_decoded_inst_t* d);
463
464 static XED_INLINE void xed3_capture_nt_FINAL_DSEG1_NOT64(xed_decoded_inst_t* d);
465
466 static XED_INLINE void xed3_capture_nt_OrBP(xed_decoded_inst_t* d);
467
468 static XED_INLINE void xed3_capture_nt_rIP(xed_decoded_inst_t* d);
469
470 static XED_INLINE void xed3_capture_nt_ESIZE_1_BITS(xed_decoded_inst_t* d);
471
472 static XED_INLINE void xed3_capture_nt_YMM_R3_32(xed_decoded_inst_t* d);
473
474 static XED_INLINE void xed3_capture_nt_MODRM16(xed_decoded_inst_t* d);
475
476 static XED_INLINE void xed3_capture_nt_NELEM_FULLMEM(xed_decoded_inst_t* d);
477
478 static XED_INLINE void xed3_capture_nt_FINAL_SSEG_MODE64(xed_decoded_inst_t* d);
479
480 static XED_INLINE void xed3_capture_nt_UISA_VMODRM_XMM(xed_decoded_inst_t* d);
481
482 static XED_INLINE void xed3_capture_nt_ZMM_N3_64(xed_decoded_inst_t* d);
483
484 static XED_INLINE void xed3_capture_nt_BRDISP32(xed_decoded_inst_t* d);
485
486 static XED_INLINE void xed3_capture_nt_MEMDISP32(xed_decoded_inst_t* d);
487
488 static XED_INLINE void xed3_capture_nt_BND_B(xed_decoded_inst_t* d);
489
490 static XED_INLINE void xed3_capture_nt_SEG_MOV(xed_decoded_inst_t* d);
491
492 static XED_INLINE void xed3_capture_nt_A_GPR_B(xed_decoded_inst_t* d);
493
494 static XED_INLINE void xed3_capture_nt_GPR8_SB(xed_decoded_inst_t* d);
495
496 static XED_INLINE void xed3_capture_nt_MASK_N64(xed_decoded_inst_t* d);
497
498 static XED_INLINE void xed3_capture_nt_BND_B_CHECK(xed_decoded_inst_t* d);
499
500 static XED_INLINE void xed3_capture_nt_YMM_N3_64(xed_decoded_inst_t* d);
501
502 static XED_INLINE void xed3_capture_nt_ESIZE_32_BITS(xed_decoded_inst_t* d);
503
504 static XED_INLINE void xed3_capture_nt_XMM_R3(xed_decoded_inst_t* d);
505
506 static XED_INLINE void xed3_capture_nt_BND_R(xed_decoded_inst_t* d);
507
508 static XED_INLINE void xed3_capture_nt_A_GPR_R(xed_decoded_inst_t* d);
509
510 static XED_INLINE void xed3_capture_nt_BRDISPz(xed_decoded_inst_t* d);
511
xed3_capture_nt_MASKNOT0(xed_decoded_inst_t * d)512 static XED_INLINE void xed3_capture_nt_MASKNOT0(xed_decoded_inst_t* d)
513 {
514 xed_uint32_t key = 0;
515 key += (xed3_operand_get_mask(d)) << ((0));
516 /* now switch code..*/
517 switch(key) {
518 case 0: /*(0,) -> MASK=0x0 | OUTREG=XED_REG_ERROR*/
519 xed3_operand_set_outreg(d, XED_REG_ERROR);
520 xed3_operand_set_error(d, XED_ERROR_BAD_REGISTER);
521 /*pacify the compiler */
522 (void)d;
523 break;
524 case 1: /*(1,) -> MASK=0x1 | OUTREG=XED_REG_K1*/
525 xed3_operand_set_outreg(d, XED_REG_K1);
526 /*pacify the compiler */
527 (void)d;
528 break;
529 case 2: /*(2,) -> MASK=0x2 | OUTREG=XED_REG_K2*/
530 xed3_operand_set_outreg(d, XED_REG_K2);
531 /*pacify the compiler */
532 (void)d;
533 break;
534 case 3: /*(3,) -> MASK=0x3 | OUTREG=XED_REG_K3*/
535 xed3_operand_set_outreg(d, XED_REG_K3);
536 /*pacify the compiler */
537 (void)d;
538 break;
539 case 4: /*(4,) -> MASK=0x4 | OUTREG=XED_REG_K4*/
540 xed3_operand_set_outreg(d, XED_REG_K4);
541 /*pacify the compiler */
542 (void)d;
543 break;
544 case 5: /*(5,) -> MASK=0x5 | OUTREG=XED_REG_K5*/
545 xed3_operand_set_outreg(d, XED_REG_K5);
546 /*pacify the compiler */
547 (void)d;
548 break;
549 case 6: /*(6,) -> MASK=0x6 | OUTREG=XED_REG_K6*/
550 xed3_operand_set_outreg(d, XED_REG_K6);
551 /*pacify the compiler */
552 (void)d;
553 break;
554 case 7: /*(7,) -> MASK=0x7 | OUTREG=XED_REG_K7*/
555 xed3_operand_set_outreg(d, XED_REG_K7);
556 /*pacify the compiler */
557 (void)d;
558 break;
559 default:
560 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
561 break;
562 }
563 }
xed3_capture_nt_NELEM_TUPLE1_SUBDWORD(xed_decoded_inst_t * d)564 static XED_INLINE void xed3_capture_nt_NELEM_TUPLE1_SUBDWORD(xed_decoded_inst_t* d)
565 {
566 xed_uint32_t key = 0;
567 key += (xed3_operand_get_vl(d)) << ((0));
568 /* now switch code..*/
569 switch(key) {
570 case 0: /*(0,) -> VL128 | NELEM=1*/
571 xed3_operand_set_nelem(d, 0x1);
572 /*pacify the compiler */
573 (void)d;
574 break;
575 case 1: /*(1,) -> VL256 | NELEM=1*/
576 xed3_operand_set_nelem(d, 0x1);
577 /*pacify the compiler */
578 (void)d;
579 break;
580 case 2: /*(2,) -> VL512 | NELEM=1*/
581 xed3_operand_set_nelem(d, 0x1);
582 /*pacify the compiler */
583 (void)d;
584 break;
585 default:
586 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
587 break;
588 }
589 }
xed3_capture_nt_XMM_R3_64(xed_decoded_inst_t * d)590 static XED_INLINE void xed3_capture_nt_XMM_R3_64(xed_decoded_inst_t* d)
591 {
592 xed_uint32_t key = 0;
593 key += (xed3_operand_get_reg(d)) << ((0));
594 key += (xed3_operand_get_rexr(d)) << ((3));
595 key += (xed3_operand_get_rexrr(d)) << ((4));
596 /* now switch code..*/
597 switch(key) {
598 case 0: /*(0, 0, 0) -> REXRR=0 REXR=0 REG=0 | OUTREG=XED_REG_XMM0*/
599 xed3_operand_set_outreg(d, XED_REG_XMM0);
600 /*pacify the compiler */
601 (void)d;
602 break;
603 case 1: /*(1, 0, 0) -> REXRR=0 REXR=0 REG=1 | OUTREG=XED_REG_XMM1*/
604 xed3_operand_set_outreg(d, XED_REG_XMM1);
605 /*pacify the compiler */
606 (void)d;
607 break;
608 case 2: /*(2, 0, 0) -> REXRR=0 REXR=0 REG=2 | OUTREG=XED_REG_XMM2*/
609 xed3_operand_set_outreg(d, XED_REG_XMM2);
610 /*pacify the compiler */
611 (void)d;
612 break;
613 case 3: /*(3, 0, 0) -> REXRR=0 REXR=0 REG=3 | OUTREG=XED_REG_XMM3*/
614 xed3_operand_set_outreg(d, XED_REG_XMM3);
615 /*pacify the compiler */
616 (void)d;
617 break;
618 case 4: /*(4, 0, 0) -> REXRR=0 REXR=0 REG=4 | OUTREG=XED_REG_XMM4*/
619 xed3_operand_set_outreg(d, XED_REG_XMM4);
620 /*pacify the compiler */
621 (void)d;
622 break;
623 case 5: /*(5, 0, 0) -> REXRR=0 REXR=0 REG=5 | OUTREG=XED_REG_XMM5*/
624 xed3_operand_set_outreg(d, XED_REG_XMM5);
625 /*pacify the compiler */
626 (void)d;
627 break;
628 case 6: /*(6, 0, 0) -> REXRR=0 REXR=0 REG=6 | OUTREG=XED_REG_XMM6*/
629 xed3_operand_set_outreg(d, XED_REG_XMM6);
630 /*pacify the compiler */
631 (void)d;
632 break;
633 case 7: /*(7, 0, 0) -> REXRR=0 REXR=0 REG=7 | OUTREG=XED_REG_XMM7*/
634 xed3_operand_set_outreg(d, XED_REG_XMM7);
635 /*pacify the compiler */
636 (void)d;
637 break;
638 case 8: /*(0, 1, 0) -> REXRR=0 REXR=1 REG=0 | OUTREG=XED_REG_XMM8*/
639 xed3_operand_set_outreg(d, XED_REG_XMM8);
640 /*pacify the compiler */
641 (void)d;
642 break;
643 case 9: /*(1, 1, 0) -> REXRR=0 REXR=1 REG=1 | OUTREG=XED_REG_XMM9*/
644 xed3_operand_set_outreg(d, XED_REG_XMM9);
645 /*pacify the compiler */
646 (void)d;
647 break;
648 case 10: /*(2, 1, 0) -> REXRR=0 REXR=1 REG=2 | OUTREG=XED_REG_XMM10*/
649 xed3_operand_set_outreg(d, XED_REG_XMM10);
650 /*pacify the compiler */
651 (void)d;
652 break;
653 case 11: /*(3, 1, 0) -> REXRR=0 REXR=1 REG=3 | OUTREG=XED_REG_XMM11*/
654 xed3_operand_set_outreg(d, XED_REG_XMM11);
655 /*pacify the compiler */
656 (void)d;
657 break;
658 case 12: /*(4, 1, 0) -> REXRR=0 REXR=1 REG=4 | OUTREG=XED_REG_XMM12*/
659 xed3_operand_set_outreg(d, XED_REG_XMM12);
660 /*pacify the compiler */
661 (void)d;
662 break;
663 case 13: /*(5, 1, 0) -> REXRR=0 REXR=1 REG=5 | OUTREG=XED_REG_XMM13*/
664 xed3_operand_set_outreg(d, XED_REG_XMM13);
665 /*pacify the compiler */
666 (void)d;
667 break;
668 case 14: /*(6, 1, 0) -> REXRR=0 REXR=1 REG=6 | OUTREG=XED_REG_XMM14*/
669 xed3_operand_set_outreg(d, XED_REG_XMM14);
670 /*pacify the compiler */
671 (void)d;
672 break;
673 case 15: /*(7, 1, 0) -> REXRR=0 REXR=1 REG=7 | OUTREG=XED_REG_XMM15*/
674 xed3_operand_set_outreg(d, XED_REG_XMM15);
675 /*pacify the compiler */
676 (void)d;
677 break;
678 case 16: /*(0, 0, 1) -> REXRR=1 REXR=0 REG=0 | OUTREG=XED_REG_XMM16*/
679 xed3_operand_set_outreg(d, XED_REG_XMM16);
680 /*pacify the compiler */
681 (void)d;
682 break;
683 case 17: /*(1, 0, 1) -> REXRR=1 REXR=0 REG=1 | OUTREG=XED_REG_XMM17*/
684 xed3_operand_set_outreg(d, XED_REG_XMM17);
685 /*pacify the compiler */
686 (void)d;
687 break;
688 case 18: /*(2, 0, 1) -> REXRR=1 REXR=0 REG=2 | OUTREG=XED_REG_XMM18*/
689 xed3_operand_set_outreg(d, XED_REG_XMM18);
690 /*pacify the compiler */
691 (void)d;
692 break;
693 case 19: /*(3, 0, 1) -> REXRR=1 REXR=0 REG=3 | OUTREG=XED_REG_XMM19*/
694 xed3_operand_set_outreg(d, XED_REG_XMM19);
695 /*pacify the compiler */
696 (void)d;
697 break;
698 case 20: /*(4, 0, 1) -> REXRR=1 REXR=0 REG=4 | OUTREG=XED_REG_XMM20*/
699 xed3_operand_set_outreg(d, XED_REG_XMM20);
700 /*pacify the compiler */
701 (void)d;
702 break;
703 case 21: /*(5, 0, 1) -> REXRR=1 REXR=0 REG=5 | OUTREG=XED_REG_XMM21*/
704 xed3_operand_set_outreg(d, XED_REG_XMM21);
705 /*pacify the compiler */
706 (void)d;
707 break;
708 case 22: /*(6, 0, 1) -> REXRR=1 REXR=0 REG=6 | OUTREG=XED_REG_XMM22*/
709 xed3_operand_set_outreg(d, XED_REG_XMM22);
710 /*pacify the compiler */
711 (void)d;
712 break;
713 case 23: /*(7, 0, 1) -> REXRR=1 REXR=0 REG=7 | OUTREG=XED_REG_XMM23*/
714 xed3_operand_set_outreg(d, XED_REG_XMM23);
715 /*pacify the compiler */
716 (void)d;
717 break;
718 case 24: /*(0, 1, 1) -> REXRR=1 REXR=1 REG=0 | OUTREG=XED_REG_XMM24*/
719 xed3_operand_set_outreg(d, XED_REG_XMM24);
720 /*pacify the compiler */
721 (void)d;
722 break;
723 case 25: /*(1, 1, 1) -> REXRR=1 REXR=1 REG=1 | OUTREG=XED_REG_XMM25*/
724 xed3_operand_set_outreg(d, XED_REG_XMM25);
725 /*pacify the compiler */
726 (void)d;
727 break;
728 case 26: /*(2, 1, 1) -> REXRR=1 REXR=1 REG=2 | OUTREG=XED_REG_XMM26*/
729 xed3_operand_set_outreg(d, XED_REG_XMM26);
730 /*pacify the compiler */
731 (void)d;
732 break;
733 case 27: /*(3, 1, 1) -> REXRR=1 REXR=1 REG=3 | OUTREG=XED_REG_XMM27*/
734 xed3_operand_set_outreg(d, XED_REG_XMM27);
735 /*pacify the compiler */
736 (void)d;
737 break;
738 case 28: /*(4, 1, 1) -> REXRR=1 REXR=1 REG=4 | OUTREG=XED_REG_XMM28*/
739 xed3_operand_set_outreg(d, XED_REG_XMM28);
740 /*pacify the compiler */
741 (void)d;
742 break;
743 case 29: /*(5, 1, 1) -> REXRR=1 REXR=1 REG=5 | OUTREG=XED_REG_XMM29*/
744 xed3_operand_set_outreg(d, XED_REG_XMM29);
745 /*pacify the compiler */
746 (void)d;
747 break;
748 case 30: /*(6, 1, 1) -> REXRR=1 REXR=1 REG=6 | OUTREG=XED_REG_XMM30*/
749 xed3_operand_set_outreg(d, XED_REG_XMM30);
750 /*pacify the compiler */
751 (void)d;
752 break;
753 case 31: /*(7, 1, 1) -> REXRR=1 REXR=1 REG=7 | OUTREG=XED_REG_XMM31*/
754 xed3_operand_set_outreg(d, XED_REG_XMM31);
755 /*pacify the compiler */
756 (void)d;
757 break;
758 default:
759 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
760 break;
761 }
762 }
xed3_capture_nt_SIB_BASE0(xed_decoded_inst_t * d)763 static XED_INLINE void xed3_capture_nt_SIB_BASE0(xed_decoded_inst_t* d)
764 {
765 xed_uint32_t key = 0;
766 key += (xed3_operand_get_mod(d)) << ((0));
767 key += (xed3_operand_get_rexb(d)) << ((2));
768 key += (xed3_operand_get_sibbase(d)) << ((3));
769 /* now switch code..*/
770 switch(key) {
771 case 1: /*(1, 0, 0) -> REXB=0 SIBBASE=0b000 | BASE0=ArAX() SEG0=FINAL_DSEG()*/
772 case 0: /*(0, 0, 0) -> REXB=0 SIBBASE=0b000 | BASE0=ArAX() SEG0=FINAL_DSEG()*/
773 case 2: /*(2, 0, 0) -> REXB=0 SIBBASE=0b000 | BASE0=ArAX() SEG0=FINAL_DSEG()*/
774 case 3: /*(3, 0, 0) -> REXB=0 SIBBASE=0b000 | BASE0=ArAX() SEG0=FINAL_DSEG()*/
775 xed3_capture_nt_ArAX(d);
776 xed3_operand_set_base0(d, xed3_operand_get_outreg(d));
777 xed3_capture_nt_FINAL_DSEG(d);
778 xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
779 /*pacify the compiler */
780 (void)d;
781 break;
782 case 7: /*(3, 1, 0) -> REXB=1 SIBBASE=0b000 | BASE0=Ar8() SEG0=FINAL_DSEG()*/
783 case 4: /*(0, 1, 0) -> REXB=1 SIBBASE=0b000 | BASE0=Ar8() SEG0=FINAL_DSEG()*/
784 case 5: /*(1, 1, 0) -> REXB=1 SIBBASE=0b000 | BASE0=Ar8() SEG0=FINAL_DSEG()*/
785 case 6: /*(2, 1, 0) -> REXB=1 SIBBASE=0b000 | BASE0=Ar8() SEG0=FINAL_DSEG()*/
786 xed3_capture_nt_Ar8(d);
787 xed3_operand_set_base0(d, xed3_operand_get_outreg(d));
788 xed3_capture_nt_FINAL_DSEG(d);
789 xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
790 /*pacify the compiler */
791 (void)d;
792 break;
793 case 9: /*(1, 0, 1) -> REXB=0 SIBBASE=0b001 | BASE0=ArCX() SEG0=FINAL_DSEG()*/
794 case 10: /*(2, 0, 1) -> REXB=0 SIBBASE=0b001 | BASE0=ArCX() SEG0=FINAL_DSEG()*/
795 case 8: /*(0, 0, 1) -> REXB=0 SIBBASE=0b001 | BASE0=ArCX() SEG0=FINAL_DSEG()*/
796 case 11: /*(3, 0, 1) -> REXB=0 SIBBASE=0b001 | BASE0=ArCX() SEG0=FINAL_DSEG()*/
797 xed3_capture_nt_ArCX(d);
798 xed3_operand_set_base0(d, xed3_operand_get_outreg(d));
799 xed3_capture_nt_FINAL_DSEG(d);
800 xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
801 /*pacify the compiler */
802 (void)d;
803 break;
804 case 12: /*(0, 1, 1) -> REXB=1 SIBBASE=0b001 | BASE0=Ar9() SEG0=FINAL_DSEG()*/
805 case 15: /*(3, 1, 1) -> REXB=1 SIBBASE=0b001 | BASE0=Ar9() SEG0=FINAL_DSEG()*/
806 case 13: /*(1, 1, 1) -> REXB=1 SIBBASE=0b001 | BASE0=Ar9() SEG0=FINAL_DSEG()*/
807 case 14: /*(2, 1, 1) -> REXB=1 SIBBASE=0b001 | BASE0=Ar9() SEG0=FINAL_DSEG()*/
808 xed3_capture_nt_Ar9(d);
809 xed3_operand_set_base0(d, xed3_operand_get_outreg(d));
810 xed3_capture_nt_FINAL_DSEG(d);
811 xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
812 /*pacify the compiler */
813 (void)d;
814 break;
815 case 19: /*(3, 0, 2) -> REXB=0 SIBBASE=0b010 | BASE0=ArDX() SEG0=FINAL_DSEG()*/
816 case 18: /*(2, 0, 2) -> REXB=0 SIBBASE=0b010 | BASE0=ArDX() SEG0=FINAL_DSEG()*/
817 case 16: /*(0, 0, 2) -> REXB=0 SIBBASE=0b010 | BASE0=ArDX() SEG0=FINAL_DSEG()*/
818 case 17: /*(1, 0, 2) -> REXB=0 SIBBASE=0b010 | BASE0=ArDX() SEG0=FINAL_DSEG()*/
819 xed3_capture_nt_ArDX(d);
820 xed3_operand_set_base0(d, xed3_operand_get_outreg(d));
821 xed3_capture_nt_FINAL_DSEG(d);
822 xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
823 /*pacify the compiler */
824 (void)d;
825 break;
826 case 21: /*(1, 1, 2) -> REXB=1 SIBBASE=0b010 | BASE0=Ar10() SEG0=FINAL_DSEG()*/
827 case 20: /*(0, 1, 2) -> REXB=1 SIBBASE=0b010 | BASE0=Ar10() SEG0=FINAL_DSEG()*/
828 case 23: /*(3, 1, 2) -> REXB=1 SIBBASE=0b010 | BASE0=Ar10() SEG0=FINAL_DSEG()*/
829 case 22: /*(2, 1, 2) -> REXB=1 SIBBASE=0b010 | BASE0=Ar10() SEG0=FINAL_DSEG()*/
830 xed3_capture_nt_Ar10(d);
831 xed3_operand_set_base0(d, xed3_operand_get_outreg(d));
832 xed3_capture_nt_FINAL_DSEG(d);
833 xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
834 /*pacify the compiler */
835 (void)d;
836 break;
837 case 25: /*(1, 0, 3) -> REXB=0 SIBBASE=0b011 | BASE0=ArBX() SEG0=FINAL_DSEG()*/
838 case 26: /*(2, 0, 3) -> REXB=0 SIBBASE=0b011 | BASE0=ArBX() SEG0=FINAL_DSEG()*/
839 case 27: /*(3, 0, 3) -> REXB=0 SIBBASE=0b011 | BASE0=ArBX() SEG0=FINAL_DSEG()*/
840 case 24: /*(0, 0, 3) -> REXB=0 SIBBASE=0b011 | BASE0=ArBX() SEG0=FINAL_DSEG()*/
841 xed3_capture_nt_ArBX(d);
842 xed3_operand_set_base0(d, xed3_operand_get_outreg(d));
843 xed3_capture_nt_FINAL_DSEG(d);
844 xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
845 /*pacify the compiler */
846 (void)d;
847 break;
848 case 31: /*(3, 1, 3) -> REXB=1 SIBBASE=0b011 | BASE0=Ar11() SEG0=FINAL_DSEG()*/
849 case 30: /*(2, 1, 3) -> REXB=1 SIBBASE=0b011 | BASE0=Ar11() SEG0=FINAL_DSEG()*/
850 case 28: /*(0, 1, 3) -> REXB=1 SIBBASE=0b011 | BASE0=Ar11() SEG0=FINAL_DSEG()*/
851 case 29: /*(1, 1, 3) -> REXB=1 SIBBASE=0b011 | BASE0=Ar11() SEG0=FINAL_DSEG()*/
852 xed3_capture_nt_Ar11(d);
853 xed3_operand_set_base0(d, xed3_operand_get_outreg(d));
854 xed3_capture_nt_FINAL_DSEG(d);
855 xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
856 /*pacify the compiler */
857 (void)d;
858 break;
859 case 35: /*(3, 0, 4) -> REXB=0 SIBBASE=0b100 | BASE0=ArSP() SEG0=FINAL_SSEG()*/
860 case 34: /*(2, 0, 4) -> REXB=0 SIBBASE=0b100 | BASE0=ArSP() SEG0=FINAL_SSEG()*/
861 case 33: /*(1, 0, 4) -> REXB=0 SIBBASE=0b100 | BASE0=ArSP() SEG0=FINAL_SSEG()*/
862 case 32: /*(0, 0, 4) -> REXB=0 SIBBASE=0b100 | BASE0=ArSP() SEG0=FINAL_SSEG()*/
863 xed3_capture_nt_ArSP(d);
864 xed3_operand_set_base0(d, xed3_operand_get_outreg(d));
865 xed3_capture_nt_FINAL_SSEG(d);
866 xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
867 /*pacify the compiler */
868 (void)d;
869 break;
870 case 39: /*(3, 1, 4) -> REXB=1 SIBBASE=0b100 | BASE0=Ar12() SEG0=FINAL_DSEG()*/
871 case 36: /*(0, 1, 4) -> REXB=1 SIBBASE=0b100 | BASE0=Ar12() SEG0=FINAL_DSEG()*/
872 case 38: /*(2, 1, 4) -> REXB=1 SIBBASE=0b100 | BASE0=Ar12() SEG0=FINAL_DSEG()*/
873 case 37: /*(1, 1, 4) -> REXB=1 SIBBASE=0b100 | BASE0=Ar12() SEG0=FINAL_DSEG()*/
874 xed3_capture_nt_Ar12(d);
875 xed3_operand_set_base0(d, xed3_operand_get_outreg(d));
876 xed3_capture_nt_FINAL_DSEG(d);
877 xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
878 /*pacify the compiler */
879 (void)d;
880 break;
881 case 40: /*(0, 0, 5) -> REXB=0 SIBBASE=0b101 MOD=0b00 | NEED_MEMDISP=32 BASE0=XED_REG_INVALID SEG0=FINAL_DSEG() enc*/
882 xed3_operand_set_need_memdisp(d, 0x20);
883 xed3_operand_set_base0(d, XED_REG_INVALID);
884 xed3_capture_nt_FINAL_DSEG(d);
885 xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
886 /*pacify the compiler */
887 (void)d;
888 break;
889 case 41: /*(1, 0, 5) -> REXB=0 SIBBASE=0b101 MOD=0b01 | BASE0=ArBP() SEG0=FINAL_SSEG() DISP_WIDTH=8*/
890 xed3_capture_nt_ArBP(d);
891 xed3_operand_set_base0(d, xed3_operand_get_outreg(d));
892 xed3_capture_nt_FINAL_SSEG(d);
893 xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
894 xed3_operand_set_disp_width(d, 0x8);
895 /*pacify the compiler */
896 (void)d;
897 break;
898 case 42: /*(2, 0, 5) -> REXB=0 SIBBASE=0b101 MOD=0b10 | BASE0=ArBP() SEG0=FINAL_SSEG() DISP_WIDTH=32*/
899 xed3_capture_nt_ArBP(d);
900 xed3_operand_set_base0(d, xed3_operand_get_outreg(d));
901 xed3_capture_nt_FINAL_SSEG(d);
902 xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
903 xed3_operand_set_disp_width(d, 0x20);
904 /*pacify the compiler */
905 (void)d;
906 break;
907 case 44: /*(0, 1, 5) -> REXB=1 SIBBASE=0b101 MOD=0b00 | NEED_MEMDISP=32 BASE0=XED_REG_INVALID SEG0=FINAL_DSEG()*/
908 xed3_operand_set_need_memdisp(d, 0x20);
909 xed3_operand_set_base0(d, XED_REG_INVALID);
910 xed3_capture_nt_FINAL_DSEG(d);
911 xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
912 /*pacify the compiler */
913 (void)d;
914 break;
915 case 45: /*(1, 1, 5) -> REXB=1 SIBBASE=0b101 MOD=0b01 | BASE0=Ar13() SEG0=FINAL_DSEG() DISP_WIDTH=8*/
916 xed3_capture_nt_Ar13(d);
917 xed3_operand_set_base0(d, xed3_operand_get_outreg(d));
918 xed3_capture_nt_FINAL_DSEG(d);
919 xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
920 xed3_operand_set_disp_width(d, 0x8);
921 /*pacify the compiler */
922 (void)d;
923 break;
924 case 46: /*(2, 1, 5) -> REXB=1 SIBBASE=0b101 MOD=0b10 | BASE0=Ar13() SEG0=FINAL_DSEG() DISP_WIDTH=32*/
925 xed3_capture_nt_Ar13(d);
926 xed3_operand_set_base0(d, xed3_operand_get_outreg(d));
927 xed3_capture_nt_FINAL_DSEG(d);
928 xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
929 xed3_operand_set_disp_width(d, 0x20);
930 /*pacify the compiler */
931 (void)d;
932 break;
933 case 49: /*(1, 0, 6) -> REXB=0 SIBBASE=0b110 | BASE0=ArSI() SEG0=FINAL_DSEG()*/
934 case 51: /*(3, 0, 6) -> REXB=0 SIBBASE=0b110 | BASE0=ArSI() SEG0=FINAL_DSEG()*/
935 case 48: /*(0, 0, 6) -> REXB=0 SIBBASE=0b110 | BASE0=ArSI() SEG0=FINAL_DSEG()*/
936 case 50: /*(2, 0, 6) -> REXB=0 SIBBASE=0b110 | BASE0=ArSI() SEG0=FINAL_DSEG()*/
937 xed3_capture_nt_ArSI(d);
938 xed3_operand_set_base0(d, xed3_operand_get_outreg(d));
939 xed3_capture_nt_FINAL_DSEG(d);
940 xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
941 /*pacify the compiler */
942 (void)d;
943 break;
944 case 53: /*(1, 1, 6) -> REXB=1 SIBBASE=0b110 | BASE0=Ar14() SEG0=FINAL_DSEG()*/
945 case 54: /*(2, 1, 6) -> REXB=1 SIBBASE=0b110 | BASE0=Ar14() SEG0=FINAL_DSEG()*/
946 case 55: /*(3, 1, 6) -> REXB=1 SIBBASE=0b110 | BASE0=Ar14() SEG0=FINAL_DSEG()*/
947 case 52: /*(0, 1, 6) -> REXB=1 SIBBASE=0b110 | BASE0=Ar14() SEG0=FINAL_DSEG()*/
948 xed3_capture_nt_Ar14(d);
949 xed3_operand_set_base0(d, xed3_operand_get_outreg(d));
950 xed3_capture_nt_FINAL_DSEG(d);
951 xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
952 /*pacify the compiler */
953 (void)d;
954 break;
955 case 57: /*(1, 0, 7) -> REXB=0 SIBBASE=0b111 | BASE0=ArDI() SEG0=FINAL_DSEG()*/
956 case 56: /*(0, 0, 7) -> REXB=0 SIBBASE=0b111 | BASE0=ArDI() SEG0=FINAL_DSEG()*/
957 case 58: /*(2, 0, 7) -> REXB=0 SIBBASE=0b111 | BASE0=ArDI() SEG0=FINAL_DSEG()*/
958 case 59: /*(3, 0, 7) -> REXB=0 SIBBASE=0b111 | BASE0=ArDI() SEG0=FINAL_DSEG()*/
959 xed3_capture_nt_ArDI(d);
960 xed3_operand_set_base0(d, xed3_operand_get_outreg(d));
961 xed3_capture_nt_FINAL_DSEG(d);
962 xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
963 /*pacify the compiler */
964 (void)d;
965 break;
966 case 61: /*(1, 1, 7) -> REXB=1 SIBBASE=0b111 | BASE0=Ar15() SEG0=FINAL_DSEG()*/
967 case 60: /*(0, 1, 7) -> REXB=1 SIBBASE=0b111 | BASE0=Ar15() SEG0=FINAL_DSEG()*/
968 case 62: /*(2, 1, 7) -> REXB=1 SIBBASE=0b111 | BASE0=Ar15() SEG0=FINAL_DSEG()*/
969 case 63: /*(3, 1, 7) -> REXB=1 SIBBASE=0b111 | BASE0=Ar15() SEG0=FINAL_DSEG()*/
970 xed3_capture_nt_Ar15(d);
971 xed3_operand_set_base0(d, xed3_operand_get_outreg(d));
972 xed3_capture_nt_FINAL_DSEG(d);
973 xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
974 /*pacify the compiler */
975 (void)d;
976 break;
977 default:
978 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
979 break;
980 }
981 }
xed3_capture_nt_XMM_B_32(xed_decoded_inst_t * d)982 static XED_INLINE void xed3_capture_nt_XMM_B_32(xed_decoded_inst_t* d)
983 {
984 xed_uint32_t key = 0;
985 key += (xed3_operand_get_rm(d)) << ((0));
986 /* now switch code..*/
987 switch(key) {
988 case 0: /*(0,) -> RM=0x0 | OUTREG=XED_REG_XMM0*/
989 xed3_operand_set_outreg(d, XED_REG_XMM0);
990 /*pacify the compiler */
991 (void)d;
992 break;
993 case 1: /*(1,) -> RM=0x1 | OUTREG=XED_REG_XMM1*/
994 xed3_operand_set_outreg(d, XED_REG_XMM1);
995 /*pacify the compiler */
996 (void)d;
997 break;
998 case 2: /*(2,) -> RM=0x2 | OUTREG=XED_REG_XMM2*/
999 xed3_operand_set_outreg(d, XED_REG_XMM2);
1000 /*pacify the compiler */
1001 (void)d;
1002 break;
1003 case 3: /*(3,) -> RM=0x3 | OUTREG=XED_REG_XMM3*/
1004 xed3_operand_set_outreg(d, XED_REG_XMM3);
1005 /*pacify the compiler */
1006 (void)d;
1007 break;
1008 case 4: /*(4,) -> RM=0x4 | OUTREG=XED_REG_XMM4*/
1009 xed3_operand_set_outreg(d, XED_REG_XMM4);
1010 /*pacify the compiler */
1011 (void)d;
1012 break;
1013 case 5: /*(5,) -> RM=0x5 | OUTREG=XED_REG_XMM5*/
1014 xed3_operand_set_outreg(d, XED_REG_XMM5);
1015 /*pacify the compiler */
1016 (void)d;
1017 break;
1018 case 6: /*(6,) -> RM=0x6 | OUTREG=XED_REG_XMM6*/
1019 xed3_operand_set_outreg(d, XED_REG_XMM6);
1020 /*pacify the compiler */
1021 (void)d;
1022 break;
1023 case 7: /*(7,) -> RM=0x7 | OUTREG=XED_REG_XMM7*/
1024 xed3_operand_set_outreg(d, XED_REG_XMM7);
1025 /*pacify the compiler */
1026 (void)d;
1027 break;
1028 default:
1029 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
1030 break;
1031 }
1032 }
xed3_capture_nt_FINAL_DSEG_MODE64(xed_decoded_inst_t * d)1033 static XED_INLINE void xed3_capture_nt_FINAL_DSEG_MODE64(xed_decoded_inst_t* d)
1034 {
1035 xed_uint32_t key = 0;
1036 key += (xed3_operand_get_seg_ovd(d)) << ((0));
1037 /* now switch code..*/
1038 switch(key) {
1039 case 0: /*(0,) -> SEG_OVD=0 | OUTREG=XED_REG_INVALID USING_DEFAULT_SEGMENT0=1 enc*/
1040 xed3_operand_set_outreg(d, XED_REG_INVALID);
1041 xed3_operand_set_using_default_segment0(d, 0x1);
1042 /*pacify the compiler */
1043 (void)d;
1044 break;
1045 case 1: /*(1,) -> SEG_OVD=1 | OUTREG=XED_REG_INVALID USING_DEFAULT_SEGMENT0=1*/
1046 xed3_operand_set_outreg(d, XED_REG_INVALID);
1047 xed3_operand_set_using_default_segment0(d, 0x1);
1048 /*pacify the compiler */
1049 (void)d;
1050 break;
1051 case 2: /*(2,) -> SEG_OVD=2 | OUTREG=XED_REG_INVALID USING_DEFAULT_SEGMENT0=1*/
1052 xed3_operand_set_outreg(d, XED_REG_INVALID);
1053 xed3_operand_set_using_default_segment0(d, 0x1);
1054 /*pacify the compiler */
1055 (void)d;
1056 break;
1057 case 3: /*(3,) -> SEG_OVD=3 | OUTREG=XED_REG_INVALID USING_DEFAULT_SEGMENT0=1*/
1058 xed3_operand_set_outreg(d, XED_REG_INVALID);
1059 xed3_operand_set_using_default_segment0(d, 0x1);
1060 /*pacify the compiler */
1061 (void)d;
1062 break;
1063 case 4: /*(4,) -> SEG_OVD=4 | OUTREG=XED_REG_FS USING_DEFAULT_SEGMENT0=0*/
1064 xed3_operand_set_outreg(d, XED_REG_FS);
1065 xed3_operand_set_using_default_segment0(d, 0x0);
1066 /*pacify the compiler */
1067 (void)d;
1068 break;
1069 case 5: /*(5,) -> SEG_OVD=5 | OUTREG=XED_REG_GS USING_DEFAULT_SEGMENT0=0*/
1070 xed3_operand_set_outreg(d, XED_REG_GS);
1071 xed3_operand_set_using_default_segment0(d, 0x0);
1072 /*pacify the compiler */
1073 (void)d;
1074 break;
1075 case 6: /*(6,) -> SEG_OVD=6 | OUTREG=XED_REG_INVALID USING_DEFAULT_SEGMENT0=1*/
1076 xed3_operand_set_outreg(d, XED_REG_INVALID);
1077 xed3_operand_set_using_default_segment0(d, 0x1);
1078 /*pacify the compiler */
1079 (void)d;
1080 break;
1081 default:
1082 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
1083 break;
1084 }
1085 }
xed3_capture_nt_OrDX(xed_decoded_inst_t * d)1086 static XED_INLINE void xed3_capture_nt_OrDX(xed_decoded_inst_t* d)
1087 {
1088 xed_uint32_t key = 0;
1089 key += (xed3_operand_get_eosz(d)) << ((0));
1090 /* now switch code..*/
1091 switch(key) {
1092 case 1: /*(1,) -> EOSZ=1 | OUTREG=XED_REG_DX*/
1093 xed3_operand_set_outreg(d, XED_REG_DX);
1094 /*pacify the compiler */
1095 (void)d;
1096 break;
1097 case 2: /*(2,) -> EOSZ=2 | OUTREG=XED_REG_EDX*/
1098 xed3_operand_set_outreg(d, XED_REG_EDX);
1099 /*pacify the compiler */
1100 (void)d;
1101 break;
1102 case 3: /*(3,) -> EOSZ=3 | OUTREG=XED_REG_RDX*/
1103 xed3_operand_set_outreg(d, XED_REG_RDX);
1104 /*pacify the compiler */
1105 (void)d;
1106 break;
1107 default:
1108 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
1109 break;
1110 }
1111 }
xed3_capture_nt_YMM_B3_64(xed_decoded_inst_t * d)1112 static XED_INLINE void xed3_capture_nt_YMM_B3_64(xed_decoded_inst_t* d)
1113 {
1114 xed_uint32_t key = 0;
1115 key += (xed3_operand_get_rexb(d)) << ((0));
1116 key += (xed3_operand_get_rexx(d)) << ((1));
1117 key += (xed3_operand_get_rm(d)) << ((2));
1118 /* now switch code..*/
1119 switch(key) {
1120 case 0: /*(0, 0, 0) -> REXX=0 REXB=0 RM=0 | OUTREG=XED_REG_YMM0*/
1121 xed3_operand_set_outreg(d, XED_REG_YMM0);
1122 /*pacify the compiler */
1123 (void)d;
1124 break;
1125 case 1: /*(1, 0, 0) -> REXX=0 REXB=1 RM=0 | OUTREG=XED_REG_YMM8*/
1126 xed3_operand_set_outreg(d, XED_REG_YMM8);
1127 /*pacify the compiler */
1128 (void)d;
1129 break;
1130 case 2: /*(0, 1, 0) -> REXX=1 REXB=0 RM=0 | OUTREG=XED_REG_YMM16*/
1131 xed3_operand_set_outreg(d, XED_REG_YMM16);
1132 /*pacify the compiler */
1133 (void)d;
1134 break;
1135 case 3: /*(1, 1, 0) -> REXX=1 REXB=1 RM=0 | OUTREG=XED_REG_YMM24*/
1136 xed3_operand_set_outreg(d, XED_REG_YMM24);
1137 /*pacify the compiler */
1138 (void)d;
1139 break;
1140 case 4: /*(0, 0, 1) -> REXX=0 REXB=0 RM=1 | OUTREG=XED_REG_YMM1*/
1141 xed3_operand_set_outreg(d, XED_REG_YMM1);
1142 /*pacify the compiler */
1143 (void)d;
1144 break;
1145 case 5: /*(1, 0, 1) -> REXX=0 REXB=1 RM=1 | OUTREG=XED_REG_YMM9*/
1146 xed3_operand_set_outreg(d, XED_REG_YMM9);
1147 /*pacify the compiler */
1148 (void)d;
1149 break;
1150 case 6: /*(0, 1, 1) -> REXX=1 REXB=0 RM=1 | OUTREG=XED_REG_YMM17*/
1151 xed3_operand_set_outreg(d, XED_REG_YMM17);
1152 /*pacify the compiler */
1153 (void)d;
1154 break;
1155 case 7: /*(1, 1, 1) -> REXX=1 REXB=1 RM=1 | OUTREG=XED_REG_YMM25*/
1156 xed3_operand_set_outreg(d, XED_REG_YMM25);
1157 /*pacify the compiler */
1158 (void)d;
1159 break;
1160 case 8: /*(0, 0, 2) -> REXX=0 REXB=0 RM=2 | OUTREG=XED_REG_YMM2*/
1161 xed3_operand_set_outreg(d, XED_REG_YMM2);
1162 /*pacify the compiler */
1163 (void)d;
1164 break;
1165 case 9: /*(1, 0, 2) -> REXX=0 REXB=1 RM=2 | OUTREG=XED_REG_YMM10*/
1166 xed3_operand_set_outreg(d, XED_REG_YMM10);
1167 /*pacify the compiler */
1168 (void)d;
1169 break;
1170 case 10: /*(0, 1, 2) -> REXX=1 REXB=0 RM=2 | OUTREG=XED_REG_YMM18*/
1171 xed3_operand_set_outreg(d, XED_REG_YMM18);
1172 /*pacify the compiler */
1173 (void)d;
1174 break;
1175 case 11: /*(1, 1, 2) -> REXX=1 REXB=1 RM=2 | OUTREG=XED_REG_YMM26*/
1176 xed3_operand_set_outreg(d, XED_REG_YMM26);
1177 /*pacify the compiler */
1178 (void)d;
1179 break;
1180 case 12: /*(0, 0, 3) -> REXX=0 REXB=0 RM=3 | OUTREG=XED_REG_YMM3*/
1181 xed3_operand_set_outreg(d, XED_REG_YMM3);
1182 /*pacify the compiler */
1183 (void)d;
1184 break;
1185 case 13: /*(1, 0, 3) -> REXX=0 REXB=1 RM=3 | OUTREG=XED_REG_YMM11*/
1186 xed3_operand_set_outreg(d, XED_REG_YMM11);
1187 /*pacify the compiler */
1188 (void)d;
1189 break;
1190 case 14: /*(0, 1, 3) -> REXX=1 REXB=0 RM=3 | OUTREG=XED_REG_YMM19*/
1191 xed3_operand_set_outreg(d, XED_REG_YMM19);
1192 /*pacify the compiler */
1193 (void)d;
1194 break;
1195 case 15: /*(1, 1, 3) -> REXX=1 REXB=1 RM=3 | OUTREG=XED_REG_YMM27*/
1196 xed3_operand_set_outreg(d, XED_REG_YMM27);
1197 /*pacify the compiler */
1198 (void)d;
1199 break;
1200 case 16: /*(0, 0, 4) -> REXX=0 REXB=0 RM=4 | OUTREG=XED_REG_YMM4*/
1201 xed3_operand_set_outreg(d, XED_REG_YMM4);
1202 /*pacify the compiler */
1203 (void)d;
1204 break;
1205 case 17: /*(1, 0, 4) -> REXX=0 REXB=1 RM=4 | OUTREG=XED_REG_YMM12*/
1206 xed3_operand_set_outreg(d, XED_REG_YMM12);
1207 /*pacify the compiler */
1208 (void)d;
1209 break;
1210 case 18: /*(0, 1, 4) -> REXX=1 REXB=0 RM=4 | OUTREG=XED_REG_YMM20*/
1211 xed3_operand_set_outreg(d, XED_REG_YMM20);
1212 /*pacify the compiler */
1213 (void)d;
1214 break;
1215 case 19: /*(1, 1, 4) -> REXX=1 REXB=1 RM=4 | OUTREG=XED_REG_YMM28*/
1216 xed3_operand_set_outreg(d, XED_REG_YMM28);
1217 /*pacify the compiler */
1218 (void)d;
1219 break;
1220 case 20: /*(0, 0, 5) -> REXX=0 REXB=0 RM=5 | OUTREG=XED_REG_YMM5*/
1221 xed3_operand_set_outreg(d, XED_REG_YMM5);
1222 /*pacify the compiler */
1223 (void)d;
1224 break;
1225 case 21: /*(1, 0, 5) -> REXX=0 REXB=1 RM=5 | OUTREG=XED_REG_YMM13*/
1226 xed3_operand_set_outreg(d, XED_REG_YMM13);
1227 /*pacify the compiler */
1228 (void)d;
1229 break;
1230 case 22: /*(0, 1, 5) -> REXX=1 REXB=0 RM=5 | OUTREG=XED_REG_YMM21*/
1231 xed3_operand_set_outreg(d, XED_REG_YMM21);
1232 /*pacify the compiler */
1233 (void)d;
1234 break;
1235 case 23: /*(1, 1, 5) -> REXX=1 REXB=1 RM=5 | OUTREG=XED_REG_YMM29*/
1236 xed3_operand_set_outreg(d, XED_REG_YMM29);
1237 /*pacify the compiler */
1238 (void)d;
1239 break;
1240 case 24: /*(0, 0, 6) -> REXX=0 REXB=0 RM=6 | OUTREG=XED_REG_YMM6*/
1241 xed3_operand_set_outreg(d, XED_REG_YMM6);
1242 /*pacify the compiler */
1243 (void)d;
1244 break;
1245 case 25: /*(1, 0, 6) -> REXX=0 REXB=1 RM=6 | OUTREG=XED_REG_YMM14*/
1246 xed3_operand_set_outreg(d, XED_REG_YMM14);
1247 /*pacify the compiler */
1248 (void)d;
1249 break;
1250 case 26: /*(0, 1, 6) -> REXX=1 REXB=0 RM=6 | OUTREG=XED_REG_YMM22*/
1251 xed3_operand_set_outreg(d, XED_REG_YMM22);
1252 /*pacify the compiler */
1253 (void)d;
1254 break;
1255 case 27: /*(1, 1, 6) -> REXX=1 REXB=1 RM=6 | OUTREG=XED_REG_YMM30*/
1256 xed3_operand_set_outreg(d, XED_REG_YMM30);
1257 /*pacify the compiler */
1258 (void)d;
1259 break;
1260 case 28: /*(0, 0, 7) -> REXX=0 REXB=0 RM=7 | OUTREG=XED_REG_YMM7*/
1261 xed3_operand_set_outreg(d, XED_REG_YMM7);
1262 /*pacify the compiler */
1263 (void)d;
1264 break;
1265 case 29: /*(1, 0, 7) -> REXX=0 REXB=1 RM=7 | OUTREG=XED_REG_YMM15*/
1266 xed3_operand_set_outreg(d, XED_REG_YMM15);
1267 /*pacify the compiler */
1268 (void)d;
1269 break;
1270 case 30: /*(0, 1, 7) -> REXX=1 REXB=0 RM=7 | OUTREG=XED_REG_YMM23*/
1271 xed3_operand_set_outreg(d, XED_REG_YMM23);
1272 /*pacify the compiler */
1273 (void)d;
1274 break;
1275 case 31: /*(1, 1, 7) -> REXX=1 REXB=1 RM=7 | OUTREG=XED_REG_YMM31*/
1276 xed3_operand_set_outreg(d, XED_REG_YMM31);
1277 /*pacify the compiler */
1278 (void)d;
1279 break;
1280 default:
1281 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
1282 break;
1283 }
1284 }
xed3_capture_nt_SIB(xed_decoded_inst_t * d)1285 static XED_INLINE void xed3_capture_nt_SIB(xed_decoded_inst_t* d)
1286 {
1287 xed_uint32_t key = 0;
1288 key += (xed3_operand_get_rexx(d)) << ((0));
1289 key += (xed3_operand_get_sibindex(d)) << ((1));
1290 key += (xed3_operand_get_sibscale(d)) << ((4));
1291 /* now switch code..*/
1292 switch(key) {
1293 case 0: /*(0, 0, 0) -> REXX=0 SIBSCALE[0b00] SIBINDEX[0b000] SIBBASE[bbb] SIB_BASE0() | INDEX=ArAX() SCALE=1*/
1294 xed3_capture_nt_SIB_BASE0(d);
1295 xed3_capture_nt_ArAX(d);
1296 xed3_operand_set_index(d, xed3_operand_get_outreg(d));
1297 xed3_operand_set_scale(d, 0x1);
1298 /*pacify the compiler */
1299 (void)d;
1300 break;
1301 case 1: /*(1, 0, 0) -> REXX=1 SIBSCALE[0b00] SIBINDEX[0b000] SIBBASE[bbb] SIB_BASE0() | INDEX=Ar8() SCALE=1*/
1302 xed3_capture_nt_SIB_BASE0(d);
1303 xed3_capture_nt_Ar8(d);
1304 xed3_operand_set_index(d, xed3_operand_get_outreg(d));
1305 xed3_operand_set_scale(d, 0x1);
1306 /*pacify the compiler */
1307 (void)d;
1308 break;
1309 case 2: /*(0, 1, 0) -> REXX=0 SIBSCALE[0b00] SIBINDEX[0b001] SIBBASE[bbb] SIB_BASE0() | INDEX=ArCX() SCALE=1*/
1310 xed3_capture_nt_SIB_BASE0(d);
1311 xed3_capture_nt_ArCX(d);
1312 xed3_operand_set_index(d, xed3_operand_get_outreg(d));
1313 xed3_operand_set_scale(d, 0x1);
1314 /*pacify the compiler */
1315 (void)d;
1316 break;
1317 case 3: /*(1, 1, 0) -> REXX=1 SIBSCALE[0b00] SIBINDEX[0b001] SIBBASE[bbb] SIB_BASE0() | INDEX=Ar9() SCALE=1*/
1318 xed3_capture_nt_SIB_BASE0(d);
1319 xed3_capture_nt_Ar9(d);
1320 xed3_operand_set_index(d, xed3_operand_get_outreg(d));
1321 xed3_operand_set_scale(d, 0x1);
1322 /*pacify the compiler */
1323 (void)d;
1324 break;
1325 case 4: /*(0, 2, 0) -> REXX=0 SIBSCALE[0b00] SIBINDEX[0b010] SIBBASE[bbb] SIB_BASE0() | INDEX=ArDX() SCALE=1*/
1326 xed3_capture_nt_SIB_BASE0(d);
1327 xed3_capture_nt_ArDX(d);
1328 xed3_operand_set_index(d, xed3_operand_get_outreg(d));
1329 xed3_operand_set_scale(d, 0x1);
1330 /*pacify the compiler */
1331 (void)d;
1332 break;
1333 case 5: /*(1, 2, 0) -> REXX=1 SIBSCALE[0b00] SIBINDEX[0b010] SIBBASE[bbb] SIB_BASE0() | INDEX=Ar10() SCALE=1*/
1334 xed3_capture_nt_SIB_BASE0(d);
1335 xed3_capture_nt_Ar10(d);
1336 xed3_operand_set_index(d, xed3_operand_get_outreg(d));
1337 xed3_operand_set_scale(d, 0x1);
1338 /*pacify the compiler */
1339 (void)d;
1340 break;
1341 case 6: /*(0, 3, 0) -> REXX=0 SIBSCALE[0b00] SIBINDEX[0b011] SIBBASE[bbb] SIB_BASE0() | INDEX=ArBX() SCALE=1*/
1342 xed3_capture_nt_SIB_BASE0(d);
1343 xed3_capture_nt_ArBX(d);
1344 xed3_operand_set_index(d, xed3_operand_get_outreg(d));
1345 xed3_operand_set_scale(d, 0x1);
1346 /*pacify the compiler */
1347 (void)d;
1348 break;
1349 case 7: /*(1, 3, 0) -> REXX=1 SIBSCALE[0b00] SIBINDEX[0b011] SIBBASE[bbb] SIB_BASE0() | INDEX=Ar11() SCALE=1*/
1350 xed3_capture_nt_SIB_BASE0(d);
1351 xed3_capture_nt_Ar11(d);
1352 xed3_operand_set_index(d, xed3_operand_get_outreg(d));
1353 xed3_operand_set_scale(d, 0x1);
1354 /*pacify the compiler */
1355 (void)d;
1356 break;
1357 case 8: /*(0, 4, 0) -> REXX=0 SIBSCALE[0b00] SIBINDEX[0b100] SIBBASE[bbb] SIB_BASE0() | INDEX=XED_REG_INVALID SCALE=1 enc*/
1358 xed3_capture_nt_SIB_BASE0(d);
1359 xed3_operand_set_index(d, XED_REG_INVALID);
1360 xed3_operand_set_scale(d, 0x1);
1361 /*pacify the compiler */
1362 (void)d;
1363 break;
1364 case 9: /*(1, 4, 0) -> REXX=1 SIBSCALE[0b00] SIBINDEX[0b100] SIBBASE[bbb] SIB_BASE0() | INDEX=Ar12() SCALE=1*/
1365 xed3_capture_nt_SIB_BASE0(d);
1366 xed3_capture_nt_Ar12(d);
1367 xed3_operand_set_index(d, xed3_operand_get_outreg(d));
1368 xed3_operand_set_scale(d, 0x1);
1369 /*pacify the compiler */
1370 (void)d;
1371 break;
1372 case 10: /*(0, 5, 0) -> REXX=0 SIBSCALE[0b00] SIBINDEX[0b101] SIBBASE[bbb] SIB_BASE0() | INDEX=ArBP() SCALE=1*/
1373 xed3_capture_nt_SIB_BASE0(d);
1374 xed3_capture_nt_ArBP(d);
1375 xed3_operand_set_index(d, xed3_operand_get_outreg(d));
1376 xed3_operand_set_scale(d, 0x1);
1377 /*pacify the compiler */
1378 (void)d;
1379 break;
1380 case 11: /*(1, 5, 0) -> REXX=1 SIBSCALE[0b00] SIBINDEX[0b101] SIBBASE[bbb] SIB_BASE0() | INDEX=Ar13() SCALE=1*/
1381 xed3_capture_nt_SIB_BASE0(d);
1382 xed3_capture_nt_Ar13(d);
1383 xed3_operand_set_index(d, xed3_operand_get_outreg(d));
1384 xed3_operand_set_scale(d, 0x1);
1385 /*pacify the compiler */
1386 (void)d;
1387 break;
1388 case 12: /*(0, 6, 0) -> REXX=0 SIBSCALE[0b00] SIBINDEX[0b110] SIBBASE[bbb] SIB_BASE0() | INDEX=ArSI() SCALE=1*/
1389 xed3_capture_nt_SIB_BASE0(d);
1390 xed3_capture_nt_ArSI(d);
1391 xed3_operand_set_index(d, xed3_operand_get_outreg(d));
1392 xed3_operand_set_scale(d, 0x1);
1393 /*pacify the compiler */
1394 (void)d;
1395 break;
1396 case 13: /*(1, 6, 0) -> REXX=1 SIBSCALE[0b00] SIBINDEX[0b110] SIBBASE[bbb] SIB_BASE0() | INDEX=Ar14() SCALE=1*/
1397 xed3_capture_nt_SIB_BASE0(d);
1398 xed3_capture_nt_Ar14(d);
1399 xed3_operand_set_index(d, xed3_operand_get_outreg(d));
1400 xed3_operand_set_scale(d, 0x1);
1401 /*pacify the compiler */
1402 (void)d;
1403 break;
1404 case 14: /*(0, 7, 0) -> REXX=0 SIBSCALE[0b00] SIBINDEX[0b111] SIBBASE[bbb] SIB_BASE0() | INDEX=ArDI() SCALE=1*/
1405 xed3_capture_nt_SIB_BASE0(d);
1406 xed3_capture_nt_ArDI(d);
1407 xed3_operand_set_index(d, xed3_operand_get_outreg(d));
1408 xed3_operand_set_scale(d, 0x1);
1409 /*pacify the compiler */
1410 (void)d;
1411 break;
1412 case 15: /*(1, 7, 0) -> REXX=1 SIBSCALE[0b00] SIBINDEX[0b111] SIBBASE[bbb] SIB_BASE0() | INDEX=Ar15() SCALE=1*/
1413 xed3_capture_nt_SIB_BASE0(d);
1414 xed3_capture_nt_Ar15(d);
1415 xed3_operand_set_index(d, xed3_operand_get_outreg(d));
1416 xed3_operand_set_scale(d, 0x1);
1417 /*pacify the compiler */
1418 (void)d;
1419 break;
1420 case 16: /*(0, 0, 1) -> REXX=0 SIBSCALE[0b01] SIBINDEX[0b000] SIBBASE[bbb] SIB_BASE0() | INDEX=ArAX() SCALE=2*/
1421 xed3_capture_nt_SIB_BASE0(d);
1422 xed3_capture_nt_ArAX(d);
1423 xed3_operand_set_index(d, xed3_operand_get_outreg(d));
1424 xed3_operand_set_scale(d, 0x2);
1425 /*pacify the compiler */
1426 (void)d;
1427 break;
1428 case 17: /*(1, 0, 1) -> REXX=1 SIBSCALE[0b01] SIBINDEX[0b000] SIBBASE[bbb] SIB_BASE0() | INDEX=Ar8() SCALE=2*/
1429 xed3_capture_nt_SIB_BASE0(d);
1430 xed3_capture_nt_Ar8(d);
1431 xed3_operand_set_index(d, xed3_operand_get_outreg(d));
1432 xed3_operand_set_scale(d, 0x2);
1433 /*pacify the compiler */
1434 (void)d;
1435 break;
1436 case 18: /*(0, 1, 1) -> REXX=0 SIBSCALE[0b01] SIBINDEX[0b001] SIBBASE[bbb] SIB_BASE0() | INDEX=ArCX() SCALE=2*/
1437 xed3_capture_nt_SIB_BASE0(d);
1438 xed3_capture_nt_ArCX(d);
1439 xed3_operand_set_index(d, xed3_operand_get_outreg(d));
1440 xed3_operand_set_scale(d, 0x2);
1441 /*pacify the compiler */
1442 (void)d;
1443 break;
1444 case 19: /*(1, 1, 1) -> REXX=1 SIBSCALE[0b01] SIBINDEX[0b001] SIBBASE[bbb] SIB_BASE0() | INDEX=Ar9() SCALE=2*/
1445 xed3_capture_nt_SIB_BASE0(d);
1446 xed3_capture_nt_Ar9(d);
1447 xed3_operand_set_index(d, xed3_operand_get_outreg(d));
1448 xed3_operand_set_scale(d, 0x2);
1449 /*pacify the compiler */
1450 (void)d;
1451 break;
1452 case 20: /*(0, 2, 1) -> REXX=0 SIBSCALE[0b01] SIBINDEX[0b010] SIBBASE[bbb] SIB_BASE0() | INDEX=ArDX() SCALE=2*/
1453 xed3_capture_nt_SIB_BASE0(d);
1454 xed3_capture_nt_ArDX(d);
1455 xed3_operand_set_index(d, xed3_operand_get_outreg(d));
1456 xed3_operand_set_scale(d, 0x2);
1457 /*pacify the compiler */
1458 (void)d;
1459 break;
1460 case 21: /*(1, 2, 1) -> REXX=1 SIBSCALE[0b01] SIBINDEX[0b010] SIBBASE[bbb] SIB_BASE0() | INDEX=Ar10() SCALE=2*/
1461 xed3_capture_nt_SIB_BASE0(d);
1462 xed3_capture_nt_Ar10(d);
1463 xed3_operand_set_index(d, xed3_operand_get_outreg(d));
1464 xed3_operand_set_scale(d, 0x2);
1465 /*pacify the compiler */
1466 (void)d;
1467 break;
1468 case 22: /*(0, 3, 1) -> REXX=0 SIBSCALE[0b01] SIBINDEX[0b011] SIBBASE[bbb] SIB_BASE0() | INDEX=ArBX() SCALE=2*/
1469 xed3_capture_nt_SIB_BASE0(d);
1470 xed3_capture_nt_ArBX(d);
1471 xed3_operand_set_index(d, xed3_operand_get_outreg(d));
1472 xed3_operand_set_scale(d, 0x2);
1473 /*pacify the compiler */
1474 (void)d;
1475 break;
1476 case 23: /*(1, 3, 1) -> REXX=1 SIBSCALE[0b01] SIBINDEX[0b011] SIBBASE[bbb] SIB_BASE0() | INDEX=Ar11() SCALE=2*/
1477 xed3_capture_nt_SIB_BASE0(d);
1478 xed3_capture_nt_Ar11(d);
1479 xed3_operand_set_index(d, xed3_operand_get_outreg(d));
1480 xed3_operand_set_scale(d, 0x2);
1481 /*pacify the compiler */
1482 (void)d;
1483 break;
1484 case 24: /*(0, 4, 1) -> REXX=0 SIBSCALE[0b01] SIBINDEX[0b100] SIBBASE[bbb] SIB_BASE0() | INDEX=XED_REG_INVALID SCALE=1*/
1485 xed3_capture_nt_SIB_BASE0(d);
1486 xed3_operand_set_index(d, XED_REG_INVALID);
1487 xed3_operand_set_scale(d, 0x1);
1488 /*pacify the compiler */
1489 (void)d;
1490 break;
1491 case 25: /*(1, 4, 1) -> REXX=1 SIBSCALE[0b01] SIBINDEX[0b100] SIBBASE[bbb] SIB_BASE0() | INDEX=Ar12() SCALE=2*/
1492 xed3_capture_nt_SIB_BASE0(d);
1493 xed3_capture_nt_Ar12(d);
1494 xed3_operand_set_index(d, xed3_operand_get_outreg(d));
1495 xed3_operand_set_scale(d, 0x2);
1496 /*pacify the compiler */
1497 (void)d;
1498 break;
1499 case 26: /*(0, 5, 1) -> REXX=0 SIBSCALE[0b01] SIBINDEX[0b101] SIBBASE[bbb] SIB_BASE0() | INDEX=ArBP() SCALE=2*/
1500 xed3_capture_nt_SIB_BASE0(d);
1501 xed3_capture_nt_ArBP(d);
1502 xed3_operand_set_index(d, xed3_operand_get_outreg(d));
1503 xed3_operand_set_scale(d, 0x2);
1504 /*pacify the compiler */
1505 (void)d;
1506 break;
1507 case 27: /*(1, 5, 1) -> REXX=1 SIBSCALE[0b01] SIBINDEX[0b101] SIBBASE[bbb] SIB_BASE0() | INDEX=Ar13() SCALE=2*/
1508 xed3_capture_nt_SIB_BASE0(d);
1509 xed3_capture_nt_Ar13(d);
1510 xed3_operand_set_index(d, xed3_operand_get_outreg(d));
1511 xed3_operand_set_scale(d, 0x2);
1512 /*pacify the compiler */
1513 (void)d;
1514 break;
1515 case 28: /*(0, 6, 1) -> REXX=0 SIBSCALE[0b01] SIBINDEX[0b110] SIBBASE[bbb] SIB_BASE0() | INDEX=ArSI() SCALE=2*/
1516 xed3_capture_nt_SIB_BASE0(d);
1517 xed3_capture_nt_ArSI(d);
1518 xed3_operand_set_index(d, xed3_operand_get_outreg(d));
1519 xed3_operand_set_scale(d, 0x2);
1520 /*pacify the compiler */
1521 (void)d;
1522 break;
1523 case 29: /*(1, 6, 1) -> REXX=1 SIBSCALE[0b01] SIBINDEX[0b110] SIBBASE[bbb] SIB_BASE0() | INDEX=Ar14() SCALE=2*/
1524 xed3_capture_nt_SIB_BASE0(d);
1525 xed3_capture_nt_Ar14(d);
1526 xed3_operand_set_index(d, xed3_operand_get_outreg(d));
1527 xed3_operand_set_scale(d, 0x2);
1528 /*pacify the compiler */
1529 (void)d;
1530 break;
1531 case 30: /*(0, 7, 1) -> REXX=0 SIBSCALE[0b01] SIBINDEX[0b111] SIBBASE[bbb] SIB_BASE0() | INDEX=ArDI() SCALE=2*/
1532 xed3_capture_nt_SIB_BASE0(d);
1533 xed3_capture_nt_ArDI(d);
1534 xed3_operand_set_index(d, xed3_operand_get_outreg(d));
1535 xed3_operand_set_scale(d, 0x2);
1536 /*pacify the compiler */
1537 (void)d;
1538 break;
1539 case 31: /*(1, 7, 1) -> REXX=1 SIBSCALE[0b01] SIBINDEX[0b111] SIBBASE[bbb] SIB_BASE0() | INDEX=Ar15() SCALE=2*/
1540 xed3_capture_nt_SIB_BASE0(d);
1541 xed3_capture_nt_Ar15(d);
1542 xed3_operand_set_index(d, xed3_operand_get_outreg(d));
1543 xed3_operand_set_scale(d, 0x2);
1544 /*pacify the compiler */
1545 (void)d;
1546 break;
1547 case 32: /*(0, 0, 2) -> REXX=0 SIBSCALE[0b10] SIBINDEX[0b000] SIBBASE[bbb] SIB_BASE0() | INDEX=ArAX() SCALE=4*/
1548 xed3_capture_nt_SIB_BASE0(d);
1549 xed3_capture_nt_ArAX(d);
1550 xed3_operand_set_index(d, xed3_operand_get_outreg(d));
1551 xed3_operand_set_scale(d, 0x4);
1552 /*pacify the compiler */
1553 (void)d;
1554 break;
1555 case 33: /*(1, 0, 2) -> REXX=1 SIBSCALE[0b10] SIBINDEX[0b000] SIBBASE[bbb] SIB_BASE0() | INDEX=Ar8() SCALE=4*/
1556 xed3_capture_nt_SIB_BASE0(d);
1557 xed3_capture_nt_Ar8(d);
1558 xed3_operand_set_index(d, xed3_operand_get_outreg(d));
1559 xed3_operand_set_scale(d, 0x4);
1560 /*pacify the compiler */
1561 (void)d;
1562 break;
1563 case 34: /*(0, 1, 2) -> REXX=0 SIBSCALE[0b10] SIBINDEX[0b001] SIBBASE[bbb] SIB_BASE0() | INDEX=ArCX() SCALE=4*/
1564 xed3_capture_nt_SIB_BASE0(d);
1565 xed3_capture_nt_ArCX(d);
1566 xed3_operand_set_index(d, xed3_operand_get_outreg(d));
1567 xed3_operand_set_scale(d, 0x4);
1568 /*pacify the compiler */
1569 (void)d;
1570 break;
1571 case 35: /*(1, 1, 2) -> REXX=1 SIBSCALE[0b10] SIBINDEX[0b001] SIBBASE[bbb] SIB_BASE0() | INDEX=Ar9() SCALE=4*/
1572 xed3_capture_nt_SIB_BASE0(d);
1573 xed3_capture_nt_Ar9(d);
1574 xed3_operand_set_index(d, xed3_operand_get_outreg(d));
1575 xed3_operand_set_scale(d, 0x4);
1576 /*pacify the compiler */
1577 (void)d;
1578 break;
1579 case 36: /*(0, 2, 2) -> REXX=0 SIBSCALE[0b10] SIBINDEX[0b010] SIBBASE[bbb] SIB_BASE0() | INDEX=ArDX() SCALE=4*/
1580 xed3_capture_nt_SIB_BASE0(d);
1581 xed3_capture_nt_ArDX(d);
1582 xed3_operand_set_index(d, xed3_operand_get_outreg(d));
1583 xed3_operand_set_scale(d, 0x4);
1584 /*pacify the compiler */
1585 (void)d;
1586 break;
1587 case 37: /*(1, 2, 2) -> REXX=1 SIBSCALE[0b10] SIBINDEX[0b010] SIBBASE[bbb] SIB_BASE0() | INDEX=Ar10() SCALE=4*/
1588 xed3_capture_nt_SIB_BASE0(d);
1589 xed3_capture_nt_Ar10(d);
1590 xed3_operand_set_index(d, xed3_operand_get_outreg(d));
1591 xed3_operand_set_scale(d, 0x4);
1592 /*pacify the compiler */
1593 (void)d;
1594 break;
1595 case 38: /*(0, 3, 2) -> REXX=0 SIBSCALE[0b10] SIBINDEX[0b011] SIBBASE[bbb] SIB_BASE0() | INDEX=ArBX() SCALE=4*/
1596 xed3_capture_nt_SIB_BASE0(d);
1597 xed3_capture_nt_ArBX(d);
1598 xed3_operand_set_index(d, xed3_operand_get_outreg(d));
1599 xed3_operand_set_scale(d, 0x4);
1600 /*pacify the compiler */
1601 (void)d;
1602 break;
1603 case 39: /*(1, 3, 2) -> REXX=1 SIBSCALE[0b10] SIBINDEX[0b011] SIBBASE[bbb] SIB_BASE0() | INDEX=Ar11() SCALE=4*/
1604 xed3_capture_nt_SIB_BASE0(d);
1605 xed3_capture_nt_Ar11(d);
1606 xed3_operand_set_index(d, xed3_operand_get_outreg(d));
1607 xed3_operand_set_scale(d, 0x4);
1608 /*pacify the compiler */
1609 (void)d;
1610 break;
1611 case 40: /*(0, 4, 2) -> REXX=0 SIBSCALE[0b10] SIBINDEX[0b100] SIBBASE[bbb] SIB_BASE0() | INDEX=XED_REG_INVALID SCALE=1*/
1612 xed3_capture_nt_SIB_BASE0(d);
1613 xed3_operand_set_index(d, XED_REG_INVALID);
1614 xed3_operand_set_scale(d, 0x1);
1615 /*pacify the compiler */
1616 (void)d;
1617 break;
1618 case 41: /*(1, 4, 2) -> REXX=1 SIBSCALE[0b10] SIBINDEX[0b100] SIBBASE[bbb] SIB_BASE0() | INDEX=Ar12() SCALE=4*/
1619 xed3_capture_nt_SIB_BASE0(d);
1620 xed3_capture_nt_Ar12(d);
1621 xed3_operand_set_index(d, xed3_operand_get_outreg(d));
1622 xed3_operand_set_scale(d, 0x4);
1623 /*pacify the compiler */
1624 (void)d;
1625 break;
1626 case 42: /*(0, 5, 2) -> REXX=0 SIBSCALE[0b10] SIBINDEX[0b101] SIBBASE[bbb] SIB_BASE0() | INDEX=ArBP() SCALE=4*/
1627 xed3_capture_nt_SIB_BASE0(d);
1628 xed3_capture_nt_ArBP(d);
1629 xed3_operand_set_index(d, xed3_operand_get_outreg(d));
1630 xed3_operand_set_scale(d, 0x4);
1631 /*pacify the compiler */
1632 (void)d;
1633 break;
1634 case 43: /*(1, 5, 2) -> REXX=1 SIBSCALE[0b10] SIBINDEX[0b101] SIBBASE[bbb] SIB_BASE0() | INDEX=Ar13() SCALE=4*/
1635 xed3_capture_nt_SIB_BASE0(d);
1636 xed3_capture_nt_Ar13(d);
1637 xed3_operand_set_index(d, xed3_operand_get_outreg(d));
1638 xed3_operand_set_scale(d, 0x4);
1639 /*pacify the compiler */
1640 (void)d;
1641 break;
1642 case 44: /*(0, 6, 2) -> REXX=0 SIBSCALE[0b10] SIBINDEX[0b110] SIBBASE[bbb] SIB_BASE0() | INDEX=ArSI() SCALE=4*/
1643 xed3_capture_nt_SIB_BASE0(d);
1644 xed3_capture_nt_ArSI(d);
1645 xed3_operand_set_index(d, xed3_operand_get_outreg(d));
1646 xed3_operand_set_scale(d, 0x4);
1647 /*pacify the compiler */
1648 (void)d;
1649 break;
1650 case 45: /*(1, 6, 2) -> REXX=1 SIBSCALE[0b10] SIBINDEX[0b110] SIBBASE[bbb] SIB_BASE0() | INDEX=Ar14() SCALE=4*/
1651 xed3_capture_nt_SIB_BASE0(d);
1652 xed3_capture_nt_Ar14(d);
1653 xed3_operand_set_index(d, xed3_operand_get_outreg(d));
1654 xed3_operand_set_scale(d, 0x4);
1655 /*pacify the compiler */
1656 (void)d;
1657 break;
1658 case 46: /*(0, 7, 2) -> REXX=0 SIBSCALE[0b10] SIBINDEX[0b111] SIBBASE[bbb] SIB_BASE0() | INDEX=ArDI() SCALE=4*/
1659 xed3_capture_nt_SIB_BASE0(d);
1660 xed3_capture_nt_ArDI(d);
1661 xed3_operand_set_index(d, xed3_operand_get_outreg(d));
1662 xed3_operand_set_scale(d, 0x4);
1663 /*pacify the compiler */
1664 (void)d;
1665 break;
1666 case 47: /*(1, 7, 2) -> REXX=1 SIBSCALE[0b10] SIBINDEX[0b111] SIBBASE[bbb] SIB_BASE0() | INDEX=Ar15() SCALE=4*/
1667 xed3_capture_nt_SIB_BASE0(d);
1668 xed3_capture_nt_Ar15(d);
1669 xed3_operand_set_index(d, xed3_operand_get_outreg(d));
1670 xed3_operand_set_scale(d, 0x4);
1671 /*pacify the compiler */
1672 (void)d;
1673 break;
1674 case 48: /*(0, 0, 3) -> REXX=0 SIBSCALE[0b11] SIBINDEX[0b000] SIBBASE[bbb] SIB_BASE0() | INDEX=ArAX() SCALE=8*/
1675 xed3_capture_nt_SIB_BASE0(d);
1676 xed3_capture_nt_ArAX(d);
1677 xed3_operand_set_index(d, xed3_operand_get_outreg(d));
1678 xed3_operand_set_scale(d, 0x8);
1679 /*pacify the compiler */
1680 (void)d;
1681 break;
1682 case 49: /*(1, 0, 3) -> REXX=1 SIBSCALE[0b11] SIBINDEX[0b000] SIBBASE[bbb] SIB_BASE0() | INDEX=Ar8() SCALE=8*/
1683 xed3_capture_nt_SIB_BASE0(d);
1684 xed3_capture_nt_Ar8(d);
1685 xed3_operand_set_index(d, xed3_operand_get_outreg(d));
1686 xed3_operand_set_scale(d, 0x8);
1687 /*pacify the compiler */
1688 (void)d;
1689 break;
1690 case 50: /*(0, 1, 3) -> REXX=0 SIBSCALE[0b11] SIBINDEX[0b001] SIBBASE[bbb] SIB_BASE0() | INDEX=ArCX() SCALE=8*/
1691 xed3_capture_nt_SIB_BASE0(d);
1692 xed3_capture_nt_ArCX(d);
1693 xed3_operand_set_index(d, xed3_operand_get_outreg(d));
1694 xed3_operand_set_scale(d, 0x8);
1695 /*pacify the compiler */
1696 (void)d;
1697 break;
1698 case 51: /*(1, 1, 3) -> REXX=1 SIBSCALE[0b11] SIBINDEX[0b001] SIBBASE[bbb] SIB_BASE0() | INDEX=Ar9() SCALE=8*/
1699 xed3_capture_nt_SIB_BASE0(d);
1700 xed3_capture_nt_Ar9(d);
1701 xed3_operand_set_index(d, xed3_operand_get_outreg(d));
1702 xed3_operand_set_scale(d, 0x8);
1703 /*pacify the compiler */
1704 (void)d;
1705 break;
1706 case 52: /*(0, 2, 3) -> REXX=0 SIBSCALE[0b11] SIBINDEX[0b010] SIBBASE[bbb] SIB_BASE0() | INDEX=ArDX() SCALE=8*/
1707 xed3_capture_nt_SIB_BASE0(d);
1708 xed3_capture_nt_ArDX(d);
1709 xed3_operand_set_index(d, xed3_operand_get_outreg(d));
1710 xed3_operand_set_scale(d, 0x8);
1711 /*pacify the compiler */
1712 (void)d;
1713 break;
1714 case 53: /*(1, 2, 3) -> REXX=1 SIBSCALE[0b11] SIBINDEX[0b010] SIBBASE[bbb] SIB_BASE0() | INDEX=Ar10() SCALE=8*/
1715 xed3_capture_nt_SIB_BASE0(d);
1716 xed3_capture_nt_Ar10(d);
1717 xed3_operand_set_index(d, xed3_operand_get_outreg(d));
1718 xed3_operand_set_scale(d, 0x8);
1719 /*pacify the compiler */
1720 (void)d;
1721 break;
1722 case 54: /*(0, 3, 3) -> REXX=0 SIBSCALE[0b11] SIBINDEX[0b011] SIBBASE[bbb] SIB_BASE0() | INDEX=ArBX() SCALE=8*/
1723 xed3_capture_nt_SIB_BASE0(d);
1724 xed3_capture_nt_ArBX(d);
1725 xed3_operand_set_index(d, xed3_operand_get_outreg(d));
1726 xed3_operand_set_scale(d, 0x8);
1727 /*pacify the compiler */
1728 (void)d;
1729 break;
1730 case 55: /*(1, 3, 3) -> REXX=1 SIBSCALE[0b11] SIBINDEX[0b011] SIBBASE[bbb] SIB_BASE0() | INDEX=Ar11() SCALE=8*/
1731 xed3_capture_nt_SIB_BASE0(d);
1732 xed3_capture_nt_Ar11(d);
1733 xed3_operand_set_index(d, xed3_operand_get_outreg(d));
1734 xed3_operand_set_scale(d, 0x8);
1735 /*pacify the compiler */
1736 (void)d;
1737 break;
1738 case 56: /*(0, 4, 3) -> REXX=0 SIBSCALE[0b11] SIBINDEX[0b100] SIBBASE[bbb] SIB_BASE0() | INDEX=XED_REG_INVALID SCALE=1*/
1739 xed3_capture_nt_SIB_BASE0(d);
1740 xed3_operand_set_index(d, XED_REG_INVALID);
1741 xed3_operand_set_scale(d, 0x1);
1742 /*pacify the compiler */
1743 (void)d;
1744 break;
1745 case 57: /*(1, 4, 3) -> REXX=1 SIBSCALE[0b11] SIBINDEX[0b100] SIBBASE[bbb] SIB_BASE0() | INDEX=Ar12() SCALE=8*/
1746 xed3_capture_nt_SIB_BASE0(d);
1747 xed3_capture_nt_Ar12(d);
1748 xed3_operand_set_index(d, xed3_operand_get_outreg(d));
1749 xed3_operand_set_scale(d, 0x8);
1750 /*pacify the compiler */
1751 (void)d;
1752 break;
1753 case 58: /*(0, 5, 3) -> REXX=0 SIBSCALE[0b11] SIBINDEX[0b101] SIBBASE[bbb] SIB_BASE0() | INDEX=ArBP() SCALE=8*/
1754 xed3_capture_nt_SIB_BASE0(d);
1755 xed3_capture_nt_ArBP(d);
1756 xed3_operand_set_index(d, xed3_operand_get_outreg(d));
1757 xed3_operand_set_scale(d, 0x8);
1758 /*pacify the compiler */
1759 (void)d;
1760 break;
1761 case 59: /*(1, 5, 3) -> REXX=1 SIBSCALE[0b11] SIBINDEX[0b101] SIBBASE[bbb] SIB_BASE0() | INDEX=Ar13() SCALE=8*/
1762 xed3_capture_nt_SIB_BASE0(d);
1763 xed3_capture_nt_Ar13(d);
1764 xed3_operand_set_index(d, xed3_operand_get_outreg(d));
1765 xed3_operand_set_scale(d, 0x8);
1766 /*pacify the compiler */
1767 (void)d;
1768 break;
1769 case 60: /*(0, 6, 3) -> REXX=0 SIBSCALE[0b11] SIBINDEX[0b110] SIBBASE[bbb] SIB_BASE0() | INDEX=ArSI() SCALE=8*/
1770 xed3_capture_nt_SIB_BASE0(d);
1771 xed3_capture_nt_ArSI(d);
1772 xed3_operand_set_index(d, xed3_operand_get_outreg(d));
1773 xed3_operand_set_scale(d, 0x8);
1774 /*pacify the compiler */
1775 (void)d;
1776 break;
1777 case 61: /*(1, 6, 3) -> REXX=1 SIBSCALE[0b11] SIBINDEX[0b110] SIBBASE[bbb] SIB_BASE0() | INDEX=Ar14() SCALE=8*/
1778 xed3_capture_nt_SIB_BASE0(d);
1779 xed3_capture_nt_Ar14(d);
1780 xed3_operand_set_index(d, xed3_operand_get_outreg(d));
1781 xed3_operand_set_scale(d, 0x8);
1782 /*pacify the compiler */
1783 (void)d;
1784 break;
1785 case 62: /*(0, 7, 3) -> REXX=0 SIBSCALE[0b11] SIBINDEX[0b111] SIBBASE[bbb] SIB_BASE0() | INDEX=ArDI() SCALE=8*/
1786 xed3_capture_nt_SIB_BASE0(d);
1787 xed3_capture_nt_ArDI(d);
1788 xed3_operand_set_index(d, xed3_operand_get_outreg(d));
1789 xed3_operand_set_scale(d, 0x8);
1790 /*pacify the compiler */
1791 (void)d;
1792 break;
1793 case 63: /*(1, 7, 3) -> REXX=1 SIBSCALE[0b11] SIBINDEX[0b111] SIBBASE[bbb] SIB_BASE0() | INDEX=Ar15() SCALE=8*/
1794 xed3_capture_nt_SIB_BASE0(d);
1795 xed3_capture_nt_Ar15(d);
1796 xed3_operand_set_index(d, xed3_operand_get_outreg(d));
1797 xed3_operand_set_scale(d, 0x8);
1798 /*pacify the compiler */
1799 (void)d;
1800 break;
1801 default:
1802 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
1803 break;
1804 }
1805 }
xed3_capture_nt_OVERRIDE_SEG1(xed_decoded_inst_t * d)1806 static XED_INLINE void xed3_capture_nt_OVERRIDE_SEG1(xed_decoded_inst_t* d)
1807 {
1808 xed_uint32_t key = 0;
1809 key += (xed3_operand_get_mode(d)) << ((0));
1810 /* now switch code..*/
1811 switch(key) {
1812 case 0: /*(0,) -> mode16 |*/
1813 /*pacify the compiler */
1814 (void)d;
1815 break;
1816 case 1: /*(1,) -> mode32 |*/
1817 /*pacify the compiler */
1818 (void)d;
1819 break;
1820 case 2: /*(2,) -> mode64 |*/
1821 /*pacify the compiler */
1822 (void)d;
1823 break;
1824 default:
1825 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
1826 break;
1827 }
1828 }
xed3_capture_nt_OVERRIDE_SEG0(xed_decoded_inst_t * d)1829 static XED_INLINE void xed3_capture_nt_OVERRIDE_SEG0(xed_decoded_inst_t* d)
1830 {
1831 xed_uint32_t key = 0;
1832 key += (xed3_operand_get_mode(d)) << ((0));
1833 /* now switch code..*/
1834 switch(key) {
1835 case 0: /*(0,) -> mode16 |*/
1836 /*pacify the compiler */
1837 (void)d;
1838 break;
1839 case 1: /*(1,) -> mode32 |*/
1840 /*pacify the compiler */
1841 (void)d;
1842 break;
1843 case 2: /*(2,) -> mode64 |*/
1844 /*pacify the compiler */
1845 (void)d;
1846 break;
1847 default:
1848 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
1849 break;
1850 }
1851 }
xed3_capture_nt_FINAL_SSEG0(xed_decoded_inst_t * d)1852 static XED_INLINE void xed3_capture_nt_FINAL_SSEG0(xed_decoded_inst_t* d)
1853 {
1854 xed_uint32_t key = 0;
1855 key += (xed3_operand_get_mode(d)) << ((0));
1856 /* now switch code..*/
1857 switch(key) {
1858 case 0: /*(0,) -> mode16 | OUTREG=XED_REG_SS USING_DEFAULT_SEGMENT0=1*/
1859 xed3_operand_set_outreg(d, XED_REG_SS);
1860 xed3_operand_set_using_default_segment0(d, 0x1);
1861 /*pacify the compiler */
1862 (void)d;
1863 break;
1864 case 1: /*(1,) -> mode32 | OUTREG=XED_REG_SS USING_DEFAULT_SEGMENT0=1*/
1865 xed3_operand_set_outreg(d, XED_REG_SS);
1866 xed3_operand_set_using_default_segment0(d, 0x1);
1867 /*pacify the compiler */
1868 (void)d;
1869 break;
1870 case 2: /*(2,) -> mode64 | OUTREG=XED_REG_INVALID USING_DEFAULT_SEGMENT0=1*/
1871 xed3_operand_set_outreg(d, XED_REG_INVALID);
1872 xed3_operand_set_using_default_segment0(d, 0x1);
1873 /*pacify the compiler */
1874 (void)d;
1875 break;
1876 default:
1877 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
1878 break;
1879 }
1880 }
xed3_capture_nt_FINAL_SSEG1(xed_decoded_inst_t * d)1881 static XED_INLINE void xed3_capture_nt_FINAL_SSEG1(xed_decoded_inst_t* d)
1882 {
1883 xed_uint32_t key = 0;
1884 key += (xed3_operand_get_mode(d)) << ((0));
1885 /* now switch code..*/
1886 switch(key) {
1887 case 0: /*(0,) -> mode16 | OUTREG=XED_REG_SS USING_DEFAULT_SEGMENT1=1*/
1888 xed3_operand_set_outreg(d, XED_REG_SS);
1889 xed3_operand_set_using_default_segment1(d, 0x1);
1890 /*pacify the compiler */
1891 (void)d;
1892 break;
1893 case 1: /*(1,) -> mode32 | OUTREG=XED_REG_SS USING_DEFAULT_SEGMENT1=1*/
1894 xed3_operand_set_outreg(d, XED_REG_SS);
1895 xed3_operand_set_using_default_segment1(d, 0x1);
1896 /*pacify the compiler */
1897 (void)d;
1898 break;
1899 case 2: /*(2,) -> mode64 | OUTREG=XED_REG_INVALID USING_DEFAULT_SEGMENT1=1*/
1900 xed3_operand_set_outreg(d, XED_REG_INVALID);
1901 xed3_operand_set_using_default_segment1(d, 0x1);
1902 /*pacify the compiler */
1903 (void)d;
1904 break;
1905 default:
1906 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
1907 break;
1908 }
1909 }
xed3_capture_nt_NELEM_TUPLE1_4X(xed_decoded_inst_t * d)1910 static XED_INLINE void xed3_capture_nt_NELEM_TUPLE1_4X(xed_decoded_inst_t* d)
1911 {
1912 xed_uint32_t key = 0;
1913 key += (xed3_operand_get_vl(d)) << ((0));
1914 /* now switch code..*/
1915 switch(key) {
1916 case 0: /*(0,) -> VL128 | NELEM=4*/
1917 xed3_operand_set_nelem(d, 0x4);
1918 /*pacify the compiler */
1919 (void)d;
1920 break;
1921 case 1: /*(1,) -> VL256 | NELEM=4*/
1922 xed3_operand_set_nelem(d, 0x4);
1923 /*pacify the compiler */
1924 (void)d;
1925 break;
1926 case 2: /*(2,) -> VL512 | NELEM=4*/
1927 xed3_operand_set_nelem(d, 0x4);
1928 /*pacify the compiler */
1929 (void)d;
1930 break;
1931 default:
1932 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
1933 break;
1934 }
1935 }
xed3_capture_nt_ONE(xed_decoded_inst_t * d)1936 static XED_INLINE void xed3_capture_nt_ONE(xed_decoded_inst_t* d)
1937 {
1938 xed_uint32_t key = 0;
1939 key += (xed3_operand_get_mode(d)) << ((0));
1940 /* now switch code..*/
1941 switch(key) {
1942 case 0: /*(0,) -> mode16 | IMM_WIDTH=8 UIMM0=1*/
1943 xed3_operand_set_imm_width(d, 0x8);
1944 xed3_operand_set_uimm0(d, 0x1);
1945 /*pacify the compiler */
1946 (void)d;
1947 break;
1948 case 1: /*(1,) -> mode32 | IMM_WIDTH=8 UIMM0=1*/
1949 xed3_operand_set_imm_width(d, 0x8);
1950 xed3_operand_set_uimm0(d, 0x1);
1951 /*pacify the compiler */
1952 (void)d;
1953 break;
1954 case 2: /*(2,) -> mode64 | IMM_WIDTH=8 UIMM0=1*/
1955 xed3_operand_set_imm_width(d, 0x8);
1956 xed3_operand_set_uimm0(d, 0x1);
1957 /*pacify the compiler */
1958 (void)d;
1959 break;
1960 default:
1961 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
1962 break;
1963 }
1964 }
xed3_capture_nt_NELEM_FULL(xed_decoded_inst_t * d)1965 static XED_INLINE void xed3_capture_nt_NELEM_FULL(xed_decoded_inst_t* d)
1966 {
1967 xed_uint32_t key = 0;
1968 key += (xed3_operand_get_bcrc(d)) << ((0));
1969 key += (xed3_operand_get_element_size(d)) << ((1));
1970 key += (xed3_operand_get_vl(d)) << ((10));
1971 /* now switch code..*/
1972 switch(key) {
1973 case 32: /*(0, 16, 0) -> BCRC=0b0 ELEMENT_SIZE=16 VL128 | NELEM=8*/
1974 xed3_operand_set_nelem(d, 0x8);
1975 /*pacify the compiler */
1976 (void)d;
1977 break;
1978 case 33: /*(1, 16, 0) -> BCRC=0b1 ELEMENT_SIZE=16 VL128 | NELEM=1 EMX_BROADCAST_1TO8_16*/
1979 xed3_operand_set_nelem(d, 0x1);
1980 xed3_operand_set_bcast(d, 0xe);
1981 /*pacify the compiler */
1982 (void)d;
1983 break;
1984 case 64: /*(0, 32, 0) -> BCRC=0b0 ELEMENT_SIZE=32 VL128 | NELEM=4*/
1985 xed3_operand_set_nelem(d, 0x4);
1986 /*pacify the compiler */
1987 (void)d;
1988 break;
1989 case 65: /*(1, 32, 0) -> BCRC=0b1 ELEMENT_SIZE=32 VL128 | NELEM=1 EMX_BROADCAST_1TO4_32*/
1990 xed3_operand_set_nelem(d, 0x1);
1991 xed3_operand_set_bcast(d, 0xa);
1992 /*pacify the compiler */
1993 (void)d;
1994 break;
1995 case 128: /*(0, 64, 0) -> BCRC=0b0 ELEMENT_SIZE=64 VL128 | NELEM=2*/
1996 xed3_operand_set_nelem(d, 0x2);
1997 /*pacify the compiler */
1998 (void)d;
1999 break;
2000 case 129: /*(1, 64, 0) -> BCRC=0b1 ELEMENT_SIZE=64 VL128 | NELEM=1 EMX_BROADCAST_1TO2_64*/
2001 xed3_operand_set_nelem(d, 0x1);
2002 xed3_operand_set_bcast(d, 0xb);
2003 /*pacify the compiler */
2004 (void)d;
2005 break;
2006 case 1056: /*(0, 16, 1) -> BCRC=0b0 ELEMENT_SIZE=16 VL256 | NELEM=16*/
2007 xed3_operand_set_nelem(d, 0x10);
2008 /*pacify the compiler */
2009 (void)d;
2010 break;
2011 case 1057: /*(1, 16, 1) -> BCRC=0b1 ELEMENT_SIZE=16 VL256 | NELEM=1 EMX_BROADCAST_1TO16_16*/
2012 xed3_operand_set_nelem(d, 0x1);
2013 xed3_operand_set_bcast(d, 0xf);
2014 /*pacify the compiler */
2015 (void)d;
2016 break;
2017 case 1088: /*(0, 32, 1) -> BCRC=0b0 ELEMENT_SIZE=32 VL256 | NELEM=8*/
2018 xed3_operand_set_nelem(d, 0x8);
2019 /*pacify the compiler */
2020 (void)d;
2021 break;
2022 case 1089: /*(1, 32, 1) -> BCRC=0b1 ELEMENT_SIZE=32 VL256 | NELEM=1 EMX_BROADCAST_1TO8_32*/
2023 xed3_operand_set_nelem(d, 0x1);
2024 xed3_operand_set_bcast(d, 0x3);
2025 /*pacify the compiler */
2026 (void)d;
2027 break;
2028 case 1152: /*(0, 64, 1) -> BCRC=0b0 ELEMENT_SIZE=64 VL256 | NELEM=4*/
2029 xed3_operand_set_nelem(d, 0x4);
2030 /*pacify the compiler */
2031 (void)d;
2032 break;
2033 case 1153: /*(1, 64, 1) -> BCRC=0b1 ELEMENT_SIZE=64 VL256 | NELEM=1 EMX_BROADCAST_1TO4_64*/
2034 xed3_operand_set_nelem(d, 0x1);
2035 xed3_operand_set_bcast(d, 0xd);
2036 /*pacify the compiler */
2037 (void)d;
2038 break;
2039 case 2080: /*(0, 16, 2) -> BCRC=0b0 ELEMENT_SIZE=16 VL512 | NELEM=32*/
2040 xed3_operand_set_nelem(d, 0x20);
2041 /*pacify the compiler */
2042 (void)d;
2043 break;
2044 case 2081: /*(1, 16, 2) -> BCRC=0b1 ELEMENT_SIZE=16 VL512 | NELEM=1 EMX_BROADCAST_1TO32_16*/
2045 xed3_operand_set_nelem(d, 0x1);
2046 xed3_operand_set_bcast(d, 0x10);
2047 /*pacify the compiler */
2048 (void)d;
2049 break;
2050 case 2112: /*(0, 32, 2) -> BCRC=0b0 ELEMENT_SIZE=32 VL512 | NELEM=16*/
2051 xed3_operand_set_nelem(d, 0x10);
2052 /*pacify the compiler */
2053 (void)d;
2054 break;
2055 case 2113: /*(1, 32, 2) -> BCRC=0b1 ELEMENT_SIZE=32 VL512 | NELEM=1 EMX_BROADCAST_1TO16_32*/
2056 xed3_operand_set_nelem(d, 0x1);
2057 xed3_operand_set_bcast(d, 0x1);
2058 /*pacify the compiler */
2059 (void)d;
2060 break;
2061 case 2176: /*(0, 64, 2) -> BCRC=0b0 ELEMENT_SIZE=64 VL512 | NELEM=8*/
2062 xed3_operand_set_nelem(d, 0x8);
2063 /*pacify the compiler */
2064 (void)d;
2065 break;
2066 case 2177: /*(1, 64, 2) -> BCRC=0b1 ELEMENT_SIZE=64 VL512 | NELEM=1 EMX_BROADCAST_1TO8_64*/
2067 xed3_operand_set_nelem(d, 0x1);
2068 xed3_operand_set_bcast(d, 0x5);
2069 /*pacify the compiler */
2070 (void)d;
2071 break;
2072 default:
2073 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
2074 break;
2075 }
2076 }
xed3_capture_nt_VGPRy_N(xed_decoded_inst_t * d)2077 static XED_INLINE void xed3_capture_nt_VGPRy_N(xed_decoded_inst_t* d)
2078 {
2079 xed_uint32_t key = 0;
2080 key += (xed3_operand_get_eosz(d)) << ((0));
2081 /* now switch code..*/
2082 switch(key) {
2083 case 1: /*(1,) -> EOSZ=1 | OUTREG=VGPR32_N()*/
2084 xed3_capture_nt_VGPR32_N(d);
2085 /*pacify the compiler */
2086 (void)d;
2087 break;
2088 case 2: /*(2,) -> EOSZ=2 | OUTREG=VGPR32_N()*/
2089 xed3_capture_nt_VGPR32_N(d);
2090 /*pacify the compiler */
2091 (void)d;
2092 break;
2093 case 3: /*(3,) -> EOSZ=3 | OUTREG=VGPR64_N()*/
2094 xed3_capture_nt_VGPR64_N(d);
2095 /*pacify the compiler */
2096 (void)d;
2097 break;
2098 default:
2099 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
2100 break;
2101 }
2102 }
xed3_capture_nt_GPR8_R(xed_decoded_inst_t * d)2103 static XED_INLINE void xed3_capture_nt_GPR8_R(xed_decoded_inst_t* d)
2104 {
2105 xed_uint32_t key = 0;
2106 key += (xed3_operand_get_reg(d)) << ((0));
2107 key += (xed3_operand_get_rex(d)) << ((3));
2108 key += (xed3_operand_get_rexr(d)) << ((4));
2109 /* now switch code..*/
2110 switch(key) {
2111 case 0: /*(0, 0, 0) -> REXR=0 REG=0x0 | OUTREG=XED_REG_AL*/
2112 case 8: /*(0, 1, 0) -> REXR=0 REG=0x0 | OUTREG=XED_REG_AL*/
2113 xed3_operand_set_outreg(d, XED_REG_AL);
2114 /*pacify the compiler */
2115 (void)d;
2116 break;
2117 case 1: /*(1, 0, 0) -> REXR=0 REG=0x1 | OUTREG=XED_REG_CL*/
2118 case 9: /*(1, 1, 0) -> REXR=0 REG=0x1 | OUTREG=XED_REG_CL*/
2119 xed3_operand_set_outreg(d, XED_REG_CL);
2120 /*pacify the compiler */
2121 (void)d;
2122 break;
2123 case 2: /*(2, 0, 0) -> REXR=0 REG=0x2 | OUTREG=XED_REG_DL*/
2124 case 10: /*(2, 1, 0) -> REXR=0 REG=0x2 | OUTREG=XED_REG_DL*/
2125 xed3_operand_set_outreg(d, XED_REG_DL);
2126 /*pacify the compiler */
2127 (void)d;
2128 break;
2129 case 11: /*(3, 1, 0) -> REXR=0 REG=0x3 | OUTREG=XED_REG_BL*/
2130 case 3: /*(3, 0, 0) -> REXR=0 REG=0x3 | OUTREG=XED_REG_BL*/
2131 xed3_operand_set_outreg(d, XED_REG_BL);
2132 /*pacify the compiler */
2133 (void)d;
2134 break;
2135 case 4: /*(4, 0, 0) -> REXR=0 REG=0x4 REX=0 | OUTREG=XED_REG_AH*/
2136 xed3_operand_set_outreg(d, XED_REG_AH);
2137 /*pacify the compiler */
2138 (void)d;
2139 break;
2140 case 5: /*(5, 0, 0) -> REXR=0 REG=0x5 REX=0 | OUTREG=XED_REG_CH*/
2141 xed3_operand_set_outreg(d, XED_REG_CH);
2142 /*pacify the compiler */
2143 (void)d;
2144 break;
2145 case 6: /*(6, 0, 0) -> REXR=0 REG=0x6 REX=0 | OUTREG=XED_REG_DH*/
2146 xed3_operand_set_outreg(d, XED_REG_DH);
2147 /*pacify the compiler */
2148 (void)d;
2149 break;
2150 case 7: /*(7, 0, 0) -> REXR=0 REG=0x7 REX=0 | OUTREG=XED_REG_BH*/
2151 xed3_operand_set_outreg(d, XED_REG_BH);
2152 /*pacify the compiler */
2153 (void)d;
2154 break;
2155 case 12: /*(4, 1, 0) -> REXR=0 REG=0x4 REX=1 | OUTREG=XED_REG_SPL*/
2156 xed3_operand_set_outreg(d, XED_REG_SPL);
2157 /*pacify the compiler */
2158 (void)d;
2159 break;
2160 case 13: /*(5, 1, 0) -> REXR=0 REG=0x5 REX=1 | OUTREG=XED_REG_BPL*/
2161 xed3_operand_set_outreg(d, XED_REG_BPL);
2162 /*pacify the compiler */
2163 (void)d;
2164 break;
2165 case 14: /*(6, 1, 0) -> REXR=0 REG=0x6 REX=1 | OUTREG=XED_REG_SIL*/
2166 xed3_operand_set_outreg(d, XED_REG_SIL);
2167 /*pacify the compiler */
2168 (void)d;
2169 break;
2170 case 15: /*(7, 1, 0) -> REXR=0 REG=0x7 REX=1 | OUTREG=XED_REG_DIL*/
2171 xed3_operand_set_outreg(d, XED_REG_DIL);
2172 /*pacify the compiler */
2173 (void)d;
2174 break;
2175 case 24: /*(0, 1, 1) -> REXR=1 REG=0x0 | OUTREG=XED_REG_R8B*/
2176 case 16: /*(0, 0, 1) -> REXR=1 REG=0x0 | OUTREG=XED_REG_R8B*/
2177 xed3_operand_set_outreg(d, XED_REG_R8B);
2178 /*pacify the compiler */
2179 (void)d;
2180 break;
2181 case 17: /*(1, 0, 1) -> REXR=1 REG=0x1 | OUTREG=XED_REG_R9B*/
2182 case 25: /*(1, 1, 1) -> REXR=1 REG=0x1 | OUTREG=XED_REG_R9B*/
2183 xed3_operand_set_outreg(d, XED_REG_R9B);
2184 /*pacify the compiler */
2185 (void)d;
2186 break;
2187 case 18: /*(2, 0, 1) -> REXR=1 REG=0x2 | OUTREG=XED_REG_R10B*/
2188 case 26: /*(2, 1, 1) -> REXR=1 REG=0x2 | OUTREG=XED_REG_R10B*/
2189 xed3_operand_set_outreg(d, XED_REG_R10B);
2190 /*pacify the compiler */
2191 (void)d;
2192 break;
2193 case 27: /*(3, 1, 1) -> REXR=1 REG=0x3 | OUTREG=XED_REG_R11B*/
2194 case 19: /*(3, 0, 1) -> REXR=1 REG=0x3 | OUTREG=XED_REG_R11B*/
2195 xed3_operand_set_outreg(d, XED_REG_R11B);
2196 /*pacify the compiler */
2197 (void)d;
2198 break;
2199 case 20: /*(4, 0, 1) -> REXR=1 REG=0x4 | OUTREG=XED_REG_R12B*/
2200 case 28: /*(4, 1, 1) -> REXR=1 REG=0x4 | OUTREG=XED_REG_R12B*/
2201 xed3_operand_set_outreg(d, XED_REG_R12B);
2202 /*pacify the compiler */
2203 (void)d;
2204 break;
2205 case 29: /*(5, 1, 1) -> REXR=1 REG=0x5 | OUTREG=XED_REG_R13B*/
2206 case 21: /*(5, 0, 1) -> REXR=1 REG=0x5 | OUTREG=XED_REG_R13B*/
2207 xed3_operand_set_outreg(d, XED_REG_R13B);
2208 /*pacify the compiler */
2209 (void)d;
2210 break;
2211 case 22: /*(6, 0, 1) -> REXR=1 REG=0x6 | OUTREG=XED_REG_R14B*/
2212 case 30: /*(6, 1, 1) -> REXR=1 REG=0x6 | OUTREG=XED_REG_R14B*/
2213 xed3_operand_set_outreg(d, XED_REG_R14B);
2214 /*pacify the compiler */
2215 (void)d;
2216 break;
2217 case 31: /*(7, 1, 1) -> REXR=1 REG=0x7 | OUTREG=XED_REG_R15B*/
2218 case 23: /*(7, 0, 1) -> REXR=1 REG=0x7 | OUTREG=XED_REG_R15B*/
2219 xed3_operand_set_outreg(d, XED_REG_R15B);
2220 /*pacify the compiler */
2221 (void)d;
2222 break;
2223 default:
2224 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
2225 break;
2226 }
2227 }
xed3_capture_nt_VGPR32_R(xed_decoded_inst_t * d)2228 static XED_INLINE void xed3_capture_nt_VGPR32_R(xed_decoded_inst_t* d)
2229 {
2230 xed_uint32_t key = 0;
2231 key += (xed3_operand_get_mode(d)) << ((0));
2232 /* now switch code..*/
2233 switch(key) {
2234 case 0: /*(0,) -> mode16 | OUTREG=VGPR32_R_32()*/
2235 xed3_capture_nt_VGPR32_R_32(d);
2236 /*pacify the compiler */
2237 (void)d;
2238 break;
2239 case 1: /*(1,) -> mode32 | OUTREG=VGPR32_R_32()*/
2240 xed3_capture_nt_VGPR32_R_32(d);
2241 /*pacify the compiler */
2242 (void)d;
2243 break;
2244 case 2: /*(2,) -> mode64 | OUTREG=VGPR32_R_64()*/
2245 xed3_capture_nt_VGPR32_R_64(d);
2246 /*pacify the compiler */
2247 (void)d;
2248 break;
2249 default:
2250 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
2251 break;
2252 }
2253 }
xed3_capture_nt_XMM_N3_32(xed_decoded_inst_t * d)2254 static XED_INLINE void xed3_capture_nt_XMM_N3_32(xed_decoded_inst_t* d)
2255 {
2256 xed_uint32_t key = 0;
2257 key += (xed3_operand_get_vexdest210(d)) << ((0));
2258 /* now switch code..*/
2259 switch(key) {
2260 case 0: /*(0,) -> VEXDEST210=0 | OUTREG=XED_REG_XMM7*/
2261 xed3_operand_set_outreg(d, XED_REG_XMM7);
2262 /*pacify the compiler */
2263 (void)d;
2264 break;
2265 case 1: /*(1,) -> VEXDEST210=1 | OUTREG=XED_REG_XMM6*/
2266 xed3_operand_set_outreg(d, XED_REG_XMM6);
2267 /*pacify the compiler */
2268 (void)d;
2269 break;
2270 case 2: /*(2,) -> VEXDEST210=2 | OUTREG=XED_REG_XMM5*/
2271 xed3_operand_set_outreg(d, XED_REG_XMM5);
2272 /*pacify the compiler */
2273 (void)d;
2274 break;
2275 case 3: /*(3,) -> VEXDEST210=3 | OUTREG=XED_REG_XMM4*/
2276 xed3_operand_set_outreg(d, XED_REG_XMM4);
2277 /*pacify the compiler */
2278 (void)d;
2279 break;
2280 case 4: /*(4,) -> VEXDEST210=4 | OUTREG=XED_REG_XMM3*/
2281 xed3_operand_set_outreg(d, XED_REG_XMM3);
2282 /*pacify the compiler */
2283 (void)d;
2284 break;
2285 case 5: /*(5,) -> VEXDEST210=5 | OUTREG=XED_REG_XMM2*/
2286 xed3_operand_set_outreg(d, XED_REG_XMM2);
2287 /*pacify the compiler */
2288 (void)d;
2289 break;
2290 case 6: /*(6,) -> VEXDEST210=6 | OUTREG=XED_REG_XMM1*/
2291 xed3_operand_set_outreg(d, XED_REG_XMM1);
2292 /*pacify the compiler */
2293 (void)d;
2294 break;
2295 case 7: /*(7,) -> VEXDEST210=7 | OUTREG=XED_REG_XMM0*/
2296 xed3_operand_set_outreg(d, XED_REG_XMM0);
2297 /*pacify the compiler */
2298 (void)d;
2299 break;
2300 default:
2301 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
2302 break;
2303 }
2304 }
xed3_capture_nt_Ar8(xed_decoded_inst_t * d)2305 static XED_INLINE void xed3_capture_nt_Ar8(xed_decoded_inst_t* d)
2306 {
2307 xed_uint32_t key = 0;
2308 key += (xed3_operand_get_easz(d)) << ((0));
2309 /* now switch code..*/
2310 switch(key) {
2311 case 1: /*(1,) -> EASZ=1 | OUTREG=XED_REG_R8W*/
2312 xed3_operand_set_outreg(d, XED_REG_R8W);
2313 /*pacify the compiler */
2314 (void)d;
2315 break;
2316 case 2: /*(2,) -> EASZ=2 | OUTREG=XED_REG_R8D*/
2317 xed3_operand_set_outreg(d, XED_REG_R8D);
2318 /*pacify the compiler */
2319 (void)d;
2320 break;
2321 case 3: /*(3,) -> EASZ=3 | OUTREG=XED_REG_R8*/
2322 xed3_operand_set_outreg(d, XED_REG_R8);
2323 /*pacify the compiler */
2324 (void)d;
2325 break;
2326 default:
2327 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
2328 break;
2329 }
2330 }
xed3_capture_nt_Ar9(xed_decoded_inst_t * d)2331 static XED_INLINE void xed3_capture_nt_Ar9(xed_decoded_inst_t* d)
2332 {
2333 xed_uint32_t key = 0;
2334 key += (xed3_operand_get_easz(d)) << ((0));
2335 /* now switch code..*/
2336 switch(key) {
2337 case 1: /*(1,) -> EASZ=1 | OUTREG=XED_REG_R9W*/
2338 xed3_operand_set_outreg(d, XED_REG_R9W);
2339 /*pacify the compiler */
2340 (void)d;
2341 break;
2342 case 2: /*(2,) -> EASZ=2 | OUTREG=XED_REG_R9D*/
2343 xed3_operand_set_outreg(d, XED_REG_R9D);
2344 /*pacify the compiler */
2345 (void)d;
2346 break;
2347 case 3: /*(3,) -> EASZ=3 | OUTREG=XED_REG_R9*/
2348 xed3_operand_set_outreg(d, XED_REG_R9);
2349 /*pacify the compiler */
2350 (void)d;
2351 break;
2352 default:
2353 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
2354 break;
2355 }
2356 }
xed3_capture_nt_NELEM_HALFMEM(xed_decoded_inst_t * d)2357 static XED_INLINE void xed3_capture_nt_NELEM_HALFMEM(xed_decoded_inst_t* d)
2358 {
2359 xed_uint32_t key = 0;
2360 key += (xed3_operand_get_element_size(d)) << ((0));
2361 key += (xed3_operand_get_vl(d)) << ((9));
2362 /* now switch code..*/
2363 switch(key) {
2364 case 1: /*(1, 0) -> ELEMENT_SIZE=1 VL128 | NELEM=64*/
2365 xed3_operand_set_nelem(d, 0x40);
2366 /*pacify the compiler */
2367 (void)d;
2368 break;
2369 case 2: /*(2, 0) -> ELEMENT_SIZE=2 VL128 | NELEM=32*/
2370 xed3_operand_set_nelem(d, 0x20);
2371 /*pacify the compiler */
2372 (void)d;
2373 break;
2374 case 4: /*(4, 0) -> ELEMENT_SIZE=4 VL128 | NELEM=16*/
2375 xed3_operand_set_nelem(d, 0x10);
2376 /*pacify the compiler */
2377 (void)d;
2378 break;
2379 case 8: /*(8, 0) -> ELEMENT_SIZE=8 VL128 | NELEM=8*/
2380 xed3_operand_set_nelem(d, 0x8);
2381 /*pacify the compiler */
2382 (void)d;
2383 break;
2384 case 16: /*(16, 0) -> ELEMENT_SIZE=16 VL128 | NELEM=4*/
2385 xed3_operand_set_nelem(d, 0x4);
2386 /*pacify the compiler */
2387 (void)d;
2388 break;
2389 case 32: /*(32, 0) -> ELEMENT_SIZE=32 VL128 | NELEM=2*/
2390 xed3_operand_set_nelem(d, 0x2);
2391 /*pacify the compiler */
2392 (void)d;
2393 break;
2394 case 64: /*(64, 0) -> ELEMENT_SIZE=64 VL128 | NELEM=1*/
2395 xed3_operand_set_nelem(d, 0x1);
2396 /*pacify the compiler */
2397 (void)d;
2398 break;
2399 case 128: /*(128, 0) -> ELEMENT_SIZE=128 VL128 | error*/
2400 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
2401 break;
2402 case 256: /*(256, 0) -> ELEMENT_SIZE=256 VL128 | error*/
2403 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
2404 break;
2405 case 512: /*(512, 0) -> ELEMENT_SIZE=512 VL128 | error*/
2406 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
2407 break;
2408 case 513: /*(1, 1) -> ELEMENT_SIZE=1 VL256 | NELEM=128*/
2409 xed3_operand_set_nelem(d, 0x80);
2410 /*pacify the compiler */
2411 (void)d;
2412 break;
2413 case 514: /*(2, 1) -> ELEMENT_SIZE=2 VL256 | NELEM=64*/
2414 xed3_operand_set_nelem(d, 0x40);
2415 /*pacify the compiler */
2416 (void)d;
2417 break;
2418 case 516: /*(4, 1) -> ELEMENT_SIZE=4 VL256 | NELEM=32*/
2419 xed3_operand_set_nelem(d, 0x20);
2420 /*pacify the compiler */
2421 (void)d;
2422 break;
2423 case 520: /*(8, 1) -> ELEMENT_SIZE=8 VL256 | NELEM=16*/
2424 xed3_operand_set_nelem(d, 0x10);
2425 /*pacify the compiler */
2426 (void)d;
2427 break;
2428 case 528: /*(16, 1) -> ELEMENT_SIZE=16 VL256 | NELEM=8*/
2429 xed3_operand_set_nelem(d, 0x8);
2430 /*pacify the compiler */
2431 (void)d;
2432 break;
2433 case 544: /*(32, 1) -> ELEMENT_SIZE=32 VL256 | NELEM=4*/
2434 xed3_operand_set_nelem(d, 0x4);
2435 /*pacify the compiler */
2436 (void)d;
2437 break;
2438 case 576: /*(64, 1) -> ELEMENT_SIZE=64 VL256 | NELEM=2*/
2439 xed3_operand_set_nelem(d, 0x2);
2440 /*pacify the compiler */
2441 (void)d;
2442 break;
2443 case 640: /*(128, 1) -> ELEMENT_SIZE=128 VL256 | NELEM=1*/
2444 xed3_operand_set_nelem(d, 0x1);
2445 /*pacify the compiler */
2446 (void)d;
2447 break;
2448 case 768: /*(256, 1) -> ELEMENT_SIZE=256 VL256 | error*/
2449 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
2450 break;
2451 case 1024: /*(512, 1) -> ELEMENT_SIZE=512 VL256 | error*/
2452 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
2453 break;
2454 case 1025: /*(1, 2) -> ELEMENT_SIZE=1 VL512 | NELEM=256*/
2455 xed3_operand_set_nelem(d, 0x100);
2456 /*pacify the compiler */
2457 (void)d;
2458 break;
2459 case 1026: /*(2, 2) -> ELEMENT_SIZE=2 VL512 | NELEM=128*/
2460 xed3_operand_set_nelem(d, 0x80);
2461 /*pacify the compiler */
2462 (void)d;
2463 break;
2464 case 1028: /*(4, 2) -> ELEMENT_SIZE=4 VL512 | NELEM=64*/
2465 xed3_operand_set_nelem(d, 0x40);
2466 /*pacify the compiler */
2467 (void)d;
2468 break;
2469 case 1032: /*(8, 2) -> ELEMENT_SIZE=8 VL512 | NELEM=32*/
2470 xed3_operand_set_nelem(d, 0x20);
2471 /*pacify the compiler */
2472 (void)d;
2473 break;
2474 case 1040: /*(16, 2) -> ELEMENT_SIZE=16 VL512 | NELEM=16*/
2475 xed3_operand_set_nelem(d, 0x10);
2476 /*pacify the compiler */
2477 (void)d;
2478 break;
2479 case 1056: /*(32, 2) -> ELEMENT_SIZE=32 VL512 | NELEM=8*/
2480 xed3_operand_set_nelem(d, 0x8);
2481 /*pacify the compiler */
2482 (void)d;
2483 break;
2484 case 1088: /*(64, 2) -> ELEMENT_SIZE=64 VL512 | NELEM=4*/
2485 xed3_operand_set_nelem(d, 0x4);
2486 /*pacify the compiler */
2487 (void)d;
2488 break;
2489 case 1152: /*(128, 2) -> ELEMENT_SIZE=128 VL512 | NELEM=2*/
2490 xed3_operand_set_nelem(d, 0x2);
2491 /*pacify the compiler */
2492 (void)d;
2493 break;
2494 case 1280: /*(256, 2) -> ELEMENT_SIZE=256 VL512 | NELEM=1*/
2495 xed3_operand_set_nelem(d, 0x1);
2496 /*pacify the compiler */
2497 (void)d;
2498 break;
2499 case 1536: /*(512, 2) -> ELEMENT_SIZE=512 VL512 | error*/
2500 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
2501 break;
2502 default:
2503 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
2504 break;
2505 }
2506 }
xed3_capture_nt_SAE(xed_decoded_inst_t * d)2507 static XED_INLINE void xed3_capture_nt_SAE(xed_decoded_inst_t* d)
2508 {
2509 xed_uint32_t key = 0;
2510 key += (xed3_operand_get_bcrc(d)) << ((0));
2511 /* now switch code..*/
2512 switch(key) {
2513 case 0: /*(0,) -> BCRC=0 | error*/
2514 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
2515 break;
2516 case 1: /*(1,) -> BCRC=1 | SAE=1*/
2517 xed3_operand_set_sae(d, 0x1);
2518 /*pacify the compiler */
2519 (void)d;
2520 break;
2521 default:
2522 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
2523 break;
2524 }
2525 }
xed3_capture_nt_AVX512_ROUND(xed_decoded_inst_t * d)2526 static XED_INLINE void xed3_capture_nt_AVX512_ROUND(xed_decoded_inst_t* d)
2527 {
2528 xed_uint32_t key = 0;
2529 key += (xed3_operand_get_llrc(d)) << ((0));
2530 /* now switch code..*/
2531 switch(key) {
2532 case 0: /*(0,) -> LLRC=0b00 | ROUNDC=1 SAE=1*/
2533 xed3_operand_set_roundc(d, 0x1);
2534 xed3_operand_set_sae(d, 0x1);
2535 /*pacify the compiler */
2536 (void)d;
2537 break;
2538 case 1: /*(1,) -> LLRC=0b01 | ROUNDC=2 SAE=1*/
2539 xed3_operand_set_roundc(d, 0x2);
2540 xed3_operand_set_sae(d, 0x1);
2541 /*pacify the compiler */
2542 (void)d;
2543 break;
2544 case 2: /*(2,) -> LLRC=0b10 | ROUNDC=3 SAE=1*/
2545 xed3_operand_set_roundc(d, 0x3);
2546 xed3_operand_set_sae(d, 0x1);
2547 /*pacify the compiler */
2548 (void)d;
2549 break;
2550 case 3: /*(3,) -> LLRC=0b11 | ROUNDC=4 SAE=1*/
2551 xed3_operand_set_roundc(d, 0x4);
2552 xed3_operand_set_sae(d, 0x1);
2553 /*pacify the compiler */
2554 (void)d;
2555 break;
2556 default:
2557 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
2558 break;
2559 }
2560 }
xed3_capture_nt_GPR8_B(xed_decoded_inst_t * d)2561 static XED_INLINE void xed3_capture_nt_GPR8_B(xed_decoded_inst_t* d)
2562 {
2563 xed_uint32_t key = 0;
2564 key += (xed3_operand_get_rex(d)) << ((0));
2565 key += (xed3_operand_get_rexb(d)) << ((1));
2566 key += (xed3_operand_get_rm(d)) << ((2));
2567 /* now switch code..*/
2568 switch(key) {
2569 case 1: /*(1, 0, 0) -> REXB=0 RM=0x0 | OUTREG=XED_REG_AL*/
2570 case 0: /*(0, 0, 0) -> REXB=0 RM=0x0 | OUTREG=XED_REG_AL*/
2571 xed3_operand_set_outreg(d, XED_REG_AL);
2572 /*pacify the compiler */
2573 (void)d;
2574 break;
2575 case 3: /*(1, 1, 0) -> REXB=1 RM=0x0 | OUTREG=XED_REG_R8B*/
2576 case 2: /*(0, 1, 0) -> REXB=1 RM=0x0 | OUTREG=XED_REG_R8B*/
2577 xed3_operand_set_outreg(d, XED_REG_R8B);
2578 /*pacify the compiler */
2579 (void)d;
2580 break;
2581 case 5: /*(1, 0, 1) -> REXB=0 RM=0x1 | OUTREG=XED_REG_CL*/
2582 case 4: /*(0, 0, 1) -> REXB=0 RM=0x1 | OUTREG=XED_REG_CL*/
2583 xed3_operand_set_outreg(d, XED_REG_CL);
2584 /*pacify the compiler */
2585 (void)d;
2586 break;
2587 case 6: /*(0, 1, 1) -> REXB=1 RM=0x1 | OUTREG=XED_REG_R9B*/
2588 case 7: /*(1, 1, 1) -> REXB=1 RM=0x1 | OUTREG=XED_REG_R9B*/
2589 xed3_operand_set_outreg(d, XED_REG_R9B);
2590 /*pacify the compiler */
2591 (void)d;
2592 break;
2593 case 8: /*(0, 0, 2) -> REXB=0 RM=0x2 | OUTREG=XED_REG_DL*/
2594 case 9: /*(1, 0, 2) -> REXB=0 RM=0x2 | OUTREG=XED_REG_DL*/
2595 xed3_operand_set_outreg(d, XED_REG_DL);
2596 /*pacify the compiler */
2597 (void)d;
2598 break;
2599 case 10: /*(0, 1, 2) -> REXB=1 RM=0x2 | OUTREG=XED_REG_R10B*/
2600 case 11: /*(1, 1, 2) -> REXB=1 RM=0x2 | OUTREG=XED_REG_R10B*/
2601 xed3_operand_set_outreg(d, XED_REG_R10B);
2602 /*pacify the compiler */
2603 (void)d;
2604 break;
2605 case 13: /*(1, 0, 3) -> REXB=0 RM=0x3 | OUTREG=XED_REG_BL*/
2606 case 12: /*(0, 0, 3) -> REXB=0 RM=0x3 | OUTREG=XED_REG_BL*/
2607 xed3_operand_set_outreg(d, XED_REG_BL);
2608 /*pacify the compiler */
2609 (void)d;
2610 break;
2611 case 14: /*(0, 1, 3) -> REXB=1 RM=0x3 | OUTREG=XED_REG_R11B*/
2612 case 15: /*(1, 1, 3) -> REXB=1 RM=0x3 | OUTREG=XED_REG_R11B*/
2613 xed3_operand_set_outreg(d, XED_REG_R11B);
2614 /*pacify the compiler */
2615 (void)d;
2616 break;
2617 case 16: /*(0, 0, 4) -> REXB=0 RM=0x4 REX=0 | OUTREG=XED_REG_AH*/
2618 xed3_operand_set_outreg(d, XED_REG_AH);
2619 /*pacify the compiler */
2620 (void)d;
2621 break;
2622 case 17: /*(1, 0, 4) -> REXB=0 RM=0x4 REX=1 | OUTREG=XED_REG_SPL*/
2623 xed3_operand_set_outreg(d, XED_REG_SPL);
2624 /*pacify the compiler */
2625 (void)d;
2626 break;
2627 case 18: /*(0, 1, 4) -> REXB=1 RM=0x4 | OUTREG=XED_REG_R12B*/
2628 case 19: /*(1, 1, 4) -> REXB=1 RM=0x4 | OUTREG=XED_REG_R12B*/
2629 xed3_operand_set_outreg(d, XED_REG_R12B);
2630 /*pacify the compiler */
2631 (void)d;
2632 break;
2633 case 20: /*(0, 0, 5) -> REXB=0 RM=0x5 REX=0 | OUTREG=XED_REG_CH*/
2634 xed3_operand_set_outreg(d, XED_REG_CH);
2635 /*pacify the compiler */
2636 (void)d;
2637 break;
2638 case 21: /*(1, 0, 5) -> REXB=0 RM=0x5 REX=1 | OUTREG=XED_REG_BPL*/
2639 xed3_operand_set_outreg(d, XED_REG_BPL);
2640 /*pacify the compiler */
2641 (void)d;
2642 break;
2643 case 22: /*(0, 1, 5) -> REXB=1 RM=0x5 | OUTREG=XED_REG_R13B*/
2644 case 23: /*(1, 1, 5) -> REXB=1 RM=0x5 | OUTREG=XED_REG_R13B*/
2645 xed3_operand_set_outreg(d, XED_REG_R13B);
2646 /*pacify the compiler */
2647 (void)d;
2648 break;
2649 case 24: /*(0, 0, 6) -> REXB=0 RM=0x6 REX=0 | OUTREG=XED_REG_DH*/
2650 xed3_operand_set_outreg(d, XED_REG_DH);
2651 /*pacify the compiler */
2652 (void)d;
2653 break;
2654 case 25: /*(1, 0, 6) -> REXB=0 RM=0x6 REX=1 | OUTREG=XED_REG_SIL*/
2655 xed3_operand_set_outreg(d, XED_REG_SIL);
2656 /*pacify the compiler */
2657 (void)d;
2658 break;
2659 case 27: /*(1, 1, 6) -> REXB=1 RM=0x6 | OUTREG=XED_REG_R14B*/
2660 case 26: /*(0, 1, 6) -> REXB=1 RM=0x6 | OUTREG=XED_REG_R14B*/
2661 xed3_operand_set_outreg(d, XED_REG_R14B);
2662 /*pacify the compiler */
2663 (void)d;
2664 break;
2665 case 28: /*(0, 0, 7) -> REXB=0 RM=0x7 REX=0 | OUTREG=XED_REG_BH*/
2666 xed3_operand_set_outreg(d, XED_REG_BH);
2667 /*pacify the compiler */
2668 (void)d;
2669 break;
2670 case 29: /*(1, 0, 7) -> REXB=0 RM=0x7 REX=1 | OUTREG=XED_REG_DIL*/
2671 xed3_operand_set_outreg(d, XED_REG_DIL);
2672 /*pacify the compiler */
2673 (void)d;
2674 break;
2675 case 30: /*(0, 1, 7) -> REXB=1 RM=0x7 | OUTREG=XED_REG_R15B*/
2676 case 31: /*(1, 1, 7) -> REXB=1 RM=0x7 | OUTREG=XED_REG_R15B*/
2677 xed3_operand_set_outreg(d, XED_REG_R15B);
2678 /*pacify the compiler */
2679 (void)d;
2680 break;
2681 default:
2682 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
2683 break;
2684 }
2685 }
xed3_capture_nt_SIMM8(xed_decoded_inst_t * d)2686 static XED_INLINE void xed3_capture_nt_SIMM8(xed_decoded_inst_t* d)
2687 {
2688 xed3_operand_set_imm_width(d, 0x8);
2689 xed3_operand_set_imm0signed(d, 0x1);
2690 /*pacify the compiler */
2691 (void)d;
2692 }
xed3_capture_nt_ESIZE_2_BITS(xed_decoded_inst_t * d)2693 static XED_INLINE void xed3_capture_nt_ESIZE_2_BITS(xed_decoded_inst_t* d)
2694 {
2695 xed_uint32_t key = 0;
2696 key += (xed3_operand_get_rex(d)) << ((0));
2697 /* now switch code..*/
2698 switch(key) {
2699 case 0: /*(0,) -> REX=0 | ELEMENT_SIZE=2*/
2700 xed3_operand_set_element_size(d, 0x2);
2701 /*pacify the compiler */
2702 (void)d;
2703 break;
2704 default:
2705 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
2706 break;
2707 }
2708 }
xed3_capture_nt_NELEM_GPR_READER_BYTE(xed_decoded_inst_t * d)2709 static XED_INLINE void xed3_capture_nt_NELEM_GPR_READER_BYTE(xed_decoded_inst_t* d)
2710 {
2711 xed_uint32_t key = 0;
2712 key += (xed3_operand_get_vl(d)) << ((0));
2713 /* now switch code..*/
2714 switch(key) {
2715 case 0: /*(0,) -> VL128 | NELEM=1*/
2716 xed3_operand_set_nelem(d, 0x1);
2717 /*pacify the compiler */
2718 (void)d;
2719 break;
2720 case 1: /*(1,) -> VL256 | NELEM=1*/
2721 xed3_operand_set_nelem(d, 0x1);
2722 /*pacify the compiler */
2723 (void)d;
2724 break;
2725 case 2: /*(2,) -> VL512 | NELEM=1*/
2726 xed3_operand_set_nelem(d, 0x1);
2727 /*pacify the compiler */
2728 (void)d;
2729 break;
2730 default:
2731 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
2732 break;
2733 }
2734 }
xed3_capture_nt_MODRM(xed_decoded_inst_t * d)2735 static XED_INLINE void xed3_capture_nt_MODRM(xed_decoded_inst_t* d)
2736 {
2737 xed_uint32_t key = 0;
2738 key += (xed3_operand_get_easz(d)) << ((0));
2739 key += (xed3_operand_get_mode(d)) << ((2));
2740 /* now switch code..*/
2741 switch(key) {
2742 case 1: /*(1, 0) -> mode16 eamode16 MODRM16() MEMDISP() |*/
2743 xed3_capture_nt_MODRM16(d);
2744 xed3_capture_nt_MEMDISP(d);
2745 /*pacify the compiler */
2746 (void)d;
2747 break;
2748 case 2: /*(2, 0) -> mode16 eamode32 MODRM32() MEMDISP() |*/
2749 xed3_capture_nt_MODRM32(d);
2750 xed3_capture_nt_MEMDISP(d);
2751 /*pacify the compiler */
2752 (void)d;
2753 break;
2754 case 5: /*(1, 1) -> mode32 eamode16 MODRM16() MEMDISP() |*/
2755 xed3_capture_nt_MODRM16(d);
2756 xed3_capture_nt_MEMDISP(d);
2757 /*pacify the compiler */
2758 (void)d;
2759 break;
2760 case 6: /*(2, 1) -> mode32 eamode32 MODRM32() MEMDISP() |*/
2761 xed3_capture_nt_MODRM32(d);
2762 xed3_capture_nt_MEMDISP(d);
2763 /*pacify the compiler */
2764 (void)d;
2765 break;
2766 case 10: /*(2, 2) -> mode64 eamode32 MODRM64alt32() MEMDISP() |*/
2767 xed3_capture_nt_MODRM64alt32(d);
2768 xed3_capture_nt_MEMDISP(d);
2769 /*pacify the compiler */
2770 (void)d;
2771 break;
2772 case 11: /*(3, 2) -> mode64 eamode64 MODRM64alt32() MEMDISP() |*/
2773 xed3_capture_nt_MODRM64alt32(d);
2774 xed3_capture_nt_MEMDISP(d);
2775 /*pacify the compiler */
2776 (void)d;
2777 break;
2778 default:
2779 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
2780 break;
2781 }
2782 }
xed3_capture_nt_UIMM8(xed_decoded_inst_t * d)2783 static XED_INLINE void xed3_capture_nt_UIMM8(xed_decoded_inst_t* d)
2784 {
2785 xed3_operand_set_imm_width(d, 0x8);
2786 /*pacify the compiler */
2787 (void)d;
2788 }
xed3_capture_nt_YMM_R3(xed_decoded_inst_t * d)2789 static XED_INLINE void xed3_capture_nt_YMM_R3(xed_decoded_inst_t* d)
2790 {
2791 xed_uint32_t key = 0;
2792 key += (xed3_operand_get_mode(d)) << ((0));
2793 /* now switch code..*/
2794 switch(key) {
2795 case 0: /*(0,) -> mode16 | OUTREG=YMM_R3_32()*/
2796 xed3_capture_nt_YMM_R3_32(d);
2797 /*pacify the compiler */
2798 (void)d;
2799 break;
2800 case 1: /*(1,) -> mode32 | OUTREG=YMM_R3_32()*/
2801 xed3_capture_nt_YMM_R3_32(d);
2802 /*pacify the compiler */
2803 (void)d;
2804 break;
2805 case 2: /*(2,) -> mode64 | OUTREG=YMM_R3_64()*/
2806 xed3_capture_nt_YMM_R3_64(d);
2807 /*pacify the compiler */
2808 (void)d;
2809 break;
2810 default:
2811 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
2812 break;
2813 }
2814 }
xed3_capture_nt_YMM_B(xed_decoded_inst_t * d)2815 static XED_INLINE void xed3_capture_nt_YMM_B(xed_decoded_inst_t* d)
2816 {
2817 xed_uint32_t key = 0;
2818 key += (xed3_operand_get_mode(d)) << ((0));
2819 /* now switch code..*/
2820 switch(key) {
2821 case 0: /*(0,) -> mode16 | OUTREG=YMM_B_32():*/
2822 xed3_capture_nt_YMM_B_32(d);
2823 /*pacify the compiler */
2824 (void)d;
2825 break;
2826 case 1: /*(1,) -> mode32 | OUTREG=YMM_B_32():*/
2827 xed3_capture_nt_YMM_B_32(d);
2828 /*pacify the compiler */
2829 (void)d;
2830 break;
2831 case 2: /*(2,) -> mode64 | OUTREG=YMM_B_64():*/
2832 xed3_capture_nt_YMM_B_64(d);
2833 /*pacify the compiler */
2834 (void)d;
2835 break;
2836 default:
2837 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
2838 break;
2839 }
2840 }
xed3_capture_nt_IGNORE66(xed_decoded_inst_t * d)2841 static XED_INLINE void xed3_capture_nt_IGNORE66(xed_decoded_inst_t* d)
2842 {
2843 xed_uint32_t key = 0;
2844 key += (xed3_operand_get_mode(d)) << ((0));
2845 key += (xed3_operand_get_rexw(d)) << ((2));
2846 /* now switch code..*/
2847 switch(key) {
2848 case 4: /*(0, 1) -> mode16 | EOSZ=1 no66_prefix*/
2849 case 0: /*(0, 0) -> mode16 | EOSZ=1 no66_prefix*/
2850 xed3_operand_set_eosz(d, 0x1);
2851 xed3_operand_set_osz(d, 0x0);
2852 /*pacify the compiler */
2853 (void)d;
2854 break;
2855 case 1: /*(1, 0) -> mode32 | EOSZ=2 no66_prefix*/
2856 case 5: /*(1, 1) -> mode32 | EOSZ=2 no66_prefix*/
2857 xed3_operand_set_eosz(d, 0x2);
2858 xed3_operand_set_osz(d, 0x0);
2859 /*pacify the compiler */
2860 (void)d;
2861 break;
2862 case 2: /*(2, 0) -> mode64 norexw_prefix | EOSZ=2 no66_prefix*/
2863 xed3_operand_set_eosz(d, 0x2);
2864 xed3_operand_set_osz(d, 0x0);
2865 /*pacify the compiler */
2866 (void)d;
2867 break;
2868 case 6: /*(2, 1) -> mode64 rexw_prefix | EOSZ=3 no66_prefix*/
2869 xed3_operand_set_eosz(d, 0x3);
2870 xed3_operand_set_osz(d, 0x0);
2871 /*pacify the compiler */
2872 (void)d;
2873 break;
2874 default:
2875 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
2876 break;
2877 }
2878 }
xed3_capture_nt_IMMUNE66_LOOP64(xed_decoded_inst_t * d)2879 static XED_INLINE void xed3_capture_nt_IMMUNE66_LOOP64(xed_decoded_inst_t* d)
2880 {
2881 xed_uint32_t key = 0;
2882 key += (xed3_operand_get_mode(d)) << ((0));
2883 /* now switch code..*/
2884 switch(key) {
2885 case 0: /*(0,) -> mode16 |*/
2886 /*pacify the compiler */
2887 (void)d;
2888 break;
2889 case 1: /*(1,) -> mode32 |*/
2890 /*pacify the compiler */
2891 (void)d;
2892 break;
2893 case 2: /*(2,) -> mode64 | EOSZ=3 no66_prefix*/
2894 xed3_operand_set_eosz(d, 0x3);
2895 xed3_operand_set_osz(d, 0x0);
2896 /*pacify the compiler */
2897 (void)d;
2898 break;
2899 default:
2900 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
2901 break;
2902 }
2903 }
xed3_capture_nt_NELEM_GPR_READER(xed_decoded_inst_t * d)2904 static XED_INLINE void xed3_capture_nt_NELEM_GPR_READER(xed_decoded_inst_t* d)
2905 {
2906 xed_uint32_t key = 0;
2907 key += (xed3_operand_get_vl(d)) << ((0));
2908 /* now switch code..*/
2909 switch(key) {
2910 case 0: /*(0,) -> VL128 | NELEM=1*/
2911 xed3_operand_set_nelem(d, 0x1);
2912 /*pacify the compiler */
2913 (void)d;
2914 break;
2915 case 1: /*(1,) -> VL256 | NELEM=1*/
2916 xed3_operand_set_nelem(d, 0x1);
2917 /*pacify the compiler */
2918 (void)d;
2919 break;
2920 case 2: /*(2,) -> VL512 | NELEM=1*/
2921 xed3_operand_set_nelem(d, 0x1);
2922 /*pacify the compiler */
2923 (void)d;
2924 break;
2925 default:
2926 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
2927 break;
2928 }
2929 }
xed3_capture_nt_YMM_N(xed_decoded_inst_t * d)2930 static XED_INLINE void xed3_capture_nt_YMM_N(xed_decoded_inst_t* d)
2931 {
2932 xed_uint32_t key = 0;
2933 key += (xed3_operand_get_mode(d)) << ((0));
2934 /* now switch code..*/
2935 switch(key) {
2936 case 0: /*(0,) -> mode16 | OUTREG=YMM_N_32():*/
2937 xed3_capture_nt_YMM_N_32(d);
2938 /*pacify the compiler */
2939 (void)d;
2940 break;
2941 case 1: /*(1,) -> mode32 | OUTREG=YMM_N_32():*/
2942 xed3_capture_nt_YMM_N_32(d);
2943 /*pacify the compiler */
2944 (void)d;
2945 break;
2946 case 2: /*(2,) -> mode64 | OUTREG=YMM_N_64():*/
2947 xed3_capture_nt_YMM_N_64(d);
2948 /*pacify the compiler */
2949 (void)d;
2950 break;
2951 default:
2952 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
2953 break;
2954 }
2955 }
xed3_capture_nt_ZMM_N3(xed_decoded_inst_t * d)2956 static XED_INLINE void xed3_capture_nt_ZMM_N3(xed_decoded_inst_t* d)
2957 {
2958 xed_uint32_t key = 0;
2959 key += (xed3_operand_get_mode(d)) << ((0));
2960 /* now switch code..*/
2961 switch(key) {
2962 case 0: /*(0,) -> mode16 | OUTREG=ZMM_N3_32()*/
2963 xed3_capture_nt_ZMM_N3_32(d);
2964 /*pacify the compiler */
2965 (void)d;
2966 break;
2967 case 1: /*(1,) -> mode32 | OUTREG=ZMM_N3_32()*/
2968 xed3_capture_nt_ZMM_N3_32(d);
2969 /*pacify the compiler */
2970 (void)d;
2971 break;
2972 case 2: /*(2,) -> mode64 | OUTREG=ZMM_N3_64()*/
2973 xed3_capture_nt_ZMM_N3_64(d);
2974 /*pacify the compiler */
2975 (void)d;
2976 break;
2977 default:
2978 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
2979 break;
2980 }
2981 }
xed3_capture_nt_YMM_R(xed_decoded_inst_t * d)2982 static XED_INLINE void xed3_capture_nt_YMM_R(xed_decoded_inst_t* d)
2983 {
2984 xed_uint32_t key = 0;
2985 key += (xed3_operand_get_mode(d)) << ((0));
2986 /* now switch code..*/
2987 switch(key) {
2988 case 0: /*(0,) -> mode16 | OUTREG=YMM_R_32():*/
2989 xed3_capture_nt_YMM_R_32(d);
2990 /*pacify the compiler */
2991 (void)d;
2992 break;
2993 case 1: /*(1,) -> mode32 | OUTREG=YMM_R_32():*/
2994 xed3_capture_nt_YMM_R_32(d);
2995 /*pacify the compiler */
2996 (void)d;
2997 break;
2998 case 2: /*(2,) -> mode64 | OUTREG=YMM_R_64():*/
2999 xed3_capture_nt_YMM_R_64(d);
3000 /*pacify the compiler */
3001 (void)d;
3002 break;
3003 default:
3004 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
3005 break;
3006 }
3007 }
xed3_capture_nt_CR_WIDTH(xed_decoded_inst_t * d)3008 static XED_INLINE void xed3_capture_nt_CR_WIDTH(xed_decoded_inst_t* d)
3009 {
3010 xed_uint32_t key = 0;
3011 key += (xed3_operand_get_mode(d)) << ((0));
3012 /* now switch code..*/
3013 switch(key) {
3014 case 0: /*(0,) -> mode16 | EOSZ=2 DF32=1 no66_prefix*/
3015 xed3_operand_set_eosz(d, 0x2);
3016 xed3_operand_set_df32(d, 0x1);
3017 xed3_operand_set_osz(d, 0x0);
3018 /*pacify the compiler */
3019 (void)d;
3020 break;
3021 case 1: /*(1,) -> mode32 | EOSZ=2 DF32=1 no66_prefix*/
3022 xed3_operand_set_eosz(d, 0x2);
3023 xed3_operand_set_df32(d, 0x1);
3024 xed3_operand_set_osz(d, 0x0);
3025 /*pacify the compiler */
3026 (void)d;
3027 break;
3028 case 2: /*(2,) -> mode64 | EOSZ=3 DF64=1 no66_prefix*/
3029 xed3_operand_set_eosz(d, 0x3);
3030 xed3_operand_set_df64(d, 0x1);
3031 xed3_operand_set_osz(d, 0x0);
3032 /*pacify the compiler */
3033 (void)d;
3034 break;
3035 default:
3036 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
3037 break;
3038 }
3039 }
xed3_capture_nt_VSIB_XMM(xed_decoded_inst_t * d)3040 static XED_INLINE void xed3_capture_nt_VSIB_XMM(xed_decoded_inst_t* d)
3041 {
3042 xed_uint32_t key = 0;
3043 key += (xed3_operand_get_sibscale(d)) << ((0));
3044 /* now switch code..*/
3045 switch(key) {
3046 case 0: /*(0,) -> SIBSCALE[0b00] SIBINDEX[iii] SIBBASE[bbb] VSIB_BASE() | INDEX=VSIB_INDEX_XMM() SCALE=1*/
3047 xed3_capture_nt_VSIB_BASE(d);
3048 xed3_capture_nt_VSIB_INDEX_XMM(d);
3049 xed3_operand_set_index(d, xed3_operand_get_outreg(d));
3050 xed3_operand_set_scale(d, 0x1);
3051 /*pacify the compiler */
3052 (void)d;
3053 break;
3054 case 1: /*(1,) -> SIBSCALE[0b01] SIBINDEX[iii] SIBBASE[bbb] VSIB_BASE() | INDEX=VSIB_INDEX_XMM() SCALE=2*/
3055 xed3_capture_nt_VSIB_BASE(d);
3056 xed3_capture_nt_VSIB_INDEX_XMM(d);
3057 xed3_operand_set_index(d, xed3_operand_get_outreg(d));
3058 xed3_operand_set_scale(d, 0x2);
3059 /*pacify the compiler */
3060 (void)d;
3061 break;
3062 case 2: /*(2,) -> SIBSCALE[0b10] SIBINDEX[iii] SIBBASE[bbb] VSIB_BASE() | INDEX=VSIB_INDEX_XMM() SCALE=4*/
3063 xed3_capture_nt_VSIB_BASE(d);
3064 xed3_capture_nt_VSIB_INDEX_XMM(d);
3065 xed3_operand_set_index(d, xed3_operand_get_outreg(d));
3066 xed3_operand_set_scale(d, 0x4);
3067 /*pacify the compiler */
3068 (void)d;
3069 break;
3070 case 3: /*(3,) -> SIBSCALE[0b11] SIBINDEX[iii] SIBBASE[bbb] VSIB_BASE() | INDEX=VSIB_INDEX_XMM() SCALE=8*/
3071 xed3_capture_nt_VSIB_BASE(d);
3072 xed3_capture_nt_VSIB_INDEX_XMM(d);
3073 xed3_operand_set_index(d, xed3_operand_get_outreg(d));
3074 xed3_operand_set_scale(d, 0x8);
3075 /*pacify the compiler */
3076 (void)d;
3077 break;
3078 default:
3079 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
3080 break;
3081 }
3082 }
xed3_capture_nt_OeAX(xed_decoded_inst_t * d)3083 static XED_INLINE void xed3_capture_nt_OeAX(xed_decoded_inst_t* d)
3084 {
3085 xed_uint32_t key = 0;
3086 key += (xed3_operand_get_eosz(d)) << ((0));
3087 /* now switch code..*/
3088 switch(key) {
3089 case 1: /*(1,) -> EOSZ=1 | OUTREG=XED_REG_AX*/
3090 xed3_operand_set_outreg(d, XED_REG_AX);
3091 /*pacify the compiler */
3092 (void)d;
3093 break;
3094 case 2: /*(2,) -> EOSZ=2 | OUTREG=XED_REG_EAX*/
3095 xed3_operand_set_outreg(d, XED_REG_EAX);
3096 /*pacify the compiler */
3097 (void)d;
3098 break;
3099 case 3: /*(3,) -> EOSZ=3 | OUTREG=XED_REG_EAX*/
3100 xed3_operand_set_outreg(d, XED_REG_EAX);
3101 /*pacify the compiler */
3102 (void)d;
3103 break;
3104 default:
3105 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
3106 break;
3107 }
3108 }
xed3_capture_nt_XMM_N3_64(xed_decoded_inst_t * d)3109 static XED_INLINE void xed3_capture_nt_XMM_N3_64(xed_decoded_inst_t* d)
3110 {
3111 xed_uint32_t key = 0;
3112 key += (xed3_operand_get_vexdest210(d)) << ((0));
3113 key += (xed3_operand_get_vexdest3(d)) << ((3));
3114 key += (xed3_operand_get_vexdest4(d)) << ((4));
3115 /* now switch code..*/
3116 switch(key) {
3117 case 0: /*(0, 0, 0) -> VEXDEST4=0 VEXDEST3=0 VEXDEST210=0 | OUTREG=XED_REG_XMM15*/
3118 xed3_operand_set_outreg(d, XED_REG_XMM15);
3119 /*pacify the compiler */
3120 (void)d;
3121 break;
3122 case 1: /*(1, 0, 0) -> VEXDEST4=0 VEXDEST3=0 VEXDEST210=1 | OUTREG=XED_REG_XMM14*/
3123 xed3_operand_set_outreg(d, XED_REG_XMM14);
3124 /*pacify the compiler */
3125 (void)d;
3126 break;
3127 case 2: /*(2, 0, 0) -> VEXDEST4=0 VEXDEST3=0 VEXDEST210=2 | OUTREG=XED_REG_XMM13*/
3128 xed3_operand_set_outreg(d, XED_REG_XMM13);
3129 /*pacify the compiler */
3130 (void)d;
3131 break;
3132 case 3: /*(3, 0, 0) -> VEXDEST4=0 VEXDEST3=0 VEXDEST210=3 | OUTREG=XED_REG_XMM12*/
3133 xed3_operand_set_outreg(d, XED_REG_XMM12);
3134 /*pacify the compiler */
3135 (void)d;
3136 break;
3137 case 4: /*(4, 0, 0) -> VEXDEST4=0 VEXDEST3=0 VEXDEST210=4 | OUTREG=XED_REG_XMM11*/
3138 xed3_operand_set_outreg(d, XED_REG_XMM11);
3139 /*pacify the compiler */
3140 (void)d;
3141 break;
3142 case 5: /*(5, 0, 0) -> VEXDEST4=0 VEXDEST3=0 VEXDEST210=5 | OUTREG=XED_REG_XMM10*/
3143 xed3_operand_set_outreg(d, XED_REG_XMM10);
3144 /*pacify the compiler */
3145 (void)d;
3146 break;
3147 case 6: /*(6, 0, 0) -> VEXDEST4=0 VEXDEST3=0 VEXDEST210=6 | OUTREG=XED_REG_XMM9*/
3148 xed3_operand_set_outreg(d, XED_REG_XMM9);
3149 /*pacify the compiler */
3150 (void)d;
3151 break;
3152 case 7: /*(7, 0, 0) -> VEXDEST4=0 VEXDEST3=0 VEXDEST210=7 | OUTREG=XED_REG_XMM8*/
3153 xed3_operand_set_outreg(d, XED_REG_XMM8);
3154 /*pacify the compiler */
3155 (void)d;
3156 break;
3157 case 8: /*(0, 1, 0) -> VEXDEST4=0 VEXDEST3=1 VEXDEST210=0 | OUTREG=XED_REG_XMM7*/
3158 xed3_operand_set_outreg(d, XED_REG_XMM7);
3159 /*pacify the compiler */
3160 (void)d;
3161 break;
3162 case 9: /*(1, 1, 0) -> VEXDEST4=0 VEXDEST3=1 VEXDEST210=1 | OUTREG=XED_REG_XMM6*/
3163 xed3_operand_set_outreg(d, XED_REG_XMM6);
3164 /*pacify the compiler */
3165 (void)d;
3166 break;
3167 case 10: /*(2, 1, 0) -> VEXDEST4=0 VEXDEST3=1 VEXDEST210=2 | OUTREG=XED_REG_XMM5*/
3168 xed3_operand_set_outreg(d, XED_REG_XMM5);
3169 /*pacify the compiler */
3170 (void)d;
3171 break;
3172 case 11: /*(3, 1, 0) -> VEXDEST4=0 VEXDEST3=1 VEXDEST210=3 | OUTREG=XED_REG_XMM4*/
3173 xed3_operand_set_outreg(d, XED_REG_XMM4);
3174 /*pacify the compiler */
3175 (void)d;
3176 break;
3177 case 12: /*(4, 1, 0) -> VEXDEST4=0 VEXDEST3=1 VEXDEST210=4 | OUTREG=XED_REG_XMM3*/
3178 xed3_operand_set_outreg(d, XED_REG_XMM3);
3179 /*pacify the compiler */
3180 (void)d;
3181 break;
3182 case 13: /*(5, 1, 0) -> VEXDEST4=0 VEXDEST3=1 VEXDEST210=5 | OUTREG=XED_REG_XMM2*/
3183 xed3_operand_set_outreg(d, XED_REG_XMM2);
3184 /*pacify the compiler */
3185 (void)d;
3186 break;
3187 case 14: /*(6, 1, 0) -> VEXDEST4=0 VEXDEST3=1 VEXDEST210=6 | OUTREG=XED_REG_XMM1*/
3188 xed3_operand_set_outreg(d, XED_REG_XMM1);
3189 /*pacify the compiler */
3190 (void)d;
3191 break;
3192 case 15: /*(7, 1, 0) -> VEXDEST4=0 VEXDEST3=1 VEXDEST210=7 | OUTREG=XED_REG_XMM0*/
3193 xed3_operand_set_outreg(d, XED_REG_XMM0);
3194 /*pacify the compiler */
3195 (void)d;
3196 break;
3197 case 16: /*(0, 0, 1) -> VEXDEST4=1 VEXDEST3=0 VEXDEST210=0 | OUTREG=XED_REG_XMM31*/
3198 xed3_operand_set_outreg(d, XED_REG_XMM31);
3199 /*pacify the compiler */
3200 (void)d;
3201 break;
3202 case 17: /*(1, 0, 1) -> VEXDEST4=1 VEXDEST3=0 VEXDEST210=1 | OUTREG=XED_REG_XMM30*/
3203 xed3_operand_set_outreg(d, XED_REG_XMM30);
3204 /*pacify the compiler */
3205 (void)d;
3206 break;
3207 case 18: /*(2, 0, 1) -> VEXDEST4=1 VEXDEST3=0 VEXDEST210=2 | OUTREG=XED_REG_XMM29*/
3208 xed3_operand_set_outreg(d, XED_REG_XMM29);
3209 /*pacify the compiler */
3210 (void)d;
3211 break;
3212 case 19: /*(3, 0, 1) -> VEXDEST4=1 VEXDEST3=0 VEXDEST210=3 | OUTREG=XED_REG_XMM28*/
3213 xed3_operand_set_outreg(d, XED_REG_XMM28);
3214 /*pacify the compiler */
3215 (void)d;
3216 break;
3217 case 20: /*(4, 0, 1) -> VEXDEST4=1 VEXDEST3=0 VEXDEST210=4 | OUTREG=XED_REG_XMM27*/
3218 xed3_operand_set_outreg(d, XED_REG_XMM27);
3219 /*pacify the compiler */
3220 (void)d;
3221 break;
3222 case 21: /*(5, 0, 1) -> VEXDEST4=1 VEXDEST3=0 VEXDEST210=5 | OUTREG=XED_REG_XMM26*/
3223 xed3_operand_set_outreg(d, XED_REG_XMM26);
3224 /*pacify the compiler */
3225 (void)d;
3226 break;
3227 case 22: /*(6, 0, 1) -> VEXDEST4=1 VEXDEST3=0 VEXDEST210=6 | OUTREG=XED_REG_XMM25*/
3228 xed3_operand_set_outreg(d, XED_REG_XMM25);
3229 /*pacify the compiler */
3230 (void)d;
3231 break;
3232 case 23: /*(7, 0, 1) -> VEXDEST4=1 VEXDEST3=0 VEXDEST210=7 | OUTREG=XED_REG_XMM24*/
3233 xed3_operand_set_outreg(d, XED_REG_XMM24);
3234 /*pacify the compiler */
3235 (void)d;
3236 break;
3237 case 24: /*(0, 1, 1) -> VEXDEST4=1 VEXDEST3=1 VEXDEST210=0 | OUTREG=XED_REG_XMM23*/
3238 xed3_operand_set_outreg(d, XED_REG_XMM23);
3239 /*pacify the compiler */
3240 (void)d;
3241 break;
3242 case 25: /*(1, 1, 1) -> VEXDEST4=1 VEXDEST3=1 VEXDEST210=1 | OUTREG=XED_REG_XMM22*/
3243 xed3_operand_set_outreg(d, XED_REG_XMM22);
3244 /*pacify the compiler */
3245 (void)d;
3246 break;
3247 case 26: /*(2, 1, 1) -> VEXDEST4=1 VEXDEST3=1 VEXDEST210=2 | OUTREG=XED_REG_XMM21*/
3248 xed3_operand_set_outreg(d, XED_REG_XMM21);
3249 /*pacify the compiler */
3250 (void)d;
3251 break;
3252 case 27: /*(3, 1, 1) -> VEXDEST4=1 VEXDEST3=1 VEXDEST210=3 | OUTREG=XED_REG_XMM20*/
3253 xed3_operand_set_outreg(d, XED_REG_XMM20);
3254 /*pacify the compiler */
3255 (void)d;
3256 break;
3257 case 28: /*(4, 1, 1) -> VEXDEST4=1 VEXDEST3=1 VEXDEST210=4 | OUTREG=XED_REG_XMM19*/
3258 xed3_operand_set_outreg(d, XED_REG_XMM19);
3259 /*pacify the compiler */
3260 (void)d;
3261 break;
3262 case 29: /*(5, 1, 1) -> VEXDEST4=1 VEXDEST3=1 VEXDEST210=5 | OUTREG=XED_REG_XMM18*/
3263 xed3_operand_set_outreg(d, XED_REG_XMM18);
3264 /*pacify the compiler */
3265 (void)d;
3266 break;
3267 case 30: /*(6, 1, 1) -> VEXDEST4=1 VEXDEST3=1 VEXDEST210=6 | OUTREG=XED_REG_XMM17*/
3268 xed3_operand_set_outreg(d, XED_REG_XMM17);
3269 /*pacify the compiler */
3270 (void)d;
3271 break;
3272 case 31: /*(7, 1, 1) -> VEXDEST4=1 VEXDEST3=1 VEXDEST210=7 | OUTREG=XED_REG_XMM16*/
3273 xed3_operand_set_outreg(d, XED_REG_XMM16);
3274 /*pacify the compiler */
3275 (void)d;
3276 break;
3277 default:
3278 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
3279 break;
3280 }
3281 }
xed3_capture_nt_UISA_VMODRM_YMM(xed_decoded_inst_t * d)3282 static XED_INLINE void xed3_capture_nt_UISA_VMODRM_YMM(xed_decoded_inst_t* d)
3283 {
3284 xed_uint32_t key = 0;
3285 key += (xed3_operand_get_mod(d)) << ((0));
3286 /* now switch code..*/
3287 switch(key) {
3288 case 0: /*(0,) -> MOD=0b00 UISA_VSIB_YMM() |*/
3289 xed3_capture_nt_UISA_VSIB_YMM(d);
3290 /*pacify the compiler */
3291 (void)d;
3292 break;
3293 case 1: /*(1,) -> MOD=0b01 UISA_VSIB_YMM() MEMDISP8() |*/
3294 xed3_capture_nt_UISA_VSIB_YMM(d);
3295 xed3_capture_nt_MEMDISP8(d);
3296 /*pacify the compiler */
3297 (void)d;
3298 break;
3299 case 2: /*(2,) -> MOD=0b10 UISA_VSIB_YMM() MEMDISP32() |*/
3300 xed3_capture_nt_UISA_VSIB_YMM(d);
3301 xed3_capture_nt_MEMDISP32(d);
3302 /*pacify the compiler */
3303 (void)d;
3304 break;
3305 default:
3306 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
3307 break;
3308 }
3309 }
xed3_capture_nt_FIX_ROUND_LEN128(xed_decoded_inst_t * d)3310 static XED_INLINE void xed3_capture_nt_FIX_ROUND_LEN128(xed_decoded_inst_t* d)
3311 {
3312 xed_uint32_t key = 0;
3313 key += (xed3_operand_get_mode(d)) << ((0));
3314 /* now switch code..*/
3315 switch(key) {
3316 case 0: /*(0,) -> mode16 | VL128*/
3317 xed3_operand_set_vl(d, 0x0);
3318 /*pacify the compiler */
3319 (void)d;
3320 break;
3321 case 1: /*(1,) -> mode32 | VL128*/
3322 xed3_operand_set_vl(d, 0x0);
3323 /*pacify the compiler */
3324 (void)d;
3325 break;
3326 case 2: /*(2,) -> mode64 | VL128*/
3327 xed3_operand_set_vl(d, 0x0);
3328 /*pacify the compiler */
3329 (void)d;
3330 break;
3331 default:
3332 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
3333 break;
3334 }
3335 }
xed3_capture_nt_MODRM32(xed_decoded_inst_t * d)3336 static XED_INLINE void xed3_capture_nt_MODRM32(xed_decoded_inst_t* d)
3337 {
3338 xed_uint32_t key = 0;
3339 key += (xed3_operand_get_mod(d)) << ((0));
3340 key += (xed3_operand_get_rm(d)) << ((2));
3341 /* now switch code..*/
3342 switch(key) {
3343 case 0: /*(0, 0) -> MOD=0b00 RM=0b000 | BASE0=XED_REG_EAX SEG0=FINAL_DSEG()*/
3344 xed3_operand_set_base0(d, XED_REG_EAX);
3345 xed3_capture_nt_FINAL_DSEG(d);
3346 xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
3347 /*pacify the compiler */
3348 (void)d;
3349 break;
3350 case 1: /*(1, 0) -> MOD=0b01 RM=0b000 | NEED_MEMDISP=8 BASE0=XED_REG_EAX SEG0=FINAL_DSEG()*/
3351 xed3_operand_set_need_memdisp(d, 0x8);
3352 xed3_operand_set_base0(d, XED_REG_EAX);
3353 xed3_capture_nt_FINAL_DSEG(d);
3354 xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
3355 /*pacify the compiler */
3356 (void)d;
3357 break;
3358 case 2: /*(2, 0) -> MOD=0b10 RM=0b000 | NEED_MEMDISP=32 BASE0=XED_REG_EAX SEG0=FINAL_DSEG()*/
3359 xed3_operand_set_need_memdisp(d, 0x20);
3360 xed3_operand_set_base0(d, XED_REG_EAX);
3361 xed3_capture_nt_FINAL_DSEG(d);
3362 xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
3363 /*pacify the compiler */
3364 (void)d;
3365 break;
3366 case 4: /*(0, 1) -> MOD=0b00 RM=0b001 | BASE0=XED_REG_ECX SEG0=FINAL_DSEG()*/
3367 xed3_operand_set_base0(d, XED_REG_ECX);
3368 xed3_capture_nt_FINAL_DSEG(d);
3369 xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
3370 /*pacify the compiler */
3371 (void)d;
3372 break;
3373 case 5: /*(1, 1) -> MOD=0b01 RM=0b001 | NEED_MEMDISP=8 BASE0=XED_REG_ECX SEG0=FINAL_DSEG()*/
3374 xed3_operand_set_need_memdisp(d, 0x8);
3375 xed3_operand_set_base0(d, XED_REG_ECX);
3376 xed3_capture_nt_FINAL_DSEG(d);
3377 xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
3378 /*pacify the compiler */
3379 (void)d;
3380 break;
3381 case 6: /*(2, 1) -> MOD=0b10 RM=0b001 | NEED_MEMDISP=32 BASE0=XED_REG_ECX SEG0=FINAL_DSEG()*/
3382 xed3_operand_set_need_memdisp(d, 0x20);
3383 xed3_operand_set_base0(d, XED_REG_ECX);
3384 xed3_capture_nt_FINAL_DSEG(d);
3385 xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
3386 /*pacify the compiler */
3387 (void)d;
3388 break;
3389 case 8: /*(0, 2) -> MOD=0b00 RM=0b010 | BASE0=XED_REG_EDX SEG0=FINAL_DSEG()*/
3390 xed3_operand_set_base0(d, XED_REG_EDX);
3391 xed3_capture_nt_FINAL_DSEG(d);
3392 xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
3393 /*pacify the compiler */
3394 (void)d;
3395 break;
3396 case 9: /*(1, 2) -> MOD=0b01 RM=0b010 | NEED_MEMDISP=8 BASE0=XED_REG_EDX SEG0=FINAL_DSEG()*/
3397 xed3_operand_set_need_memdisp(d, 0x8);
3398 xed3_operand_set_base0(d, XED_REG_EDX);
3399 xed3_capture_nt_FINAL_DSEG(d);
3400 xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
3401 /*pacify the compiler */
3402 (void)d;
3403 break;
3404 case 10: /*(2, 2) -> MOD=0b10 RM=0b010 | NEED_MEMDISP=32 BASE0=XED_REG_EDX SEG0=FINAL_DSEG()*/
3405 xed3_operand_set_need_memdisp(d, 0x20);
3406 xed3_operand_set_base0(d, XED_REG_EDX);
3407 xed3_capture_nt_FINAL_DSEG(d);
3408 xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
3409 /*pacify the compiler */
3410 (void)d;
3411 break;
3412 case 12: /*(0, 3) -> MOD=0b00 RM=0b011 | BASE0=XED_REG_EBX SEG0=FINAL_DSEG()*/
3413 xed3_operand_set_base0(d, XED_REG_EBX);
3414 xed3_capture_nt_FINAL_DSEG(d);
3415 xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
3416 /*pacify the compiler */
3417 (void)d;
3418 break;
3419 case 13: /*(1, 3) -> MOD=0b01 RM=0b011 | NEED_MEMDISP=8 BASE0=XED_REG_EBX SEG0=FINAL_DSEG()*/
3420 xed3_operand_set_need_memdisp(d, 0x8);
3421 xed3_operand_set_base0(d, XED_REG_EBX);
3422 xed3_capture_nt_FINAL_DSEG(d);
3423 xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
3424 /*pacify the compiler */
3425 (void)d;
3426 break;
3427 case 14: /*(2, 3) -> MOD=0b10 RM=0b011 | NEED_MEMDISP=32 BASE0=XED_REG_EBX SEG0=FINAL_DSEG()*/
3428 xed3_operand_set_need_memdisp(d, 0x20);
3429 xed3_operand_set_base0(d, XED_REG_EBX);
3430 xed3_capture_nt_FINAL_DSEG(d);
3431 xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
3432 /*pacify the compiler */
3433 (void)d;
3434 break;
3435 case 16: /*(0, 4) -> MOD=0b00 RM=0b100 SIB() |*/
3436 xed3_capture_nt_SIB(d);
3437 /*pacify the compiler */
3438 (void)d;
3439 break;
3440 case 17: /*(1, 4) -> MOD=0b01 RM=0b100 SIB() | NEED_MEMDISP=8*/
3441 xed3_capture_nt_SIB(d);
3442 xed3_operand_set_need_memdisp(d, 0x8);
3443 /*pacify the compiler */
3444 (void)d;
3445 break;
3446 case 18: /*(2, 4) -> MOD=0b10 RM=0b100 SIB() | NEED_MEMDISP=32*/
3447 xed3_capture_nt_SIB(d);
3448 xed3_operand_set_need_memdisp(d, 0x20);
3449 /*pacify the compiler */
3450 (void)d;
3451 break;
3452 case 20: /*(0, 5) -> MOD=0b00 RM=0b101 | NEED_MEMDISP=32 SEG0=FINAL_DSEG()*/
3453 xed3_operand_set_need_memdisp(d, 0x20);
3454 xed3_capture_nt_FINAL_DSEG(d);
3455 xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
3456 /*pacify the compiler */
3457 (void)d;
3458 break;
3459 case 21: /*(1, 5) -> MOD=0b01 RM=0b101 | NEED_MEMDISP=8 BASE0=XED_REG_EBP SEG0=FINAL_SSEG()*/
3460 xed3_operand_set_need_memdisp(d, 0x8);
3461 xed3_operand_set_base0(d, XED_REG_EBP);
3462 xed3_capture_nt_FINAL_SSEG(d);
3463 xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
3464 /*pacify the compiler */
3465 (void)d;
3466 break;
3467 case 22: /*(2, 5) -> MOD=0b10 RM=0b101 | NEED_MEMDISP=32 BASE0=XED_REG_EBP SEG0=FINAL_SSEG()*/
3468 xed3_operand_set_need_memdisp(d, 0x20);
3469 xed3_operand_set_base0(d, XED_REG_EBP);
3470 xed3_capture_nt_FINAL_SSEG(d);
3471 xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
3472 /*pacify the compiler */
3473 (void)d;
3474 break;
3475 case 24: /*(0, 6) -> MOD=0b00 RM=0b110 | BASE0=XED_REG_ESI SEG0=FINAL_DSEG()*/
3476 xed3_operand_set_base0(d, XED_REG_ESI);
3477 xed3_capture_nt_FINAL_DSEG(d);
3478 xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
3479 /*pacify the compiler */
3480 (void)d;
3481 break;
3482 case 25: /*(1, 6) -> MOD=0b01 RM=0b110 | NEED_MEMDISP=8 BASE0=XED_REG_ESI SEG0=FINAL_DSEG()*/
3483 xed3_operand_set_need_memdisp(d, 0x8);
3484 xed3_operand_set_base0(d, XED_REG_ESI);
3485 xed3_capture_nt_FINAL_DSEG(d);
3486 xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
3487 /*pacify the compiler */
3488 (void)d;
3489 break;
3490 case 26: /*(2, 6) -> MOD=0b10 RM=0b110 | NEED_MEMDISP=32 BASE0=XED_REG_ESI SEG0=FINAL_DSEG()*/
3491 xed3_operand_set_need_memdisp(d, 0x20);
3492 xed3_operand_set_base0(d, XED_REG_ESI);
3493 xed3_capture_nt_FINAL_DSEG(d);
3494 xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
3495 /*pacify the compiler */
3496 (void)d;
3497 break;
3498 case 28: /*(0, 7) -> MOD=0b00 RM=0b111 | BASE0=XED_REG_EDI SEG0=FINAL_DSEG()*/
3499 xed3_operand_set_base0(d, XED_REG_EDI);
3500 xed3_capture_nt_FINAL_DSEG(d);
3501 xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
3502 /*pacify the compiler */
3503 (void)d;
3504 break;
3505 case 29: /*(1, 7) -> MOD=0b01 RM=0b111 | NEED_MEMDISP=8 BASE0=XED_REG_EDI SEG0=FINAL_DSEG()*/
3506 xed3_operand_set_need_memdisp(d, 0x8);
3507 xed3_operand_set_base0(d, XED_REG_EDI);
3508 xed3_capture_nt_FINAL_DSEG(d);
3509 xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
3510 /*pacify the compiler */
3511 (void)d;
3512 break;
3513 case 30: /*(2, 7) -> MOD=0b10 RM=0b111 | NEED_MEMDISP=32 BASE0=XED_REG_EDI SEG0=FINAL_DSEG()*/
3514 xed3_operand_set_need_memdisp(d, 0x20);
3515 xed3_operand_set_base0(d, XED_REG_EDI);
3516 xed3_capture_nt_FINAL_DSEG(d);
3517 xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
3518 /*pacify the compiler */
3519 (void)d;
3520 break;
3521 default:
3522 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
3523 break;
3524 }
3525 }
xed3_capture_nt_ZMM_B3_32(xed_decoded_inst_t * d)3526 static XED_INLINE void xed3_capture_nt_ZMM_B3_32(xed_decoded_inst_t* d)
3527 {
3528 xed_uint32_t key = 0;
3529 key += (xed3_operand_get_rm(d)) << ((0));
3530 /* now switch code..*/
3531 switch(key) {
3532 case 0: /*(0,) -> RM=0 | OUTREG=XED_REG_ZMM0*/
3533 xed3_operand_set_outreg(d, XED_REG_ZMM0);
3534 /*pacify the compiler */
3535 (void)d;
3536 break;
3537 case 1: /*(1,) -> RM=1 | OUTREG=XED_REG_ZMM1*/
3538 xed3_operand_set_outreg(d, XED_REG_ZMM1);
3539 /*pacify the compiler */
3540 (void)d;
3541 break;
3542 case 2: /*(2,) -> RM=2 | OUTREG=XED_REG_ZMM2*/
3543 xed3_operand_set_outreg(d, XED_REG_ZMM2);
3544 /*pacify the compiler */
3545 (void)d;
3546 break;
3547 case 3: /*(3,) -> RM=3 | OUTREG=XED_REG_ZMM3*/
3548 xed3_operand_set_outreg(d, XED_REG_ZMM3);
3549 /*pacify the compiler */
3550 (void)d;
3551 break;
3552 case 4: /*(4,) -> RM=4 | OUTREG=XED_REG_ZMM4*/
3553 xed3_operand_set_outreg(d, XED_REG_ZMM4);
3554 /*pacify the compiler */
3555 (void)d;
3556 break;
3557 case 5: /*(5,) -> RM=5 | OUTREG=XED_REG_ZMM5*/
3558 xed3_operand_set_outreg(d, XED_REG_ZMM5);
3559 /*pacify the compiler */
3560 (void)d;
3561 break;
3562 case 6: /*(6,) -> RM=6 | OUTREG=XED_REG_ZMM6*/
3563 xed3_operand_set_outreg(d, XED_REG_ZMM6);
3564 /*pacify the compiler */
3565 (void)d;
3566 break;
3567 case 7: /*(7,) -> RM=7 | OUTREG=XED_REG_ZMM7*/
3568 xed3_operand_set_outreg(d, XED_REG_ZMM7);
3569 /*pacify the compiler */
3570 (void)d;
3571 break;
3572 default:
3573 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
3574 break;
3575 }
3576 }
xed3_capture_nt_YMM_B_32(xed_decoded_inst_t * d)3577 static XED_INLINE void xed3_capture_nt_YMM_B_32(xed_decoded_inst_t* d)
3578 {
3579 xed_uint32_t key = 0;
3580 key += (xed3_operand_get_rm(d)) << ((0));
3581 /* now switch code..*/
3582 switch(key) {
3583 case 0: /*(0,) -> RM=0 | OUTREG=XED_REG_YMM0*/
3584 xed3_operand_set_outreg(d, XED_REG_YMM0);
3585 /*pacify the compiler */
3586 (void)d;
3587 break;
3588 case 1: /*(1,) -> RM=1 | OUTREG=XED_REG_YMM1*/
3589 xed3_operand_set_outreg(d, XED_REG_YMM1);
3590 /*pacify the compiler */
3591 (void)d;
3592 break;
3593 case 2: /*(2,) -> RM=2 | OUTREG=XED_REG_YMM2*/
3594 xed3_operand_set_outreg(d, XED_REG_YMM2);
3595 /*pacify the compiler */
3596 (void)d;
3597 break;
3598 case 3: /*(3,) -> RM=3 | OUTREG=XED_REG_YMM3*/
3599 xed3_operand_set_outreg(d, XED_REG_YMM3);
3600 /*pacify the compiler */
3601 (void)d;
3602 break;
3603 case 4: /*(4,) -> RM=4 | OUTREG=XED_REG_YMM4*/
3604 xed3_operand_set_outreg(d, XED_REG_YMM4);
3605 /*pacify the compiler */
3606 (void)d;
3607 break;
3608 case 5: /*(5,) -> RM=5 | OUTREG=XED_REG_YMM5*/
3609 xed3_operand_set_outreg(d, XED_REG_YMM5);
3610 /*pacify the compiler */
3611 (void)d;
3612 break;
3613 case 6: /*(6,) -> RM=6 | OUTREG=XED_REG_YMM6*/
3614 xed3_operand_set_outreg(d, XED_REG_YMM6);
3615 /*pacify the compiler */
3616 (void)d;
3617 break;
3618 case 7: /*(7,) -> RM=7 | OUTREG=XED_REG_YMM7*/
3619 xed3_operand_set_outreg(d, XED_REG_YMM7);
3620 /*pacify the compiler */
3621 (void)d;
3622 break;
3623 default:
3624 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
3625 break;
3626 }
3627 }
xed3_capture_nt_YMM_B3(xed_decoded_inst_t * d)3628 static XED_INLINE void xed3_capture_nt_YMM_B3(xed_decoded_inst_t* d)
3629 {
3630 xed_uint32_t key = 0;
3631 key += (xed3_operand_get_mode(d)) << ((0));
3632 /* now switch code..*/
3633 switch(key) {
3634 case 0: /*(0,) -> mode16 | OUTREG=YMM_B3_32()*/
3635 xed3_capture_nt_YMM_B3_32(d);
3636 /*pacify the compiler */
3637 (void)d;
3638 break;
3639 case 1: /*(1,) -> mode32 | OUTREG=YMM_B3_32()*/
3640 xed3_capture_nt_YMM_B3_32(d);
3641 /*pacify the compiler */
3642 (void)d;
3643 break;
3644 case 2: /*(2,) -> mode64 | OUTREG=YMM_B3_64()*/
3645 xed3_capture_nt_YMM_B3_64(d);
3646 /*pacify the compiler */
3647 (void)d;
3648 break;
3649 default:
3650 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
3651 break;
3652 }
3653 }
xed3_capture_nt_GPRy_R(xed_decoded_inst_t * d)3654 static XED_INLINE void xed3_capture_nt_GPRy_R(xed_decoded_inst_t* d)
3655 {
3656 xed_uint32_t key = 0;
3657 key += (xed3_operand_get_eosz(d)) << ((0));
3658 /* now switch code..*/
3659 switch(key) {
3660 case 1: /*(1,) -> EOSZ=1 | OUTREG=GPR32_R()*/
3661 xed3_capture_nt_GPR32_R(d);
3662 /*pacify the compiler */
3663 (void)d;
3664 break;
3665 case 2: /*(2,) -> EOSZ=2 | OUTREG=GPR32_R()*/
3666 xed3_capture_nt_GPR32_R(d);
3667 /*pacify the compiler */
3668 (void)d;
3669 break;
3670 case 3: /*(3,) -> EOSZ=3 | OUTREG=GPR64_R()*/
3671 xed3_capture_nt_GPR64_R(d);
3672 /*pacify the compiler */
3673 (void)d;
3674 break;
3675 default:
3676 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
3677 break;
3678 }
3679 }
xed3_capture_nt_MODRM64alt32(xed_decoded_inst_t * d)3680 static XED_INLINE void xed3_capture_nt_MODRM64alt32(xed_decoded_inst_t* d)
3681 {
3682 xed_uint32_t key = 0;
3683 key += (xed3_operand_get_mod(d)) << ((0));
3684 key += (xed3_operand_get_rexb(d)) << ((2));
3685 key += (xed3_operand_get_rm(d)) << ((3));
3686 /* now switch code..*/
3687 switch(key) {
3688 case 0: /*(0, 0, 0) -> REXB=0 MOD=0b00 RM=0b000 | BASE0=ArAX() SEG0=FINAL_DSEG()*/
3689 xed3_capture_nt_ArAX(d);
3690 xed3_operand_set_base0(d, xed3_operand_get_outreg(d));
3691 xed3_capture_nt_FINAL_DSEG(d);
3692 xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
3693 /*pacify the compiler */
3694 (void)d;
3695 break;
3696 case 1: /*(1, 0, 0) -> REXB=0 MOD=0b01 RM=0b000 | NEED_MEMDISP=8 BASE0=ArAX() SEG0=FINAL_DSEG()*/
3697 xed3_operand_set_need_memdisp(d, 0x8);
3698 xed3_capture_nt_ArAX(d);
3699 xed3_operand_set_base0(d, xed3_operand_get_outreg(d));
3700 xed3_capture_nt_FINAL_DSEG(d);
3701 xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
3702 /*pacify the compiler */
3703 (void)d;
3704 break;
3705 case 2: /*(2, 0, 0) -> REXB=0 MOD=0b10 RM=0b000 | NEED_MEMDISP=32 BASE0=ArAX() SEG0=FINAL_DSEG()*/
3706 xed3_operand_set_need_memdisp(d, 0x20);
3707 xed3_capture_nt_ArAX(d);
3708 xed3_operand_set_base0(d, xed3_operand_get_outreg(d));
3709 xed3_capture_nt_FINAL_DSEG(d);
3710 xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
3711 /*pacify the compiler */
3712 (void)d;
3713 break;
3714 case 4: /*(0, 1, 0) -> REXB=1 MOD=0b00 RM=0b000 | BASE0=Ar8() SEG0=FINAL_DSEG()*/
3715 xed3_capture_nt_Ar8(d);
3716 xed3_operand_set_base0(d, xed3_operand_get_outreg(d));
3717 xed3_capture_nt_FINAL_DSEG(d);
3718 xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
3719 /*pacify the compiler */
3720 (void)d;
3721 break;
3722 case 5: /*(1, 1, 0) -> REXB=1 MOD=0b01 RM=0b000 | NEED_MEMDISP=8 BASE0=Ar8() SEG0=FINAL_DSEG()*/
3723 xed3_operand_set_need_memdisp(d, 0x8);
3724 xed3_capture_nt_Ar8(d);
3725 xed3_operand_set_base0(d, xed3_operand_get_outreg(d));
3726 xed3_capture_nt_FINAL_DSEG(d);
3727 xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
3728 /*pacify the compiler */
3729 (void)d;
3730 break;
3731 case 6: /*(2, 1, 0) -> REXB=1 MOD=0b10 RM=0b000 | NEED_MEMDISP=32 BASE0=Ar8() SEG0=FINAL_DSEG()*/
3732 xed3_operand_set_need_memdisp(d, 0x20);
3733 xed3_capture_nt_Ar8(d);
3734 xed3_operand_set_base0(d, xed3_operand_get_outreg(d));
3735 xed3_capture_nt_FINAL_DSEG(d);
3736 xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
3737 /*pacify the compiler */
3738 (void)d;
3739 break;
3740 case 8: /*(0, 0, 1) -> REXB=0 MOD=0b00 RM=0b001 | BASE0=ArCX() SEG0=FINAL_DSEG()*/
3741 xed3_capture_nt_ArCX(d);
3742 xed3_operand_set_base0(d, xed3_operand_get_outreg(d));
3743 xed3_capture_nt_FINAL_DSEG(d);
3744 xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
3745 /*pacify the compiler */
3746 (void)d;
3747 break;
3748 case 9: /*(1, 0, 1) -> REXB=0 MOD=0b01 RM=0b001 | NEED_MEMDISP=8 BASE0=ArCX() SEG0=FINAL_DSEG()*/
3749 xed3_operand_set_need_memdisp(d, 0x8);
3750 xed3_capture_nt_ArCX(d);
3751 xed3_operand_set_base0(d, xed3_operand_get_outreg(d));
3752 xed3_capture_nt_FINAL_DSEG(d);
3753 xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
3754 /*pacify the compiler */
3755 (void)d;
3756 break;
3757 case 10: /*(2, 0, 1) -> REXB=0 MOD=0b10 RM=0b001 | NEED_MEMDISP=32 BASE0=ArCX() SEG0=FINAL_DSEG()*/
3758 xed3_operand_set_need_memdisp(d, 0x20);
3759 xed3_capture_nt_ArCX(d);
3760 xed3_operand_set_base0(d, xed3_operand_get_outreg(d));
3761 xed3_capture_nt_FINAL_DSEG(d);
3762 xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
3763 /*pacify the compiler */
3764 (void)d;
3765 break;
3766 case 12: /*(0, 1, 1) -> REXB=1 MOD=0b00 RM=0b001 | BASE0=Ar9() SEG0=FINAL_DSEG()*/
3767 xed3_capture_nt_Ar9(d);
3768 xed3_operand_set_base0(d, xed3_operand_get_outreg(d));
3769 xed3_capture_nt_FINAL_DSEG(d);
3770 xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
3771 /*pacify the compiler */
3772 (void)d;
3773 break;
3774 case 13: /*(1, 1, 1) -> REXB=1 MOD=0b01 RM=0b001 | NEED_MEMDISP=8 BASE0=Ar9() SEG0=FINAL_DSEG()*/
3775 xed3_operand_set_need_memdisp(d, 0x8);
3776 xed3_capture_nt_Ar9(d);
3777 xed3_operand_set_base0(d, xed3_operand_get_outreg(d));
3778 xed3_capture_nt_FINAL_DSEG(d);
3779 xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
3780 /*pacify the compiler */
3781 (void)d;
3782 break;
3783 case 14: /*(2, 1, 1) -> REXB=1 MOD=0b10 RM=0b001 | NEED_MEMDISP=32 BASE0=Ar9() SEG0=FINAL_DSEG()*/
3784 xed3_operand_set_need_memdisp(d, 0x20);
3785 xed3_capture_nt_Ar9(d);
3786 xed3_operand_set_base0(d, xed3_operand_get_outreg(d));
3787 xed3_capture_nt_FINAL_DSEG(d);
3788 xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
3789 /*pacify the compiler */
3790 (void)d;
3791 break;
3792 case 16: /*(0, 0, 2) -> REXB=0 MOD=0b00 RM=0b010 | BASE0=ArDX() SEG0=FINAL_DSEG()*/
3793 xed3_capture_nt_ArDX(d);
3794 xed3_operand_set_base0(d, xed3_operand_get_outreg(d));
3795 xed3_capture_nt_FINAL_DSEG(d);
3796 xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
3797 /*pacify the compiler */
3798 (void)d;
3799 break;
3800 case 17: /*(1, 0, 2) -> REXB=0 MOD=0b01 RM=0b010 | NEED_MEMDISP=8 BASE0=ArDX() SEG0=FINAL_DSEG()*/
3801 xed3_operand_set_need_memdisp(d, 0x8);
3802 xed3_capture_nt_ArDX(d);
3803 xed3_operand_set_base0(d, xed3_operand_get_outreg(d));
3804 xed3_capture_nt_FINAL_DSEG(d);
3805 xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
3806 /*pacify the compiler */
3807 (void)d;
3808 break;
3809 case 18: /*(2, 0, 2) -> REXB=0 MOD=0b10 RM=0b010 | NEED_MEMDISP=32 BASE0=ArDX() SEG0=FINAL_DSEG()*/
3810 xed3_operand_set_need_memdisp(d, 0x20);
3811 xed3_capture_nt_ArDX(d);
3812 xed3_operand_set_base0(d, xed3_operand_get_outreg(d));
3813 xed3_capture_nt_FINAL_DSEG(d);
3814 xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
3815 /*pacify the compiler */
3816 (void)d;
3817 break;
3818 case 20: /*(0, 1, 2) -> REXB=1 MOD=0b00 RM=0b010 | BASE0=Ar10() SEG0=FINAL_DSEG()*/
3819 xed3_capture_nt_Ar10(d);
3820 xed3_operand_set_base0(d, xed3_operand_get_outreg(d));
3821 xed3_capture_nt_FINAL_DSEG(d);
3822 xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
3823 /*pacify the compiler */
3824 (void)d;
3825 break;
3826 case 21: /*(1, 1, 2) -> REXB=1 MOD=0b01 RM=0b010 | NEED_MEMDISP=8 BASE0=Ar10() SEG0=FINAL_DSEG()*/
3827 xed3_operand_set_need_memdisp(d, 0x8);
3828 xed3_capture_nt_Ar10(d);
3829 xed3_operand_set_base0(d, xed3_operand_get_outreg(d));
3830 xed3_capture_nt_FINAL_DSEG(d);
3831 xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
3832 /*pacify the compiler */
3833 (void)d;
3834 break;
3835 case 22: /*(2, 1, 2) -> REXB=1 MOD=0b10 RM=0b010 | NEED_MEMDISP=32 BASE0=Ar10() SEG0=FINAL_DSEG()*/
3836 xed3_operand_set_need_memdisp(d, 0x20);
3837 xed3_capture_nt_Ar10(d);
3838 xed3_operand_set_base0(d, xed3_operand_get_outreg(d));
3839 xed3_capture_nt_FINAL_DSEG(d);
3840 xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
3841 /*pacify the compiler */
3842 (void)d;
3843 break;
3844 case 24: /*(0, 0, 3) -> REXB=0 MOD=0b00 RM=0b011 | BASE0=ArBX() SEG0=FINAL_DSEG()*/
3845 xed3_capture_nt_ArBX(d);
3846 xed3_operand_set_base0(d, xed3_operand_get_outreg(d));
3847 xed3_capture_nt_FINAL_DSEG(d);
3848 xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
3849 /*pacify the compiler */
3850 (void)d;
3851 break;
3852 case 25: /*(1, 0, 3) -> REXB=0 MOD=0b01 RM=0b011 | NEED_MEMDISP=8 BASE0=ArBX() SEG0=FINAL_DSEG()*/
3853 xed3_operand_set_need_memdisp(d, 0x8);
3854 xed3_capture_nt_ArBX(d);
3855 xed3_operand_set_base0(d, xed3_operand_get_outreg(d));
3856 xed3_capture_nt_FINAL_DSEG(d);
3857 xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
3858 /*pacify the compiler */
3859 (void)d;
3860 break;
3861 case 26: /*(2, 0, 3) -> REXB=0 MOD=0b10 RM=0b011 | NEED_MEMDISP=32 BASE0=ArBX() SEG0=FINAL_DSEG()*/
3862 xed3_operand_set_need_memdisp(d, 0x20);
3863 xed3_capture_nt_ArBX(d);
3864 xed3_operand_set_base0(d, xed3_operand_get_outreg(d));
3865 xed3_capture_nt_FINAL_DSEG(d);
3866 xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
3867 /*pacify the compiler */
3868 (void)d;
3869 break;
3870 case 28: /*(0, 1, 3) -> REXB=1 MOD=0b00 RM=0b011 | BASE0=Ar11() SEG0=FINAL_DSEG()*/
3871 xed3_capture_nt_Ar11(d);
3872 xed3_operand_set_base0(d, xed3_operand_get_outreg(d));
3873 xed3_capture_nt_FINAL_DSEG(d);
3874 xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
3875 /*pacify the compiler */
3876 (void)d;
3877 break;
3878 case 29: /*(1, 1, 3) -> REXB=1 MOD=0b01 RM=0b011 | NEED_MEMDISP=8 BASE0=Ar11() SEG0=FINAL_DSEG()*/
3879 xed3_operand_set_need_memdisp(d, 0x8);
3880 xed3_capture_nt_Ar11(d);
3881 xed3_operand_set_base0(d, xed3_operand_get_outreg(d));
3882 xed3_capture_nt_FINAL_DSEG(d);
3883 xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
3884 /*pacify the compiler */
3885 (void)d;
3886 break;
3887 case 30: /*(2, 1, 3) -> REXB=1 MOD=0b10 RM=0b011 | NEED_MEMDISP=32 BASE0=Ar11() SEG0=FINAL_DSEG()*/
3888 xed3_operand_set_need_memdisp(d, 0x20);
3889 xed3_capture_nt_Ar11(d);
3890 xed3_operand_set_base0(d, xed3_operand_get_outreg(d));
3891 xed3_capture_nt_FINAL_DSEG(d);
3892 xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
3893 /*pacify the compiler */
3894 (void)d;
3895 break;
3896 case 32: /*(0, 0, 4) -> REXB=0 MOD=0b00 RM=0b100 SIB() |*/
3897 xed3_capture_nt_SIB(d);
3898 /*pacify the compiler */
3899 (void)d;
3900 break;
3901 case 33: /*(1, 0, 4) -> REXB=0 MOD=0b01 RM=0b100 SIB() | NEED_MEMDISP=8*/
3902 xed3_capture_nt_SIB(d);
3903 xed3_operand_set_need_memdisp(d, 0x8);
3904 /*pacify the compiler */
3905 (void)d;
3906 break;
3907 case 34: /*(2, 0, 4) -> REXB=0 MOD=0b10 RM=0b100 SIB() | NEED_MEMDISP=32*/
3908 xed3_capture_nt_SIB(d);
3909 xed3_operand_set_need_memdisp(d, 0x20);
3910 /*pacify the compiler */
3911 (void)d;
3912 break;
3913 case 36: /*(0, 1, 4) -> REXB=1 MOD=0b00 RM=0b100 SIB() |*/
3914 xed3_capture_nt_SIB(d);
3915 /*pacify the compiler */
3916 (void)d;
3917 break;
3918 case 37: /*(1, 1, 4) -> REXB=1 MOD=0b01 RM=0b100 SIB() | NEED_MEMDISP=8*/
3919 xed3_capture_nt_SIB(d);
3920 xed3_operand_set_need_memdisp(d, 0x8);
3921 /*pacify the compiler */
3922 (void)d;
3923 break;
3924 case 38: /*(2, 1, 4) -> REXB=1 MOD=0b10 RM=0b100 SIB() | NEED_MEMDISP=32*/
3925 xed3_capture_nt_SIB(d);
3926 xed3_operand_set_need_memdisp(d, 0x20);
3927 /*pacify the compiler */
3928 (void)d;
3929 break;
3930 case 40: /*(0, 0, 5) -> REXB=0 MOD=0b00 RM=0b101 | NEED_MEMDISP=32 BASE0=rIPa() SEG0=FINAL_DSEG() enc*/
3931 xed3_operand_set_need_memdisp(d, 0x20);
3932 xed3_capture_nt_rIPa(d);
3933 xed3_operand_set_base0(d, xed3_operand_get_outreg(d));
3934 xed3_capture_nt_FINAL_DSEG(d);
3935 xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
3936 /*pacify the compiler */
3937 (void)d;
3938 break;
3939 case 41: /*(1, 0, 5) -> REXB=0 MOD=0b01 RM=0b101 | NEED_MEMDISP=8 BASE0=ArBP() SEG0=FINAL_SSEG()*/
3940 xed3_operand_set_need_memdisp(d, 0x8);
3941 xed3_capture_nt_ArBP(d);
3942 xed3_operand_set_base0(d, xed3_operand_get_outreg(d));
3943 xed3_capture_nt_FINAL_SSEG(d);
3944 xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
3945 /*pacify the compiler */
3946 (void)d;
3947 break;
3948 case 42: /*(2, 0, 5) -> REXB=0 MOD=0b10 RM=0b101 | NEED_MEMDISP=32 BASE0=ArBP() SEG0=FINAL_SSEG()*/
3949 xed3_operand_set_need_memdisp(d, 0x20);
3950 xed3_capture_nt_ArBP(d);
3951 xed3_operand_set_base0(d, xed3_operand_get_outreg(d));
3952 xed3_capture_nt_FINAL_SSEG(d);
3953 xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
3954 /*pacify the compiler */
3955 (void)d;
3956 break;
3957 case 44: /*(0, 1, 5) -> REXB=1 MOD=0b00 RM=0b101 | NEED_MEMDISP=32 BASE0=rIPa() SEG0=FINAL_DSEG()*/
3958 xed3_operand_set_need_memdisp(d, 0x20);
3959 xed3_capture_nt_rIPa(d);
3960 xed3_operand_set_base0(d, xed3_operand_get_outreg(d));
3961 xed3_capture_nt_FINAL_DSEG(d);
3962 xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
3963 /*pacify the compiler */
3964 (void)d;
3965 break;
3966 case 45: /*(1, 1, 5) -> REXB=1 MOD=0b01 RM=0b101 | NEED_MEMDISP=8 BASE0=Ar13() SEG0=FINAL_DSEG()*/
3967 xed3_operand_set_need_memdisp(d, 0x8);
3968 xed3_capture_nt_Ar13(d);
3969 xed3_operand_set_base0(d, xed3_operand_get_outreg(d));
3970 xed3_capture_nt_FINAL_DSEG(d);
3971 xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
3972 /*pacify the compiler */
3973 (void)d;
3974 break;
3975 case 46: /*(2, 1, 5) -> REXB=1 MOD=0b10 RM=0b101 | NEED_MEMDISP=32 BASE0=Ar13() SEG0=FINAL_DSEG()*/
3976 xed3_operand_set_need_memdisp(d, 0x20);
3977 xed3_capture_nt_Ar13(d);
3978 xed3_operand_set_base0(d, xed3_operand_get_outreg(d));
3979 xed3_capture_nt_FINAL_DSEG(d);
3980 xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
3981 /*pacify the compiler */
3982 (void)d;
3983 break;
3984 case 48: /*(0, 0, 6) -> REXB=0 MOD=0b00 RM=0b110 | BASE0=ArSI() SEG0=FINAL_DSEG()*/
3985 xed3_capture_nt_ArSI(d);
3986 xed3_operand_set_base0(d, xed3_operand_get_outreg(d));
3987 xed3_capture_nt_FINAL_DSEG(d);
3988 xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
3989 /*pacify the compiler */
3990 (void)d;
3991 break;
3992 case 49: /*(1, 0, 6) -> REXB=0 MOD=0b01 RM=0b110 | NEED_MEMDISP=8 BASE0=ArSI() SEG0=FINAL_DSEG()*/
3993 xed3_operand_set_need_memdisp(d, 0x8);
3994 xed3_capture_nt_ArSI(d);
3995 xed3_operand_set_base0(d, xed3_operand_get_outreg(d));
3996 xed3_capture_nt_FINAL_DSEG(d);
3997 xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
3998 /*pacify the compiler */
3999 (void)d;
4000 break;
4001 case 50: /*(2, 0, 6) -> REXB=0 MOD=0b10 RM=0b110 | NEED_MEMDISP=32 BASE0=ArSI() SEG0=FINAL_DSEG()*/
4002 xed3_operand_set_need_memdisp(d, 0x20);
4003 xed3_capture_nt_ArSI(d);
4004 xed3_operand_set_base0(d, xed3_operand_get_outreg(d));
4005 xed3_capture_nt_FINAL_DSEG(d);
4006 xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
4007 /*pacify the compiler */
4008 (void)d;
4009 break;
4010 case 52: /*(0, 1, 6) -> REXB=1 MOD=0b00 RM=0b110 | BASE0=Ar14() SEG0=FINAL_DSEG()*/
4011 xed3_capture_nt_Ar14(d);
4012 xed3_operand_set_base0(d, xed3_operand_get_outreg(d));
4013 xed3_capture_nt_FINAL_DSEG(d);
4014 xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
4015 /*pacify the compiler */
4016 (void)d;
4017 break;
4018 case 53: /*(1, 1, 6) -> REXB=1 MOD=0b01 RM=0b110 | NEED_MEMDISP=8 BASE0=Ar14() SEG0=FINAL_DSEG()*/
4019 xed3_operand_set_need_memdisp(d, 0x8);
4020 xed3_capture_nt_Ar14(d);
4021 xed3_operand_set_base0(d, xed3_operand_get_outreg(d));
4022 xed3_capture_nt_FINAL_DSEG(d);
4023 xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
4024 /*pacify the compiler */
4025 (void)d;
4026 break;
4027 case 54: /*(2, 1, 6) -> REXB=1 MOD=0b10 RM=0b110 | NEED_MEMDISP=32 BASE0=Ar14() SEG0=FINAL_DSEG()*/
4028 xed3_operand_set_need_memdisp(d, 0x20);
4029 xed3_capture_nt_Ar14(d);
4030 xed3_operand_set_base0(d, xed3_operand_get_outreg(d));
4031 xed3_capture_nt_FINAL_DSEG(d);
4032 xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
4033 /*pacify the compiler */
4034 (void)d;
4035 break;
4036 case 56: /*(0, 0, 7) -> REXB=0 MOD=0b00 RM=0b111 | BASE0=ArDI() SEG0=FINAL_DSEG()*/
4037 xed3_capture_nt_ArDI(d);
4038 xed3_operand_set_base0(d, xed3_operand_get_outreg(d));
4039 xed3_capture_nt_FINAL_DSEG(d);
4040 xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
4041 /*pacify the compiler */
4042 (void)d;
4043 break;
4044 case 57: /*(1, 0, 7) -> REXB=0 MOD=0b01 RM=0b111 | NEED_MEMDISP=8 BASE0=ArDI() SEG0=FINAL_DSEG()*/
4045 xed3_operand_set_need_memdisp(d, 0x8);
4046 xed3_capture_nt_ArDI(d);
4047 xed3_operand_set_base0(d, xed3_operand_get_outreg(d));
4048 xed3_capture_nt_FINAL_DSEG(d);
4049 xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
4050 /*pacify the compiler */
4051 (void)d;
4052 break;
4053 case 58: /*(2, 0, 7) -> REXB=0 MOD=0b10 RM=0b111 | NEED_MEMDISP=32 BASE0=ArDI() SEG0=FINAL_DSEG()*/
4054 xed3_operand_set_need_memdisp(d, 0x20);
4055 xed3_capture_nt_ArDI(d);
4056 xed3_operand_set_base0(d, xed3_operand_get_outreg(d));
4057 xed3_capture_nt_FINAL_DSEG(d);
4058 xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
4059 /*pacify the compiler */
4060 (void)d;
4061 break;
4062 case 60: /*(0, 1, 7) -> REXB=1 MOD=0b00 RM=0b111 | BASE0=Ar15() SEG0=FINAL_DSEG()*/
4063 xed3_capture_nt_Ar15(d);
4064 xed3_operand_set_base0(d, xed3_operand_get_outreg(d));
4065 xed3_capture_nt_FINAL_DSEG(d);
4066 xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
4067 /*pacify the compiler */
4068 (void)d;
4069 break;
4070 case 61: /*(1, 1, 7) -> REXB=1 MOD=0b01 RM=0b111 | NEED_MEMDISP=8 BASE0=Ar15() SEG0=FINAL_DSEG()*/
4071 xed3_operand_set_need_memdisp(d, 0x8);
4072 xed3_capture_nt_Ar15(d);
4073 xed3_operand_set_base0(d, xed3_operand_get_outreg(d));
4074 xed3_capture_nt_FINAL_DSEG(d);
4075 xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
4076 /*pacify the compiler */
4077 (void)d;
4078 break;
4079 case 62: /*(2, 1, 7) -> REXB=1 MOD=0b10 RM=0b111 | NEED_MEMDISP=32 BASE0=Ar15() SEG0=FINAL_DSEG()*/
4080 xed3_operand_set_need_memdisp(d, 0x20);
4081 xed3_capture_nt_Ar15(d);
4082 xed3_operand_set_base0(d, xed3_operand_get_outreg(d));
4083 xed3_capture_nt_FINAL_DSEG(d);
4084 xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
4085 /*pacify the compiler */
4086 (void)d;
4087 break;
4088 default:
4089 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
4090 break;
4091 }
4092 }
xed3_capture_nt_SIMMz(xed_decoded_inst_t * d)4093 static XED_INLINE void xed3_capture_nt_SIMMz(xed_decoded_inst_t* d)
4094 {
4095 xed_uint32_t key = 0;
4096 key += (xed3_operand_get_eosz(d)) << ((0));
4097 /* now switch code..*/
4098 switch(key) {
4099 case 1: /*(1,) -> EOSZ=1 UIMM0[iiiiiiiiiiiiiiii] | IMM_WIDTH=16 IMM0SIGNED=1*/
4100 xed3_operand_set_imm_width(d, 0x10);
4101 xed3_operand_set_imm0signed(d, 0x1);
4102 /*pacify the compiler */
4103 (void)d;
4104 break;
4105 case 2: /*(2,) -> EOSZ=2 UIMM0[iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii] | IMM_WIDTH=32 IMM0SIGNED=1*/
4106 xed3_operand_set_imm_width(d, 0x20);
4107 xed3_operand_set_imm0signed(d, 0x1);
4108 /*pacify the compiler */
4109 (void)d;
4110 break;
4111 case 3: /*(3,) -> EOSZ=3 UIMM0[iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii] | IMM_WIDTH=32 IMM0SIGNED=1*/
4112 xed3_operand_set_imm_width(d, 0x20);
4113 xed3_operand_set_imm0signed(d, 0x1);
4114 /*pacify the compiler */
4115 (void)d;
4116 break;
4117 default:
4118 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
4119 break;
4120 }
4121 }
xed3_capture_nt_UIMMv(xed_decoded_inst_t * d)4122 static XED_INLINE void xed3_capture_nt_UIMMv(xed_decoded_inst_t* d)
4123 {
4124 xed_uint32_t key = 0;
4125 key += (xed3_operand_get_eosz(d)) << ((0));
4126 /* now switch code..*/
4127 switch(key) {
4128 case 1: /*(1,) -> EOSZ=1 UIMM0[iiiiiiiiiiiiiiii] | IMM_WIDTH=16*/
4129 xed3_operand_set_imm_width(d, 0x10);
4130 /*pacify the compiler */
4131 (void)d;
4132 break;
4133 case 2: /*(2,) -> EOSZ=2 UIMM0[iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii] | IMM_WIDTH=32*/
4134 xed3_operand_set_imm_width(d, 0x20);
4135 /*pacify the compiler */
4136 (void)d;
4137 break;
4138 case 3: /*(3,) -> EOSZ=3 UIMM0[iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii] | IMM_WIDTH=64*/
4139 xed3_operand_set_imm_width(d, 0x40);
4140 /*pacify the compiler */
4141 (void)d;
4142 break;
4143 default:
4144 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
4145 break;
4146 }
4147 }
xed3_capture_nt_XMM_B3_64(xed_decoded_inst_t * d)4148 static XED_INLINE void xed3_capture_nt_XMM_B3_64(xed_decoded_inst_t* d)
4149 {
4150 xed_uint32_t key = 0;
4151 key += (xed3_operand_get_rexb(d)) << ((0));
4152 key += (xed3_operand_get_rexx(d)) << ((1));
4153 key += (xed3_operand_get_rm(d)) << ((2));
4154 /* now switch code..*/
4155 switch(key) {
4156 case 0: /*(0, 0, 0) -> REXX=0 REXB=0 RM=0 | OUTREG=XED_REG_XMM0*/
4157 xed3_operand_set_outreg(d, XED_REG_XMM0);
4158 /*pacify the compiler */
4159 (void)d;
4160 break;
4161 case 1: /*(1, 0, 0) -> REXX=0 REXB=1 RM=0 | OUTREG=XED_REG_XMM8*/
4162 xed3_operand_set_outreg(d, XED_REG_XMM8);
4163 /*pacify the compiler */
4164 (void)d;
4165 break;
4166 case 2: /*(0, 1, 0) -> REXX=1 REXB=0 RM=0 | OUTREG=XED_REG_XMM16*/
4167 xed3_operand_set_outreg(d, XED_REG_XMM16);
4168 /*pacify the compiler */
4169 (void)d;
4170 break;
4171 case 3: /*(1, 1, 0) -> REXX=1 REXB=1 RM=0 | OUTREG=XED_REG_XMM24*/
4172 xed3_operand_set_outreg(d, XED_REG_XMM24);
4173 /*pacify the compiler */
4174 (void)d;
4175 break;
4176 case 4: /*(0, 0, 1) -> REXX=0 REXB=0 RM=1 | OUTREG=XED_REG_XMM1*/
4177 xed3_operand_set_outreg(d, XED_REG_XMM1);
4178 /*pacify the compiler */
4179 (void)d;
4180 break;
4181 case 5: /*(1, 0, 1) -> REXX=0 REXB=1 RM=1 | OUTREG=XED_REG_XMM9*/
4182 xed3_operand_set_outreg(d, XED_REG_XMM9);
4183 /*pacify the compiler */
4184 (void)d;
4185 break;
4186 case 6: /*(0, 1, 1) -> REXX=1 REXB=0 RM=1 | OUTREG=XED_REG_XMM17*/
4187 xed3_operand_set_outreg(d, XED_REG_XMM17);
4188 /*pacify the compiler */
4189 (void)d;
4190 break;
4191 case 7: /*(1, 1, 1) -> REXX=1 REXB=1 RM=1 | OUTREG=XED_REG_XMM25*/
4192 xed3_operand_set_outreg(d, XED_REG_XMM25);
4193 /*pacify the compiler */
4194 (void)d;
4195 break;
4196 case 8: /*(0, 0, 2) -> REXX=0 REXB=0 RM=2 | OUTREG=XED_REG_XMM2*/
4197 xed3_operand_set_outreg(d, XED_REG_XMM2);
4198 /*pacify the compiler */
4199 (void)d;
4200 break;
4201 case 9: /*(1, 0, 2) -> REXX=0 REXB=1 RM=2 | OUTREG=XED_REG_XMM10*/
4202 xed3_operand_set_outreg(d, XED_REG_XMM10);
4203 /*pacify the compiler */
4204 (void)d;
4205 break;
4206 case 10: /*(0, 1, 2) -> REXX=1 REXB=0 RM=2 | OUTREG=XED_REG_XMM18*/
4207 xed3_operand_set_outreg(d, XED_REG_XMM18);
4208 /*pacify the compiler */
4209 (void)d;
4210 break;
4211 case 11: /*(1, 1, 2) -> REXX=1 REXB=1 RM=2 | OUTREG=XED_REG_XMM26*/
4212 xed3_operand_set_outreg(d, XED_REG_XMM26);
4213 /*pacify the compiler */
4214 (void)d;
4215 break;
4216 case 12: /*(0, 0, 3) -> REXX=0 REXB=0 RM=3 | OUTREG=XED_REG_XMM3*/
4217 xed3_operand_set_outreg(d, XED_REG_XMM3);
4218 /*pacify the compiler */
4219 (void)d;
4220 break;
4221 case 13: /*(1, 0, 3) -> REXX=0 REXB=1 RM=3 | OUTREG=XED_REG_XMM11*/
4222 xed3_operand_set_outreg(d, XED_REG_XMM11);
4223 /*pacify the compiler */
4224 (void)d;
4225 break;
4226 case 14: /*(0, 1, 3) -> REXX=1 REXB=0 RM=3 | OUTREG=XED_REG_XMM19*/
4227 xed3_operand_set_outreg(d, XED_REG_XMM19);
4228 /*pacify the compiler */
4229 (void)d;
4230 break;
4231 case 15: /*(1, 1, 3) -> REXX=1 REXB=1 RM=3 | OUTREG=XED_REG_XMM27*/
4232 xed3_operand_set_outreg(d, XED_REG_XMM27);
4233 /*pacify the compiler */
4234 (void)d;
4235 break;
4236 case 16: /*(0, 0, 4) -> REXX=0 REXB=0 RM=4 | OUTREG=XED_REG_XMM4*/
4237 xed3_operand_set_outreg(d, XED_REG_XMM4);
4238 /*pacify the compiler */
4239 (void)d;
4240 break;
4241 case 17: /*(1, 0, 4) -> REXX=0 REXB=1 RM=4 | OUTREG=XED_REG_XMM12*/
4242 xed3_operand_set_outreg(d, XED_REG_XMM12);
4243 /*pacify the compiler */
4244 (void)d;
4245 break;
4246 case 18: /*(0, 1, 4) -> REXX=1 REXB=0 RM=4 | OUTREG=XED_REG_XMM20*/
4247 xed3_operand_set_outreg(d, XED_REG_XMM20);
4248 /*pacify the compiler */
4249 (void)d;
4250 break;
4251 case 19: /*(1, 1, 4) -> REXX=1 REXB=1 RM=4 | OUTREG=XED_REG_XMM28*/
4252 xed3_operand_set_outreg(d, XED_REG_XMM28);
4253 /*pacify the compiler */
4254 (void)d;
4255 break;
4256 case 20: /*(0, 0, 5) -> REXX=0 REXB=0 RM=5 | OUTREG=XED_REG_XMM5*/
4257 xed3_operand_set_outreg(d, XED_REG_XMM5);
4258 /*pacify the compiler */
4259 (void)d;
4260 break;
4261 case 21: /*(1, 0, 5) -> REXX=0 REXB=1 RM=5 | OUTREG=XED_REG_XMM13*/
4262 xed3_operand_set_outreg(d, XED_REG_XMM13);
4263 /*pacify the compiler */
4264 (void)d;
4265 break;
4266 case 22: /*(0, 1, 5) -> REXX=1 REXB=0 RM=5 | OUTREG=XED_REG_XMM21*/
4267 xed3_operand_set_outreg(d, XED_REG_XMM21);
4268 /*pacify the compiler */
4269 (void)d;
4270 break;
4271 case 23: /*(1, 1, 5) -> REXX=1 REXB=1 RM=5 | OUTREG=XED_REG_XMM29*/
4272 xed3_operand_set_outreg(d, XED_REG_XMM29);
4273 /*pacify the compiler */
4274 (void)d;
4275 break;
4276 case 24: /*(0, 0, 6) -> REXX=0 REXB=0 RM=6 | OUTREG=XED_REG_XMM6*/
4277 xed3_operand_set_outreg(d, XED_REG_XMM6);
4278 /*pacify the compiler */
4279 (void)d;
4280 break;
4281 case 25: /*(1, 0, 6) -> REXX=0 REXB=1 RM=6 | OUTREG=XED_REG_XMM14*/
4282 xed3_operand_set_outreg(d, XED_REG_XMM14);
4283 /*pacify the compiler */
4284 (void)d;
4285 break;
4286 case 26: /*(0, 1, 6) -> REXX=1 REXB=0 RM=6 | OUTREG=XED_REG_XMM22*/
4287 xed3_operand_set_outreg(d, XED_REG_XMM22);
4288 /*pacify the compiler */
4289 (void)d;
4290 break;
4291 case 27: /*(1, 1, 6) -> REXX=1 REXB=1 RM=6 | OUTREG=XED_REG_XMM30*/
4292 xed3_operand_set_outreg(d, XED_REG_XMM30);
4293 /*pacify the compiler */
4294 (void)d;
4295 break;
4296 case 28: /*(0, 0, 7) -> REXX=0 REXB=0 RM=7 | OUTREG=XED_REG_XMM7*/
4297 xed3_operand_set_outreg(d, XED_REG_XMM7);
4298 /*pacify the compiler */
4299 (void)d;
4300 break;
4301 case 29: /*(1, 0, 7) -> REXX=0 REXB=1 RM=7 | OUTREG=XED_REG_XMM15*/
4302 xed3_operand_set_outreg(d, XED_REG_XMM15);
4303 /*pacify the compiler */
4304 (void)d;
4305 break;
4306 case 30: /*(0, 1, 7) -> REXX=1 REXB=0 RM=7 | OUTREG=XED_REG_XMM23*/
4307 xed3_operand_set_outreg(d, XED_REG_XMM23);
4308 /*pacify the compiler */
4309 (void)d;
4310 break;
4311 case 31: /*(1, 1, 7) -> REXX=1 REXB=1 RM=7 | OUTREG=XED_REG_XMM31*/
4312 xed3_operand_set_outreg(d, XED_REG_XMM31);
4313 /*pacify the compiler */
4314 (void)d;
4315 break;
4316 default:
4317 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
4318 break;
4319 }
4320 }
xed3_capture_nt_VSIB_INDEX_XMM(xed_decoded_inst_t * d)4321 static XED_INLINE void xed3_capture_nt_VSIB_INDEX_XMM(xed_decoded_inst_t* d)
4322 {
4323 xed_uint32_t key = 0;
4324 key += (xed3_operand_get_rexx(d)) << ((0));
4325 key += (xed3_operand_get_sibindex(d)) << ((1));
4326 /* now switch code..*/
4327 switch(key) {
4328 case 0: /*(0, 0) -> REXX=0 SIBINDEX=0 | OUTREG=XED_REG_XMM0*/
4329 xed3_operand_set_outreg(d, XED_REG_XMM0);
4330 /*pacify the compiler */
4331 (void)d;
4332 break;
4333 case 1: /*(1, 0) -> REXX=1 SIBINDEX=0 | OUTREG=XED_REG_XMM8*/
4334 xed3_operand_set_outreg(d, XED_REG_XMM8);
4335 /*pacify the compiler */
4336 (void)d;
4337 break;
4338 case 2: /*(0, 1) -> REXX=0 SIBINDEX=1 | OUTREG=XED_REG_XMM1*/
4339 xed3_operand_set_outreg(d, XED_REG_XMM1);
4340 /*pacify the compiler */
4341 (void)d;
4342 break;
4343 case 3: /*(1, 1) -> REXX=1 SIBINDEX=1 | OUTREG=XED_REG_XMM9*/
4344 xed3_operand_set_outreg(d, XED_REG_XMM9);
4345 /*pacify the compiler */
4346 (void)d;
4347 break;
4348 case 4: /*(0, 2) -> REXX=0 SIBINDEX=2 | OUTREG=XED_REG_XMM2*/
4349 xed3_operand_set_outreg(d, XED_REG_XMM2);
4350 /*pacify the compiler */
4351 (void)d;
4352 break;
4353 case 5: /*(1, 2) -> REXX=1 SIBINDEX=2 | OUTREG=XED_REG_XMM10*/
4354 xed3_operand_set_outreg(d, XED_REG_XMM10);
4355 /*pacify the compiler */
4356 (void)d;
4357 break;
4358 case 6: /*(0, 3) -> REXX=0 SIBINDEX=3 | OUTREG=XED_REG_XMM3*/
4359 xed3_operand_set_outreg(d, XED_REG_XMM3);
4360 /*pacify the compiler */
4361 (void)d;
4362 break;
4363 case 7: /*(1, 3) -> REXX=1 SIBINDEX=3 | OUTREG=XED_REG_XMM11*/
4364 xed3_operand_set_outreg(d, XED_REG_XMM11);
4365 /*pacify the compiler */
4366 (void)d;
4367 break;
4368 case 8: /*(0, 4) -> REXX=0 SIBINDEX=4 | OUTREG=XED_REG_XMM4*/
4369 xed3_operand_set_outreg(d, XED_REG_XMM4);
4370 /*pacify the compiler */
4371 (void)d;
4372 break;
4373 case 9: /*(1, 4) -> REXX=1 SIBINDEX=4 | OUTREG=XED_REG_XMM12*/
4374 xed3_operand_set_outreg(d, XED_REG_XMM12);
4375 /*pacify the compiler */
4376 (void)d;
4377 break;
4378 case 10: /*(0, 5) -> REXX=0 SIBINDEX=5 | OUTREG=XED_REG_XMM5*/
4379 xed3_operand_set_outreg(d, XED_REG_XMM5);
4380 /*pacify the compiler */
4381 (void)d;
4382 break;
4383 case 11: /*(1, 5) -> REXX=1 SIBINDEX=5 | OUTREG=XED_REG_XMM13*/
4384 xed3_operand_set_outreg(d, XED_REG_XMM13);
4385 /*pacify the compiler */
4386 (void)d;
4387 break;
4388 case 12: /*(0, 6) -> REXX=0 SIBINDEX=6 | OUTREG=XED_REG_XMM6*/
4389 xed3_operand_set_outreg(d, XED_REG_XMM6);
4390 /*pacify the compiler */
4391 (void)d;
4392 break;
4393 case 13: /*(1, 6) -> REXX=1 SIBINDEX=6 | OUTREG=XED_REG_XMM14*/
4394 xed3_operand_set_outreg(d, XED_REG_XMM14);
4395 /*pacify the compiler */
4396 (void)d;
4397 break;
4398 case 14: /*(0, 7) -> REXX=0 SIBINDEX=7 | OUTREG=XED_REG_XMM7*/
4399 xed3_operand_set_outreg(d, XED_REG_XMM7);
4400 /*pacify the compiler */
4401 (void)d;
4402 break;
4403 case 15: /*(1, 7) -> REXX=1 SIBINDEX=7 | OUTREG=XED_REG_XMM15*/
4404 xed3_operand_set_outreg(d, XED_REG_XMM15);
4405 /*pacify the compiler */
4406 (void)d;
4407 break;
4408 default:
4409 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
4410 break;
4411 }
4412 }
xed3_capture_nt_VSIB_YMM(xed_decoded_inst_t * d)4413 static XED_INLINE void xed3_capture_nt_VSIB_YMM(xed_decoded_inst_t* d)
4414 {
4415 xed_uint32_t key = 0;
4416 key += (xed3_operand_get_sibscale(d)) << ((0));
4417 /* now switch code..*/
4418 switch(key) {
4419 case 0: /*(0,) -> SIBSCALE[0b00] SIBINDEX[iii] SIBBASE[bbb] VSIB_BASE() | INDEX=VSIB_INDEX_YMM() SCALE=1*/
4420 xed3_capture_nt_VSIB_BASE(d);
4421 xed3_capture_nt_VSIB_INDEX_YMM(d);
4422 xed3_operand_set_index(d, xed3_operand_get_outreg(d));
4423 xed3_operand_set_scale(d, 0x1);
4424 /*pacify the compiler */
4425 (void)d;
4426 break;
4427 case 1: /*(1,) -> SIBSCALE[0b01] SIBINDEX[iii] SIBBASE[bbb] VSIB_BASE() | INDEX=VSIB_INDEX_YMM() SCALE=2*/
4428 xed3_capture_nt_VSIB_BASE(d);
4429 xed3_capture_nt_VSIB_INDEX_YMM(d);
4430 xed3_operand_set_index(d, xed3_operand_get_outreg(d));
4431 xed3_operand_set_scale(d, 0x2);
4432 /*pacify the compiler */
4433 (void)d;
4434 break;
4435 case 2: /*(2,) -> SIBSCALE[0b10] SIBINDEX[iii] SIBBASE[bbb] VSIB_BASE() | INDEX=VSIB_INDEX_YMM() SCALE=4*/
4436 xed3_capture_nt_VSIB_BASE(d);
4437 xed3_capture_nt_VSIB_INDEX_YMM(d);
4438 xed3_operand_set_index(d, xed3_operand_get_outreg(d));
4439 xed3_operand_set_scale(d, 0x4);
4440 /*pacify the compiler */
4441 (void)d;
4442 break;
4443 case 3: /*(3,) -> SIBSCALE[0b11] SIBINDEX[iii] SIBBASE[bbb] VSIB_BASE() | INDEX=VSIB_INDEX_YMM() SCALE=8*/
4444 xed3_capture_nt_VSIB_BASE(d);
4445 xed3_capture_nt_VSIB_INDEX_YMM(d);
4446 xed3_operand_set_index(d, xed3_operand_get_outreg(d));
4447 xed3_operand_set_scale(d, 0x8);
4448 /*pacify the compiler */
4449 (void)d;
4450 break;
4451 default:
4452 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
4453 break;
4454 }
4455 }
xed3_capture_nt_GPRy_B(xed_decoded_inst_t * d)4456 static XED_INLINE void xed3_capture_nt_GPRy_B(xed_decoded_inst_t* d)
4457 {
4458 xed_uint32_t key = 0;
4459 key += (xed3_operand_get_eosz(d)) << ((0));
4460 /* now switch code..*/
4461 switch(key) {
4462 case 1: /*(1,) -> EOSZ=1 | OUTREG=GPR32_B()*/
4463 xed3_capture_nt_GPR32_B(d);
4464 /*pacify the compiler */
4465 (void)d;
4466 break;
4467 case 2: /*(2,) -> EOSZ=2 | OUTREG=GPR32_B()*/
4468 xed3_capture_nt_GPR32_B(d);
4469 /*pacify the compiler */
4470 (void)d;
4471 break;
4472 case 3: /*(3,) -> EOSZ=3 | OUTREG=GPR64_B()*/
4473 xed3_capture_nt_GPR64_B(d);
4474 /*pacify the compiler */
4475 (void)d;
4476 break;
4477 default:
4478 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
4479 break;
4480 }
4481 }
xed3_capture_nt_YMM_SE(xed_decoded_inst_t * d)4482 static XED_INLINE void xed3_capture_nt_YMM_SE(xed_decoded_inst_t* d)
4483 {
4484 xed_uint32_t key = 0;
4485 key += (xed3_operand_get_mode(d)) << ((0));
4486 /* now switch code..*/
4487 switch(key) {
4488 case 0: /*(0,) -> mode16 | OUTREG=YMM_SE32()*/
4489 xed3_capture_nt_YMM_SE32(d);
4490 /*pacify the compiler */
4491 (void)d;
4492 break;
4493 case 1: /*(1,) -> mode32 | OUTREG=YMM_SE32()*/
4494 xed3_capture_nt_YMM_SE32(d);
4495 /*pacify the compiler */
4496 (void)d;
4497 break;
4498 case 2: /*(2,) -> mode64 | OUTREG=YMM_SE64()*/
4499 xed3_capture_nt_YMM_SE64(d);
4500 /*pacify the compiler */
4501 (void)d;
4502 break;
4503 default:
4504 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
4505 break;
4506 }
4507 }
xed3_capture_nt_VSIB_BASE(xed_decoded_inst_t * d)4508 static XED_INLINE void xed3_capture_nt_VSIB_BASE(xed_decoded_inst_t* d)
4509 {
4510 xed_uint32_t key = 0;
4511 key += (xed3_operand_get_mod(d)) << ((0));
4512 key += (xed3_operand_get_rexb(d)) << ((2));
4513 key += (xed3_operand_get_sibbase(d)) << ((3));
4514 /* now switch code..*/
4515 switch(key) {
4516 case 1: /*(1, 0, 0) -> REXB=0 SIBBASE=0 | BASE0=ArAX() SEG0=FINAL_DSEG()*/
4517 case 2: /*(2, 0, 0) -> REXB=0 SIBBASE=0 | BASE0=ArAX() SEG0=FINAL_DSEG()*/
4518 case 0: /*(0, 0, 0) -> REXB=0 SIBBASE=0 | BASE0=ArAX() SEG0=FINAL_DSEG()*/
4519 case 3: /*(3, 0, 0) -> REXB=0 SIBBASE=0 | BASE0=ArAX() SEG0=FINAL_DSEG()*/
4520 xed3_capture_nt_ArAX(d);
4521 xed3_operand_set_base0(d, xed3_operand_get_outreg(d));
4522 xed3_capture_nt_FINAL_DSEG(d);
4523 xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
4524 /*pacify the compiler */
4525 (void)d;
4526 break;
4527 case 7: /*(3, 1, 0) -> REXB=1 SIBBASE=0 | BASE0=Ar8() SEG0=FINAL_DSEG()*/
4528 case 4: /*(0, 1, 0) -> REXB=1 SIBBASE=0 | BASE0=Ar8() SEG0=FINAL_DSEG()*/
4529 case 5: /*(1, 1, 0) -> REXB=1 SIBBASE=0 | BASE0=Ar8() SEG0=FINAL_DSEG()*/
4530 case 6: /*(2, 1, 0) -> REXB=1 SIBBASE=0 | BASE0=Ar8() SEG0=FINAL_DSEG()*/
4531 xed3_capture_nt_Ar8(d);
4532 xed3_operand_set_base0(d, xed3_operand_get_outreg(d));
4533 xed3_capture_nt_FINAL_DSEG(d);
4534 xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
4535 /*pacify the compiler */
4536 (void)d;
4537 break;
4538 case 9: /*(1, 0, 1) -> REXB=0 SIBBASE=1 | BASE0=ArCX() SEG0=FINAL_DSEG()*/
4539 case 10: /*(2, 0, 1) -> REXB=0 SIBBASE=1 | BASE0=ArCX() SEG0=FINAL_DSEG()*/
4540 case 8: /*(0, 0, 1) -> REXB=0 SIBBASE=1 | BASE0=ArCX() SEG0=FINAL_DSEG()*/
4541 case 11: /*(3, 0, 1) -> REXB=0 SIBBASE=1 | BASE0=ArCX() SEG0=FINAL_DSEG()*/
4542 xed3_capture_nt_ArCX(d);
4543 xed3_operand_set_base0(d, xed3_operand_get_outreg(d));
4544 xed3_capture_nt_FINAL_DSEG(d);
4545 xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
4546 /*pacify the compiler */
4547 (void)d;
4548 break;
4549 case 15: /*(3, 1, 1) -> REXB=1 SIBBASE=1 | BASE0=Ar9() SEG0=FINAL_DSEG()*/
4550 case 13: /*(1, 1, 1) -> REXB=1 SIBBASE=1 | BASE0=Ar9() SEG0=FINAL_DSEG()*/
4551 case 14: /*(2, 1, 1) -> REXB=1 SIBBASE=1 | BASE0=Ar9() SEG0=FINAL_DSEG()*/
4552 case 12: /*(0, 1, 1) -> REXB=1 SIBBASE=1 | BASE0=Ar9() SEG0=FINAL_DSEG()*/
4553 xed3_capture_nt_Ar9(d);
4554 xed3_operand_set_base0(d, xed3_operand_get_outreg(d));
4555 xed3_capture_nt_FINAL_DSEG(d);
4556 xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
4557 /*pacify the compiler */
4558 (void)d;
4559 break;
4560 case 19: /*(3, 0, 2) -> REXB=0 SIBBASE=2 | BASE0=ArDX() SEG0=FINAL_DSEG()*/
4561 case 16: /*(0, 0, 2) -> REXB=0 SIBBASE=2 | BASE0=ArDX() SEG0=FINAL_DSEG()*/
4562 case 18: /*(2, 0, 2) -> REXB=0 SIBBASE=2 | BASE0=ArDX() SEG0=FINAL_DSEG()*/
4563 case 17: /*(1, 0, 2) -> REXB=0 SIBBASE=2 | BASE0=ArDX() SEG0=FINAL_DSEG()*/
4564 xed3_capture_nt_ArDX(d);
4565 xed3_operand_set_base0(d, xed3_operand_get_outreg(d));
4566 xed3_capture_nt_FINAL_DSEG(d);
4567 xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
4568 /*pacify the compiler */
4569 (void)d;
4570 break;
4571 case 21: /*(1, 1, 2) -> REXB=1 SIBBASE=2 | BASE0=Ar10() SEG0=FINAL_DSEG()*/
4572 case 20: /*(0, 1, 2) -> REXB=1 SIBBASE=2 | BASE0=Ar10() SEG0=FINAL_DSEG()*/
4573 case 22: /*(2, 1, 2) -> REXB=1 SIBBASE=2 | BASE0=Ar10() SEG0=FINAL_DSEG()*/
4574 case 23: /*(3, 1, 2) -> REXB=1 SIBBASE=2 | BASE0=Ar10() SEG0=FINAL_DSEG()*/
4575 xed3_capture_nt_Ar10(d);
4576 xed3_operand_set_base0(d, xed3_operand_get_outreg(d));
4577 xed3_capture_nt_FINAL_DSEG(d);
4578 xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
4579 /*pacify the compiler */
4580 (void)d;
4581 break;
4582 case 25: /*(1, 0, 3) -> REXB=0 SIBBASE=3 | BASE0=ArBX() SEG0=FINAL_DSEG()*/
4583 case 27: /*(3, 0, 3) -> REXB=0 SIBBASE=3 | BASE0=ArBX() SEG0=FINAL_DSEG()*/
4584 case 24: /*(0, 0, 3) -> REXB=0 SIBBASE=3 | BASE0=ArBX() SEG0=FINAL_DSEG()*/
4585 case 26: /*(2, 0, 3) -> REXB=0 SIBBASE=3 | BASE0=ArBX() SEG0=FINAL_DSEG()*/
4586 xed3_capture_nt_ArBX(d);
4587 xed3_operand_set_base0(d, xed3_operand_get_outreg(d));
4588 xed3_capture_nt_FINAL_DSEG(d);
4589 xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
4590 /*pacify the compiler */
4591 (void)d;
4592 break;
4593 case 31: /*(3, 1, 3) -> REXB=1 SIBBASE=3 | BASE0=Ar11() SEG0=FINAL_DSEG()*/
4594 case 30: /*(2, 1, 3) -> REXB=1 SIBBASE=3 | BASE0=Ar11() SEG0=FINAL_DSEG()*/
4595 case 28: /*(0, 1, 3) -> REXB=1 SIBBASE=3 | BASE0=Ar11() SEG0=FINAL_DSEG()*/
4596 case 29: /*(1, 1, 3) -> REXB=1 SIBBASE=3 | BASE0=Ar11() SEG0=FINAL_DSEG()*/
4597 xed3_capture_nt_Ar11(d);
4598 xed3_operand_set_base0(d, xed3_operand_get_outreg(d));
4599 xed3_capture_nt_FINAL_DSEG(d);
4600 xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
4601 /*pacify the compiler */
4602 (void)d;
4603 break;
4604 case 35: /*(3, 0, 4) -> REXB=0 SIBBASE=4 | BASE0=ArSP() SEG0=FINAL_SSEG()*/
4605 case 34: /*(2, 0, 4) -> REXB=0 SIBBASE=4 | BASE0=ArSP() SEG0=FINAL_SSEG()*/
4606 case 33: /*(1, 0, 4) -> REXB=0 SIBBASE=4 | BASE0=ArSP() SEG0=FINAL_SSEG()*/
4607 case 32: /*(0, 0, 4) -> REXB=0 SIBBASE=4 | BASE0=ArSP() SEG0=FINAL_SSEG()*/
4608 xed3_capture_nt_ArSP(d);
4609 xed3_operand_set_base0(d, xed3_operand_get_outreg(d));
4610 xed3_capture_nt_FINAL_SSEG(d);
4611 xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
4612 /*pacify the compiler */
4613 (void)d;
4614 break;
4615 case 36: /*(0, 1, 4) -> REXB=1 SIBBASE=4 | BASE0=Ar12() SEG0=FINAL_DSEG()*/
4616 case 39: /*(3, 1, 4) -> REXB=1 SIBBASE=4 | BASE0=Ar12() SEG0=FINAL_DSEG()*/
4617 case 38: /*(2, 1, 4) -> REXB=1 SIBBASE=4 | BASE0=Ar12() SEG0=FINAL_DSEG()*/
4618 case 37: /*(1, 1, 4) -> REXB=1 SIBBASE=4 | BASE0=Ar12() SEG0=FINAL_DSEG()*/
4619 xed3_capture_nt_Ar12(d);
4620 xed3_operand_set_base0(d, xed3_operand_get_outreg(d));
4621 xed3_capture_nt_FINAL_DSEG(d);
4622 xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
4623 /*pacify the compiler */
4624 (void)d;
4625 break;
4626 case 40: /*(0, 0, 5) -> REXB=0 SIBBASE=5 MOD=0 MEMDISP32() | BASE0=XED_REG_INVALID SEG0=FINAL_DSEG()*/
4627 xed3_capture_nt_MEMDISP32(d);
4628 xed3_operand_set_base0(d, XED_REG_INVALID);
4629 xed3_capture_nt_FINAL_DSEG(d);
4630 xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
4631 /*pacify the compiler */
4632 (void)d;
4633 break;
4634 case 43: /*(3, 0, 5) -> REXB=0 SIBBASE=5 MOD!=0 | BASE0=ArBP() SEG0=FINAL_SSEG()*/
4635 case 42: /*(2, 0, 5) -> REXB=0 SIBBASE=5 MOD!=0 | BASE0=ArBP() SEG0=FINAL_SSEG()*/
4636 case 41: /*(1, 0, 5) -> REXB=0 SIBBASE=5 MOD!=0 | BASE0=ArBP() SEG0=FINAL_SSEG()*/
4637 xed3_capture_nt_ArBP(d);
4638 xed3_operand_set_base0(d, xed3_operand_get_outreg(d));
4639 xed3_capture_nt_FINAL_SSEG(d);
4640 xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
4641 /*pacify the compiler */
4642 (void)d;
4643 break;
4644 case 44: /*(0, 1, 5) -> REXB=1 SIBBASE=5 MOD=0 MEMDISP32() | BASE0=XED_REG_INVALID SEG0=FINAL_DSEG()*/
4645 xed3_capture_nt_MEMDISP32(d);
4646 xed3_operand_set_base0(d, XED_REG_INVALID);
4647 xed3_capture_nt_FINAL_DSEG(d);
4648 xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
4649 /*pacify the compiler */
4650 (void)d;
4651 break;
4652 case 46: /*(2, 1, 5) -> REXB=1 SIBBASE=5 MOD!=0 | BASE0=Ar13() SEG0=FINAL_DSEG()*/
4653 case 47: /*(3, 1, 5) -> REXB=1 SIBBASE=5 MOD!=0 | BASE0=Ar13() SEG0=FINAL_DSEG()*/
4654 case 45: /*(1, 1, 5) -> REXB=1 SIBBASE=5 MOD!=0 | BASE0=Ar13() SEG0=FINAL_DSEG()*/
4655 xed3_capture_nt_Ar13(d);
4656 xed3_operand_set_base0(d, xed3_operand_get_outreg(d));
4657 xed3_capture_nt_FINAL_DSEG(d);
4658 xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
4659 /*pacify the compiler */
4660 (void)d;
4661 break;
4662 case 49: /*(1, 0, 6) -> REXB=0 SIBBASE=6 | BASE0=ArSI() SEG0=FINAL_DSEG()*/
4663 case 51: /*(3, 0, 6) -> REXB=0 SIBBASE=6 | BASE0=ArSI() SEG0=FINAL_DSEG()*/
4664 case 48: /*(0, 0, 6) -> REXB=0 SIBBASE=6 | BASE0=ArSI() SEG0=FINAL_DSEG()*/
4665 case 50: /*(2, 0, 6) -> REXB=0 SIBBASE=6 | BASE0=ArSI() SEG0=FINAL_DSEG()*/
4666 xed3_capture_nt_ArSI(d);
4667 xed3_operand_set_base0(d, xed3_operand_get_outreg(d));
4668 xed3_capture_nt_FINAL_DSEG(d);
4669 xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
4670 /*pacify the compiler */
4671 (void)d;
4672 break;
4673 case 53: /*(1, 1, 6) -> REXB=1 SIBBASE=6 | BASE0=Ar14() SEG0=FINAL_DSEG()*/
4674 case 54: /*(2, 1, 6) -> REXB=1 SIBBASE=6 | BASE0=Ar14() SEG0=FINAL_DSEG()*/
4675 case 55: /*(3, 1, 6) -> REXB=1 SIBBASE=6 | BASE0=Ar14() SEG0=FINAL_DSEG()*/
4676 case 52: /*(0, 1, 6) -> REXB=1 SIBBASE=6 | BASE0=Ar14() SEG0=FINAL_DSEG()*/
4677 xed3_capture_nt_Ar14(d);
4678 xed3_operand_set_base0(d, xed3_operand_get_outreg(d));
4679 xed3_capture_nt_FINAL_DSEG(d);
4680 xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
4681 /*pacify the compiler */
4682 (void)d;
4683 break;
4684 case 57: /*(1, 0, 7) -> REXB=0 SIBBASE=7 | BASE0=ArDI() SEG0=FINAL_DSEG()*/
4685 case 56: /*(0, 0, 7) -> REXB=0 SIBBASE=7 | BASE0=ArDI() SEG0=FINAL_DSEG()*/
4686 case 59: /*(3, 0, 7) -> REXB=0 SIBBASE=7 | BASE0=ArDI() SEG0=FINAL_DSEG()*/
4687 case 58: /*(2, 0, 7) -> REXB=0 SIBBASE=7 | BASE0=ArDI() SEG0=FINAL_DSEG()*/
4688 xed3_capture_nt_ArDI(d);
4689 xed3_operand_set_base0(d, xed3_operand_get_outreg(d));
4690 xed3_capture_nt_FINAL_DSEG(d);
4691 xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
4692 /*pacify the compiler */
4693 (void)d;
4694 break;
4695 case 60: /*(0, 1, 7) -> REXB=1 SIBBASE=7 | BASE0=Ar15() SEG0=FINAL_DSEG()*/
4696 case 61: /*(1, 1, 7) -> REXB=1 SIBBASE=7 | BASE0=Ar15() SEG0=FINAL_DSEG()*/
4697 case 62: /*(2, 1, 7) -> REXB=1 SIBBASE=7 | BASE0=Ar15() SEG0=FINAL_DSEG()*/
4698 case 63: /*(3, 1, 7) -> REXB=1 SIBBASE=7 | BASE0=Ar15() SEG0=FINAL_DSEG()*/
4699 xed3_capture_nt_Ar15(d);
4700 xed3_operand_set_base0(d, xed3_operand_get_outreg(d));
4701 xed3_capture_nt_FINAL_DSEG(d);
4702 xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
4703 /*pacify the compiler */
4704 (void)d;
4705 break;
4706 default:
4707 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
4708 break;
4709 }
4710 }
xed3_capture_nt_FINAL_SSEG_NOT64(xed_decoded_inst_t * d)4711 static XED_INLINE void xed3_capture_nt_FINAL_SSEG_NOT64(xed_decoded_inst_t* d)
4712 {
4713 xed_uint32_t key = 0;
4714 key += (xed3_operand_get_seg_ovd(d)) << ((0));
4715 /* now switch code..*/
4716 switch(key) {
4717 case 0: /*(0,) -> SEG_OVD=0 | OUTREG=XED_REG_SS USING_DEFAULT_SEGMENT0=1 enc*/
4718 xed3_operand_set_outreg(d, XED_REG_SS);
4719 xed3_operand_set_using_default_segment0(d, 0x1);
4720 /*pacify the compiler */
4721 (void)d;
4722 break;
4723 case 1: /*(1,) -> SEG_OVD=1 | OUTREG=XED_REG_CS USING_DEFAULT_SEGMENT0=0*/
4724 xed3_operand_set_outreg(d, XED_REG_CS);
4725 xed3_operand_set_using_default_segment0(d, 0x0);
4726 /*pacify the compiler */
4727 (void)d;
4728 break;
4729 case 2: /*(2,) -> SEG_OVD=2 | OUTREG=XED_REG_DS USING_DEFAULT_SEGMENT0=0*/
4730 xed3_operand_set_outreg(d, XED_REG_DS);
4731 xed3_operand_set_using_default_segment0(d, 0x0);
4732 /*pacify the compiler */
4733 (void)d;
4734 break;
4735 case 3: /*(3,) -> SEG_OVD=3 | OUTREG=XED_REG_ES USING_DEFAULT_SEGMENT0=0*/
4736 xed3_operand_set_outreg(d, XED_REG_ES);
4737 xed3_operand_set_using_default_segment0(d, 0x0);
4738 /*pacify the compiler */
4739 (void)d;
4740 break;
4741 case 4: /*(4,) -> SEG_OVD=4 | OUTREG=XED_REG_FS USING_DEFAULT_SEGMENT0=0*/
4742 xed3_operand_set_outreg(d, XED_REG_FS);
4743 xed3_operand_set_using_default_segment0(d, 0x0);
4744 /*pacify the compiler */
4745 (void)d;
4746 break;
4747 case 5: /*(5,) -> SEG_OVD=5 | OUTREG=XED_REG_GS USING_DEFAULT_SEGMENT0=0*/
4748 xed3_operand_set_outreg(d, XED_REG_GS);
4749 xed3_operand_set_using_default_segment0(d, 0x0);
4750 /*pacify the compiler */
4751 (void)d;
4752 break;
4753 case 6: /*(6,) -> SEG_OVD=6 | OUTREG=XED_REG_SS USING_DEFAULT_SEGMENT0=1*/
4754 xed3_operand_set_outreg(d, XED_REG_SS);
4755 xed3_operand_set_using_default_segment0(d, 0x1);
4756 /*pacify the compiler */
4757 (void)d;
4758 break;
4759 default:
4760 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
4761 break;
4762 }
4763 }
xed3_capture_nt_MEMDISP16(xed_decoded_inst_t * d)4764 static XED_INLINE void xed3_capture_nt_MEMDISP16(xed_decoded_inst_t* d)
4765 {
4766 xed3_operand_set_disp_width(d, 0x10);
4767 /*pacify the compiler */
4768 (void)d;
4769 }
xed3_capture_nt_NELEM_GPR_WRITER_STORE_BYTE(xed_decoded_inst_t * d)4770 static XED_INLINE void xed3_capture_nt_NELEM_GPR_WRITER_STORE_BYTE(xed_decoded_inst_t* d)
4771 {
4772 xed_uint32_t key = 0;
4773 key += (xed3_operand_get_vl(d)) << ((0));
4774 /* now switch code..*/
4775 switch(key) {
4776 case 0: /*(0,) -> VL128 | NELEM=1*/
4777 xed3_operand_set_nelem(d, 0x1);
4778 /*pacify the compiler */
4779 (void)d;
4780 break;
4781 case 1: /*(1,) -> VL256 | NELEM=1*/
4782 xed3_operand_set_nelem(d, 0x1);
4783 /*pacify the compiler */
4784 (void)d;
4785 break;
4786 case 2: /*(2,) -> VL512 | NELEM=1*/
4787 xed3_operand_set_nelem(d, 0x1);
4788 /*pacify the compiler */
4789 (void)d;
4790 break;
4791 default:
4792 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
4793 break;
4794 }
4795 }
xed3_capture_nt_NELEM_MOVDDUP(xed_decoded_inst_t * d)4796 static XED_INLINE void xed3_capture_nt_NELEM_MOVDDUP(xed_decoded_inst_t* d)
4797 {
4798 xed_uint32_t key = 0;
4799 key += (xed3_operand_get_element_size(d)) << ((0));
4800 key += (xed3_operand_get_vl(d)) << ((9));
4801 /* now switch code..*/
4802 switch(key) {
4803 case 64: /*(64, 0) -> ELEMENT_SIZE=64 VL128 | NELEM=1*/
4804 xed3_operand_set_nelem(d, 0x1);
4805 /*pacify the compiler */
4806 (void)d;
4807 break;
4808 case 576: /*(64, 1) -> ELEMENT_SIZE=64 VL256 | NELEM=4*/
4809 xed3_operand_set_nelem(d, 0x4);
4810 /*pacify the compiler */
4811 (void)d;
4812 break;
4813 case 1088: /*(64, 2) -> ELEMENT_SIZE=64 VL512 | NELEM=8*/
4814 xed3_operand_set_nelem(d, 0x8);
4815 /*pacify the compiler */
4816 (void)d;
4817 break;
4818 default:
4819 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
4820 break;
4821 }
4822 }
xed3_capture_nt_ArDI(xed_decoded_inst_t * d)4823 static XED_INLINE void xed3_capture_nt_ArDI(xed_decoded_inst_t* d)
4824 {
4825 xed_uint32_t key = 0;
4826 key += (xed3_operand_get_easz(d)) << ((0));
4827 /* now switch code..*/
4828 switch(key) {
4829 case 1: /*(1,) -> EASZ=1 | OUTREG=XED_REG_DI*/
4830 xed3_operand_set_outreg(d, XED_REG_DI);
4831 /*pacify the compiler */
4832 (void)d;
4833 break;
4834 case 2: /*(2,) -> EASZ=2 | OUTREG=XED_REG_EDI*/
4835 xed3_operand_set_outreg(d, XED_REG_EDI);
4836 /*pacify the compiler */
4837 (void)d;
4838 break;
4839 case 3: /*(3,) -> EASZ=3 | OUTREG=XED_REG_RDI*/
4840 xed3_operand_set_outreg(d, XED_REG_RDI);
4841 /*pacify the compiler */
4842 (void)d;
4843 break;
4844 default:
4845 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
4846 break;
4847 }
4848 }
xed3_capture_nt_GPR16_R(xed_decoded_inst_t * d)4849 static XED_INLINE void xed3_capture_nt_GPR16_R(xed_decoded_inst_t* d)
4850 {
4851 xed_uint32_t key = 0;
4852 key += (xed3_operand_get_reg(d)) << ((0));
4853 key += (xed3_operand_get_rexr(d)) << ((3));
4854 /* now switch code..*/
4855 switch(key) {
4856 case 0: /*(0, 0) -> REXR=0 REG=0x0 | OUTREG=XED_REG_AX*/
4857 xed3_operand_set_outreg(d, XED_REG_AX);
4858 /*pacify the compiler */
4859 (void)d;
4860 break;
4861 case 1: /*(1, 0) -> REXR=0 REG=0x1 | OUTREG=XED_REG_CX*/
4862 xed3_operand_set_outreg(d, XED_REG_CX);
4863 /*pacify the compiler */
4864 (void)d;
4865 break;
4866 case 2: /*(2, 0) -> REXR=0 REG=0x2 | OUTREG=XED_REG_DX*/
4867 xed3_operand_set_outreg(d, XED_REG_DX);
4868 /*pacify the compiler */
4869 (void)d;
4870 break;
4871 case 3: /*(3, 0) -> REXR=0 REG=0x3 | OUTREG=XED_REG_BX*/
4872 xed3_operand_set_outreg(d, XED_REG_BX);
4873 /*pacify the compiler */
4874 (void)d;
4875 break;
4876 case 4: /*(4, 0) -> REXR=0 REG=0x4 | OUTREG=XED_REG_SP*/
4877 xed3_operand_set_outreg(d, XED_REG_SP);
4878 /*pacify the compiler */
4879 (void)d;
4880 break;
4881 case 5: /*(5, 0) -> REXR=0 REG=0x5 | OUTREG=XED_REG_BP*/
4882 xed3_operand_set_outreg(d, XED_REG_BP);
4883 /*pacify the compiler */
4884 (void)d;
4885 break;
4886 case 6: /*(6, 0) -> REXR=0 REG=0x6 | OUTREG=XED_REG_SI*/
4887 xed3_operand_set_outreg(d, XED_REG_SI);
4888 /*pacify the compiler */
4889 (void)d;
4890 break;
4891 case 7: /*(7, 0) -> REXR=0 REG=0x7 | OUTREG=XED_REG_DI*/
4892 xed3_operand_set_outreg(d, XED_REG_DI);
4893 /*pacify the compiler */
4894 (void)d;
4895 break;
4896 case 8: /*(0, 1) -> REXR=1 REG=0x0 | OUTREG=XED_REG_R8W*/
4897 xed3_operand_set_outreg(d, XED_REG_R8W);
4898 /*pacify the compiler */
4899 (void)d;
4900 break;
4901 case 9: /*(1, 1) -> REXR=1 REG=0x1 | OUTREG=XED_REG_R9W*/
4902 xed3_operand_set_outreg(d, XED_REG_R9W);
4903 /*pacify the compiler */
4904 (void)d;
4905 break;
4906 case 10: /*(2, 1) -> REXR=1 REG=0x2 | OUTREG=XED_REG_R10W*/
4907 xed3_operand_set_outreg(d, XED_REG_R10W);
4908 /*pacify the compiler */
4909 (void)d;
4910 break;
4911 case 11: /*(3, 1) -> REXR=1 REG=0x3 | OUTREG=XED_REG_R11W*/
4912 xed3_operand_set_outreg(d, XED_REG_R11W);
4913 /*pacify the compiler */
4914 (void)d;
4915 break;
4916 case 12: /*(4, 1) -> REXR=1 REG=0x4 | OUTREG=XED_REG_R12W*/
4917 xed3_operand_set_outreg(d, XED_REG_R12W);
4918 /*pacify the compiler */
4919 (void)d;
4920 break;
4921 case 13: /*(5, 1) -> REXR=1 REG=0x5 | OUTREG=XED_REG_R13W*/
4922 xed3_operand_set_outreg(d, XED_REG_R13W);
4923 /*pacify the compiler */
4924 (void)d;
4925 break;
4926 case 14: /*(6, 1) -> REXR=1 REG=0x6 | OUTREG=XED_REG_R14W*/
4927 xed3_operand_set_outreg(d, XED_REG_R14W);
4928 /*pacify the compiler */
4929 (void)d;
4930 break;
4931 case 15: /*(7, 1) -> REXR=1 REG=0x7 | OUTREG=XED_REG_R15W*/
4932 xed3_operand_set_outreg(d, XED_REG_R15W);
4933 /*pacify the compiler */
4934 (void)d;
4935 break;
4936 default:
4937 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
4938 break;
4939 }
4940 }
xed3_capture_nt_NELEM_GPR_READER_WORD(xed_decoded_inst_t * d)4941 static XED_INLINE void xed3_capture_nt_NELEM_GPR_READER_WORD(xed_decoded_inst_t* d)
4942 {
4943 xed_uint32_t key = 0;
4944 key += (xed3_operand_get_vl(d)) << ((0));
4945 /* now switch code..*/
4946 switch(key) {
4947 case 0: /*(0,) -> VL128 | NELEM=1*/
4948 xed3_operand_set_nelem(d, 0x1);
4949 /*pacify the compiler */
4950 (void)d;
4951 break;
4952 case 1: /*(1,) -> VL256 | NELEM=1*/
4953 xed3_operand_set_nelem(d, 0x1);
4954 /*pacify the compiler */
4955 (void)d;
4956 break;
4957 case 2: /*(2,) -> VL512 | NELEM=1*/
4958 xed3_operand_set_nelem(d, 0x1);
4959 /*pacify the compiler */
4960 (void)d;
4961 break;
4962 default:
4963 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
4964 break;
4965 }
4966 }
xed3_capture_nt_GPRz_B(xed_decoded_inst_t * d)4967 static XED_INLINE void xed3_capture_nt_GPRz_B(xed_decoded_inst_t* d)
4968 {
4969 xed_uint32_t key = 0;
4970 key += (xed3_operand_get_eosz(d)) << ((0));
4971 /* now switch code..*/
4972 switch(key) {
4973 case 1: /*(1,) -> EOSZ=1 | OUTREG=GPR16_B()*/
4974 xed3_capture_nt_GPR16_B(d);
4975 /*pacify the compiler */
4976 (void)d;
4977 break;
4978 case 2: /*(2,) -> EOSZ=2 | OUTREG=GPR32_B()*/
4979 xed3_capture_nt_GPR32_B(d);
4980 /*pacify the compiler */
4981 (void)d;
4982 break;
4983 case 3: /*(3,) -> EOSZ=3 | OUTREG=GPR32_B()*/
4984 xed3_capture_nt_GPR32_B(d);
4985 /*pacify the compiler */
4986 (void)d;
4987 break;
4988 default:
4989 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
4990 break;
4991 }
4992 }
xed3_capture_nt_ArSI(xed_decoded_inst_t * d)4993 static XED_INLINE void xed3_capture_nt_ArSI(xed_decoded_inst_t* d)
4994 {
4995 xed_uint32_t key = 0;
4996 key += (xed3_operand_get_easz(d)) << ((0));
4997 /* now switch code..*/
4998 switch(key) {
4999 case 1: /*(1,) -> EASZ=1 | OUTREG=XED_REG_SI*/
5000 xed3_operand_set_outreg(d, XED_REG_SI);
5001 /*pacify the compiler */
5002 (void)d;
5003 break;
5004 case 2: /*(2,) -> EASZ=2 | OUTREG=XED_REG_ESI*/
5005 xed3_operand_set_outreg(d, XED_REG_ESI);
5006 /*pacify the compiler */
5007 (void)d;
5008 break;
5009 case 3: /*(3,) -> EASZ=3 | OUTREG=XED_REG_RSI*/
5010 xed3_operand_set_outreg(d, XED_REG_RSI);
5011 /*pacify the compiler */
5012 (void)d;
5013 break;
5014 default:
5015 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
5016 break;
5017 }
5018 }
xed3_capture_nt_UIMM8_1(xed_decoded_inst_t * d)5019 static XED_INLINE void xed3_capture_nt_UIMM8_1(xed_decoded_inst_t* d)
5020 {
5021 xed3_operand_set_dummy(d, 0x0);
5022 /*pacify the compiler */
5023 (void)d;
5024 }
xed3_capture_nt_ArSP(xed_decoded_inst_t * d)5025 static XED_INLINE void xed3_capture_nt_ArSP(xed_decoded_inst_t* d)
5026 {
5027 xed_uint32_t key = 0;
5028 key += (xed3_operand_get_easz(d)) << ((0));
5029 /* now switch code..*/
5030 switch(key) {
5031 case 1: /*(1,) -> EASZ=1 | OUTREG=XED_REG_SP*/
5032 xed3_operand_set_outreg(d, XED_REG_SP);
5033 /*pacify the compiler */
5034 (void)d;
5035 break;
5036 case 2: /*(2,) -> EASZ=2 | OUTREG=XED_REG_ESP*/
5037 xed3_operand_set_outreg(d, XED_REG_ESP);
5038 /*pacify the compiler */
5039 (void)d;
5040 break;
5041 case 3: /*(3,) -> EASZ=3 | OUTREG=XED_REG_RSP*/
5042 xed3_operand_set_outreg(d, XED_REG_RSP);
5043 /*pacify the compiler */
5044 (void)d;
5045 break;
5046 default:
5047 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
5048 break;
5049 }
5050 }
xed3_capture_nt_GPRm_B(xed_decoded_inst_t * d)5051 static XED_INLINE void xed3_capture_nt_GPRm_B(xed_decoded_inst_t* d)
5052 {
5053 xed_uint32_t key = 0;
5054 key += (xed3_operand_get_mode(d)) << ((0));
5055 /* now switch code..*/
5056 switch(key) {
5057 case 0: /*(0,) -> mode16 | OUTREG=GPR32_B()*/
5058 xed3_capture_nt_GPR32_B(d);
5059 /*pacify the compiler */
5060 (void)d;
5061 break;
5062 case 1: /*(1,) -> mode32 | OUTREG=GPR32_B()*/
5063 xed3_capture_nt_GPR32_B(d);
5064 /*pacify the compiler */
5065 (void)d;
5066 break;
5067 case 2: /*(2,) -> mode64 | OUTREG=GPR64_B()*/
5068 xed3_capture_nt_GPR64_B(d);
5069 /*pacify the compiler */
5070 (void)d;
5071 break;
5072 default:
5073 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
5074 break;
5075 }
5076 }
xed3_capture_nt_ZMM_N3_32(xed_decoded_inst_t * d)5077 static XED_INLINE void xed3_capture_nt_ZMM_N3_32(xed_decoded_inst_t* d)
5078 {
5079 xed_uint32_t key = 0;
5080 key += (xed3_operand_get_vexdest210(d)) << ((0));
5081 /* now switch code..*/
5082 switch(key) {
5083 case 0: /*(0,) -> VEXDEST210=0 | OUTREG=XED_REG_ZMM7*/
5084 xed3_operand_set_outreg(d, XED_REG_ZMM7);
5085 /*pacify the compiler */
5086 (void)d;
5087 break;
5088 case 1: /*(1,) -> VEXDEST210=1 | OUTREG=XED_REG_ZMM6*/
5089 xed3_operand_set_outreg(d, XED_REG_ZMM6);
5090 /*pacify the compiler */
5091 (void)d;
5092 break;
5093 case 2: /*(2,) -> VEXDEST210=2 | OUTREG=XED_REG_ZMM5*/
5094 xed3_operand_set_outreg(d, XED_REG_ZMM5);
5095 /*pacify the compiler */
5096 (void)d;
5097 break;
5098 case 3: /*(3,) -> VEXDEST210=3 | OUTREG=XED_REG_ZMM4*/
5099 xed3_operand_set_outreg(d, XED_REG_ZMM4);
5100 /*pacify the compiler */
5101 (void)d;
5102 break;
5103 case 4: /*(4,) -> VEXDEST210=4 | OUTREG=XED_REG_ZMM3*/
5104 xed3_operand_set_outreg(d, XED_REG_ZMM3);
5105 /*pacify the compiler */
5106 (void)d;
5107 break;
5108 case 5: /*(5,) -> VEXDEST210=5 | OUTREG=XED_REG_ZMM2*/
5109 xed3_operand_set_outreg(d, XED_REG_ZMM2);
5110 /*pacify the compiler */
5111 (void)d;
5112 break;
5113 case 6: /*(6,) -> VEXDEST210=6 | OUTREG=XED_REG_ZMM1*/
5114 xed3_operand_set_outreg(d, XED_REG_ZMM1);
5115 /*pacify the compiler */
5116 (void)d;
5117 break;
5118 case 7: /*(7,) -> VEXDEST210=7 | OUTREG=XED_REG_ZMM0*/
5119 xed3_operand_set_outreg(d, XED_REG_ZMM0);
5120 /*pacify the compiler */
5121 (void)d;
5122 break;
5123 default:
5124 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
5125 break;
5126 }
5127 }
xed3_capture_nt_ArDX(xed_decoded_inst_t * d)5128 static XED_INLINE void xed3_capture_nt_ArDX(xed_decoded_inst_t* d)
5129 {
5130 xed_uint32_t key = 0;
5131 key += (xed3_operand_get_easz(d)) << ((0));
5132 /* now switch code..*/
5133 switch(key) {
5134 case 1: /*(1,) -> EASZ=1 | OUTREG=XED_REG_DX*/
5135 xed3_operand_set_outreg(d, XED_REG_DX);
5136 /*pacify the compiler */
5137 (void)d;
5138 break;
5139 case 2: /*(2,) -> EASZ=2 | OUTREG=XED_REG_EDX*/
5140 xed3_operand_set_outreg(d, XED_REG_EDX);
5141 /*pacify the compiler */
5142 (void)d;
5143 break;
5144 case 3: /*(3,) -> EASZ=3 | OUTREG=XED_REG_RDX*/
5145 xed3_operand_set_outreg(d, XED_REG_RDX);
5146 /*pacify the compiler */
5147 (void)d;
5148 break;
5149 default:
5150 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
5151 break;
5152 }
5153 }
xed3_capture_nt_ArBX(xed_decoded_inst_t * d)5154 static XED_INLINE void xed3_capture_nt_ArBX(xed_decoded_inst_t* d)
5155 {
5156 xed_uint32_t key = 0;
5157 key += (xed3_operand_get_easz(d)) << ((0));
5158 /* now switch code..*/
5159 switch(key) {
5160 case 1: /*(1,) -> EASZ=1 | OUTREG=XED_REG_BX*/
5161 xed3_operand_set_outreg(d, XED_REG_BX);
5162 /*pacify the compiler */
5163 (void)d;
5164 break;
5165 case 2: /*(2,) -> EASZ=2 | OUTREG=XED_REG_EBX*/
5166 xed3_operand_set_outreg(d, XED_REG_EBX);
5167 /*pacify the compiler */
5168 (void)d;
5169 break;
5170 case 3: /*(3,) -> EASZ=3 | OUTREG=XED_REG_RBX*/
5171 xed3_operand_set_outreg(d, XED_REG_RBX);
5172 /*pacify the compiler */
5173 (void)d;
5174 break;
5175 default:
5176 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
5177 break;
5178 }
5179 }
xed3_capture_nt_GPRz_R(xed_decoded_inst_t * d)5180 static XED_INLINE void xed3_capture_nt_GPRz_R(xed_decoded_inst_t* d)
5181 {
5182 xed_uint32_t key = 0;
5183 key += (xed3_operand_get_eosz(d)) << ((0));
5184 /* now switch code..*/
5185 switch(key) {
5186 case 1: /*(1,) -> EOSZ=1 | OUTREG=GPR16_R()*/
5187 xed3_capture_nt_GPR16_R(d);
5188 /*pacify the compiler */
5189 (void)d;
5190 break;
5191 case 2: /*(2,) -> EOSZ=2 | OUTREG=GPR32_R()*/
5192 xed3_capture_nt_GPR32_R(d);
5193 /*pacify the compiler */
5194 (void)d;
5195 break;
5196 case 3: /*(3,) -> EOSZ=3 | OUTREG=GPR32_R()*/
5197 xed3_capture_nt_GPR32_R(d);
5198 /*pacify the compiler */
5199 (void)d;
5200 break;
5201 default:
5202 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
5203 break;
5204 }
5205 }
xed3_capture_nt_YMM_R3_64(xed_decoded_inst_t * d)5206 static XED_INLINE void xed3_capture_nt_YMM_R3_64(xed_decoded_inst_t* d)
5207 {
5208 xed_uint32_t key = 0;
5209 key += (xed3_operand_get_reg(d)) << ((0));
5210 key += (xed3_operand_get_rexr(d)) << ((3));
5211 key += (xed3_operand_get_rexrr(d)) << ((4));
5212 /* now switch code..*/
5213 switch(key) {
5214 case 0: /*(0, 0, 0) -> REXRR=0 REXR=0 REG=0 | OUTREG=XED_REG_YMM0*/
5215 xed3_operand_set_outreg(d, XED_REG_YMM0);
5216 /*pacify the compiler */
5217 (void)d;
5218 break;
5219 case 1: /*(1, 0, 0) -> REXRR=0 REXR=0 REG=1 | OUTREG=XED_REG_YMM1*/
5220 xed3_operand_set_outreg(d, XED_REG_YMM1);
5221 /*pacify the compiler */
5222 (void)d;
5223 break;
5224 case 2: /*(2, 0, 0) -> REXRR=0 REXR=0 REG=2 | OUTREG=XED_REG_YMM2*/
5225 xed3_operand_set_outreg(d, XED_REG_YMM2);
5226 /*pacify the compiler */
5227 (void)d;
5228 break;
5229 case 3: /*(3, 0, 0) -> REXRR=0 REXR=0 REG=3 | OUTREG=XED_REG_YMM3*/
5230 xed3_operand_set_outreg(d, XED_REG_YMM3);
5231 /*pacify the compiler */
5232 (void)d;
5233 break;
5234 case 4: /*(4, 0, 0) -> REXRR=0 REXR=0 REG=4 | OUTREG=XED_REG_YMM4*/
5235 xed3_operand_set_outreg(d, XED_REG_YMM4);
5236 /*pacify the compiler */
5237 (void)d;
5238 break;
5239 case 5: /*(5, 0, 0) -> REXRR=0 REXR=0 REG=5 | OUTREG=XED_REG_YMM5*/
5240 xed3_operand_set_outreg(d, XED_REG_YMM5);
5241 /*pacify the compiler */
5242 (void)d;
5243 break;
5244 case 6: /*(6, 0, 0) -> REXRR=0 REXR=0 REG=6 | OUTREG=XED_REG_YMM6*/
5245 xed3_operand_set_outreg(d, XED_REG_YMM6);
5246 /*pacify the compiler */
5247 (void)d;
5248 break;
5249 case 7: /*(7, 0, 0) -> REXRR=0 REXR=0 REG=7 | OUTREG=XED_REG_YMM7*/
5250 xed3_operand_set_outreg(d, XED_REG_YMM7);
5251 /*pacify the compiler */
5252 (void)d;
5253 break;
5254 case 8: /*(0, 1, 0) -> REXRR=0 REXR=1 REG=0 | OUTREG=XED_REG_YMM8*/
5255 xed3_operand_set_outreg(d, XED_REG_YMM8);
5256 /*pacify the compiler */
5257 (void)d;
5258 break;
5259 case 9: /*(1, 1, 0) -> REXRR=0 REXR=1 REG=1 | OUTREG=XED_REG_YMM9*/
5260 xed3_operand_set_outreg(d, XED_REG_YMM9);
5261 /*pacify the compiler */
5262 (void)d;
5263 break;
5264 case 10: /*(2, 1, 0) -> REXRR=0 REXR=1 REG=2 | OUTREG=XED_REG_YMM10*/
5265 xed3_operand_set_outreg(d, XED_REG_YMM10);
5266 /*pacify the compiler */
5267 (void)d;
5268 break;
5269 case 11: /*(3, 1, 0) -> REXRR=0 REXR=1 REG=3 | OUTREG=XED_REG_YMM11*/
5270 xed3_operand_set_outreg(d, XED_REG_YMM11);
5271 /*pacify the compiler */
5272 (void)d;
5273 break;
5274 case 12: /*(4, 1, 0) -> REXRR=0 REXR=1 REG=4 | OUTREG=XED_REG_YMM12*/
5275 xed3_operand_set_outreg(d, XED_REG_YMM12);
5276 /*pacify the compiler */
5277 (void)d;
5278 break;
5279 case 13: /*(5, 1, 0) -> REXRR=0 REXR=1 REG=5 | OUTREG=XED_REG_YMM13*/
5280 xed3_operand_set_outreg(d, XED_REG_YMM13);
5281 /*pacify the compiler */
5282 (void)d;
5283 break;
5284 case 14: /*(6, 1, 0) -> REXRR=0 REXR=1 REG=6 | OUTREG=XED_REG_YMM14*/
5285 xed3_operand_set_outreg(d, XED_REG_YMM14);
5286 /*pacify the compiler */
5287 (void)d;
5288 break;
5289 case 15: /*(7, 1, 0) -> REXRR=0 REXR=1 REG=7 | OUTREG=XED_REG_YMM15*/
5290 xed3_operand_set_outreg(d, XED_REG_YMM15);
5291 /*pacify the compiler */
5292 (void)d;
5293 break;
5294 case 16: /*(0, 0, 1) -> REXRR=1 REXR=0 REG=0 | OUTREG=XED_REG_YMM16*/
5295 xed3_operand_set_outreg(d, XED_REG_YMM16);
5296 /*pacify the compiler */
5297 (void)d;
5298 break;
5299 case 17: /*(1, 0, 1) -> REXRR=1 REXR=0 REG=1 | OUTREG=XED_REG_YMM17*/
5300 xed3_operand_set_outreg(d, XED_REG_YMM17);
5301 /*pacify the compiler */
5302 (void)d;
5303 break;
5304 case 18: /*(2, 0, 1) -> REXRR=1 REXR=0 REG=2 | OUTREG=XED_REG_YMM18*/
5305 xed3_operand_set_outreg(d, XED_REG_YMM18);
5306 /*pacify the compiler */
5307 (void)d;
5308 break;
5309 case 19: /*(3, 0, 1) -> REXRR=1 REXR=0 REG=3 | OUTREG=XED_REG_YMM19*/
5310 xed3_operand_set_outreg(d, XED_REG_YMM19);
5311 /*pacify the compiler */
5312 (void)d;
5313 break;
5314 case 20: /*(4, 0, 1) -> REXRR=1 REXR=0 REG=4 | OUTREG=XED_REG_YMM20*/
5315 xed3_operand_set_outreg(d, XED_REG_YMM20);
5316 /*pacify the compiler */
5317 (void)d;
5318 break;
5319 case 21: /*(5, 0, 1) -> REXRR=1 REXR=0 REG=5 | OUTREG=XED_REG_YMM21*/
5320 xed3_operand_set_outreg(d, XED_REG_YMM21);
5321 /*pacify the compiler */
5322 (void)d;
5323 break;
5324 case 22: /*(6, 0, 1) -> REXRR=1 REXR=0 REG=6 | OUTREG=XED_REG_YMM22*/
5325 xed3_operand_set_outreg(d, XED_REG_YMM22);
5326 /*pacify the compiler */
5327 (void)d;
5328 break;
5329 case 23: /*(7, 0, 1) -> REXRR=1 REXR=0 REG=7 | OUTREG=XED_REG_YMM23*/
5330 xed3_operand_set_outreg(d, XED_REG_YMM23);
5331 /*pacify the compiler */
5332 (void)d;
5333 break;
5334 case 24: /*(0, 1, 1) -> REXRR=1 REXR=1 REG=0 | OUTREG=XED_REG_YMM24*/
5335 xed3_operand_set_outreg(d, XED_REG_YMM24);
5336 /*pacify the compiler */
5337 (void)d;
5338 break;
5339 case 25: /*(1, 1, 1) -> REXRR=1 REXR=1 REG=1 | OUTREG=XED_REG_YMM25*/
5340 xed3_operand_set_outreg(d, XED_REG_YMM25);
5341 /*pacify the compiler */
5342 (void)d;
5343 break;
5344 case 26: /*(2, 1, 1) -> REXRR=1 REXR=1 REG=2 | OUTREG=XED_REG_YMM26*/
5345 xed3_operand_set_outreg(d, XED_REG_YMM26);
5346 /*pacify the compiler */
5347 (void)d;
5348 break;
5349 case 27: /*(3, 1, 1) -> REXRR=1 REXR=1 REG=3 | OUTREG=XED_REG_YMM27*/
5350 xed3_operand_set_outreg(d, XED_REG_YMM27);
5351 /*pacify the compiler */
5352 (void)d;
5353 break;
5354 case 28: /*(4, 1, 1) -> REXRR=1 REXR=1 REG=4 | OUTREG=XED_REG_YMM28*/
5355 xed3_operand_set_outreg(d, XED_REG_YMM28);
5356 /*pacify the compiler */
5357 (void)d;
5358 break;
5359 case 29: /*(5, 1, 1) -> REXRR=1 REXR=1 REG=5 | OUTREG=XED_REG_YMM29*/
5360 xed3_operand_set_outreg(d, XED_REG_YMM29);
5361 /*pacify the compiler */
5362 (void)d;
5363 break;
5364 case 30: /*(6, 1, 1) -> REXRR=1 REXR=1 REG=6 | OUTREG=XED_REG_YMM30*/
5365 xed3_operand_set_outreg(d, XED_REG_YMM30);
5366 /*pacify the compiler */
5367 (void)d;
5368 break;
5369 case 31: /*(7, 1, 1) -> REXRR=1 REXR=1 REG=7 | OUTREG=XED_REG_YMM31*/
5370 xed3_operand_set_outreg(d, XED_REG_YMM31);
5371 /*pacify the compiler */
5372 (void)d;
5373 break;
5374 default:
5375 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
5376 break;
5377 }
5378 }
xed3_capture_nt_YMM_R_64(xed_decoded_inst_t * d)5379 static XED_INLINE void xed3_capture_nt_YMM_R_64(xed_decoded_inst_t* d)
5380 {
5381 xed_uint32_t key = 0;
5382 key += (xed3_operand_get_reg(d)) << ((0));
5383 key += (xed3_operand_get_rexr(d)) << ((3));
5384 /* now switch code..*/
5385 switch(key) {
5386 case 0: /*(0, 0) -> REXR=0 REG=0 | OUTREG=XED_REG_YMM0*/
5387 xed3_operand_set_outreg(d, XED_REG_YMM0);
5388 /*pacify the compiler */
5389 (void)d;
5390 break;
5391 case 1: /*(1, 0) -> REXR=0 REG=1 | OUTREG=XED_REG_YMM1*/
5392 xed3_operand_set_outreg(d, XED_REG_YMM1);
5393 /*pacify the compiler */
5394 (void)d;
5395 break;
5396 case 2: /*(2, 0) -> REXR=0 REG=2 | OUTREG=XED_REG_YMM2*/
5397 xed3_operand_set_outreg(d, XED_REG_YMM2);
5398 /*pacify the compiler */
5399 (void)d;
5400 break;
5401 case 3: /*(3, 0) -> REXR=0 REG=3 | OUTREG=XED_REG_YMM3*/
5402 xed3_operand_set_outreg(d, XED_REG_YMM3);
5403 /*pacify the compiler */
5404 (void)d;
5405 break;
5406 case 4: /*(4, 0) -> REXR=0 REG=4 | OUTREG=XED_REG_YMM4*/
5407 xed3_operand_set_outreg(d, XED_REG_YMM4);
5408 /*pacify the compiler */
5409 (void)d;
5410 break;
5411 case 5: /*(5, 0) -> REXR=0 REG=5 | OUTREG=XED_REG_YMM5*/
5412 xed3_operand_set_outreg(d, XED_REG_YMM5);
5413 /*pacify the compiler */
5414 (void)d;
5415 break;
5416 case 6: /*(6, 0) -> REXR=0 REG=6 | OUTREG=XED_REG_YMM6*/
5417 xed3_operand_set_outreg(d, XED_REG_YMM6);
5418 /*pacify the compiler */
5419 (void)d;
5420 break;
5421 case 7: /*(7, 0) -> REXR=0 REG=7 | OUTREG=XED_REG_YMM7*/
5422 xed3_operand_set_outreg(d, XED_REG_YMM7);
5423 /*pacify the compiler */
5424 (void)d;
5425 break;
5426 case 8: /*(0, 1) -> REXR=1 REG=0 | OUTREG=XED_REG_YMM8*/
5427 xed3_operand_set_outreg(d, XED_REG_YMM8);
5428 /*pacify the compiler */
5429 (void)d;
5430 break;
5431 case 9: /*(1, 1) -> REXR=1 REG=1 | OUTREG=XED_REG_YMM9*/
5432 xed3_operand_set_outreg(d, XED_REG_YMM9);
5433 /*pacify the compiler */
5434 (void)d;
5435 break;
5436 case 10: /*(2, 1) -> REXR=1 REG=2 | OUTREG=XED_REG_YMM10*/
5437 xed3_operand_set_outreg(d, XED_REG_YMM10);
5438 /*pacify the compiler */
5439 (void)d;
5440 break;
5441 case 11: /*(3, 1) -> REXR=1 REG=3 | OUTREG=XED_REG_YMM11*/
5442 xed3_operand_set_outreg(d, XED_REG_YMM11);
5443 /*pacify the compiler */
5444 (void)d;
5445 break;
5446 case 12: /*(4, 1) -> REXR=1 REG=4 | OUTREG=XED_REG_YMM12*/
5447 xed3_operand_set_outreg(d, XED_REG_YMM12);
5448 /*pacify the compiler */
5449 (void)d;
5450 break;
5451 case 13: /*(5, 1) -> REXR=1 REG=5 | OUTREG=XED_REG_YMM13*/
5452 xed3_operand_set_outreg(d, XED_REG_YMM13);
5453 /*pacify the compiler */
5454 (void)d;
5455 break;
5456 case 14: /*(6, 1) -> REXR=1 REG=6 | OUTREG=XED_REG_YMM14*/
5457 xed3_operand_set_outreg(d, XED_REG_YMM14);
5458 /*pacify the compiler */
5459 (void)d;
5460 break;
5461 case 15: /*(7, 1) -> REXR=1 REG=7 | OUTREG=XED_REG_YMM15*/
5462 xed3_operand_set_outreg(d, XED_REG_YMM15);
5463 /*pacify the compiler */
5464 (void)d;
5465 break;
5466 default:
5467 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
5468 break;
5469 }
5470 }
xed3_capture_nt_UISA_VSIB_XMM(xed_decoded_inst_t * d)5471 static XED_INLINE void xed3_capture_nt_UISA_VSIB_XMM(xed_decoded_inst_t* d)
5472 {
5473 xed_uint32_t key = 0;
5474 key += (xed3_operand_get_sibscale(d)) << ((0));
5475 /* now switch code..*/
5476 switch(key) {
5477 case 0: /*(0,) -> SIBSCALE[0b00] SIBINDEX[iii] SIBBASE[bbb] UISA_VSIB_BASE() | INDEX=UISA_VSIB_INDEX_XMM() SCALE=1*/
5478 xed3_capture_nt_UISA_VSIB_BASE(d);
5479 xed3_capture_nt_UISA_VSIB_INDEX_XMM(d);
5480 xed3_operand_set_index(d, xed3_operand_get_outreg(d));
5481 xed3_operand_set_scale(d, 0x1);
5482 /*pacify the compiler */
5483 (void)d;
5484 break;
5485 case 1: /*(1,) -> SIBSCALE[0b01] SIBINDEX[iii] SIBBASE[bbb] UISA_VSIB_BASE() | INDEX=UISA_VSIB_INDEX_XMM() SCALE=2*/
5486 xed3_capture_nt_UISA_VSIB_BASE(d);
5487 xed3_capture_nt_UISA_VSIB_INDEX_XMM(d);
5488 xed3_operand_set_index(d, xed3_operand_get_outreg(d));
5489 xed3_operand_set_scale(d, 0x2);
5490 /*pacify the compiler */
5491 (void)d;
5492 break;
5493 case 2: /*(2,) -> SIBSCALE[0b10] SIBINDEX[iii] SIBBASE[bbb] UISA_VSIB_BASE() | INDEX=UISA_VSIB_INDEX_XMM() SCALE=4*/
5494 xed3_capture_nt_UISA_VSIB_BASE(d);
5495 xed3_capture_nt_UISA_VSIB_INDEX_XMM(d);
5496 xed3_operand_set_index(d, xed3_operand_get_outreg(d));
5497 xed3_operand_set_scale(d, 0x4);
5498 /*pacify the compiler */
5499 (void)d;
5500 break;
5501 case 3: /*(3,) -> SIBSCALE[0b11] SIBINDEX[iii] SIBBASE[bbb] UISA_VSIB_BASE() | INDEX=UISA_VSIB_INDEX_XMM() SCALE=8*/
5502 xed3_capture_nt_UISA_VSIB_BASE(d);
5503 xed3_capture_nt_UISA_VSIB_INDEX_XMM(d);
5504 xed3_operand_set_index(d, xed3_operand_get_outreg(d));
5505 xed3_operand_set_scale(d, 0x8);
5506 /*pacify the compiler */
5507 (void)d;
5508 break;
5509 default:
5510 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
5511 break;
5512 }
5513 }
xed3_capture_nt_ArCX(xed_decoded_inst_t * d)5514 static XED_INLINE void xed3_capture_nt_ArCX(xed_decoded_inst_t* d)
5515 {
5516 xed_uint32_t key = 0;
5517 key += (xed3_operand_get_easz(d)) << ((0));
5518 /* now switch code..*/
5519 switch(key) {
5520 case 1: /*(1,) -> EASZ=1 | OUTREG=XED_REG_CX*/
5521 xed3_operand_set_outreg(d, XED_REG_CX);
5522 /*pacify the compiler */
5523 (void)d;
5524 break;
5525 case 2: /*(2,) -> EASZ=2 | OUTREG=XED_REG_ECX*/
5526 xed3_operand_set_outreg(d, XED_REG_ECX);
5527 /*pacify the compiler */
5528 (void)d;
5529 break;
5530 case 3: /*(3,) -> EASZ=3 | OUTREG=XED_REG_RCX*/
5531 xed3_operand_set_outreg(d, XED_REG_RCX);
5532 /*pacify the compiler */
5533 (void)d;
5534 break;
5535 default:
5536 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
5537 break;
5538 }
5539 }
xed3_capture_nt_XMM_B3(xed_decoded_inst_t * d)5540 static XED_INLINE void xed3_capture_nt_XMM_B3(xed_decoded_inst_t* d)
5541 {
5542 xed_uint32_t key = 0;
5543 key += (xed3_operand_get_mode(d)) << ((0));
5544 /* now switch code..*/
5545 switch(key) {
5546 case 0: /*(0,) -> mode16 | OUTREG=XMM_B3_32()*/
5547 xed3_capture_nt_XMM_B3_32(d);
5548 /*pacify the compiler */
5549 (void)d;
5550 break;
5551 case 1: /*(1,) -> mode32 | OUTREG=XMM_B3_32()*/
5552 xed3_capture_nt_XMM_B3_32(d);
5553 /*pacify the compiler */
5554 (void)d;
5555 break;
5556 case 2: /*(2,) -> mode64 | OUTREG=XMM_B3_64()*/
5557 xed3_capture_nt_XMM_B3_64(d);
5558 /*pacify the compiler */
5559 (void)d;
5560 break;
5561 default:
5562 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
5563 break;
5564 }
5565 }
xed3_capture_nt_VGPR32_N_32(xed_decoded_inst_t * d)5566 static XED_INLINE void xed3_capture_nt_VGPR32_N_32(xed_decoded_inst_t* d)
5567 {
5568 xed_uint32_t key = 0;
5569 key += (xed3_operand_get_vexdest210(d)) << ((0));
5570 /* now switch code..*/
5571 switch(key) {
5572 case 0: /*(0,) -> VEXDEST210=0 | OUTREG=XED_REG_EDI*/
5573 xed3_operand_set_outreg(d, XED_REG_EDI);
5574 /*pacify the compiler */
5575 (void)d;
5576 break;
5577 case 1: /*(1,) -> VEXDEST210=1 | OUTREG=XED_REG_ESI*/
5578 xed3_operand_set_outreg(d, XED_REG_ESI);
5579 /*pacify the compiler */
5580 (void)d;
5581 break;
5582 case 2: /*(2,) -> VEXDEST210=2 | OUTREG=XED_REG_EBP*/
5583 xed3_operand_set_outreg(d, XED_REG_EBP);
5584 /*pacify the compiler */
5585 (void)d;
5586 break;
5587 case 3: /*(3,) -> VEXDEST210=3 | OUTREG=XED_REG_ESP*/
5588 xed3_operand_set_outreg(d, XED_REG_ESP);
5589 /*pacify the compiler */
5590 (void)d;
5591 break;
5592 case 4: /*(4,) -> VEXDEST210=4 | OUTREG=XED_REG_EBX*/
5593 xed3_operand_set_outreg(d, XED_REG_EBX);
5594 /*pacify the compiler */
5595 (void)d;
5596 break;
5597 case 5: /*(5,) -> VEXDEST210=5 | OUTREG=XED_REG_EDX*/
5598 xed3_operand_set_outreg(d, XED_REG_EDX);
5599 /*pacify the compiler */
5600 (void)d;
5601 break;
5602 case 6: /*(6,) -> VEXDEST210=6 | OUTREG=XED_REG_ECX*/
5603 xed3_operand_set_outreg(d, XED_REG_ECX);
5604 /*pacify the compiler */
5605 (void)d;
5606 break;
5607 case 7: /*(7,) -> VEXDEST210=7 | OUTREG=XED_REG_EAX*/
5608 xed3_operand_set_outreg(d, XED_REG_EAX);
5609 /*pacify the compiler */
5610 (void)d;
5611 break;
5612 default:
5613 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
5614 break;
5615 }
5616 }
xed3_capture_nt_XMM_N_32(xed_decoded_inst_t * d)5617 static XED_INLINE void xed3_capture_nt_XMM_N_32(xed_decoded_inst_t* d)
5618 {
5619 xed_uint32_t key = 0;
5620 key += (xed3_operand_get_vexdest210(d)) << ((0));
5621 /* now switch code..*/
5622 switch(key) {
5623 case 0: /*(0,) -> VEXDEST210=0 | OUTREG=XED_REG_XMM7*/
5624 xed3_operand_set_outreg(d, XED_REG_XMM7);
5625 /*pacify the compiler */
5626 (void)d;
5627 break;
5628 case 1: /*(1,) -> VEXDEST210=1 | OUTREG=XED_REG_XMM6*/
5629 xed3_operand_set_outreg(d, XED_REG_XMM6);
5630 /*pacify the compiler */
5631 (void)d;
5632 break;
5633 case 2: /*(2,) -> VEXDEST210=2 | OUTREG=XED_REG_XMM5*/
5634 xed3_operand_set_outreg(d, XED_REG_XMM5);
5635 /*pacify the compiler */
5636 (void)d;
5637 break;
5638 case 3: /*(3,) -> VEXDEST210=3 | OUTREG=XED_REG_XMM4*/
5639 xed3_operand_set_outreg(d, XED_REG_XMM4);
5640 /*pacify the compiler */
5641 (void)d;
5642 break;
5643 case 4: /*(4,) -> VEXDEST210=4 | OUTREG=XED_REG_XMM3*/
5644 xed3_operand_set_outreg(d, XED_REG_XMM3);
5645 /*pacify the compiler */
5646 (void)d;
5647 break;
5648 case 5: /*(5,) -> VEXDEST210=5 | OUTREG=XED_REG_XMM2*/
5649 xed3_operand_set_outreg(d, XED_REG_XMM2);
5650 /*pacify the compiler */
5651 (void)d;
5652 break;
5653 case 6: /*(6,) -> VEXDEST210=6 | OUTREG=XED_REG_XMM1*/
5654 xed3_operand_set_outreg(d, XED_REG_XMM1);
5655 /*pacify the compiler */
5656 (void)d;
5657 break;
5658 case 7: /*(7,) -> VEXDEST210=7 | OUTREG=XED_REG_XMM0*/
5659 xed3_operand_set_outreg(d, XED_REG_XMM0);
5660 /*pacify the compiler */
5661 (void)d;
5662 break;
5663 default:
5664 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
5665 break;
5666 }
5667 }
xed3_capture_nt_MEMDISP8(xed_decoded_inst_t * d)5668 static XED_INLINE void xed3_capture_nt_MEMDISP8(xed_decoded_inst_t* d)
5669 {
5670 xed3_operand_set_disp_width(d, 0x8);
5671 /*pacify the compiler */
5672 (void)d;
5673 }
xed3_capture_nt_ZMM_R3(xed_decoded_inst_t * d)5674 static XED_INLINE void xed3_capture_nt_ZMM_R3(xed_decoded_inst_t* d)
5675 {
5676 xed_uint32_t key = 0;
5677 key += (xed3_operand_get_mode(d)) << ((0));
5678 /* now switch code..*/
5679 switch(key) {
5680 case 0: /*(0,) -> mode16 | OUTREG=ZMM_R3_32()*/
5681 xed3_capture_nt_ZMM_R3_32(d);
5682 /*pacify the compiler */
5683 (void)d;
5684 break;
5685 case 1: /*(1,) -> mode32 | OUTREG=ZMM_R3_32()*/
5686 xed3_capture_nt_ZMM_R3_32(d);
5687 /*pacify the compiler */
5688 (void)d;
5689 break;
5690 case 2: /*(2,) -> mode64 | OUTREG=ZMM_R3_64()*/
5691 xed3_capture_nt_ZMM_R3_64(d);
5692 /*pacify the compiler */
5693 (void)d;
5694 break;
5695 default:
5696 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
5697 break;
5698 }
5699 }
xed3_capture_nt_FINAL_DSEG1_MODE64(xed_decoded_inst_t * d)5700 static XED_INLINE void xed3_capture_nt_FINAL_DSEG1_MODE64(xed_decoded_inst_t* d)
5701 {
5702 xed_uint32_t key = 0;
5703 key += (xed3_operand_get_seg_ovd(d)) << ((0));
5704 /* now switch code..*/
5705 switch(key) {
5706 case 0: /*(0,) -> SEG_OVD=0 | OUTREG=XED_REG_INVALID USING_DEFAULT_SEGMENT1=1 enc*/
5707 xed3_operand_set_outreg(d, XED_REG_INVALID);
5708 xed3_operand_set_using_default_segment1(d, 0x1);
5709 /*pacify the compiler */
5710 (void)d;
5711 break;
5712 case 1: /*(1,) -> SEG_OVD=1 | OUTREG=XED_REG_INVALID USING_DEFAULT_SEGMENT1=1*/
5713 xed3_operand_set_outreg(d, XED_REG_INVALID);
5714 xed3_operand_set_using_default_segment1(d, 0x1);
5715 /*pacify the compiler */
5716 (void)d;
5717 break;
5718 case 2: /*(2,) -> SEG_OVD=2 | OUTREG=XED_REG_INVALID USING_DEFAULT_SEGMENT1=1*/
5719 xed3_operand_set_outreg(d, XED_REG_INVALID);
5720 xed3_operand_set_using_default_segment1(d, 0x1);
5721 /*pacify the compiler */
5722 (void)d;
5723 break;
5724 case 3: /*(3,) -> SEG_OVD=3 | OUTREG=XED_REG_INVALID USING_DEFAULT_SEGMENT1=1*/
5725 xed3_operand_set_outreg(d, XED_REG_INVALID);
5726 xed3_operand_set_using_default_segment1(d, 0x1);
5727 /*pacify the compiler */
5728 (void)d;
5729 break;
5730 case 4: /*(4,) -> SEG_OVD=4 | OUTREG=XED_REG_FS USING_DEFAULT_SEGMENT1=0*/
5731 xed3_operand_set_outreg(d, XED_REG_FS);
5732 xed3_operand_set_using_default_segment1(d, 0x0);
5733 /*pacify the compiler */
5734 (void)d;
5735 break;
5736 case 5: /*(5,) -> SEG_OVD=5 | OUTREG=XED_REG_GS USING_DEFAULT_SEGMENT1=0*/
5737 xed3_operand_set_outreg(d, XED_REG_GS);
5738 xed3_operand_set_using_default_segment1(d, 0x0);
5739 /*pacify the compiler */
5740 (void)d;
5741 break;
5742 case 6: /*(6,) -> SEG_OVD=6 | OUTREG=XED_REG_INVALID USING_DEFAULT_SEGMENT1=1*/
5743 xed3_operand_set_outreg(d, XED_REG_INVALID);
5744 xed3_operand_set_using_default_segment1(d, 0x1);
5745 /*pacify the compiler */
5746 (void)d;
5747 break;
5748 default:
5749 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
5750 break;
5751 }
5752 }
xed3_capture_nt_XMM_N(xed_decoded_inst_t * d)5753 static XED_INLINE void xed3_capture_nt_XMM_N(xed_decoded_inst_t* d)
5754 {
5755 xed_uint32_t key = 0;
5756 key += (xed3_operand_get_mode(d)) << ((0));
5757 /* now switch code..*/
5758 switch(key) {
5759 case 0: /*(0,) -> mode16 | OUTREG=XMM_N_32():*/
5760 xed3_capture_nt_XMM_N_32(d);
5761 /*pacify the compiler */
5762 (void)d;
5763 break;
5764 case 1: /*(1,) -> mode32 | OUTREG=XMM_N_32():*/
5765 xed3_capture_nt_XMM_N_32(d);
5766 /*pacify the compiler */
5767 (void)d;
5768 break;
5769 case 2: /*(2,) -> mode64 | OUTREG=XMM_N_64():*/
5770 xed3_capture_nt_XMM_N_64(d);
5771 /*pacify the compiler */
5772 (void)d;
5773 break;
5774 default:
5775 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
5776 break;
5777 }
5778 }
xed3_capture_nt_NELEM_QUARTERMEM(xed_decoded_inst_t * d)5779 static XED_INLINE void xed3_capture_nt_NELEM_QUARTERMEM(xed_decoded_inst_t* d)
5780 {
5781 xed_uint32_t key = 0;
5782 key += (xed3_operand_get_element_size(d)) << ((0));
5783 key += (xed3_operand_get_vl(d)) << ((9));
5784 /* now switch code..*/
5785 switch(key) {
5786 case 1: /*(1, 0) -> ELEMENT_SIZE=1 VL128 | NELEM=32*/
5787 xed3_operand_set_nelem(d, 0x20);
5788 /*pacify the compiler */
5789 (void)d;
5790 break;
5791 case 2: /*(2, 0) -> ELEMENT_SIZE=2 VL128 | NELEM=16*/
5792 xed3_operand_set_nelem(d, 0x10);
5793 /*pacify the compiler */
5794 (void)d;
5795 break;
5796 case 4: /*(4, 0) -> ELEMENT_SIZE=4 VL128 | NELEM=8*/
5797 xed3_operand_set_nelem(d, 0x8);
5798 /*pacify the compiler */
5799 (void)d;
5800 break;
5801 case 8: /*(8, 0) -> ELEMENT_SIZE=8 VL128 | NELEM=4*/
5802 xed3_operand_set_nelem(d, 0x4);
5803 /*pacify the compiler */
5804 (void)d;
5805 break;
5806 case 16: /*(16, 0) -> ELEMENT_SIZE=16 VL128 | NELEM=2*/
5807 xed3_operand_set_nelem(d, 0x2);
5808 /*pacify the compiler */
5809 (void)d;
5810 break;
5811 case 32: /*(32, 0) -> ELEMENT_SIZE=32 VL128 | NELEM=1*/
5812 xed3_operand_set_nelem(d, 0x1);
5813 /*pacify the compiler */
5814 (void)d;
5815 break;
5816 case 64: /*(64, 0) -> ELEMENT_SIZE=64 VL128 | error*/
5817 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
5818 break;
5819 case 128: /*(128, 0) -> ELEMENT_SIZE=128 VL128 | error*/
5820 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
5821 break;
5822 case 256: /*(256, 0) -> ELEMENT_SIZE=256 VL128 | error*/
5823 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
5824 break;
5825 case 512: /*(512, 0) -> ELEMENT_SIZE=512 VL128 | error*/
5826 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
5827 break;
5828 case 513: /*(1, 1) -> ELEMENT_SIZE=1 VL256 | NELEM=64*/
5829 xed3_operand_set_nelem(d, 0x40);
5830 /*pacify the compiler */
5831 (void)d;
5832 break;
5833 case 514: /*(2, 1) -> ELEMENT_SIZE=2 VL256 | NELEM=32*/
5834 xed3_operand_set_nelem(d, 0x20);
5835 /*pacify the compiler */
5836 (void)d;
5837 break;
5838 case 516: /*(4, 1) -> ELEMENT_SIZE=4 VL256 | NELEM=16*/
5839 xed3_operand_set_nelem(d, 0x10);
5840 /*pacify the compiler */
5841 (void)d;
5842 break;
5843 case 520: /*(8, 1) -> ELEMENT_SIZE=8 VL256 | NELEM=8*/
5844 xed3_operand_set_nelem(d, 0x8);
5845 /*pacify the compiler */
5846 (void)d;
5847 break;
5848 case 528: /*(16, 1) -> ELEMENT_SIZE=16 VL256 | NELEM=4*/
5849 xed3_operand_set_nelem(d, 0x4);
5850 /*pacify the compiler */
5851 (void)d;
5852 break;
5853 case 544: /*(32, 1) -> ELEMENT_SIZE=32 VL256 | NELEM=2*/
5854 xed3_operand_set_nelem(d, 0x2);
5855 /*pacify the compiler */
5856 (void)d;
5857 break;
5858 case 576: /*(64, 1) -> ELEMENT_SIZE=64 VL256 | NELEM=1*/
5859 xed3_operand_set_nelem(d, 0x1);
5860 /*pacify the compiler */
5861 (void)d;
5862 break;
5863 case 640: /*(128, 1) -> ELEMENT_SIZE=128 VL256 | error*/
5864 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
5865 break;
5866 case 768: /*(256, 1) -> ELEMENT_SIZE=256 VL256 | error*/
5867 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
5868 break;
5869 case 1024: /*(512, 1) -> ELEMENT_SIZE=512 VL256 | error*/
5870 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
5871 break;
5872 case 1025: /*(1, 2) -> ELEMENT_SIZE=1 VL512 | NELEM=128*/
5873 xed3_operand_set_nelem(d, 0x80);
5874 /*pacify the compiler */
5875 (void)d;
5876 break;
5877 case 1026: /*(2, 2) -> ELEMENT_SIZE=2 VL512 | NELEM=64*/
5878 xed3_operand_set_nelem(d, 0x40);
5879 /*pacify the compiler */
5880 (void)d;
5881 break;
5882 case 1028: /*(4, 2) -> ELEMENT_SIZE=4 VL512 | NELEM=32*/
5883 xed3_operand_set_nelem(d, 0x20);
5884 /*pacify the compiler */
5885 (void)d;
5886 break;
5887 case 1032: /*(8, 2) -> ELEMENT_SIZE=8 VL512 | NELEM=16*/
5888 xed3_operand_set_nelem(d, 0x10);
5889 /*pacify the compiler */
5890 (void)d;
5891 break;
5892 case 1040: /*(16, 2) -> ELEMENT_SIZE=16 VL512 | NELEM=8*/
5893 xed3_operand_set_nelem(d, 0x8);
5894 /*pacify the compiler */
5895 (void)d;
5896 break;
5897 case 1056: /*(32, 2) -> ELEMENT_SIZE=32 VL512 | NELEM=4*/
5898 xed3_operand_set_nelem(d, 0x4);
5899 /*pacify the compiler */
5900 (void)d;
5901 break;
5902 case 1088: /*(64, 2) -> ELEMENT_SIZE=64 VL512 | NELEM=2*/
5903 xed3_operand_set_nelem(d, 0x2);
5904 /*pacify the compiler */
5905 (void)d;
5906 break;
5907 case 1152: /*(128, 2) -> ELEMENT_SIZE=128 VL512 | NELEM=1*/
5908 xed3_operand_set_nelem(d, 0x1);
5909 /*pacify the compiler */
5910 (void)d;
5911 break;
5912 case 1280: /*(256, 2) -> ELEMENT_SIZE=256 VL512 | error*/
5913 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
5914 break;
5915 case 1536: /*(512, 2) -> ELEMENT_SIZE=512 VL512 | error*/
5916 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
5917 break;
5918 default:
5919 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
5920 break;
5921 }
5922 }
xed3_capture_nt_rIPa(xed_decoded_inst_t * d)5923 static XED_INLINE void xed3_capture_nt_rIPa(xed_decoded_inst_t* d)
5924 {
5925 xed_uint32_t key = 0;
5926 key += (xed3_operand_get_easz(d)) << ((0));
5927 /* now switch code..*/
5928 switch(key) {
5929 case 2: /*(2,) -> EASZ=2 | OUTREG=XED_REG_EIP*/
5930 xed3_operand_set_outreg(d, XED_REG_EIP);
5931 /*pacify the compiler */
5932 (void)d;
5933 break;
5934 case 3: /*(3,) -> EASZ=3 | OUTREG=XED_REG_RIP*/
5935 xed3_operand_set_outreg(d, XED_REG_RIP);
5936 /*pacify the compiler */
5937 (void)d;
5938 break;
5939 default:
5940 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
5941 break;
5942 }
5943 }
xed3_capture_nt_VGPR32_N_64(xed_decoded_inst_t * d)5944 static XED_INLINE void xed3_capture_nt_VGPR32_N_64(xed_decoded_inst_t* d)
5945 {
5946 xed_uint32_t key = 0;
5947 key += (xed3_operand_get_vexdest210(d)) << ((0));
5948 key += (xed3_operand_get_vexdest3(d)) << ((3));
5949 /* now switch code..*/
5950 switch(key) {
5951 case 0: /*(0, 0) -> VEXDEST3=0 VEXDEST210=0 | OUTREG=XED_REG_R15D*/
5952 xed3_operand_set_outreg(d, XED_REG_R15D);
5953 /*pacify the compiler */
5954 (void)d;
5955 break;
5956 case 1: /*(1, 0) -> VEXDEST3=0 VEXDEST210=1 | OUTREG=XED_REG_R14D*/
5957 xed3_operand_set_outreg(d, XED_REG_R14D);
5958 /*pacify the compiler */
5959 (void)d;
5960 break;
5961 case 2: /*(2, 0) -> VEXDEST3=0 VEXDEST210=2 | OUTREG=XED_REG_R13D*/
5962 xed3_operand_set_outreg(d, XED_REG_R13D);
5963 /*pacify the compiler */
5964 (void)d;
5965 break;
5966 case 3: /*(3, 0) -> VEXDEST3=0 VEXDEST210=3 | OUTREG=XED_REG_R12D*/
5967 xed3_operand_set_outreg(d, XED_REG_R12D);
5968 /*pacify the compiler */
5969 (void)d;
5970 break;
5971 case 4: /*(4, 0) -> VEXDEST3=0 VEXDEST210=4 | OUTREG=XED_REG_R11D*/
5972 xed3_operand_set_outreg(d, XED_REG_R11D);
5973 /*pacify the compiler */
5974 (void)d;
5975 break;
5976 case 5: /*(5, 0) -> VEXDEST3=0 VEXDEST210=5 | OUTREG=XED_REG_R10D*/
5977 xed3_operand_set_outreg(d, XED_REG_R10D);
5978 /*pacify the compiler */
5979 (void)d;
5980 break;
5981 case 6: /*(6, 0) -> VEXDEST3=0 VEXDEST210=6 | OUTREG=XED_REG_R9D*/
5982 xed3_operand_set_outreg(d, XED_REG_R9D);
5983 /*pacify the compiler */
5984 (void)d;
5985 break;
5986 case 7: /*(7, 0) -> VEXDEST3=0 VEXDEST210=7 | OUTREG=XED_REG_R8D*/
5987 xed3_operand_set_outreg(d, XED_REG_R8D);
5988 /*pacify the compiler */
5989 (void)d;
5990 break;
5991 case 8: /*(0, 1) -> VEXDEST3=1 VEXDEST210=0 | OUTREG=XED_REG_EDI*/
5992 xed3_operand_set_outreg(d, XED_REG_EDI);
5993 /*pacify the compiler */
5994 (void)d;
5995 break;
5996 case 9: /*(1, 1) -> VEXDEST3=1 VEXDEST210=1 | OUTREG=XED_REG_ESI*/
5997 xed3_operand_set_outreg(d, XED_REG_ESI);
5998 /*pacify the compiler */
5999 (void)d;
6000 break;
6001 case 10: /*(2, 1) -> VEXDEST3=1 VEXDEST210=2 | OUTREG=XED_REG_EBP*/
6002 xed3_operand_set_outreg(d, XED_REG_EBP);
6003 /*pacify the compiler */
6004 (void)d;
6005 break;
6006 case 11: /*(3, 1) -> VEXDEST3=1 VEXDEST210=3 | OUTREG=XED_REG_ESP*/
6007 xed3_operand_set_outreg(d, XED_REG_ESP);
6008 /*pacify the compiler */
6009 (void)d;
6010 break;
6011 case 12: /*(4, 1) -> VEXDEST3=1 VEXDEST210=4 | OUTREG=XED_REG_EBX*/
6012 xed3_operand_set_outreg(d, XED_REG_EBX);
6013 /*pacify the compiler */
6014 (void)d;
6015 break;
6016 case 13: /*(5, 1) -> VEXDEST3=1 VEXDEST210=5 | OUTREG=XED_REG_EDX*/
6017 xed3_operand_set_outreg(d, XED_REG_EDX);
6018 /*pacify the compiler */
6019 (void)d;
6020 break;
6021 case 14: /*(6, 1) -> VEXDEST3=1 VEXDEST210=6 | OUTREG=XED_REG_ECX*/
6022 xed3_operand_set_outreg(d, XED_REG_ECX);
6023 /*pacify the compiler */
6024 (void)d;
6025 break;
6026 case 15: /*(7, 1) -> VEXDEST3=1 VEXDEST210=7 | OUTREG=XED_REG_EAX*/
6027 xed3_operand_set_outreg(d, XED_REG_EAX);
6028 /*pacify the compiler */
6029 (void)d;
6030 break;
6031 default:
6032 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
6033 break;
6034 }
6035 }
xed3_capture_nt_GPRm_R(xed_decoded_inst_t * d)6036 static XED_INLINE void xed3_capture_nt_GPRm_R(xed_decoded_inst_t* d)
6037 {
6038 xed_uint32_t key = 0;
6039 key += (xed3_operand_get_mode(d)) << ((0));
6040 /* now switch code..*/
6041 switch(key) {
6042 case 0: /*(0,) -> mode16 | OUTREG=GPR32_R()*/
6043 xed3_capture_nt_GPR32_R(d);
6044 /*pacify the compiler */
6045 (void)d;
6046 break;
6047 case 1: /*(1,) -> mode32 | OUTREG=GPR32_R()*/
6048 xed3_capture_nt_GPR32_R(d);
6049 /*pacify the compiler */
6050 (void)d;
6051 break;
6052 case 2: /*(2,) -> mode64 | OUTREG=GPR64_R()*/
6053 xed3_capture_nt_GPR64_R(d);
6054 /*pacify the compiler */
6055 (void)d;
6056 break;
6057 default:
6058 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
6059 break;
6060 }
6061 }
xed3_capture_nt_XMM_B(xed_decoded_inst_t * d)6062 static XED_INLINE void xed3_capture_nt_XMM_B(xed_decoded_inst_t* d)
6063 {
6064 xed_uint32_t key = 0;
6065 key += (xed3_operand_get_mode(d)) << ((0));
6066 /* now switch code..*/
6067 switch(key) {
6068 case 0: /*(0,) -> mode16 | OUTREG=XMM_B_32()*/
6069 xed3_capture_nt_XMM_B_32(d);
6070 /*pacify the compiler */
6071 (void)d;
6072 break;
6073 case 1: /*(1,) -> mode32 | OUTREG=XMM_B_32()*/
6074 xed3_capture_nt_XMM_B_32(d);
6075 /*pacify the compiler */
6076 (void)d;
6077 break;
6078 case 2: /*(2,) -> mode64 | OUTREG=XMM_B_64()*/
6079 xed3_capture_nt_XMM_B_64(d);
6080 /*pacify the compiler */
6081 (void)d;
6082 break;
6083 default:
6084 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
6085 break;
6086 }
6087 }
xed3_capture_nt_VGPR64_R(xed_decoded_inst_t * d)6088 static XED_INLINE void xed3_capture_nt_VGPR64_R(xed_decoded_inst_t* d)
6089 {
6090 xed_uint32_t key = 0;
6091 key += (xed3_operand_get_reg(d)) << ((0));
6092 key += (xed3_operand_get_rexr(d)) << ((3));
6093 /* now switch code..*/
6094 switch(key) {
6095 case 0: /*(0, 0) -> REXR=0 REG=0 | OUTREG=XED_REG_RAX*/
6096 xed3_operand_set_outreg(d, XED_REG_RAX);
6097 /*pacify the compiler */
6098 (void)d;
6099 break;
6100 case 1: /*(1, 0) -> REXR=0 REG=1 | OUTREG=XED_REG_RCX*/
6101 xed3_operand_set_outreg(d, XED_REG_RCX);
6102 /*pacify the compiler */
6103 (void)d;
6104 break;
6105 case 2: /*(2, 0) -> REXR=0 REG=2 | OUTREG=XED_REG_RDX*/
6106 xed3_operand_set_outreg(d, XED_REG_RDX);
6107 /*pacify the compiler */
6108 (void)d;
6109 break;
6110 case 3: /*(3, 0) -> REXR=0 REG=3 | OUTREG=XED_REG_RBX*/
6111 xed3_operand_set_outreg(d, XED_REG_RBX);
6112 /*pacify the compiler */
6113 (void)d;
6114 break;
6115 case 4: /*(4, 0) -> REXR=0 REG=4 | OUTREG=XED_REG_RSP*/
6116 xed3_operand_set_outreg(d, XED_REG_RSP);
6117 /*pacify the compiler */
6118 (void)d;
6119 break;
6120 case 5: /*(5, 0) -> REXR=0 REG=5 | OUTREG=XED_REG_RBP*/
6121 xed3_operand_set_outreg(d, XED_REG_RBP);
6122 /*pacify the compiler */
6123 (void)d;
6124 break;
6125 case 6: /*(6, 0) -> REXR=0 REG=6 | OUTREG=XED_REG_RSI*/
6126 xed3_operand_set_outreg(d, XED_REG_RSI);
6127 /*pacify the compiler */
6128 (void)d;
6129 break;
6130 case 7: /*(7, 0) -> REXR=0 REG=7 | OUTREG=XED_REG_RDI*/
6131 xed3_operand_set_outreg(d, XED_REG_RDI);
6132 /*pacify the compiler */
6133 (void)d;
6134 break;
6135 case 8: /*(0, 1) -> REXR=1 REG=0 | OUTREG=XED_REG_R8*/
6136 xed3_operand_set_outreg(d, XED_REG_R8);
6137 /*pacify the compiler */
6138 (void)d;
6139 break;
6140 case 9: /*(1, 1) -> REXR=1 REG=1 | OUTREG=XED_REG_R9*/
6141 xed3_operand_set_outreg(d, XED_REG_R9);
6142 /*pacify the compiler */
6143 (void)d;
6144 break;
6145 case 10: /*(2, 1) -> REXR=1 REG=2 | OUTREG=XED_REG_R10*/
6146 xed3_operand_set_outreg(d, XED_REG_R10);
6147 /*pacify the compiler */
6148 (void)d;
6149 break;
6150 case 11: /*(3, 1) -> REXR=1 REG=3 | OUTREG=XED_REG_R11*/
6151 xed3_operand_set_outreg(d, XED_REG_R11);
6152 /*pacify the compiler */
6153 (void)d;
6154 break;
6155 case 12: /*(4, 1) -> REXR=1 REG=4 | OUTREG=XED_REG_R12*/
6156 xed3_operand_set_outreg(d, XED_REG_R12);
6157 /*pacify the compiler */
6158 (void)d;
6159 break;
6160 case 13: /*(5, 1) -> REXR=1 REG=5 | OUTREG=XED_REG_R13*/
6161 xed3_operand_set_outreg(d, XED_REG_R13);
6162 /*pacify the compiler */
6163 (void)d;
6164 break;
6165 case 14: /*(6, 1) -> REXR=1 REG=6 | OUTREG=XED_REG_R14*/
6166 xed3_operand_set_outreg(d, XED_REG_R14);
6167 /*pacify the compiler */
6168 (void)d;
6169 break;
6170 case 15: /*(7, 1) -> REXR=1 REG=7 | OUTREG=XED_REG_R15*/
6171 xed3_operand_set_outreg(d, XED_REG_R15);
6172 /*pacify the compiler */
6173 (void)d;
6174 break;
6175 default:
6176 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
6177 break;
6178 }
6179 }
xed3_capture_nt_XMM_SE(xed_decoded_inst_t * d)6180 static XED_INLINE void xed3_capture_nt_XMM_SE(xed_decoded_inst_t* d)
6181 {
6182 xed_uint32_t key = 0;
6183 key += (xed3_operand_get_mode(d)) << ((0));
6184 /* now switch code..*/
6185 switch(key) {
6186 case 0: /*(0,) -> mode16 | OUTREG=XMM_SE32()*/
6187 xed3_capture_nt_XMM_SE32(d);
6188 /*pacify the compiler */
6189 (void)d;
6190 break;
6191 case 1: /*(1,) -> mode32 | OUTREG=XMM_SE32()*/
6192 xed3_capture_nt_XMM_SE32(d);
6193 /*pacify the compiler */
6194 (void)d;
6195 break;
6196 case 2: /*(2,) -> mode64 | OUTREG=XMM_SE64()*/
6197 xed3_capture_nt_XMM_SE64(d);
6198 /*pacify the compiler */
6199 (void)d;
6200 break;
6201 default:
6202 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
6203 break;
6204 }
6205 }
xed3_capture_nt_FORCE64(xed_decoded_inst_t * d)6206 static XED_INLINE void xed3_capture_nt_FORCE64(xed_decoded_inst_t* d)
6207 {
6208 xed_uint32_t key = 0;
6209 key += (xed3_operand_get_mode(d)) << ((0));
6210 /* now switch code..*/
6211 switch(key) {
6212 case 2: /*(2,) -> mode64 | EOSZ=3 no66_prefix*/
6213 xed3_operand_set_eosz(d, 0x3);
6214 xed3_operand_set_osz(d, 0x0);
6215 /*pacify the compiler */
6216 (void)d;
6217 break;
6218 default:
6219 /* otherwise_ok */
6220 break;
6221 }
6222 }
xed3_capture_nt_XMM_R_64(xed_decoded_inst_t * d)6223 static XED_INLINE void xed3_capture_nt_XMM_R_64(xed_decoded_inst_t* d)
6224 {
6225 xed_uint32_t key = 0;
6226 key += (xed3_operand_get_reg(d)) << ((0));
6227 key += (xed3_operand_get_rexr(d)) << ((3));
6228 /* now switch code..*/
6229 switch(key) {
6230 case 0: /*(0, 0) -> REXR=0 REG=0x0 | OUTREG=XED_REG_XMM0*/
6231 xed3_operand_set_outreg(d, XED_REG_XMM0);
6232 /*pacify the compiler */
6233 (void)d;
6234 break;
6235 case 1: /*(1, 0) -> REXR=0 REG=0x1 | OUTREG=XED_REG_XMM1*/
6236 xed3_operand_set_outreg(d, XED_REG_XMM1);
6237 /*pacify the compiler */
6238 (void)d;
6239 break;
6240 case 2: /*(2, 0) -> REXR=0 REG=0x2 | OUTREG=XED_REG_XMM2*/
6241 xed3_operand_set_outreg(d, XED_REG_XMM2);
6242 /*pacify the compiler */
6243 (void)d;
6244 break;
6245 case 3: /*(3, 0) -> REXR=0 REG=0x3 | OUTREG=XED_REG_XMM3*/
6246 xed3_operand_set_outreg(d, XED_REG_XMM3);
6247 /*pacify the compiler */
6248 (void)d;
6249 break;
6250 case 4: /*(4, 0) -> REXR=0 REG=0x4 | OUTREG=XED_REG_XMM4*/
6251 xed3_operand_set_outreg(d, XED_REG_XMM4);
6252 /*pacify the compiler */
6253 (void)d;
6254 break;
6255 case 5: /*(5, 0) -> REXR=0 REG=0x5 | OUTREG=XED_REG_XMM5*/
6256 xed3_operand_set_outreg(d, XED_REG_XMM5);
6257 /*pacify the compiler */
6258 (void)d;
6259 break;
6260 case 6: /*(6, 0) -> REXR=0 REG=0x6 | OUTREG=XED_REG_XMM6*/
6261 xed3_operand_set_outreg(d, XED_REG_XMM6);
6262 /*pacify the compiler */
6263 (void)d;
6264 break;
6265 case 7: /*(7, 0) -> REXR=0 REG=0x7 | OUTREG=XED_REG_XMM7*/
6266 xed3_operand_set_outreg(d, XED_REG_XMM7);
6267 /*pacify the compiler */
6268 (void)d;
6269 break;
6270 case 8: /*(0, 1) -> REXR=1 REG=0x0 | OUTREG=XED_REG_XMM8*/
6271 xed3_operand_set_outreg(d, XED_REG_XMM8);
6272 /*pacify the compiler */
6273 (void)d;
6274 break;
6275 case 9: /*(1, 1) -> REXR=1 REG=0x1 | OUTREG=XED_REG_XMM9*/
6276 xed3_operand_set_outreg(d, XED_REG_XMM9);
6277 /*pacify the compiler */
6278 (void)d;
6279 break;
6280 case 10: /*(2, 1) -> REXR=1 REG=0x2 | OUTREG=XED_REG_XMM10*/
6281 xed3_operand_set_outreg(d, XED_REG_XMM10);
6282 /*pacify the compiler */
6283 (void)d;
6284 break;
6285 case 11: /*(3, 1) -> REXR=1 REG=0x3 | OUTREG=XED_REG_XMM11*/
6286 xed3_operand_set_outreg(d, XED_REG_XMM11);
6287 /*pacify the compiler */
6288 (void)d;
6289 break;
6290 case 12: /*(4, 1) -> REXR=1 REG=0x4 | OUTREG=XED_REG_XMM12*/
6291 xed3_operand_set_outreg(d, XED_REG_XMM12);
6292 /*pacify the compiler */
6293 (void)d;
6294 break;
6295 case 13: /*(5, 1) -> REXR=1 REG=0x5 | OUTREG=XED_REG_XMM13*/
6296 xed3_operand_set_outreg(d, XED_REG_XMM13);
6297 /*pacify the compiler */
6298 (void)d;
6299 break;
6300 case 14: /*(6, 1) -> REXR=1 REG=0x6 | OUTREG=XED_REG_XMM14*/
6301 xed3_operand_set_outreg(d, XED_REG_XMM14);
6302 /*pacify the compiler */
6303 (void)d;
6304 break;
6305 case 15: /*(7, 1) -> REXR=1 REG=0x7 | OUTREG=XED_REG_XMM15*/
6306 xed3_operand_set_outreg(d, XED_REG_XMM15);
6307 /*pacify the compiler */
6308 (void)d;
6309 break;
6310 default:
6311 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
6312 break;
6313 }
6314 }
xed3_capture_nt_NELEM_GPR_WRITER_LDOP(xed_decoded_inst_t * d)6315 static XED_INLINE void xed3_capture_nt_NELEM_GPR_WRITER_LDOP(xed_decoded_inst_t* d)
6316 {
6317 xed_uint32_t key = 0;
6318 key += (xed3_operand_get_vl(d)) << ((0));
6319 /* now switch code..*/
6320 switch(key) {
6321 case 0: /*(0,) -> VL128 | NELEM=1*/
6322 xed3_operand_set_nelem(d, 0x1);
6323 /*pacify the compiler */
6324 (void)d;
6325 break;
6326 case 1: /*(1,) -> VL256 | NELEM=1*/
6327 xed3_operand_set_nelem(d, 0x1);
6328 /*pacify the compiler */
6329 (void)d;
6330 break;
6331 case 2: /*(2,) -> VL512 | NELEM=1*/
6332 xed3_operand_set_nelem(d, 0x1);
6333 /*pacify the compiler */
6334 (void)d;
6335 break;
6336 default:
6337 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
6338 break;
6339 }
6340 }
xed3_capture_nt_XMM_SE64(xed_decoded_inst_t * d)6341 static XED_INLINE void xed3_capture_nt_XMM_SE64(xed_decoded_inst_t* d)
6342 {
6343 xed_uint32_t key = 0;
6344 key += (xed3_operand_get_esrc(d)) << ((0));
6345 /* now switch code..*/
6346 switch(key) {
6347 case 0: /*(0,) -> ESRC=0x0 | OUTREG=XED_REG_XMM0*/
6348 xed3_operand_set_outreg(d, XED_REG_XMM0);
6349 /*pacify the compiler */
6350 (void)d;
6351 break;
6352 case 1: /*(1,) -> ESRC=0x1 | OUTREG=XED_REG_XMM1*/
6353 xed3_operand_set_outreg(d, XED_REG_XMM1);
6354 /*pacify the compiler */
6355 (void)d;
6356 break;
6357 case 2: /*(2,) -> ESRC=0x2 | OUTREG=XED_REG_XMM2*/
6358 xed3_operand_set_outreg(d, XED_REG_XMM2);
6359 /*pacify the compiler */
6360 (void)d;
6361 break;
6362 case 3: /*(3,) -> ESRC=0x3 | OUTREG=XED_REG_XMM3*/
6363 xed3_operand_set_outreg(d, XED_REG_XMM3);
6364 /*pacify the compiler */
6365 (void)d;
6366 break;
6367 case 4: /*(4,) -> ESRC=0x4 | OUTREG=XED_REG_XMM4*/
6368 xed3_operand_set_outreg(d, XED_REG_XMM4);
6369 /*pacify the compiler */
6370 (void)d;
6371 break;
6372 case 5: /*(5,) -> ESRC=0x5 | OUTREG=XED_REG_XMM5*/
6373 xed3_operand_set_outreg(d, XED_REG_XMM5);
6374 /*pacify the compiler */
6375 (void)d;
6376 break;
6377 case 6: /*(6,) -> ESRC=0x6 | OUTREG=XED_REG_XMM6*/
6378 xed3_operand_set_outreg(d, XED_REG_XMM6);
6379 /*pacify the compiler */
6380 (void)d;
6381 break;
6382 case 7: /*(7,) -> ESRC=0x7 | OUTREG=XED_REG_XMM7*/
6383 xed3_operand_set_outreg(d, XED_REG_XMM7);
6384 /*pacify the compiler */
6385 (void)d;
6386 break;
6387 case 8: /*(8,) -> ESRC=0x8 | OUTREG=XED_REG_XMM8*/
6388 xed3_operand_set_outreg(d, XED_REG_XMM8);
6389 /*pacify the compiler */
6390 (void)d;
6391 break;
6392 case 9: /*(9,) -> ESRC=0x9 | OUTREG=XED_REG_XMM9*/
6393 xed3_operand_set_outreg(d, XED_REG_XMM9);
6394 /*pacify the compiler */
6395 (void)d;
6396 break;
6397 case 10: /*(10,) -> ESRC=0xA | OUTREG=XED_REG_XMM10*/
6398 xed3_operand_set_outreg(d, XED_REG_XMM10);
6399 /*pacify the compiler */
6400 (void)d;
6401 break;
6402 case 11: /*(11,) -> ESRC=0xB | OUTREG=XED_REG_XMM11*/
6403 xed3_operand_set_outreg(d, XED_REG_XMM11);
6404 /*pacify the compiler */
6405 (void)d;
6406 break;
6407 case 12: /*(12,) -> ESRC=0xC | OUTREG=XED_REG_XMM12*/
6408 xed3_operand_set_outreg(d, XED_REG_XMM12);
6409 /*pacify the compiler */
6410 (void)d;
6411 break;
6412 case 13: /*(13,) -> ESRC=0xD | OUTREG=XED_REG_XMM13*/
6413 xed3_operand_set_outreg(d, XED_REG_XMM13);
6414 /*pacify the compiler */
6415 (void)d;
6416 break;
6417 case 14: /*(14,) -> ESRC=0xE | OUTREG=XED_REG_XMM14*/
6418 xed3_operand_set_outreg(d, XED_REG_XMM14);
6419 /*pacify the compiler */
6420 (void)d;
6421 break;
6422 case 15: /*(15,) -> ESRC=0xF | OUTREG=XED_REG_XMM15*/
6423 xed3_operand_set_outreg(d, XED_REG_XMM15);
6424 /*pacify the compiler */
6425 (void)d;
6426 break;
6427 default:
6428 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
6429 break;
6430 }
6431 }
xed3_capture_nt_Ar12(xed_decoded_inst_t * d)6432 static XED_INLINE void xed3_capture_nt_Ar12(xed_decoded_inst_t* d)
6433 {
6434 xed_uint32_t key = 0;
6435 key += (xed3_operand_get_easz(d)) << ((0));
6436 /* now switch code..*/
6437 switch(key) {
6438 case 1: /*(1,) -> EASZ=1 | OUTREG=XED_REG_R12W*/
6439 xed3_operand_set_outreg(d, XED_REG_R12W);
6440 /*pacify the compiler */
6441 (void)d;
6442 break;
6443 case 2: /*(2,) -> EASZ=2 | OUTREG=XED_REG_R12D*/
6444 xed3_operand_set_outreg(d, XED_REG_R12D);
6445 /*pacify the compiler */
6446 (void)d;
6447 break;
6448 case 3: /*(3,) -> EASZ=3 | OUTREG=XED_REG_R12*/
6449 xed3_operand_set_outreg(d, XED_REG_R12);
6450 /*pacify the compiler */
6451 (void)d;
6452 break;
6453 default:
6454 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
6455 break;
6456 }
6457 }
xed3_capture_nt_Ar13(xed_decoded_inst_t * d)6458 static XED_INLINE void xed3_capture_nt_Ar13(xed_decoded_inst_t* d)
6459 {
6460 xed_uint32_t key = 0;
6461 key += (xed3_operand_get_easz(d)) << ((0));
6462 /* now switch code..*/
6463 switch(key) {
6464 case 1: /*(1,) -> EASZ=1 | OUTREG=XED_REG_R13W*/
6465 xed3_operand_set_outreg(d, XED_REG_R13W);
6466 /*pacify the compiler */
6467 (void)d;
6468 break;
6469 case 2: /*(2,) -> EASZ=2 | OUTREG=XED_REG_R13D*/
6470 xed3_operand_set_outreg(d, XED_REG_R13D);
6471 /*pacify the compiler */
6472 (void)d;
6473 break;
6474 case 3: /*(3,) -> EASZ=3 | OUTREG=XED_REG_R13*/
6475 xed3_operand_set_outreg(d, XED_REG_R13);
6476 /*pacify the compiler */
6477 (void)d;
6478 break;
6479 default:
6480 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
6481 break;
6482 }
6483 }
xed3_capture_nt_Ar10(xed_decoded_inst_t * d)6484 static XED_INLINE void xed3_capture_nt_Ar10(xed_decoded_inst_t* d)
6485 {
6486 xed_uint32_t key = 0;
6487 key += (xed3_operand_get_easz(d)) << ((0));
6488 /* now switch code..*/
6489 switch(key) {
6490 case 1: /*(1,) -> EASZ=1 | OUTREG=XED_REG_R10W*/
6491 xed3_operand_set_outreg(d, XED_REG_R10W);
6492 /*pacify the compiler */
6493 (void)d;
6494 break;
6495 case 2: /*(2,) -> EASZ=2 | OUTREG=XED_REG_R10D*/
6496 xed3_operand_set_outreg(d, XED_REG_R10D);
6497 /*pacify the compiler */
6498 (void)d;
6499 break;
6500 case 3: /*(3,) -> EASZ=3 | OUTREG=XED_REG_R10*/
6501 xed3_operand_set_outreg(d, XED_REG_R10);
6502 /*pacify the compiler */
6503 (void)d;
6504 break;
6505 default:
6506 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
6507 break;
6508 }
6509 }
xed3_capture_nt_Ar11(xed_decoded_inst_t * d)6510 static XED_INLINE void xed3_capture_nt_Ar11(xed_decoded_inst_t* d)
6511 {
6512 xed_uint32_t key = 0;
6513 key += (xed3_operand_get_easz(d)) << ((0));
6514 /* now switch code..*/
6515 switch(key) {
6516 case 1: /*(1,) -> EASZ=1 | OUTREG=XED_REG_R11W*/
6517 xed3_operand_set_outreg(d, XED_REG_R11W);
6518 /*pacify the compiler */
6519 (void)d;
6520 break;
6521 case 2: /*(2,) -> EASZ=2 | OUTREG=XED_REG_R11D*/
6522 xed3_operand_set_outreg(d, XED_REG_R11D);
6523 /*pacify the compiler */
6524 (void)d;
6525 break;
6526 case 3: /*(3,) -> EASZ=3 | OUTREG=XED_REG_R11*/
6527 xed3_operand_set_outreg(d, XED_REG_R11);
6528 /*pacify the compiler */
6529 (void)d;
6530 break;
6531 default:
6532 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
6533 break;
6534 }
6535 }
xed3_capture_nt_YMM_N_64(xed_decoded_inst_t * d)6536 static XED_INLINE void xed3_capture_nt_YMM_N_64(xed_decoded_inst_t* d)
6537 {
6538 xed_uint32_t key = 0;
6539 key += (xed3_operand_get_vexdest210(d)) << ((0));
6540 key += (xed3_operand_get_vexdest3(d)) << ((3));
6541 /* now switch code..*/
6542 switch(key) {
6543 case 0: /*(0, 0) -> VEXDEST3=0 VEXDEST210=0 | OUTREG=XED_REG_YMM15*/
6544 xed3_operand_set_outreg(d, XED_REG_YMM15);
6545 /*pacify the compiler */
6546 (void)d;
6547 break;
6548 case 1: /*(1, 0) -> VEXDEST3=0 VEXDEST210=1 | OUTREG=XED_REG_YMM14*/
6549 xed3_operand_set_outreg(d, XED_REG_YMM14);
6550 /*pacify the compiler */
6551 (void)d;
6552 break;
6553 case 2: /*(2, 0) -> VEXDEST3=0 VEXDEST210=2 | OUTREG=XED_REG_YMM13*/
6554 xed3_operand_set_outreg(d, XED_REG_YMM13);
6555 /*pacify the compiler */
6556 (void)d;
6557 break;
6558 case 3: /*(3, 0) -> VEXDEST3=0 VEXDEST210=3 | OUTREG=XED_REG_YMM12*/
6559 xed3_operand_set_outreg(d, XED_REG_YMM12);
6560 /*pacify the compiler */
6561 (void)d;
6562 break;
6563 case 4: /*(4, 0) -> VEXDEST3=0 VEXDEST210=4 | OUTREG=XED_REG_YMM11*/
6564 xed3_operand_set_outreg(d, XED_REG_YMM11);
6565 /*pacify the compiler */
6566 (void)d;
6567 break;
6568 case 5: /*(5, 0) -> VEXDEST3=0 VEXDEST210=5 | OUTREG=XED_REG_YMM10*/
6569 xed3_operand_set_outreg(d, XED_REG_YMM10);
6570 /*pacify the compiler */
6571 (void)d;
6572 break;
6573 case 6: /*(6, 0) -> VEXDEST3=0 VEXDEST210=6 | OUTREG=XED_REG_YMM9*/
6574 xed3_operand_set_outreg(d, XED_REG_YMM9);
6575 /*pacify the compiler */
6576 (void)d;
6577 break;
6578 case 7: /*(7, 0) -> VEXDEST3=0 VEXDEST210=7 | OUTREG=XED_REG_YMM8*/
6579 xed3_operand_set_outreg(d, XED_REG_YMM8);
6580 /*pacify the compiler */
6581 (void)d;
6582 break;
6583 case 8: /*(0, 1) -> VEXDEST3=1 VEXDEST210=0 | OUTREG=XED_REG_YMM7*/
6584 xed3_operand_set_outreg(d, XED_REG_YMM7);
6585 /*pacify the compiler */
6586 (void)d;
6587 break;
6588 case 9: /*(1, 1) -> VEXDEST3=1 VEXDEST210=1 | OUTREG=XED_REG_YMM6*/
6589 xed3_operand_set_outreg(d, XED_REG_YMM6);
6590 /*pacify the compiler */
6591 (void)d;
6592 break;
6593 case 10: /*(2, 1) -> VEXDEST3=1 VEXDEST210=2 | OUTREG=XED_REG_YMM5*/
6594 xed3_operand_set_outreg(d, XED_REG_YMM5);
6595 /*pacify the compiler */
6596 (void)d;
6597 break;
6598 case 11: /*(3, 1) -> VEXDEST3=1 VEXDEST210=3 | OUTREG=XED_REG_YMM4*/
6599 xed3_operand_set_outreg(d, XED_REG_YMM4);
6600 /*pacify the compiler */
6601 (void)d;
6602 break;
6603 case 12: /*(4, 1) -> VEXDEST3=1 VEXDEST210=4 | OUTREG=XED_REG_YMM3*/
6604 xed3_operand_set_outreg(d, XED_REG_YMM3);
6605 /*pacify the compiler */
6606 (void)d;
6607 break;
6608 case 13: /*(5, 1) -> VEXDEST3=1 VEXDEST210=5 | OUTREG=XED_REG_YMM2*/
6609 xed3_operand_set_outreg(d, XED_REG_YMM2);
6610 /*pacify the compiler */
6611 (void)d;
6612 break;
6613 case 14: /*(6, 1) -> VEXDEST3=1 VEXDEST210=6 | OUTREG=XED_REG_YMM1*/
6614 xed3_operand_set_outreg(d, XED_REG_YMM1);
6615 /*pacify the compiler */
6616 (void)d;
6617 break;
6618 case 15: /*(7, 1) -> VEXDEST3=1 VEXDEST210=7 | OUTREG=XED_REG_YMM0*/
6619 xed3_operand_set_outreg(d, XED_REG_YMM0);
6620 /*pacify the compiler */
6621 (void)d;
6622 break;
6623 default:
6624 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
6625 break;
6626 }
6627 }
xed3_capture_nt_Ar14(xed_decoded_inst_t * d)6628 static XED_INLINE void xed3_capture_nt_Ar14(xed_decoded_inst_t* d)
6629 {
6630 xed_uint32_t key = 0;
6631 key += (xed3_operand_get_easz(d)) << ((0));
6632 /* now switch code..*/
6633 switch(key) {
6634 case 1: /*(1,) -> EASZ=1 | OUTREG=XED_REG_R14W*/
6635 xed3_operand_set_outreg(d, XED_REG_R14W);
6636 /*pacify the compiler */
6637 (void)d;
6638 break;
6639 case 2: /*(2,) -> EASZ=2 | OUTREG=XED_REG_R14D*/
6640 xed3_operand_set_outreg(d, XED_REG_R14D);
6641 /*pacify the compiler */
6642 (void)d;
6643 break;
6644 case 3: /*(3,) -> EASZ=3 | OUTREG=XED_REG_R14*/
6645 xed3_operand_set_outreg(d, XED_REG_R14);
6646 /*pacify the compiler */
6647 (void)d;
6648 break;
6649 default:
6650 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
6651 break;
6652 }
6653 }
xed3_capture_nt_Ar15(xed_decoded_inst_t * d)6654 static XED_INLINE void xed3_capture_nt_Ar15(xed_decoded_inst_t* d)
6655 {
6656 xed_uint32_t key = 0;
6657 key += (xed3_operand_get_easz(d)) << ((0));
6658 /* now switch code..*/
6659 switch(key) {
6660 case 1: /*(1,) -> EASZ=1 | OUTREG=XED_REG_R15W*/
6661 xed3_operand_set_outreg(d, XED_REG_R15W);
6662 /*pacify the compiler */
6663 (void)d;
6664 break;
6665 case 2: /*(2,) -> EASZ=2 | OUTREG=XED_REG_R15D*/
6666 xed3_operand_set_outreg(d, XED_REG_R15D);
6667 /*pacify the compiler */
6668 (void)d;
6669 break;
6670 case 3: /*(3,) -> EASZ=3 | OUTREG=XED_REG_R15*/
6671 xed3_operand_set_outreg(d, XED_REG_R15);
6672 /*pacify the compiler */
6673 (void)d;
6674 break;
6675 default:
6676 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
6677 break;
6678 }
6679 }
xed3_capture_nt_VGPR64_B(xed_decoded_inst_t * d)6680 static XED_INLINE void xed3_capture_nt_VGPR64_B(xed_decoded_inst_t* d)
6681 {
6682 xed_uint32_t key = 0;
6683 key += (xed3_operand_get_rexb(d)) << ((0));
6684 key += (xed3_operand_get_rm(d)) << ((1));
6685 /* now switch code..*/
6686 switch(key) {
6687 case 0: /*(0, 0) -> REXB=0 RM=0 | OUTREG=XED_REG_RAX*/
6688 xed3_operand_set_outreg(d, XED_REG_RAX);
6689 /*pacify the compiler */
6690 (void)d;
6691 break;
6692 case 1: /*(1, 0) -> REXB=1 RM=0 | OUTREG=XED_REG_R8*/
6693 xed3_operand_set_outreg(d, XED_REG_R8);
6694 /*pacify the compiler */
6695 (void)d;
6696 break;
6697 case 2: /*(0, 1) -> REXB=0 RM=1 | OUTREG=XED_REG_RCX*/
6698 xed3_operand_set_outreg(d, XED_REG_RCX);
6699 /*pacify the compiler */
6700 (void)d;
6701 break;
6702 case 3: /*(1, 1) -> REXB=1 RM=1 | OUTREG=XED_REG_R9*/
6703 xed3_operand_set_outreg(d, XED_REG_R9);
6704 /*pacify the compiler */
6705 (void)d;
6706 break;
6707 case 4: /*(0, 2) -> REXB=0 RM=2 | OUTREG=XED_REG_RDX*/
6708 xed3_operand_set_outreg(d, XED_REG_RDX);
6709 /*pacify the compiler */
6710 (void)d;
6711 break;
6712 case 5: /*(1, 2) -> REXB=1 RM=2 | OUTREG=XED_REG_R10*/
6713 xed3_operand_set_outreg(d, XED_REG_R10);
6714 /*pacify the compiler */
6715 (void)d;
6716 break;
6717 case 6: /*(0, 3) -> REXB=0 RM=3 | OUTREG=XED_REG_RBX*/
6718 xed3_operand_set_outreg(d, XED_REG_RBX);
6719 /*pacify the compiler */
6720 (void)d;
6721 break;
6722 case 7: /*(1, 3) -> REXB=1 RM=3 | OUTREG=XED_REG_R11*/
6723 xed3_operand_set_outreg(d, XED_REG_R11);
6724 /*pacify the compiler */
6725 (void)d;
6726 break;
6727 case 8: /*(0, 4) -> REXB=0 RM=4 | OUTREG=XED_REG_RSP*/
6728 xed3_operand_set_outreg(d, XED_REG_RSP);
6729 /*pacify the compiler */
6730 (void)d;
6731 break;
6732 case 9: /*(1, 4) -> REXB=1 RM=4 | OUTREG=XED_REG_R12*/
6733 xed3_operand_set_outreg(d, XED_REG_R12);
6734 /*pacify the compiler */
6735 (void)d;
6736 break;
6737 case 10: /*(0, 5) -> REXB=0 RM=5 | OUTREG=XED_REG_RBP*/
6738 xed3_operand_set_outreg(d, XED_REG_RBP);
6739 /*pacify the compiler */
6740 (void)d;
6741 break;
6742 case 11: /*(1, 5) -> REXB=1 RM=5 | OUTREG=XED_REG_R13*/
6743 xed3_operand_set_outreg(d, XED_REG_R13);
6744 /*pacify the compiler */
6745 (void)d;
6746 break;
6747 case 12: /*(0, 6) -> REXB=0 RM=6 | OUTREG=XED_REG_RSI*/
6748 xed3_operand_set_outreg(d, XED_REG_RSI);
6749 /*pacify the compiler */
6750 (void)d;
6751 break;
6752 case 13: /*(1, 6) -> REXB=1 RM=6 | OUTREG=XED_REG_R14*/
6753 xed3_operand_set_outreg(d, XED_REG_R14);
6754 /*pacify the compiler */
6755 (void)d;
6756 break;
6757 case 14: /*(0, 7) -> REXB=0 RM=7 | OUTREG=XED_REG_RDI*/
6758 xed3_operand_set_outreg(d, XED_REG_RDI);
6759 /*pacify the compiler */
6760 (void)d;
6761 break;
6762 case 15: /*(1, 7) -> REXB=1 RM=7 | OUTREG=XED_REG_R15*/
6763 xed3_operand_set_outreg(d, XED_REG_R15);
6764 /*pacify the compiler */
6765 (void)d;
6766 break;
6767 default:
6768 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
6769 break;
6770 }
6771 }
xed3_capture_nt_XMM_R(xed_decoded_inst_t * d)6772 static XED_INLINE void xed3_capture_nt_XMM_R(xed_decoded_inst_t* d)
6773 {
6774 xed_uint32_t key = 0;
6775 key += (xed3_operand_get_mode(d)) << ((0));
6776 /* now switch code..*/
6777 switch(key) {
6778 case 0: /*(0,) -> mode16 | OUTREG=XMM_R_32()*/
6779 xed3_capture_nt_XMM_R_32(d);
6780 /*pacify the compiler */
6781 (void)d;
6782 break;
6783 case 1: /*(1,) -> mode32 | OUTREG=XMM_R_32()*/
6784 xed3_capture_nt_XMM_R_32(d);
6785 /*pacify the compiler */
6786 (void)d;
6787 break;
6788 case 2: /*(2,) -> mode64 | OUTREG=XMM_R_64()*/
6789 xed3_capture_nt_XMM_R_64(d);
6790 /*pacify the compiler */
6791 (void)d;
6792 break;
6793 default:
6794 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
6795 break;
6796 }
6797 }
xed3_capture_nt_GPR64_SB(xed_decoded_inst_t * d)6798 static XED_INLINE void xed3_capture_nt_GPR64_SB(xed_decoded_inst_t* d)
6799 {
6800 xed_uint32_t key = 0;
6801 key += (xed3_operand_get_rexb(d)) << ((0));
6802 key += (xed3_operand_get_srm(d)) << ((1));
6803 /* now switch code..*/
6804 switch(key) {
6805 case 0: /*(0, 0) -> REXB=0 SRM=0x0 | OUTREG=XED_REG_RAX*/
6806 xed3_operand_set_outreg(d, XED_REG_RAX);
6807 /*pacify the compiler */
6808 (void)d;
6809 break;
6810 case 1: /*(1, 0) -> REXB=1 SRM=0x0 | OUTREG=XED_REG_R8*/
6811 xed3_operand_set_outreg(d, XED_REG_R8);
6812 /*pacify the compiler */
6813 (void)d;
6814 break;
6815 case 2: /*(0, 1) -> REXB=0 SRM=0x1 | OUTREG=XED_REG_RCX*/
6816 xed3_operand_set_outreg(d, XED_REG_RCX);
6817 /*pacify the compiler */
6818 (void)d;
6819 break;
6820 case 3: /*(1, 1) -> REXB=1 SRM=0x1 | OUTREG=XED_REG_R9*/
6821 xed3_operand_set_outreg(d, XED_REG_R9);
6822 /*pacify the compiler */
6823 (void)d;
6824 break;
6825 case 4: /*(0, 2) -> REXB=0 SRM=0x2 | OUTREG=XED_REG_RDX*/
6826 xed3_operand_set_outreg(d, XED_REG_RDX);
6827 /*pacify the compiler */
6828 (void)d;
6829 break;
6830 case 5: /*(1, 2) -> REXB=1 SRM=0x2 | OUTREG=XED_REG_R10*/
6831 xed3_operand_set_outreg(d, XED_REG_R10);
6832 /*pacify the compiler */
6833 (void)d;
6834 break;
6835 case 6: /*(0, 3) -> REXB=0 SRM=0x3 | OUTREG=XED_REG_RBX*/
6836 xed3_operand_set_outreg(d, XED_REG_RBX);
6837 /*pacify the compiler */
6838 (void)d;
6839 break;
6840 case 7: /*(1, 3) -> REXB=1 SRM=0x3 | OUTREG=XED_REG_R11*/
6841 xed3_operand_set_outreg(d, XED_REG_R11);
6842 /*pacify the compiler */
6843 (void)d;
6844 break;
6845 case 8: /*(0, 4) -> REXB=0 SRM=0x4 | OUTREG=XED_REG_RSP*/
6846 xed3_operand_set_outreg(d, XED_REG_RSP);
6847 /*pacify the compiler */
6848 (void)d;
6849 break;
6850 case 9: /*(1, 4) -> REXB=1 SRM=0x4 | OUTREG=XED_REG_R12*/
6851 xed3_operand_set_outreg(d, XED_REG_R12);
6852 /*pacify the compiler */
6853 (void)d;
6854 break;
6855 case 10: /*(0, 5) -> REXB=0 SRM=0x5 | OUTREG=XED_REG_RBP*/
6856 xed3_operand_set_outreg(d, XED_REG_RBP);
6857 /*pacify the compiler */
6858 (void)d;
6859 break;
6860 case 11: /*(1, 5) -> REXB=1 SRM=0x5 | OUTREG=XED_REG_R13*/
6861 xed3_operand_set_outreg(d, XED_REG_R13);
6862 /*pacify the compiler */
6863 (void)d;
6864 break;
6865 case 12: /*(0, 6) -> REXB=0 SRM=0x6 | OUTREG=XED_REG_RSI*/
6866 xed3_operand_set_outreg(d, XED_REG_RSI);
6867 /*pacify the compiler */
6868 (void)d;
6869 break;
6870 case 13: /*(1, 6) -> REXB=1 SRM=0x6 | OUTREG=XED_REG_R14*/
6871 xed3_operand_set_outreg(d, XED_REG_R14);
6872 /*pacify the compiler */
6873 (void)d;
6874 break;
6875 case 14: /*(0, 7) -> REXB=0 SRM=0x7 | OUTREG=XED_REG_RDI*/
6876 xed3_operand_set_outreg(d, XED_REG_RDI);
6877 /*pacify the compiler */
6878 (void)d;
6879 break;
6880 case 15: /*(1, 7) -> REXB=1 SRM=0x7 | OUTREG=XED_REG_R15*/
6881 xed3_operand_set_outreg(d, XED_REG_R15);
6882 /*pacify the compiler */
6883 (void)d;
6884 break;
6885 default:
6886 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
6887 break;
6888 }
6889 }
xed3_capture_nt_UIMM16(xed_decoded_inst_t * d)6890 static XED_INLINE void xed3_capture_nt_UIMM16(xed_decoded_inst_t* d)
6891 {
6892 xed3_operand_set_imm_width(d, 0x10);
6893 /*pacify the compiler */
6894 (void)d;
6895 }
xed3_capture_nt_NELEM_GPR_WRITER_STORE_SUBDWORD(xed_decoded_inst_t * d)6896 static XED_INLINE void xed3_capture_nt_NELEM_GPR_WRITER_STORE_SUBDWORD(xed_decoded_inst_t* d)
6897 {
6898 xed_uint32_t key = 0;
6899 key += (xed3_operand_get_vl(d)) << ((0));
6900 /* now switch code..*/
6901 switch(key) {
6902 case 0: /*(0,) -> VL128 | NELEM=1*/
6903 xed3_operand_set_nelem(d, 0x1);
6904 /*pacify the compiler */
6905 (void)d;
6906 break;
6907 case 1: /*(1,) -> VL256 | NELEM=1*/
6908 xed3_operand_set_nelem(d, 0x1);
6909 /*pacify the compiler */
6910 (void)d;
6911 break;
6912 case 2: /*(2,) -> VL512 | NELEM=1*/
6913 xed3_operand_set_nelem(d, 0x1);
6914 /*pacify the compiler */
6915 (void)d;
6916 break;
6917 default:
6918 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
6919 break;
6920 }
6921 }
xed3_capture_nt_GPR16_B(xed_decoded_inst_t * d)6922 static XED_INLINE void xed3_capture_nt_GPR16_B(xed_decoded_inst_t* d)
6923 {
6924 xed_uint32_t key = 0;
6925 key += (xed3_operand_get_rexb(d)) << ((0));
6926 key += (xed3_operand_get_rm(d)) << ((1));
6927 /* now switch code..*/
6928 switch(key) {
6929 case 0: /*(0, 0) -> REXB=0 RM=0x0 | OUTREG=XED_REG_AX*/
6930 xed3_operand_set_outreg(d, XED_REG_AX);
6931 /*pacify the compiler */
6932 (void)d;
6933 break;
6934 case 1: /*(1, 0) -> REXB=1 RM=0x0 | OUTREG=XED_REG_R8W*/
6935 xed3_operand_set_outreg(d, XED_REG_R8W);
6936 /*pacify the compiler */
6937 (void)d;
6938 break;
6939 case 2: /*(0, 1) -> REXB=0 RM=0x1 | OUTREG=XED_REG_CX*/
6940 xed3_operand_set_outreg(d, XED_REG_CX);
6941 /*pacify the compiler */
6942 (void)d;
6943 break;
6944 case 3: /*(1, 1) -> REXB=1 RM=0x1 | OUTREG=XED_REG_R9W*/
6945 xed3_operand_set_outreg(d, XED_REG_R9W);
6946 /*pacify the compiler */
6947 (void)d;
6948 break;
6949 case 4: /*(0, 2) -> REXB=0 RM=0x2 | OUTREG=XED_REG_DX*/
6950 xed3_operand_set_outreg(d, XED_REG_DX);
6951 /*pacify the compiler */
6952 (void)d;
6953 break;
6954 case 5: /*(1, 2) -> REXB=1 RM=0x2 | OUTREG=XED_REG_R10W*/
6955 xed3_operand_set_outreg(d, XED_REG_R10W);
6956 /*pacify the compiler */
6957 (void)d;
6958 break;
6959 case 6: /*(0, 3) -> REXB=0 RM=0x3 | OUTREG=XED_REG_BX*/
6960 xed3_operand_set_outreg(d, XED_REG_BX);
6961 /*pacify the compiler */
6962 (void)d;
6963 break;
6964 case 7: /*(1, 3) -> REXB=1 RM=0x3 | OUTREG=XED_REG_R11W*/
6965 xed3_operand_set_outreg(d, XED_REG_R11W);
6966 /*pacify the compiler */
6967 (void)d;
6968 break;
6969 case 8: /*(0, 4) -> REXB=0 RM=0x4 | OUTREG=XED_REG_SP*/
6970 xed3_operand_set_outreg(d, XED_REG_SP);
6971 /*pacify the compiler */
6972 (void)d;
6973 break;
6974 case 9: /*(1, 4) -> REXB=1 RM=0x4 | OUTREG=XED_REG_R12W*/
6975 xed3_operand_set_outreg(d, XED_REG_R12W);
6976 /*pacify the compiler */
6977 (void)d;
6978 break;
6979 case 10: /*(0, 5) -> REXB=0 RM=0x5 | OUTREG=XED_REG_BP*/
6980 xed3_operand_set_outreg(d, XED_REG_BP);
6981 /*pacify the compiler */
6982 (void)d;
6983 break;
6984 case 11: /*(1, 5) -> REXB=1 RM=0x5 | OUTREG=XED_REG_R13W*/
6985 xed3_operand_set_outreg(d, XED_REG_R13W);
6986 /*pacify the compiler */
6987 (void)d;
6988 break;
6989 case 12: /*(0, 6) -> REXB=0 RM=0x6 | OUTREG=XED_REG_SI*/
6990 xed3_operand_set_outreg(d, XED_REG_SI);
6991 /*pacify the compiler */
6992 (void)d;
6993 break;
6994 case 13: /*(1, 6) -> REXB=1 RM=0x6 | OUTREG=XED_REG_R14W*/
6995 xed3_operand_set_outreg(d, XED_REG_R14W);
6996 /*pacify the compiler */
6997 (void)d;
6998 break;
6999 case 14: /*(0, 7) -> REXB=0 RM=0x7 | OUTREG=XED_REG_DI*/
7000 xed3_operand_set_outreg(d, XED_REG_DI);
7001 /*pacify the compiler */
7002 (void)d;
7003 break;
7004 case 15: /*(1, 7) -> REXB=1 RM=0x7 | OUTREG=XED_REG_R15W*/
7005 xed3_operand_set_outreg(d, XED_REG_R15W);
7006 /*pacify the compiler */
7007 (void)d;
7008 break;
7009 default:
7010 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
7011 break;
7012 }
7013 }
xed3_capture_nt_NELEM_GPR_WRITER_LDOP_Q(xed_decoded_inst_t * d)7014 static XED_INLINE void xed3_capture_nt_NELEM_GPR_WRITER_LDOP_Q(xed_decoded_inst_t* d)
7015 {
7016 xed_uint32_t key = 0;
7017 key += (xed3_operand_get_vl(d)) << ((0));
7018 /* now switch code..*/
7019 switch(key) {
7020 case 0: /*(0,) -> VL128 | NELEM=1*/
7021 xed3_operand_set_nelem(d, 0x1);
7022 /*pacify the compiler */
7023 (void)d;
7024 break;
7025 case 1: /*(1,) -> VL256 | NELEM=1*/
7026 xed3_operand_set_nelem(d, 0x1);
7027 /*pacify the compiler */
7028 (void)d;
7029 break;
7030 case 2: /*(2,) -> VL512 | NELEM=1*/
7031 xed3_operand_set_nelem(d, 0x1);
7032 /*pacify the compiler */
7033 (void)d;
7034 break;
7035 default:
7036 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
7037 break;
7038 }
7039 }
xed3_capture_nt_XMM_B_64(xed_decoded_inst_t * d)7040 static XED_INLINE void xed3_capture_nt_XMM_B_64(xed_decoded_inst_t* d)
7041 {
7042 xed_uint32_t key = 0;
7043 key += (xed3_operand_get_rexb(d)) << ((0));
7044 key += (xed3_operand_get_rm(d)) << ((1));
7045 /* now switch code..*/
7046 switch(key) {
7047 case 0: /*(0, 0) -> REXB=0 RM=0x0 | OUTREG=XED_REG_XMM0*/
7048 xed3_operand_set_outreg(d, XED_REG_XMM0);
7049 /*pacify the compiler */
7050 (void)d;
7051 break;
7052 case 1: /*(1, 0) -> REXB=1 RM=0x0 | OUTREG=XED_REG_XMM8*/
7053 xed3_operand_set_outreg(d, XED_REG_XMM8);
7054 /*pacify the compiler */
7055 (void)d;
7056 break;
7057 case 2: /*(0, 1) -> REXB=0 RM=0x1 | OUTREG=XED_REG_XMM1*/
7058 xed3_operand_set_outreg(d, XED_REG_XMM1);
7059 /*pacify the compiler */
7060 (void)d;
7061 break;
7062 case 3: /*(1, 1) -> REXB=1 RM=0x1 | OUTREG=XED_REG_XMM9*/
7063 xed3_operand_set_outreg(d, XED_REG_XMM9);
7064 /*pacify the compiler */
7065 (void)d;
7066 break;
7067 case 4: /*(0, 2) -> REXB=0 RM=0x2 | OUTREG=XED_REG_XMM2*/
7068 xed3_operand_set_outreg(d, XED_REG_XMM2);
7069 /*pacify the compiler */
7070 (void)d;
7071 break;
7072 case 5: /*(1, 2) -> REXB=1 RM=0x2 | OUTREG=XED_REG_XMM10*/
7073 xed3_operand_set_outreg(d, XED_REG_XMM10);
7074 /*pacify the compiler */
7075 (void)d;
7076 break;
7077 case 6: /*(0, 3) -> REXB=0 RM=0x3 | OUTREG=XED_REG_XMM3*/
7078 xed3_operand_set_outreg(d, XED_REG_XMM3);
7079 /*pacify the compiler */
7080 (void)d;
7081 break;
7082 case 7: /*(1, 3) -> REXB=1 RM=0x3 | OUTREG=XED_REG_XMM11*/
7083 xed3_operand_set_outreg(d, XED_REG_XMM11);
7084 /*pacify the compiler */
7085 (void)d;
7086 break;
7087 case 8: /*(0, 4) -> REXB=0 RM=0x4 | OUTREG=XED_REG_XMM4*/
7088 xed3_operand_set_outreg(d, XED_REG_XMM4);
7089 /*pacify the compiler */
7090 (void)d;
7091 break;
7092 case 9: /*(1, 4) -> REXB=1 RM=0x4 | OUTREG=XED_REG_XMM12*/
7093 xed3_operand_set_outreg(d, XED_REG_XMM12);
7094 /*pacify the compiler */
7095 (void)d;
7096 break;
7097 case 10: /*(0, 5) -> REXB=0 RM=0x5 | OUTREG=XED_REG_XMM5*/
7098 xed3_operand_set_outreg(d, XED_REG_XMM5);
7099 /*pacify the compiler */
7100 (void)d;
7101 break;
7102 case 11: /*(1, 5) -> REXB=1 RM=0x5 | OUTREG=XED_REG_XMM13*/
7103 xed3_operand_set_outreg(d, XED_REG_XMM13);
7104 /*pacify the compiler */
7105 (void)d;
7106 break;
7107 case 12: /*(0, 6) -> REXB=0 RM=0x6 | OUTREG=XED_REG_XMM6*/
7108 xed3_operand_set_outreg(d, XED_REG_XMM6);
7109 /*pacify the compiler */
7110 (void)d;
7111 break;
7112 case 13: /*(1, 6) -> REXB=1 RM=0x6 | OUTREG=XED_REG_XMM14*/
7113 xed3_operand_set_outreg(d, XED_REG_XMM14);
7114 /*pacify the compiler */
7115 (void)d;
7116 break;
7117 case 14: /*(0, 7) -> REXB=0 RM=0x7 | OUTREG=XED_REG_XMM7*/
7118 xed3_operand_set_outreg(d, XED_REG_XMM7);
7119 /*pacify the compiler */
7120 (void)d;
7121 break;
7122 case 15: /*(1, 7) -> REXB=1 RM=0x7 | OUTREG=XED_REG_XMM15*/
7123 xed3_operand_set_outreg(d, XED_REG_XMM15);
7124 /*pacify the compiler */
7125 (void)d;
7126 break;
7127 default:
7128 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
7129 break;
7130 }
7131 }
xed3_capture_nt_VGPR32_B_32(xed_decoded_inst_t * d)7132 static XED_INLINE void xed3_capture_nt_VGPR32_B_32(xed_decoded_inst_t* d)
7133 {
7134 xed_uint32_t key = 0;
7135 key += (xed3_operand_get_rm(d)) << ((0));
7136 /* now switch code..*/
7137 switch(key) {
7138 case 0: /*(0,) -> RM=0 | OUTREG=XED_REG_EAX*/
7139 xed3_operand_set_outreg(d, XED_REG_EAX);
7140 /*pacify the compiler */
7141 (void)d;
7142 break;
7143 case 1: /*(1,) -> RM=1 | OUTREG=XED_REG_ECX*/
7144 xed3_operand_set_outreg(d, XED_REG_ECX);
7145 /*pacify the compiler */
7146 (void)d;
7147 break;
7148 case 2: /*(2,) -> RM=2 | OUTREG=XED_REG_EDX*/
7149 xed3_operand_set_outreg(d, XED_REG_EDX);
7150 /*pacify the compiler */
7151 (void)d;
7152 break;
7153 case 3: /*(3,) -> RM=3 | OUTREG=XED_REG_EBX*/
7154 xed3_operand_set_outreg(d, XED_REG_EBX);
7155 /*pacify the compiler */
7156 (void)d;
7157 break;
7158 case 4: /*(4,) -> RM=4 | OUTREG=XED_REG_ESP*/
7159 xed3_operand_set_outreg(d, XED_REG_ESP);
7160 /*pacify the compiler */
7161 (void)d;
7162 break;
7163 case 5: /*(5,) -> RM=5 | OUTREG=XED_REG_EBP*/
7164 xed3_operand_set_outreg(d, XED_REG_EBP);
7165 /*pacify the compiler */
7166 (void)d;
7167 break;
7168 case 6: /*(6,) -> RM=6 | OUTREG=XED_REG_ESI*/
7169 xed3_operand_set_outreg(d, XED_REG_ESI);
7170 /*pacify the compiler */
7171 (void)d;
7172 break;
7173 case 7: /*(7,) -> RM=7 | OUTREG=XED_REG_EDI*/
7174 xed3_operand_set_outreg(d, XED_REG_EDI);
7175 /*pacify the compiler */
7176 (void)d;
7177 break;
7178 default:
7179 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
7180 break;
7181 }
7182 }
xed3_capture_nt_GPRv_SB(xed_decoded_inst_t * d)7183 static XED_INLINE void xed3_capture_nt_GPRv_SB(xed_decoded_inst_t* d)
7184 {
7185 xed_uint32_t key = 0;
7186 key += (xed3_operand_get_eosz(d)) << ((0));
7187 /* now switch code..*/
7188 switch(key) {
7189 case 1: /*(1,) -> EOSZ=1 | OUTREG=GPR16_SB()*/
7190 xed3_capture_nt_GPR16_SB(d);
7191 /*pacify the compiler */
7192 (void)d;
7193 break;
7194 case 2: /*(2,) -> EOSZ=2 | OUTREG=GPR32_SB()*/
7195 xed3_capture_nt_GPR32_SB(d);
7196 /*pacify the compiler */
7197 (void)d;
7198 break;
7199 case 3: /*(3,) -> EOSZ=3 | OUTREG=GPR64_SB()*/
7200 xed3_capture_nt_GPR64_SB(d);
7201 /*pacify the compiler */
7202 (void)d;
7203 break;
7204 default:
7205 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
7206 break;
7207 }
7208 }
xed3_capture_nt_FINAL_DSEG1(xed_decoded_inst_t * d)7209 static XED_INLINE void xed3_capture_nt_FINAL_DSEG1(xed_decoded_inst_t* d)
7210 {
7211 xed_uint32_t key = 0;
7212 key += (xed3_operand_get_mode(d)) << ((0));
7213 /* now switch code..*/
7214 switch(key) {
7215 case 0: /*(0,) -> mode16 | OUTREG=FINAL_DSEG1_NOT64()*/
7216 xed3_capture_nt_FINAL_DSEG1_NOT64(d);
7217 /*pacify the compiler */
7218 (void)d;
7219 break;
7220 case 1: /*(1,) -> mode32 | OUTREG=FINAL_DSEG1_NOT64()*/
7221 xed3_capture_nt_FINAL_DSEG1_NOT64(d);
7222 /*pacify the compiler */
7223 (void)d;
7224 break;
7225 case 2: /*(2,) -> mode64 | OUTREG=FINAL_DSEG1_MODE64()*/
7226 xed3_capture_nt_FINAL_DSEG1_MODE64(d);
7227 /*pacify the compiler */
7228 (void)d;
7229 break;
7230 default:
7231 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
7232 break;
7233 }
7234 }
xed3_capture_nt_GPR16_SB(xed_decoded_inst_t * d)7235 static XED_INLINE void xed3_capture_nt_GPR16_SB(xed_decoded_inst_t* d)
7236 {
7237 xed_uint32_t key = 0;
7238 key += (xed3_operand_get_rexb(d)) << ((0));
7239 key += (xed3_operand_get_srm(d)) << ((1));
7240 /* now switch code..*/
7241 switch(key) {
7242 case 0: /*(0, 0) -> REXB=0 SRM=0x0 | OUTREG=XED_REG_AX*/
7243 xed3_operand_set_outreg(d, XED_REG_AX);
7244 /*pacify the compiler */
7245 (void)d;
7246 break;
7247 case 1: /*(1, 0) -> REXB=1 SRM=0x0 | OUTREG=XED_REG_R8W*/
7248 xed3_operand_set_outreg(d, XED_REG_R8W);
7249 /*pacify the compiler */
7250 (void)d;
7251 break;
7252 case 2: /*(0, 1) -> REXB=0 SRM=0x1 | OUTREG=XED_REG_CX*/
7253 xed3_operand_set_outreg(d, XED_REG_CX);
7254 /*pacify the compiler */
7255 (void)d;
7256 break;
7257 case 3: /*(1, 1) -> REXB=1 SRM=0x1 | OUTREG=XED_REG_R9W*/
7258 xed3_operand_set_outreg(d, XED_REG_R9W);
7259 /*pacify the compiler */
7260 (void)d;
7261 break;
7262 case 4: /*(0, 2) -> REXB=0 SRM=0x2 | OUTREG=XED_REG_DX*/
7263 xed3_operand_set_outreg(d, XED_REG_DX);
7264 /*pacify the compiler */
7265 (void)d;
7266 break;
7267 case 5: /*(1, 2) -> REXB=1 SRM=0x2 | OUTREG=XED_REG_R10W*/
7268 xed3_operand_set_outreg(d, XED_REG_R10W);
7269 /*pacify the compiler */
7270 (void)d;
7271 break;
7272 case 6: /*(0, 3) -> REXB=0 SRM=0x3 | OUTREG=XED_REG_BX*/
7273 xed3_operand_set_outreg(d, XED_REG_BX);
7274 /*pacify the compiler */
7275 (void)d;
7276 break;
7277 case 7: /*(1, 3) -> REXB=1 SRM=0x3 | OUTREG=XED_REG_R11W*/
7278 xed3_operand_set_outreg(d, XED_REG_R11W);
7279 /*pacify the compiler */
7280 (void)d;
7281 break;
7282 case 8: /*(0, 4) -> REXB=0 SRM=0x4 | OUTREG=XED_REG_SP*/
7283 xed3_operand_set_outreg(d, XED_REG_SP);
7284 /*pacify the compiler */
7285 (void)d;
7286 break;
7287 case 9: /*(1, 4) -> REXB=1 SRM=0x4 | OUTREG=XED_REG_R12W*/
7288 xed3_operand_set_outreg(d, XED_REG_R12W);
7289 /*pacify the compiler */
7290 (void)d;
7291 break;
7292 case 10: /*(0, 5) -> REXB=0 SRM=0x5 | OUTREG=XED_REG_BP*/
7293 xed3_operand_set_outreg(d, XED_REG_BP);
7294 /*pacify the compiler */
7295 (void)d;
7296 break;
7297 case 11: /*(1, 5) -> REXB=1 SRM=0x5 | OUTREG=XED_REG_R13W*/
7298 xed3_operand_set_outreg(d, XED_REG_R13W);
7299 /*pacify the compiler */
7300 (void)d;
7301 break;
7302 case 12: /*(0, 6) -> REXB=0 SRM=0x6 | OUTREG=XED_REG_SI*/
7303 xed3_operand_set_outreg(d, XED_REG_SI);
7304 /*pacify the compiler */
7305 (void)d;
7306 break;
7307 case 13: /*(1, 6) -> REXB=1 SRM=0x6 | OUTREG=XED_REG_R14W*/
7308 xed3_operand_set_outreg(d, XED_REG_R14W);
7309 /*pacify the compiler */
7310 (void)d;
7311 break;
7312 case 14: /*(0, 7) -> REXB=0 SRM=0x7 | OUTREG=XED_REG_DI*/
7313 xed3_operand_set_outreg(d, XED_REG_DI);
7314 /*pacify the compiler */
7315 (void)d;
7316 break;
7317 case 15: /*(1, 7) -> REXB=1 SRM=0x7 | OUTREG=XED_REG_R15W*/
7318 xed3_operand_set_outreg(d, XED_REG_R15W);
7319 /*pacify the compiler */
7320 (void)d;
7321 break;
7322 default:
7323 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
7324 break;
7325 }
7326 }
xed3_capture_nt_NELEM_MEM128(xed_decoded_inst_t * d)7327 static XED_INLINE void xed3_capture_nt_NELEM_MEM128(xed_decoded_inst_t* d)
7328 {
7329 xed_uint32_t key = 0;
7330 key += (xed3_operand_get_bcrc(d)) << ((0));
7331 /* now switch code..*/
7332 switch(key) {
7333 case 0: /*(0,) -> BCRC=0b0 | ELEMENT_SIZE=64 NELEM=2*/
7334 xed3_operand_set_element_size(d, 0x40);
7335 xed3_operand_set_nelem(d, 0x2);
7336 /*pacify the compiler */
7337 (void)d;
7338 break;
7339 case 1: /*(1,) -> BCRC=0b1 | error*/
7340 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
7341 break;
7342 default:
7343 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
7344 break;
7345 }
7346 }
xed3_capture_nt_NELEM_GPR_WRITER_LDOP_D(xed_decoded_inst_t * d)7347 static XED_INLINE void xed3_capture_nt_NELEM_GPR_WRITER_LDOP_D(xed_decoded_inst_t* d)
7348 {
7349 xed_uint32_t key = 0;
7350 key += (xed3_operand_get_vl(d)) << ((0));
7351 /* now switch code..*/
7352 switch(key) {
7353 case 0: /*(0,) -> VL128 | NELEM=1*/
7354 xed3_operand_set_nelem(d, 0x1);
7355 /*pacify the compiler */
7356 (void)d;
7357 break;
7358 case 1: /*(1,) -> VL256 | NELEM=1*/
7359 xed3_operand_set_nelem(d, 0x1);
7360 /*pacify the compiler */
7361 (void)d;
7362 break;
7363 case 2: /*(2,) -> VL512 | NELEM=1*/
7364 xed3_operand_set_nelem(d, 0x1);
7365 /*pacify the compiler */
7366 (void)d;
7367 break;
7368 default:
7369 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
7370 break;
7371 }
7372 }
xed3_capture_nt_NELEM_GPR_WRITER_STORE_WORD(xed_decoded_inst_t * d)7373 static XED_INLINE void xed3_capture_nt_NELEM_GPR_WRITER_STORE_WORD(xed_decoded_inst_t* d)
7374 {
7375 xed_uint32_t key = 0;
7376 key += (xed3_operand_get_vl(d)) << ((0));
7377 /* now switch code..*/
7378 switch(key) {
7379 case 0: /*(0,) -> VL128 | NELEM=1*/
7380 xed3_operand_set_nelem(d, 0x1);
7381 /*pacify the compiler */
7382 (void)d;
7383 break;
7384 case 1: /*(1,) -> VL256 | NELEM=1*/
7385 xed3_operand_set_nelem(d, 0x1);
7386 /*pacify the compiler */
7387 (void)d;
7388 break;
7389 case 2: /*(2,) -> VL512 | NELEM=1*/
7390 xed3_operand_set_nelem(d, 0x1);
7391 /*pacify the compiler */
7392 (void)d;
7393 break;
7394 default:
7395 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
7396 break;
7397 }
7398 }
xed3_capture_nt_UISA_VSIB_YMM(xed_decoded_inst_t * d)7399 static XED_INLINE void xed3_capture_nt_UISA_VSIB_YMM(xed_decoded_inst_t* d)
7400 {
7401 xed_uint32_t key = 0;
7402 key += (xed3_operand_get_sibscale(d)) << ((0));
7403 /* now switch code..*/
7404 switch(key) {
7405 case 0: /*(0,) -> SIBSCALE[0b00] SIBINDEX[iii] SIBBASE[bbb] UISA_VSIB_BASE() | INDEX=UISA_VSIB_INDEX_YMM() SCALE=1*/
7406 xed3_capture_nt_UISA_VSIB_BASE(d);
7407 xed3_capture_nt_UISA_VSIB_INDEX_YMM(d);
7408 xed3_operand_set_index(d, xed3_operand_get_outreg(d));
7409 xed3_operand_set_scale(d, 0x1);
7410 /*pacify the compiler */
7411 (void)d;
7412 break;
7413 case 1: /*(1,) -> SIBSCALE[0b01] SIBINDEX[iii] SIBBASE[bbb] UISA_VSIB_BASE() | INDEX=UISA_VSIB_INDEX_YMM() SCALE=2*/
7414 xed3_capture_nt_UISA_VSIB_BASE(d);
7415 xed3_capture_nt_UISA_VSIB_INDEX_YMM(d);
7416 xed3_operand_set_index(d, xed3_operand_get_outreg(d));
7417 xed3_operand_set_scale(d, 0x2);
7418 /*pacify the compiler */
7419 (void)d;
7420 break;
7421 case 2: /*(2,) -> SIBSCALE[0b10] SIBINDEX[iii] SIBBASE[bbb] UISA_VSIB_BASE() | INDEX=UISA_VSIB_INDEX_YMM() SCALE=4*/
7422 xed3_capture_nt_UISA_VSIB_BASE(d);
7423 xed3_capture_nt_UISA_VSIB_INDEX_YMM(d);
7424 xed3_operand_set_index(d, xed3_operand_get_outreg(d));
7425 xed3_operand_set_scale(d, 0x4);
7426 /*pacify the compiler */
7427 (void)d;
7428 break;
7429 case 3: /*(3,) -> SIBSCALE[0b11] SIBINDEX[iii] SIBBASE[bbb] UISA_VSIB_BASE() | INDEX=UISA_VSIB_INDEX_YMM() SCALE=8*/
7430 xed3_capture_nt_UISA_VSIB_BASE(d);
7431 xed3_capture_nt_UISA_VSIB_INDEX_YMM(d);
7432 xed3_operand_set_index(d, xed3_operand_get_outreg(d));
7433 xed3_operand_set_scale(d, 0x8);
7434 /*pacify the compiler */
7435 (void)d;
7436 break;
7437 default:
7438 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
7439 break;
7440 }
7441 }
xed3_capture_nt_ESIZE_16_BITS(xed_decoded_inst_t * d)7442 static XED_INLINE void xed3_capture_nt_ESIZE_16_BITS(xed_decoded_inst_t* d)
7443 {
7444 xed_uint32_t key = 0;
7445 key += (xed3_operand_get_rex(d)) << ((0));
7446 /* now switch code..*/
7447 switch(key) {
7448 case 0: /*(0,) -> REX=0 | ELEMENT_SIZE=16*/
7449 xed3_operand_set_element_size(d, 0x10);
7450 /*pacify the compiler */
7451 (void)d;
7452 break;
7453 default:
7454 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
7455 break;
7456 }
7457 }
xed3_capture_nt_SrSP(xed_decoded_inst_t * d)7458 static XED_INLINE void xed3_capture_nt_SrSP(xed_decoded_inst_t* d)
7459 {
7460 xed_uint32_t key = 0;
7461 key += (xed3_operand_get_smode(d)) << ((0));
7462 /* now switch code..*/
7463 switch(key) {
7464 case 0: /*(0,) -> smode16 | OUTREG=XED_REG_SP*/
7465 xed3_operand_set_outreg(d, XED_REG_SP);
7466 /*pacify the compiler */
7467 (void)d;
7468 break;
7469 case 1: /*(1,) -> smode32 | OUTREG=XED_REG_ESP*/
7470 xed3_operand_set_outreg(d, XED_REG_ESP);
7471 /*pacify the compiler */
7472 (void)d;
7473 break;
7474 case 2: /*(2,) -> smode64 | OUTREG=XED_REG_RSP*/
7475 xed3_operand_set_outreg(d, XED_REG_RSP);
7476 /*pacify the compiler */
7477 (void)d;
7478 break;
7479 default:
7480 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
7481 break;
7482 }
7483 }
xed3_capture_nt_VGPR64_N(xed_decoded_inst_t * d)7484 static XED_INLINE void xed3_capture_nt_VGPR64_N(xed_decoded_inst_t* d)
7485 {
7486 xed_uint32_t key = 0;
7487 key += (xed3_operand_get_vexdest210(d)) << ((0));
7488 key += (xed3_operand_get_vexdest3(d)) << ((3));
7489 /* now switch code..*/
7490 switch(key) {
7491 case 0: /*(0, 0) -> VEXDEST3=0 VEXDEST210=0 | OUTREG=XED_REG_R15*/
7492 xed3_operand_set_outreg(d, XED_REG_R15);
7493 /*pacify the compiler */
7494 (void)d;
7495 break;
7496 case 1: /*(1, 0) -> VEXDEST3=0 VEXDEST210=1 | OUTREG=XED_REG_R14*/
7497 xed3_operand_set_outreg(d, XED_REG_R14);
7498 /*pacify the compiler */
7499 (void)d;
7500 break;
7501 case 2: /*(2, 0) -> VEXDEST3=0 VEXDEST210=2 | OUTREG=XED_REG_R13*/
7502 xed3_operand_set_outreg(d, XED_REG_R13);
7503 /*pacify the compiler */
7504 (void)d;
7505 break;
7506 case 3: /*(3, 0) -> VEXDEST3=0 VEXDEST210=3 | OUTREG=XED_REG_R12*/
7507 xed3_operand_set_outreg(d, XED_REG_R12);
7508 /*pacify the compiler */
7509 (void)d;
7510 break;
7511 case 4: /*(4, 0) -> VEXDEST3=0 VEXDEST210=4 | OUTREG=XED_REG_R11*/
7512 xed3_operand_set_outreg(d, XED_REG_R11);
7513 /*pacify the compiler */
7514 (void)d;
7515 break;
7516 case 5: /*(5, 0) -> VEXDEST3=0 VEXDEST210=5 | OUTREG=XED_REG_R10*/
7517 xed3_operand_set_outreg(d, XED_REG_R10);
7518 /*pacify the compiler */
7519 (void)d;
7520 break;
7521 case 6: /*(6, 0) -> VEXDEST3=0 VEXDEST210=6 | OUTREG=XED_REG_R9*/
7522 xed3_operand_set_outreg(d, XED_REG_R9);
7523 /*pacify the compiler */
7524 (void)d;
7525 break;
7526 case 7: /*(7, 0) -> VEXDEST3=0 VEXDEST210=7 | OUTREG=XED_REG_R8*/
7527 xed3_operand_set_outreg(d, XED_REG_R8);
7528 /*pacify the compiler */
7529 (void)d;
7530 break;
7531 case 8: /*(0, 1) -> VEXDEST3=1 VEXDEST210=0 | OUTREG=XED_REG_RDI*/
7532 xed3_operand_set_outreg(d, XED_REG_RDI);
7533 /*pacify the compiler */
7534 (void)d;
7535 break;
7536 case 9: /*(1, 1) -> VEXDEST3=1 VEXDEST210=1 | OUTREG=XED_REG_RSI*/
7537 xed3_operand_set_outreg(d, XED_REG_RSI);
7538 /*pacify the compiler */
7539 (void)d;
7540 break;
7541 case 10: /*(2, 1) -> VEXDEST3=1 VEXDEST210=2 | OUTREG=XED_REG_RBP*/
7542 xed3_operand_set_outreg(d, XED_REG_RBP);
7543 /*pacify the compiler */
7544 (void)d;
7545 break;
7546 case 11: /*(3, 1) -> VEXDEST3=1 VEXDEST210=3 | OUTREG=XED_REG_RSP*/
7547 xed3_operand_set_outreg(d, XED_REG_RSP);
7548 /*pacify the compiler */
7549 (void)d;
7550 break;
7551 case 12: /*(4, 1) -> VEXDEST3=1 VEXDEST210=4 | OUTREG=XED_REG_RBX*/
7552 xed3_operand_set_outreg(d, XED_REG_RBX);
7553 /*pacify the compiler */
7554 (void)d;
7555 break;
7556 case 13: /*(5, 1) -> VEXDEST3=1 VEXDEST210=5 | OUTREG=XED_REG_RDX*/
7557 xed3_operand_set_outreg(d, XED_REG_RDX);
7558 /*pacify the compiler */
7559 (void)d;
7560 break;
7561 case 14: /*(6, 1) -> VEXDEST3=1 VEXDEST210=6 | OUTREG=XED_REG_RCX*/
7562 xed3_operand_set_outreg(d, XED_REG_RCX);
7563 /*pacify the compiler */
7564 (void)d;
7565 break;
7566 case 15: /*(7, 1) -> VEXDEST3=1 VEXDEST210=7 | OUTREG=XED_REG_RAX*/
7567 xed3_operand_set_outreg(d, XED_REG_RAX);
7568 /*pacify the compiler */
7569 (void)d;
7570 break;
7571 default:
7572 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
7573 break;
7574 }
7575 }
xed3_capture_nt_UISA_VSIB_INDEX_YMM(xed_decoded_inst_t * d)7576 static XED_INLINE void xed3_capture_nt_UISA_VSIB_INDEX_YMM(xed_decoded_inst_t* d)
7577 {
7578 xed_uint32_t key = 0;
7579 key += (xed3_operand_get_rexx(d)) << ((0));
7580 key += (xed3_operand_get_sibindex(d)) << ((1));
7581 key += (xed3_operand_get_vexdest4(d)) << ((4));
7582 /* now switch code..*/
7583 switch(key) {
7584 case 0: /*(0, 0, 0) -> VEXDEST4=0 REXX=0 SIBINDEX=0 | OUTREG=XED_REG_YMM0*/
7585 xed3_operand_set_outreg(d, XED_REG_YMM0);
7586 /*pacify the compiler */
7587 (void)d;
7588 break;
7589 case 1: /*(1, 0, 0) -> VEXDEST4=0 REXX=1 SIBINDEX=0 | OUTREG=XED_REG_YMM8*/
7590 xed3_operand_set_outreg(d, XED_REG_YMM8);
7591 /*pacify the compiler */
7592 (void)d;
7593 break;
7594 case 2: /*(0, 1, 0) -> VEXDEST4=0 REXX=0 SIBINDEX=1 | OUTREG=XED_REG_YMM1*/
7595 xed3_operand_set_outreg(d, XED_REG_YMM1);
7596 /*pacify the compiler */
7597 (void)d;
7598 break;
7599 case 3: /*(1, 1, 0) -> VEXDEST4=0 REXX=1 SIBINDEX=1 | OUTREG=XED_REG_YMM9*/
7600 xed3_operand_set_outreg(d, XED_REG_YMM9);
7601 /*pacify the compiler */
7602 (void)d;
7603 break;
7604 case 4: /*(0, 2, 0) -> VEXDEST4=0 REXX=0 SIBINDEX=2 | OUTREG=XED_REG_YMM2*/
7605 xed3_operand_set_outreg(d, XED_REG_YMM2);
7606 /*pacify the compiler */
7607 (void)d;
7608 break;
7609 case 5: /*(1, 2, 0) -> VEXDEST4=0 REXX=1 SIBINDEX=2 | OUTREG=XED_REG_YMM10*/
7610 xed3_operand_set_outreg(d, XED_REG_YMM10);
7611 /*pacify the compiler */
7612 (void)d;
7613 break;
7614 case 6: /*(0, 3, 0) -> VEXDEST4=0 REXX=0 SIBINDEX=3 | OUTREG=XED_REG_YMM3*/
7615 xed3_operand_set_outreg(d, XED_REG_YMM3);
7616 /*pacify the compiler */
7617 (void)d;
7618 break;
7619 case 7: /*(1, 3, 0) -> VEXDEST4=0 REXX=1 SIBINDEX=3 | OUTREG=XED_REG_YMM11*/
7620 xed3_operand_set_outreg(d, XED_REG_YMM11);
7621 /*pacify the compiler */
7622 (void)d;
7623 break;
7624 case 8: /*(0, 4, 0) -> VEXDEST4=0 REXX=0 SIBINDEX=4 | OUTREG=XED_REG_YMM4*/
7625 xed3_operand_set_outreg(d, XED_REG_YMM4);
7626 /*pacify the compiler */
7627 (void)d;
7628 break;
7629 case 9: /*(1, 4, 0) -> VEXDEST4=0 REXX=1 SIBINDEX=4 | OUTREG=XED_REG_YMM12*/
7630 xed3_operand_set_outreg(d, XED_REG_YMM12);
7631 /*pacify the compiler */
7632 (void)d;
7633 break;
7634 case 10: /*(0, 5, 0) -> VEXDEST4=0 REXX=0 SIBINDEX=5 | OUTREG=XED_REG_YMM5*/
7635 xed3_operand_set_outreg(d, XED_REG_YMM5);
7636 /*pacify the compiler */
7637 (void)d;
7638 break;
7639 case 11: /*(1, 5, 0) -> VEXDEST4=0 REXX=1 SIBINDEX=5 | OUTREG=XED_REG_YMM13*/
7640 xed3_operand_set_outreg(d, XED_REG_YMM13);
7641 /*pacify the compiler */
7642 (void)d;
7643 break;
7644 case 12: /*(0, 6, 0) -> VEXDEST4=0 REXX=0 SIBINDEX=6 | OUTREG=XED_REG_YMM6*/
7645 xed3_operand_set_outreg(d, XED_REG_YMM6);
7646 /*pacify the compiler */
7647 (void)d;
7648 break;
7649 case 13: /*(1, 6, 0) -> VEXDEST4=0 REXX=1 SIBINDEX=6 | OUTREG=XED_REG_YMM14*/
7650 xed3_operand_set_outreg(d, XED_REG_YMM14);
7651 /*pacify the compiler */
7652 (void)d;
7653 break;
7654 case 14: /*(0, 7, 0) -> VEXDEST4=0 REXX=0 SIBINDEX=7 | OUTREG=XED_REG_YMM7*/
7655 xed3_operand_set_outreg(d, XED_REG_YMM7);
7656 /*pacify the compiler */
7657 (void)d;
7658 break;
7659 case 15: /*(1, 7, 0) -> VEXDEST4=0 REXX=1 SIBINDEX=7 | OUTREG=XED_REG_YMM15*/
7660 xed3_operand_set_outreg(d, XED_REG_YMM15);
7661 /*pacify the compiler */
7662 (void)d;
7663 break;
7664 case 16: /*(0, 0, 1) -> VEXDEST4=1 REXX=0 SIBINDEX=0 | OUTREG=XED_REG_YMM16*/
7665 xed3_operand_set_outreg(d, XED_REG_YMM16);
7666 /*pacify the compiler */
7667 (void)d;
7668 break;
7669 case 17: /*(1, 0, 1) -> VEXDEST4=1 REXX=1 SIBINDEX=0 | OUTREG=XED_REG_YMM24*/
7670 xed3_operand_set_outreg(d, XED_REG_YMM24);
7671 /*pacify the compiler */
7672 (void)d;
7673 break;
7674 case 18: /*(0, 1, 1) -> VEXDEST4=1 REXX=0 SIBINDEX=1 | OUTREG=XED_REG_YMM17*/
7675 xed3_operand_set_outreg(d, XED_REG_YMM17);
7676 /*pacify the compiler */
7677 (void)d;
7678 break;
7679 case 19: /*(1, 1, 1) -> VEXDEST4=1 REXX=1 SIBINDEX=1 | OUTREG=XED_REG_YMM25*/
7680 xed3_operand_set_outreg(d, XED_REG_YMM25);
7681 /*pacify the compiler */
7682 (void)d;
7683 break;
7684 case 20: /*(0, 2, 1) -> VEXDEST4=1 REXX=0 SIBINDEX=2 | OUTREG=XED_REG_YMM18*/
7685 xed3_operand_set_outreg(d, XED_REG_YMM18);
7686 /*pacify the compiler */
7687 (void)d;
7688 break;
7689 case 21: /*(1, 2, 1) -> VEXDEST4=1 REXX=1 SIBINDEX=2 | OUTREG=XED_REG_YMM26*/
7690 xed3_operand_set_outreg(d, XED_REG_YMM26);
7691 /*pacify the compiler */
7692 (void)d;
7693 break;
7694 case 22: /*(0, 3, 1) -> VEXDEST4=1 REXX=0 SIBINDEX=3 | OUTREG=XED_REG_YMM19*/
7695 xed3_operand_set_outreg(d, XED_REG_YMM19);
7696 /*pacify the compiler */
7697 (void)d;
7698 break;
7699 case 23: /*(1, 3, 1) -> VEXDEST4=1 REXX=1 SIBINDEX=3 | OUTREG=XED_REG_YMM27*/
7700 xed3_operand_set_outreg(d, XED_REG_YMM27);
7701 /*pacify the compiler */
7702 (void)d;
7703 break;
7704 case 24: /*(0, 4, 1) -> VEXDEST4=1 REXX=0 SIBINDEX=4 | OUTREG=XED_REG_YMM20*/
7705 xed3_operand_set_outreg(d, XED_REG_YMM20);
7706 /*pacify the compiler */
7707 (void)d;
7708 break;
7709 case 25: /*(1, 4, 1) -> VEXDEST4=1 REXX=1 SIBINDEX=4 | OUTREG=XED_REG_YMM28*/
7710 xed3_operand_set_outreg(d, XED_REG_YMM28);
7711 /*pacify the compiler */
7712 (void)d;
7713 break;
7714 case 26: /*(0, 5, 1) -> VEXDEST4=1 REXX=0 SIBINDEX=5 | OUTREG=XED_REG_YMM21*/
7715 xed3_operand_set_outreg(d, XED_REG_YMM21);
7716 /*pacify the compiler */
7717 (void)d;
7718 break;
7719 case 27: /*(1, 5, 1) -> VEXDEST4=1 REXX=1 SIBINDEX=5 | OUTREG=XED_REG_YMM29*/
7720 xed3_operand_set_outreg(d, XED_REG_YMM29);
7721 /*pacify the compiler */
7722 (void)d;
7723 break;
7724 case 28: /*(0, 6, 1) -> VEXDEST4=1 REXX=0 SIBINDEX=6 | OUTREG=XED_REG_YMM22*/
7725 xed3_operand_set_outreg(d, XED_REG_YMM22);
7726 /*pacify the compiler */
7727 (void)d;
7728 break;
7729 case 29: /*(1, 6, 1) -> VEXDEST4=1 REXX=1 SIBINDEX=6 | OUTREG=XED_REG_YMM30*/
7730 xed3_operand_set_outreg(d, XED_REG_YMM30);
7731 /*pacify the compiler */
7732 (void)d;
7733 break;
7734 case 30: /*(0, 7, 1) -> VEXDEST4=1 REXX=0 SIBINDEX=7 | OUTREG=XED_REG_YMM23*/
7735 xed3_operand_set_outreg(d, XED_REG_YMM23);
7736 /*pacify the compiler */
7737 (void)d;
7738 break;
7739 case 31: /*(1, 7, 1) -> VEXDEST4=1 REXX=1 SIBINDEX=7 | OUTREG=XED_REG_YMM31*/
7740 xed3_operand_set_outreg(d, XED_REG_YMM31);
7741 /*pacify the compiler */
7742 (void)d;
7743 break;
7744 default:
7745 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
7746 break;
7747 }
7748 }
xed3_capture_nt_VMODRM_YMM(xed_decoded_inst_t * d)7749 static XED_INLINE void xed3_capture_nt_VMODRM_YMM(xed_decoded_inst_t* d)
7750 {
7751 xed_uint32_t key = 0;
7752 key += (xed3_operand_get_mod(d)) << ((0));
7753 /* now switch code..*/
7754 switch(key) {
7755 case 0: /*(0,) -> MOD=0b00 VSIB_YMM() |*/
7756 xed3_capture_nt_VSIB_YMM(d);
7757 /*pacify the compiler */
7758 (void)d;
7759 break;
7760 case 1: /*(1,) -> MOD=0b01 VSIB_YMM() MEMDISP8() |*/
7761 xed3_capture_nt_VSIB_YMM(d);
7762 xed3_capture_nt_MEMDISP8(d);
7763 /*pacify the compiler */
7764 (void)d;
7765 break;
7766 case 2: /*(2,) -> MOD=0b10 VSIB_YMM() MEMDISP32() |*/
7767 xed3_capture_nt_VSIB_YMM(d);
7768 xed3_capture_nt_MEMDISP32(d);
7769 /*pacify the compiler */
7770 (void)d;
7771 break;
7772 default:
7773 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
7774 break;
7775 }
7776 }
xed3_capture_nt_GPR64_B(xed_decoded_inst_t * d)7777 static XED_INLINE void xed3_capture_nt_GPR64_B(xed_decoded_inst_t* d)
7778 {
7779 xed_uint32_t key = 0;
7780 key += (xed3_operand_get_rexb(d)) << ((0));
7781 key += (xed3_operand_get_rm(d)) << ((1));
7782 /* now switch code..*/
7783 switch(key) {
7784 case 0: /*(0, 0) -> REXB=0 RM=0x0 | OUTREG=XED_REG_RAX*/
7785 xed3_operand_set_outreg(d, XED_REG_RAX);
7786 /*pacify the compiler */
7787 (void)d;
7788 break;
7789 case 1: /*(1, 0) -> REXB=1 RM=0x0 | OUTREG=XED_REG_R8*/
7790 xed3_operand_set_outreg(d, XED_REG_R8);
7791 /*pacify the compiler */
7792 (void)d;
7793 break;
7794 case 2: /*(0, 1) -> REXB=0 RM=0x1 | OUTREG=XED_REG_RCX*/
7795 xed3_operand_set_outreg(d, XED_REG_RCX);
7796 /*pacify the compiler */
7797 (void)d;
7798 break;
7799 case 3: /*(1, 1) -> REXB=1 RM=0x1 | OUTREG=XED_REG_R9*/
7800 xed3_operand_set_outreg(d, XED_REG_R9);
7801 /*pacify the compiler */
7802 (void)d;
7803 break;
7804 case 4: /*(0, 2) -> REXB=0 RM=0x2 | OUTREG=XED_REG_RDX*/
7805 xed3_operand_set_outreg(d, XED_REG_RDX);
7806 /*pacify the compiler */
7807 (void)d;
7808 break;
7809 case 5: /*(1, 2) -> REXB=1 RM=0x2 | OUTREG=XED_REG_R10*/
7810 xed3_operand_set_outreg(d, XED_REG_R10);
7811 /*pacify the compiler */
7812 (void)d;
7813 break;
7814 case 6: /*(0, 3) -> REXB=0 RM=0x3 | OUTREG=XED_REG_RBX*/
7815 xed3_operand_set_outreg(d, XED_REG_RBX);
7816 /*pacify the compiler */
7817 (void)d;
7818 break;
7819 case 7: /*(1, 3) -> REXB=1 RM=0x3 | OUTREG=XED_REG_R11*/
7820 xed3_operand_set_outreg(d, XED_REG_R11);
7821 /*pacify the compiler */
7822 (void)d;
7823 break;
7824 case 8: /*(0, 4) -> REXB=0 RM=0x4 | OUTREG=XED_REG_RSP*/
7825 xed3_operand_set_outreg(d, XED_REG_RSP);
7826 /*pacify the compiler */
7827 (void)d;
7828 break;
7829 case 9: /*(1, 4) -> REXB=1 RM=0x4 | OUTREG=XED_REG_R12*/
7830 xed3_operand_set_outreg(d, XED_REG_R12);
7831 /*pacify the compiler */
7832 (void)d;
7833 break;
7834 case 10: /*(0, 5) -> REXB=0 RM=0x5 | OUTREG=XED_REG_RBP*/
7835 xed3_operand_set_outreg(d, XED_REG_RBP);
7836 /*pacify the compiler */
7837 (void)d;
7838 break;
7839 case 11: /*(1, 5) -> REXB=1 RM=0x5 | OUTREG=XED_REG_R13*/
7840 xed3_operand_set_outreg(d, XED_REG_R13);
7841 /*pacify the compiler */
7842 (void)d;
7843 break;
7844 case 12: /*(0, 6) -> REXB=0 RM=0x6 | OUTREG=XED_REG_RSI*/
7845 xed3_operand_set_outreg(d, XED_REG_RSI);
7846 /*pacify the compiler */
7847 (void)d;
7848 break;
7849 case 13: /*(1, 6) -> REXB=1 RM=0x6 | OUTREG=XED_REG_R14*/
7850 xed3_operand_set_outreg(d, XED_REG_R14);
7851 /*pacify the compiler */
7852 (void)d;
7853 break;
7854 case 14: /*(0, 7) -> REXB=0 RM=0x7 | OUTREG=XED_REG_RDI*/
7855 xed3_operand_set_outreg(d, XED_REG_RDI);
7856 /*pacify the compiler */
7857 (void)d;
7858 break;
7859 case 15: /*(1, 7) -> REXB=1 RM=0x7 | OUTREG=XED_REG_R15*/
7860 xed3_operand_set_outreg(d, XED_REG_R15);
7861 /*pacify the compiler */
7862 (void)d;
7863 break;
7864 default:
7865 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
7866 break;
7867 }
7868 }
xed3_capture_nt_NELEM_EIGHTHMEM(xed_decoded_inst_t * d)7869 static XED_INLINE void xed3_capture_nt_NELEM_EIGHTHMEM(xed_decoded_inst_t* d)
7870 {
7871 xed_uint32_t key = 0;
7872 key += (xed3_operand_get_element_size(d)) << ((0));
7873 key += (xed3_operand_get_vl(d)) << ((9));
7874 /* now switch code..*/
7875 switch(key) {
7876 case 1: /*(1, 0) -> ELEMENT_SIZE=1 VL128 | NELEM=16*/
7877 xed3_operand_set_nelem(d, 0x10);
7878 /*pacify the compiler */
7879 (void)d;
7880 break;
7881 case 2: /*(2, 0) -> ELEMENT_SIZE=2 VL128 | NELEM=8*/
7882 xed3_operand_set_nelem(d, 0x8);
7883 /*pacify the compiler */
7884 (void)d;
7885 break;
7886 case 4: /*(4, 0) -> ELEMENT_SIZE=4 VL128 | NELEM=4*/
7887 xed3_operand_set_nelem(d, 0x4);
7888 /*pacify the compiler */
7889 (void)d;
7890 break;
7891 case 8: /*(8, 0) -> ELEMENT_SIZE=8 VL128 | NELEM=2*/
7892 xed3_operand_set_nelem(d, 0x2);
7893 /*pacify the compiler */
7894 (void)d;
7895 break;
7896 case 16: /*(16, 0) -> ELEMENT_SIZE=16 VL128 | NELEM=1*/
7897 xed3_operand_set_nelem(d, 0x1);
7898 /*pacify the compiler */
7899 (void)d;
7900 break;
7901 case 32: /*(32, 0) -> ELEMENT_SIZE=32 VL128 | error*/
7902 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
7903 break;
7904 case 64: /*(64, 0) -> ELEMENT_SIZE=64 VL128 | error*/
7905 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
7906 break;
7907 case 128: /*(128, 0) -> ELEMENT_SIZE=128 VL128 | error*/
7908 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
7909 break;
7910 case 256: /*(256, 0) -> ELEMENT_SIZE=256 VL128 | error*/
7911 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
7912 break;
7913 case 512: /*(512, 0) -> ELEMENT_SIZE=512 VL128 | error*/
7914 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
7915 break;
7916 case 513: /*(1, 1) -> ELEMENT_SIZE=1 VL256 | NELEM=32*/
7917 xed3_operand_set_nelem(d, 0x20);
7918 /*pacify the compiler */
7919 (void)d;
7920 break;
7921 case 514: /*(2, 1) -> ELEMENT_SIZE=2 VL256 | NELEM=16*/
7922 xed3_operand_set_nelem(d, 0x10);
7923 /*pacify the compiler */
7924 (void)d;
7925 break;
7926 case 516: /*(4, 1) -> ELEMENT_SIZE=4 VL256 | NELEM=8*/
7927 xed3_operand_set_nelem(d, 0x8);
7928 /*pacify the compiler */
7929 (void)d;
7930 break;
7931 case 520: /*(8, 1) -> ELEMENT_SIZE=8 VL256 | NELEM=4*/
7932 xed3_operand_set_nelem(d, 0x4);
7933 /*pacify the compiler */
7934 (void)d;
7935 break;
7936 case 528: /*(16, 1) -> ELEMENT_SIZE=16 VL256 | NELEM=2*/
7937 xed3_operand_set_nelem(d, 0x2);
7938 /*pacify the compiler */
7939 (void)d;
7940 break;
7941 case 544: /*(32, 1) -> ELEMENT_SIZE=32 VL256 | NELEM=1*/
7942 xed3_operand_set_nelem(d, 0x1);
7943 /*pacify the compiler */
7944 (void)d;
7945 break;
7946 case 576: /*(64, 1) -> ELEMENT_SIZE=64 VL256 | error*/
7947 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
7948 break;
7949 case 640: /*(128, 1) -> ELEMENT_SIZE=128 VL256 | error*/
7950 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
7951 break;
7952 case 768: /*(256, 1) -> ELEMENT_SIZE=256 VL256 | error*/
7953 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
7954 break;
7955 case 1024: /*(512, 1) -> ELEMENT_SIZE=512 VL256 | error*/
7956 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
7957 break;
7958 case 1025: /*(1, 2) -> ELEMENT_SIZE=1 VL512 | NELEM=64*/
7959 xed3_operand_set_nelem(d, 0x40);
7960 /*pacify the compiler */
7961 (void)d;
7962 break;
7963 case 1026: /*(2, 2) -> ELEMENT_SIZE=2 VL512 | NELEM=32*/
7964 xed3_operand_set_nelem(d, 0x20);
7965 /*pacify the compiler */
7966 (void)d;
7967 break;
7968 case 1028: /*(4, 2) -> ELEMENT_SIZE=4 VL512 | NELEM=16*/
7969 xed3_operand_set_nelem(d, 0x10);
7970 /*pacify the compiler */
7971 (void)d;
7972 break;
7973 case 1032: /*(8, 2) -> ELEMENT_SIZE=8 VL512 | NELEM=8*/
7974 xed3_operand_set_nelem(d, 0x8);
7975 /*pacify the compiler */
7976 (void)d;
7977 break;
7978 case 1040: /*(16, 2) -> ELEMENT_SIZE=16 VL512 | NELEM=4*/
7979 xed3_operand_set_nelem(d, 0x4);
7980 /*pacify the compiler */
7981 (void)d;
7982 break;
7983 case 1056: /*(32, 2) -> ELEMENT_SIZE=32 VL512 | NELEM=2*/
7984 xed3_operand_set_nelem(d, 0x2);
7985 /*pacify the compiler */
7986 (void)d;
7987 break;
7988 case 1088: /*(64, 2) -> ELEMENT_SIZE=64 VL512 | NELEM=1*/
7989 xed3_operand_set_nelem(d, 0x1);
7990 /*pacify the compiler */
7991 (void)d;
7992 break;
7993 case 1152: /*(128, 2) -> ELEMENT_SIZE=128 VL512 | error*/
7994 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
7995 break;
7996 case 1280: /*(256, 2) -> ELEMENT_SIZE=256 VL512 | error*/
7997 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
7998 break;
7999 case 1536: /*(512, 2) -> ELEMENT_SIZE=512 VL512 | error*/
8000 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
8001 break;
8002 default:
8003 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
8004 break;
8005 }
8006 }
xed3_capture_nt_ESIZE_64_BITS(xed_decoded_inst_t * d)8007 static XED_INLINE void xed3_capture_nt_ESIZE_64_BITS(xed_decoded_inst_t* d)
8008 {
8009 xed_uint32_t key = 0;
8010 key += (xed3_operand_get_rex(d)) << ((0));
8011 /* now switch code..*/
8012 switch(key) {
8013 case 0: /*(0,) -> REX=0 | ELEMENT_SIZE=64*/
8014 xed3_operand_set_element_size(d, 0x40);
8015 /*pacify the compiler */
8016 (void)d;
8017 break;
8018 default:
8019 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
8020 break;
8021 }
8022 }
xed3_capture_nt_GPR64_X(xed_decoded_inst_t * d)8023 static XED_INLINE void xed3_capture_nt_GPR64_X(xed_decoded_inst_t* d)
8024 {
8025 xed_uint32_t key = 0;
8026 key += (xed3_operand_get_rexx(d)) << ((0));
8027 key += (xed3_operand_get_sibindex(d)) << ((1));
8028 /* now switch code..*/
8029 switch(key) {
8030 case 0: /*(0, 0) -> REXX=0 SIBINDEX=0x0 | OUTREG=XED_REG_RAX*/
8031 xed3_operand_set_outreg(d, XED_REG_RAX);
8032 /*pacify the compiler */
8033 (void)d;
8034 break;
8035 case 1: /*(1, 0) -> REXX=1 SIBINDEX=0x0 | OUTREG=XED_REG_R8*/
8036 xed3_operand_set_outreg(d, XED_REG_R8);
8037 /*pacify the compiler */
8038 (void)d;
8039 break;
8040 case 2: /*(0, 1) -> REXX=0 SIBINDEX=0x1 | OUTREG=XED_REG_RCX*/
8041 xed3_operand_set_outreg(d, XED_REG_RCX);
8042 /*pacify the compiler */
8043 (void)d;
8044 break;
8045 case 3: /*(1, 1) -> REXX=1 SIBINDEX=0x1 | OUTREG=XED_REG_R9*/
8046 xed3_operand_set_outreg(d, XED_REG_R9);
8047 /*pacify the compiler */
8048 (void)d;
8049 break;
8050 case 4: /*(0, 2) -> REXX=0 SIBINDEX=0x2 | OUTREG=XED_REG_RDX*/
8051 xed3_operand_set_outreg(d, XED_REG_RDX);
8052 /*pacify the compiler */
8053 (void)d;
8054 break;
8055 case 5: /*(1, 2) -> REXX=1 SIBINDEX=0x2 | OUTREG=XED_REG_R10*/
8056 xed3_operand_set_outreg(d, XED_REG_R10);
8057 /*pacify the compiler */
8058 (void)d;
8059 break;
8060 case 6: /*(0, 3) -> REXX=0 SIBINDEX=0x3 | OUTREG=XED_REG_RBX*/
8061 xed3_operand_set_outreg(d, XED_REG_RBX);
8062 /*pacify the compiler */
8063 (void)d;
8064 break;
8065 case 7: /*(1, 3) -> REXX=1 SIBINDEX=0x3 | OUTREG=XED_REG_R11*/
8066 xed3_operand_set_outreg(d, XED_REG_R11);
8067 /*pacify the compiler */
8068 (void)d;
8069 break;
8070 case 8: /*(0, 4) -> REXX=0 SIBINDEX=0x4 | OUTREG=XED_REG_INVALID*/
8071 xed3_operand_set_outreg(d, XED_REG_INVALID);
8072 /*pacify the compiler */
8073 (void)d;
8074 break;
8075 case 9: /*(1, 4) -> REXX=1 SIBINDEX=0x4 | OUTREG=XED_REG_R12*/
8076 xed3_operand_set_outreg(d, XED_REG_R12);
8077 /*pacify the compiler */
8078 (void)d;
8079 break;
8080 case 10: /*(0, 5) -> REXX=0 SIBINDEX=0x5 | OUTREG=XED_REG_RBP*/
8081 xed3_operand_set_outreg(d, XED_REG_RBP);
8082 /*pacify the compiler */
8083 (void)d;
8084 break;
8085 case 11: /*(1, 5) -> REXX=1 SIBINDEX=0x5 | OUTREG=XED_REG_R13*/
8086 xed3_operand_set_outreg(d, XED_REG_R13);
8087 /*pacify the compiler */
8088 (void)d;
8089 break;
8090 case 12: /*(0, 6) -> REXX=0 SIBINDEX=0x6 | OUTREG=XED_REG_RSI*/
8091 xed3_operand_set_outreg(d, XED_REG_RSI);
8092 /*pacify the compiler */
8093 (void)d;
8094 break;
8095 case 13: /*(1, 6) -> REXX=1 SIBINDEX=0x6 | OUTREG=XED_REG_R14*/
8096 xed3_operand_set_outreg(d, XED_REG_R14);
8097 /*pacify the compiler */
8098 (void)d;
8099 break;
8100 case 14: /*(0, 7) -> REXX=0 SIBINDEX=0x7 | OUTREG=XED_REG_RDI*/
8101 xed3_operand_set_outreg(d, XED_REG_RDI);
8102 /*pacify the compiler */
8103 (void)d;
8104 break;
8105 case 15: /*(1, 7) -> REXX=1 SIBINDEX=0x7 | OUTREG=XED_REG_R15*/
8106 xed3_operand_set_outreg(d, XED_REG_R15);
8107 /*pacify the compiler */
8108 (void)d;
8109 break;
8110 default:
8111 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
8112 break;
8113 }
8114 }
xed3_capture_nt_ASZ_NONTERM(xed_decoded_inst_t * d)8115 static XED_INLINE void xed3_capture_nt_ASZ_NONTERM(xed_decoded_inst_t* d)
8116 {
8117 xed_uint32_t key = 0;
8118 key += (xed3_operand_get_asz(d)) << ((0));
8119 key += (xed3_operand_get_mode(d)) << ((1));
8120 /* now switch code..*/
8121 switch(key) {
8122 case 0: /*(0, 0) -> mode16 no67_prefix | eamode16*/
8123 xed3_operand_set_easz(d, 0x1);
8124 /*pacify the compiler */
8125 (void)d;
8126 break;
8127 case 1: /*(1, 0) -> mode16 67_prefix | eamode32*/
8128 xed3_operand_set_easz(d, 0x2);
8129 /*pacify the compiler */
8130 (void)d;
8131 break;
8132 case 2: /*(0, 1) -> mode32 no67_prefix | eamode32*/
8133 xed3_operand_set_easz(d, 0x2);
8134 /*pacify the compiler */
8135 (void)d;
8136 break;
8137 case 3: /*(1, 1) -> mode32 67_prefix | eamode16*/
8138 xed3_operand_set_easz(d, 0x1);
8139 /*pacify the compiler */
8140 (void)d;
8141 break;
8142 case 4: /*(0, 2) -> mode64 no67_prefix | eamode64*/
8143 xed3_operand_set_easz(d, 0x3);
8144 /*pacify the compiler */
8145 (void)d;
8146 break;
8147 case 5: /*(1, 2) -> mode64 67_prefix | eamode32*/
8148 xed3_operand_set_easz(d, 0x2);
8149 /*pacify the compiler */
8150 (void)d;
8151 break;
8152 default:
8153 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
8154 break;
8155 }
8156 }
xed3_capture_nt_MEMDISP(xed_decoded_inst_t * d)8157 static XED_INLINE void xed3_capture_nt_MEMDISP(xed_decoded_inst_t* d)
8158 {
8159 xed_uint32_t key = 0;
8160 key += (xed3_operand_get_need_memdisp(d)) << ((0));
8161 /* now switch code..*/
8162 switch(key) {
8163 case 0: /*(0,) -> NEED_MEMDISP=0 | DISP_WIDTH=0*/
8164 xed3_operand_set_disp_width(d, 0x0);
8165 /*pacify the compiler */
8166 (void)d;
8167 break;
8168 case 8: /*(8,) -> NEED_MEMDISP=8 DISP[aaaaaaaa] | DISP_WIDTH=8*/
8169 xed3_operand_set_disp_width(d, 0x8);
8170 /*pacify the compiler */
8171 (void)d;
8172 break;
8173 case 16: /*(16,) -> NEED_MEMDISP=16 DISP[aaaaaaaaaaaaaaaa] | DISP_WIDTH=16*/
8174 xed3_operand_set_disp_width(d, 0x10);
8175 /*pacify the compiler */
8176 (void)d;
8177 break;
8178 case 32: /*(32,) -> NEED_MEMDISP=32 DISP[aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa] | DISP_WIDTH=32*/
8179 xed3_operand_set_disp_width(d, 0x20);
8180 /*pacify the compiler */
8181 (void)d;
8182 break;
8183 default:
8184 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
8185 break;
8186 }
8187 }
xed3_capture_nt_NELEM_GSCAT(xed_decoded_inst_t * d)8188 static XED_INLINE void xed3_capture_nt_NELEM_GSCAT(xed_decoded_inst_t* d)
8189 {
8190 xed_uint32_t key = 0;
8191 key += (xed3_operand_get_vl(d)) << ((0));
8192 /* now switch code..*/
8193 switch(key) {
8194 case 0: /*(0,) -> VL128 | NELEM=1*/
8195 xed3_operand_set_nelem(d, 0x1);
8196 /*pacify the compiler */
8197 (void)d;
8198 break;
8199 case 1: /*(1,) -> VL256 | NELEM=1*/
8200 xed3_operand_set_nelem(d, 0x1);
8201 /*pacify the compiler */
8202 (void)d;
8203 break;
8204 case 2: /*(2,) -> VL512 | NELEM=1*/
8205 xed3_operand_set_nelem(d, 0x1);
8206 /*pacify the compiler */
8207 (void)d;
8208 break;
8209 default:
8210 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
8211 break;
8212 }
8213 }
xed3_capture_nt_DR_R(xed_decoded_inst_t * d)8214 static XED_INLINE void xed3_capture_nt_DR_R(xed_decoded_inst_t* d)
8215 {
8216 xed_uint32_t key = 0;
8217 key += (xed3_operand_get_reg(d)) << ((0));
8218 key += (xed3_operand_get_rexr(d)) << ((3));
8219 /* now switch code..*/
8220 switch(key) {
8221 case 0: /*(0, 0) -> REXR=0 REG=0x0 | OUTREG=XED_REG_DR0*/
8222 xed3_operand_set_outreg(d, XED_REG_DR0);
8223 /*pacify the compiler */
8224 (void)d;
8225 break;
8226 case 1: /*(1, 0) -> REXR=0 REG=0x1 | OUTREG=XED_REG_DR1*/
8227 xed3_operand_set_outreg(d, XED_REG_DR1);
8228 /*pacify the compiler */
8229 (void)d;
8230 break;
8231 case 2: /*(2, 0) -> REXR=0 REG=0x2 | OUTREG=XED_REG_DR2*/
8232 xed3_operand_set_outreg(d, XED_REG_DR2);
8233 /*pacify the compiler */
8234 (void)d;
8235 break;
8236 case 3: /*(3, 0) -> REXR=0 REG=0x3 | OUTREG=XED_REG_DR3*/
8237 xed3_operand_set_outreg(d, XED_REG_DR3);
8238 /*pacify the compiler */
8239 (void)d;
8240 break;
8241 case 4: /*(4, 0) -> REXR=0 REG=0x4 | OUTREG=XED_REG_DR4*/
8242 xed3_operand_set_outreg(d, XED_REG_DR4);
8243 /*pacify the compiler */
8244 (void)d;
8245 break;
8246 case 5: /*(5, 0) -> REXR=0 REG=0x5 | OUTREG=XED_REG_DR5*/
8247 xed3_operand_set_outreg(d, XED_REG_DR5);
8248 /*pacify the compiler */
8249 (void)d;
8250 break;
8251 case 6: /*(6, 0) -> REXR=0 REG=0x6 | OUTREG=XED_REG_DR6*/
8252 xed3_operand_set_outreg(d, XED_REG_DR6);
8253 /*pacify the compiler */
8254 (void)d;
8255 break;
8256 case 7: /*(7, 0) -> REXR=0 REG=0x7 | OUTREG=XED_REG_DR7*/
8257 xed3_operand_set_outreg(d, XED_REG_DR7);
8258 /*pacify the compiler */
8259 (void)d;
8260 break;
8261 case 8: /*(0, 1) -> REXR=1 REG=0x0 | OUTREG=XED_REG_ERROR enc*/
8262 xed3_operand_set_outreg(d, XED_REG_ERROR);
8263 xed3_operand_set_error(d, XED_ERROR_BAD_REGISTER);
8264 /*pacify the compiler */
8265 (void)d;
8266 break;
8267 case 9: /*(1, 1) -> REXR=1 REG=0x1 | OUTREG=XED_REG_ERROR*/
8268 xed3_operand_set_outreg(d, XED_REG_ERROR);
8269 xed3_operand_set_error(d, XED_ERROR_BAD_REGISTER);
8270 /*pacify the compiler */
8271 (void)d;
8272 break;
8273 case 10: /*(2, 1) -> REXR=1 REG=0x2 | OUTREG=XED_REG_ERROR*/
8274 xed3_operand_set_outreg(d, XED_REG_ERROR);
8275 xed3_operand_set_error(d, XED_ERROR_BAD_REGISTER);
8276 /*pacify the compiler */
8277 (void)d;
8278 break;
8279 case 11: /*(3, 1) -> REXR=1 REG=0x3 | OUTREG=XED_REG_ERROR*/
8280 xed3_operand_set_outreg(d, XED_REG_ERROR);
8281 xed3_operand_set_error(d, XED_ERROR_BAD_REGISTER);
8282 /*pacify the compiler */
8283 (void)d;
8284 break;
8285 case 12: /*(4, 1) -> REXR=1 REG=0x4 | OUTREG=XED_REG_ERROR*/
8286 xed3_operand_set_outreg(d, XED_REG_ERROR);
8287 xed3_operand_set_error(d, XED_ERROR_BAD_REGISTER);
8288 /*pacify the compiler */
8289 (void)d;
8290 break;
8291 case 13: /*(5, 1) -> REXR=1 REG=0x5 | OUTREG=XED_REG_ERROR*/
8292 xed3_operand_set_outreg(d, XED_REG_ERROR);
8293 xed3_operand_set_error(d, XED_ERROR_BAD_REGISTER);
8294 /*pacify the compiler */
8295 (void)d;
8296 break;
8297 case 14: /*(6, 1) -> REXR=1 REG=0x6 | OUTREG=XED_REG_ERROR*/
8298 xed3_operand_set_outreg(d, XED_REG_ERROR);
8299 xed3_operand_set_error(d, XED_ERROR_BAD_REGISTER);
8300 /*pacify the compiler */
8301 (void)d;
8302 break;
8303 case 15: /*(7, 1) -> REXR=1 REG=0x7 | OUTREG=XED_REG_ERROR*/
8304 xed3_operand_set_outreg(d, XED_REG_ERROR);
8305 xed3_operand_set_error(d, XED_ERROR_BAD_REGISTER);
8306 /*pacify the compiler */
8307 (void)d;
8308 break;
8309 default:
8310 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
8311 break;
8312 }
8313 }
xed3_capture_nt_GPR64_R(xed_decoded_inst_t * d)8314 static XED_INLINE void xed3_capture_nt_GPR64_R(xed_decoded_inst_t* d)
8315 {
8316 xed_uint32_t key = 0;
8317 key += (xed3_operand_get_reg(d)) << ((0));
8318 key += (xed3_operand_get_rexr(d)) << ((3));
8319 /* now switch code..*/
8320 switch(key) {
8321 case 0: /*(0, 0) -> REXR=0 REG=0x0 | OUTREG=XED_REG_RAX*/
8322 xed3_operand_set_outreg(d, XED_REG_RAX);
8323 /*pacify the compiler */
8324 (void)d;
8325 break;
8326 case 1: /*(1, 0) -> REXR=0 REG=0x1 | OUTREG=XED_REG_RCX*/
8327 xed3_operand_set_outreg(d, XED_REG_RCX);
8328 /*pacify the compiler */
8329 (void)d;
8330 break;
8331 case 2: /*(2, 0) -> REXR=0 REG=0x2 | OUTREG=XED_REG_RDX*/
8332 xed3_operand_set_outreg(d, XED_REG_RDX);
8333 /*pacify the compiler */
8334 (void)d;
8335 break;
8336 case 3: /*(3, 0) -> REXR=0 REG=0x3 | OUTREG=XED_REG_RBX*/
8337 xed3_operand_set_outreg(d, XED_REG_RBX);
8338 /*pacify the compiler */
8339 (void)d;
8340 break;
8341 case 4: /*(4, 0) -> REXR=0 REG=0x4 | OUTREG=XED_REG_RSP*/
8342 xed3_operand_set_outreg(d, XED_REG_RSP);
8343 /*pacify the compiler */
8344 (void)d;
8345 break;
8346 case 5: /*(5, 0) -> REXR=0 REG=0x5 | OUTREG=XED_REG_RBP*/
8347 xed3_operand_set_outreg(d, XED_REG_RBP);
8348 /*pacify the compiler */
8349 (void)d;
8350 break;
8351 case 6: /*(6, 0) -> REXR=0 REG=0x6 | OUTREG=XED_REG_RSI*/
8352 xed3_operand_set_outreg(d, XED_REG_RSI);
8353 /*pacify the compiler */
8354 (void)d;
8355 break;
8356 case 7: /*(7, 0) -> REXR=0 REG=0x7 | OUTREG=XED_REG_RDI*/
8357 xed3_operand_set_outreg(d, XED_REG_RDI);
8358 /*pacify the compiler */
8359 (void)d;
8360 break;
8361 case 8: /*(0, 1) -> REXR=1 REG=0x0 | OUTREG=XED_REG_R8*/
8362 xed3_operand_set_outreg(d, XED_REG_R8);
8363 /*pacify the compiler */
8364 (void)d;
8365 break;
8366 case 9: /*(1, 1) -> REXR=1 REG=0x1 | OUTREG=XED_REG_R9*/
8367 xed3_operand_set_outreg(d, XED_REG_R9);
8368 /*pacify the compiler */
8369 (void)d;
8370 break;
8371 case 10: /*(2, 1) -> REXR=1 REG=0x2 | OUTREG=XED_REG_R10*/
8372 xed3_operand_set_outreg(d, XED_REG_R10);
8373 /*pacify the compiler */
8374 (void)d;
8375 break;
8376 case 11: /*(3, 1) -> REXR=1 REG=0x3 | OUTREG=XED_REG_R11*/
8377 xed3_operand_set_outreg(d, XED_REG_R11);
8378 /*pacify the compiler */
8379 (void)d;
8380 break;
8381 case 12: /*(4, 1) -> REXR=1 REG=0x4 | OUTREG=XED_REG_R12*/
8382 xed3_operand_set_outreg(d, XED_REG_R12);
8383 /*pacify the compiler */
8384 (void)d;
8385 break;
8386 case 13: /*(5, 1) -> REXR=1 REG=0x5 | OUTREG=XED_REG_R13*/
8387 xed3_operand_set_outreg(d, XED_REG_R13);
8388 /*pacify the compiler */
8389 (void)d;
8390 break;
8391 case 14: /*(6, 1) -> REXR=1 REG=0x6 | OUTREG=XED_REG_R14*/
8392 xed3_operand_set_outreg(d, XED_REG_R14);
8393 /*pacify the compiler */
8394 (void)d;
8395 break;
8396 case 15: /*(7, 1) -> REXR=1 REG=0x7 | OUTREG=XED_REG_R15*/
8397 xed3_operand_set_outreg(d, XED_REG_R15);
8398 /*pacify the compiler */
8399 (void)d;
8400 break;
8401 default:
8402 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
8403 break;
8404 }
8405 }
xed3_capture_nt_REMOVE_SEGMENT(xed_decoded_inst_t * d)8406 static XED_INLINE void xed3_capture_nt_REMOVE_SEGMENT(xed_decoded_inst_t* d)
8407 {
8408 xed_uint32_t key = 0;
8409 key += (xed3_operand_get_mode(d)) << ((0));
8410 /* now switch code..*/
8411 switch(key) {
8412 case 0: /*(0,) -> mode16 | SEG0=XED_REG_INVALID*/
8413 xed3_operand_set_seg0(d, XED_REG_INVALID);
8414 /*pacify the compiler */
8415 (void)d;
8416 break;
8417 case 1: /*(1,) -> mode32 | SEG0=XED_REG_INVALID*/
8418 xed3_operand_set_seg0(d, XED_REG_INVALID);
8419 /*pacify the compiler */
8420 (void)d;
8421 break;
8422 case 2: /*(2,) -> mode64 | SEG0=XED_REG_INVALID*/
8423 xed3_operand_set_seg0(d, XED_REG_INVALID);
8424 /*pacify the compiler */
8425 (void)d;
8426 break;
8427 default:
8428 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
8429 break;
8430 }
8431 }
xed3_capture_nt_rFLAGS(xed_decoded_inst_t * d)8432 static XED_INLINE void xed3_capture_nt_rFLAGS(xed_decoded_inst_t* d)
8433 {
8434 xed_uint32_t key = 0;
8435 key += (xed3_operand_get_mode(d)) << ((0));
8436 /* now switch code..*/
8437 switch(key) {
8438 case 0: /*(0,) -> mode16 | OUTREG=XED_REG_FLAGS*/
8439 xed3_operand_set_outreg(d, XED_REG_FLAGS);
8440 /*pacify the compiler */
8441 (void)d;
8442 break;
8443 case 1: /*(1,) -> mode32 | OUTREG=XED_REG_EFLAGS*/
8444 xed3_operand_set_outreg(d, XED_REG_EFLAGS);
8445 /*pacify the compiler */
8446 (void)d;
8447 break;
8448 case 2: /*(2,) -> mode64 | OUTREG=XED_REG_RFLAGS*/
8449 xed3_operand_set_outreg(d, XED_REG_RFLAGS);
8450 /*pacify the compiler */
8451 (void)d;
8452 break;
8453 default:
8454 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
8455 break;
8456 }
8457 }
xed3_capture_nt_VGPR32_R_32(xed_decoded_inst_t * d)8458 static XED_INLINE void xed3_capture_nt_VGPR32_R_32(xed_decoded_inst_t* d)
8459 {
8460 xed_uint32_t key = 0;
8461 key += (xed3_operand_get_reg(d)) << ((0));
8462 /* now switch code..*/
8463 switch(key) {
8464 case 0: /*(0,) -> REG=0 | OUTREG=XED_REG_EAX*/
8465 xed3_operand_set_outreg(d, XED_REG_EAX);
8466 /*pacify the compiler */
8467 (void)d;
8468 break;
8469 case 1: /*(1,) -> REG=1 | OUTREG=XED_REG_ECX*/
8470 xed3_operand_set_outreg(d, XED_REG_ECX);
8471 /*pacify the compiler */
8472 (void)d;
8473 break;
8474 case 2: /*(2,) -> REG=2 | OUTREG=XED_REG_EDX*/
8475 xed3_operand_set_outreg(d, XED_REG_EDX);
8476 /*pacify the compiler */
8477 (void)d;
8478 break;
8479 case 3: /*(3,) -> REG=3 | OUTREG=XED_REG_EBX*/
8480 xed3_operand_set_outreg(d, XED_REG_EBX);
8481 /*pacify the compiler */
8482 (void)d;
8483 break;
8484 case 4: /*(4,) -> REG=4 | OUTREG=XED_REG_ESP*/
8485 xed3_operand_set_outreg(d, XED_REG_ESP);
8486 /*pacify the compiler */
8487 (void)d;
8488 break;
8489 case 5: /*(5,) -> REG=5 | OUTREG=XED_REG_EBP*/
8490 xed3_operand_set_outreg(d, XED_REG_EBP);
8491 /*pacify the compiler */
8492 (void)d;
8493 break;
8494 case 6: /*(6,) -> REG=6 | OUTREG=XED_REG_ESI*/
8495 xed3_operand_set_outreg(d, XED_REG_ESI);
8496 /*pacify the compiler */
8497 (void)d;
8498 break;
8499 case 7: /*(7,) -> REG=7 | OUTREG=XED_REG_EDI*/
8500 xed3_operand_set_outreg(d, XED_REG_EDI);
8501 /*pacify the compiler */
8502 (void)d;
8503 break;
8504 default:
8505 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
8506 break;
8507 }
8508 }
xed3_capture_nt_FINAL_ESEG1(xed_decoded_inst_t * d)8509 static XED_INLINE void xed3_capture_nt_FINAL_ESEG1(xed_decoded_inst_t* d)
8510 {
8511 xed_uint32_t key = 0;
8512 key += (xed3_operand_get_mode(d)) << ((0));
8513 /* now switch code..*/
8514 switch(key) {
8515 case 0: /*(0,) -> mode16 | OUTREG=XED_REG_ES USING_DEFAULT_SEGMENT1=1*/
8516 xed3_operand_set_outreg(d, XED_REG_ES);
8517 xed3_operand_set_using_default_segment1(d, 0x1);
8518 /*pacify the compiler */
8519 (void)d;
8520 break;
8521 case 1: /*(1,) -> mode32 | OUTREG=XED_REG_ES USING_DEFAULT_SEGMENT1=1*/
8522 xed3_operand_set_outreg(d, XED_REG_ES);
8523 xed3_operand_set_using_default_segment1(d, 0x1);
8524 /*pacify the compiler */
8525 (void)d;
8526 break;
8527 case 2: /*(2,) -> mode64 | OUTREG=XED_REG_INVALID USING_DEFAULT_SEGMENT1=1*/
8528 xed3_operand_set_outreg(d, XED_REG_INVALID);
8529 xed3_operand_set_using_default_segment1(d, 0x1);
8530 /*pacify the compiler */
8531 (void)d;
8532 break;
8533 default:
8534 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
8535 break;
8536 }
8537 }
xed3_capture_nt_NELEM_TUPLE8(xed_decoded_inst_t * d)8538 static XED_INLINE void xed3_capture_nt_NELEM_TUPLE8(xed_decoded_inst_t* d)
8539 {
8540 xed_uint32_t key = 0;
8541 key += (xed3_operand_get_vl(d)) << ((0));
8542 /* now switch code..*/
8543 switch(key) {
8544 case 0: /*(0,) -> VL128 | NELEM=8*/
8545 xed3_operand_set_nelem(d, 0x8);
8546 /*pacify the compiler */
8547 (void)d;
8548 break;
8549 case 1: /*(1,) -> VL256 | NELEM=8*/
8550 xed3_operand_set_nelem(d, 0x8);
8551 /*pacify the compiler */
8552 (void)d;
8553 break;
8554 case 2: /*(2,) -> VL512 | NELEM=8*/
8555 xed3_operand_set_nelem(d, 0x8);
8556 /*pacify the compiler */
8557 (void)d;
8558 break;
8559 default:
8560 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
8561 break;
8562 }
8563 }
xed3_capture_nt_ESIZE_128_BITS(xed_decoded_inst_t * d)8564 static XED_INLINE void xed3_capture_nt_ESIZE_128_BITS(xed_decoded_inst_t* d)
8565 {
8566 xed_uint32_t key = 0;
8567 key += (xed3_operand_get_rex(d)) << ((0));
8568 /* now switch code..*/
8569 switch(key) {
8570 case 0: /*(0,) -> REX=0 | ELEMENT_SIZE=128*/
8571 xed3_operand_set_element_size(d, 0x80);
8572 /*pacify the compiler */
8573 (void)d;
8574 break;
8575 default:
8576 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
8577 break;
8578 }
8579 }
xed3_capture_nt_NELEM_TUPLE4(xed_decoded_inst_t * d)8580 static XED_INLINE void xed3_capture_nt_NELEM_TUPLE4(xed_decoded_inst_t* d)
8581 {
8582 xed_uint32_t key = 0;
8583 key += (xed3_operand_get_vl(d)) << ((0));
8584 /* now switch code..*/
8585 switch(key) {
8586 case 0: /*(0,) -> VL128 | NELEM=4*/
8587 xed3_operand_set_nelem(d, 0x4);
8588 /*pacify the compiler */
8589 (void)d;
8590 break;
8591 case 1: /*(1,) -> VL256 | NELEM=4*/
8592 xed3_operand_set_nelem(d, 0x4);
8593 /*pacify the compiler */
8594 (void)d;
8595 break;
8596 case 2: /*(2,) -> VL512 | NELEM=4*/
8597 xed3_operand_set_nelem(d, 0x4);
8598 /*pacify the compiler */
8599 (void)d;
8600 break;
8601 default:
8602 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
8603 break;
8604 }
8605 }
xed3_capture_nt_XMM_B3_32(xed_decoded_inst_t * d)8606 static XED_INLINE void xed3_capture_nt_XMM_B3_32(xed_decoded_inst_t* d)
8607 {
8608 xed_uint32_t key = 0;
8609 key += (xed3_operand_get_rm(d)) << ((0));
8610 /* now switch code..*/
8611 switch(key) {
8612 case 0: /*(0,) -> RM=0 | OUTREG=XED_REG_XMM0*/
8613 xed3_operand_set_outreg(d, XED_REG_XMM0);
8614 /*pacify the compiler */
8615 (void)d;
8616 break;
8617 case 1: /*(1,) -> RM=1 | OUTREG=XED_REG_XMM1*/
8618 xed3_operand_set_outreg(d, XED_REG_XMM1);
8619 /*pacify the compiler */
8620 (void)d;
8621 break;
8622 case 2: /*(2,) -> RM=2 | OUTREG=XED_REG_XMM2*/
8623 xed3_operand_set_outreg(d, XED_REG_XMM2);
8624 /*pacify the compiler */
8625 (void)d;
8626 break;
8627 case 3: /*(3,) -> RM=3 | OUTREG=XED_REG_XMM3*/
8628 xed3_operand_set_outreg(d, XED_REG_XMM3);
8629 /*pacify the compiler */
8630 (void)d;
8631 break;
8632 case 4: /*(4,) -> RM=4 | OUTREG=XED_REG_XMM4*/
8633 xed3_operand_set_outreg(d, XED_REG_XMM4);
8634 /*pacify the compiler */
8635 (void)d;
8636 break;
8637 case 5: /*(5,) -> RM=5 | OUTREG=XED_REG_XMM5*/
8638 xed3_operand_set_outreg(d, XED_REG_XMM5);
8639 /*pacify the compiler */
8640 (void)d;
8641 break;
8642 case 6: /*(6,) -> RM=6 | OUTREG=XED_REG_XMM6*/
8643 xed3_operand_set_outreg(d, XED_REG_XMM6);
8644 /*pacify the compiler */
8645 (void)d;
8646 break;
8647 case 7: /*(7,) -> RM=7 | OUTREG=XED_REG_XMM7*/
8648 xed3_operand_set_outreg(d, XED_REG_XMM7);
8649 /*pacify the compiler */
8650 (void)d;
8651 break;
8652 default:
8653 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
8654 break;
8655 }
8656 }
xed3_capture_nt_ArAX(xed_decoded_inst_t * d)8657 static XED_INLINE void xed3_capture_nt_ArAX(xed_decoded_inst_t* d)
8658 {
8659 xed_uint32_t key = 0;
8660 key += (xed3_operand_get_easz(d)) << ((0));
8661 /* now switch code..*/
8662 switch(key) {
8663 case 1: /*(1,) -> EASZ=1 | OUTREG=XED_REG_AX*/
8664 xed3_operand_set_outreg(d, XED_REG_AX);
8665 /*pacify the compiler */
8666 (void)d;
8667 break;
8668 case 2: /*(2,) -> EASZ=2 | OUTREG=XED_REG_EAX*/
8669 xed3_operand_set_outreg(d, XED_REG_EAX);
8670 /*pacify the compiler */
8671 (void)d;
8672 break;
8673 case 3: /*(3,) -> EASZ=3 | OUTREG=XED_REG_RAX*/
8674 xed3_operand_set_outreg(d, XED_REG_RAX);
8675 /*pacify the compiler */
8676 (void)d;
8677 break;
8678 default:
8679 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
8680 break;
8681 }
8682 }
xed3_capture_nt_MEMDISPv(xed_decoded_inst_t * d)8683 static XED_INLINE void xed3_capture_nt_MEMDISPv(xed_decoded_inst_t* d)
8684 {
8685 xed_uint32_t key = 0;
8686 key += (xed3_operand_get_easz(d)) << ((0));
8687 /* now switch code..*/
8688 switch(key) {
8689 case 1: /*(1,) -> EASZ=1 DISP[aaaaaaaaaaaaaaaa] | DISP_WIDTH=16*/
8690 xed3_operand_set_disp_width(d, 0x10);
8691 /*pacify the compiler */
8692 (void)d;
8693 break;
8694 case 2: /*(2,) -> EASZ=2 DISP[aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa] | DISP_WIDTH=32*/
8695 xed3_operand_set_disp_width(d, 0x20);
8696 /*pacify the compiler */
8697 (void)d;
8698 break;
8699 case 3: /*(3,) -> EASZ=3 DISP[aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa] | DISP_WIDTH=64*/
8700 xed3_operand_set_disp_width(d, 0x40);
8701 /*pacify the compiler */
8702 (void)d;
8703 break;
8704 default:
8705 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
8706 break;
8707 }
8708 }
xed3_capture_nt_NELEM_TUPLE1(xed_decoded_inst_t * d)8709 static XED_INLINE void xed3_capture_nt_NELEM_TUPLE1(xed_decoded_inst_t* d)
8710 {
8711 xed_uint32_t key = 0;
8712 key += (xed3_operand_get_vl(d)) << ((0));
8713 /* now switch code..*/
8714 switch(key) {
8715 case 0: /*(0,) -> VL128 | NELEM=1*/
8716 xed3_operand_set_nelem(d, 0x1);
8717 /*pacify the compiler */
8718 (void)d;
8719 break;
8720 case 1: /*(1,) -> VL256 | NELEM=1*/
8721 xed3_operand_set_nelem(d, 0x1);
8722 /*pacify the compiler */
8723 (void)d;
8724 break;
8725 case 2: /*(2,) -> VL512 | NELEM=1*/
8726 xed3_operand_set_nelem(d, 0x1);
8727 /*pacify the compiler */
8728 (void)d;
8729 break;
8730 default:
8731 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
8732 break;
8733 }
8734 }
xed3_capture_nt_NELEM_TUPLE2(xed_decoded_inst_t * d)8735 static XED_INLINE void xed3_capture_nt_NELEM_TUPLE2(xed_decoded_inst_t* d)
8736 {
8737 xed_uint32_t key = 0;
8738 key += (xed3_operand_get_vl(d)) << ((0));
8739 /* now switch code..*/
8740 switch(key) {
8741 case 0: /*(0,) -> VL128 | NELEM=2*/
8742 xed3_operand_set_nelem(d, 0x2);
8743 /*pacify the compiler */
8744 (void)d;
8745 break;
8746 case 1: /*(1,) -> VL256 | NELEM=2*/
8747 xed3_operand_set_nelem(d, 0x2);
8748 /*pacify the compiler */
8749 (void)d;
8750 break;
8751 case 2: /*(2,) -> VL512 | NELEM=2*/
8752 xed3_operand_set_nelem(d, 0x2);
8753 /*pacify the compiler */
8754 (void)d;
8755 break;
8756 default:
8757 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
8758 break;
8759 }
8760 }
xed3_capture_nt_SEG(xed_decoded_inst_t * d)8761 static XED_INLINE void xed3_capture_nt_SEG(xed_decoded_inst_t* d)
8762 {
8763 xed_uint32_t key = 0;
8764 key += (xed3_operand_get_reg(d)) << ((0));
8765 /* now switch code..*/
8766 switch(key) {
8767 case 0: /*(0,) -> REG=0x0 | OUTREG=XED_REG_ES*/
8768 xed3_operand_set_outreg(d, XED_REG_ES);
8769 /*pacify the compiler */
8770 (void)d;
8771 break;
8772 case 1: /*(1,) -> REG=0x1 | OUTREG=XED_REG_CS*/
8773 xed3_operand_set_outreg(d, XED_REG_CS);
8774 /*pacify the compiler */
8775 (void)d;
8776 break;
8777 case 2: /*(2,) -> REG=0x2 | OUTREG=XED_REG_SS*/
8778 xed3_operand_set_outreg(d, XED_REG_SS);
8779 /*pacify the compiler */
8780 (void)d;
8781 break;
8782 case 3: /*(3,) -> REG=0x3 | OUTREG=XED_REG_DS*/
8783 xed3_operand_set_outreg(d, XED_REG_DS);
8784 /*pacify the compiler */
8785 (void)d;
8786 break;
8787 case 4: /*(4,) -> REG=0x4 | OUTREG=XED_REG_FS*/
8788 xed3_operand_set_outreg(d, XED_REG_FS);
8789 /*pacify the compiler */
8790 (void)d;
8791 break;
8792 case 5: /*(5,) -> REG=0x5 | OUTREG=XED_REG_GS*/
8793 xed3_operand_set_outreg(d, XED_REG_GS);
8794 /*pacify the compiler */
8795 (void)d;
8796 break;
8797 case 6: /*(6,) -> REG=0x6 | OUTREG=XED_REG_ERROR enc*/
8798 xed3_operand_set_outreg(d, XED_REG_ERROR);
8799 xed3_operand_set_error(d, XED_ERROR_BAD_REGISTER);
8800 /*pacify the compiler */
8801 (void)d;
8802 break;
8803 case 7: /*(7,) -> REG=0x7 | OUTREG=XED_REG_ERROR*/
8804 xed3_operand_set_outreg(d, XED_REG_ERROR);
8805 xed3_operand_set_error(d, XED_ERROR_BAD_REGISTER);
8806 /*pacify the compiler */
8807 (void)d;
8808 break;
8809 default:
8810 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
8811 break;
8812 }
8813 }
xed3_capture_nt_OrAX(xed_decoded_inst_t * d)8814 static XED_INLINE void xed3_capture_nt_OrAX(xed_decoded_inst_t* d)
8815 {
8816 xed_uint32_t key = 0;
8817 key += (xed3_operand_get_eosz(d)) << ((0));
8818 /* now switch code..*/
8819 switch(key) {
8820 case 1: /*(1,) -> EOSZ=1 | OUTREG=XED_REG_AX*/
8821 xed3_operand_set_outreg(d, XED_REG_AX);
8822 /*pacify the compiler */
8823 (void)d;
8824 break;
8825 case 2: /*(2,) -> EOSZ=2 | OUTREG=XED_REG_EAX*/
8826 xed3_operand_set_outreg(d, XED_REG_EAX);
8827 /*pacify the compiler */
8828 (void)d;
8829 break;
8830 case 3: /*(3,) -> EOSZ=3 | OUTREG=XED_REG_RAX*/
8831 xed3_operand_set_outreg(d, XED_REG_RAX);
8832 /*pacify the compiler */
8833 (void)d;
8834 break;
8835 default:
8836 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
8837 break;
8838 }
8839 }
xed3_capture_nt_XMM_R3_32(xed_decoded_inst_t * d)8840 static XED_INLINE void xed3_capture_nt_XMM_R3_32(xed_decoded_inst_t* d)
8841 {
8842 xed_uint32_t key = 0;
8843 key += (xed3_operand_get_reg(d)) << ((0));
8844 /* now switch code..*/
8845 switch(key) {
8846 case 0: /*(0,) -> REG=0 | OUTREG=XED_REG_XMM0*/
8847 xed3_operand_set_outreg(d, XED_REG_XMM0);
8848 /*pacify the compiler */
8849 (void)d;
8850 break;
8851 case 1: /*(1,) -> REG=1 | OUTREG=XED_REG_XMM1*/
8852 xed3_operand_set_outreg(d, XED_REG_XMM1);
8853 /*pacify the compiler */
8854 (void)d;
8855 break;
8856 case 2: /*(2,) -> REG=2 | OUTREG=XED_REG_XMM2*/
8857 xed3_operand_set_outreg(d, XED_REG_XMM2);
8858 /*pacify the compiler */
8859 (void)d;
8860 break;
8861 case 3: /*(3,) -> REG=3 | OUTREG=XED_REG_XMM3*/
8862 xed3_operand_set_outreg(d, XED_REG_XMM3);
8863 /*pacify the compiler */
8864 (void)d;
8865 break;
8866 case 4: /*(4,) -> REG=4 | OUTREG=XED_REG_XMM4*/
8867 xed3_operand_set_outreg(d, XED_REG_XMM4);
8868 /*pacify the compiler */
8869 (void)d;
8870 break;
8871 case 5: /*(5,) -> REG=5 | OUTREG=XED_REG_XMM5*/
8872 xed3_operand_set_outreg(d, XED_REG_XMM5);
8873 /*pacify the compiler */
8874 (void)d;
8875 break;
8876 case 6: /*(6,) -> REG=6 | OUTREG=XED_REG_XMM6*/
8877 xed3_operand_set_outreg(d, XED_REG_XMM6);
8878 /*pacify the compiler */
8879 (void)d;
8880 break;
8881 case 7: /*(7,) -> REG=7 | OUTREG=XED_REG_XMM7*/
8882 xed3_operand_set_outreg(d, XED_REG_XMM7);
8883 /*pacify the compiler */
8884 (void)d;
8885 break;
8886 default:
8887 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
8888 break;
8889 }
8890 }
xed3_capture_nt_ZMM_R3_64(xed_decoded_inst_t * d)8891 static XED_INLINE void xed3_capture_nt_ZMM_R3_64(xed_decoded_inst_t* d)
8892 {
8893 xed_uint32_t key = 0;
8894 key += (xed3_operand_get_reg(d)) << ((0));
8895 key += (xed3_operand_get_rexr(d)) << ((3));
8896 key += (xed3_operand_get_rexrr(d)) << ((4));
8897 /* now switch code..*/
8898 switch(key) {
8899 case 0: /*(0, 0, 0) -> REXRR=0 REXR=0 REG=0 | OUTREG=XED_REG_ZMM0*/
8900 xed3_operand_set_outreg(d, XED_REG_ZMM0);
8901 /*pacify the compiler */
8902 (void)d;
8903 break;
8904 case 1: /*(1, 0, 0) -> REXRR=0 REXR=0 REG=1 | OUTREG=XED_REG_ZMM1*/
8905 xed3_operand_set_outreg(d, XED_REG_ZMM1);
8906 /*pacify the compiler */
8907 (void)d;
8908 break;
8909 case 2: /*(2, 0, 0) -> REXRR=0 REXR=0 REG=2 | OUTREG=XED_REG_ZMM2*/
8910 xed3_operand_set_outreg(d, XED_REG_ZMM2);
8911 /*pacify the compiler */
8912 (void)d;
8913 break;
8914 case 3: /*(3, 0, 0) -> REXRR=0 REXR=0 REG=3 | OUTREG=XED_REG_ZMM3*/
8915 xed3_operand_set_outreg(d, XED_REG_ZMM3);
8916 /*pacify the compiler */
8917 (void)d;
8918 break;
8919 case 4: /*(4, 0, 0) -> REXRR=0 REXR=0 REG=4 | OUTREG=XED_REG_ZMM4*/
8920 xed3_operand_set_outreg(d, XED_REG_ZMM4);
8921 /*pacify the compiler */
8922 (void)d;
8923 break;
8924 case 5: /*(5, 0, 0) -> REXRR=0 REXR=0 REG=5 | OUTREG=XED_REG_ZMM5*/
8925 xed3_operand_set_outreg(d, XED_REG_ZMM5);
8926 /*pacify the compiler */
8927 (void)d;
8928 break;
8929 case 6: /*(6, 0, 0) -> REXRR=0 REXR=0 REG=6 | OUTREG=XED_REG_ZMM6*/
8930 xed3_operand_set_outreg(d, XED_REG_ZMM6);
8931 /*pacify the compiler */
8932 (void)d;
8933 break;
8934 case 7: /*(7, 0, 0) -> REXRR=0 REXR=0 REG=7 | OUTREG=XED_REG_ZMM7*/
8935 xed3_operand_set_outreg(d, XED_REG_ZMM7);
8936 /*pacify the compiler */
8937 (void)d;
8938 break;
8939 case 8: /*(0, 1, 0) -> REXRR=0 REXR=1 REG=0 | OUTREG=XED_REG_ZMM8*/
8940 xed3_operand_set_outreg(d, XED_REG_ZMM8);
8941 /*pacify the compiler */
8942 (void)d;
8943 break;
8944 case 9: /*(1, 1, 0) -> REXRR=0 REXR=1 REG=1 | OUTREG=XED_REG_ZMM9*/
8945 xed3_operand_set_outreg(d, XED_REG_ZMM9);
8946 /*pacify the compiler */
8947 (void)d;
8948 break;
8949 case 10: /*(2, 1, 0) -> REXRR=0 REXR=1 REG=2 | OUTREG=XED_REG_ZMM10*/
8950 xed3_operand_set_outreg(d, XED_REG_ZMM10);
8951 /*pacify the compiler */
8952 (void)d;
8953 break;
8954 case 11: /*(3, 1, 0) -> REXRR=0 REXR=1 REG=3 | OUTREG=XED_REG_ZMM11*/
8955 xed3_operand_set_outreg(d, XED_REG_ZMM11);
8956 /*pacify the compiler */
8957 (void)d;
8958 break;
8959 case 12: /*(4, 1, 0) -> REXRR=0 REXR=1 REG=4 | OUTREG=XED_REG_ZMM12*/
8960 xed3_operand_set_outreg(d, XED_REG_ZMM12);
8961 /*pacify the compiler */
8962 (void)d;
8963 break;
8964 case 13: /*(5, 1, 0) -> REXRR=0 REXR=1 REG=5 | OUTREG=XED_REG_ZMM13*/
8965 xed3_operand_set_outreg(d, XED_REG_ZMM13);
8966 /*pacify the compiler */
8967 (void)d;
8968 break;
8969 case 14: /*(6, 1, 0) -> REXRR=0 REXR=1 REG=6 | OUTREG=XED_REG_ZMM14*/
8970 xed3_operand_set_outreg(d, XED_REG_ZMM14);
8971 /*pacify the compiler */
8972 (void)d;
8973 break;
8974 case 15: /*(7, 1, 0) -> REXRR=0 REXR=1 REG=7 | OUTREG=XED_REG_ZMM15*/
8975 xed3_operand_set_outreg(d, XED_REG_ZMM15);
8976 /*pacify the compiler */
8977 (void)d;
8978 break;
8979 case 16: /*(0, 0, 1) -> REXRR=1 REXR=0 REG=0 | OUTREG=XED_REG_ZMM16*/
8980 xed3_operand_set_outreg(d, XED_REG_ZMM16);
8981 /*pacify the compiler */
8982 (void)d;
8983 break;
8984 case 17: /*(1, 0, 1) -> REXRR=1 REXR=0 REG=1 | OUTREG=XED_REG_ZMM17*/
8985 xed3_operand_set_outreg(d, XED_REG_ZMM17);
8986 /*pacify the compiler */
8987 (void)d;
8988 break;
8989 case 18: /*(2, 0, 1) -> REXRR=1 REXR=0 REG=2 | OUTREG=XED_REG_ZMM18*/
8990 xed3_operand_set_outreg(d, XED_REG_ZMM18);
8991 /*pacify the compiler */
8992 (void)d;
8993 break;
8994 case 19: /*(3, 0, 1) -> REXRR=1 REXR=0 REG=3 | OUTREG=XED_REG_ZMM19*/
8995 xed3_operand_set_outreg(d, XED_REG_ZMM19);
8996 /*pacify the compiler */
8997 (void)d;
8998 break;
8999 case 20: /*(4, 0, 1) -> REXRR=1 REXR=0 REG=4 | OUTREG=XED_REG_ZMM20*/
9000 xed3_operand_set_outreg(d, XED_REG_ZMM20);
9001 /*pacify the compiler */
9002 (void)d;
9003 break;
9004 case 21: /*(5, 0, 1) -> REXRR=1 REXR=0 REG=5 | OUTREG=XED_REG_ZMM21*/
9005 xed3_operand_set_outreg(d, XED_REG_ZMM21);
9006 /*pacify the compiler */
9007 (void)d;
9008 break;
9009 case 22: /*(6, 0, 1) -> REXRR=1 REXR=0 REG=6 | OUTREG=XED_REG_ZMM22*/
9010 xed3_operand_set_outreg(d, XED_REG_ZMM22);
9011 /*pacify the compiler */
9012 (void)d;
9013 break;
9014 case 23: /*(7, 0, 1) -> REXRR=1 REXR=0 REG=7 | OUTREG=XED_REG_ZMM23*/
9015 xed3_operand_set_outreg(d, XED_REG_ZMM23);
9016 /*pacify the compiler */
9017 (void)d;
9018 break;
9019 case 24: /*(0, 1, 1) -> REXRR=1 REXR=1 REG=0 | OUTREG=XED_REG_ZMM24*/
9020 xed3_operand_set_outreg(d, XED_REG_ZMM24);
9021 /*pacify the compiler */
9022 (void)d;
9023 break;
9024 case 25: /*(1, 1, 1) -> REXRR=1 REXR=1 REG=1 | OUTREG=XED_REG_ZMM25*/
9025 xed3_operand_set_outreg(d, XED_REG_ZMM25);
9026 /*pacify the compiler */
9027 (void)d;
9028 break;
9029 case 26: /*(2, 1, 1) -> REXRR=1 REXR=1 REG=2 | OUTREG=XED_REG_ZMM26*/
9030 xed3_operand_set_outreg(d, XED_REG_ZMM26);
9031 /*pacify the compiler */
9032 (void)d;
9033 break;
9034 case 27: /*(3, 1, 1) -> REXRR=1 REXR=1 REG=3 | OUTREG=XED_REG_ZMM27*/
9035 xed3_operand_set_outreg(d, XED_REG_ZMM27);
9036 /*pacify the compiler */
9037 (void)d;
9038 break;
9039 case 28: /*(4, 1, 1) -> REXRR=1 REXR=1 REG=4 | OUTREG=XED_REG_ZMM28*/
9040 xed3_operand_set_outreg(d, XED_REG_ZMM28);
9041 /*pacify the compiler */
9042 (void)d;
9043 break;
9044 case 29: /*(5, 1, 1) -> REXRR=1 REXR=1 REG=5 | OUTREG=XED_REG_ZMM29*/
9045 xed3_operand_set_outreg(d, XED_REG_ZMM29);
9046 /*pacify the compiler */
9047 (void)d;
9048 break;
9049 case 30: /*(6, 1, 1) -> REXRR=1 REXR=1 REG=6 | OUTREG=XED_REG_ZMM30*/
9050 xed3_operand_set_outreg(d, XED_REG_ZMM30);
9051 /*pacify the compiler */
9052 (void)d;
9053 break;
9054 case 31: /*(7, 1, 1) -> REXRR=1 REXR=1 REG=7 | OUTREG=XED_REG_ZMM31*/
9055 xed3_operand_set_outreg(d, XED_REG_ZMM31);
9056 /*pacify the compiler */
9057 (void)d;
9058 break;
9059 default:
9060 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
9061 break;
9062 }
9063 }
xed3_capture_nt_UISA_VSIB_INDEX_XMM(xed_decoded_inst_t * d)9064 static XED_INLINE void xed3_capture_nt_UISA_VSIB_INDEX_XMM(xed_decoded_inst_t* d)
9065 {
9066 xed_uint32_t key = 0;
9067 key += (xed3_operand_get_rexx(d)) << ((0));
9068 key += (xed3_operand_get_sibindex(d)) << ((1));
9069 key += (xed3_operand_get_vexdest4(d)) << ((4));
9070 /* now switch code..*/
9071 switch(key) {
9072 case 0: /*(0, 0, 0) -> VEXDEST4=0 REXX=0 SIBINDEX=0 | OUTREG=XED_REG_XMM0*/
9073 xed3_operand_set_outreg(d, XED_REG_XMM0);
9074 /*pacify the compiler */
9075 (void)d;
9076 break;
9077 case 1: /*(1, 0, 0) -> VEXDEST4=0 REXX=1 SIBINDEX=0 | OUTREG=XED_REG_XMM8*/
9078 xed3_operand_set_outreg(d, XED_REG_XMM8);
9079 /*pacify the compiler */
9080 (void)d;
9081 break;
9082 case 2: /*(0, 1, 0) -> VEXDEST4=0 REXX=0 SIBINDEX=1 | OUTREG=XED_REG_XMM1*/
9083 xed3_operand_set_outreg(d, XED_REG_XMM1);
9084 /*pacify the compiler */
9085 (void)d;
9086 break;
9087 case 3: /*(1, 1, 0) -> VEXDEST4=0 REXX=1 SIBINDEX=1 | OUTREG=XED_REG_XMM9*/
9088 xed3_operand_set_outreg(d, XED_REG_XMM9);
9089 /*pacify the compiler */
9090 (void)d;
9091 break;
9092 case 4: /*(0, 2, 0) -> VEXDEST4=0 REXX=0 SIBINDEX=2 | OUTREG=XED_REG_XMM2*/
9093 xed3_operand_set_outreg(d, XED_REG_XMM2);
9094 /*pacify the compiler */
9095 (void)d;
9096 break;
9097 case 5: /*(1, 2, 0) -> VEXDEST4=0 REXX=1 SIBINDEX=2 | OUTREG=XED_REG_XMM10*/
9098 xed3_operand_set_outreg(d, XED_REG_XMM10);
9099 /*pacify the compiler */
9100 (void)d;
9101 break;
9102 case 6: /*(0, 3, 0) -> VEXDEST4=0 REXX=0 SIBINDEX=3 | OUTREG=XED_REG_XMM3*/
9103 xed3_operand_set_outreg(d, XED_REG_XMM3);
9104 /*pacify the compiler */
9105 (void)d;
9106 break;
9107 case 7: /*(1, 3, 0) -> VEXDEST4=0 REXX=1 SIBINDEX=3 | OUTREG=XED_REG_XMM11*/
9108 xed3_operand_set_outreg(d, XED_REG_XMM11);
9109 /*pacify the compiler */
9110 (void)d;
9111 break;
9112 case 8: /*(0, 4, 0) -> VEXDEST4=0 REXX=0 SIBINDEX=4 | OUTREG=XED_REG_XMM4*/
9113 xed3_operand_set_outreg(d, XED_REG_XMM4);
9114 /*pacify the compiler */
9115 (void)d;
9116 break;
9117 case 9: /*(1, 4, 0) -> VEXDEST4=0 REXX=1 SIBINDEX=4 | OUTREG=XED_REG_XMM12*/
9118 xed3_operand_set_outreg(d, XED_REG_XMM12);
9119 /*pacify the compiler */
9120 (void)d;
9121 break;
9122 case 10: /*(0, 5, 0) -> VEXDEST4=0 REXX=0 SIBINDEX=5 | OUTREG=XED_REG_XMM5*/
9123 xed3_operand_set_outreg(d, XED_REG_XMM5);
9124 /*pacify the compiler */
9125 (void)d;
9126 break;
9127 case 11: /*(1, 5, 0) -> VEXDEST4=0 REXX=1 SIBINDEX=5 | OUTREG=XED_REG_XMM13*/
9128 xed3_operand_set_outreg(d, XED_REG_XMM13);
9129 /*pacify the compiler */
9130 (void)d;
9131 break;
9132 case 12: /*(0, 6, 0) -> VEXDEST4=0 REXX=0 SIBINDEX=6 | OUTREG=XED_REG_XMM6*/
9133 xed3_operand_set_outreg(d, XED_REG_XMM6);
9134 /*pacify the compiler */
9135 (void)d;
9136 break;
9137 case 13: /*(1, 6, 0) -> VEXDEST4=0 REXX=1 SIBINDEX=6 | OUTREG=XED_REG_XMM14*/
9138 xed3_operand_set_outreg(d, XED_REG_XMM14);
9139 /*pacify the compiler */
9140 (void)d;
9141 break;
9142 case 14: /*(0, 7, 0) -> VEXDEST4=0 REXX=0 SIBINDEX=7 | OUTREG=XED_REG_XMM7*/
9143 xed3_operand_set_outreg(d, XED_REG_XMM7);
9144 /*pacify the compiler */
9145 (void)d;
9146 break;
9147 case 15: /*(1, 7, 0) -> VEXDEST4=0 REXX=1 SIBINDEX=7 | OUTREG=XED_REG_XMM15*/
9148 xed3_operand_set_outreg(d, XED_REG_XMM15);
9149 /*pacify the compiler */
9150 (void)d;
9151 break;
9152 case 16: /*(0, 0, 1) -> VEXDEST4=1 REXX=0 SIBINDEX=0 | OUTREG=XED_REG_XMM16*/
9153 xed3_operand_set_outreg(d, XED_REG_XMM16);
9154 /*pacify the compiler */
9155 (void)d;
9156 break;
9157 case 17: /*(1, 0, 1) -> VEXDEST4=1 REXX=1 SIBINDEX=0 | OUTREG=XED_REG_XMM24*/
9158 xed3_operand_set_outreg(d, XED_REG_XMM24);
9159 /*pacify the compiler */
9160 (void)d;
9161 break;
9162 case 18: /*(0, 1, 1) -> VEXDEST4=1 REXX=0 SIBINDEX=1 | OUTREG=XED_REG_XMM17*/
9163 xed3_operand_set_outreg(d, XED_REG_XMM17);
9164 /*pacify the compiler */
9165 (void)d;
9166 break;
9167 case 19: /*(1, 1, 1) -> VEXDEST4=1 REXX=1 SIBINDEX=1 | OUTREG=XED_REG_XMM25*/
9168 xed3_operand_set_outreg(d, XED_REG_XMM25);
9169 /*pacify the compiler */
9170 (void)d;
9171 break;
9172 case 20: /*(0, 2, 1) -> VEXDEST4=1 REXX=0 SIBINDEX=2 | OUTREG=XED_REG_XMM18*/
9173 xed3_operand_set_outreg(d, XED_REG_XMM18);
9174 /*pacify the compiler */
9175 (void)d;
9176 break;
9177 case 21: /*(1, 2, 1) -> VEXDEST4=1 REXX=1 SIBINDEX=2 | OUTREG=XED_REG_XMM26*/
9178 xed3_operand_set_outreg(d, XED_REG_XMM26);
9179 /*pacify the compiler */
9180 (void)d;
9181 break;
9182 case 22: /*(0, 3, 1) -> VEXDEST4=1 REXX=0 SIBINDEX=3 | OUTREG=XED_REG_XMM19*/
9183 xed3_operand_set_outreg(d, XED_REG_XMM19);
9184 /*pacify the compiler */
9185 (void)d;
9186 break;
9187 case 23: /*(1, 3, 1) -> VEXDEST4=1 REXX=1 SIBINDEX=3 | OUTREG=XED_REG_XMM27*/
9188 xed3_operand_set_outreg(d, XED_REG_XMM27);
9189 /*pacify the compiler */
9190 (void)d;
9191 break;
9192 case 24: /*(0, 4, 1) -> VEXDEST4=1 REXX=0 SIBINDEX=4 | OUTREG=XED_REG_XMM20*/
9193 xed3_operand_set_outreg(d, XED_REG_XMM20);
9194 /*pacify the compiler */
9195 (void)d;
9196 break;
9197 case 25: /*(1, 4, 1) -> VEXDEST4=1 REXX=1 SIBINDEX=4 | OUTREG=XED_REG_XMM28*/
9198 xed3_operand_set_outreg(d, XED_REG_XMM28);
9199 /*pacify the compiler */
9200 (void)d;
9201 break;
9202 case 26: /*(0, 5, 1) -> VEXDEST4=1 REXX=0 SIBINDEX=5 | OUTREG=XED_REG_XMM21*/
9203 xed3_operand_set_outreg(d, XED_REG_XMM21);
9204 /*pacify the compiler */
9205 (void)d;
9206 break;
9207 case 27: /*(1, 5, 1) -> VEXDEST4=1 REXX=1 SIBINDEX=5 | OUTREG=XED_REG_XMM29*/
9208 xed3_operand_set_outreg(d, XED_REG_XMM29);
9209 /*pacify the compiler */
9210 (void)d;
9211 break;
9212 case 28: /*(0, 6, 1) -> VEXDEST4=1 REXX=0 SIBINDEX=6 | OUTREG=XED_REG_XMM22*/
9213 xed3_operand_set_outreg(d, XED_REG_XMM22);
9214 /*pacify the compiler */
9215 (void)d;
9216 break;
9217 case 29: /*(1, 6, 1) -> VEXDEST4=1 REXX=1 SIBINDEX=6 | OUTREG=XED_REG_XMM30*/
9218 xed3_operand_set_outreg(d, XED_REG_XMM30);
9219 /*pacify the compiler */
9220 (void)d;
9221 break;
9222 case 30: /*(0, 7, 1) -> VEXDEST4=1 REXX=0 SIBINDEX=7 | OUTREG=XED_REG_XMM23*/
9223 xed3_operand_set_outreg(d, XED_REG_XMM23);
9224 /*pacify the compiler */
9225 (void)d;
9226 break;
9227 case 31: /*(1, 7, 1) -> VEXDEST4=1 REXX=1 SIBINDEX=7 | OUTREG=XED_REG_XMM31*/
9228 xed3_operand_set_outreg(d, XED_REG_XMM31);
9229 /*pacify the compiler */
9230 (void)d;
9231 break;
9232 default:
9233 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
9234 break;
9235 }
9236 }
xed3_capture_nt_IMMUNE_REXW(xed_decoded_inst_t * d)9237 static XED_INLINE void xed3_capture_nt_IMMUNE_REXW(xed_decoded_inst_t* d)
9238 {
9239 xed_uint32_t key = 0;
9240 key += (xed3_operand_get_mode(d)) << ((0));
9241 key += (xed3_operand_get_osz(d)) << ((2));
9242 key += (xed3_operand_get_rexw(d)) << ((3));
9243 /* now switch code..*/
9244 switch(key) {
9245 case 12: /*(0, 1, 1) -> mode16 |*/
9246 case 8: /*(0, 0, 1) -> mode16 |*/
9247 case 0: /*(0, 0, 0) -> mode16 |*/
9248 case 4: /*(0, 1, 0) -> mode16 |*/
9249 /*pacify the compiler */
9250 (void)d;
9251 break;
9252 case 5: /*(1, 1, 0) -> mode32 |*/
9253 case 1: /*(1, 0, 0) -> mode32 |*/
9254 case 9: /*(1, 0, 1) -> mode32 |*/
9255 case 13: /*(1, 1, 1) -> mode32 |*/
9256 /*pacify the compiler */
9257 (void)d;
9258 break;
9259 case 2: /*(2, 0, 0) -> mode64 no66_prefix | EOSZ=2*/
9260 case 10: /*(2, 0, 1) -> mode64 no66_prefix | EOSZ=2*/
9261 xed3_operand_set_eosz(d, 0x2);
9262 /*pacify the compiler */
9263 (void)d;
9264 break;
9265 case 6: /*(2, 1, 0) -> mode64 66_prefix norexw_prefix | EOSZ=1*/
9266 xed3_operand_set_eosz(d, 0x1);
9267 /*pacify the compiler */
9268 (void)d;
9269 break;
9270 case 14: /*(2, 1, 1) -> mode64 66_prefix rexw_prefix | EOSZ=2*/
9271 xed3_operand_set_eosz(d, 0x2);
9272 /*pacify the compiler */
9273 (void)d;
9274 break;
9275 default:
9276 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
9277 break;
9278 }
9279 }
xed3_capture_nt_MMX_B(xed_decoded_inst_t * d)9280 static XED_INLINE void xed3_capture_nt_MMX_B(xed_decoded_inst_t* d)
9281 {
9282 xed_uint32_t key = 0;
9283 key += (xed3_operand_get_rm(d)) << ((0));
9284 /* now switch code..*/
9285 switch(key) {
9286 case 0: /*(0,) -> RM=0x0 | OUTREG=XED_REG_MMX0*/
9287 xed3_operand_set_outreg(d, XED_REG_MMX0);
9288 /*pacify the compiler */
9289 (void)d;
9290 break;
9291 case 1: /*(1,) -> RM=0x1 | OUTREG=XED_REG_MMX1*/
9292 xed3_operand_set_outreg(d, XED_REG_MMX1);
9293 /*pacify the compiler */
9294 (void)d;
9295 break;
9296 case 2: /*(2,) -> RM=0x2 | OUTREG=XED_REG_MMX2*/
9297 xed3_operand_set_outreg(d, XED_REG_MMX2);
9298 /*pacify the compiler */
9299 (void)d;
9300 break;
9301 case 3: /*(3,) -> RM=0x3 | OUTREG=XED_REG_MMX3*/
9302 xed3_operand_set_outreg(d, XED_REG_MMX3);
9303 /*pacify the compiler */
9304 (void)d;
9305 break;
9306 case 4: /*(4,) -> RM=0x4 | OUTREG=XED_REG_MMX4*/
9307 xed3_operand_set_outreg(d, XED_REG_MMX4);
9308 /*pacify the compiler */
9309 (void)d;
9310 break;
9311 case 5: /*(5,) -> RM=0x5 | OUTREG=XED_REG_MMX5*/
9312 xed3_operand_set_outreg(d, XED_REG_MMX5);
9313 /*pacify the compiler */
9314 (void)d;
9315 break;
9316 case 6: /*(6,) -> RM=0x6 | OUTREG=XED_REG_MMX6*/
9317 xed3_operand_set_outreg(d, XED_REG_MMX6);
9318 /*pacify the compiler */
9319 (void)d;
9320 break;
9321 case 7: /*(7,) -> RM=0x7 | OUTREG=XED_REG_MMX7*/
9322 xed3_operand_set_outreg(d, XED_REG_MMX7);
9323 /*pacify the compiler */
9324 (void)d;
9325 break;
9326 default:
9327 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
9328 break;
9329 }
9330 }
xed3_capture_nt_NELEM_HALF(xed_decoded_inst_t * d)9331 static XED_INLINE void xed3_capture_nt_NELEM_HALF(xed_decoded_inst_t* d)
9332 {
9333 xed_uint32_t key = 0;
9334 key += (xed3_operand_get_bcrc(d)) << ((0));
9335 key += (xed3_operand_get_element_size(d)) << ((1));
9336 key += (xed3_operand_get_vl(d)) << ((10));
9337 /* now switch code..*/
9338 switch(key) {
9339 case 64: /*(0, 32, 0) -> BCRC=0b0 ELEMENT_SIZE=32 VL128 | NELEM=2*/
9340 xed3_operand_set_nelem(d, 0x2);
9341 /*pacify the compiler */
9342 (void)d;
9343 break;
9344 case 65: /*(1, 32, 0) -> BCRC=0b1 ELEMENT_SIZE=32 VL128 | NELEM=1 EMX_BROADCAST_1TO2_32*/
9345 xed3_operand_set_nelem(d, 0x1);
9346 xed3_operand_set_bcast(d, 0x16);
9347 /*pacify the compiler */
9348 (void)d;
9349 break;
9350 case 1088: /*(0, 32, 1) -> BCRC=0b0 ELEMENT_SIZE=32 VL256 | NELEM=4*/
9351 xed3_operand_set_nelem(d, 0x4);
9352 /*pacify the compiler */
9353 (void)d;
9354 break;
9355 case 1089: /*(1, 32, 1) -> BCRC=0b1 ELEMENT_SIZE=32 VL256 | NELEM=1 EMX_BROADCAST_1TO4_32*/
9356 xed3_operand_set_nelem(d, 0x1);
9357 xed3_operand_set_bcast(d, 0xa);
9358 /*pacify the compiler */
9359 (void)d;
9360 break;
9361 case 2112: /*(0, 32, 2) -> BCRC=0b0 ELEMENT_SIZE=32 VL512 | NELEM=8*/
9362 xed3_operand_set_nelem(d, 0x8);
9363 /*pacify the compiler */
9364 (void)d;
9365 break;
9366 case 2113: /*(1, 32, 2) -> BCRC=0b1 ELEMENT_SIZE=32 VL512 | NELEM=1 EMX_BROADCAST_1TO8_32*/
9367 xed3_operand_set_nelem(d, 0x1);
9368 xed3_operand_set_bcast(d, 0x3);
9369 /*pacify the compiler */
9370 (void)d;
9371 break;
9372 default:
9373 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
9374 break;
9375 }
9376 }
xed3_capture_nt_YMM_B3_32(xed_decoded_inst_t * d)9377 static XED_INLINE void xed3_capture_nt_YMM_B3_32(xed_decoded_inst_t* d)
9378 {
9379 xed_uint32_t key = 0;
9380 key += (xed3_operand_get_rm(d)) << ((0));
9381 /* now switch code..*/
9382 switch(key) {
9383 case 0: /*(0,) -> RM=0 | OUTREG=XED_REG_YMM0*/
9384 xed3_operand_set_outreg(d, XED_REG_YMM0);
9385 /*pacify the compiler */
9386 (void)d;
9387 break;
9388 case 1: /*(1,) -> RM=1 | OUTREG=XED_REG_YMM1*/
9389 xed3_operand_set_outreg(d, XED_REG_YMM1);
9390 /*pacify the compiler */
9391 (void)d;
9392 break;
9393 case 2: /*(2,) -> RM=2 | OUTREG=XED_REG_YMM2*/
9394 xed3_operand_set_outreg(d, XED_REG_YMM2);
9395 /*pacify the compiler */
9396 (void)d;
9397 break;
9398 case 3: /*(3,) -> RM=3 | OUTREG=XED_REG_YMM3*/
9399 xed3_operand_set_outreg(d, XED_REG_YMM3);
9400 /*pacify the compiler */
9401 (void)d;
9402 break;
9403 case 4: /*(4,) -> RM=4 | OUTREG=XED_REG_YMM4*/
9404 xed3_operand_set_outreg(d, XED_REG_YMM4);
9405 /*pacify the compiler */
9406 (void)d;
9407 break;
9408 case 5: /*(5,) -> RM=5 | OUTREG=XED_REG_YMM5*/
9409 xed3_operand_set_outreg(d, XED_REG_YMM5);
9410 /*pacify the compiler */
9411 (void)d;
9412 break;
9413 case 6: /*(6,) -> RM=6 | OUTREG=XED_REG_YMM6*/
9414 xed3_operand_set_outreg(d, XED_REG_YMM6);
9415 /*pacify the compiler */
9416 (void)d;
9417 break;
9418 case 7: /*(7,) -> RM=7 | OUTREG=XED_REG_YMM7*/
9419 xed3_operand_set_outreg(d, XED_REG_YMM7);
9420 /*pacify the compiler */
9421 (void)d;
9422 break;
9423 default:
9424 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
9425 break;
9426 }
9427 }
xed3_capture_nt_DF64(xed_decoded_inst_t * d)9428 static XED_INLINE void xed3_capture_nt_DF64(xed_decoded_inst_t* d)
9429 {
9430 xed_uint32_t key = 0;
9431 key += (xed3_operand_get_mode(d)) << ((0));
9432 key += (xed3_operand_get_osz(d)) << ((2));
9433 key += (xed3_operand_get_rexw(d)) << ((3));
9434 /* now switch code..*/
9435 switch(key) {
9436 case 12: /*(0, 1, 1) -> mode16 |*/
9437 case 8: /*(0, 0, 1) -> mode16 |*/
9438 case 0: /*(0, 0, 0) -> mode16 |*/
9439 case 4: /*(0, 1, 0) -> mode16 |*/
9440 /*pacify the compiler */
9441 (void)d;
9442 break;
9443 case 5: /*(1, 1, 0) -> mode32 |*/
9444 case 1: /*(1, 0, 0) -> mode32 |*/
9445 case 9: /*(1, 0, 1) -> mode32 |*/
9446 case 13: /*(1, 1, 1) -> mode32 |*/
9447 /*pacify the compiler */
9448 (void)d;
9449 break;
9450 case 2: /*(2, 0, 0) -> mode64 no66_prefix norexw_prefix | EOSZ=3 df64*/
9451 xed3_operand_set_eosz(d, 0x3);
9452 xed3_operand_set_df64(d, 0x1);
9453 /*pacify the compiler */
9454 (void)d;
9455 break;
9456 case 6: /*(2, 1, 0) -> mode64 66_prefix norexw_prefix | EOSZ=1 df64*/
9457 xed3_operand_set_eosz(d, 0x1);
9458 xed3_operand_set_df64(d, 0x1);
9459 /*pacify the compiler */
9460 (void)d;
9461 break;
9462 case 10: /*(2, 0, 1) -> mode64 no66_prefix rexw_prefix | EOSZ=3 df64*/
9463 xed3_operand_set_eosz(d, 0x3);
9464 xed3_operand_set_df64(d, 0x1);
9465 /*pacify the compiler */
9466 (void)d;
9467 break;
9468 case 14: /*(2, 1, 1) -> mode64 66_prefix rexw_prefix | EOSZ=3 df64*/
9469 xed3_operand_set_eosz(d, 0x3);
9470 xed3_operand_set_df64(d, 0x1);
9471 /*pacify the compiler */
9472 (void)d;
9473 break;
9474 default:
9475 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
9476 break;
9477 }
9478 }
xed3_capture_nt_ZMM_B3_64(xed_decoded_inst_t * d)9479 static XED_INLINE void xed3_capture_nt_ZMM_B3_64(xed_decoded_inst_t* d)
9480 {
9481 xed_uint32_t key = 0;
9482 key += (xed3_operand_get_rexb(d)) << ((0));
9483 key += (xed3_operand_get_rexx(d)) << ((1));
9484 key += (xed3_operand_get_rm(d)) << ((2));
9485 /* now switch code..*/
9486 switch(key) {
9487 case 0: /*(0, 0, 0) -> REXX=0 REXB=0 RM=0 | OUTREG=XED_REG_ZMM0*/
9488 xed3_operand_set_outreg(d, XED_REG_ZMM0);
9489 /*pacify the compiler */
9490 (void)d;
9491 break;
9492 case 1: /*(1, 0, 0) -> REXX=0 REXB=1 RM=0 | OUTREG=XED_REG_ZMM8*/
9493 xed3_operand_set_outreg(d, XED_REG_ZMM8);
9494 /*pacify the compiler */
9495 (void)d;
9496 break;
9497 case 2: /*(0, 1, 0) -> REXX=1 REXB=0 RM=0 | OUTREG=XED_REG_ZMM16*/
9498 xed3_operand_set_outreg(d, XED_REG_ZMM16);
9499 /*pacify the compiler */
9500 (void)d;
9501 break;
9502 case 3: /*(1, 1, 0) -> REXX=1 REXB=1 RM=0 | OUTREG=XED_REG_ZMM24*/
9503 xed3_operand_set_outreg(d, XED_REG_ZMM24);
9504 /*pacify the compiler */
9505 (void)d;
9506 break;
9507 case 4: /*(0, 0, 1) -> REXX=0 REXB=0 RM=1 | OUTREG=XED_REG_ZMM1*/
9508 xed3_operand_set_outreg(d, XED_REG_ZMM1);
9509 /*pacify the compiler */
9510 (void)d;
9511 break;
9512 case 5: /*(1, 0, 1) -> REXX=0 REXB=1 RM=1 | OUTREG=XED_REG_ZMM9*/
9513 xed3_operand_set_outreg(d, XED_REG_ZMM9);
9514 /*pacify the compiler */
9515 (void)d;
9516 break;
9517 case 6: /*(0, 1, 1) -> REXX=1 REXB=0 RM=1 | OUTREG=XED_REG_ZMM17*/
9518 xed3_operand_set_outreg(d, XED_REG_ZMM17);
9519 /*pacify the compiler */
9520 (void)d;
9521 break;
9522 case 7: /*(1, 1, 1) -> REXX=1 REXB=1 RM=1 | OUTREG=XED_REG_ZMM25*/
9523 xed3_operand_set_outreg(d, XED_REG_ZMM25);
9524 /*pacify the compiler */
9525 (void)d;
9526 break;
9527 case 8: /*(0, 0, 2) -> REXX=0 REXB=0 RM=2 | OUTREG=XED_REG_ZMM2*/
9528 xed3_operand_set_outreg(d, XED_REG_ZMM2);
9529 /*pacify the compiler */
9530 (void)d;
9531 break;
9532 case 9: /*(1, 0, 2) -> REXX=0 REXB=1 RM=2 | OUTREG=XED_REG_ZMM10*/
9533 xed3_operand_set_outreg(d, XED_REG_ZMM10);
9534 /*pacify the compiler */
9535 (void)d;
9536 break;
9537 case 10: /*(0, 1, 2) -> REXX=1 REXB=0 RM=2 | OUTREG=XED_REG_ZMM18*/
9538 xed3_operand_set_outreg(d, XED_REG_ZMM18);
9539 /*pacify the compiler */
9540 (void)d;
9541 break;
9542 case 11: /*(1, 1, 2) -> REXX=1 REXB=1 RM=2 | OUTREG=XED_REG_ZMM26*/
9543 xed3_operand_set_outreg(d, XED_REG_ZMM26);
9544 /*pacify the compiler */
9545 (void)d;
9546 break;
9547 case 12: /*(0, 0, 3) -> REXX=0 REXB=0 RM=3 | OUTREG=XED_REG_ZMM3*/
9548 xed3_operand_set_outreg(d, XED_REG_ZMM3);
9549 /*pacify the compiler */
9550 (void)d;
9551 break;
9552 case 13: /*(1, 0, 3) -> REXX=0 REXB=1 RM=3 | OUTREG=XED_REG_ZMM11*/
9553 xed3_operand_set_outreg(d, XED_REG_ZMM11);
9554 /*pacify the compiler */
9555 (void)d;
9556 break;
9557 case 14: /*(0, 1, 3) -> REXX=1 REXB=0 RM=3 | OUTREG=XED_REG_ZMM19*/
9558 xed3_operand_set_outreg(d, XED_REG_ZMM19);
9559 /*pacify the compiler */
9560 (void)d;
9561 break;
9562 case 15: /*(1, 1, 3) -> REXX=1 REXB=1 RM=3 | OUTREG=XED_REG_ZMM27*/
9563 xed3_operand_set_outreg(d, XED_REG_ZMM27);
9564 /*pacify the compiler */
9565 (void)d;
9566 break;
9567 case 16: /*(0, 0, 4) -> REXX=0 REXB=0 RM=4 | OUTREG=XED_REG_ZMM4*/
9568 xed3_operand_set_outreg(d, XED_REG_ZMM4);
9569 /*pacify the compiler */
9570 (void)d;
9571 break;
9572 case 17: /*(1, 0, 4) -> REXX=0 REXB=1 RM=4 | OUTREG=XED_REG_ZMM12*/
9573 xed3_operand_set_outreg(d, XED_REG_ZMM12);
9574 /*pacify the compiler */
9575 (void)d;
9576 break;
9577 case 18: /*(0, 1, 4) -> REXX=1 REXB=0 RM=4 | OUTREG=XED_REG_ZMM20*/
9578 xed3_operand_set_outreg(d, XED_REG_ZMM20);
9579 /*pacify the compiler */
9580 (void)d;
9581 break;
9582 case 19: /*(1, 1, 4) -> REXX=1 REXB=1 RM=4 | OUTREG=XED_REG_ZMM28*/
9583 xed3_operand_set_outreg(d, XED_REG_ZMM28);
9584 /*pacify the compiler */
9585 (void)d;
9586 break;
9587 case 20: /*(0, 0, 5) -> REXX=0 REXB=0 RM=5 | OUTREG=XED_REG_ZMM5*/
9588 xed3_operand_set_outreg(d, XED_REG_ZMM5);
9589 /*pacify the compiler */
9590 (void)d;
9591 break;
9592 case 21: /*(1, 0, 5) -> REXX=0 REXB=1 RM=5 | OUTREG=XED_REG_ZMM13*/
9593 xed3_operand_set_outreg(d, XED_REG_ZMM13);
9594 /*pacify the compiler */
9595 (void)d;
9596 break;
9597 case 22: /*(0, 1, 5) -> REXX=1 REXB=0 RM=5 | OUTREG=XED_REG_ZMM21*/
9598 xed3_operand_set_outreg(d, XED_REG_ZMM21);
9599 /*pacify the compiler */
9600 (void)d;
9601 break;
9602 case 23: /*(1, 1, 5) -> REXX=1 REXB=1 RM=5 | OUTREG=XED_REG_ZMM29*/
9603 xed3_operand_set_outreg(d, XED_REG_ZMM29);
9604 /*pacify the compiler */
9605 (void)d;
9606 break;
9607 case 24: /*(0, 0, 6) -> REXX=0 REXB=0 RM=6 | OUTREG=XED_REG_ZMM6*/
9608 xed3_operand_set_outreg(d, XED_REG_ZMM6);
9609 /*pacify the compiler */
9610 (void)d;
9611 break;
9612 case 25: /*(1, 0, 6) -> REXX=0 REXB=1 RM=6 | OUTREG=XED_REG_ZMM14*/
9613 xed3_operand_set_outreg(d, XED_REG_ZMM14);
9614 /*pacify the compiler */
9615 (void)d;
9616 break;
9617 case 26: /*(0, 1, 6) -> REXX=1 REXB=0 RM=6 | OUTREG=XED_REG_ZMM22*/
9618 xed3_operand_set_outreg(d, XED_REG_ZMM22);
9619 /*pacify the compiler */
9620 (void)d;
9621 break;
9622 case 27: /*(1, 1, 6) -> REXX=1 REXB=1 RM=6 | OUTREG=XED_REG_ZMM30*/
9623 xed3_operand_set_outreg(d, XED_REG_ZMM30);
9624 /*pacify the compiler */
9625 (void)d;
9626 break;
9627 case 28: /*(0, 0, 7) -> REXX=0 REXB=0 RM=7 | OUTREG=XED_REG_ZMM7*/
9628 xed3_operand_set_outreg(d, XED_REG_ZMM7);
9629 /*pacify the compiler */
9630 (void)d;
9631 break;
9632 case 29: /*(1, 0, 7) -> REXX=0 REXB=1 RM=7 | OUTREG=XED_REG_ZMM15*/
9633 xed3_operand_set_outreg(d, XED_REG_ZMM15);
9634 /*pacify the compiler */
9635 (void)d;
9636 break;
9637 case 30: /*(0, 1, 7) -> REXX=1 REXB=0 RM=7 | OUTREG=XED_REG_ZMM23*/
9638 xed3_operand_set_outreg(d, XED_REG_ZMM23);
9639 /*pacify the compiler */
9640 (void)d;
9641 break;
9642 case 31: /*(1, 1, 7) -> REXX=1 REXB=1 RM=7 | OUTREG=XED_REG_ZMM31*/
9643 xed3_operand_set_outreg(d, XED_REG_ZMM31);
9644 /*pacify the compiler */
9645 (void)d;
9646 break;
9647 default:
9648 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
9649 break;
9650 }
9651 }
xed3_capture_nt_MASK1(xed_decoded_inst_t * d)9652 static XED_INLINE void xed3_capture_nt_MASK1(xed_decoded_inst_t* d)
9653 {
9654 xed_uint32_t key = 0;
9655 key += (xed3_operand_get_mask(d)) << ((0));
9656 /* now switch code..*/
9657 switch(key) {
9658 case 0: /*(0,) -> MASK=0x0 | OUTREG=XED_REG_K0*/
9659 xed3_operand_set_outreg(d, XED_REG_K0);
9660 /*pacify the compiler */
9661 (void)d;
9662 break;
9663 case 1: /*(1,) -> MASK=0x1 | OUTREG=XED_REG_K1*/
9664 xed3_operand_set_outreg(d, XED_REG_K1);
9665 /*pacify the compiler */
9666 (void)d;
9667 break;
9668 case 2: /*(2,) -> MASK=0x2 | OUTREG=XED_REG_K2*/
9669 xed3_operand_set_outreg(d, XED_REG_K2);
9670 /*pacify the compiler */
9671 (void)d;
9672 break;
9673 case 3: /*(3,) -> MASK=0x3 | OUTREG=XED_REG_K3*/
9674 xed3_operand_set_outreg(d, XED_REG_K3);
9675 /*pacify the compiler */
9676 (void)d;
9677 break;
9678 case 4: /*(4,) -> MASK=0x4 | OUTREG=XED_REG_K4*/
9679 xed3_operand_set_outreg(d, XED_REG_K4);
9680 /*pacify the compiler */
9681 (void)d;
9682 break;
9683 case 5: /*(5,) -> MASK=0x5 | OUTREG=XED_REG_K5*/
9684 xed3_operand_set_outreg(d, XED_REG_K5);
9685 /*pacify the compiler */
9686 (void)d;
9687 break;
9688 case 6: /*(6,) -> MASK=0x6 | OUTREG=XED_REG_K6*/
9689 xed3_operand_set_outreg(d, XED_REG_K6);
9690 /*pacify the compiler */
9691 (void)d;
9692 break;
9693 case 7: /*(7,) -> MASK=0x7 | OUTREG=XED_REG_K7*/
9694 xed3_operand_set_outreg(d, XED_REG_K7);
9695 /*pacify the compiler */
9696 (void)d;
9697 break;
9698 default:
9699 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
9700 break;
9701 }
9702 }
xed3_capture_nt_ESIZE_4_BITS(xed_decoded_inst_t * d)9703 static XED_INLINE void xed3_capture_nt_ESIZE_4_BITS(xed_decoded_inst_t* d)
9704 {
9705 xed_uint32_t key = 0;
9706 key += (xed3_operand_get_rex(d)) << ((0));
9707 /* now switch code..*/
9708 switch(key) {
9709 case 0: /*(0,) -> REX=0 | ELEMENT_SIZE=4*/
9710 xed3_operand_set_element_size(d, 0x4);
9711 /*pacify the compiler */
9712 (void)d;
9713 break;
9714 default:
9715 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
9716 break;
9717 }
9718 }
xed3_capture_nt_MMX_R(xed_decoded_inst_t * d)9719 static XED_INLINE void xed3_capture_nt_MMX_R(xed_decoded_inst_t* d)
9720 {
9721 xed_uint32_t key = 0;
9722 key += (xed3_operand_get_reg(d)) << ((0));
9723 /* now switch code..*/
9724 switch(key) {
9725 case 0: /*(0,) -> REG=0x0 | OUTREG=XED_REG_MMX0*/
9726 xed3_operand_set_outreg(d, XED_REG_MMX0);
9727 /*pacify the compiler */
9728 (void)d;
9729 break;
9730 case 1: /*(1,) -> REG=0x1 | OUTREG=XED_REG_MMX1*/
9731 xed3_operand_set_outreg(d, XED_REG_MMX1);
9732 /*pacify the compiler */
9733 (void)d;
9734 break;
9735 case 2: /*(2,) -> REG=0x2 | OUTREG=XED_REG_MMX2*/
9736 xed3_operand_set_outreg(d, XED_REG_MMX2);
9737 /*pacify the compiler */
9738 (void)d;
9739 break;
9740 case 3: /*(3,) -> REG=0x3 | OUTREG=XED_REG_MMX3*/
9741 xed3_operand_set_outreg(d, XED_REG_MMX3);
9742 /*pacify the compiler */
9743 (void)d;
9744 break;
9745 case 4: /*(4,) -> REG=0x4 | OUTREG=XED_REG_MMX4*/
9746 xed3_operand_set_outreg(d, XED_REG_MMX4);
9747 /*pacify the compiler */
9748 (void)d;
9749 break;
9750 case 5: /*(5,) -> REG=0x5 | OUTREG=XED_REG_MMX5*/
9751 xed3_operand_set_outreg(d, XED_REG_MMX5);
9752 /*pacify the compiler */
9753 (void)d;
9754 break;
9755 case 6: /*(6,) -> REG=0x6 | OUTREG=XED_REG_MMX6*/
9756 xed3_operand_set_outreg(d, XED_REG_MMX6);
9757 /*pacify the compiler */
9758 (void)d;
9759 break;
9760 case 7: /*(7,) -> REG=0x7 | OUTREG=XED_REG_MMX7*/
9761 xed3_operand_set_outreg(d, XED_REG_MMX7);
9762 /*pacify the compiler */
9763 (void)d;
9764 break;
9765 default:
9766 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
9767 break;
9768 }
9769 }
xed3_capture_nt_NELEM_GPR_WRITER_STORE(xed_decoded_inst_t * d)9770 static XED_INLINE void xed3_capture_nt_NELEM_GPR_WRITER_STORE(xed_decoded_inst_t* d)
9771 {
9772 xed_uint32_t key = 0;
9773 key += (xed3_operand_get_vl(d)) << ((0));
9774 /* now switch code..*/
9775 switch(key) {
9776 case 0: /*(0,) -> VL128 | NELEM=1*/
9777 xed3_operand_set_nelem(d, 0x1);
9778 /*pacify the compiler */
9779 (void)d;
9780 break;
9781 case 1: /*(1,) -> VL256 | NELEM=1*/
9782 xed3_operand_set_nelem(d, 0x1);
9783 /*pacify the compiler */
9784 (void)d;
9785 break;
9786 case 2: /*(2,) -> VL512 | NELEM=1*/
9787 xed3_operand_set_nelem(d, 0x1);
9788 /*pacify the compiler */
9789 (void)d;
9790 break;
9791 default:
9792 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
9793 break;
9794 }
9795 }
xed3_capture_nt_ZMM_B3(xed_decoded_inst_t * d)9796 static XED_INLINE void xed3_capture_nt_ZMM_B3(xed_decoded_inst_t* d)
9797 {
9798 xed_uint32_t key = 0;
9799 key += (xed3_operand_get_mode(d)) << ((0));
9800 /* now switch code..*/
9801 switch(key) {
9802 case 0: /*(0,) -> mode16 | OUTREG=ZMM_B3_32()*/
9803 xed3_capture_nt_ZMM_B3_32(d);
9804 /*pacify the compiler */
9805 (void)d;
9806 break;
9807 case 1: /*(1,) -> mode32 | OUTREG=ZMM_B3_32()*/
9808 xed3_capture_nt_ZMM_B3_32(d);
9809 /*pacify the compiler */
9810 (void)d;
9811 break;
9812 case 2: /*(2,) -> mode64 | OUTREG=ZMM_B3_64()*/
9813 xed3_capture_nt_ZMM_B3_64(d);
9814 /*pacify the compiler */
9815 (void)d;
9816 break;
9817 default:
9818 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
9819 break;
9820 }
9821 }
xed3_capture_nt_XMM_R_32(xed_decoded_inst_t * d)9822 static XED_INLINE void xed3_capture_nt_XMM_R_32(xed_decoded_inst_t* d)
9823 {
9824 xed_uint32_t key = 0;
9825 key += (xed3_operand_get_reg(d)) << ((0));
9826 /* now switch code..*/
9827 switch(key) {
9828 case 0: /*(0,) -> REG=0x0 | OUTREG=XED_REG_XMM0*/
9829 xed3_operand_set_outreg(d, XED_REG_XMM0);
9830 /*pacify the compiler */
9831 (void)d;
9832 break;
9833 case 1: /*(1,) -> REG=0x1 | OUTREG=XED_REG_XMM1*/
9834 xed3_operand_set_outreg(d, XED_REG_XMM1);
9835 /*pacify the compiler */
9836 (void)d;
9837 break;
9838 case 2: /*(2,) -> REG=0x2 | OUTREG=XED_REG_XMM2*/
9839 xed3_operand_set_outreg(d, XED_REG_XMM2);
9840 /*pacify the compiler */
9841 (void)d;
9842 break;
9843 case 3: /*(3,) -> REG=0x3 | OUTREG=XED_REG_XMM3*/
9844 xed3_operand_set_outreg(d, XED_REG_XMM3);
9845 /*pacify the compiler */
9846 (void)d;
9847 break;
9848 case 4: /*(4,) -> REG=0x4 | OUTREG=XED_REG_XMM4*/
9849 xed3_operand_set_outreg(d, XED_REG_XMM4);
9850 /*pacify the compiler */
9851 (void)d;
9852 break;
9853 case 5: /*(5,) -> REG=0x5 | OUTREG=XED_REG_XMM5*/
9854 xed3_operand_set_outreg(d, XED_REG_XMM5);
9855 /*pacify the compiler */
9856 (void)d;
9857 break;
9858 case 6: /*(6,) -> REG=0x6 | OUTREG=XED_REG_XMM6*/
9859 xed3_operand_set_outreg(d, XED_REG_XMM6);
9860 /*pacify the compiler */
9861 (void)d;
9862 break;
9863 case 7: /*(7,) -> REG=0x7 | OUTREG=XED_REG_XMM7*/
9864 xed3_operand_set_outreg(d, XED_REG_XMM7);
9865 /*pacify the compiler */
9866 (void)d;
9867 break;
9868 default:
9869 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
9870 break;
9871 }
9872 }
xed3_capture_nt_FINAL_DSEG_NOT64(xed_decoded_inst_t * d)9873 static XED_INLINE void xed3_capture_nt_FINAL_DSEG_NOT64(xed_decoded_inst_t* d)
9874 {
9875 xed_uint32_t key = 0;
9876 key += (xed3_operand_get_seg_ovd(d)) << ((0));
9877 /* now switch code..*/
9878 switch(key) {
9879 case 0: /*(0,) -> SEG_OVD=0 | OUTREG=XED_REG_DS USING_DEFAULT_SEGMENT0=1 enc*/
9880 xed3_operand_set_outreg(d, XED_REG_DS);
9881 xed3_operand_set_using_default_segment0(d, 0x1);
9882 /*pacify the compiler */
9883 (void)d;
9884 break;
9885 case 1: /*(1,) -> SEG_OVD=1 | OUTREG=XED_REG_CS USING_DEFAULT_SEGMENT0=0*/
9886 xed3_operand_set_outreg(d, XED_REG_CS);
9887 xed3_operand_set_using_default_segment0(d, 0x0);
9888 /*pacify the compiler */
9889 (void)d;
9890 break;
9891 case 2: /*(2,) -> SEG_OVD=2 | OUTREG=XED_REG_DS USING_DEFAULT_SEGMENT0=1*/
9892 xed3_operand_set_outreg(d, XED_REG_DS);
9893 xed3_operand_set_using_default_segment0(d, 0x1);
9894 /*pacify the compiler */
9895 (void)d;
9896 break;
9897 case 3: /*(3,) -> SEG_OVD=3 | OUTREG=XED_REG_ES USING_DEFAULT_SEGMENT0=0*/
9898 xed3_operand_set_outreg(d, XED_REG_ES);
9899 xed3_operand_set_using_default_segment0(d, 0x0);
9900 /*pacify the compiler */
9901 (void)d;
9902 break;
9903 case 4: /*(4,) -> SEG_OVD=4 | OUTREG=XED_REG_FS USING_DEFAULT_SEGMENT0=0*/
9904 xed3_operand_set_outreg(d, XED_REG_FS);
9905 xed3_operand_set_using_default_segment0(d, 0x0);
9906 /*pacify the compiler */
9907 (void)d;
9908 break;
9909 case 5: /*(5,) -> SEG_OVD=5 | OUTREG=XED_REG_GS USING_DEFAULT_SEGMENT0=0*/
9910 xed3_operand_set_outreg(d, XED_REG_GS);
9911 xed3_operand_set_using_default_segment0(d, 0x0);
9912 /*pacify the compiler */
9913 (void)d;
9914 break;
9915 case 6: /*(6,) -> SEG_OVD=6 | OUTREG=XED_REG_SS USING_DEFAULT_SEGMENT0=0*/
9916 xed3_operand_set_outreg(d, XED_REG_SS);
9917 xed3_operand_set_using_default_segment0(d, 0x0);
9918 /*pacify the compiler */
9919 (void)d;
9920 break;
9921 default:
9922 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
9923 break;
9924 }
9925 }
xed3_capture_nt_MASK_R(xed_decoded_inst_t * d)9926 static XED_INLINE void xed3_capture_nt_MASK_R(xed_decoded_inst_t* d)
9927 {
9928 xed_uint32_t key = 0;
9929 key += (xed3_operand_get_reg(d)) << ((0));
9930 key += (xed3_operand_get_rexr(d)) << ((3));
9931 key += (xed3_operand_get_rexrr(d)) << ((4));
9932 /* now switch code..*/
9933 switch(key) {
9934 case 0: /*(0, 0, 0) -> REXRR=0 REXR=0 REG=0x0 | OUTREG=XED_REG_K0*/
9935 xed3_operand_set_outreg(d, XED_REG_K0);
9936 /*pacify the compiler */
9937 (void)d;
9938 break;
9939 case 1: /*(1, 0, 0) -> REXRR=0 REXR=0 REG=0x1 | OUTREG=XED_REG_K1*/
9940 xed3_operand_set_outreg(d, XED_REG_K1);
9941 /*pacify the compiler */
9942 (void)d;
9943 break;
9944 case 2: /*(2, 0, 0) -> REXRR=0 REXR=0 REG=0x2 | OUTREG=XED_REG_K2*/
9945 xed3_operand_set_outreg(d, XED_REG_K2);
9946 /*pacify the compiler */
9947 (void)d;
9948 break;
9949 case 3: /*(3, 0, 0) -> REXRR=0 REXR=0 REG=0x3 | OUTREG=XED_REG_K3*/
9950 xed3_operand_set_outreg(d, XED_REG_K3);
9951 /*pacify the compiler */
9952 (void)d;
9953 break;
9954 case 4: /*(4, 0, 0) -> REXRR=0 REXR=0 REG=0x4 | OUTREG=XED_REG_K4*/
9955 xed3_operand_set_outreg(d, XED_REG_K4);
9956 /*pacify the compiler */
9957 (void)d;
9958 break;
9959 case 5: /*(5, 0, 0) -> REXRR=0 REXR=0 REG=0x5 | OUTREG=XED_REG_K5*/
9960 xed3_operand_set_outreg(d, XED_REG_K5);
9961 /*pacify the compiler */
9962 (void)d;
9963 break;
9964 case 6: /*(6, 0, 0) -> REXRR=0 REXR=0 REG=0x6 | OUTREG=XED_REG_K6*/
9965 xed3_operand_set_outreg(d, XED_REG_K6);
9966 /*pacify the compiler */
9967 (void)d;
9968 break;
9969 case 7: /*(7, 0, 0) -> REXRR=0 REXR=0 REG=0x7 | OUTREG=XED_REG_K7*/
9970 xed3_operand_set_outreg(d, XED_REG_K7);
9971 /*pacify the compiler */
9972 (void)d;
9973 break;
9974 default:
9975 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
9976 break;
9977 }
9978 }
xed3_capture_nt_ArBP(xed_decoded_inst_t * d)9979 static XED_INLINE void xed3_capture_nt_ArBP(xed_decoded_inst_t* d)
9980 {
9981 xed_uint32_t key = 0;
9982 key += (xed3_operand_get_easz(d)) << ((0));
9983 /* now switch code..*/
9984 switch(key) {
9985 case 1: /*(1,) -> EASZ=1 | OUTREG=XED_REG_BP*/
9986 xed3_operand_set_outreg(d, XED_REG_BP);
9987 /*pacify the compiler */
9988 (void)d;
9989 break;
9990 case 2: /*(2,) -> EASZ=2 | OUTREG=XED_REG_EBP*/
9991 xed3_operand_set_outreg(d, XED_REG_EBP);
9992 /*pacify the compiler */
9993 (void)d;
9994 break;
9995 case 3: /*(3,) -> EASZ=3 | OUTREG=XED_REG_RBP*/
9996 xed3_operand_set_outreg(d, XED_REG_RBP);
9997 /*pacify the compiler */
9998 (void)d;
9999 break;
10000 default:
10001 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
10002 break;
10003 }
10004 }
xed3_capture_nt_UISA_VMODRM_ZMM(xed_decoded_inst_t * d)10005 static XED_INLINE void xed3_capture_nt_UISA_VMODRM_ZMM(xed_decoded_inst_t* d)
10006 {
10007 xed_uint32_t key = 0;
10008 key += (xed3_operand_get_mod(d)) << ((0));
10009 /* now switch code..*/
10010 switch(key) {
10011 case 0: /*(0,) -> MOD=0b00 UISA_VSIB_ZMM() |*/
10012 xed3_capture_nt_UISA_VSIB_ZMM(d);
10013 /*pacify the compiler */
10014 (void)d;
10015 break;
10016 case 1: /*(1,) -> MOD=0b01 UISA_VSIB_ZMM() MEMDISP8() |*/
10017 xed3_capture_nt_UISA_VSIB_ZMM(d);
10018 xed3_capture_nt_MEMDISP8(d);
10019 /*pacify the compiler */
10020 (void)d;
10021 break;
10022 case 2: /*(2,) -> MOD=0b10 UISA_VSIB_ZMM() MEMDISP32() |*/
10023 xed3_capture_nt_UISA_VSIB_ZMM(d);
10024 xed3_capture_nt_MEMDISP32(d);
10025 /*pacify the compiler */
10026 (void)d;
10027 break;
10028 default:
10029 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
10030 break;
10031 }
10032 }
xed3_capture_nt_VGPR32_R_64(xed_decoded_inst_t * d)10033 static XED_INLINE void xed3_capture_nt_VGPR32_R_64(xed_decoded_inst_t* d)
10034 {
10035 xed_uint32_t key = 0;
10036 key += (xed3_operand_get_reg(d)) << ((0));
10037 key += (xed3_operand_get_rexr(d)) << ((3));
10038 /* now switch code..*/
10039 switch(key) {
10040 case 0: /*(0, 0) -> REXR=0 REG=0 | OUTREG=XED_REG_EAX*/
10041 xed3_operand_set_outreg(d, XED_REG_EAX);
10042 /*pacify the compiler */
10043 (void)d;
10044 break;
10045 case 1: /*(1, 0) -> REXR=0 REG=1 | OUTREG=XED_REG_ECX*/
10046 xed3_operand_set_outreg(d, XED_REG_ECX);
10047 /*pacify the compiler */
10048 (void)d;
10049 break;
10050 case 2: /*(2, 0) -> REXR=0 REG=2 | OUTREG=XED_REG_EDX*/
10051 xed3_operand_set_outreg(d, XED_REG_EDX);
10052 /*pacify the compiler */
10053 (void)d;
10054 break;
10055 case 3: /*(3, 0) -> REXR=0 REG=3 | OUTREG=XED_REG_EBX*/
10056 xed3_operand_set_outreg(d, XED_REG_EBX);
10057 /*pacify the compiler */
10058 (void)d;
10059 break;
10060 case 4: /*(4, 0) -> REXR=0 REG=4 | OUTREG=XED_REG_ESP*/
10061 xed3_operand_set_outreg(d, XED_REG_ESP);
10062 /*pacify the compiler */
10063 (void)d;
10064 break;
10065 case 5: /*(5, 0) -> REXR=0 REG=5 | OUTREG=XED_REG_EBP*/
10066 xed3_operand_set_outreg(d, XED_REG_EBP);
10067 /*pacify the compiler */
10068 (void)d;
10069 break;
10070 case 6: /*(6, 0) -> REXR=0 REG=6 | OUTREG=XED_REG_ESI*/
10071 xed3_operand_set_outreg(d, XED_REG_ESI);
10072 /*pacify the compiler */
10073 (void)d;
10074 break;
10075 case 7: /*(7, 0) -> REXR=0 REG=7 | OUTREG=XED_REG_EDI*/
10076 xed3_operand_set_outreg(d, XED_REG_EDI);
10077 /*pacify the compiler */
10078 (void)d;
10079 break;
10080 case 8: /*(0, 1) -> REXR=1 REG=0 | OUTREG=XED_REG_R8D*/
10081 xed3_operand_set_outreg(d, XED_REG_R8D);
10082 /*pacify the compiler */
10083 (void)d;
10084 break;
10085 case 9: /*(1, 1) -> REXR=1 REG=1 | OUTREG=XED_REG_R9D*/
10086 xed3_operand_set_outreg(d, XED_REG_R9D);
10087 /*pacify the compiler */
10088 (void)d;
10089 break;
10090 case 10: /*(2, 1) -> REXR=1 REG=2 | OUTREG=XED_REG_R10D*/
10091 xed3_operand_set_outreg(d, XED_REG_R10D);
10092 /*pacify the compiler */
10093 (void)d;
10094 break;
10095 case 11: /*(3, 1) -> REXR=1 REG=3 | OUTREG=XED_REG_R11D*/
10096 xed3_operand_set_outreg(d, XED_REG_R11D);
10097 /*pacify the compiler */
10098 (void)d;
10099 break;
10100 case 12: /*(4, 1) -> REXR=1 REG=4 | OUTREG=XED_REG_R12D*/
10101 xed3_operand_set_outreg(d, XED_REG_R12D);
10102 /*pacify the compiler */
10103 (void)d;
10104 break;
10105 case 13: /*(5, 1) -> REXR=1 REG=5 | OUTREG=XED_REG_R13D*/
10106 xed3_operand_set_outreg(d, XED_REG_R13D);
10107 /*pacify the compiler */
10108 (void)d;
10109 break;
10110 case 14: /*(6, 1) -> REXR=1 REG=6 | OUTREG=XED_REG_R14D*/
10111 xed3_operand_set_outreg(d, XED_REG_R14D);
10112 /*pacify the compiler */
10113 (void)d;
10114 break;
10115 case 15: /*(7, 1) -> REXR=1 REG=7 | OUTREG=XED_REG_R15D*/
10116 xed3_operand_set_outreg(d, XED_REG_R15D);
10117 /*pacify the compiler */
10118 (void)d;
10119 break;
10120 default:
10121 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
10122 break;
10123 }
10124 }
xed3_capture_nt_CR_B(xed_decoded_inst_t * d)10125 static XED_INLINE void xed3_capture_nt_CR_B(xed_decoded_inst_t* d)
10126 {
10127 xed_uint32_t key = 0;
10128 key += (xed3_operand_get_rexb(d)) << ((0));
10129 key += (xed3_operand_get_rm(d)) << ((1));
10130 /* now switch code..*/
10131 switch(key) {
10132 case 0: /*(0, 0) -> REXB=0 RM=0x0 | OUTREG=XED_REG_CR0*/
10133 xed3_operand_set_outreg(d, XED_REG_CR0);
10134 /*pacify the compiler */
10135 (void)d;
10136 break;
10137 case 1: /*(1, 0) -> REXB=1 RM=0x0 | OUTREG=XED_REG_CR8*/
10138 xed3_operand_set_outreg(d, XED_REG_CR8);
10139 /*pacify the compiler */
10140 (void)d;
10141 break;
10142 case 2: /*(0, 1) -> REXB=0 RM=0x1 | OUTREG=XED_REG_ERROR enc*/
10143 xed3_operand_set_outreg(d, XED_REG_ERROR);
10144 xed3_operand_set_error(d, XED_ERROR_BAD_REGISTER);
10145 /*pacify the compiler */
10146 (void)d;
10147 break;
10148 case 3: /*(1, 1) -> REXB=1 RM=0x1 | OUTREG=XED_REG_ERROR*/
10149 xed3_operand_set_outreg(d, XED_REG_ERROR);
10150 xed3_operand_set_error(d, XED_ERROR_BAD_REGISTER);
10151 /*pacify the compiler */
10152 (void)d;
10153 break;
10154 case 4: /*(0, 2) -> REXB=0 RM=0x2 | OUTREG=XED_REG_CR2*/
10155 xed3_operand_set_outreg(d, XED_REG_CR2);
10156 /*pacify the compiler */
10157 (void)d;
10158 break;
10159 case 5: /*(1, 2) -> REXB=1 RM=0x2 | OUTREG=XED_REG_ERROR*/
10160 xed3_operand_set_outreg(d, XED_REG_ERROR);
10161 xed3_operand_set_error(d, XED_ERROR_BAD_REGISTER);
10162 /*pacify the compiler */
10163 (void)d;
10164 break;
10165 case 6: /*(0, 3) -> REXB=0 RM=0x3 | OUTREG=XED_REG_CR3*/
10166 xed3_operand_set_outreg(d, XED_REG_CR3);
10167 /*pacify the compiler */
10168 (void)d;
10169 break;
10170 case 7: /*(1, 3) -> REXB=1 RM=0x3 | OUTREG=XED_REG_ERROR*/
10171 xed3_operand_set_outreg(d, XED_REG_ERROR);
10172 xed3_operand_set_error(d, XED_ERROR_BAD_REGISTER);
10173 /*pacify the compiler */
10174 (void)d;
10175 break;
10176 case 8: /*(0, 4) -> REXB=0 RM=0x4 | OUTREG=XED_REG_CR4*/
10177 xed3_operand_set_outreg(d, XED_REG_CR4);
10178 /*pacify the compiler */
10179 (void)d;
10180 break;
10181 case 9: /*(1, 4) -> REXB=1 RM=0x4 | OUTREG=XED_REG_ERROR*/
10182 xed3_operand_set_outreg(d, XED_REG_ERROR);
10183 xed3_operand_set_error(d, XED_ERROR_BAD_REGISTER);
10184 /*pacify the compiler */
10185 (void)d;
10186 break;
10187 case 10: /*(0, 5) -> REXB=0 RM=0x5 | OUTREG=XED_REG_ERROR*/
10188 xed3_operand_set_outreg(d, XED_REG_ERROR);
10189 xed3_operand_set_error(d, XED_ERROR_BAD_REGISTER);
10190 /*pacify the compiler */
10191 (void)d;
10192 break;
10193 case 11: /*(1, 5) -> REXB=1 RM=0x5 | OUTREG=XED_REG_ERROR*/
10194 xed3_operand_set_outreg(d, XED_REG_ERROR);
10195 xed3_operand_set_error(d, XED_ERROR_BAD_REGISTER);
10196 /*pacify the compiler */
10197 (void)d;
10198 break;
10199 case 12: /*(0, 6) -> REXB=0 RM=0x6 | OUTREG=XED_REG_ERROR*/
10200 xed3_operand_set_outreg(d, XED_REG_ERROR);
10201 xed3_operand_set_error(d, XED_ERROR_BAD_REGISTER);
10202 /*pacify the compiler */
10203 (void)d;
10204 break;
10205 case 13: /*(1, 6) -> REXB=1 RM=0x6 | OUTREG=XED_REG_ERROR*/
10206 xed3_operand_set_outreg(d, XED_REG_ERROR);
10207 xed3_operand_set_error(d, XED_ERROR_BAD_REGISTER);
10208 /*pacify the compiler */
10209 (void)d;
10210 break;
10211 case 14: /*(0, 7) -> REXB=0 RM=0x7 | OUTREG=XED_REG_ERROR*/
10212 xed3_operand_set_outreg(d, XED_REG_ERROR);
10213 xed3_operand_set_error(d, XED_ERROR_BAD_REGISTER);
10214 /*pacify the compiler */
10215 (void)d;
10216 break;
10217 case 15: /*(1, 7) -> REXB=1 RM=0x7 | OUTREG=XED_REG_ERROR*/
10218 xed3_operand_set_outreg(d, XED_REG_ERROR);
10219 xed3_operand_set_error(d, XED_ERROR_BAD_REGISTER);
10220 /*pacify the compiler */
10221 (void)d;
10222 break;
10223 default:
10224 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
10225 break;
10226 }
10227 }
xed3_capture_nt_UIMM32(xed_decoded_inst_t * d)10228 static XED_INLINE void xed3_capture_nt_UIMM32(xed_decoded_inst_t* d)
10229 {
10230 xed3_operand_set_imm_width(d, 0x20);
10231 /*pacify the compiler */
10232 (void)d;
10233 }
xed3_capture_nt_XMM_N_64(xed_decoded_inst_t * d)10234 static XED_INLINE void xed3_capture_nt_XMM_N_64(xed_decoded_inst_t* d)
10235 {
10236 xed_uint32_t key = 0;
10237 key += (xed3_operand_get_vexdest210(d)) << ((0));
10238 key += (xed3_operand_get_vexdest3(d)) << ((3));
10239 /* now switch code..*/
10240 switch(key) {
10241 case 0: /*(0, 0) -> VEXDEST3=0 VEXDEST210=0 | OUTREG=XED_REG_XMM15*/
10242 xed3_operand_set_outreg(d, XED_REG_XMM15);
10243 /*pacify the compiler */
10244 (void)d;
10245 break;
10246 case 1: /*(1, 0) -> VEXDEST3=0 VEXDEST210=1 | OUTREG=XED_REG_XMM14*/
10247 xed3_operand_set_outreg(d, XED_REG_XMM14);
10248 /*pacify the compiler */
10249 (void)d;
10250 break;
10251 case 2: /*(2, 0) -> VEXDEST3=0 VEXDEST210=2 | OUTREG=XED_REG_XMM13*/
10252 xed3_operand_set_outreg(d, XED_REG_XMM13);
10253 /*pacify the compiler */
10254 (void)d;
10255 break;
10256 case 3: /*(3, 0) -> VEXDEST3=0 VEXDEST210=3 | OUTREG=XED_REG_XMM12*/
10257 xed3_operand_set_outreg(d, XED_REG_XMM12);
10258 /*pacify the compiler */
10259 (void)d;
10260 break;
10261 case 4: /*(4, 0) -> VEXDEST3=0 VEXDEST210=4 | OUTREG=XED_REG_XMM11*/
10262 xed3_operand_set_outreg(d, XED_REG_XMM11);
10263 /*pacify the compiler */
10264 (void)d;
10265 break;
10266 case 5: /*(5, 0) -> VEXDEST3=0 VEXDEST210=5 | OUTREG=XED_REG_XMM10*/
10267 xed3_operand_set_outreg(d, XED_REG_XMM10);
10268 /*pacify the compiler */
10269 (void)d;
10270 break;
10271 case 6: /*(6, 0) -> VEXDEST3=0 VEXDEST210=6 | OUTREG=XED_REG_XMM9*/
10272 xed3_operand_set_outreg(d, XED_REG_XMM9);
10273 /*pacify the compiler */
10274 (void)d;
10275 break;
10276 case 7: /*(7, 0) -> VEXDEST3=0 VEXDEST210=7 | OUTREG=XED_REG_XMM8*/
10277 xed3_operand_set_outreg(d, XED_REG_XMM8);
10278 /*pacify the compiler */
10279 (void)d;
10280 break;
10281 case 8: /*(0, 1) -> VEXDEST3=1 VEXDEST210=0 | OUTREG=XED_REG_XMM7*/
10282 xed3_operand_set_outreg(d, XED_REG_XMM7);
10283 /*pacify the compiler */
10284 (void)d;
10285 break;
10286 case 9: /*(1, 1) -> VEXDEST3=1 VEXDEST210=1 | OUTREG=XED_REG_XMM6*/
10287 xed3_operand_set_outreg(d, XED_REG_XMM6);
10288 /*pacify the compiler */
10289 (void)d;
10290 break;
10291 case 10: /*(2, 1) -> VEXDEST3=1 VEXDEST210=2 | OUTREG=XED_REG_XMM5*/
10292 xed3_operand_set_outreg(d, XED_REG_XMM5);
10293 /*pacify the compiler */
10294 (void)d;
10295 break;
10296 case 11: /*(3, 1) -> VEXDEST3=1 VEXDEST210=3 | OUTREG=XED_REG_XMM4*/
10297 xed3_operand_set_outreg(d, XED_REG_XMM4);
10298 /*pacify the compiler */
10299 (void)d;
10300 break;
10301 case 12: /*(4, 1) -> VEXDEST3=1 VEXDEST210=4 | OUTREG=XED_REG_XMM3*/
10302 xed3_operand_set_outreg(d, XED_REG_XMM3);
10303 /*pacify the compiler */
10304 (void)d;
10305 break;
10306 case 13: /*(5, 1) -> VEXDEST3=1 VEXDEST210=5 | OUTREG=XED_REG_XMM2*/
10307 xed3_operand_set_outreg(d, XED_REG_XMM2);
10308 /*pacify the compiler */
10309 (void)d;
10310 break;
10311 case 14: /*(6, 1) -> VEXDEST3=1 VEXDEST210=6 | OUTREG=XED_REG_XMM1*/
10312 xed3_operand_set_outreg(d, XED_REG_XMM1);
10313 /*pacify the compiler */
10314 (void)d;
10315 break;
10316 case 15: /*(7, 1) -> VEXDEST3=1 VEXDEST210=7 | OUTREG=XED_REG_XMM0*/
10317 xed3_operand_set_outreg(d, XED_REG_XMM0);
10318 /*pacify the compiler */
10319 (void)d;
10320 break;
10321 default:
10322 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
10323 break;
10324 }
10325 }
xed3_capture_nt_SrBP(xed_decoded_inst_t * d)10326 static XED_INLINE void xed3_capture_nt_SrBP(xed_decoded_inst_t* d)
10327 {
10328 xed_uint32_t key = 0;
10329 key += (xed3_operand_get_smode(d)) << ((0));
10330 /* now switch code..*/
10331 switch(key) {
10332 case 0: /*(0,) -> smode16 | OUTREG=XED_REG_BP*/
10333 xed3_operand_set_outreg(d, XED_REG_BP);
10334 /*pacify the compiler */
10335 (void)d;
10336 break;
10337 case 1: /*(1,) -> smode32 | OUTREG=XED_REG_EBP*/
10338 xed3_operand_set_outreg(d, XED_REG_EBP);
10339 /*pacify the compiler */
10340 (void)d;
10341 break;
10342 case 2: /*(2,) -> smode64 | OUTREG=XED_REG_RBP*/
10343 xed3_operand_set_outreg(d, XED_REG_RBP);
10344 /*pacify the compiler */
10345 (void)d;
10346 break;
10347 default:
10348 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
10349 break;
10350 }
10351 }
xed3_capture_nt_MASK_B(xed_decoded_inst_t * d)10352 static XED_INLINE void xed3_capture_nt_MASK_B(xed_decoded_inst_t* d)
10353 {
10354 xed_uint32_t key = 0;
10355 key += (xed3_operand_get_rm(d)) << ((0));
10356 /* now switch code..*/
10357 switch(key) {
10358 case 0: /*(0,) -> RM=0x0 | OUTREG=XED_REG_K0*/
10359 xed3_operand_set_outreg(d, XED_REG_K0);
10360 /*pacify the compiler */
10361 (void)d;
10362 break;
10363 case 1: /*(1,) -> RM=0x1 | OUTREG=XED_REG_K1*/
10364 xed3_operand_set_outreg(d, XED_REG_K1);
10365 /*pacify the compiler */
10366 (void)d;
10367 break;
10368 case 2: /*(2,) -> RM=0x2 | OUTREG=XED_REG_K2*/
10369 xed3_operand_set_outreg(d, XED_REG_K2);
10370 /*pacify the compiler */
10371 (void)d;
10372 break;
10373 case 3: /*(3,) -> RM=0x3 | OUTREG=XED_REG_K3*/
10374 xed3_operand_set_outreg(d, XED_REG_K3);
10375 /*pacify the compiler */
10376 (void)d;
10377 break;
10378 case 4: /*(4,) -> RM=0x4 | OUTREG=XED_REG_K4*/
10379 xed3_operand_set_outreg(d, XED_REG_K4);
10380 /*pacify the compiler */
10381 (void)d;
10382 break;
10383 case 5: /*(5,) -> RM=0x5 | OUTREG=XED_REG_K5*/
10384 xed3_operand_set_outreg(d, XED_REG_K5);
10385 /*pacify the compiler */
10386 (void)d;
10387 break;
10388 case 6: /*(6,) -> RM=0x6 | OUTREG=XED_REG_K6*/
10389 xed3_operand_set_outreg(d, XED_REG_K6);
10390 /*pacify the compiler */
10391 (void)d;
10392 break;
10393 case 7: /*(7,) -> RM=0x7 | OUTREG=XED_REG_K7*/
10394 xed3_operand_set_outreg(d, XED_REG_K7);
10395 /*pacify the compiler */
10396 (void)d;
10397 break;
10398 default:
10399 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
10400 break;
10401 }
10402 }
xed3_capture_nt_VGPR32_N(xed_decoded_inst_t * d)10403 static XED_INLINE void xed3_capture_nt_VGPR32_N(xed_decoded_inst_t* d)
10404 {
10405 xed_uint32_t key = 0;
10406 key += (xed3_operand_get_mode(d)) << ((0));
10407 /* now switch code..*/
10408 switch(key) {
10409 case 0: /*(0,) -> mode16 | OUTREG=VGPR32_N_32()*/
10410 xed3_capture_nt_VGPR32_N_32(d);
10411 /*pacify the compiler */
10412 (void)d;
10413 break;
10414 case 1: /*(1,) -> mode32 | OUTREG=VGPR32_N_32()*/
10415 xed3_capture_nt_VGPR32_N_32(d);
10416 /*pacify the compiler */
10417 (void)d;
10418 break;
10419 case 2: /*(2,) -> mode64 | OUTREG=VGPR32_N_64()*/
10420 xed3_capture_nt_VGPR32_N_64(d);
10421 /*pacify the compiler */
10422 (void)d;
10423 break;
10424 default:
10425 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
10426 break;
10427 }
10428 }
xed3_capture_nt_YMM_R_32(xed_decoded_inst_t * d)10429 static XED_INLINE void xed3_capture_nt_YMM_R_32(xed_decoded_inst_t* d)
10430 {
10431 xed_uint32_t key = 0;
10432 key += (xed3_operand_get_reg(d)) << ((0));
10433 /* now switch code..*/
10434 switch(key) {
10435 case 0: /*(0,) -> REG=0 | OUTREG=XED_REG_YMM0*/
10436 xed3_operand_set_outreg(d, XED_REG_YMM0);
10437 /*pacify the compiler */
10438 (void)d;
10439 break;
10440 case 1: /*(1,) -> REG=1 | OUTREG=XED_REG_YMM1*/
10441 xed3_operand_set_outreg(d, XED_REG_YMM1);
10442 /*pacify the compiler */
10443 (void)d;
10444 break;
10445 case 2: /*(2,) -> REG=2 | OUTREG=XED_REG_YMM2*/
10446 xed3_operand_set_outreg(d, XED_REG_YMM2);
10447 /*pacify the compiler */
10448 (void)d;
10449 break;
10450 case 3: /*(3,) -> REG=3 | OUTREG=XED_REG_YMM3*/
10451 xed3_operand_set_outreg(d, XED_REG_YMM3);
10452 /*pacify the compiler */
10453 (void)d;
10454 break;
10455 case 4: /*(4,) -> REG=4 | OUTREG=XED_REG_YMM4*/
10456 xed3_operand_set_outreg(d, XED_REG_YMM4);
10457 /*pacify the compiler */
10458 (void)d;
10459 break;
10460 case 5: /*(5,) -> REG=5 | OUTREG=XED_REG_YMM5*/
10461 xed3_operand_set_outreg(d, XED_REG_YMM5);
10462 /*pacify the compiler */
10463 (void)d;
10464 break;
10465 case 6: /*(6,) -> REG=6 | OUTREG=XED_REG_YMM6*/
10466 xed3_operand_set_outreg(d, XED_REG_YMM6);
10467 /*pacify the compiler */
10468 (void)d;
10469 break;
10470 case 7: /*(7,) -> REG=7 | OUTREG=XED_REG_YMM7*/
10471 xed3_operand_set_outreg(d, XED_REG_YMM7);
10472 /*pacify the compiler */
10473 (void)d;
10474 break;
10475 default:
10476 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
10477 break;
10478 }
10479 }
xed3_capture_nt_NELEM_TUPLE1_WORD(xed_decoded_inst_t * d)10480 static XED_INLINE void xed3_capture_nt_NELEM_TUPLE1_WORD(xed_decoded_inst_t* d)
10481 {
10482 xed_uint32_t key = 0;
10483 key += (xed3_operand_get_vl(d)) << ((0));
10484 /* now switch code..*/
10485 switch(key) {
10486 case 0: /*(0,) -> VL128 | NELEM=1*/
10487 xed3_operand_set_nelem(d, 0x1);
10488 /*pacify the compiler */
10489 (void)d;
10490 break;
10491 case 1: /*(1,) -> VL256 | NELEM=1*/
10492 xed3_operand_set_nelem(d, 0x1);
10493 /*pacify the compiler */
10494 (void)d;
10495 break;
10496 case 2: /*(2,) -> VL512 | NELEM=1*/
10497 xed3_operand_set_nelem(d, 0x1);
10498 /*pacify the compiler */
10499 (void)d;
10500 break;
10501 default:
10502 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
10503 break;
10504 }
10505 }
xed3_capture_nt_NELEM_SCALAR(xed_decoded_inst_t * d)10506 static XED_INLINE void xed3_capture_nt_NELEM_SCALAR(xed_decoded_inst_t* d)
10507 {
10508 xed_uint32_t key = 0;
10509 key += (xed3_operand_get_vl(d)) << ((0));
10510 /* now switch code..*/
10511 switch(key) {
10512 case 0: /*(0,) -> VL128 | NELEM=1*/
10513 xed3_operand_set_nelem(d, 0x1);
10514 /*pacify the compiler */
10515 (void)d;
10516 break;
10517 case 1: /*(1,) -> VL256 | NELEM=1*/
10518 xed3_operand_set_nelem(d, 0x1);
10519 /*pacify the compiler */
10520 (void)d;
10521 break;
10522 case 2: /*(2,) -> VL512 | NELEM=1*/
10523 xed3_operand_set_nelem(d, 0x1);
10524 /*pacify the compiler */
10525 (void)d;
10526 break;
10527 default:
10528 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
10529 break;
10530 }
10531 }
xed3_capture_nt_SE_IMM8(xed_decoded_inst_t * d)10532 static XED_INLINE void xed3_capture_nt_SE_IMM8(xed_decoded_inst_t* d)
10533 {
10534 xed3_operand_set_imm_width(d, 0x8);
10535 /*pacify the compiler */
10536 (void)d;
10537 }
xed3_capture_nt_FINAL_ESEG(xed_decoded_inst_t * d)10538 static XED_INLINE void xed3_capture_nt_FINAL_ESEG(xed_decoded_inst_t* d)
10539 {
10540 xed_uint32_t key = 0;
10541 key += (xed3_operand_get_mode(d)) << ((0));
10542 /* now switch code..*/
10543 switch(key) {
10544 case 0: /*(0,) -> mode16 | OUTREG=XED_REG_ES USING_DEFAULT_SEGMENT0=1*/
10545 xed3_operand_set_outreg(d, XED_REG_ES);
10546 xed3_operand_set_using_default_segment0(d, 0x1);
10547 /*pacify the compiler */
10548 (void)d;
10549 break;
10550 case 1: /*(1,) -> mode32 | OUTREG=XED_REG_ES USING_DEFAULT_SEGMENT0=1*/
10551 xed3_operand_set_outreg(d, XED_REG_ES);
10552 xed3_operand_set_using_default_segment0(d, 0x1);
10553 /*pacify the compiler */
10554 (void)d;
10555 break;
10556 case 2: /*(2,) -> mode64 | OUTREG=XED_REG_INVALID USING_DEFAULT_SEGMENT0=1*/
10557 xed3_operand_set_outreg(d, XED_REG_INVALID);
10558 xed3_operand_set_using_default_segment0(d, 0x1);
10559 /*pacify the compiler */
10560 (void)d;
10561 break;
10562 default:
10563 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
10564 break;
10565 }
10566 }
xed3_capture_nt_UISA_VSIB_INDEX_ZMM(xed_decoded_inst_t * d)10567 static XED_INLINE void xed3_capture_nt_UISA_VSIB_INDEX_ZMM(xed_decoded_inst_t* d)
10568 {
10569 xed_uint32_t key = 0;
10570 key += (xed3_operand_get_rexx(d)) << ((0));
10571 key += (xed3_operand_get_sibindex(d)) << ((1));
10572 key += (xed3_operand_get_vexdest4(d)) << ((4));
10573 /* now switch code..*/
10574 switch(key) {
10575 case 0: /*(0, 0, 0) -> VEXDEST4=0 REXX=0 SIBINDEX=0 | OUTREG=XED_REG_ZMM0*/
10576 xed3_operand_set_outreg(d, XED_REG_ZMM0);
10577 /*pacify the compiler */
10578 (void)d;
10579 break;
10580 case 1: /*(1, 0, 0) -> VEXDEST4=0 REXX=1 SIBINDEX=0 | OUTREG=XED_REG_ZMM8*/
10581 xed3_operand_set_outreg(d, XED_REG_ZMM8);
10582 /*pacify the compiler */
10583 (void)d;
10584 break;
10585 case 2: /*(0, 1, 0) -> VEXDEST4=0 REXX=0 SIBINDEX=1 | OUTREG=XED_REG_ZMM1*/
10586 xed3_operand_set_outreg(d, XED_REG_ZMM1);
10587 /*pacify the compiler */
10588 (void)d;
10589 break;
10590 case 3: /*(1, 1, 0) -> VEXDEST4=0 REXX=1 SIBINDEX=1 | OUTREG=XED_REG_ZMM9*/
10591 xed3_operand_set_outreg(d, XED_REG_ZMM9);
10592 /*pacify the compiler */
10593 (void)d;
10594 break;
10595 case 4: /*(0, 2, 0) -> VEXDEST4=0 REXX=0 SIBINDEX=2 | OUTREG=XED_REG_ZMM2*/
10596 xed3_operand_set_outreg(d, XED_REG_ZMM2);
10597 /*pacify the compiler */
10598 (void)d;
10599 break;
10600 case 5: /*(1, 2, 0) -> VEXDEST4=0 REXX=1 SIBINDEX=2 | OUTREG=XED_REG_ZMM10*/
10601 xed3_operand_set_outreg(d, XED_REG_ZMM10);
10602 /*pacify the compiler */
10603 (void)d;
10604 break;
10605 case 6: /*(0, 3, 0) -> VEXDEST4=0 REXX=0 SIBINDEX=3 | OUTREG=XED_REG_ZMM3*/
10606 xed3_operand_set_outreg(d, XED_REG_ZMM3);
10607 /*pacify the compiler */
10608 (void)d;
10609 break;
10610 case 7: /*(1, 3, 0) -> VEXDEST4=0 REXX=1 SIBINDEX=3 | OUTREG=XED_REG_ZMM11*/
10611 xed3_operand_set_outreg(d, XED_REG_ZMM11);
10612 /*pacify the compiler */
10613 (void)d;
10614 break;
10615 case 8: /*(0, 4, 0) -> VEXDEST4=0 REXX=0 SIBINDEX=4 | OUTREG=XED_REG_ZMM4*/
10616 xed3_operand_set_outreg(d, XED_REG_ZMM4);
10617 /*pacify the compiler */
10618 (void)d;
10619 break;
10620 case 9: /*(1, 4, 0) -> VEXDEST4=0 REXX=1 SIBINDEX=4 | OUTREG=XED_REG_ZMM12*/
10621 xed3_operand_set_outreg(d, XED_REG_ZMM12);
10622 /*pacify the compiler */
10623 (void)d;
10624 break;
10625 case 10: /*(0, 5, 0) -> VEXDEST4=0 REXX=0 SIBINDEX=5 | OUTREG=XED_REG_ZMM5*/
10626 xed3_operand_set_outreg(d, XED_REG_ZMM5);
10627 /*pacify the compiler */
10628 (void)d;
10629 break;
10630 case 11: /*(1, 5, 0) -> VEXDEST4=0 REXX=1 SIBINDEX=5 | OUTREG=XED_REG_ZMM13*/
10631 xed3_operand_set_outreg(d, XED_REG_ZMM13);
10632 /*pacify the compiler */
10633 (void)d;
10634 break;
10635 case 12: /*(0, 6, 0) -> VEXDEST4=0 REXX=0 SIBINDEX=6 | OUTREG=XED_REG_ZMM6*/
10636 xed3_operand_set_outreg(d, XED_REG_ZMM6);
10637 /*pacify the compiler */
10638 (void)d;
10639 break;
10640 case 13: /*(1, 6, 0) -> VEXDEST4=0 REXX=1 SIBINDEX=6 | OUTREG=XED_REG_ZMM14*/
10641 xed3_operand_set_outreg(d, XED_REG_ZMM14);
10642 /*pacify the compiler */
10643 (void)d;
10644 break;
10645 case 14: /*(0, 7, 0) -> VEXDEST4=0 REXX=0 SIBINDEX=7 | OUTREG=XED_REG_ZMM7*/
10646 xed3_operand_set_outreg(d, XED_REG_ZMM7);
10647 /*pacify the compiler */
10648 (void)d;
10649 break;
10650 case 15: /*(1, 7, 0) -> VEXDEST4=0 REXX=1 SIBINDEX=7 | OUTREG=XED_REG_ZMM15*/
10651 xed3_operand_set_outreg(d, XED_REG_ZMM15);
10652 /*pacify the compiler */
10653 (void)d;
10654 break;
10655 case 16: /*(0, 0, 1) -> VEXDEST4=1 REXX=0 SIBINDEX=0 | OUTREG=XED_REG_ZMM16*/
10656 xed3_operand_set_outreg(d, XED_REG_ZMM16);
10657 /*pacify the compiler */
10658 (void)d;
10659 break;
10660 case 17: /*(1, 0, 1) -> VEXDEST4=1 REXX=1 SIBINDEX=0 | OUTREG=XED_REG_ZMM24*/
10661 xed3_operand_set_outreg(d, XED_REG_ZMM24);
10662 /*pacify the compiler */
10663 (void)d;
10664 break;
10665 case 18: /*(0, 1, 1) -> VEXDEST4=1 REXX=0 SIBINDEX=1 | OUTREG=XED_REG_ZMM17*/
10666 xed3_operand_set_outreg(d, XED_REG_ZMM17);
10667 /*pacify the compiler */
10668 (void)d;
10669 break;
10670 case 19: /*(1, 1, 1) -> VEXDEST4=1 REXX=1 SIBINDEX=1 | OUTREG=XED_REG_ZMM25*/
10671 xed3_operand_set_outreg(d, XED_REG_ZMM25);
10672 /*pacify the compiler */
10673 (void)d;
10674 break;
10675 case 20: /*(0, 2, 1) -> VEXDEST4=1 REXX=0 SIBINDEX=2 | OUTREG=XED_REG_ZMM18*/
10676 xed3_operand_set_outreg(d, XED_REG_ZMM18);
10677 /*pacify the compiler */
10678 (void)d;
10679 break;
10680 case 21: /*(1, 2, 1) -> VEXDEST4=1 REXX=1 SIBINDEX=2 | OUTREG=XED_REG_ZMM26*/
10681 xed3_operand_set_outreg(d, XED_REG_ZMM26);
10682 /*pacify the compiler */
10683 (void)d;
10684 break;
10685 case 22: /*(0, 3, 1) -> VEXDEST4=1 REXX=0 SIBINDEX=3 | OUTREG=XED_REG_ZMM19*/
10686 xed3_operand_set_outreg(d, XED_REG_ZMM19);
10687 /*pacify the compiler */
10688 (void)d;
10689 break;
10690 case 23: /*(1, 3, 1) -> VEXDEST4=1 REXX=1 SIBINDEX=3 | OUTREG=XED_REG_ZMM27*/
10691 xed3_operand_set_outreg(d, XED_REG_ZMM27);
10692 /*pacify the compiler */
10693 (void)d;
10694 break;
10695 case 24: /*(0, 4, 1) -> VEXDEST4=1 REXX=0 SIBINDEX=4 | OUTREG=XED_REG_ZMM20*/
10696 xed3_operand_set_outreg(d, XED_REG_ZMM20);
10697 /*pacify the compiler */
10698 (void)d;
10699 break;
10700 case 25: /*(1, 4, 1) -> VEXDEST4=1 REXX=1 SIBINDEX=4 | OUTREG=XED_REG_ZMM28*/
10701 xed3_operand_set_outreg(d, XED_REG_ZMM28);
10702 /*pacify the compiler */
10703 (void)d;
10704 break;
10705 case 26: /*(0, 5, 1) -> VEXDEST4=1 REXX=0 SIBINDEX=5 | OUTREG=XED_REG_ZMM21*/
10706 xed3_operand_set_outreg(d, XED_REG_ZMM21);
10707 /*pacify the compiler */
10708 (void)d;
10709 break;
10710 case 27: /*(1, 5, 1) -> VEXDEST4=1 REXX=1 SIBINDEX=5 | OUTREG=XED_REG_ZMM29*/
10711 xed3_operand_set_outreg(d, XED_REG_ZMM29);
10712 /*pacify the compiler */
10713 (void)d;
10714 break;
10715 case 28: /*(0, 6, 1) -> VEXDEST4=1 REXX=0 SIBINDEX=6 | OUTREG=XED_REG_ZMM22*/
10716 xed3_operand_set_outreg(d, XED_REG_ZMM22);
10717 /*pacify the compiler */
10718 (void)d;
10719 break;
10720 case 29: /*(1, 6, 1) -> VEXDEST4=1 REXX=1 SIBINDEX=6 | OUTREG=XED_REG_ZMM30*/
10721 xed3_operand_set_outreg(d, XED_REG_ZMM30);
10722 /*pacify the compiler */
10723 (void)d;
10724 break;
10725 case 30: /*(0, 7, 1) -> VEXDEST4=1 REXX=0 SIBINDEX=7 | OUTREG=XED_REG_ZMM23*/
10726 xed3_operand_set_outreg(d, XED_REG_ZMM23);
10727 /*pacify the compiler */
10728 (void)d;
10729 break;
10730 case 31: /*(1, 7, 1) -> VEXDEST4=1 REXX=1 SIBINDEX=7 | OUTREG=XED_REG_ZMM31*/
10731 xed3_operand_set_outreg(d, XED_REG_ZMM31);
10732 /*pacify the compiler */
10733 (void)d;
10734 break;
10735 default:
10736 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
10737 break;
10738 }
10739 }
xed3_capture_nt_CR_R(xed_decoded_inst_t * d)10740 static XED_INLINE void xed3_capture_nt_CR_R(xed_decoded_inst_t* d)
10741 {
10742 xed_uint32_t key = 0;
10743 key += (xed3_operand_get_reg(d)) << ((0));
10744 key += (xed3_operand_get_rexr(d)) << ((3));
10745 /* now switch code..*/
10746 switch(key) {
10747 case 0: /*(0, 0) -> REXR=0 REG=0x0 | OUTREG=XED_REG_CR0*/
10748 xed3_operand_set_outreg(d, XED_REG_CR0);
10749 /*pacify the compiler */
10750 (void)d;
10751 break;
10752 case 1: /*(1, 0) -> REXR=0 REG=0x1 | OUTREG=XED_REG_ERROR enc*/
10753 xed3_operand_set_outreg(d, XED_REG_ERROR);
10754 xed3_operand_set_error(d, XED_ERROR_BAD_REGISTER);
10755 /*pacify the compiler */
10756 (void)d;
10757 break;
10758 case 2: /*(2, 0) -> REXR=0 REG=0x2 | OUTREG=XED_REG_CR2*/
10759 xed3_operand_set_outreg(d, XED_REG_CR2);
10760 /*pacify the compiler */
10761 (void)d;
10762 break;
10763 case 3: /*(3, 0) -> REXR=0 REG=0x3 | OUTREG=XED_REG_CR3*/
10764 xed3_operand_set_outreg(d, XED_REG_CR3);
10765 /*pacify the compiler */
10766 (void)d;
10767 break;
10768 case 4: /*(4, 0) -> REXR=0 REG=0x4 | OUTREG=XED_REG_CR4*/
10769 xed3_operand_set_outreg(d, XED_REG_CR4);
10770 /*pacify the compiler */
10771 (void)d;
10772 break;
10773 case 5: /*(5, 0) -> REXR=0 REG=0x5 | OUTREG=XED_REG_ERROR*/
10774 xed3_operand_set_outreg(d, XED_REG_ERROR);
10775 xed3_operand_set_error(d, XED_ERROR_BAD_REGISTER);
10776 /*pacify the compiler */
10777 (void)d;
10778 break;
10779 case 6: /*(6, 0) -> REXR=0 REG=0x6 | OUTREG=XED_REG_ERROR*/
10780 xed3_operand_set_outreg(d, XED_REG_ERROR);
10781 xed3_operand_set_error(d, XED_ERROR_BAD_REGISTER);
10782 /*pacify the compiler */
10783 (void)d;
10784 break;
10785 case 7: /*(7, 0) -> REXR=0 REG=0x7 | OUTREG=XED_REG_ERROR*/
10786 xed3_operand_set_outreg(d, XED_REG_ERROR);
10787 xed3_operand_set_error(d, XED_ERROR_BAD_REGISTER);
10788 /*pacify the compiler */
10789 (void)d;
10790 break;
10791 case 8: /*(0, 1) -> REXR=1 REG=0x0 | OUTREG=XED_REG_CR8*/
10792 xed3_operand_set_outreg(d, XED_REG_CR8);
10793 /*pacify the compiler */
10794 (void)d;
10795 break;
10796 case 9: /*(1, 1) -> REXR=1 REG=0x1 | OUTREG=XED_REG_ERROR*/
10797 xed3_operand_set_outreg(d, XED_REG_ERROR);
10798 xed3_operand_set_error(d, XED_ERROR_BAD_REGISTER);
10799 /*pacify the compiler */
10800 (void)d;
10801 break;
10802 case 10: /*(2, 1) -> REXR=1 REG=0x2 | OUTREG=XED_REG_ERROR*/
10803 xed3_operand_set_outreg(d, XED_REG_ERROR);
10804 xed3_operand_set_error(d, XED_ERROR_BAD_REGISTER);
10805 /*pacify the compiler */
10806 (void)d;
10807 break;
10808 case 11: /*(3, 1) -> REXR=1 REG=0x3 | OUTREG=XED_REG_ERROR*/
10809 xed3_operand_set_outreg(d, XED_REG_ERROR);
10810 xed3_operand_set_error(d, XED_ERROR_BAD_REGISTER);
10811 /*pacify the compiler */
10812 (void)d;
10813 break;
10814 case 12: /*(4, 1) -> REXR=1 REG=0x4 | OUTREG=XED_REG_ERROR*/
10815 xed3_operand_set_outreg(d, XED_REG_ERROR);
10816 xed3_operand_set_error(d, XED_ERROR_BAD_REGISTER);
10817 /*pacify the compiler */
10818 (void)d;
10819 break;
10820 case 13: /*(5, 1) -> REXR=1 REG=0x5 | OUTREG=XED_REG_ERROR*/
10821 xed3_operand_set_outreg(d, XED_REG_ERROR);
10822 xed3_operand_set_error(d, XED_ERROR_BAD_REGISTER);
10823 /*pacify the compiler */
10824 (void)d;
10825 break;
10826 case 14: /*(6, 1) -> REXR=1 REG=0x6 | OUTREG=XED_REG_ERROR*/
10827 xed3_operand_set_outreg(d, XED_REG_ERROR);
10828 xed3_operand_set_error(d, XED_ERROR_BAD_REGISTER);
10829 /*pacify the compiler */
10830 (void)d;
10831 break;
10832 case 15: /*(7, 1) -> REXR=1 REG=0x7 | OUTREG=XED_REG_ERROR*/
10833 xed3_operand_set_outreg(d, XED_REG_ERROR);
10834 xed3_operand_set_error(d, XED_ERROR_BAD_REGISTER);
10835 /*pacify the compiler */
10836 (void)d;
10837 break;
10838 default:
10839 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
10840 break;
10841 }
10842 }
xed3_capture_nt_MASK_N(xed_decoded_inst_t * d)10843 static XED_INLINE void xed3_capture_nt_MASK_N(xed_decoded_inst_t* d)
10844 {
10845 xed_uint32_t key = 0;
10846 key += (xed3_operand_get_mode(d)) << ((0));
10847 /* now switch code..*/
10848 switch(key) {
10849 case 0: /*(0,) -> mode16 | OUTREG=MASK_N32()*/
10850 xed3_capture_nt_MASK_N32(d);
10851 /*pacify the compiler */
10852 (void)d;
10853 break;
10854 case 1: /*(1,) -> mode32 | OUTREG=MASK_N32()*/
10855 xed3_capture_nt_MASK_N32(d);
10856 /*pacify the compiler */
10857 (void)d;
10858 break;
10859 case 2: /*(2,) -> mode64 | OUTREG=MASK_N64()*/
10860 xed3_capture_nt_MASK_N64(d);
10861 /*pacify the compiler */
10862 (void)d;
10863 break;
10864 default:
10865 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
10866 break;
10867 }
10868 }
xed3_capture_nt_OrSP(xed_decoded_inst_t * d)10869 static XED_INLINE void xed3_capture_nt_OrSP(xed_decoded_inst_t* d)
10870 {
10871 xed_uint32_t key = 0;
10872 key += (xed3_operand_get_eosz(d)) << ((0));
10873 /* now switch code..*/
10874 switch(key) {
10875 case 1: /*(1,) -> EOSZ=1 | OUTREG=XED_REG_SP*/
10876 xed3_operand_set_outreg(d, XED_REG_SP);
10877 /*pacify the compiler */
10878 (void)d;
10879 break;
10880 case 2: /*(2,) -> EOSZ=2 | OUTREG=XED_REG_ESP*/
10881 xed3_operand_set_outreg(d, XED_REG_ESP);
10882 /*pacify the compiler */
10883 (void)d;
10884 break;
10885 case 3: /*(3,) -> EOSZ=3 | OUTREG=XED_REG_RSP*/
10886 xed3_operand_set_outreg(d, XED_REG_RSP);
10887 /*pacify the compiler */
10888 (void)d;
10889 break;
10890 default:
10891 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
10892 break;
10893 }
10894 }
xed3_capture_nt_VGPR32_B(xed_decoded_inst_t * d)10895 static XED_INLINE void xed3_capture_nt_VGPR32_B(xed_decoded_inst_t* d)
10896 {
10897 xed_uint32_t key = 0;
10898 key += (xed3_operand_get_mode(d)) << ((0));
10899 /* now switch code..*/
10900 switch(key) {
10901 case 0: /*(0,) -> mode16 | OUTREG=VGPR32_B_32()*/
10902 xed3_capture_nt_VGPR32_B_32(d);
10903 /*pacify the compiler */
10904 (void)d;
10905 break;
10906 case 1: /*(1,) -> mode32 | OUTREG=VGPR32_B_32()*/
10907 xed3_capture_nt_VGPR32_B_32(d);
10908 /*pacify the compiler */
10909 (void)d;
10910 break;
10911 case 2: /*(2,) -> mode64 | OUTREG=VGPR32_B_64()*/
10912 xed3_capture_nt_VGPR32_B_64(d);
10913 /*pacify the compiler */
10914 (void)d;
10915 break;
10916 default:
10917 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
10918 break;
10919 }
10920 }
xed3_capture_nt_YMM_N3_32(xed_decoded_inst_t * d)10921 static XED_INLINE void xed3_capture_nt_YMM_N3_32(xed_decoded_inst_t* d)
10922 {
10923 xed_uint32_t key = 0;
10924 key += (xed3_operand_get_vexdest210(d)) << ((0));
10925 /* now switch code..*/
10926 switch(key) {
10927 case 0: /*(0,) -> VEXDEST210=0 | OUTREG=XED_REG_YMM7*/
10928 xed3_operand_set_outreg(d, XED_REG_YMM7);
10929 /*pacify the compiler */
10930 (void)d;
10931 break;
10932 case 1: /*(1,) -> VEXDEST210=1 | OUTREG=XED_REG_YMM6*/
10933 xed3_operand_set_outreg(d, XED_REG_YMM6);
10934 /*pacify the compiler */
10935 (void)d;
10936 break;
10937 case 2: /*(2,) -> VEXDEST210=2 | OUTREG=XED_REG_YMM5*/
10938 xed3_operand_set_outreg(d, XED_REG_YMM5);
10939 /*pacify the compiler */
10940 (void)d;
10941 break;
10942 case 3: /*(3,) -> VEXDEST210=3 | OUTREG=XED_REG_YMM4*/
10943 xed3_operand_set_outreg(d, XED_REG_YMM4);
10944 /*pacify the compiler */
10945 (void)d;
10946 break;
10947 case 4: /*(4,) -> VEXDEST210=4 | OUTREG=XED_REG_YMM3*/
10948 xed3_operand_set_outreg(d, XED_REG_YMM3);
10949 /*pacify the compiler */
10950 (void)d;
10951 break;
10952 case 5: /*(5,) -> VEXDEST210=5 | OUTREG=XED_REG_YMM2*/
10953 xed3_operand_set_outreg(d, XED_REG_YMM2);
10954 /*pacify the compiler */
10955 (void)d;
10956 break;
10957 case 6: /*(6,) -> VEXDEST210=6 | OUTREG=XED_REG_YMM1*/
10958 xed3_operand_set_outreg(d, XED_REG_YMM1);
10959 /*pacify the compiler */
10960 (void)d;
10961 break;
10962 case 7: /*(7,) -> VEXDEST210=7 | OUTREG=XED_REG_YMM0*/
10963 xed3_operand_set_outreg(d, XED_REG_YMM0);
10964 /*pacify the compiler */
10965 (void)d;
10966 break;
10967 default:
10968 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
10969 break;
10970 }
10971 }
xed3_capture_nt_OSZ_NONTERM(xed_decoded_inst_t * d)10972 static XED_INLINE void xed3_capture_nt_OSZ_NONTERM(xed_decoded_inst_t* d)
10973 {
10974 xed_uint32_t key = 0;
10975 key += (xed3_operand_get_mode(d)) << ((0));
10976 key += (xed3_operand_get_osz(d)) << ((2));
10977 key += (xed3_operand_get_rexw(d)) << ((3));
10978 /* now switch code..*/
10979 switch(key) {
10980 case 8: /*(0, 0, 1) -> mode16 no66_prefix | EOSZ=1*/
10981 case 0: /*(0, 0, 0) -> mode16 no66_prefix | EOSZ=1*/
10982 xed3_operand_set_eosz(d, 0x1);
10983 /*pacify the compiler */
10984 (void)d;
10985 break;
10986 case 1: /*(1, 0, 0) -> mode32 no66_prefix | EOSZ=2*/
10987 case 9: /*(1, 0, 1) -> mode32 no66_prefix | EOSZ=2*/
10988 xed3_operand_set_eosz(d, 0x2);
10989 /*pacify the compiler */
10990 (void)d;
10991 break;
10992 case 2: /*(2, 0, 0) -> mode64 no66_prefix norexw_prefix | EOSZ=2*/
10993 xed3_operand_set_eosz(d, 0x2);
10994 /*pacify the compiler */
10995 (void)d;
10996 break;
10997 case 12: /*(0, 1, 1) -> mode16 66_prefix | EOSZ=2*/
10998 case 4: /*(0, 1, 0) -> mode16 66_prefix | EOSZ=2*/
10999 xed3_operand_set_eosz(d, 0x2);
11000 /*pacify the compiler */
11001 (void)d;
11002 break;
11003 case 5: /*(1, 1, 0) -> mode32 66_prefix | EOSZ=1*/
11004 case 13: /*(1, 1, 1) -> mode32 66_prefix | EOSZ=1*/
11005 xed3_operand_set_eosz(d, 0x1);
11006 /*pacify the compiler */
11007 (void)d;
11008 break;
11009 case 6: /*(2, 1, 0) -> mode64 66_prefix norexw_prefix | EOSZ=1*/
11010 xed3_operand_set_eosz(d, 0x1);
11011 /*pacify the compiler */
11012 (void)d;
11013 break;
11014 case 10: /*(2, 0, 1) -> mode64 no66_prefix rexw_prefix | EOSZ=3*/
11015 xed3_operand_set_eosz(d, 0x3);
11016 /*pacify the compiler */
11017 (void)d;
11018 break;
11019 case 14: /*(2, 1, 1) -> mode64 66_prefix rexw_prefix | EOSZ=3*/
11020 xed3_operand_set_eosz(d, 0x3);
11021 /*pacify the compiler */
11022 (void)d;
11023 break;
11024 default:
11025 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
11026 break;
11027 }
11028 }
xed3_capture_nt_ESIZE_8_BITS(xed_decoded_inst_t * d)11029 static XED_INLINE void xed3_capture_nt_ESIZE_8_BITS(xed_decoded_inst_t* d)
11030 {
11031 xed_uint32_t key = 0;
11032 key += (xed3_operand_get_rex(d)) << ((0));
11033 /* now switch code..*/
11034 switch(key) {
11035 case 0: /*(0,) -> REX=0 | ELEMENT_SIZE=8*/
11036 xed3_operand_set_element_size(d, 0x8);
11037 /*pacify the compiler */
11038 (void)d;
11039 break;
11040 default:
11041 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
11042 break;
11043 }
11044 }
xed3_capture_nt_ZMM_R3_32(xed_decoded_inst_t * d)11045 static XED_INLINE void xed3_capture_nt_ZMM_R3_32(xed_decoded_inst_t* d)
11046 {
11047 xed_uint32_t key = 0;
11048 key += (xed3_operand_get_reg(d)) << ((0));
11049 /* now switch code..*/
11050 switch(key) {
11051 case 0: /*(0,) -> REG=0 | OUTREG=XED_REG_ZMM0*/
11052 xed3_operand_set_outreg(d, XED_REG_ZMM0);
11053 /*pacify the compiler */
11054 (void)d;
11055 break;
11056 case 1: /*(1,) -> REG=1 | OUTREG=XED_REG_ZMM1*/
11057 xed3_operand_set_outreg(d, XED_REG_ZMM1);
11058 /*pacify the compiler */
11059 (void)d;
11060 break;
11061 case 2: /*(2,) -> REG=2 | OUTREG=XED_REG_ZMM2*/
11062 xed3_operand_set_outreg(d, XED_REG_ZMM2);
11063 /*pacify the compiler */
11064 (void)d;
11065 break;
11066 case 3: /*(3,) -> REG=3 | OUTREG=XED_REG_ZMM3*/
11067 xed3_operand_set_outreg(d, XED_REG_ZMM3);
11068 /*pacify the compiler */
11069 (void)d;
11070 break;
11071 case 4: /*(4,) -> REG=4 | OUTREG=XED_REG_ZMM4*/
11072 xed3_operand_set_outreg(d, XED_REG_ZMM4);
11073 /*pacify the compiler */
11074 (void)d;
11075 break;
11076 case 5: /*(5,) -> REG=5 | OUTREG=XED_REG_ZMM5*/
11077 xed3_operand_set_outreg(d, XED_REG_ZMM5);
11078 /*pacify the compiler */
11079 (void)d;
11080 break;
11081 case 6: /*(6,) -> REG=6 | OUTREG=XED_REG_ZMM6*/
11082 xed3_operand_set_outreg(d, XED_REG_ZMM6);
11083 /*pacify the compiler */
11084 (void)d;
11085 break;
11086 case 7: /*(7,) -> REG=7 | OUTREG=XED_REG_ZMM7*/
11087 xed3_operand_set_outreg(d, XED_REG_ZMM7);
11088 /*pacify the compiler */
11089 (void)d;
11090 break;
11091 default:
11092 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
11093 break;
11094 }
11095 }
xed3_capture_nt_XMM_SE32(xed_decoded_inst_t * d)11096 static XED_INLINE void xed3_capture_nt_XMM_SE32(xed_decoded_inst_t* d)
11097 {
11098 xed_uint32_t key = 0;
11099 key += (xed3_operand_get_esrc(d)) << ((0));
11100 /* now switch code..*/
11101 switch(key) {
11102 case 0: /*(0,) -> ESRC=0 | OUTREG=XED_REG_XMM0 enc*/
11103 xed3_operand_set_outreg(d, XED_REG_XMM0);
11104 /*pacify the compiler */
11105 (void)d;
11106 break;
11107 case 1: /*(1,) -> ESRC=1 | OUTREG=XED_REG_XMM1 enc*/
11108 xed3_operand_set_outreg(d, XED_REG_XMM1);
11109 /*pacify the compiler */
11110 (void)d;
11111 break;
11112 case 2: /*(2,) -> ESRC=2 | OUTREG=XED_REG_XMM2 enc*/
11113 xed3_operand_set_outreg(d, XED_REG_XMM2);
11114 /*pacify the compiler */
11115 (void)d;
11116 break;
11117 case 3: /*(3,) -> ESRC=3 | OUTREG=XED_REG_XMM3 enc*/
11118 xed3_operand_set_outreg(d, XED_REG_XMM3);
11119 /*pacify the compiler */
11120 (void)d;
11121 break;
11122 case 4: /*(4,) -> ESRC=4 | OUTREG=XED_REG_XMM4 enc*/
11123 xed3_operand_set_outreg(d, XED_REG_XMM4);
11124 /*pacify the compiler */
11125 (void)d;
11126 break;
11127 case 5: /*(5,) -> ESRC=5 | OUTREG=XED_REG_XMM5 enc*/
11128 xed3_operand_set_outreg(d, XED_REG_XMM5);
11129 /*pacify the compiler */
11130 (void)d;
11131 break;
11132 case 6: /*(6,) -> ESRC=6 | OUTREG=XED_REG_XMM6 enc*/
11133 xed3_operand_set_outreg(d, XED_REG_XMM6);
11134 /*pacify the compiler */
11135 (void)d;
11136 break;
11137 case 7: /*(7,) -> ESRC=7 | OUTREG=XED_REG_XMM7 enc*/
11138 xed3_operand_set_outreg(d, XED_REG_XMM7);
11139 /*pacify the compiler */
11140 (void)d;
11141 break;
11142 case 8: /*(8,) -> ESRC=0x8 | OUTREG=XED_REG_XMM0*/
11143 xed3_operand_set_outreg(d, XED_REG_XMM0);
11144 /*pacify the compiler */
11145 (void)d;
11146 break;
11147 case 9: /*(9,) -> ESRC=0x9 | OUTREG=XED_REG_XMM1*/
11148 xed3_operand_set_outreg(d, XED_REG_XMM1);
11149 /*pacify the compiler */
11150 (void)d;
11151 break;
11152 case 10: /*(10,) -> ESRC=0xA | OUTREG=XED_REG_XMM2*/
11153 xed3_operand_set_outreg(d, XED_REG_XMM2);
11154 /*pacify the compiler */
11155 (void)d;
11156 break;
11157 case 11: /*(11,) -> ESRC=0xB | OUTREG=XED_REG_XMM3*/
11158 xed3_operand_set_outreg(d, XED_REG_XMM3);
11159 /*pacify the compiler */
11160 (void)d;
11161 break;
11162 case 12: /*(12,) -> ESRC=0xC | OUTREG=XED_REG_XMM4*/
11163 xed3_operand_set_outreg(d, XED_REG_XMM4);
11164 /*pacify the compiler */
11165 (void)d;
11166 break;
11167 case 13: /*(13,) -> ESRC=0xD | OUTREG=XED_REG_XMM5*/
11168 xed3_operand_set_outreg(d, XED_REG_XMM5);
11169 /*pacify the compiler */
11170 (void)d;
11171 break;
11172 case 14: /*(14,) -> ESRC=0xE | OUTREG=XED_REG_XMM6*/
11173 xed3_operand_set_outreg(d, XED_REG_XMM6);
11174 /*pacify the compiler */
11175 (void)d;
11176 break;
11177 case 15: /*(15,) -> ESRC=0xF | OUTREG=XED_REG_XMM7*/
11178 xed3_operand_set_outreg(d, XED_REG_XMM7);
11179 /*pacify the compiler */
11180 (void)d;
11181 break;
11182 default:
11183 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
11184 break;
11185 }
11186 }
xed3_capture_nt_IMMUNE66(xed_decoded_inst_t * d)11187 static XED_INLINE void xed3_capture_nt_IMMUNE66(xed_decoded_inst_t* d)
11188 {
11189 xed_uint32_t key = 0;
11190 key += (xed3_operand_get_mode(d)) << ((0));
11191 key += (xed3_operand_get_rexw(d)) << ((2));
11192 /* now switch code..*/
11193 switch(key) {
11194 case 4: /*(0, 1) -> mode16 | EOSZ=2 no66_prefix*/
11195 case 0: /*(0, 0) -> mode16 | EOSZ=2 no66_prefix*/
11196 xed3_operand_set_eosz(d, 0x2);
11197 xed3_operand_set_osz(d, 0x0);
11198 /*pacify the compiler */
11199 (void)d;
11200 break;
11201 case 1: /*(1, 0) -> mode32 | EOSZ=2 no66_prefix*/
11202 case 5: /*(1, 1) -> mode32 | EOSZ=2 no66_prefix*/
11203 xed3_operand_set_eosz(d, 0x2);
11204 xed3_operand_set_osz(d, 0x0);
11205 /*pacify the compiler */
11206 (void)d;
11207 break;
11208 case 2: /*(2, 0) -> mode64 norexw_prefix | EOSZ=2 no66_prefix*/
11209 xed3_operand_set_eosz(d, 0x2);
11210 xed3_operand_set_osz(d, 0x0);
11211 /*pacify the compiler */
11212 (void)d;
11213 break;
11214 case 6: /*(2, 1) -> mode64 rexw_prefix | EOSZ=3 no66_prefix*/
11215 xed3_operand_set_eosz(d, 0x3);
11216 xed3_operand_set_osz(d, 0x0);
11217 /*pacify the compiler */
11218 (void)d;
11219 break;
11220 default:
11221 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
11222 break;
11223 }
11224 }
xed3_capture_nt_YMM_N_32(xed_decoded_inst_t * d)11225 static XED_INLINE void xed3_capture_nt_YMM_N_32(xed_decoded_inst_t* d)
11226 {
11227 xed_uint32_t key = 0;
11228 key += (xed3_operand_get_vexdest210(d)) << ((0));
11229 /* now switch code..*/
11230 switch(key) {
11231 case 0: /*(0,) -> VEXDEST210=0 | OUTREG=XED_REG_YMM7*/
11232 xed3_operand_set_outreg(d, XED_REG_YMM7);
11233 /*pacify the compiler */
11234 (void)d;
11235 break;
11236 case 1: /*(1,) -> VEXDEST210=1 | OUTREG=XED_REG_YMM6*/
11237 xed3_operand_set_outreg(d, XED_REG_YMM6);
11238 /*pacify the compiler */
11239 (void)d;
11240 break;
11241 case 2: /*(2,) -> VEXDEST210=2 | OUTREG=XED_REG_YMM5*/
11242 xed3_operand_set_outreg(d, XED_REG_YMM5);
11243 /*pacify the compiler */
11244 (void)d;
11245 break;
11246 case 3: /*(3,) -> VEXDEST210=3 | OUTREG=XED_REG_YMM4*/
11247 xed3_operand_set_outreg(d, XED_REG_YMM4);
11248 /*pacify the compiler */
11249 (void)d;
11250 break;
11251 case 4: /*(4,) -> VEXDEST210=4 | OUTREG=XED_REG_YMM3*/
11252 xed3_operand_set_outreg(d, XED_REG_YMM3);
11253 /*pacify the compiler */
11254 (void)d;
11255 break;
11256 case 5: /*(5,) -> VEXDEST210=5 | OUTREG=XED_REG_YMM2*/
11257 xed3_operand_set_outreg(d, XED_REG_YMM2);
11258 /*pacify the compiler */
11259 (void)d;
11260 break;
11261 case 6: /*(6,) -> VEXDEST210=6 | OUTREG=XED_REG_YMM1*/
11262 xed3_operand_set_outreg(d, XED_REG_YMM1);
11263 /*pacify the compiler */
11264 (void)d;
11265 break;
11266 case 7: /*(7,) -> VEXDEST210=7 | OUTREG=XED_REG_YMM0*/
11267 xed3_operand_set_outreg(d, XED_REG_YMM0);
11268 /*pacify the compiler */
11269 (void)d;
11270 break;
11271 default:
11272 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
11273 break;
11274 }
11275 }
xed3_capture_nt_GPR32_B(xed_decoded_inst_t * d)11276 static XED_INLINE void xed3_capture_nt_GPR32_B(xed_decoded_inst_t* d)
11277 {
11278 xed_uint32_t key = 0;
11279 key += (xed3_operand_get_rexb(d)) << ((0));
11280 key += (xed3_operand_get_rm(d)) << ((1));
11281 /* now switch code..*/
11282 switch(key) {
11283 case 0: /*(0, 0) -> REXB=0 RM=0x0 | OUTREG=XED_REG_EAX*/
11284 xed3_operand_set_outreg(d, XED_REG_EAX);
11285 /*pacify the compiler */
11286 (void)d;
11287 break;
11288 case 1: /*(1, 0) -> REXB=1 RM=0x0 | OUTREG=XED_REG_R8D*/
11289 xed3_operand_set_outreg(d, XED_REG_R8D);
11290 /*pacify the compiler */
11291 (void)d;
11292 break;
11293 case 2: /*(0, 1) -> REXB=0 RM=0x1 | OUTREG=XED_REG_ECX*/
11294 xed3_operand_set_outreg(d, XED_REG_ECX);
11295 /*pacify the compiler */
11296 (void)d;
11297 break;
11298 case 3: /*(1, 1) -> REXB=1 RM=0x1 | OUTREG=XED_REG_R9D*/
11299 xed3_operand_set_outreg(d, XED_REG_R9D);
11300 /*pacify the compiler */
11301 (void)d;
11302 break;
11303 case 4: /*(0, 2) -> REXB=0 RM=0x2 | OUTREG=XED_REG_EDX*/
11304 xed3_operand_set_outreg(d, XED_REG_EDX);
11305 /*pacify the compiler */
11306 (void)d;
11307 break;
11308 case 5: /*(1, 2) -> REXB=1 RM=0x2 | OUTREG=XED_REG_R10D*/
11309 xed3_operand_set_outreg(d, XED_REG_R10D);
11310 /*pacify the compiler */
11311 (void)d;
11312 break;
11313 case 6: /*(0, 3) -> REXB=0 RM=0x3 | OUTREG=XED_REG_EBX*/
11314 xed3_operand_set_outreg(d, XED_REG_EBX);
11315 /*pacify the compiler */
11316 (void)d;
11317 break;
11318 case 7: /*(1, 3) -> REXB=1 RM=0x3 | OUTREG=XED_REG_R11D*/
11319 xed3_operand_set_outreg(d, XED_REG_R11D);
11320 /*pacify the compiler */
11321 (void)d;
11322 break;
11323 case 8: /*(0, 4) -> REXB=0 RM=0x4 | OUTREG=XED_REG_ESP*/
11324 xed3_operand_set_outreg(d, XED_REG_ESP);
11325 /*pacify the compiler */
11326 (void)d;
11327 break;
11328 case 9: /*(1, 4) -> REXB=1 RM=0x4 | OUTREG=XED_REG_R12D*/
11329 xed3_operand_set_outreg(d, XED_REG_R12D);
11330 /*pacify the compiler */
11331 (void)d;
11332 break;
11333 case 10: /*(0, 5) -> REXB=0 RM=0x5 | OUTREG=XED_REG_EBP*/
11334 xed3_operand_set_outreg(d, XED_REG_EBP);
11335 /*pacify the compiler */
11336 (void)d;
11337 break;
11338 case 11: /*(1, 5) -> REXB=1 RM=0x5 | OUTREG=XED_REG_R13D*/
11339 xed3_operand_set_outreg(d, XED_REG_R13D);
11340 /*pacify the compiler */
11341 (void)d;
11342 break;
11343 case 12: /*(0, 6) -> REXB=0 RM=0x6 | OUTREG=XED_REG_ESI*/
11344 xed3_operand_set_outreg(d, XED_REG_ESI);
11345 /*pacify the compiler */
11346 (void)d;
11347 break;
11348 case 13: /*(1, 6) -> REXB=1 RM=0x6 | OUTREG=XED_REG_R14D*/
11349 xed3_operand_set_outreg(d, XED_REG_R14D);
11350 /*pacify the compiler */
11351 (void)d;
11352 break;
11353 case 14: /*(0, 7) -> REXB=0 RM=0x7 | OUTREG=XED_REG_EDI*/
11354 xed3_operand_set_outreg(d, XED_REG_EDI);
11355 /*pacify the compiler */
11356 (void)d;
11357 break;
11358 case 15: /*(1, 7) -> REXB=1 RM=0x7 | OUTREG=XED_REG_R15D*/
11359 xed3_operand_set_outreg(d, XED_REG_R15D);
11360 /*pacify the compiler */
11361 (void)d;
11362 break;
11363 default:
11364 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
11365 break;
11366 }
11367 }
xed3_capture_nt_VMODRM_XMM(xed_decoded_inst_t * d)11368 static XED_INLINE void xed3_capture_nt_VMODRM_XMM(xed_decoded_inst_t* d)
11369 {
11370 xed_uint32_t key = 0;
11371 key += (xed3_operand_get_mod(d)) << ((0));
11372 /* now switch code..*/
11373 switch(key) {
11374 case 0: /*(0,) -> MOD=0b00 VSIB_XMM() |*/
11375 xed3_capture_nt_VSIB_XMM(d);
11376 /*pacify the compiler */
11377 (void)d;
11378 break;
11379 case 1: /*(1,) -> MOD=0b01 VSIB_XMM() MEMDISP8() |*/
11380 xed3_capture_nt_VSIB_XMM(d);
11381 xed3_capture_nt_MEMDISP8(d);
11382 /*pacify the compiler */
11383 (void)d;
11384 break;
11385 case 2: /*(2,) -> MOD=0b10 VSIB_XMM() MEMDISP32() |*/
11386 xed3_capture_nt_VSIB_XMM(d);
11387 xed3_capture_nt_MEMDISP32(d);
11388 /*pacify the compiler */
11389 (void)d;
11390 break;
11391 default:
11392 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
11393 break;
11394 }
11395 }
xed3_capture_nt_YMM_SE32(xed_decoded_inst_t * d)11396 static XED_INLINE void xed3_capture_nt_YMM_SE32(xed_decoded_inst_t* d)
11397 {
11398 xed_uint32_t key = 0;
11399 key += (xed3_operand_get_esrc(d)) << ((0));
11400 /* now switch code..*/
11401 switch(key) {
11402 case 0: /*(0,) -> ESRC=0 | OUTREG=XED_REG_YMM0 enc*/
11403 xed3_operand_set_outreg(d, XED_REG_YMM0);
11404 /*pacify the compiler */
11405 (void)d;
11406 break;
11407 case 1: /*(1,) -> ESRC=1 | OUTREG=XED_REG_YMM1 enc*/
11408 xed3_operand_set_outreg(d, XED_REG_YMM1);
11409 /*pacify the compiler */
11410 (void)d;
11411 break;
11412 case 2: /*(2,) -> ESRC=2 | OUTREG=XED_REG_YMM2 enc*/
11413 xed3_operand_set_outreg(d, XED_REG_YMM2);
11414 /*pacify the compiler */
11415 (void)d;
11416 break;
11417 case 3: /*(3,) -> ESRC=3 | OUTREG=XED_REG_YMM3 enc*/
11418 xed3_operand_set_outreg(d, XED_REG_YMM3);
11419 /*pacify the compiler */
11420 (void)d;
11421 break;
11422 case 4: /*(4,) -> ESRC=4 | OUTREG=XED_REG_YMM4 enc*/
11423 xed3_operand_set_outreg(d, XED_REG_YMM4);
11424 /*pacify the compiler */
11425 (void)d;
11426 break;
11427 case 5: /*(5,) -> ESRC=5 | OUTREG=XED_REG_YMM5 enc*/
11428 xed3_operand_set_outreg(d, XED_REG_YMM5);
11429 /*pacify the compiler */
11430 (void)d;
11431 break;
11432 case 6: /*(6,) -> ESRC=6 | OUTREG=XED_REG_YMM6 enc*/
11433 xed3_operand_set_outreg(d, XED_REG_YMM6);
11434 /*pacify the compiler */
11435 (void)d;
11436 break;
11437 case 7: /*(7,) -> ESRC=7 | OUTREG=XED_REG_YMM7 enc*/
11438 xed3_operand_set_outreg(d, XED_REG_YMM7);
11439 /*pacify the compiler */
11440 (void)d;
11441 break;
11442 case 8: /*(8,) -> ESRC=0x8 | OUTREG=XED_REG_YMM0*/
11443 xed3_operand_set_outreg(d, XED_REG_YMM0);
11444 /*pacify the compiler */
11445 (void)d;
11446 break;
11447 case 9: /*(9,) -> ESRC=0x9 | OUTREG=XED_REG_YMM1*/
11448 xed3_operand_set_outreg(d, XED_REG_YMM1);
11449 /*pacify the compiler */
11450 (void)d;
11451 break;
11452 case 10: /*(10,) -> ESRC=0xA | OUTREG=XED_REG_YMM2*/
11453 xed3_operand_set_outreg(d, XED_REG_YMM2);
11454 /*pacify the compiler */
11455 (void)d;
11456 break;
11457 case 11: /*(11,) -> ESRC=0xB | OUTREG=XED_REG_YMM3*/
11458 xed3_operand_set_outreg(d, XED_REG_YMM3);
11459 /*pacify the compiler */
11460 (void)d;
11461 break;
11462 case 12: /*(12,) -> ESRC=0xC | OUTREG=XED_REG_YMM4*/
11463 xed3_operand_set_outreg(d, XED_REG_YMM4);
11464 /*pacify the compiler */
11465 (void)d;
11466 break;
11467 case 13: /*(13,) -> ESRC=0xD | OUTREG=XED_REG_YMM5*/
11468 xed3_operand_set_outreg(d, XED_REG_YMM5);
11469 /*pacify the compiler */
11470 (void)d;
11471 break;
11472 case 14: /*(14,) -> ESRC=0xE | OUTREG=XED_REG_YMM6*/
11473 xed3_operand_set_outreg(d, XED_REG_YMM6);
11474 /*pacify the compiler */
11475 (void)d;
11476 break;
11477 case 15: /*(15,) -> ESRC=0xF | OUTREG=XED_REG_YMM7*/
11478 xed3_operand_set_outreg(d, XED_REG_YMM7);
11479 /*pacify the compiler */
11480 (void)d;
11481 break;
11482 default:
11483 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
11484 break;
11485 }
11486 }
xed3_capture_nt_GPR32_X(xed_decoded_inst_t * d)11487 static XED_INLINE void xed3_capture_nt_GPR32_X(xed_decoded_inst_t* d)
11488 {
11489 xed_uint32_t key = 0;
11490 key += (xed3_operand_get_rexx(d)) << ((0));
11491 key += (xed3_operand_get_sibindex(d)) << ((1));
11492 /* now switch code..*/
11493 switch(key) {
11494 case 0: /*(0, 0) -> REXX=0 SIBINDEX=0x0 | OUTREG=XED_REG_EAX*/
11495 xed3_operand_set_outreg(d, XED_REG_EAX);
11496 /*pacify the compiler */
11497 (void)d;
11498 break;
11499 case 1: /*(1, 0) -> REXX=1 SIBINDEX=0x0 | OUTREG=XED_REG_R8D*/
11500 xed3_operand_set_outreg(d, XED_REG_R8D);
11501 /*pacify the compiler */
11502 (void)d;
11503 break;
11504 case 2: /*(0, 1) -> REXX=0 SIBINDEX=0x1 | OUTREG=XED_REG_ECX*/
11505 xed3_operand_set_outreg(d, XED_REG_ECX);
11506 /*pacify the compiler */
11507 (void)d;
11508 break;
11509 case 3: /*(1, 1) -> REXX=1 SIBINDEX=0x1 | OUTREG=XED_REG_R9D*/
11510 xed3_operand_set_outreg(d, XED_REG_R9D);
11511 /*pacify the compiler */
11512 (void)d;
11513 break;
11514 case 4: /*(0, 2) -> REXX=0 SIBINDEX=0x2 | OUTREG=XED_REG_EDX*/
11515 xed3_operand_set_outreg(d, XED_REG_EDX);
11516 /*pacify the compiler */
11517 (void)d;
11518 break;
11519 case 5: /*(1, 2) -> REXX=1 SIBINDEX=0x2 | OUTREG=XED_REG_R10D*/
11520 xed3_operand_set_outreg(d, XED_REG_R10D);
11521 /*pacify the compiler */
11522 (void)d;
11523 break;
11524 case 6: /*(0, 3) -> REXX=0 SIBINDEX=0x3 | OUTREG=XED_REG_EBX*/
11525 xed3_operand_set_outreg(d, XED_REG_EBX);
11526 /*pacify the compiler */
11527 (void)d;
11528 break;
11529 case 7: /*(1, 3) -> REXX=1 SIBINDEX=0x3 | OUTREG=XED_REG_R11D*/
11530 xed3_operand_set_outreg(d, XED_REG_R11D);
11531 /*pacify the compiler */
11532 (void)d;
11533 break;
11534 case 8: /*(0, 4) -> REXX=0 SIBINDEX=0x4 | OUTREG=XED_REG_INVALID*/
11535 xed3_operand_set_outreg(d, XED_REG_INVALID);
11536 /*pacify the compiler */
11537 (void)d;
11538 break;
11539 case 9: /*(1, 4) -> REXX=1 SIBINDEX=0x4 | OUTREG=XED_REG_R12D*/
11540 xed3_operand_set_outreg(d, XED_REG_R12D);
11541 /*pacify the compiler */
11542 (void)d;
11543 break;
11544 case 10: /*(0, 5) -> REXX=0 SIBINDEX=0x5 | OUTREG=XED_REG_EBP*/
11545 xed3_operand_set_outreg(d, XED_REG_EBP);
11546 /*pacify the compiler */
11547 (void)d;
11548 break;
11549 case 11: /*(1, 5) -> REXX=1 SIBINDEX=0x5 | OUTREG=XED_REG_R13D*/
11550 xed3_operand_set_outreg(d, XED_REG_R13D);
11551 /*pacify the compiler */
11552 (void)d;
11553 break;
11554 case 12: /*(0, 6) -> REXX=0 SIBINDEX=0x6 | OUTREG=XED_REG_ESI*/
11555 xed3_operand_set_outreg(d, XED_REG_ESI);
11556 /*pacify the compiler */
11557 (void)d;
11558 break;
11559 case 13: /*(1, 6) -> REXX=1 SIBINDEX=0x6 | OUTREG=XED_REG_R14D*/
11560 xed3_operand_set_outreg(d, XED_REG_R14D);
11561 /*pacify the compiler */
11562 (void)d;
11563 break;
11564 case 14: /*(0, 7) -> REXX=0 SIBINDEX=0x7 | OUTREG=XED_REG_EDI*/
11565 xed3_operand_set_outreg(d, XED_REG_EDI);
11566 /*pacify the compiler */
11567 (void)d;
11568 break;
11569 case 15: /*(1, 7) -> REXX=1 SIBINDEX=0x7 | OUTREG=XED_REG_R15D*/
11570 xed3_operand_set_outreg(d, XED_REG_R15D);
11571 /*pacify the compiler */
11572 (void)d;
11573 break;
11574 default:
11575 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
11576 break;
11577 }
11578 }
xed3_capture_nt_YMM_B_64(xed_decoded_inst_t * d)11579 static XED_INLINE void xed3_capture_nt_YMM_B_64(xed_decoded_inst_t* d)
11580 {
11581 xed_uint32_t key = 0;
11582 key += (xed3_operand_get_rexb(d)) << ((0));
11583 key += (xed3_operand_get_rm(d)) << ((1));
11584 /* now switch code..*/
11585 switch(key) {
11586 case 0: /*(0, 0) -> REXB=0 RM=0 | OUTREG=XED_REG_YMM0*/
11587 xed3_operand_set_outreg(d, XED_REG_YMM0);
11588 /*pacify the compiler */
11589 (void)d;
11590 break;
11591 case 1: /*(1, 0) -> REXB=1 RM=0 | OUTREG=XED_REG_YMM8*/
11592 xed3_operand_set_outreg(d, XED_REG_YMM8);
11593 /*pacify the compiler */
11594 (void)d;
11595 break;
11596 case 2: /*(0, 1) -> REXB=0 RM=1 | OUTREG=XED_REG_YMM1*/
11597 xed3_operand_set_outreg(d, XED_REG_YMM1);
11598 /*pacify the compiler */
11599 (void)d;
11600 break;
11601 case 3: /*(1, 1) -> REXB=1 RM=1 | OUTREG=XED_REG_YMM9*/
11602 xed3_operand_set_outreg(d, XED_REG_YMM9);
11603 /*pacify the compiler */
11604 (void)d;
11605 break;
11606 case 4: /*(0, 2) -> REXB=0 RM=2 | OUTREG=XED_REG_YMM2*/
11607 xed3_operand_set_outreg(d, XED_REG_YMM2);
11608 /*pacify the compiler */
11609 (void)d;
11610 break;
11611 case 5: /*(1, 2) -> REXB=1 RM=2 | OUTREG=XED_REG_YMM10*/
11612 xed3_operand_set_outreg(d, XED_REG_YMM10);
11613 /*pacify the compiler */
11614 (void)d;
11615 break;
11616 case 6: /*(0, 3) -> REXB=0 RM=3 | OUTREG=XED_REG_YMM3*/
11617 xed3_operand_set_outreg(d, XED_REG_YMM3);
11618 /*pacify the compiler */
11619 (void)d;
11620 break;
11621 case 7: /*(1, 3) -> REXB=1 RM=3 | OUTREG=XED_REG_YMM11*/
11622 xed3_operand_set_outreg(d, XED_REG_YMM11);
11623 /*pacify the compiler */
11624 (void)d;
11625 break;
11626 case 8: /*(0, 4) -> REXB=0 RM=4 | OUTREG=XED_REG_YMM4*/
11627 xed3_operand_set_outreg(d, XED_REG_YMM4);
11628 /*pacify the compiler */
11629 (void)d;
11630 break;
11631 case 9: /*(1, 4) -> REXB=1 RM=4 | OUTREG=XED_REG_YMM12*/
11632 xed3_operand_set_outreg(d, XED_REG_YMM12);
11633 /*pacify the compiler */
11634 (void)d;
11635 break;
11636 case 10: /*(0, 5) -> REXB=0 RM=5 | OUTREG=XED_REG_YMM5*/
11637 xed3_operand_set_outreg(d, XED_REG_YMM5);
11638 /*pacify the compiler */
11639 (void)d;
11640 break;
11641 case 11: /*(1, 5) -> REXB=1 RM=5 | OUTREG=XED_REG_YMM13*/
11642 xed3_operand_set_outreg(d, XED_REG_YMM13);
11643 /*pacify the compiler */
11644 (void)d;
11645 break;
11646 case 12: /*(0, 6) -> REXB=0 RM=6 | OUTREG=XED_REG_YMM6*/
11647 xed3_operand_set_outreg(d, XED_REG_YMM6);
11648 /*pacify the compiler */
11649 (void)d;
11650 break;
11651 case 13: /*(1, 6) -> REXB=1 RM=6 | OUTREG=XED_REG_YMM14*/
11652 xed3_operand_set_outreg(d, XED_REG_YMM14);
11653 /*pacify the compiler */
11654 (void)d;
11655 break;
11656 case 14: /*(0, 7) -> REXB=0 RM=7 | OUTREG=XED_REG_YMM7*/
11657 xed3_operand_set_outreg(d, XED_REG_YMM7);
11658 /*pacify the compiler */
11659 (void)d;
11660 break;
11661 case 15: /*(1, 7) -> REXB=1 RM=7 | OUTREG=XED_REG_YMM15*/
11662 xed3_operand_set_outreg(d, XED_REG_YMM15);
11663 /*pacify the compiler */
11664 (void)d;
11665 break;
11666 default:
11667 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
11668 break;
11669 }
11670 }
xed3_capture_nt_FINAL_DSEG(xed_decoded_inst_t * d)11671 static XED_INLINE void xed3_capture_nt_FINAL_DSEG(xed_decoded_inst_t* d)
11672 {
11673 xed_uint32_t key = 0;
11674 key += (xed3_operand_get_mode(d)) << ((0));
11675 /* now switch code..*/
11676 switch(key) {
11677 case 0: /*(0,) -> mode16 | OUTREG=FINAL_DSEG_NOT64()*/
11678 xed3_capture_nt_FINAL_DSEG_NOT64(d);
11679 /*pacify the compiler */
11680 (void)d;
11681 break;
11682 case 1: /*(1,) -> mode32 | OUTREG=FINAL_DSEG_NOT64()*/
11683 xed3_capture_nt_FINAL_DSEG_NOT64(d);
11684 /*pacify the compiler */
11685 (void)d;
11686 break;
11687 case 2: /*(2,) -> mode64 | OUTREG=FINAL_DSEG_MODE64()*/
11688 xed3_capture_nt_FINAL_DSEG_MODE64(d);
11689 /*pacify the compiler */
11690 (void)d;
11691 break;
11692 default:
11693 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
11694 break;
11695 }
11696 }
xed3_capture_nt_YMM_N3(xed_decoded_inst_t * d)11697 static XED_INLINE void xed3_capture_nt_YMM_N3(xed_decoded_inst_t* d)
11698 {
11699 xed_uint32_t key = 0;
11700 key += (xed3_operand_get_mode(d)) << ((0));
11701 /* now switch code..*/
11702 switch(key) {
11703 case 0: /*(0,) -> mode16 | OUTREG=YMM_N3_32()*/
11704 xed3_capture_nt_YMM_N3_32(d);
11705 /*pacify the compiler */
11706 (void)d;
11707 break;
11708 case 1: /*(1,) -> mode32 | OUTREG=YMM_N3_32()*/
11709 xed3_capture_nt_YMM_N3_32(d);
11710 /*pacify the compiler */
11711 (void)d;
11712 break;
11713 case 2: /*(2,) -> mode64 | OUTREG=YMM_N3_64()*/
11714 xed3_capture_nt_YMM_N3_64(d);
11715 /*pacify the compiler */
11716 (void)d;
11717 break;
11718 default:
11719 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
11720 break;
11721 }
11722 }
xed3_capture_nt_FIX_ROUND_LEN512(xed_decoded_inst_t * d)11723 static XED_INLINE void xed3_capture_nt_FIX_ROUND_LEN512(xed_decoded_inst_t* d)
11724 {
11725 xed_uint32_t key = 0;
11726 key += (xed3_operand_get_mode(d)) << ((0));
11727 /* now switch code..*/
11728 switch(key) {
11729 case 0: /*(0,) -> mode16 | VL512*/
11730 xed3_operand_set_vl(d, 0x2);
11731 /*pacify the compiler */
11732 (void)d;
11733 break;
11734 case 1: /*(1,) -> mode32 | VL512*/
11735 xed3_operand_set_vl(d, 0x2);
11736 /*pacify the compiler */
11737 (void)d;
11738 break;
11739 case 2: /*(2,) -> mode64 | VL512*/
11740 xed3_operand_set_vl(d, 0x2);
11741 /*pacify the compiler */
11742 (void)d;
11743 break;
11744 default:
11745 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
11746 break;
11747 }
11748 }
xed3_capture_nt_REFINING66(xed_decoded_inst_t * d)11749 static XED_INLINE void xed3_capture_nt_REFINING66(xed_decoded_inst_t* d)
11750 {
11751 xed_uint32_t key = 0;
11752 key += (xed3_operand_get_mode(d)) << ((0));
11753 key += (xed3_operand_get_rexw(d)) << ((2));
11754 /* now switch code..*/
11755 switch(key) {
11756 case 4: /*(0, 1) -> mode16 | EOSZ=1 no66_prefix*/
11757 case 0: /*(0, 0) -> mode16 | EOSZ=1 no66_prefix*/
11758 xed3_operand_set_eosz(d, 0x1);
11759 xed3_operand_set_osz(d, 0x0);
11760 /*pacify the compiler */
11761 (void)d;
11762 break;
11763 case 1: /*(1, 0) -> mode32 | EOSZ=2 no66_prefix*/
11764 case 5: /*(1, 1) -> mode32 | EOSZ=2 no66_prefix*/
11765 xed3_operand_set_eosz(d, 0x2);
11766 xed3_operand_set_osz(d, 0x0);
11767 /*pacify the compiler */
11768 (void)d;
11769 break;
11770 case 2: /*(2, 0) -> mode64 norexw_prefix | EOSZ=2 no66_prefix*/
11771 xed3_operand_set_eosz(d, 0x2);
11772 xed3_operand_set_osz(d, 0x0);
11773 /*pacify the compiler */
11774 (void)d;
11775 break;
11776 case 6: /*(2, 1) -> mode64 rexw_prefix | EOSZ=3 no66_prefix*/
11777 xed3_operand_set_eosz(d, 0x3);
11778 xed3_operand_set_osz(d, 0x0);
11779 /*pacify the compiler */
11780 (void)d;
11781 break;
11782 default:
11783 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
11784 break;
11785 }
11786 }
xed3_capture_nt_VSIB_INDEX_YMM(xed_decoded_inst_t * d)11787 static XED_INLINE void xed3_capture_nt_VSIB_INDEX_YMM(xed_decoded_inst_t* d)
11788 {
11789 xed_uint32_t key = 0;
11790 key += (xed3_operand_get_rexx(d)) << ((0));
11791 key += (xed3_operand_get_sibindex(d)) << ((1));
11792 /* now switch code..*/
11793 switch(key) {
11794 case 0: /*(0, 0) -> REXX=0 SIBINDEX=0 | OUTREG=XED_REG_YMM0*/
11795 xed3_operand_set_outreg(d, XED_REG_YMM0);
11796 /*pacify the compiler */
11797 (void)d;
11798 break;
11799 case 1: /*(1, 0) -> REXX=1 SIBINDEX=0 | OUTREG=XED_REG_YMM8*/
11800 xed3_operand_set_outreg(d, XED_REG_YMM8);
11801 /*pacify the compiler */
11802 (void)d;
11803 break;
11804 case 2: /*(0, 1) -> REXX=0 SIBINDEX=1 | OUTREG=XED_REG_YMM1*/
11805 xed3_operand_set_outreg(d, XED_REG_YMM1);
11806 /*pacify the compiler */
11807 (void)d;
11808 break;
11809 case 3: /*(1, 1) -> REXX=1 SIBINDEX=1 | OUTREG=XED_REG_YMM9*/
11810 xed3_operand_set_outreg(d, XED_REG_YMM9);
11811 /*pacify the compiler */
11812 (void)d;
11813 break;
11814 case 4: /*(0, 2) -> REXX=0 SIBINDEX=2 | OUTREG=XED_REG_YMM2*/
11815 xed3_operand_set_outreg(d, XED_REG_YMM2);
11816 /*pacify the compiler */
11817 (void)d;
11818 break;
11819 case 5: /*(1, 2) -> REXX=1 SIBINDEX=2 | OUTREG=XED_REG_YMM10*/
11820 xed3_operand_set_outreg(d, XED_REG_YMM10);
11821 /*pacify the compiler */
11822 (void)d;
11823 break;
11824 case 6: /*(0, 3) -> REXX=0 SIBINDEX=3 | OUTREG=XED_REG_YMM3*/
11825 xed3_operand_set_outreg(d, XED_REG_YMM3);
11826 /*pacify the compiler */
11827 (void)d;
11828 break;
11829 case 7: /*(1, 3) -> REXX=1 SIBINDEX=3 | OUTREG=XED_REG_YMM11*/
11830 xed3_operand_set_outreg(d, XED_REG_YMM11);
11831 /*pacify the compiler */
11832 (void)d;
11833 break;
11834 case 8: /*(0, 4) -> REXX=0 SIBINDEX=4 | OUTREG=XED_REG_YMM4*/
11835 xed3_operand_set_outreg(d, XED_REG_YMM4);
11836 /*pacify the compiler */
11837 (void)d;
11838 break;
11839 case 9: /*(1, 4) -> REXX=1 SIBINDEX=4 | OUTREG=XED_REG_YMM12*/
11840 xed3_operand_set_outreg(d, XED_REG_YMM12);
11841 /*pacify the compiler */
11842 (void)d;
11843 break;
11844 case 10: /*(0, 5) -> REXX=0 SIBINDEX=5 | OUTREG=XED_REG_YMM5*/
11845 xed3_operand_set_outreg(d, XED_REG_YMM5);
11846 /*pacify the compiler */
11847 (void)d;
11848 break;
11849 case 11: /*(1, 5) -> REXX=1 SIBINDEX=5 | OUTREG=XED_REG_YMM13*/
11850 xed3_operand_set_outreg(d, XED_REG_YMM13);
11851 /*pacify the compiler */
11852 (void)d;
11853 break;
11854 case 12: /*(0, 6) -> REXX=0 SIBINDEX=6 | OUTREG=XED_REG_YMM6*/
11855 xed3_operand_set_outreg(d, XED_REG_YMM6);
11856 /*pacify the compiler */
11857 (void)d;
11858 break;
11859 case 13: /*(1, 6) -> REXX=1 SIBINDEX=6 | OUTREG=XED_REG_YMM14*/
11860 xed3_operand_set_outreg(d, XED_REG_YMM14);
11861 /*pacify the compiler */
11862 (void)d;
11863 break;
11864 case 14: /*(0, 7) -> REXX=0 SIBINDEX=7 | OUTREG=XED_REG_YMM7*/
11865 xed3_operand_set_outreg(d, XED_REG_YMM7);
11866 /*pacify the compiler */
11867 (void)d;
11868 break;
11869 case 15: /*(1, 7) -> REXX=1 SIBINDEX=7 | OUTREG=XED_REG_YMM15*/
11870 xed3_operand_set_outreg(d, XED_REG_YMM15);
11871 /*pacify the compiler */
11872 (void)d;
11873 break;
11874 default:
11875 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
11876 break;
11877 }
11878 }
xed3_capture_nt_GPR32_R(xed_decoded_inst_t * d)11879 static XED_INLINE void xed3_capture_nt_GPR32_R(xed_decoded_inst_t* d)
11880 {
11881 xed_uint32_t key = 0;
11882 key += (xed3_operand_get_reg(d)) << ((0));
11883 key += (xed3_operand_get_rexr(d)) << ((3));
11884 /* now switch code..*/
11885 switch(key) {
11886 case 0: /*(0, 0) -> REXR=0 REG=0x0 | OUTREG=XED_REG_EAX*/
11887 xed3_operand_set_outreg(d, XED_REG_EAX);
11888 /*pacify the compiler */
11889 (void)d;
11890 break;
11891 case 1: /*(1, 0) -> REXR=0 REG=0x1 | OUTREG=XED_REG_ECX*/
11892 xed3_operand_set_outreg(d, XED_REG_ECX);
11893 /*pacify the compiler */
11894 (void)d;
11895 break;
11896 case 2: /*(2, 0) -> REXR=0 REG=0x2 | OUTREG=XED_REG_EDX*/
11897 xed3_operand_set_outreg(d, XED_REG_EDX);
11898 /*pacify the compiler */
11899 (void)d;
11900 break;
11901 case 3: /*(3, 0) -> REXR=0 REG=0x3 | OUTREG=XED_REG_EBX*/
11902 xed3_operand_set_outreg(d, XED_REG_EBX);
11903 /*pacify the compiler */
11904 (void)d;
11905 break;
11906 case 4: /*(4, 0) -> REXR=0 REG=0x4 | OUTREG=XED_REG_ESP*/
11907 xed3_operand_set_outreg(d, XED_REG_ESP);
11908 /*pacify the compiler */
11909 (void)d;
11910 break;
11911 case 5: /*(5, 0) -> REXR=0 REG=0x5 | OUTREG=XED_REG_EBP*/
11912 xed3_operand_set_outreg(d, XED_REG_EBP);
11913 /*pacify the compiler */
11914 (void)d;
11915 break;
11916 case 6: /*(6, 0) -> REXR=0 REG=0x6 | OUTREG=XED_REG_ESI*/
11917 xed3_operand_set_outreg(d, XED_REG_ESI);
11918 /*pacify the compiler */
11919 (void)d;
11920 break;
11921 case 7: /*(7, 0) -> REXR=0 REG=0x7 | OUTREG=XED_REG_EDI*/
11922 xed3_operand_set_outreg(d, XED_REG_EDI);
11923 /*pacify the compiler */
11924 (void)d;
11925 break;
11926 case 8: /*(0, 1) -> REXR=1 REG=0x0 | OUTREG=XED_REG_R8D*/
11927 xed3_operand_set_outreg(d, XED_REG_R8D);
11928 /*pacify the compiler */
11929 (void)d;
11930 break;
11931 case 9: /*(1, 1) -> REXR=1 REG=0x1 | OUTREG=XED_REG_R9D*/
11932 xed3_operand_set_outreg(d, XED_REG_R9D);
11933 /*pacify the compiler */
11934 (void)d;
11935 break;
11936 case 10: /*(2, 1) -> REXR=1 REG=0x2 | OUTREG=XED_REG_R10D*/
11937 xed3_operand_set_outreg(d, XED_REG_R10D);
11938 /*pacify the compiler */
11939 (void)d;
11940 break;
11941 case 11: /*(3, 1) -> REXR=1 REG=0x3 | OUTREG=XED_REG_R11D*/
11942 xed3_operand_set_outreg(d, XED_REG_R11D);
11943 /*pacify the compiler */
11944 (void)d;
11945 break;
11946 case 12: /*(4, 1) -> REXR=1 REG=0x4 | OUTREG=XED_REG_R12D*/
11947 xed3_operand_set_outreg(d, XED_REG_R12D);
11948 /*pacify the compiler */
11949 (void)d;
11950 break;
11951 case 13: /*(5, 1) -> REXR=1 REG=0x5 | OUTREG=XED_REG_R13D*/
11952 xed3_operand_set_outreg(d, XED_REG_R13D);
11953 /*pacify the compiler */
11954 (void)d;
11955 break;
11956 case 14: /*(6, 1) -> REXR=1 REG=0x6 | OUTREG=XED_REG_R14D*/
11957 xed3_operand_set_outreg(d, XED_REG_R14D);
11958 /*pacify the compiler */
11959 (void)d;
11960 break;
11961 case 15: /*(7, 1) -> REXR=1 REG=0x7 | OUTREG=XED_REG_R15D*/
11962 xed3_operand_set_outreg(d, XED_REG_R15D);
11963 /*pacify the compiler */
11964 (void)d;
11965 break;
11966 default:
11967 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
11968 break;
11969 }
11970 }
xed3_capture_nt_BND_R_CHECK(xed_decoded_inst_t * d)11971 static XED_INLINE void xed3_capture_nt_BND_R_CHECK(xed_decoded_inst_t* d)
11972 {
11973 xed_uint32_t key = 0;
11974 key += (xed3_operand_get_reg(d)) << ((0));
11975 key += (xed3_operand_get_rexr(d)) << ((3));
11976 /* now switch code..*/
11977 switch(key) {
11978 case 0: /*(0, 0) -> REXR=0 REG=0x0 |*/
11979 /*pacify the compiler */
11980 (void)d;
11981 break;
11982 case 1: /*(1, 0) -> REXR=0 REG=0x1 |*/
11983 /*pacify the compiler */
11984 (void)d;
11985 break;
11986 case 2: /*(2, 0) -> REXR=0 REG=0x2 |*/
11987 /*pacify the compiler */
11988 (void)d;
11989 break;
11990 case 3: /*(3, 0) -> REXR=0 REG=0x3 |*/
11991 /*pacify the compiler */
11992 (void)d;
11993 break;
11994 case 4: /*(4, 0) -> REXR=0 REG=0x4 | error*/
11995 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
11996 break;
11997 case 5: /*(5, 0) -> REXR=0 REG=0x5 | error*/
11998 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
11999 break;
12000 case 6: /*(6, 0) -> REXR=0 REG=0x6 | error*/
12001 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
12002 break;
12003 case 7: /*(7, 0) -> REXR=0 REG=0x7 | error*/
12004 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
12005 break;
12006 case 8: /*(0, 1) -> REXR=1 REG=0x0 | error*/
12007 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
12008 break;
12009 case 9: /*(1, 1) -> REXR=1 REG=0x1 | error*/
12010 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
12011 break;
12012 case 10: /*(2, 1) -> REXR=1 REG=0x2 | error*/
12013 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
12014 break;
12015 case 11: /*(3, 1) -> REXR=1 REG=0x3 | error*/
12016 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
12017 break;
12018 case 12: /*(4, 1) -> REXR=1 REG=0x4 | error*/
12019 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
12020 break;
12021 case 13: /*(5, 1) -> REXR=1 REG=0x5 | error*/
12022 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
12023 break;
12024 case 14: /*(6, 1) -> REXR=1 REG=0x6 | error*/
12025 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
12026 break;
12027 case 15: /*(7, 1) -> REXR=1 REG=0x7 | error*/
12028 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
12029 break;
12030 default:
12031 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
12032 break;
12033 }
12034 }
xed3_capture_nt_GPR32_SB(xed_decoded_inst_t * d)12035 static XED_INLINE void xed3_capture_nt_GPR32_SB(xed_decoded_inst_t* d)
12036 {
12037 xed_uint32_t key = 0;
12038 key += (xed3_operand_get_rexb(d)) << ((0));
12039 key += (xed3_operand_get_srm(d)) << ((1));
12040 /* now switch code..*/
12041 switch(key) {
12042 case 0: /*(0, 0) -> REXB=0 SRM=0x0 | OUTREG=XED_REG_EAX*/
12043 xed3_operand_set_outreg(d, XED_REG_EAX);
12044 /*pacify the compiler */
12045 (void)d;
12046 break;
12047 case 1: /*(1, 0) -> REXB=1 SRM=0x0 | OUTREG=XED_REG_R8D*/
12048 xed3_operand_set_outreg(d, XED_REG_R8D);
12049 /*pacify the compiler */
12050 (void)d;
12051 break;
12052 case 2: /*(0, 1) -> REXB=0 SRM=0x1 | OUTREG=XED_REG_ECX*/
12053 xed3_operand_set_outreg(d, XED_REG_ECX);
12054 /*pacify the compiler */
12055 (void)d;
12056 break;
12057 case 3: /*(1, 1) -> REXB=1 SRM=0x1 | OUTREG=XED_REG_R9D*/
12058 xed3_operand_set_outreg(d, XED_REG_R9D);
12059 /*pacify the compiler */
12060 (void)d;
12061 break;
12062 case 4: /*(0, 2) -> REXB=0 SRM=0x2 | OUTREG=XED_REG_EDX*/
12063 xed3_operand_set_outreg(d, XED_REG_EDX);
12064 /*pacify the compiler */
12065 (void)d;
12066 break;
12067 case 5: /*(1, 2) -> REXB=1 SRM=0x2 | OUTREG=XED_REG_R10D*/
12068 xed3_operand_set_outreg(d, XED_REG_R10D);
12069 /*pacify the compiler */
12070 (void)d;
12071 break;
12072 case 6: /*(0, 3) -> REXB=0 SRM=0x3 | OUTREG=XED_REG_EBX*/
12073 xed3_operand_set_outreg(d, XED_REG_EBX);
12074 /*pacify the compiler */
12075 (void)d;
12076 break;
12077 case 7: /*(1, 3) -> REXB=1 SRM=0x3 | OUTREG=XED_REG_R11D*/
12078 xed3_operand_set_outreg(d, XED_REG_R11D);
12079 /*pacify the compiler */
12080 (void)d;
12081 break;
12082 case 8: /*(0, 4) -> REXB=0 SRM=0x4 | OUTREG=XED_REG_ESP*/
12083 xed3_operand_set_outreg(d, XED_REG_ESP);
12084 /*pacify the compiler */
12085 (void)d;
12086 break;
12087 case 9: /*(1, 4) -> REXB=1 SRM=0x4 | OUTREG=XED_REG_R12D*/
12088 xed3_operand_set_outreg(d, XED_REG_R12D);
12089 /*pacify the compiler */
12090 (void)d;
12091 break;
12092 case 10: /*(0, 5) -> REXB=0 SRM=0x5 | OUTREG=XED_REG_EBP*/
12093 xed3_operand_set_outreg(d, XED_REG_EBP);
12094 /*pacify the compiler */
12095 (void)d;
12096 break;
12097 case 11: /*(1, 5) -> REXB=1 SRM=0x5 | OUTREG=XED_REG_R13D*/
12098 xed3_operand_set_outreg(d, XED_REG_R13D);
12099 /*pacify the compiler */
12100 (void)d;
12101 break;
12102 case 12: /*(0, 6) -> REXB=0 SRM=0x6 | OUTREG=XED_REG_ESI*/
12103 xed3_operand_set_outreg(d, XED_REG_ESI);
12104 /*pacify the compiler */
12105 (void)d;
12106 break;
12107 case 13: /*(1, 6) -> REXB=1 SRM=0x6 | OUTREG=XED_REG_R14D*/
12108 xed3_operand_set_outreg(d, XED_REG_R14D);
12109 /*pacify the compiler */
12110 (void)d;
12111 break;
12112 case 14: /*(0, 7) -> REXB=0 SRM=0x7 | OUTREG=XED_REG_EDI*/
12113 xed3_operand_set_outreg(d, XED_REG_EDI);
12114 /*pacify the compiler */
12115 (void)d;
12116 break;
12117 case 15: /*(1, 7) -> REXB=1 SRM=0x7 | OUTREG=XED_REG_R15D*/
12118 xed3_operand_set_outreg(d, XED_REG_R15D);
12119 /*pacify the compiler */
12120 (void)d;
12121 break;
12122 default:
12123 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
12124 break;
12125 }
12126 }
xed3_capture_nt_GPRv_R(xed_decoded_inst_t * d)12127 static XED_INLINE void xed3_capture_nt_GPRv_R(xed_decoded_inst_t* d)
12128 {
12129 xed_uint32_t key = 0;
12130 key += (xed3_operand_get_eosz(d)) << ((0));
12131 /* now switch code..*/
12132 switch(key) {
12133 case 1: /*(1,) -> EOSZ=1 | OUTREG=GPR16_R()*/
12134 xed3_capture_nt_GPR16_R(d);
12135 /*pacify the compiler */
12136 (void)d;
12137 break;
12138 case 2: /*(2,) -> EOSZ=2 | OUTREG=GPR32_R()*/
12139 xed3_capture_nt_GPR32_R(d);
12140 /*pacify the compiler */
12141 (void)d;
12142 break;
12143 case 3: /*(3,) -> EOSZ=3 | OUTREG=GPR64_R()*/
12144 xed3_capture_nt_GPR64_R(d);
12145 /*pacify the compiler */
12146 (void)d;
12147 break;
12148 default:
12149 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
12150 break;
12151 }
12152 }
xed3_capture_nt_UISA_VSIB_ZMM(xed_decoded_inst_t * d)12153 static XED_INLINE void xed3_capture_nt_UISA_VSIB_ZMM(xed_decoded_inst_t* d)
12154 {
12155 xed_uint32_t key = 0;
12156 key += (xed3_operand_get_sibscale(d)) << ((0));
12157 /* now switch code..*/
12158 switch(key) {
12159 case 0: /*(0,) -> SIBSCALE[0b00] SIBINDEX[iii] SIBBASE[bbb] UISA_VSIB_BASE() | INDEX=UISA_VSIB_INDEX_ZMM() SCALE=1*/
12160 xed3_capture_nt_UISA_VSIB_BASE(d);
12161 xed3_capture_nt_UISA_VSIB_INDEX_ZMM(d);
12162 xed3_operand_set_index(d, xed3_operand_get_outreg(d));
12163 xed3_operand_set_scale(d, 0x1);
12164 /*pacify the compiler */
12165 (void)d;
12166 break;
12167 case 1: /*(1,) -> SIBSCALE[0b01] SIBINDEX[iii] SIBBASE[bbb] UISA_VSIB_BASE() | INDEX=UISA_VSIB_INDEX_ZMM() SCALE=2*/
12168 xed3_capture_nt_UISA_VSIB_BASE(d);
12169 xed3_capture_nt_UISA_VSIB_INDEX_ZMM(d);
12170 xed3_operand_set_index(d, xed3_operand_get_outreg(d));
12171 xed3_operand_set_scale(d, 0x2);
12172 /*pacify the compiler */
12173 (void)d;
12174 break;
12175 case 2: /*(2,) -> SIBSCALE[0b10] SIBINDEX[iii] SIBBASE[bbb] UISA_VSIB_BASE() | INDEX=UISA_VSIB_INDEX_ZMM() SCALE=4*/
12176 xed3_capture_nt_UISA_VSIB_BASE(d);
12177 xed3_capture_nt_UISA_VSIB_INDEX_ZMM(d);
12178 xed3_operand_set_index(d, xed3_operand_get_outreg(d));
12179 xed3_operand_set_scale(d, 0x4);
12180 /*pacify the compiler */
12181 (void)d;
12182 break;
12183 case 3: /*(3,) -> SIBSCALE[0b11] SIBINDEX[iii] SIBBASE[bbb] UISA_VSIB_BASE() | INDEX=UISA_VSIB_INDEX_ZMM() SCALE=8*/
12184 xed3_capture_nt_UISA_VSIB_BASE(d);
12185 xed3_capture_nt_UISA_VSIB_INDEX_ZMM(d);
12186 xed3_operand_set_index(d, xed3_operand_get_outreg(d));
12187 xed3_operand_set_scale(d, 0x8);
12188 /*pacify the compiler */
12189 (void)d;
12190 break;
12191 default:
12192 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
12193 break;
12194 }
12195 }
xed3_capture_nt_X87(xed_decoded_inst_t * d)12196 static XED_INLINE void xed3_capture_nt_X87(xed_decoded_inst_t* d)
12197 {
12198 xed_uint32_t key = 0;
12199 key += (xed3_operand_get_rm(d)) << ((0));
12200 /* now switch code..*/
12201 switch(key) {
12202 case 0: /*(0,) -> RM=0x0 | OUTREG=XED_REG_ST0*/
12203 xed3_operand_set_outreg(d, XED_REG_ST0);
12204 /*pacify the compiler */
12205 (void)d;
12206 break;
12207 case 1: /*(1,) -> RM=0x1 | OUTREG=XED_REG_ST1*/
12208 xed3_operand_set_outreg(d, XED_REG_ST1);
12209 /*pacify the compiler */
12210 (void)d;
12211 break;
12212 case 2: /*(2,) -> RM=0x2 | OUTREG=XED_REG_ST2*/
12213 xed3_operand_set_outreg(d, XED_REG_ST2);
12214 /*pacify the compiler */
12215 (void)d;
12216 break;
12217 case 3: /*(3,) -> RM=0x3 | OUTREG=XED_REG_ST3*/
12218 xed3_operand_set_outreg(d, XED_REG_ST3);
12219 /*pacify the compiler */
12220 (void)d;
12221 break;
12222 case 4: /*(4,) -> RM=0x4 | OUTREG=XED_REG_ST4*/
12223 xed3_operand_set_outreg(d, XED_REG_ST4);
12224 /*pacify the compiler */
12225 (void)d;
12226 break;
12227 case 5: /*(5,) -> RM=0x5 | OUTREG=XED_REG_ST5*/
12228 xed3_operand_set_outreg(d, XED_REG_ST5);
12229 /*pacify the compiler */
12230 (void)d;
12231 break;
12232 case 6: /*(6,) -> RM=0x6 | OUTREG=XED_REG_ST6*/
12233 xed3_operand_set_outreg(d, XED_REG_ST6);
12234 /*pacify the compiler */
12235 (void)d;
12236 break;
12237 case 7: /*(7,) -> RM=0x7 | OUTREG=XED_REG_ST7*/
12238 xed3_operand_set_outreg(d, XED_REG_ST7);
12239 /*pacify the compiler */
12240 (void)d;
12241 break;
12242 default:
12243 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
12244 break;
12245 }
12246 }
xed3_capture_nt_BRANCH_HINT(xed_decoded_inst_t * d)12247 static XED_INLINE void xed3_capture_nt_BRANCH_HINT(xed_decoded_inst_t* d)
12248 {
12249 xed_uint32_t key = 0;
12250 key += (xed3_operand_get_hint(d)) << ((0));
12251 /* now switch code..*/
12252 switch(key) {
12253 case 0: /*(0,) -> HINT=0 |*/
12254 /*pacify the compiler */
12255 (void)d;
12256 break;
12257 case 1: /*(1,) -> HINT=1 | HINT=3*/
12258 xed3_operand_set_hint(d, 0x3);
12259 /*pacify the compiler */
12260 (void)d;
12261 break;
12262 case 2: /*(2,) -> HINT=2 | HINT=4*/
12263 xed3_operand_set_hint(d, 0x4);
12264 /*pacify the compiler */
12265 (void)d;
12266 break;
12267 default:
12268 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
12269 break;
12270 }
12271 }
xed3_capture_nt_FINAL_SSEG(xed_decoded_inst_t * d)12272 static XED_INLINE void xed3_capture_nt_FINAL_SSEG(xed_decoded_inst_t* d)
12273 {
12274 xed_uint32_t key = 0;
12275 key += (xed3_operand_get_mode(d)) << ((0));
12276 /* now switch code..*/
12277 switch(key) {
12278 case 0: /*(0,) -> mode16 | OUTREG=FINAL_SSEG_NOT64()*/
12279 xed3_capture_nt_FINAL_SSEG_NOT64(d);
12280 /*pacify the compiler */
12281 (void)d;
12282 break;
12283 case 1: /*(1,) -> mode32 | OUTREG=FINAL_SSEG_NOT64()*/
12284 xed3_capture_nt_FINAL_SSEG_NOT64(d);
12285 /*pacify the compiler */
12286 (void)d;
12287 break;
12288 case 2: /*(2,) -> mode64 | OUTREG=FINAL_SSEG_MODE64()*/
12289 xed3_capture_nt_FINAL_SSEG_MODE64(d);
12290 /*pacify the compiler */
12291 (void)d;
12292 break;
12293 default:
12294 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
12295 break;
12296 }
12297 }
xed3_capture_nt_GPRv_B(xed_decoded_inst_t * d)12298 static XED_INLINE void xed3_capture_nt_GPRv_B(xed_decoded_inst_t* d)
12299 {
12300 xed_uint32_t key = 0;
12301 key += (xed3_operand_get_eosz(d)) << ((0));
12302 /* now switch code..*/
12303 switch(key) {
12304 case 1: /*(1,) -> EOSZ=1 | OUTREG=GPR16_B()*/
12305 xed3_capture_nt_GPR16_B(d);
12306 /*pacify the compiler */
12307 (void)d;
12308 break;
12309 case 2: /*(2,) -> EOSZ=2 | OUTREG=GPR32_B()*/
12310 xed3_capture_nt_GPR32_B(d);
12311 /*pacify the compiler */
12312 (void)d;
12313 break;
12314 case 3: /*(3,) -> EOSZ=3 | OUTREG=GPR64_B()*/
12315 xed3_capture_nt_GPR64_B(d);
12316 /*pacify the compiler */
12317 (void)d;
12318 break;
12319 default:
12320 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
12321 break;
12322 }
12323 }
xed3_capture_nt_UISA_VSIB_BASE(xed_decoded_inst_t * d)12324 static XED_INLINE void xed3_capture_nt_UISA_VSIB_BASE(xed_decoded_inst_t* d)
12325 {
12326 xed_uint32_t key = 0;
12327 key += (xed3_operand_get_mod(d)) << ((0));
12328 key += (xed3_operand_get_rexb(d)) << ((2));
12329 key += (xed3_operand_get_sibbase(d)) << ((3));
12330 /* now switch code..*/
12331 switch(key) {
12332 case 1: /*(1, 0, 0) -> REXB=0 SIBBASE=0 | BASE0=ArAX() SEG0=FINAL_DSEG()*/
12333 case 2: /*(2, 0, 0) -> REXB=0 SIBBASE=0 | BASE0=ArAX() SEG0=FINAL_DSEG()*/
12334 case 0: /*(0, 0, 0) -> REXB=0 SIBBASE=0 | BASE0=ArAX() SEG0=FINAL_DSEG()*/
12335 case 3: /*(3, 0, 0) -> REXB=0 SIBBASE=0 | BASE0=ArAX() SEG0=FINAL_DSEG()*/
12336 xed3_capture_nt_ArAX(d);
12337 xed3_operand_set_base0(d, xed3_operand_get_outreg(d));
12338 xed3_capture_nt_FINAL_DSEG(d);
12339 xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
12340 /*pacify the compiler */
12341 (void)d;
12342 break;
12343 case 7: /*(3, 1, 0) -> REXB=1 SIBBASE=0 | BASE0=Ar8() SEG0=FINAL_DSEG()*/
12344 case 4: /*(0, 1, 0) -> REXB=1 SIBBASE=0 | BASE0=Ar8() SEG0=FINAL_DSEG()*/
12345 case 5: /*(1, 1, 0) -> REXB=1 SIBBASE=0 | BASE0=Ar8() SEG0=FINAL_DSEG()*/
12346 case 6: /*(2, 1, 0) -> REXB=1 SIBBASE=0 | BASE0=Ar8() SEG0=FINAL_DSEG()*/
12347 xed3_capture_nt_Ar8(d);
12348 xed3_operand_set_base0(d, xed3_operand_get_outreg(d));
12349 xed3_capture_nt_FINAL_DSEG(d);
12350 xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
12351 /*pacify the compiler */
12352 (void)d;
12353 break;
12354 case 9: /*(1, 0, 1) -> REXB=0 SIBBASE=1 | BASE0=ArCX() SEG0=FINAL_DSEG()*/
12355 case 10: /*(2, 0, 1) -> REXB=0 SIBBASE=1 | BASE0=ArCX() SEG0=FINAL_DSEG()*/
12356 case 8: /*(0, 0, 1) -> REXB=0 SIBBASE=1 | BASE0=ArCX() SEG0=FINAL_DSEG()*/
12357 case 11: /*(3, 0, 1) -> REXB=0 SIBBASE=1 | BASE0=ArCX() SEG0=FINAL_DSEG()*/
12358 xed3_capture_nt_ArCX(d);
12359 xed3_operand_set_base0(d, xed3_operand_get_outreg(d));
12360 xed3_capture_nt_FINAL_DSEG(d);
12361 xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
12362 /*pacify the compiler */
12363 (void)d;
12364 break;
12365 case 15: /*(3, 1, 1) -> REXB=1 SIBBASE=1 | BASE0=Ar9() SEG0=FINAL_DSEG()*/
12366 case 13: /*(1, 1, 1) -> REXB=1 SIBBASE=1 | BASE0=Ar9() SEG0=FINAL_DSEG()*/
12367 case 14: /*(2, 1, 1) -> REXB=1 SIBBASE=1 | BASE0=Ar9() SEG0=FINAL_DSEG()*/
12368 case 12: /*(0, 1, 1) -> REXB=1 SIBBASE=1 | BASE0=Ar9() SEG0=FINAL_DSEG()*/
12369 xed3_capture_nt_Ar9(d);
12370 xed3_operand_set_base0(d, xed3_operand_get_outreg(d));
12371 xed3_capture_nt_FINAL_DSEG(d);
12372 xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
12373 /*pacify the compiler */
12374 (void)d;
12375 break;
12376 case 19: /*(3, 0, 2) -> REXB=0 SIBBASE=2 | BASE0=ArDX() SEG0=FINAL_DSEG()*/
12377 case 16: /*(0, 0, 2) -> REXB=0 SIBBASE=2 | BASE0=ArDX() SEG0=FINAL_DSEG()*/
12378 case 18: /*(2, 0, 2) -> REXB=0 SIBBASE=2 | BASE0=ArDX() SEG0=FINAL_DSEG()*/
12379 case 17: /*(1, 0, 2) -> REXB=0 SIBBASE=2 | BASE0=ArDX() SEG0=FINAL_DSEG()*/
12380 xed3_capture_nt_ArDX(d);
12381 xed3_operand_set_base0(d, xed3_operand_get_outreg(d));
12382 xed3_capture_nt_FINAL_DSEG(d);
12383 xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
12384 /*pacify the compiler */
12385 (void)d;
12386 break;
12387 case 21: /*(1, 1, 2) -> REXB=1 SIBBASE=2 | BASE0=Ar10() SEG0=FINAL_DSEG()*/
12388 case 20: /*(0, 1, 2) -> REXB=1 SIBBASE=2 | BASE0=Ar10() SEG0=FINAL_DSEG()*/
12389 case 22: /*(2, 1, 2) -> REXB=1 SIBBASE=2 | BASE0=Ar10() SEG0=FINAL_DSEG()*/
12390 case 23: /*(3, 1, 2) -> REXB=1 SIBBASE=2 | BASE0=Ar10() SEG0=FINAL_DSEG()*/
12391 xed3_capture_nt_Ar10(d);
12392 xed3_operand_set_base0(d, xed3_operand_get_outreg(d));
12393 xed3_capture_nt_FINAL_DSEG(d);
12394 xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
12395 /*pacify the compiler */
12396 (void)d;
12397 break;
12398 case 25: /*(1, 0, 3) -> REXB=0 SIBBASE=3 | BASE0=ArBX() SEG0=FINAL_DSEG()*/
12399 case 27: /*(3, 0, 3) -> REXB=0 SIBBASE=3 | BASE0=ArBX() SEG0=FINAL_DSEG()*/
12400 case 24: /*(0, 0, 3) -> REXB=0 SIBBASE=3 | BASE0=ArBX() SEG0=FINAL_DSEG()*/
12401 case 26: /*(2, 0, 3) -> REXB=0 SIBBASE=3 | BASE0=ArBX() SEG0=FINAL_DSEG()*/
12402 xed3_capture_nt_ArBX(d);
12403 xed3_operand_set_base0(d, xed3_operand_get_outreg(d));
12404 xed3_capture_nt_FINAL_DSEG(d);
12405 xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
12406 /*pacify the compiler */
12407 (void)d;
12408 break;
12409 case 31: /*(3, 1, 3) -> REXB=1 SIBBASE=3 | BASE0=Ar11() SEG0=FINAL_DSEG()*/
12410 case 30: /*(2, 1, 3) -> REXB=1 SIBBASE=3 | BASE0=Ar11() SEG0=FINAL_DSEG()*/
12411 case 28: /*(0, 1, 3) -> REXB=1 SIBBASE=3 | BASE0=Ar11() SEG0=FINAL_DSEG()*/
12412 case 29: /*(1, 1, 3) -> REXB=1 SIBBASE=3 | BASE0=Ar11() SEG0=FINAL_DSEG()*/
12413 xed3_capture_nt_Ar11(d);
12414 xed3_operand_set_base0(d, xed3_operand_get_outreg(d));
12415 xed3_capture_nt_FINAL_DSEG(d);
12416 xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
12417 /*pacify the compiler */
12418 (void)d;
12419 break;
12420 case 35: /*(3, 0, 4) -> REXB=0 SIBBASE=4 | BASE0=ArSP() SEG0=FINAL_SSEG()*/
12421 case 34: /*(2, 0, 4) -> REXB=0 SIBBASE=4 | BASE0=ArSP() SEG0=FINAL_SSEG()*/
12422 case 33: /*(1, 0, 4) -> REXB=0 SIBBASE=4 | BASE0=ArSP() SEG0=FINAL_SSEG()*/
12423 case 32: /*(0, 0, 4) -> REXB=0 SIBBASE=4 | BASE0=ArSP() SEG0=FINAL_SSEG()*/
12424 xed3_capture_nt_ArSP(d);
12425 xed3_operand_set_base0(d, xed3_operand_get_outreg(d));
12426 xed3_capture_nt_FINAL_SSEG(d);
12427 xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
12428 /*pacify the compiler */
12429 (void)d;
12430 break;
12431 case 36: /*(0, 1, 4) -> REXB=1 SIBBASE=4 | BASE0=Ar12() SEG0=FINAL_DSEG()*/
12432 case 39: /*(3, 1, 4) -> REXB=1 SIBBASE=4 | BASE0=Ar12() SEG0=FINAL_DSEG()*/
12433 case 38: /*(2, 1, 4) -> REXB=1 SIBBASE=4 | BASE0=Ar12() SEG0=FINAL_DSEG()*/
12434 case 37: /*(1, 1, 4) -> REXB=1 SIBBASE=4 | BASE0=Ar12() SEG0=FINAL_DSEG()*/
12435 xed3_capture_nt_Ar12(d);
12436 xed3_operand_set_base0(d, xed3_operand_get_outreg(d));
12437 xed3_capture_nt_FINAL_DSEG(d);
12438 xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
12439 /*pacify the compiler */
12440 (void)d;
12441 break;
12442 case 40: /*(0, 0, 5) -> REXB=0 SIBBASE=5 MOD=0 MEMDISP32() | BASE0=XED_REG_INVALID SEG0=FINAL_DSEG()*/
12443 xed3_capture_nt_MEMDISP32(d);
12444 xed3_operand_set_base0(d, XED_REG_INVALID);
12445 xed3_capture_nt_FINAL_DSEG(d);
12446 xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
12447 /*pacify the compiler */
12448 (void)d;
12449 break;
12450 case 43: /*(3, 0, 5) -> REXB=0 SIBBASE=5 MOD!=0 | BASE0=ArBP() SEG0=FINAL_SSEG()*/
12451 case 42: /*(2, 0, 5) -> REXB=0 SIBBASE=5 MOD!=0 | BASE0=ArBP() SEG0=FINAL_SSEG()*/
12452 case 41: /*(1, 0, 5) -> REXB=0 SIBBASE=5 MOD!=0 | BASE0=ArBP() SEG0=FINAL_SSEG()*/
12453 xed3_capture_nt_ArBP(d);
12454 xed3_operand_set_base0(d, xed3_operand_get_outreg(d));
12455 xed3_capture_nt_FINAL_SSEG(d);
12456 xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
12457 /*pacify the compiler */
12458 (void)d;
12459 break;
12460 case 44: /*(0, 1, 5) -> REXB=1 SIBBASE=5 MOD=0 MEMDISP32() | BASE0=XED_REG_INVALID SEG0=FINAL_DSEG()*/
12461 xed3_capture_nt_MEMDISP32(d);
12462 xed3_operand_set_base0(d, XED_REG_INVALID);
12463 xed3_capture_nt_FINAL_DSEG(d);
12464 xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
12465 /*pacify the compiler */
12466 (void)d;
12467 break;
12468 case 46: /*(2, 1, 5) -> REXB=1 SIBBASE=5 MOD!=0 | BASE0=Ar13() SEG0=FINAL_DSEG()*/
12469 case 47: /*(3, 1, 5) -> REXB=1 SIBBASE=5 MOD!=0 | BASE0=Ar13() SEG0=FINAL_DSEG()*/
12470 case 45: /*(1, 1, 5) -> REXB=1 SIBBASE=5 MOD!=0 | BASE0=Ar13() SEG0=FINAL_DSEG()*/
12471 xed3_capture_nt_Ar13(d);
12472 xed3_operand_set_base0(d, xed3_operand_get_outreg(d));
12473 xed3_capture_nt_FINAL_DSEG(d);
12474 xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
12475 /*pacify the compiler */
12476 (void)d;
12477 break;
12478 case 49: /*(1, 0, 6) -> REXB=0 SIBBASE=6 | BASE0=ArSI() SEG0=FINAL_DSEG()*/
12479 case 51: /*(3, 0, 6) -> REXB=0 SIBBASE=6 | BASE0=ArSI() SEG0=FINAL_DSEG()*/
12480 case 48: /*(0, 0, 6) -> REXB=0 SIBBASE=6 | BASE0=ArSI() SEG0=FINAL_DSEG()*/
12481 case 50: /*(2, 0, 6) -> REXB=0 SIBBASE=6 | BASE0=ArSI() SEG0=FINAL_DSEG()*/
12482 xed3_capture_nt_ArSI(d);
12483 xed3_operand_set_base0(d, xed3_operand_get_outreg(d));
12484 xed3_capture_nt_FINAL_DSEG(d);
12485 xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
12486 /*pacify the compiler */
12487 (void)d;
12488 break;
12489 case 53: /*(1, 1, 6) -> REXB=1 SIBBASE=6 | BASE0=Ar14() SEG0=FINAL_DSEG()*/
12490 case 54: /*(2, 1, 6) -> REXB=1 SIBBASE=6 | BASE0=Ar14() SEG0=FINAL_DSEG()*/
12491 case 55: /*(3, 1, 6) -> REXB=1 SIBBASE=6 | BASE0=Ar14() SEG0=FINAL_DSEG()*/
12492 case 52: /*(0, 1, 6) -> REXB=1 SIBBASE=6 | BASE0=Ar14() SEG0=FINAL_DSEG()*/
12493 xed3_capture_nt_Ar14(d);
12494 xed3_operand_set_base0(d, xed3_operand_get_outreg(d));
12495 xed3_capture_nt_FINAL_DSEG(d);
12496 xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
12497 /*pacify the compiler */
12498 (void)d;
12499 break;
12500 case 57: /*(1, 0, 7) -> REXB=0 SIBBASE=7 | BASE0=ArDI() SEG0=FINAL_DSEG()*/
12501 case 56: /*(0, 0, 7) -> REXB=0 SIBBASE=7 | BASE0=ArDI() SEG0=FINAL_DSEG()*/
12502 case 59: /*(3, 0, 7) -> REXB=0 SIBBASE=7 | BASE0=ArDI() SEG0=FINAL_DSEG()*/
12503 case 58: /*(2, 0, 7) -> REXB=0 SIBBASE=7 | BASE0=ArDI() SEG0=FINAL_DSEG()*/
12504 xed3_capture_nt_ArDI(d);
12505 xed3_operand_set_base0(d, xed3_operand_get_outreg(d));
12506 xed3_capture_nt_FINAL_DSEG(d);
12507 xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
12508 /*pacify the compiler */
12509 (void)d;
12510 break;
12511 case 60: /*(0, 1, 7) -> REXB=1 SIBBASE=7 | BASE0=Ar15() SEG0=FINAL_DSEG()*/
12512 case 61: /*(1, 1, 7) -> REXB=1 SIBBASE=7 | BASE0=Ar15() SEG0=FINAL_DSEG()*/
12513 case 62: /*(2, 1, 7) -> REXB=1 SIBBASE=7 | BASE0=Ar15() SEG0=FINAL_DSEG()*/
12514 case 63: /*(3, 1, 7) -> REXB=1 SIBBASE=7 | BASE0=Ar15() SEG0=FINAL_DSEG()*/
12515 xed3_capture_nt_Ar15(d);
12516 xed3_operand_set_base0(d, xed3_operand_get_outreg(d));
12517 xed3_capture_nt_FINAL_DSEG(d);
12518 xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
12519 /*pacify the compiler */
12520 (void)d;
12521 break;
12522 default:
12523 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
12524 break;
12525 }
12526 }
xed3_capture_nt_YMM_SE64(xed_decoded_inst_t * d)12527 static XED_INLINE void xed3_capture_nt_YMM_SE64(xed_decoded_inst_t* d)
12528 {
12529 xed_uint32_t key = 0;
12530 key += (xed3_operand_get_esrc(d)) << ((0));
12531 /* now switch code..*/
12532 switch(key) {
12533 case 0: /*(0,) -> ESRC=0x0 | OUTREG=XED_REG_YMM0*/
12534 xed3_operand_set_outreg(d, XED_REG_YMM0);
12535 /*pacify the compiler */
12536 (void)d;
12537 break;
12538 case 1: /*(1,) -> ESRC=0x1 | OUTREG=XED_REG_YMM1*/
12539 xed3_operand_set_outreg(d, XED_REG_YMM1);
12540 /*pacify the compiler */
12541 (void)d;
12542 break;
12543 case 2: /*(2,) -> ESRC=0x2 | OUTREG=XED_REG_YMM2*/
12544 xed3_operand_set_outreg(d, XED_REG_YMM2);
12545 /*pacify the compiler */
12546 (void)d;
12547 break;
12548 case 3: /*(3,) -> ESRC=0x3 | OUTREG=XED_REG_YMM3*/
12549 xed3_operand_set_outreg(d, XED_REG_YMM3);
12550 /*pacify the compiler */
12551 (void)d;
12552 break;
12553 case 4: /*(4,) -> ESRC=0x4 | OUTREG=XED_REG_YMM4*/
12554 xed3_operand_set_outreg(d, XED_REG_YMM4);
12555 /*pacify the compiler */
12556 (void)d;
12557 break;
12558 case 5: /*(5,) -> ESRC=0x5 | OUTREG=XED_REG_YMM5*/
12559 xed3_operand_set_outreg(d, XED_REG_YMM5);
12560 /*pacify the compiler */
12561 (void)d;
12562 break;
12563 case 6: /*(6,) -> ESRC=0x6 | OUTREG=XED_REG_YMM6*/
12564 xed3_operand_set_outreg(d, XED_REG_YMM6);
12565 /*pacify the compiler */
12566 (void)d;
12567 break;
12568 case 7: /*(7,) -> ESRC=0x7 | OUTREG=XED_REG_YMM7*/
12569 xed3_operand_set_outreg(d, XED_REG_YMM7);
12570 /*pacify the compiler */
12571 (void)d;
12572 break;
12573 case 8: /*(8,) -> ESRC=0x8 | OUTREG=XED_REG_YMM8*/
12574 xed3_operand_set_outreg(d, XED_REG_YMM8);
12575 /*pacify the compiler */
12576 (void)d;
12577 break;
12578 case 9: /*(9,) -> ESRC=0x9 | OUTREG=XED_REG_YMM9*/
12579 xed3_operand_set_outreg(d, XED_REG_YMM9);
12580 /*pacify the compiler */
12581 (void)d;
12582 break;
12583 case 10: /*(10,) -> ESRC=0xA | OUTREG=XED_REG_YMM10*/
12584 xed3_operand_set_outreg(d, XED_REG_YMM10);
12585 /*pacify the compiler */
12586 (void)d;
12587 break;
12588 case 11: /*(11,) -> ESRC=0xB | OUTREG=XED_REG_YMM11*/
12589 xed3_operand_set_outreg(d, XED_REG_YMM11);
12590 /*pacify the compiler */
12591 (void)d;
12592 break;
12593 case 12: /*(12,) -> ESRC=0xC | OUTREG=XED_REG_YMM12*/
12594 xed3_operand_set_outreg(d, XED_REG_YMM12);
12595 /*pacify the compiler */
12596 (void)d;
12597 break;
12598 case 13: /*(13,) -> ESRC=0xD | OUTREG=XED_REG_YMM13*/
12599 xed3_operand_set_outreg(d, XED_REG_YMM13);
12600 /*pacify the compiler */
12601 (void)d;
12602 break;
12603 case 14: /*(14,) -> ESRC=0xE | OUTREG=XED_REG_YMM14*/
12604 xed3_operand_set_outreg(d, XED_REG_YMM14);
12605 /*pacify the compiler */
12606 (void)d;
12607 break;
12608 case 15: /*(15,) -> ESRC=0xF | OUTREG=XED_REG_YMM15*/
12609 xed3_operand_set_outreg(d, XED_REG_YMM15);
12610 /*pacify the compiler */
12611 (void)d;
12612 break;
12613 default:
12614 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
12615 break;
12616 }
12617 }
xed3_capture_nt_VGPR32_B_64(xed_decoded_inst_t * d)12618 static XED_INLINE void xed3_capture_nt_VGPR32_B_64(xed_decoded_inst_t* d)
12619 {
12620 xed_uint32_t key = 0;
12621 key += (xed3_operand_get_rexb(d)) << ((0));
12622 key += (xed3_operand_get_rm(d)) << ((1));
12623 /* now switch code..*/
12624 switch(key) {
12625 case 0: /*(0, 0) -> REXB=0 RM=0 | OUTREG=XED_REG_EAX*/
12626 xed3_operand_set_outreg(d, XED_REG_EAX);
12627 /*pacify the compiler */
12628 (void)d;
12629 break;
12630 case 1: /*(1, 0) -> REXB=1 RM=0 | OUTREG=XED_REG_R8D*/
12631 xed3_operand_set_outreg(d, XED_REG_R8D);
12632 /*pacify the compiler */
12633 (void)d;
12634 break;
12635 case 2: /*(0, 1) -> REXB=0 RM=1 | OUTREG=XED_REG_ECX*/
12636 xed3_operand_set_outreg(d, XED_REG_ECX);
12637 /*pacify the compiler */
12638 (void)d;
12639 break;
12640 case 3: /*(1, 1) -> REXB=1 RM=1 | OUTREG=XED_REG_R9D*/
12641 xed3_operand_set_outreg(d, XED_REG_R9D);
12642 /*pacify the compiler */
12643 (void)d;
12644 break;
12645 case 4: /*(0, 2) -> REXB=0 RM=2 | OUTREG=XED_REG_EDX*/
12646 xed3_operand_set_outreg(d, XED_REG_EDX);
12647 /*pacify the compiler */
12648 (void)d;
12649 break;
12650 case 5: /*(1, 2) -> REXB=1 RM=2 | OUTREG=XED_REG_R10D*/
12651 xed3_operand_set_outreg(d, XED_REG_R10D);
12652 /*pacify the compiler */
12653 (void)d;
12654 break;
12655 case 6: /*(0, 3) -> REXB=0 RM=3 | OUTREG=XED_REG_EBX*/
12656 xed3_operand_set_outreg(d, XED_REG_EBX);
12657 /*pacify the compiler */
12658 (void)d;
12659 break;
12660 case 7: /*(1, 3) -> REXB=1 RM=3 | OUTREG=XED_REG_R11D*/
12661 xed3_operand_set_outreg(d, XED_REG_R11D);
12662 /*pacify the compiler */
12663 (void)d;
12664 break;
12665 case 8: /*(0, 4) -> REXB=0 RM=4 | OUTREG=XED_REG_ESP*/
12666 xed3_operand_set_outreg(d, XED_REG_ESP);
12667 /*pacify the compiler */
12668 (void)d;
12669 break;
12670 case 9: /*(1, 4) -> REXB=1 RM=4 | OUTREG=XED_REG_R12D*/
12671 xed3_operand_set_outreg(d, XED_REG_R12D);
12672 /*pacify the compiler */
12673 (void)d;
12674 break;
12675 case 10: /*(0, 5) -> REXB=0 RM=5 | OUTREG=XED_REG_EBP*/
12676 xed3_operand_set_outreg(d, XED_REG_EBP);
12677 /*pacify the compiler */
12678 (void)d;
12679 break;
12680 case 11: /*(1, 5) -> REXB=1 RM=5 | OUTREG=XED_REG_R13D*/
12681 xed3_operand_set_outreg(d, XED_REG_R13D);
12682 /*pacify the compiler */
12683 (void)d;
12684 break;
12685 case 12: /*(0, 6) -> REXB=0 RM=6 | OUTREG=XED_REG_ESI*/
12686 xed3_operand_set_outreg(d, XED_REG_ESI);
12687 /*pacify the compiler */
12688 (void)d;
12689 break;
12690 case 13: /*(1, 6) -> REXB=1 RM=6 | OUTREG=XED_REG_R14D*/
12691 xed3_operand_set_outreg(d, XED_REG_R14D);
12692 /*pacify the compiler */
12693 (void)d;
12694 break;
12695 case 14: /*(0, 7) -> REXB=0 RM=7 | OUTREG=XED_REG_EDI*/
12696 xed3_operand_set_outreg(d, XED_REG_EDI);
12697 /*pacify the compiler */
12698 (void)d;
12699 break;
12700 case 15: /*(1, 7) -> REXB=1 RM=7 | OUTREG=XED_REG_R15D*/
12701 xed3_operand_set_outreg(d, XED_REG_R15D);
12702 /*pacify the compiler */
12703 (void)d;
12704 break;
12705 default:
12706 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
12707 break;
12708 }
12709 }
xed3_capture_nt_XMM_N3(xed_decoded_inst_t * d)12710 static XED_INLINE void xed3_capture_nt_XMM_N3(xed_decoded_inst_t* d)
12711 {
12712 xed_uint32_t key = 0;
12713 key += (xed3_operand_get_mode(d)) << ((0));
12714 /* now switch code..*/
12715 switch(key) {
12716 case 0: /*(0,) -> mode16 | OUTREG=XMM_N3_32()*/
12717 xed3_capture_nt_XMM_N3_32(d);
12718 /*pacify the compiler */
12719 (void)d;
12720 break;
12721 case 1: /*(1,) -> mode32 | OUTREG=XMM_N3_32()*/
12722 xed3_capture_nt_XMM_N3_32(d);
12723 /*pacify the compiler */
12724 (void)d;
12725 break;
12726 case 2: /*(2,) -> mode64 | OUTREG=XMM_N3_64()*/
12727 xed3_capture_nt_XMM_N3_64(d);
12728 /*pacify the compiler */
12729 (void)d;
12730 break;
12731 default:
12732 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
12733 break;
12734 }
12735 }
xed3_capture_nt_NELEM_TUPLE1_BYTE(xed_decoded_inst_t * d)12736 static XED_INLINE void xed3_capture_nt_NELEM_TUPLE1_BYTE(xed_decoded_inst_t* d)
12737 {
12738 xed_uint32_t key = 0;
12739 key += (xed3_operand_get_vl(d)) << ((0));
12740 /* now switch code..*/
12741 switch(key) {
12742 case 0: /*(0,) -> VL128 | NELEM=1*/
12743 xed3_operand_set_nelem(d, 0x1);
12744 /*pacify the compiler */
12745 (void)d;
12746 break;
12747 case 1: /*(1,) -> VL256 | NELEM=1*/
12748 xed3_operand_set_nelem(d, 0x1);
12749 /*pacify the compiler */
12750 (void)d;
12751 break;
12752 case 2: /*(2,) -> VL512 | NELEM=1*/
12753 xed3_operand_set_nelem(d, 0x1);
12754 /*pacify the compiler */
12755 (void)d;
12756 break;
12757 default:
12758 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
12759 break;
12760 }
12761 }
xed3_capture_nt_MASK_N32(xed_decoded_inst_t * d)12762 static XED_INLINE void xed3_capture_nt_MASK_N32(xed_decoded_inst_t* d)
12763 {
12764 xed_uint32_t key = 0;
12765 key += (xed3_operand_get_vexdest210(d)) << ((0));
12766 /* now switch code..*/
12767 switch(key) {
12768 case 0: /*(0,) -> VEXDEST210=0x0 | OUTREG=XED_REG_K7*/
12769 xed3_operand_set_outreg(d, XED_REG_K7);
12770 /*pacify the compiler */
12771 (void)d;
12772 break;
12773 case 1: /*(1,) -> VEXDEST210=0x1 | OUTREG=XED_REG_K6*/
12774 xed3_operand_set_outreg(d, XED_REG_K6);
12775 /*pacify the compiler */
12776 (void)d;
12777 break;
12778 case 2: /*(2,) -> VEXDEST210=0x2 | OUTREG=XED_REG_K5*/
12779 xed3_operand_set_outreg(d, XED_REG_K5);
12780 /*pacify the compiler */
12781 (void)d;
12782 break;
12783 case 3: /*(3,) -> VEXDEST210=0x3 | OUTREG=XED_REG_K4*/
12784 xed3_operand_set_outreg(d, XED_REG_K4);
12785 /*pacify the compiler */
12786 (void)d;
12787 break;
12788 case 4: /*(4,) -> VEXDEST210=0x4 | OUTREG=XED_REG_K3*/
12789 xed3_operand_set_outreg(d, XED_REG_K3);
12790 /*pacify the compiler */
12791 (void)d;
12792 break;
12793 case 5: /*(5,) -> VEXDEST210=0x5 | OUTREG=XED_REG_K2*/
12794 xed3_operand_set_outreg(d, XED_REG_K2);
12795 /*pacify the compiler */
12796 (void)d;
12797 break;
12798 case 6: /*(6,) -> VEXDEST210=0x6 | OUTREG=XED_REG_K1*/
12799 xed3_operand_set_outreg(d, XED_REG_K1);
12800 /*pacify the compiler */
12801 (void)d;
12802 break;
12803 case 7: /*(7,) -> VEXDEST210=0x7 | OUTREG=XED_REG_K0*/
12804 xed3_operand_set_outreg(d, XED_REG_K0);
12805 /*pacify the compiler */
12806 (void)d;
12807 break;
12808 default:
12809 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
12810 break;
12811 }
12812 }
xed3_capture_nt_BRDISP8(xed_decoded_inst_t * d)12813 static XED_INLINE void xed3_capture_nt_BRDISP8(xed_decoded_inst_t* d)
12814 {
12815 xed3_operand_set_brdisp_width(d, 0x8);
12816 /*pacify the compiler */
12817 (void)d;
12818 }
xed3_capture_nt_NELEM_GPR_READER_SUBDWORD(xed_decoded_inst_t * d)12819 static XED_INLINE void xed3_capture_nt_NELEM_GPR_READER_SUBDWORD(xed_decoded_inst_t* d)
12820 {
12821 xed_uint32_t key = 0;
12822 key += (xed3_operand_get_vl(d)) << ((0));
12823 /* now switch code..*/
12824 switch(key) {
12825 case 0: /*(0,) -> VL128 | NELEM=1*/
12826 xed3_operand_set_nelem(d, 0x1);
12827 /*pacify the compiler */
12828 (void)d;
12829 break;
12830 case 1: /*(1,) -> VL256 | NELEM=1*/
12831 xed3_operand_set_nelem(d, 0x1);
12832 /*pacify the compiler */
12833 (void)d;
12834 break;
12835 case 2: /*(2,) -> VL512 | NELEM=1*/
12836 xed3_operand_set_nelem(d, 0x1);
12837 /*pacify the compiler */
12838 (void)d;
12839 break;
12840 default:
12841 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
12842 break;
12843 }
12844 }
xed3_capture_nt_FINAL_DSEG1_NOT64(xed_decoded_inst_t * d)12845 static XED_INLINE void xed3_capture_nt_FINAL_DSEG1_NOT64(xed_decoded_inst_t* d)
12846 {
12847 xed_uint32_t key = 0;
12848 key += (xed3_operand_get_seg_ovd(d)) << ((0));
12849 /* now switch code..*/
12850 switch(key) {
12851 case 0: /*(0,) -> SEG_OVD=0 | OUTREG=XED_REG_DS USING_DEFAULT_SEGMENT1=1 enc*/
12852 xed3_operand_set_outreg(d, XED_REG_DS);
12853 xed3_operand_set_using_default_segment1(d, 0x1);
12854 /*pacify the compiler */
12855 (void)d;
12856 break;
12857 case 1: /*(1,) -> SEG_OVD=1 | OUTREG=XED_REG_CS USING_DEFAULT_SEGMENT1=0*/
12858 xed3_operand_set_outreg(d, XED_REG_CS);
12859 xed3_operand_set_using_default_segment1(d, 0x0);
12860 /*pacify the compiler */
12861 (void)d;
12862 break;
12863 case 2: /*(2,) -> SEG_OVD=2 | OUTREG=XED_REG_DS USING_DEFAULT_SEGMENT1=1*/
12864 xed3_operand_set_outreg(d, XED_REG_DS);
12865 xed3_operand_set_using_default_segment1(d, 0x1);
12866 /*pacify the compiler */
12867 (void)d;
12868 break;
12869 case 3: /*(3,) -> SEG_OVD=3 | OUTREG=XED_REG_ES USING_DEFAULT_SEGMENT1=0*/
12870 xed3_operand_set_outreg(d, XED_REG_ES);
12871 xed3_operand_set_using_default_segment1(d, 0x0);
12872 /*pacify the compiler */
12873 (void)d;
12874 break;
12875 case 4: /*(4,) -> SEG_OVD=4 | OUTREG=XED_REG_FS USING_DEFAULT_SEGMENT1=0*/
12876 xed3_operand_set_outreg(d, XED_REG_FS);
12877 xed3_operand_set_using_default_segment1(d, 0x0);
12878 /*pacify the compiler */
12879 (void)d;
12880 break;
12881 case 5: /*(5,) -> SEG_OVD=5 | OUTREG=XED_REG_GS USING_DEFAULT_SEGMENT1=0*/
12882 xed3_operand_set_outreg(d, XED_REG_GS);
12883 xed3_operand_set_using_default_segment1(d, 0x0);
12884 /*pacify the compiler */
12885 (void)d;
12886 break;
12887 case 6: /*(6,) -> SEG_OVD=6 | OUTREG=XED_REG_SS USING_DEFAULT_SEGMENT1=0*/
12888 xed3_operand_set_outreg(d, XED_REG_SS);
12889 xed3_operand_set_using_default_segment1(d, 0x0);
12890 /*pacify the compiler */
12891 (void)d;
12892 break;
12893 default:
12894 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
12895 break;
12896 }
12897 }
xed3_capture_nt_OrBP(xed_decoded_inst_t * d)12898 static XED_INLINE void xed3_capture_nt_OrBP(xed_decoded_inst_t* d)
12899 {
12900 xed_uint32_t key = 0;
12901 key += (xed3_operand_get_eosz(d)) << ((0));
12902 /* now switch code..*/
12903 switch(key) {
12904 case 1: /*(1,) -> EOSZ=1 | OUTREG=XED_REG_BP*/
12905 xed3_operand_set_outreg(d, XED_REG_BP);
12906 /*pacify the compiler */
12907 (void)d;
12908 break;
12909 case 2: /*(2,) -> EOSZ=2 | OUTREG=XED_REG_EBP*/
12910 xed3_operand_set_outreg(d, XED_REG_EBP);
12911 /*pacify the compiler */
12912 (void)d;
12913 break;
12914 case 3: /*(3,) -> EOSZ=3 | OUTREG=XED_REG_RBP*/
12915 xed3_operand_set_outreg(d, XED_REG_RBP);
12916 /*pacify the compiler */
12917 (void)d;
12918 break;
12919 default:
12920 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
12921 break;
12922 }
12923 }
xed3_capture_nt_rIP(xed_decoded_inst_t * d)12924 static XED_INLINE void xed3_capture_nt_rIP(xed_decoded_inst_t* d)
12925 {
12926 xed_uint32_t key = 0;
12927 key += (xed3_operand_get_mode(d)) << ((0));
12928 /* now switch code..*/
12929 switch(key) {
12930 case 0: /*(0,) -> mode16 | OUTREG=XED_REG_EIP*/
12931 xed3_operand_set_outreg(d, XED_REG_EIP);
12932 /*pacify the compiler */
12933 (void)d;
12934 break;
12935 case 1: /*(1,) -> mode32 | OUTREG=XED_REG_EIP*/
12936 xed3_operand_set_outreg(d, XED_REG_EIP);
12937 /*pacify the compiler */
12938 (void)d;
12939 break;
12940 case 2: /*(2,) -> mode64 | OUTREG=XED_REG_RIP*/
12941 xed3_operand_set_outreg(d, XED_REG_RIP);
12942 /*pacify the compiler */
12943 (void)d;
12944 break;
12945 default:
12946 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
12947 break;
12948 }
12949 }
xed3_capture_nt_ESIZE_1_BITS(xed_decoded_inst_t * d)12950 static XED_INLINE void xed3_capture_nt_ESIZE_1_BITS(xed_decoded_inst_t* d)
12951 {
12952 xed_uint32_t key = 0;
12953 key += (xed3_operand_get_rex(d)) << ((0));
12954 /* now switch code..*/
12955 switch(key) {
12956 case 0: /*(0,) -> REX=0 | ELEMENT_SIZE=1*/
12957 xed3_operand_set_element_size(d, 0x1);
12958 /*pacify the compiler */
12959 (void)d;
12960 break;
12961 default:
12962 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
12963 break;
12964 }
12965 }
xed3_capture_nt_YMM_R3_32(xed_decoded_inst_t * d)12966 static XED_INLINE void xed3_capture_nt_YMM_R3_32(xed_decoded_inst_t* d)
12967 {
12968 xed_uint32_t key = 0;
12969 key += (xed3_operand_get_reg(d)) << ((0));
12970 /* now switch code..*/
12971 switch(key) {
12972 case 0: /*(0,) -> REG=0 | OUTREG=XED_REG_YMM0*/
12973 xed3_operand_set_outreg(d, XED_REG_YMM0);
12974 /*pacify the compiler */
12975 (void)d;
12976 break;
12977 case 1: /*(1,) -> REG=1 | OUTREG=XED_REG_YMM1*/
12978 xed3_operand_set_outreg(d, XED_REG_YMM1);
12979 /*pacify the compiler */
12980 (void)d;
12981 break;
12982 case 2: /*(2,) -> REG=2 | OUTREG=XED_REG_YMM2*/
12983 xed3_operand_set_outreg(d, XED_REG_YMM2);
12984 /*pacify the compiler */
12985 (void)d;
12986 break;
12987 case 3: /*(3,) -> REG=3 | OUTREG=XED_REG_YMM3*/
12988 xed3_operand_set_outreg(d, XED_REG_YMM3);
12989 /*pacify the compiler */
12990 (void)d;
12991 break;
12992 case 4: /*(4,) -> REG=4 | OUTREG=XED_REG_YMM4*/
12993 xed3_operand_set_outreg(d, XED_REG_YMM4);
12994 /*pacify the compiler */
12995 (void)d;
12996 break;
12997 case 5: /*(5,) -> REG=5 | OUTREG=XED_REG_YMM5*/
12998 xed3_operand_set_outreg(d, XED_REG_YMM5);
12999 /*pacify the compiler */
13000 (void)d;
13001 break;
13002 case 6: /*(6,) -> REG=6 | OUTREG=XED_REG_YMM6*/
13003 xed3_operand_set_outreg(d, XED_REG_YMM6);
13004 /*pacify the compiler */
13005 (void)d;
13006 break;
13007 case 7: /*(7,) -> REG=7 | OUTREG=XED_REG_YMM7*/
13008 xed3_operand_set_outreg(d, XED_REG_YMM7);
13009 /*pacify the compiler */
13010 (void)d;
13011 break;
13012 default:
13013 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
13014 break;
13015 }
13016 }
xed3_capture_nt_MODRM16(xed_decoded_inst_t * d)13017 static XED_INLINE void xed3_capture_nt_MODRM16(xed_decoded_inst_t* d)
13018 {
13019 xed_uint32_t key = 0;
13020 key += (xed3_operand_get_mod(d)) << ((0));
13021 key += (xed3_operand_get_rm(d)) << ((2));
13022 /* now switch code..*/
13023 switch(key) {
13024 case 0: /*(0, 0) -> MOD=0b00 RM=0b000 | BASE0=XED_REG_BX SEG0=FINAL_DSEG() INDEX=XED_REG_SI SCALE=1*/
13025 xed3_operand_set_base0(d, XED_REG_BX);
13026 xed3_capture_nt_FINAL_DSEG(d);
13027 xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
13028 xed3_operand_set_index(d, XED_REG_SI);
13029 xed3_operand_set_scale(d, 0x1);
13030 /*pacify the compiler */
13031 (void)d;
13032 break;
13033 case 1: /*(1, 0) -> MOD=0b01 RM=0b000 | NEED_MEMDISP=8 BASE0=XED_REG_BX SEG0=FINAL_DSEG() INDEX=XED_REG_SI SCALE=1*/
13034 xed3_operand_set_need_memdisp(d, 0x8);
13035 xed3_operand_set_base0(d, XED_REG_BX);
13036 xed3_capture_nt_FINAL_DSEG(d);
13037 xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
13038 xed3_operand_set_index(d, XED_REG_SI);
13039 xed3_operand_set_scale(d, 0x1);
13040 /*pacify the compiler */
13041 (void)d;
13042 break;
13043 case 2: /*(2, 0) -> MOD=0b10 RM=0b000 | NEED_MEMDISP=16 BASE0=XED_REG_BX SEG0=FINAL_DSEG() INDEX=XED_REG_SI SCALE=1*/
13044 xed3_operand_set_need_memdisp(d, 0x10);
13045 xed3_operand_set_base0(d, XED_REG_BX);
13046 xed3_capture_nt_FINAL_DSEG(d);
13047 xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
13048 xed3_operand_set_index(d, XED_REG_SI);
13049 xed3_operand_set_scale(d, 0x1);
13050 /*pacify the compiler */
13051 (void)d;
13052 break;
13053 case 4: /*(0, 1) -> MOD=0b00 RM=0b001 | BASE0=XED_REG_BX SEG0=FINAL_DSEG() INDEX=XED_REG_DI SCALE=1*/
13054 xed3_operand_set_base0(d, XED_REG_BX);
13055 xed3_capture_nt_FINAL_DSEG(d);
13056 xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
13057 xed3_operand_set_index(d, XED_REG_DI);
13058 xed3_operand_set_scale(d, 0x1);
13059 /*pacify the compiler */
13060 (void)d;
13061 break;
13062 case 5: /*(1, 1) -> MOD=0b01 RM=0b001 | NEED_MEMDISP=8 BASE0=XED_REG_BX SEG0=FINAL_DSEG() INDEX=XED_REG_DI SCALE=1*/
13063 xed3_operand_set_need_memdisp(d, 0x8);
13064 xed3_operand_set_base0(d, XED_REG_BX);
13065 xed3_capture_nt_FINAL_DSEG(d);
13066 xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
13067 xed3_operand_set_index(d, XED_REG_DI);
13068 xed3_operand_set_scale(d, 0x1);
13069 /*pacify the compiler */
13070 (void)d;
13071 break;
13072 case 6: /*(2, 1) -> MOD=0b10 RM=0b001 | NEED_MEMDISP=16 BASE0=XED_REG_BX SEG0=FINAL_DSEG() INDEX=XED_REG_DI SCALE=1*/
13073 xed3_operand_set_need_memdisp(d, 0x10);
13074 xed3_operand_set_base0(d, XED_REG_BX);
13075 xed3_capture_nt_FINAL_DSEG(d);
13076 xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
13077 xed3_operand_set_index(d, XED_REG_DI);
13078 xed3_operand_set_scale(d, 0x1);
13079 /*pacify the compiler */
13080 (void)d;
13081 break;
13082 case 8: /*(0, 2) -> MOD=0b00 RM=0b010 | BASE0=XED_REG_BP SEG0=FINAL_SSEG() INDEX=XED_REG_SI SCALE=1*/
13083 xed3_operand_set_base0(d, XED_REG_BP);
13084 xed3_capture_nt_FINAL_SSEG(d);
13085 xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
13086 xed3_operand_set_index(d, XED_REG_SI);
13087 xed3_operand_set_scale(d, 0x1);
13088 /*pacify the compiler */
13089 (void)d;
13090 break;
13091 case 9: /*(1, 2) -> MOD=0b01 RM=0b010 | NEED_MEMDISP=8 BASE0=XED_REG_BP SEG0=FINAL_SSEG() INDEX=XED_REG_SI SCALE=1*/
13092 xed3_operand_set_need_memdisp(d, 0x8);
13093 xed3_operand_set_base0(d, XED_REG_BP);
13094 xed3_capture_nt_FINAL_SSEG(d);
13095 xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
13096 xed3_operand_set_index(d, XED_REG_SI);
13097 xed3_operand_set_scale(d, 0x1);
13098 /*pacify the compiler */
13099 (void)d;
13100 break;
13101 case 10: /*(2, 2) -> MOD=0b10 RM=0b010 | NEED_MEMDISP=16 BASE0=XED_REG_BP SEG0=FINAL_SSEG() INDEX=XED_REG_SI SCALE=1*/
13102 xed3_operand_set_need_memdisp(d, 0x10);
13103 xed3_operand_set_base0(d, XED_REG_BP);
13104 xed3_capture_nt_FINAL_SSEG(d);
13105 xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
13106 xed3_operand_set_index(d, XED_REG_SI);
13107 xed3_operand_set_scale(d, 0x1);
13108 /*pacify the compiler */
13109 (void)d;
13110 break;
13111 case 12: /*(0, 3) -> MOD=0b00 RM=0b011 | BASE0=XED_REG_BP SEG0=FINAL_SSEG() INDEX=XED_REG_DI SCALE=1*/
13112 xed3_operand_set_base0(d, XED_REG_BP);
13113 xed3_capture_nt_FINAL_SSEG(d);
13114 xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
13115 xed3_operand_set_index(d, XED_REG_DI);
13116 xed3_operand_set_scale(d, 0x1);
13117 /*pacify the compiler */
13118 (void)d;
13119 break;
13120 case 13: /*(1, 3) -> MOD=0b01 RM=0b011 | NEED_MEMDISP=8 BASE0=XED_REG_BP SEG0=FINAL_SSEG() INDEX=XED_REG_DI SCALE=1*/
13121 xed3_operand_set_need_memdisp(d, 0x8);
13122 xed3_operand_set_base0(d, XED_REG_BP);
13123 xed3_capture_nt_FINAL_SSEG(d);
13124 xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
13125 xed3_operand_set_index(d, XED_REG_DI);
13126 xed3_operand_set_scale(d, 0x1);
13127 /*pacify the compiler */
13128 (void)d;
13129 break;
13130 case 14: /*(2, 3) -> MOD=0b10 RM=0b011 | NEED_MEMDISP=16 BASE0=XED_REG_BP SEG0=FINAL_SSEG() INDEX=XED_REG_DI SCALE=1*/
13131 xed3_operand_set_need_memdisp(d, 0x10);
13132 xed3_operand_set_base0(d, XED_REG_BP);
13133 xed3_capture_nt_FINAL_SSEG(d);
13134 xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
13135 xed3_operand_set_index(d, XED_REG_DI);
13136 xed3_operand_set_scale(d, 0x1);
13137 /*pacify the compiler */
13138 (void)d;
13139 break;
13140 case 16: /*(0, 4) -> MOD=0b00 RM=0b100 | BASE0=XED_REG_SI SEG0=FINAL_DSEG() INDEX=XED_REG_INVALID*/
13141 xed3_operand_set_base0(d, XED_REG_SI);
13142 xed3_capture_nt_FINAL_DSEG(d);
13143 xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
13144 xed3_operand_set_index(d, XED_REG_INVALID);
13145 /*pacify the compiler */
13146 (void)d;
13147 break;
13148 case 17: /*(1, 4) -> MOD=0b01 RM=0b100 | NEED_MEMDISP=8 BASE0=XED_REG_SI SEG0=FINAL_DSEG() INDEX=XED_REG_INVALID*/
13149 xed3_operand_set_need_memdisp(d, 0x8);
13150 xed3_operand_set_base0(d, XED_REG_SI);
13151 xed3_capture_nt_FINAL_DSEG(d);
13152 xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
13153 xed3_operand_set_index(d, XED_REG_INVALID);
13154 /*pacify the compiler */
13155 (void)d;
13156 break;
13157 case 18: /*(2, 4) -> MOD=0b10 RM=0b100 | NEED_MEMDISP=16 BASE0=XED_REG_SI SEG0=FINAL_DSEG() INDEX=XED_REG_INVALID*/
13158 xed3_operand_set_need_memdisp(d, 0x10);
13159 xed3_operand_set_base0(d, XED_REG_SI);
13160 xed3_capture_nt_FINAL_DSEG(d);
13161 xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
13162 xed3_operand_set_index(d, XED_REG_INVALID);
13163 /*pacify the compiler */
13164 (void)d;
13165 break;
13166 case 20: /*(0, 5) -> MOD=0b00 RM=0b101 | BASE0=XED_REG_DI SEG0=FINAL_DSEG() INDEX=XED_REG_INVALID*/
13167 xed3_operand_set_base0(d, XED_REG_DI);
13168 xed3_capture_nt_FINAL_DSEG(d);
13169 xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
13170 xed3_operand_set_index(d, XED_REG_INVALID);
13171 /*pacify the compiler */
13172 (void)d;
13173 break;
13174 case 21: /*(1, 5) -> MOD=0b01 RM=0b101 | NEED_MEMDISP=8 BASE0=XED_REG_DI SEG0=FINAL_DSEG() INDEX=XED_REG_INVALID*/
13175 xed3_operand_set_need_memdisp(d, 0x8);
13176 xed3_operand_set_base0(d, XED_REG_DI);
13177 xed3_capture_nt_FINAL_DSEG(d);
13178 xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
13179 xed3_operand_set_index(d, XED_REG_INVALID);
13180 /*pacify the compiler */
13181 (void)d;
13182 break;
13183 case 22: /*(2, 5) -> MOD=0b10 RM=0b101 | NEED_MEMDISP=16 BASE0=XED_REG_DI SEG0=FINAL_DSEG() INDEX=XED_REG_INVALID*/
13184 xed3_operand_set_need_memdisp(d, 0x10);
13185 xed3_operand_set_base0(d, XED_REG_DI);
13186 xed3_capture_nt_FINAL_DSEG(d);
13187 xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
13188 xed3_operand_set_index(d, XED_REG_INVALID);
13189 /*pacify the compiler */
13190 (void)d;
13191 break;
13192 case 24: /*(0, 6) -> MOD=0b00 RM=0b110 | NEED_MEMDISP=16 BASE0=XED_REG_INVALID SEG0=FINAL_DSEG() INDEX=XED_REG_INVALID*/
13193 xed3_operand_set_need_memdisp(d, 0x10);
13194 xed3_operand_set_base0(d, XED_REG_INVALID);
13195 xed3_capture_nt_FINAL_DSEG(d);
13196 xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
13197 xed3_operand_set_index(d, XED_REG_INVALID);
13198 /*pacify the compiler */
13199 (void)d;
13200 break;
13201 case 25: /*(1, 6) -> MOD=0b01 RM=0b110 | NEED_MEMDISP=8 BASE0=XED_REG_BP SEG0=FINAL_SSEG() INDEX=XED_REG_INVALID*/
13202 xed3_operand_set_need_memdisp(d, 0x8);
13203 xed3_operand_set_base0(d, XED_REG_BP);
13204 xed3_capture_nt_FINAL_SSEG(d);
13205 xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
13206 xed3_operand_set_index(d, XED_REG_INVALID);
13207 /*pacify the compiler */
13208 (void)d;
13209 break;
13210 case 26: /*(2, 6) -> MOD=0b10 RM=0b110 | NEED_MEMDISP=16 BASE0=XED_REG_BP SEG0=FINAL_SSEG() INDEX=XED_REG_INVALID*/
13211 xed3_operand_set_need_memdisp(d, 0x10);
13212 xed3_operand_set_base0(d, XED_REG_BP);
13213 xed3_capture_nt_FINAL_SSEG(d);
13214 xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
13215 xed3_operand_set_index(d, XED_REG_INVALID);
13216 /*pacify the compiler */
13217 (void)d;
13218 break;
13219 case 28: /*(0, 7) -> MOD=0b00 RM=0b111 | BASE0=XED_REG_BX SEG0=FINAL_DSEG() INDEX=XED_REG_INVALID*/
13220 xed3_operand_set_base0(d, XED_REG_BX);
13221 xed3_capture_nt_FINAL_DSEG(d);
13222 xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
13223 xed3_operand_set_index(d, XED_REG_INVALID);
13224 /*pacify the compiler */
13225 (void)d;
13226 break;
13227 case 29: /*(1, 7) -> MOD=0b01 RM=0b111 | NEED_MEMDISP=8 BASE0=XED_REG_BX SEG0=FINAL_DSEG() INDEX=XED_REG_INVALID*/
13228 xed3_operand_set_need_memdisp(d, 0x8);
13229 xed3_operand_set_base0(d, XED_REG_BX);
13230 xed3_capture_nt_FINAL_DSEG(d);
13231 xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
13232 xed3_operand_set_index(d, XED_REG_INVALID);
13233 /*pacify the compiler */
13234 (void)d;
13235 break;
13236 case 30: /*(2, 7) -> MOD=0b10 RM=0b111 | NEED_MEMDISP=16 BASE0=XED_REG_BX SEG0=FINAL_DSEG() INDEX=XED_REG_INVALID*/
13237 xed3_operand_set_need_memdisp(d, 0x10);
13238 xed3_operand_set_base0(d, XED_REG_BX);
13239 xed3_capture_nt_FINAL_DSEG(d);
13240 xed3_operand_set_seg0(d, xed3_operand_get_outreg(d));
13241 xed3_operand_set_index(d, XED_REG_INVALID);
13242 /*pacify the compiler */
13243 (void)d;
13244 break;
13245 default:
13246 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
13247 break;
13248 }
13249 }
xed3_capture_nt_NELEM_FULLMEM(xed_decoded_inst_t * d)13250 static XED_INLINE void xed3_capture_nt_NELEM_FULLMEM(xed_decoded_inst_t* d)
13251 {
13252 xed_uint32_t key = 0;
13253 key += (xed3_operand_get_element_size(d)) << ((0));
13254 key += (xed3_operand_get_vl(d)) << ((9));
13255 /* now switch code..*/
13256 switch(key) {
13257 case 1: /*(1, 0) -> ELEMENT_SIZE=1 VL128 | NELEM=128*/
13258 xed3_operand_set_nelem(d, 0x80);
13259 /*pacify the compiler */
13260 (void)d;
13261 break;
13262 case 2: /*(2, 0) -> ELEMENT_SIZE=2 VL128 | NELEM=64*/
13263 xed3_operand_set_nelem(d, 0x40);
13264 /*pacify the compiler */
13265 (void)d;
13266 break;
13267 case 4: /*(4, 0) -> ELEMENT_SIZE=4 VL128 | NELEM=32*/
13268 xed3_operand_set_nelem(d, 0x20);
13269 /*pacify the compiler */
13270 (void)d;
13271 break;
13272 case 8: /*(8, 0) -> ELEMENT_SIZE=8 VL128 | NELEM=16*/
13273 xed3_operand_set_nelem(d, 0x10);
13274 /*pacify the compiler */
13275 (void)d;
13276 break;
13277 case 16: /*(16, 0) -> ELEMENT_SIZE=16 VL128 | NELEM=8*/
13278 xed3_operand_set_nelem(d, 0x8);
13279 /*pacify the compiler */
13280 (void)d;
13281 break;
13282 case 32: /*(32, 0) -> ELEMENT_SIZE=32 VL128 | NELEM=4*/
13283 xed3_operand_set_nelem(d, 0x4);
13284 /*pacify the compiler */
13285 (void)d;
13286 break;
13287 case 64: /*(64, 0) -> ELEMENT_SIZE=64 VL128 | NELEM=2*/
13288 xed3_operand_set_nelem(d, 0x2);
13289 /*pacify the compiler */
13290 (void)d;
13291 break;
13292 case 128: /*(128, 0) -> ELEMENT_SIZE=128 VL128 | NELEM=1*/
13293 xed3_operand_set_nelem(d, 0x1);
13294 /*pacify the compiler */
13295 (void)d;
13296 break;
13297 case 256: /*(256, 0) -> ELEMENT_SIZE=256 VL128 | error*/
13298 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
13299 break;
13300 case 512: /*(512, 0) -> ELEMENT_SIZE=512 VL128 | error*/
13301 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
13302 break;
13303 case 513: /*(1, 1) -> ELEMENT_SIZE=1 VL256 | NELEM=256*/
13304 xed3_operand_set_nelem(d, 0x100);
13305 /*pacify the compiler */
13306 (void)d;
13307 break;
13308 case 514: /*(2, 1) -> ELEMENT_SIZE=2 VL256 | NELEM=128*/
13309 xed3_operand_set_nelem(d, 0x80);
13310 /*pacify the compiler */
13311 (void)d;
13312 break;
13313 case 516: /*(4, 1) -> ELEMENT_SIZE=4 VL256 | NELEM=64*/
13314 xed3_operand_set_nelem(d, 0x40);
13315 /*pacify the compiler */
13316 (void)d;
13317 break;
13318 case 520: /*(8, 1) -> ELEMENT_SIZE=8 VL256 | NELEM=32*/
13319 xed3_operand_set_nelem(d, 0x20);
13320 /*pacify the compiler */
13321 (void)d;
13322 break;
13323 case 528: /*(16, 1) -> ELEMENT_SIZE=16 VL256 | NELEM=16*/
13324 xed3_operand_set_nelem(d, 0x10);
13325 /*pacify the compiler */
13326 (void)d;
13327 break;
13328 case 544: /*(32, 1) -> ELEMENT_SIZE=32 VL256 | NELEM=8*/
13329 xed3_operand_set_nelem(d, 0x8);
13330 /*pacify the compiler */
13331 (void)d;
13332 break;
13333 case 576: /*(64, 1) -> ELEMENT_SIZE=64 VL256 | NELEM=4*/
13334 xed3_operand_set_nelem(d, 0x4);
13335 /*pacify the compiler */
13336 (void)d;
13337 break;
13338 case 640: /*(128, 1) -> ELEMENT_SIZE=128 VL256 | NELEM=2*/
13339 xed3_operand_set_nelem(d, 0x2);
13340 /*pacify the compiler */
13341 (void)d;
13342 break;
13343 case 768: /*(256, 1) -> ELEMENT_SIZE=256 VL256 | NELEM=1*/
13344 xed3_operand_set_nelem(d, 0x1);
13345 /*pacify the compiler */
13346 (void)d;
13347 break;
13348 case 1024: /*(512, 1) -> ELEMENT_SIZE=512 VL256 | error*/
13349 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
13350 break;
13351 case 1025: /*(1, 2) -> ELEMENT_SIZE=1 VL512 | NELEM=512*/
13352 xed3_operand_set_nelem(d, 0x200);
13353 /*pacify the compiler */
13354 (void)d;
13355 break;
13356 case 1026: /*(2, 2) -> ELEMENT_SIZE=2 VL512 | NELEM=256*/
13357 xed3_operand_set_nelem(d, 0x100);
13358 /*pacify the compiler */
13359 (void)d;
13360 break;
13361 case 1028: /*(4, 2) -> ELEMENT_SIZE=4 VL512 | NELEM=128*/
13362 xed3_operand_set_nelem(d, 0x80);
13363 /*pacify the compiler */
13364 (void)d;
13365 break;
13366 case 1032: /*(8, 2) -> ELEMENT_SIZE=8 VL512 | NELEM=64*/
13367 xed3_operand_set_nelem(d, 0x40);
13368 /*pacify the compiler */
13369 (void)d;
13370 break;
13371 case 1040: /*(16, 2) -> ELEMENT_SIZE=16 VL512 | NELEM=32*/
13372 xed3_operand_set_nelem(d, 0x20);
13373 /*pacify the compiler */
13374 (void)d;
13375 break;
13376 case 1056: /*(32, 2) -> ELEMENT_SIZE=32 VL512 | NELEM=16*/
13377 xed3_operand_set_nelem(d, 0x10);
13378 /*pacify the compiler */
13379 (void)d;
13380 break;
13381 case 1088: /*(64, 2) -> ELEMENT_SIZE=64 VL512 | NELEM=8*/
13382 xed3_operand_set_nelem(d, 0x8);
13383 /*pacify the compiler */
13384 (void)d;
13385 break;
13386 case 1152: /*(128, 2) -> ELEMENT_SIZE=128 VL512 | NELEM=4*/
13387 xed3_operand_set_nelem(d, 0x4);
13388 /*pacify the compiler */
13389 (void)d;
13390 break;
13391 case 1280: /*(256, 2) -> ELEMENT_SIZE=256 VL512 | NELEM=2*/
13392 xed3_operand_set_nelem(d, 0x2);
13393 /*pacify the compiler */
13394 (void)d;
13395 break;
13396 case 1536: /*(512, 2) -> ELEMENT_SIZE=512 VL512 | NELEM=1*/
13397 xed3_operand_set_nelem(d, 0x1);
13398 /*pacify the compiler */
13399 (void)d;
13400 break;
13401 default:
13402 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
13403 break;
13404 }
13405 }
xed3_capture_nt_FINAL_SSEG_MODE64(xed_decoded_inst_t * d)13406 static XED_INLINE void xed3_capture_nt_FINAL_SSEG_MODE64(xed_decoded_inst_t* d)
13407 {
13408 xed_uint32_t key = 0;
13409 key += (xed3_operand_get_seg_ovd(d)) << ((0));
13410 /* now switch code..*/
13411 switch(key) {
13412 case 0: /*(0,) -> SEG_OVD=0 | OUTREG=XED_REG_INVALID USING_DEFAULT_SEGMENT0=1 enc*/
13413 xed3_operand_set_outreg(d, XED_REG_INVALID);
13414 xed3_operand_set_using_default_segment0(d, 0x1);
13415 /*pacify the compiler */
13416 (void)d;
13417 break;
13418 case 1: /*(1,) -> SEG_OVD=1 | OUTREG=XED_REG_INVALID USING_DEFAULT_SEGMENT0=1*/
13419 xed3_operand_set_outreg(d, XED_REG_INVALID);
13420 xed3_operand_set_using_default_segment0(d, 0x1);
13421 /*pacify the compiler */
13422 (void)d;
13423 break;
13424 case 2: /*(2,) -> SEG_OVD=2 | OUTREG=XED_REG_INVALID USING_DEFAULT_SEGMENT0=1*/
13425 xed3_operand_set_outreg(d, XED_REG_INVALID);
13426 xed3_operand_set_using_default_segment0(d, 0x1);
13427 /*pacify the compiler */
13428 (void)d;
13429 break;
13430 case 3: /*(3,) -> SEG_OVD=3 | OUTREG=XED_REG_INVALID USING_DEFAULT_SEGMENT0=1*/
13431 xed3_operand_set_outreg(d, XED_REG_INVALID);
13432 xed3_operand_set_using_default_segment0(d, 0x1);
13433 /*pacify the compiler */
13434 (void)d;
13435 break;
13436 case 4: /*(4,) -> SEG_OVD=4 | OUTREG=XED_REG_FS USING_DEFAULT_SEGMENT0=0*/
13437 xed3_operand_set_outreg(d, XED_REG_FS);
13438 xed3_operand_set_using_default_segment0(d, 0x0);
13439 /*pacify the compiler */
13440 (void)d;
13441 break;
13442 case 5: /*(5,) -> SEG_OVD=5 | OUTREG=XED_REG_GS USING_DEFAULT_SEGMENT0=0*/
13443 xed3_operand_set_outreg(d, XED_REG_GS);
13444 xed3_operand_set_using_default_segment0(d, 0x0);
13445 /*pacify the compiler */
13446 (void)d;
13447 break;
13448 case 6: /*(6,) -> SEG_OVD=6 | OUTREG=XED_REG_INVALID USING_DEFAULT_SEGMENT0=1*/
13449 xed3_operand_set_outreg(d, XED_REG_INVALID);
13450 xed3_operand_set_using_default_segment0(d, 0x1);
13451 /*pacify the compiler */
13452 (void)d;
13453 break;
13454 default:
13455 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
13456 break;
13457 }
13458 }
xed3_capture_nt_UISA_VMODRM_XMM(xed_decoded_inst_t * d)13459 static XED_INLINE void xed3_capture_nt_UISA_VMODRM_XMM(xed_decoded_inst_t* d)
13460 {
13461 xed_uint32_t key = 0;
13462 key += (xed3_operand_get_mod(d)) << ((0));
13463 /* now switch code..*/
13464 switch(key) {
13465 case 0: /*(0,) -> MOD=0b00 UISA_VSIB_XMM() |*/
13466 xed3_capture_nt_UISA_VSIB_XMM(d);
13467 /*pacify the compiler */
13468 (void)d;
13469 break;
13470 case 1: /*(1,) -> MOD=0b01 UISA_VSIB_XMM() MEMDISP8() |*/
13471 xed3_capture_nt_UISA_VSIB_XMM(d);
13472 xed3_capture_nt_MEMDISP8(d);
13473 /*pacify the compiler */
13474 (void)d;
13475 break;
13476 case 2: /*(2,) -> MOD=0b10 UISA_VSIB_XMM() MEMDISP32() |*/
13477 xed3_capture_nt_UISA_VSIB_XMM(d);
13478 xed3_capture_nt_MEMDISP32(d);
13479 /*pacify the compiler */
13480 (void)d;
13481 break;
13482 default:
13483 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
13484 break;
13485 }
13486 }
xed3_capture_nt_ZMM_N3_64(xed_decoded_inst_t * d)13487 static XED_INLINE void xed3_capture_nt_ZMM_N3_64(xed_decoded_inst_t* d)
13488 {
13489 xed_uint32_t key = 0;
13490 key += (xed3_operand_get_vexdest210(d)) << ((0));
13491 key += (xed3_operand_get_vexdest3(d)) << ((3));
13492 key += (xed3_operand_get_vexdest4(d)) << ((4));
13493 /* now switch code..*/
13494 switch(key) {
13495 case 0: /*(0, 0, 0) -> VEXDEST4=0 VEXDEST3=0 VEXDEST210=0 | OUTREG=XED_REG_ZMM15*/
13496 xed3_operand_set_outreg(d, XED_REG_ZMM15);
13497 /*pacify the compiler */
13498 (void)d;
13499 break;
13500 case 1: /*(1, 0, 0) -> VEXDEST4=0 VEXDEST3=0 VEXDEST210=1 | OUTREG=XED_REG_ZMM14*/
13501 xed3_operand_set_outreg(d, XED_REG_ZMM14);
13502 /*pacify the compiler */
13503 (void)d;
13504 break;
13505 case 2: /*(2, 0, 0) -> VEXDEST4=0 VEXDEST3=0 VEXDEST210=2 | OUTREG=XED_REG_ZMM13*/
13506 xed3_operand_set_outreg(d, XED_REG_ZMM13);
13507 /*pacify the compiler */
13508 (void)d;
13509 break;
13510 case 3: /*(3, 0, 0) -> VEXDEST4=0 VEXDEST3=0 VEXDEST210=3 | OUTREG=XED_REG_ZMM12*/
13511 xed3_operand_set_outreg(d, XED_REG_ZMM12);
13512 /*pacify the compiler */
13513 (void)d;
13514 break;
13515 case 4: /*(4, 0, 0) -> VEXDEST4=0 VEXDEST3=0 VEXDEST210=4 | OUTREG=XED_REG_ZMM11*/
13516 xed3_operand_set_outreg(d, XED_REG_ZMM11);
13517 /*pacify the compiler */
13518 (void)d;
13519 break;
13520 case 5: /*(5, 0, 0) -> VEXDEST4=0 VEXDEST3=0 VEXDEST210=5 | OUTREG=XED_REG_ZMM10*/
13521 xed3_operand_set_outreg(d, XED_REG_ZMM10);
13522 /*pacify the compiler */
13523 (void)d;
13524 break;
13525 case 6: /*(6, 0, 0) -> VEXDEST4=0 VEXDEST3=0 VEXDEST210=6 | OUTREG=XED_REG_ZMM9*/
13526 xed3_operand_set_outreg(d, XED_REG_ZMM9);
13527 /*pacify the compiler */
13528 (void)d;
13529 break;
13530 case 7: /*(7, 0, 0) -> VEXDEST4=0 VEXDEST3=0 VEXDEST210=7 | OUTREG=XED_REG_ZMM8*/
13531 xed3_operand_set_outreg(d, XED_REG_ZMM8);
13532 /*pacify the compiler */
13533 (void)d;
13534 break;
13535 case 8: /*(0, 1, 0) -> VEXDEST4=0 VEXDEST3=1 VEXDEST210=0 | OUTREG=XED_REG_ZMM7*/
13536 xed3_operand_set_outreg(d, XED_REG_ZMM7);
13537 /*pacify the compiler */
13538 (void)d;
13539 break;
13540 case 9: /*(1, 1, 0) -> VEXDEST4=0 VEXDEST3=1 VEXDEST210=1 | OUTREG=XED_REG_ZMM6*/
13541 xed3_operand_set_outreg(d, XED_REG_ZMM6);
13542 /*pacify the compiler */
13543 (void)d;
13544 break;
13545 case 10: /*(2, 1, 0) -> VEXDEST4=0 VEXDEST3=1 VEXDEST210=2 | OUTREG=XED_REG_ZMM5*/
13546 xed3_operand_set_outreg(d, XED_REG_ZMM5);
13547 /*pacify the compiler */
13548 (void)d;
13549 break;
13550 case 11: /*(3, 1, 0) -> VEXDEST4=0 VEXDEST3=1 VEXDEST210=3 | OUTREG=XED_REG_ZMM4*/
13551 xed3_operand_set_outreg(d, XED_REG_ZMM4);
13552 /*pacify the compiler */
13553 (void)d;
13554 break;
13555 case 12: /*(4, 1, 0) -> VEXDEST4=0 VEXDEST3=1 VEXDEST210=4 | OUTREG=XED_REG_ZMM3*/
13556 xed3_operand_set_outreg(d, XED_REG_ZMM3);
13557 /*pacify the compiler */
13558 (void)d;
13559 break;
13560 case 13: /*(5, 1, 0) -> VEXDEST4=0 VEXDEST3=1 VEXDEST210=5 | OUTREG=XED_REG_ZMM2*/
13561 xed3_operand_set_outreg(d, XED_REG_ZMM2);
13562 /*pacify the compiler */
13563 (void)d;
13564 break;
13565 case 14: /*(6, 1, 0) -> VEXDEST4=0 VEXDEST3=1 VEXDEST210=6 | OUTREG=XED_REG_ZMM1*/
13566 xed3_operand_set_outreg(d, XED_REG_ZMM1);
13567 /*pacify the compiler */
13568 (void)d;
13569 break;
13570 case 15: /*(7, 1, 0) -> VEXDEST4=0 VEXDEST3=1 VEXDEST210=7 | OUTREG=XED_REG_ZMM0*/
13571 xed3_operand_set_outreg(d, XED_REG_ZMM0);
13572 /*pacify the compiler */
13573 (void)d;
13574 break;
13575 case 16: /*(0, 0, 1) -> VEXDEST4=1 VEXDEST3=0 VEXDEST210=0 | OUTREG=XED_REG_ZMM31*/
13576 xed3_operand_set_outreg(d, XED_REG_ZMM31);
13577 /*pacify the compiler */
13578 (void)d;
13579 break;
13580 case 17: /*(1, 0, 1) -> VEXDEST4=1 VEXDEST3=0 VEXDEST210=1 | OUTREG=XED_REG_ZMM30*/
13581 xed3_operand_set_outreg(d, XED_REG_ZMM30);
13582 /*pacify the compiler */
13583 (void)d;
13584 break;
13585 case 18: /*(2, 0, 1) -> VEXDEST4=1 VEXDEST3=0 VEXDEST210=2 | OUTREG=XED_REG_ZMM29*/
13586 xed3_operand_set_outreg(d, XED_REG_ZMM29);
13587 /*pacify the compiler */
13588 (void)d;
13589 break;
13590 case 19: /*(3, 0, 1) -> VEXDEST4=1 VEXDEST3=0 VEXDEST210=3 | OUTREG=XED_REG_ZMM28*/
13591 xed3_operand_set_outreg(d, XED_REG_ZMM28);
13592 /*pacify the compiler */
13593 (void)d;
13594 break;
13595 case 20: /*(4, 0, 1) -> VEXDEST4=1 VEXDEST3=0 VEXDEST210=4 | OUTREG=XED_REG_ZMM27*/
13596 xed3_operand_set_outreg(d, XED_REG_ZMM27);
13597 /*pacify the compiler */
13598 (void)d;
13599 break;
13600 case 21: /*(5, 0, 1) -> VEXDEST4=1 VEXDEST3=0 VEXDEST210=5 | OUTREG=XED_REG_ZMM26*/
13601 xed3_operand_set_outreg(d, XED_REG_ZMM26);
13602 /*pacify the compiler */
13603 (void)d;
13604 break;
13605 case 22: /*(6, 0, 1) -> VEXDEST4=1 VEXDEST3=0 VEXDEST210=6 | OUTREG=XED_REG_ZMM25*/
13606 xed3_operand_set_outreg(d, XED_REG_ZMM25);
13607 /*pacify the compiler */
13608 (void)d;
13609 break;
13610 case 23: /*(7, 0, 1) -> VEXDEST4=1 VEXDEST3=0 VEXDEST210=7 | OUTREG=XED_REG_ZMM24*/
13611 xed3_operand_set_outreg(d, XED_REG_ZMM24);
13612 /*pacify the compiler */
13613 (void)d;
13614 break;
13615 case 24: /*(0, 1, 1) -> VEXDEST4=1 VEXDEST3=1 VEXDEST210=0 | OUTREG=XED_REG_ZMM23*/
13616 xed3_operand_set_outreg(d, XED_REG_ZMM23);
13617 /*pacify the compiler */
13618 (void)d;
13619 break;
13620 case 25: /*(1, 1, 1) -> VEXDEST4=1 VEXDEST3=1 VEXDEST210=1 | OUTREG=XED_REG_ZMM22*/
13621 xed3_operand_set_outreg(d, XED_REG_ZMM22);
13622 /*pacify the compiler */
13623 (void)d;
13624 break;
13625 case 26: /*(2, 1, 1) -> VEXDEST4=1 VEXDEST3=1 VEXDEST210=2 | OUTREG=XED_REG_ZMM21*/
13626 xed3_operand_set_outreg(d, XED_REG_ZMM21);
13627 /*pacify the compiler */
13628 (void)d;
13629 break;
13630 case 27: /*(3, 1, 1) -> VEXDEST4=1 VEXDEST3=1 VEXDEST210=3 | OUTREG=XED_REG_ZMM20*/
13631 xed3_operand_set_outreg(d, XED_REG_ZMM20);
13632 /*pacify the compiler */
13633 (void)d;
13634 break;
13635 case 28: /*(4, 1, 1) -> VEXDEST4=1 VEXDEST3=1 VEXDEST210=4 | OUTREG=XED_REG_ZMM19*/
13636 xed3_operand_set_outreg(d, XED_REG_ZMM19);
13637 /*pacify the compiler */
13638 (void)d;
13639 break;
13640 case 29: /*(5, 1, 1) -> VEXDEST4=1 VEXDEST3=1 VEXDEST210=5 | OUTREG=XED_REG_ZMM18*/
13641 xed3_operand_set_outreg(d, XED_REG_ZMM18);
13642 /*pacify the compiler */
13643 (void)d;
13644 break;
13645 case 30: /*(6, 1, 1) -> VEXDEST4=1 VEXDEST3=1 VEXDEST210=6 | OUTREG=XED_REG_ZMM17*/
13646 xed3_operand_set_outreg(d, XED_REG_ZMM17);
13647 /*pacify the compiler */
13648 (void)d;
13649 break;
13650 case 31: /*(7, 1, 1) -> VEXDEST4=1 VEXDEST3=1 VEXDEST210=7 | OUTREG=XED_REG_ZMM16*/
13651 xed3_operand_set_outreg(d, XED_REG_ZMM16);
13652 /*pacify the compiler */
13653 (void)d;
13654 break;
13655 default:
13656 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
13657 break;
13658 }
13659 }
xed3_capture_nt_BRDISP32(xed_decoded_inst_t * d)13660 static XED_INLINE void xed3_capture_nt_BRDISP32(xed_decoded_inst_t* d)
13661 {
13662 xed3_operand_set_brdisp_width(d, 0x20);
13663 /*pacify the compiler */
13664 (void)d;
13665 }
xed3_capture_nt_MEMDISP32(xed_decoded_inst_t * d)13666 static XED_INLINE void xed3_capture_nt_MEMDISP32(xed_decoded_inst_t* d)
13667 {
13668 xed3_operand_set_disp_width(d, 0x20);
13669 /*pacify the compiler */
13670 (void)d;
13671 }
xed3_capture_nt_BND_B(xed_decoded_inst_t * d)13672 static XED_INLINE void xed3_capture_nt_BND_B(xed_decoded_inst_t* d)
13673 {
13674 xed_uint32_t key = 0;
13675 key += (xed3_operand_get_rexb(d)) << ((0));
13676 key += (xed3_operand_get_rm(d)) << ((1));
13677 /* now switch code..*/
13678 switch(key) {
13679 case 0: /*(0, 0) -> REXB=0 RM=0x0 | OUTREG=XED_REG_BND0*/
13680 xed3_operand_set_outreg(d, XED_REG_BND0);
13681 /*pacify the compiler */
13682 (void)d;
13683 break;
13684 case 1: /*(1, 0) -> REXB=1 RM=0x0 | OUTREG=XED_REG_ERROR*/
13685 xed3_operand_set_outreg(d, XED_REG_ERROR);
13686 xed3_operand_set_error(d, XED_ERROR_BAD_REGISTER);
13687 /*pacify the compiler */
13688 (void)d;
13689 break;
13690 case 2: /*(0, 1) -> REXB=0 RM=0x1 | OUTREG=XED_REG_BND1*/
13691 xed3_operand_set_outreg(d, XED_REG_BND1);
13692 /*pacify the compiler */
13693 (void)d;
13694 break;
13695 case 3: /*(1, 1) -> REXB=1 RM=0x1 | OUTREG=XED_REG_ERROR*/
13696 xed3_operand_set_outreg(d, XED_REG_ERROR);
13697 xed3_operand_set_error(d, XED_ERROR_BAD_REGISTER);
13698 /*pacify the compiler */
13699 (void)d;
13700 break;
13701 case 4: /*(0, 2) -> REXB=0 RM=0x2 | OUTREG=XED_REG_BND2*/
13702 xed3_operand_set_outreg(d, XED_REG_BND2);
13703 /*pacify the compiler */
13704 (void)d;
13705 break;
13706 case 5: /*(1, 2) -> REXB=1 RM=0x2 | OUTREG=XED_REG_ERROR*/
13707 xed3_operand_set_outreg(d, XED_REG_ERROR);
13708 xed3_operand_set_error(d, XED_ERROR_BAD_REGISTER);
13709 /*pacify the compiler */
13710 (void)d;
13711 break;
13712 case 6: /*(0, 3) -> REXB=0 RM=0x3 | OUTREG=XED_REG_BND3*/
13713 xed3_operand_set_outreg(d, XED_REG_BND3);
13714 /*pacify the compiler */
13715 (void)d;
13716 break;
13717 case 7: /*(1, 3) -> REXB=1 RM=0x3 | OUTREG=XED_REG_ERROR*/
13718 xed3_operand_set_outreg(d, XED_REG_ERROR);
13719 xed3_operand_set_error(d, XED_ERROR_BAD_REGISTER);
13720 /*pacify the compiler */
13721 (void)d;
13722 break;
13723 case 8: /*(0, 4) -> REXB=0 RM=0x4 | OUTREG=XED_REG_ERROR enc*/
13724 xed3_operand_set_outreg(d, XED_REG_ERROR);
13725 xed3_operand_set_error(d, XED_ERROR_BAD_REGISTER);
13726 /*pacify the compiler */
13727 (void)d;
13728 break;
13729 case 9: /*(1, 4) -> REXB=1 RM=0x4 | OUTREG=XED_REG_ERROR*/
13730 xed3_operand_set_outreg(d, XED_REG_ERROR);
13731 xed3_operand_set_error(d, XED_ERROR_BAD_REGISTER);
13732 /*pacify the compiler */
13733 (void)d;
13734 break;
13735 case 10: /*(0, 5) -> REXB=0 RM=0x5 | OUTREG=XED_REG_ERROR*/
13736 xed3_operand_set_outreg(d, XED_REG_ERROR);
13737 xed3_operand_set_error(d, XED_ERROR_BAD_REGISTER);
13738 /*pacify the compiler */
13739 (void)d;
13740 break;
13741 case 11: /*(1, 5) -> REXB=1 RM=0x5 | OUTREG=XED_REG_ERROR*/
13742 xed3_operand_set_outreg(d, XED_REG_ERROR);
13743 xed3_operand_set_error(d, XED_ERROR_BAD_REGISTER);
13744 /*pacify the compiler */
13745 (void)d;
13746 break;
13747 case 12: /*(0, 6) -> REXB=0 RM=0x6 | OUTREG=XED_REG_ERROR*/
13748 xed3_operand_set_outreg(d, XED_REG_ERROR);
13749 xed3_operand_set_error(d, XED_ERROR_BAD_REGISTER);
13750 /*pacify the compiler */
13751 (void)d;
13752 break;
13753 case 13: /*(1, 6) -> REXB=1 RM=0x6 | OUTREG=XED_REG_ERROR*/
13754 xed3_operand_set_outreg(d, XED_REG_ERROR);
13755 xed3_operand_set_error(d, XED_ERROR_BAD_REGISTER);
13756 /*pacify the compiler */
13757 (void)d;
13758 break;
13759 case 14: /*(0, 7) -> REXB=0 RM=0x7 | OUTREG=XED_REG_ERROR*/
13760 xed3_operand_set_outreg(d, XED_REG_ERROR);
13761 xed3_operand_set_error(d, XED_ERROR_BAD_REGISTER);
13762 /*pacify the compiler */
13763 (void)d;
13764 break;
13765 case 15: /*(1, 7) -> REXB=1 RM=0x7 | OUTREG=XED_REG_ERROR*/
13766 xed3_operand_set_outreg(d, XED_REG_ERROR);
13767 xed3_operand_set_error(d, XED_ERROR_BAD_REGISTER);
13768 /*pacify the compiler */
13769 (void)d;
13770 break;
13771 default:
13772 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
13773 break;
13774 }
13775 }
xed3_capture_nt_SEG_MOV(xed_decoded_inst_t * d)13776 static XED_INLINE void xed3_capture_nt_SEG_MOV(xed_decoded_inst_t* d)
13777 {
13778 xed_uint32_t key = 0;
13779 key += (xed3_operand_get_reg(d)) << ((0));
13780 /* now switch code..*/
13781 switch(key) {
13782 case 0: /*(0,) -> REG=0x0 | OUTREG=XED_REG_ES*/
13783 xed3_operand_set_outreg(d, XED_REG_ES);
13784 /*pacify the compiler */
13785 (void)d;
13786 break;
13787 case 1: /*(1,) -> REG=0x1 | OUTREG=XED_REG_ERROR*/
13788 xed3_operand_set_outreg(d, XED_REG_ERROR);
13789 xed3_operand_set_error(d, XED_ERROR_BAD_REGISTER);
13790 /*pacify the compiler */
13791 (void)d;
13792 break;
13793 case 2: /*(2,) -> REG=0x2 | OUTREG=XED_REG_SS*/
13794 xed3_operand_set_outreg(d, XED_REG_SS);
13795 /*pacify the compiler */
13796 (void)d;
13797 break;
13798 case 3: /*(3,) -> REG=0x3 | OUTREG=XED_REG_DS*/
13799 xed3_operand_set_outreg(d, XED_REG_DS);
13800 /*pacify the compiler */
13801 (void)d;
13802 break;
13803 case 4: /*(4,) -> REG=0x4 | OUTREG=XED_REG_FS*/
13804 xed3_operand_set_outreg(d, XED_REG_FS);
13805 /*pacify the compiler */
13806 (void)d;
13807 break;
13808 case 5: /*(5,) -> REG=0x5 | OUTREG=XED_REG_GS*/
13809 xed3_operand_set_outreg(d, XED_REG_GS);
13810 /*pacify the compiler */
13811 (void)d;
13812 break;
13813 case 6: /*(6,) -> REG=0x6 | OUTREG=XED_REG_ERROR enc*/
13814 xed3_operand_set_outreg(d, XED_REG_ERROR);
13815 xed3_operand_set_error(d, XED_ERROR_BAD_REGISTER);
13816 /*pacify the compiler */
13817 (void)d;
13818 break;
13819 case 7: /*(7,) -> REG=0x7 | OUTREG=XED_REG_ERROR*/
13820 xed3_operand_set_outreg(d, XED_REG_ERROR);
13821 xed3_operand_set_error(d, XED_ERROR_BAD_REGISTER);
13822 /*pacify the compiler */
13823 (void)d;
13824 break;
13825 default:
13826 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
13827 break;
13828 }
13829 }
xed3_capture_nt_A_GPR_B(xed_decoded_inst_t * d)13830 static XED_INLINE void xed3_capture_nt_A_GPR_B(xed_decoded_inst_t* d)
13831 {
13832 xed_uint32_t key = 0;
13833 key += (xed3_operand_get_rexb(d)) << ((0));
13834 key += (xed3_operand_get_rm(d)) << ((1));
13835 /* now switch code..*/
13836 switch(key) {
13837 case 0: /*(0, 0) -> REXB=0 RM=0x0 | OUTREG=ArAX()*/
13838 xed3_capture_nt_ArAX(d);
13839 /*pacify the compiler */
13840 (void)d;
13841 break;
13842 case 1: /*(1, 0) -> REXB=1 RM=0x0 | OUTREG=Ar8()*/
13843 xed3_capture_nt_Ar8(d);
13844 /*pacify the compiler */
13845 (void)d;
13846 break;
13847 case 2: /*(0, 1) -> REXB=0 RM=0x1 | OUTREG=ArCX()*/
13848 xed3_capture_nt_ArCX(d);
13849 /*pacify the compiler */
13850 (void)d;
13851 break;
13852 case 3: /*(1, 1) -> REXB=1 RM=0x1 | OUTREG=Ar9()*/
13853 xed3_capture_nt_Ar9(d);
13854 /*pacify the compiler */
13855 (void)d;
13856 break;
13857 case 4: /*(0, 2) -> REXB=0 RM=0x2 | OUTREG=ArDX()*/
13858 xed3_capture_nt_ArDX(d);
13859 /*pacify the compiler */
13860 (void)d;
13861 break;
13862 case 5: /*(1, 2) -> REXB=1 RM=0x2 | OUTREG=Ar10()*/
13863 xed3_capture_nt_Ar10(d);
13864 /*pacify the compiler */
13865 (void)d;
13866 break;
13867 case 6: /*(0, 3) -> REXB=0 RM=0x3 | OUTREG=ArBX()*/
13868 xed3_capture_nt_ArBX(d);
13869 /*pacify the compiler */
13870 (void)d;
13871 break;
13872 case 7: /*(1, 3) -> REXB=1 RM=0x3 | OUTREG=Ar11()*/
13873 xed3_capture_nt_Ar11(d);
13874 /*pacify the compiler */
13875 (void)d;
13876 break;
13877 case 8: /*(0, 4) -> REXB=0 RM=0x4 | OUTREG=ArSP()*/
13878 xed3_capture_nt_ArSP(d);
13879 /*pacify the compiler */
13880 (void)d;
13881 break;
13882 case 9: /*(1, 4) -> REXB=1 RM=0x4 | OUTREG=Ar12()*/
13883 xed3_capture_nt_Ar12(d);
13884 /*pacify the compiler */
13885 (void)d;
13886 break;
13887 case 10: /*(0, 5) -> REXB=0 RM=0x5 | OUTREG=ArBP()*/
13888 xed3_capture_nt_ArBP(d);
13889 /*pacify the compiler */
13890 (void)d;
13891 break;
13892 case 11: /*(1, 5) -> REXB=1 RM=0x5 | OUTREG=Ar13()*/
13893 xed3_capture_nt_Ar13(d);
13894 /*pacify the compiler */
13895 (void)d;
13896 break;
13897 case 12: /*(0, 6) -> REXB=0 RM=0x6 | OUTREG=ArSI()*/
13898 xed3_capture_nt_ArSI(d);
13899 /*pacify the compiler */
13900 (void)d;
13901 break;
13902 case 13: /*(1, 6) -> REXB=1 RM=0x6 | OUTREG=Ar14()*/
13903 xed3_capture_nt_Ar14(d);
13904 /*pacify the compiler */
13905 (void)d;
13906 break;
13907 case 14: /*(0, 7) -> REXB=0 RM=0x7 | OUTREG=ArDI()*/
13908 xed3_capture_nt_ArDI(d);
13909 /*pacify the compiler */
13910 (void)d;
13911 break;
13912 case 15: /*(1, 7) -> REXB=1 RM=0x7 | OUTREG=Ar15()*/
13913 xed3_capture_nt_Ar15(d);
13914 /*pacify the compiler */
13915 (void)d;
13916 break;
13917 default:
13918 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
13919 break;
13920 }
13921 }
xed3_capture_nt_GPR8_SB(xed_decoded_inst_t * d)13922 static XED_INLINE void xed3_capture_nt_GPR8_SB(xed_decoded_inst_t* d)
13923 {
13924 xed_uint32_t key = 0;
13925 key += (xed3_operand_get_rex(d)) << ((0));
13926 key += (xed3_operand_get_rexb(d)) << ((1));
13927 key += (xed3_operand_get_srm(d)) << ((2));
13928 /* now switch code..*/
13929 switch(key) {
13930 case 1: /*(1, 0, 0) -> REXB=0 SRM=0x0 | OUTREG=XED_REG_AL*/
13931 case 0: /*(0, 0, 0) -> REXB=0 SRM=0x0 | OUTREG=XED_REG_AL*/
13932 xed3_operand_set_outreg(d, XED_REG_AL);
13933 /*pacify the compiler */
13934 (void)d;
13935 break;
13936 case 3: /*(1, 1, 0) -> REXB=1 SRM=0x0 | OUTREG=XED_REG_R8B*/
13937 case 2: /*(0, 1, 0) -> REXB=1 SRM=0x0 | OUTREG=XED_REG_R8B*/
13938 xed3_operand_set_outreg(d, XED_REG_R8B);
13939 /*pacify the compiler */
13940 (void)d;
13941 break;
13942 case 5: /*(1, 0, 1) -> REXB=0 SRM=0x1 | OUTREG=XED_REG_CL*/
13943 case 4: /*(0, 0, 1) -> REXB=0 SRM=0x1 | OUTREG=XED_REG_CL*/
13944 xed3_operand_set_outreg(d, XED_REG_CL);
13945 /*pacify the compiler */
13946 (void)d;
13947 break;
13948 case 6: /*(0, 1, 1) -> REXB=1 SRM=0x1 | OUTREG=XED_REG_R9B*/
13949 case 7: /*(1, 1, 1) -> REXB=1 SRM=0x1 | OUTREG=XED_REG_R9B*/
13950 xed3_operand_set_outreg(d, XED_REG_R9B);
13951 /*pacify the compiler */
13952 (void)d;
13953 break;
13954 case 8: /*(0, 0, 2) -> REXB=0 SRM=0x2 | OUTREG=XED_REG_DL*/
13955 case 9: /*(1, 0, 2) -> REXB=0 SRM=0x2 | OUTREG=XED_REG_DL*/
13956 xed3_operand_set_outreg(d, XED_REG_DL);
13957 /*pacify the compiler */
13958 (void)d;
13959 break;
13960 case 10: /*(0, 1, 2) -> REXB=1 SRM=0x2 | OUTREG=XED_REG_R10B*/
13961 case 11: /*(1, 1, 2) -> REXB=1 SRM=0x2 | OUTREG=XED_REG_R10B*/
13962 xed3_operand_set_outreg(d, XED_REG_R10B);
13963 /*pacify the compiler */
13964 (void)d;
13965 break;
13966 case 13: /*(1, 0, 3) -> REXB=0 SRM=0x3 | OUTREG=XED_REG_BL*/
13967 case 12: /*(0, 0, 3) -> REXB=0 SRM=0x3 | OUTREG=XED_REG_BL*/
13968 xed3_operand_set_outreg(d, XED_REG_BL);
13969 /*pacify the compiler */
13970 (void)d;
13971 break;
13972 case 14: /*(0, 1, 3) -> REXB=1 SRM=0x3 | OUTREG=XED_REG_R11B*/
13973 case 15: /*(1, 1, 3) -> REXB=1 SRM=0x3 | OUTREG=XED_REG_R11B*/
13974 xed3_operand_set_outreg(d, XED_REG_R11B);
13975 /*pacify the compiler */
13976 (void)d;
13977 break;
13978 case 16: /*(0, 0, 4) -> REXB=0 SRM=0x4 REX=0 | OUTREG=XED_REG_AH*/
13979 xed3_operand_set_outreg(d, XED_REG_AH);
13980 /*pacify the compiler */
13981 (void)d;
13982 break;
13983 case 17: /*(1, 0, 4) -> REXB=0 SRM=0x4 REX=1 | OUTREG=XED_REG_SPL*/
13984 xed3_operand_set_outreg(d, XED_REG_SPL);
13985 /*pacify the compiler */
13986 (void)d;
13987 break;
13988 case 18: /*(0, 1, 4) -> REXB=1 SRM=0x4 | OUTREG=XED_REG_R12B*/
13989 case 19: /*(1, 1, 4) -> REXB=1 SRM=0x4 | OUTREG=XED_REG_R12B*/
13990 xed3_operand_set_outreg(d, XED_REG_R12B);
13991 /*pacify the compiler */
13992 (void)d;
13993 break;
13994 case 20: /*(0, 0, 5) -> REXB=0 SRM=0x5 REX=0 | OUTREG=XED_REG_CH*/
13995 xed3_operand_set_outreg(d, XED_REG_CH);
13996 /*pacify the compiler */
13997 (void)d;
13998 break;
13999 case 21: /*(1, 0, 5) -> REXB=0 SRM=0x5 REX=1 | OUTREG=XED_REG_BPL*/
14000 xed3_operand_set_outreg(d, XED_REG_BPL);
14001 /*pacify the compiler */
14002 (void)d;
14003 break;
14004 case 22: /*(0, 1, 5) -> REXB=1 SRM=0x5 | OUTREG=XED_REG_R13B*/
14005 case 23: /*(1, 1, 5) -> REXB=1 SRM=0x5 | OUTREG=XED_REG_R13B*/
14006 xed3_operand_set_outreg(d, XED_REG_R13B);
14007 /*pacify the compiler */
14008 (void)d;
14009 break;
14010 case 24: /*(0, 0, 6) -> REXB=0 SRM=0x6 REX=0 | OUTREG=XED_REG_DH*/
14011 xed3_operand_set_outreg(d, XED_REG_DH);
14012 /*pacify the compiler */
14013 (void)d;
14014 break;
14015 case 25: /*(1, 0, 6) -> REXB=0 SRM=0x6 REX=1 | OUTREG=XED_REG_SIL*/
14016 xed3_operand_set_outreg(d, XED_REG_SIL);
14017 /*pacify the compiler */
14018 (void)d;
14019 break;
14020 case 27: /*(1, 1, 6) -> REXB=1 SRM=0x6 | OUTREG=XED_REG_R14B*/
14021 case 26: /*(0, 1, 6) -> REXB=1 SRM=0x6 | OUTREG=XED_REG_R14B*/
14022 xed3_operand_set_outreg(d, XED_REG_R14B);
14023 /*pacify the compiler */
14024 (void)d;
14025 break;
14026 case 28: /*(0, 0, 7) -> REXB=0 SRM=0x7 REX=0 | OUTREG=XED_REG_BH*/
14027 xed3_operand_set_outreg(d, XED_REG_BH);
14028 /*pacify the compiler */
14029 (void)d;
14030 break;
14031 case 29: /*(1, 0, 7) -> REXB=0 SRM=0x7 REX=1 | OUTREG=XED_REG_DIL*/
14032 xed3_operand_set_outreg(d, XED_REG_DIL);
14033 /*pacify the compiler */
14034 (void)d;
14035 break;
14036 case 30: /*(0, 1, 7) -> REXB=1 SRM=0x7 | OUTREG=XED_REG_R15B*/
14037 case 31: /*(1, 1, 7) -> REXB=1 SRM=0x7 | OUTREG=XED_REG_R15B*/
14038 xed3_operand_set_outreg(d, XED_REG_R15B);
14039 /*pacify the compiler */
14040 (void)d;
14041 break;
14042 default:
14043 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
14044 break;
14045 }
14046 }
xed3_capture_nt_MASK_N64(xed_decoded_inst_t * d)14047 static XED_INLINE void xed3_capture_nt_MASK_N64(xed_decoded_inst_t* d)
14048 {
14049 xed_uint32_t key = 0;
14050 key += (xed3_operand_get_vexdest210(d)) << ((0));
14051 key += (xed3_operand_get_vexdest3(d)) << ((3));
14052 /* now switch code..*/
14053 switch(key) {
14054 case 8: /*(0, 1) -> VEXDEST3=1 VEXDEST210=0x0 | OUTREG=XED_REG_K7*/
14055 xed3_operand_set_outreg(d, XED_REG_K7);
14056 /*pacify the compiler */
14057 (void)d;
14058 break;
14059 case 9: /*(1, 1) -> VEXDEST3=1 VEXDEST210=0x1 | OUTREG=XED_REG_K6*/
14060 xed3_operand_set_outreg(d, XED_REG_K6);
14061 /*pacify the compiler */
14062 (void)d;
14063 break;
14064 case 10: /*(2, 1) -> VEXDEST3=1 VEXDEST210=0x2 | OUTREG=XED_REG_K5*/
14065 xed3_operand_set_outreg(d, XED_REG_K5);
14066 /*pacify the compiler */
14067 (void)d;
14068 break;
14069 case 11: /*(3, 1) -> VEXDEST3=1 VEXDEST210=0x3 | OUTREG=XED_REG_K4*/
14070 xed3_operand_set_outreg(d, XED_REG_K4);
14071 /*pacify the compiler */
14072 (void)d;
14073 break;
14074 case 12: /*(4, 1) -> VEXDEST3=1 VEXDEST210=0x4 | OUTREG=XED_REG_K3*/
14075 xed3_operand_set_outreg(d, XED_REG_K3);
14076 /*pacify the compiler */
14077 (void)d;
14078 break;
14079 case 13: /*(5, 1) -> VEXDEST3=1 VEXDEST210=0x5 | OUTREG=XED_REG_K2*/
14080 xed3_operand_set_outreg(d, XED_REG_K2);
14081 /*pacify the compiler */
14082 (void)d;
14083 break;
14084 case 14: /*(6, 1) -> VEXDEST3=1 VEXDEST210=0x6 | OUTREG=XED_REG_K1*/
14085 xed3_operand_set_outreg(d, XED_REG_K1);
14086 /*pacify the compiler */
14087 (void)d;
14088 break;
14089 case 15: /*(7, 1) -> VEXDEST3=1 VEXDEST210=0x7 | OUTREG=XED_REG_K0*/
14090 xed3_operand_set_outreg(d, XED_REG_K0);
14091 /*pacify the compiler */
14092 (void)d;
14093 break;
14094 default:
14095 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
14096 break;
14097 }
14098 }
xed3_capture_nt_BND_B_CHECK(xed_decoded_inst_t * d)14099 static XED_INLINE void xed3_capture_nt_BND_B_CHECK(xed_decoded_inst_t* d)
14100 {
14101 xed_uint32_t key = 0;
14102 key += (xed3_operand_get_rexb(d)) << ((0));
14103 key += (xed3_operand_get_rm(d)) << ((1));
14104 /* now switch code..*/
14105 switch(key) {
14106 case 0: /*(0, 0) -> REXB=0 RM=0x0 |*/
14107 /*pacify the compiler */
14108 (void)d;
14109 break;
14110 case 1: /*(1, 0) -> REXB=1 RM=0x0 | error*/
14111 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
14112 break;
14113 case 2: /*(0, 1) -> REXB=0 RM=0x1 |*/
14114 /*pacify the compiler */
14115 (void)d;
14116 break;
14117 case 3: /*(1, 1) -> REXB=1 RM=0x1 | error*/
14118 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
14119 break;
14120 case 4: /*(0, 2) -> REXB=0 RM=0x2 |*/
14121 /*pacify the compiler */
14122 (void)d;
14123 break;
14124 case 5: /*(1, 2) -> REXB=1 RM=0x2 | error*/
14125 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
14126 break;
14127 case 6: /*(0, 3) -> REXB=0 RM=0x3 |*/
14128 /*pacify the compiler */
14129 (void)d;
14130 break;
14131 case 7: /*(1, 3) -> REXB=1 RM=0x3 | error*/
14132 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
14133 break;
14134 case 8: /*(0, 4) -> REXB=0 RM=0x4 | error*/
14135 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
14136 break;
14137 case 9: /*(1, 4) -> REXB=1 RM=0x4 | error*/
14138 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
14139 break;
14140 case 10: /*(0, 5) -> REXB=0 RM=0x5 | error*/
14141 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
14142 break;
14143 case 11: /*(1, 5) -> REXB=1 RM=0x5 | error*/
14144 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
14145 break;
14146 case 12: /*(0, 6) -> REXB=0 RM=0x6 | error*/
14147 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
14148 break;
14149 case 13: /*(1, 6) -> REXB=1 RM=0x6 | error*/
14150 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
14151 break;
14152 case 14: /*(0, 7) -> REXB=0 RM=0x7 | error*/
14153 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
14154 break;
14155 case 15: /*(1, 7) -> REXB=1 RM=0x7 | error*/
14156 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
14157 break;
14158 default:
14159 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
14160 break;
14161 }
14162 }
xed3_capture_nt_YMM_N3_64(xed_decoded_inst_t * d)14163 static XED_INLINE void xed3_capture_nt_YMM_N3_64(xed_decoded_inst_t* d)
14164 {
14165 xed_uint32_t key = 0;
14166 key += (xed3_operand_get_vexdest210(d)) << ((0));
14167 key += (xed3_operand_get_vexdest3(d)) << ((3));
14168 key += (xed3_operand_get_vexdest4(d)) << ((4));
14169 /* now switch code..*/
14170 switch(key) {
14171 case 0: /*(0, 0, 0) -> VEXDEST4=0 VEXDEST3=0 VEXDEST210=0 | OUTREG=XED_REG_YMM15*/
14172 xed3_operand_set_outreg(d, XED_REG_YMM15);
14173 /*pacify the compiler */
14174 (void)d;
14175 break;
14176 case 1: /*(1, 0, 0) -> VEXDEST4=0 VEXDEST3=0 VEXDEST210=1 | OUTREG=XED_REG_YMM14*/
14177 xed3_operand_set_outreg(d, XED_REG_YMM14);
14178 /*pacify the compiler */
14179 (void)d;
14180 break;
14181 case 2: /*(2, 0, 0) -> VEXDEST4=0 VEXDEST3=0 VEXDEST210=2 | OUTREG=XED_REG_YMM13*/
14182 xed3_operand_set_outreg(d, XED_REG_YMM13);
14183 /*pacify the compiler */
14184 (void)d;
14185 break;
14186 case 3: /*(3, 0, 0) -> VEXDEST4=0 VEXDEST3=0 VEXDEST210=3 | OUTREG=XED_REG_YMM12*/
14187 xed3_operand_set_outreg(d, XED_REG_YMM12);
14188 /*pacify the compiler */
14189 (void)d;
14190 break;
14191 case 4: /*(4, 0, 0) -> VEXDEST4=0 VEXDEST3=0 VEXDEST210=4 | OUTREG=XED_REG_YMM11*/
14192 xed3_operand_set_outreg(d, XED_REG_YMM11);
14193 /*pacify the compiler */
14194 (void)d;
14195 break;
14196 case 5: /*(5, 0, 0) -> VEXDEST4=0 VEXDEST3=0 VEXDEST210=5 | OUTREG=XED_REG_YMM10*/
14197 xed3_operand_set_outreg(d, XED_REG_YMM10);
14198 /*pacify the compiler */
14199 (void)d;
14200 break;
14201 case 6: /*(6, 0, 0) -> VEXDEST4=0 VEXDEST3=0 VEXDEST210=6 | OUTREG=XED_REG_YMM9*/
14202 xed3_operand_set_outreg(d, XED_REG_YMM9);
14203 /*pacify the compiler */
14204 (void)d;
14205 break;
14206 case 7: /*(7, 0, 0) -> VEXDEST4=0 VEXDEST3=0 VEXDEST210=7 | OUTREG=XED_REG_YMM8*/
14207 xed3_operand_set_outreg(d, XED_REG_YMM8);
14208 /*pacify the compiler */
14209 (void)d;
14210 break;
14211 case 8: /*(0, 1, 0) -> VEXDEST4=0 VEXDEST3=1 VEXDEST210=0 | OUTREG=XED_REG_YMM7*/
14212 xed3_operand_set_outreg(d, XED_REG_YMM7);
14213 /*pacify the compiler */
14214 (void)d;
14215 break;
14216 case 9: /*(1, 1, 0) -> VEXDEST4=0 VEXDEST3=1 VEXDEST210=1 | OUTREG=XED_REG_YMM6*/
14217 xed3_operand_set_outreg(d, XED_REG_YMM6);
14218 /*pacify the compiler */
14219 (void)d;
14220 break;
14221 case 10: /*(2, 1, 0) -> VEXDEST4=0 VEXDEST3=1 VEXDEST210=2 | OUTREG=XED_REG_YMM5*/
14222 xed3_operand_set_outreg(d, XED_REG_YMM5);
14223 /*pacify the compiler */
14224 (void)d;
14225 break;
14226 case 11: /*(3, 1, 0) -> VEXDEST4=0 VEXDEST3=1 VEXDEST210=3 | OUTREG=XED_REG_YMM4*/
14227 xed3_operand_set_outreg(d, XED_REG_YMM4);
14228 /*pacify the compiler */
14229 (void)d;
14230 break;
14231 case 12: /*(4, 1, 0) -> VEXDEST4=0 VEXDEST3=1 VEXDEST210=4 | OUTREG=XED_REG_YMM3*/
14232 xed3_operand_set_outreg(d, XED_REG_YMM3);
14233 /*pacify the compiler */
14234 (void)d;
14235 break;
14236 case 13: /*(5, 1, 0) -> VEXDEST4=0 VEXDEST3=1 VEXDEST210=5 | OUTREG=XED_REG_YMM2*/
14237 xed3_operand_set_outreg(d, XED_REG_YMM2);
14238 /*pacify the compiler */
14239 (void)d;
14240 break;
14241 case 14: /*(6, 1, 0) -> VEXDEST4=0 VEXDEST3=1 VEXDEST210=6 | OUTREG=XED_REG_YMM1*/
14242 xed3_operand_set_outreg(d, XED_REG_YMM1);
14243 /*pacify the compiler */
14244 (void)d;
14245 break;
14246 case 15: /*(7, 1, 0) -> VEXDEST4=0 VEXDEST3=1 VEXDEST210=7 | OUTREG=XED_REG_YMM0*/
14247 xed3_operand_set_outreg(d, XED_REG_YMM0);
14248 /*pacify the compiler */
14249 (void)d;
14250 break;
14251 case 16: /*(0, 0, 1) -> VEXDEST4=1 VEXDEST3=0 VEXDEST210=0 | OUTREG=XED_REG_YMM31*/
14252 xed3_operand_set_outreg(d, XED_REG_YMM31);
14253 /*pacify the compiler */
14254 (void)d;
14255 break;
14256 case 17: /*(1, 0, 1) -> VEXDEST4=1 VEXDEST3=0 VEXDEST210=1 | OUTREG=XED_REG_YMM30*/
14257 xed3_operand_set_outreg(d, XED_REG_YMM30);
14258 /*pacify the compiler */
14259 (void)d;
14260 break;
14261 case 18: /*(2, 0, 1) -> VEXDEST4=1 VEXDEST3=0 VEXDEST210=2 | OUTREG=XED_REG_YMM29*/
14262 xed3_operand_set_outreg(d, XED_REG_YMM29);
14263 /*pacify the compiler */
14264 (void)d;
14265 break;
14266 case 19: /*(3, 0, 1) -> VEXDEST4=1 VEXDEST3=0 VEXDEST210=3 | OUTREG=XED_REG_YMM28*/
14267 xed3_operand_set_outreg(d, XED_REG_YMM28);
14268 /*pacify the compiler */
14269 (void)d;
14270 break;
14271 case 20: /*(4, 0, 1) -> VEXDEST4=1 VEXDEST3=0 VEXDEST210=4 | OUTREG=XED_REG_YMM27*/
14272 xed3_operand_set_outreg(d, XED_REG_YMM27);
14273 /*pacify the compiler */
14274 (void)d;
14275 break;
14276 case 21: /*(5, 0, 1) -> VEXDEST4=1 VEXDEST3=0 VEXDEST210=5 | OUTREG=XED_REG_YMM26*/
14277 xed3_operand_set_outreg(d, XED_REG_YMM26);
14278 /*pacify the compiler */
14279 (void)d;
14280 break;
14281 case 22: /*(6, 0, 1) -> VEXDEST4=1 VEXDEST3=0 VEXDEST210=6 | OUTREG=XED_REG_YMM25*/
14282 xed3_operand_set_outreg(d, XED_REG_YMM25);
14283 /*pacify the compiler */
14284 (void)d;
14285 break;
14286 case 23: /*(7, 0, 1) -> VEXDEST4=1 VEXDEST3=0 VEXDEST210=7 | OUTREG=XED_REG_YMM24*/
14287 xed3_operand_set_outreg(d, XED_REG_YMM24);
14288 /*pacify the compiler */
14289 (void)d;
14290 break;
14291 case 24: /*(0, 1, 1) -> VEXDEST4=1 VEXDEST3=1 VEXDEST210=0 | OUTREG=XED_REG_YMM23*/
14292 xed3_operand_set_outreg(d, XED_REG_YMM23);
14293 /*pacify the compiler */
14294 (void)d;
14295 break;
14296 case 25: /*(1, 1, 1) -> VEXDEST4=1 VEXDEST3=1 VEXDEST210=1 | OUTREG=XED_REG_YMM22*/
14297 xed3_operand_set_outreg(d, XED_REG_YMM22);
14298 /*pacify the compiler */
14299 (void)d;
14300 break;
14301 case 26: /*(2, 1, 1) -> VEXDEST4=1 VEXDEST3=1 VEXDEST210=2 | OUTREG=XED_REG_YMM21*/
14302 xed3_operand_set_outreg(d, XED_REG_YMM21);
14303 /*pacify the compiler */
14304 (void)d;
14305 break;
14306 case 27: /*(3, 1, 1) -> VEXDEST4=1 VEXDEST3=1 VEXDEST210=3 | OUTREG=XED_REG_YMM20*/
14307 xed3_operand_set_outreg(d, XED_REG_YMM20);
14308 /*pacify the compiler */
14309 (void)d;
14310 break;
14311 case 28: /*(4, 1, 1) -> VEXDEST4=1 VEXDEST3=1 VEXDEST210=4 | OUTREG=XED_REG_YMM19*/
14312 xed3_operand_set_outreg(d, XED_REG_YMM19);
14313 /*pacify the compiler */
14314 (void)d;
14315 break;
14316 case 29: /*(5, 1, 1) -> VEXDEST4=1 VEXDEST3=1 VEXDEST210=5 | OUTREG=XED_REG_YMM18*/
14317 xed3_operand_set_outreg(d, XED_REG_YMM18);
14318 /*pacify the compiler */
14319 (void)d;
14320 break;
14321 case 30: /*(6, 1, 1) -> VEXDEST4=1 VEXDEST3=1 VEXDEST210=6 | OUTREG=XED_REG_YMM17*/
14322 xed3_operand_set_outreg(d, XED_REG_YMM17);
14323 /*pacify the compiler */
14324 (void)d;
14325 break;
14326 case 31: /*(7, 1, 1) -> VEXDEST4=1 VEXDEST3=1 VEXDEST210=7 | OUTREG=XED_REG_YMM16*/
14327 xed3_operand_set_outreg(d, XED_REG_YMM16);
14328 /*pacify the compiler */
14329 (void)d;
14330 break;
14331 default:
14332 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
14333 break;
14334 }
14335 }
xed3_capture_nt_ESIZE_32_BITS(xed_decoded_inst_t * d)14336 static XED_INLINE void xed3_capture_nt_ESIZE_32_BITS(xed_decoded_inst_t* d)
14337 {
14338 xed_uint32_t key = 0;
14339 key += (xed3_operand_get_rex(d)) << ((0));
14340 /* now switch code..*/
14341 switch(key) {
14342 case 0: /*(0,) -> REX=0 | ELEMENT_SIZE=32*/
14343 xed3_operand_set_element_size(d, 0x20);
14344 /*pacify the compiler */
14345 (void)d;
14346 break;
14347 default:
14348 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
14349 break;
14350 }
14351 }
xed3_capture_nt_XMM_R3(xed_decoded_inst_t * d)14352 static XED_INLINE void xed3_capture_nt_XMM_R3(xed_decoded_inst_t* d)
14353 {
14354 xed_uint32_t key = 0;
14355 key += (xed3_operand_get_mode(d)) << ((0));
14356 /* now switch code..*/
14357 switch(key) {
14358 case 0: /*(0,) -> mode16 | OUTREG=XMM_R3_32()*/
14359 xed3_capture_nt_XMM_R3_32(d);
14360 /*pacify the compiler */
14361 (void)d;
14362 break;
14363 case 1: /*(1,) -> mode32 | OUTREG=XMM_R3_32()*/
14364 xed3_capture_nt_XMM_R3_32(d);
14365 /*pacify the compiler */
14366 (void)d;
14367 break;
14368 case 2: /*(2,) -> mode64 | OUTREG=XMM_R3_64()*/
14369 xed3_capture_nt_XMM_R3_64(d);
14370 /*pacify the compiler */
14371 (void)d;
14372 break;
14373 default:
14374 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
14375 break;
14376 }
14377 }
xed3_capture_nt_BND_R(xed_decoded_inst_t * d)14378 static XED_INLINE void xed3_capture_nt_BND_R(xed_decoded_inst_t* d)
14379 {
14380 xed_uint32_t key = 0;
14381 key += (xed3_operand_get_reg(d)) << ((0));
14382 key += (xed3_operand_get_rexr(d)) << ((3));
14383 /* now switch code..*/
14384 switch(key) {
14385 case 0: /*(0, 0) -> REXR=0 REG=0x0 | OUTREG=XED_REG_BND0*/
14386 xed3_operand_set_outreg(d, XED_REG_BND0);
14387 /*pacify the compiler */
14388 (void)d;
14389 break;
14390 case 1: /*(1, 0) -> REXR=0 REG=0x1 | OUTREG=XED_REG_BND1*/
14391 xed3_operand_set_outreg(d, XED_REG_BND1);
14392 /*pacify the compiler */
14393 (void)d;
14394 break;
14395 case 2: /*(2, 0) -> REXR=0 REG=0x2 | OUTREG=XED_REG_BND2*/
14396 xed3_operand_set_outreg(d, XED_REG_BND2);
14397 /*pacify the compiler */
14398 (void)d;
14399 break;
14400 case 3: /*(3, 0) -> REXR=0 REG=0x3 | OUTREG=XED_REG_BND3*/
14401 xed3_operand_set_outreg(d, XED_REG_BND3);
14402 /*pacify the compiler */
14403 (void)d;
14404 break;
14405 case 4: /*(4, 0) -> REXR=0 REG=0x4 | OUTREG=XED_REG_ERROR enc*/
14406 xed3_operand_set_outreg(d, XED_REG_ERROR);
14407 xed3_operand_set_error(d, XED_ERROR_BAD_REGISTER);
14408 /*pacify the compiler */
14409 (void)d;
14410 break;
14411 case 5: /*(5, 0) -> REXR=0 REG=0x5 | OUTREG=XED_REG_ERROR*/
14412 xed3_operand_set_outreg(d, XED_REG_ERROR);
14413 xed3_operand_set_error(d, XED_ERROR_BAD_REGISTER);
14414 /*pacify the compiler */
14415 (void)d;
14416 break;
14417 case 6: /*(6, 0) -> REXR=0 REG=0x6 | OUTREG=XED_REG_ERROR*/
14418 xed3_operand_set_outreg(d, XED_REG_ERROR);
14419 xed3_operand_set_error(d, XED_ERROR_BAD_REGISTER);
14420 /*pacify the compiler */
14421 (void)d;
14422 break;
14423 case 7: /*(7, 0) -> REXR=0 REG=0x7 | OUTREG=XED_REG_ERROR*/
14424 xed3_operand_set_outreg(d, XED_REG_ERROR);
14425 xed3_operand_set_error(d, XED_ERROR_BAD_REGISTER);
14426 /*pacify the compiler */
14427 (void)d;
14428 break;
14429 case 8: /*(0, 1) -> REXR=1 REG=0x0 | OUTREG=XED_REG_ERROR*/
14430 xed3_operand_set_outreg(d, XED_REG_ERROR);
14431 xed3_operand_set_error(d, XED_ERROR_BAD_REGISTER);
14432 /*pacify the compiler */
14433 (void)d;
14434 break;
14435 case 9: /*(1, 1) -> REXR=1 REG=0x1 | OUTREG=XED_REG_ERROR*/
14436 xed3_operand_set_outreg(d, XED_REG_ERROR);
14437 xed3_operand_set_error(d, XED_ERROR_BAD_REGISTER);
14438 /*pacify the compiler */
14439 (void)d;
14440 break;
14441 case 10: /*(2, 1) -> REXR=1 REG=0x2 | OUTREG=XED_REG_ERROR*/
14442 xed3_operand_set_outreg(d, XED_REG_ERROR);
14443 xed3_operand_set_error(d, XED_ERROR_BAD_REGISTER);
14444 /*pacify the compiler */
14445 (void)d;
14446 break;
14447 case 11: /*(3, 1) -> REXR=1 REG=0x3 | OUTREG=XED_REG_ERROR*/
14448 xed3_operand_set_outreg(d, XED_REG_ERROR);
14449 xed3_operand_set_error(d, XED_ERROR_BAD_REGISTER);
14450 /*pacify the compiler */
14451 (void)d;
14452 break;
14453 case 12: /*(4, 1) -> REXR=1 REG=0x4 | OUTREG=XED_REG_ERROR*/
14454 xed3_operand_set_outreg(d, XED_REG_ERROR);
14455 xed3_operand_set_error(d, XED_ERROR_BAD_REGISTER);
14456 /*pacify the compiler */
14457 (void)d;
14458 break;
14459 case 13: /*(5, 1) -> REXR=1 REG=0x5 | OUTREG=XED_REG_ERROR*/
14460 xed3_operand_set_outreg(d, XED_REG_ERROR);
14461 xed3_operand_set_error(d, XED_ERROR_BAD_REGISTER);
14462 /*pacify the compiler */
14463 (void)d;
14464 break;
14465 case 14: /*(6, 1) -> REXR=1 REG=0x6 | OUTREG=XED_REG_ERROR*/
14466 xed3_operand_set_outreg(d, XED_REG_ERROR);
14467 xed3_operand_set_error(d, XED_ERROR_BAD_REGISTER);
14468 /*pacify the compiler */
14469 (void)d;
14470 break;
14471 case 15: /*(7, 1) -> REXR=1 REG=0x7 | OUTREG=XED_REG_ERROR*/
14472 xed3_operand_set_outreg(d, XED_REG_ERROR);
14473 xed3_operand_set_error(d, XED_ERROR_BAD_REGISTER);
14474 /*pacify the compiler */
14475 (void)d;
14476 break;
14477 default:
14478 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
14479 break;
14480 }
14481 }
xed3_capture_nt_A_GPR_R(xed_decoded_inst_t * d)14482 static XED_INLINE void xed3_capture_nt_A_GPR_R(xed_decoded_inst_t* d)
14483 {
14484 xed_uint32_t key = 0;
14485 key += (xed3_operand_get_reg(d)) << ((0));
14486 key += (xed3_operand_get_rexr(d)) << ((3));
14487 /* now switch code..*/
14488 switch(key) {
14489 case 0: /*(0, 0) -> REXR=0 REG=0x0 | OUTREG=ArAX()*/
14490 xed3_capture_nt_ArAX(d);
14491 /*pacify the compiler */
14492 (void)d;
14493 break;
14494 case 1: /*(1, 0) -> REXR=0 REG=0x1 | OUTREG=ArCX()*/
14495 xed3_capture_nt_ArCX(d);
14496 /*pacify the compiler */
14497 (void)d;
14498 break;
14499 case 2: /*(2, 0) -> REXR=0 REG=0x2 | OUTREG=ArDX()*/
14500 xed3_capture_nt_ArDX(d);
14501 /*pacify the compiler */
14502 (void)d;
14503 break;
14504 case 3: /*(3, 0) -> REXR=0 REG=0x3 | OUTREG=ArBX()*/
14505 xed3_capture_nt_ArBX(d);
14506 /*pacify the compiler */
14507 (void)d;
14508 break;
14509 case 4: /*(4, 0) -> REXR=0 REG=0x4 | OUTREG=ArSP()*/
14510 xed3_capture_nt_ArSP(d);
14511 /*pacify the compiler */
14512 (void)d;
14513 break;
14514 case 5: /*(5, 0) -> REXR=0 REG=0x5 | OUTREG=ArBP()*/
14515 xed3_capture_nt_ArBP(d);
14516 /*pacify the compiler */
14517 (void)d;
14518 break;
14519 case 6: /*(6, 0) -> REXR=0 REG=0x6 | OUTREG=ArSI()*/
14520 xed3_capture_nt_ArSI(d);
14521 /*pacify the compiler */
14522 (void)d;
14523 break;
14524 case 7: /*(7, 0) -> REXR=0 REG=0x7 | OUTREG=ArDI()*/
14525 xed3_capture_nt_ArDI(d);
14526 /*pacify the compiler */
14527 (void)d;
14528 break;
14529 case 8: /*(0, 1) -> REXR=1 REG=0x0 | OUTREG=Ar8()*/
14530 xed3_capture_nt_Ar8(d);
14531 /*pacify the compiler */
14532 (void)d;
14533 break;
14534 case 9: /*(1, 1) -> REXR=1 REG=0x1 | OUTREG=Ar9()*/
14535 xed3_capture_nt_Ar9(d);
14536 /*pacify the compiler */
14537 (void)d;
14538 break;
14539 case 10: /*(2, 1) -> REXR=1 REG=0x2 | OUTREG=Ar10()*/
14540 xed3_capture_nt_Ar10(d);
14541 /*pacify the compiler */
14542 (void)d;
14543 break;
14544 case 11: /*(3, 1) -> REXR=1 REG=0x3 | OUTREG=Ar11()*/
14545 xed3_capture_nt_Ar11(d);
14546 /*pacify the compiler */
14547 (void)d;
14548 break;
14549 case 12: /*(4, 1) -> REXR=1 REG=0x4 | OUTREG=Ar12()*/
14550 xed3_capture_nt_Ar12(d);
14551 /*pacify the compiler */
14552 (void)d;
14553 break;
14554 case 13: /*(5, 1) -> REXR=1 REG=0x5 | OUTREG=Ar13()*/
14555 xed3_capture_nt_Ar13(d);
14556 /*pacify the compiler */
14557 (void)d;
14558 break;
14559 case 14: /*(6, 1) -> REXR=1 REG=0x6 | OUTREG=Ar14()*/
14560 xed3_capture_nt_Ar14(d);
14561 /*pacify the compiler */
14562 (void)d;
14563 break;
14564 case 15: /*(7, 1) -> REXR=1 REG=0x7 | OUTREG=Ar15()*/
14565 xed3_capture_nt_Ar15(d);
14566 /*pacify the compiler */
14567 (void)d;
14568 break;
14569 default:
14570 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
14571 break;
14572 }
14573 }
xed3_capture_nt_BRDISPz(xed_decoded_inst_t * d)14574 static XED_INLINE void xed3_capture_nt_BRDISPz(xed_decoded_inst_t* d)
14575 {
14576 xed_uint32_t key = 0;
14577 key += (xed3_operand_get_eosz(d)) << ((0));
14578 /* now switch code..*/
14579 switch(key) {
14580 case 1: /*(1,) -> EOSZ=1 DISP[dddddddddddddddd] | BRDISP_WIDTH=16*/
14581 xed3_operand_set_brdisp_width(d, 0x10);
14582 /*pacify the compiler */
14583 (void)d;
14584 break;
14585 case 2: /*(2,) -> EOSZ=2 DISP[dddddddddddddddddddddddddddddddd] | BRDISP_WIDTH=32*/
14586 xed3_operand_set_brdisp_width(d, 0x20);
14587 /*pacify the compiler */
14588 (void)d;
14589 break;
14590 case 3: /*(3,) -> EOSZ=3 DISP[dddddddddddddddddddddddddddddddd] | BRDISP_WIDTH=32*/
14591 xed3_operand_set_brdisp_width(d, 0x20);
14592 /*pacify the compiler */
14593 (void)d;
14594 break;
14595 default:
14596 xed3_operand_set_error(d, XED_ERROR_GENERAL_ERROR);
14597 break;
14598 }
14599 }
14600 #endif
14601