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