Arm: Create feature files for Arm target descriptions
[external/binutils.git] / opcodes / i386-dis-evex.h
1 static const struct dis386 evex_table[][256] = {
2   /* EVEX_0F */
3   {
4     /* 00 */
5     { Bad_Opcode },
6     { Bad_Opcode },
7     { Bad_Opcode },
8     { Bad_Opcode },
9     { Bad_Opcode },
10     { Bad_Opcode },
11     { Bad_Opcode },
12     { Bad_Opcode },
13     /* 08 */
14     { Bad_Opcode },
15     { Bad_Opcode },
16     { Bad_Opcode },
17     { Bad_Opcode },
18     { Bad_Opcode },
19     { Bad_Opcode },
20     { Bad_Opcode },
21     { Bad_Opcode },
22     /* 10 */
23     { PREFIX_TABLE (PREFIX_EVEX_0F10) },
24     { PREFIX_TABLE (PREFIX_EVEX_0F11) },
25     { PREFIX_TABLE (PREFIX_EVEX_0F12) },
26     { PREFIX_TABLE (PREFIX_EVEX_0F13) },
27     { PREFIX_TABLE (PREFIX_EVEX_0F14) },
28     { PREFIX_TABLE (PREFIX_EVEX_0F15) },
29     { PREFIX_TABLE (PREFIX_EVEX_0F16) },
30     { PREFIX_TABLE (PREFIX_EVEX_0F17) },
31     /* 18 */
32     { Bad_Opcode },
33     { Bad_Opcode },
34     { Bad_Opcode },
35     { Bad_Opcode },
36     { Bad_Opcode },
37     { Bad_Opcode },
38     { Bad_Opcode },
39     { Bad_Opcode },
40     /* 20 */
41     { Bad_Opcode },
42     { Bad_Opcode },
43     { Bad_Opcode },
44     { Bad_Opcode },
45     { Bad_Opcode },
46     { Bad_Opcode },
47     { Bad_Opcode },
48     { Bad_Opcode },
49     /* 28 */
50     { PREFIX_TABLE (PREFIX_EVEX_0F28) },
51     { PREFIX_TABLE (PREFIX_EVEX_0F29) },
52     { PREFIX_TABLE (PREFIX_EVEX_0F2A) },
53     { PREFIX_TABLE (PREFIX_EVEX_0F2B) },
54     { PREFIX_TABLE (PREFIX_EVEX_0F2C) },
55     { PREFIX_TABLE (PREFIX_EVEX_0F2D) },
56     { PREFIX_TABLE (PREFIX_EVEX_0F2E) },
57     { PREFIX_TABLE (PREFIX_EVEX_0F2F) },
58     /* 30 */
59     { Bad_Opcode },
60     { Bad_Opcode },
61     { Bad_Opcode },
62     { Bad_Opcode },
63     { Bad_Opcode },
64     { Bad_Opcode },
65     { Bad_Opcode },
66     { Bad_Opcode },
67     /* 38 */
68     { Bad_Opcode },
69     { Bad_Opcode },
70     { Bad_Opcode },
71     { Bad_Opcode },
72     { Bad_Opcode },
73     { Bad_Opcode },
74     { Bad_Opcode },
75     { Bad_Opcode },
76     /* 40 */
77     { Bad_Opcode },
78     { Bad_Opcode },
79     { Bad_Opcode },
80     { Bad_Opcode },
81     { Bad_Opcode },
82     { Bad_Opcode },
83     { Bad_Opcode },
84     { Bad_Opcode },
85     /* 48 */
86     { Bad_Opcode },
87     { Bad_Opcode },
88     { Bad_Opcode },
89     { Bad_Opcode },
90     { Bad_Opcode },
91     { Bad_Opcode },
92     { Bad_Opcode },
93     { Bad_Opcode },
94     /* 50 */
95     { Bad_Opcode },
96     { PREFIX_TABLE (PREFIX_EVEX_0F51) },
97     { Bad_Opcode },
98     { Bad_Opcode },
99     { PREFIX_TABLE (PREFIX_EVEX_0F54) },
100     { PREFIX_TABLE (PREFIX_EVEX_0F55) },
101     { PREFIX_TABLE (PREFIX_EVEX_0F56) },
102     { PREFIX_TABLE (PREFIX_EVEX_0F57) },
103     /* 58 */
104     { PREFIX_TABLE (PREFIX_EVEX_0F58) },
105     { PREFIX_TABLE (PREFIX_EVEX_0F59) },
106     { PREFIX_TABLE (PREFIX_EVEX_0F5A) },
107     { PREFIX_TABLE (PREFIX_EVEX_0F5B) },
108     { PREFIX_TABLE (PREFIX_EVEX_0F5C) },
109     { PREFIX_TABLE (PREFIX_EVEX_0F5D) },
110     { PREFIX_TABLE (PREFIX_EVEX_0F5E) },
111     { PREFIX_TABLE (PREFIX_EVEX_0F5F) },
112     /* 60 */
113     { PREFIX_TABLE (PREFIX_EVEX_0F60) },
114     { PREFIX_TABLE (PREFIX_EVEX_0F61) },
115     { PREFIX_TABLE (PREFIX_EVEX_0F62) },
116     { PREFIX_TABLE (PREFIX_EVEX_0F63) },
117     { PREFIX_TABLE (PREFIX_EVEX_0F64) },
118     { PREFIX_TABLE (PREFIX_EVEX_0F65) },
119     { PREFIX_TABLE (PREFIX_EVEX_0F66) },
120     { PREFIX_TABLE (PREFIX_EVEX_0F67) },
121     /* 68 */
122     { PREFIX_TABLE (PREFIX_EVEX_0F68) },
123     { PREFIX_TABLE (PREFIX_EVEX_0F69) },
124     { PREFIX_TABLE (PREFIX_EVEX_0F6A) },
125     { PREFIX_TABLE (PREFIX_EVEX_0F6B) },
126     { PREFIX_TABLE (PREFIX_EVEX_0F6C) },
127     { PREFIX_TABLE (PREFIX_EVEX_0F6D) },
128     { PREFIX_TABLE (PREFIX_EVEX_0F6E) },
129     { PREFIX_TABLE (PREFIX_EVEX_0F6F) },
130     /* 70 */
131     { PREFIX_TABLE (PREFIX_EVEX_0F70) },
132     { REG_TABLE (REG_EVEX_0F71) },
133     { REG_TABLE (REG_EVEX_0F72) },
134     { REG_TABLE (REG_EVEX_0F73) },
135     { PREFIX_TABLE (PREFIX_EVEX_0F74) },
136     { PREFIX_TABLE (PREFIX_EVEX_0F75) },
137     { PREFIX_TABLE (PREFIX_EVEX_0F76) },
138     { Bad_Opcode },
139     /* 78 */
140     { PREFIX_TABLE (PREFIX_EVEX_0F78) },
141     { PREFIX_TABLE (PREFIX_EVEX_0F79) },
142     { PREFIX_TABLE (PREFIX_EVEX_0F7A) },
143     { PREFIX_TABLE (PREFIX_EVEX_0F7B) },
144     { Bad_Opcode },
145     { Bad_Opcode },
146     { PREFIX_TABLE (PREFIX_EVEX_0F7E) },
147     { PREFIX_TABLE (PREFIX_EVEX_0F7F) },
148     /* 80 */
149     { Bad_Opcode },
150     { Bad_Opcode },
151     { Bad_Opcode },
152     { Bad_Opcode },
153     { Bad_Opcode },
154     { Bad_Opcode },
155     { Bad_Opcode },
156     { Bad_Opcode },
157     /* 88 */
158     { Bad_Opcode },
159     { Bad_Opcode },
160     { Bad_Opcode },
161     { Bad_Opcode },
162     { Bad_Opcode },
163     { Bad_Opcode },
164     { Bad_Opcode },
165     { Bad_Opcode },
166     /* 90 */
167     { Bad_Opcode },
168     { Bad_Opcode },
169     { Bad_Opcode },
170     { Bad_Opcode },
171     { Bad_Opcode },
172     { Bad_Opcode },
173     { Bad_Opcode },
174     { Bad_Opcode },
175     /* 98 */
176     { Bad_Opcode },
177     { Bad_Opcode },
178     { Bad_Opcode },
179     { Bad_Opcode },
180     { Bad_Opcode },
181     { Bad_Opcode },
182     { Bad_Opcode },
183     { Bad_Opcode },
184     /* A0 */
185     { Bad_Opcode },
186     { Bad_Opcode },
187     { Bad_Opcode },
188     { Bad_Opcode },
189     { Bad_Opcode },
190     { Bad_Opcode },
191     { Bad_Opcode },
192     { Bad_Opcode },
193     /* A8 */
194     { Bad_Opcode },
195     { Bad_Opcode },
196     { Bad_Opcode },
197     { Bad_Opcode },
198     { Bad_Opcode },
199     { Bad_Opcode },
200     { Bad_Opcode },
201     { Bad_Opcode },
202     /* B0 */
203     { Bad_Opcode },
204     { Bad_Opcode },
205     { Bad_Opcode },
206     { Bad_Opcode },
207     { Bad_Opcode },
208     { Bad_Opcode },
209     { Bad_Opcode },
210     { Bad_Opcode },
211     /* B8 */
212     { Bad_Opcode },
213     { Bad_Opcode },
214     { Bad_Opcode },
215     { Bad_Opcode },
216     { Bad_Opcode },
217     { Bad_Opcode },
218     { Bad_Opcode },
219     { Bad_Opcode },
220     /* C0 */
221     { Bad_Opcode },
222     { Bad_Opcode },
223     { PREFIX_TABLE (PREFIX_EVEX_0FC2) },
224     { Bad_Opcode },
225     { PREFIX_TABLE (PREFIX_EVEX_0FC4) },
226     { PREFIX_TABLE (PREFIX_EVEX_0FC5) },
227     { PREFIX_TABLE (PREFIX_EVEX_0FC6) },
228     { Bad_Opcode },
229     /* C8 */
230     { Bad_Opcode },
231     { Bad_Opcode },
232     { Bad_Opcode },
233     { Bad_Opcode },
234     { Bad_Opcode },
235     { Bad_Opcode },
236     { Bad_Opcode },
237     { Bad_Opcode },
238     /* D0 */
239     { Bad_Opcode },
240     { PREFIX_TABLE (PREFIX_EVEX_0FD1) },
241     { PREFIX_TABLE (PREFIX_EVEX_0FD2) },
242     { PREFIX_TABLE (PREFIX_EVEX_0FD3) },
243     { PREFIX_TABLE (PREFIX_EVEX_0FD4) },
244     { PREFIX_TABLE (PREFIX_EVEX_0FD5) },
245     { PREFIX_TABLE (PREFIX_EVEX_0FD6) },
246     { Bad_Opcode },
247     /* D8 */
248     { PREFIX_TABLE (PREFIX_EVEX_0FD8) },
249     { PREFIX_TABLE (PREFIX_EVEX_0FD9) },
250     { PREFIX_TABLE (PREFIX_EVEX_0FDA) },
251     { PREFIX_TABLE (PREFIX_EVEX_0FDB) },
252     { PREFIX_TABLE (PREFIX_EVEX_0FDC) },
253     { PREFIX_TABLE (PREFIX_EVEX_0FDD) },
254     { PREFIX_TABLE (PREFIX_EVEX_0FDE) },
255     { PREFIX_TABLE (PREFIX_EVEX_0FDF) },
256     /* E0 */
257     { PREFIX_TABLE (PREFIX_EVEX_0FE0) },
258     { PREFIX_TABLE (PREFIX_EVEX_0FE1) },
259     { PREFIX_TABLE (PREFIX_EVEX_0FE2) },
260     { PREFIX_TABLE (PREFIX_EVEX_0FE3) },
261     { PREFIX_TABLE (PREFIX_EVEX_0FE4) },
262     { PREFIX_TABLE (PREFIX_EVEX_0FE5) },
263     { PREFIX_TABLE (PREFIX_EVEX_0FE6) },
264     { PREFIX_TABLE (PREFIX_EVEX_0FE7) },
265     /* E8 */
266     { PREFIX_TABLE (PREFIX_EVEX_0FE8) },
267     { PREFIX_TABLE (PREFIX_EVEX_0FE9) },
268     { PREFIX_TABLE (PREFIX_EVEX_0FEA) },
269     { PREFIX_TABLE (PREFIX_EVEX_0FEB) },
270     { PREFIX_TABLE (PREFIX_EVEX_0FEC) },
271     { PREFIX_TABLE (PREFIX_EVEX_0FED) },
272     { PREFIX_TABLE (PREFIX_EVEX_0FEE) },
273     { PREFIX_TABLE (PREFIX_EVEX_0FEF) },
274     /* F0 */
275     { Bad_Opcode },
276     { PREFIX_TABLE (PREFIX_EVEX_0FF1) },
277     { PREFIX_TABLE (PREFIX_EVEX_0FF2) },
278     { PREFIX_TABLE (PREFIX_EVEX_0FF3) },
279     { PREFIX_TABLE (PREFIX_EVEX_0FF4) },
280     { PREFIX_TABLE (PREFIX_EVEX_0FF5) },
281     { PREFIX_TABLE (PREFIX_EVEX_0FF6) },
282     { Bad_Opcode },
283     /* F8 */
284     { PREFIX_TABLE (PREFIX_EVEX_0FF8) },
285     { PREFIX_TABLE (PREFIX_EVEX_0FF9) },
286     { PREFIX_TABLE (PREFIX_EVEX_0FFA) },
287     { PREFIX_TABLE (PREFIX_EVEX_0FFB) },
288     { PREFIX_TABLE (PREFIX_EVEX_0FFC) },
289     { PREFIX_TABLE (PREFIX_EVEX_0FFD) },
290     { PREFIX_TABLE (PREFIX_EVEX_0FFE) },
291     { Bad_Opcode },
292   },
293   /* EVEX_0F38 */
294   {
295     /* 00 */
296     { PREFIX_TABLE (PREFIX_EVEX_0F3800) },
297     { Bad_Opcode },
298     { Bad_Opcode },
299     { Bad_Opcode },
300     { PREFIX_TABLE (PREFIX_EVEX_0F3804) },
301     { Bad_Opcode },
302     { Bad_Opcode },
303     { Bad_Opcode },
304     /* 08 */
305     { Bad_Opcode },
306     { Bad_Opcode },
307     { Bad_Opcode },
308     { PREFIX_TABLE (PREFIX_EVEX_0F380B) },
309     { PREFIX_TABLE (PREFIX_EVEX_0F380C) },
310     { PREFIX_TABLE (PREFIX_EVEX_0F380D) },
311     { Bad_Opcode },
312     { Bad_Opcode },
313     /* 10 */
314     { PREFIX_TABLE (PREFIX_EVEX_0F3810) },
315     { PREFIX_TABLE (PREFIX_EVEX_0F3811) },
316     { PREFIX_TABLE (PREFIX_EVEX_0F3812) },
317     { PREFIX_TABLE (PREFIX_EVEX_0F3813) },
318     { PREFIX_TABLE (PREFIX_EVEX_0F3814) },
319     { PREFIX_TABLE (PREFIX_EVEX_0F3815) },
320     { PREFIX_TABLE (PREFIX_EVEX_0F3816) },
321     { Bad_Opcode },
322     /* 18 */
323     { PREFIX_TABLE (PREFIX_EVEX_0F3818) },
324     { PREFIX_TABLE (PREFIX_EVEX_0F3819) },
325     { PREFIX_TABLE (PREFIX_EVEX_0F381A) },
326     { PREFIX_TABLE (PREFIX_EVEX_0F381B) },
327     { PREFIX_TABLE (PREFIX_EVEX_0F381C) },
328     { PREFIX_TABLE (PREFIX_EVEX_0F381D) },
329     { PREFIX_TABLE (PREFIX_EVEX_0F381E) },
330     { PREFIX_TABLE (PREFIX_EVEX_0F381F) },
331     /* 20 */
332     { PREFIX_TABLE (PREFIX_EVEX_0F3820) },
333     { PREFIX_TABLE (PREFIX_EVEX_0F3821) },
334     { PREFIX_TABLE (PREFIX_EVEX_0F3822) },
335     { PREFIX_TABLE (PREFIX_EVEX_0F3823) },
336     { PREFIX_TABLE (PREFIX_EVEX_0F3824) },
337     { PREFIX_TABLE (PREFIX_EVEX_0F3825) },
338     { PREFIX_TABLE (PREFIX_EVEX_0F3826) },
339     { PREFIX_TABLE (PREFIX_EVEX_0F3827) },
340     /* 28 */
341     { PREFIX_TABLE (PREFIX_EVEX_0F3828) },
342     { PREFIX_TABLE (PREFIX_EVEX_0F3829) },
343     { PREFIX_TABLE (PREFIX_EVEX_0F382A) },
344     { PREFIX_TABLE (PREFIX_EVEX_0F382B) },
345     { PREFIX_TABLE (PREFIX_EVEX_0F382C) },
346     { PREFIX_TABLE (PREFIX_EVEX_0F382D) },
347     { Bad_Opcode },
348     { Bad_Opcode },
349     /* 30 */
350     { PREFIX_TABLE (PREFIX_EVEX_0F3830) },
351     { PREFIX_TABLE (PREFIX_EVEX_0F3831) },
352     { PREFIX_TABLE (PREFIX_EVEX_0F3832) },
353     { PREFIX_TABLE (PREFIX_EVEX_0F3833) },
354     { PREFIX_TABLE (PREFIX_EVEX_0F3834) },
355     { PREFIX_TABLE (PREFIX_EVEX_0F3835) },
356     { PREFIX_TABLE (PREFIX_EVEX_0F3836) },
357     { PREFIX_TABLE (PREFIX_EVEX_0F3837) },
358     /* 38 */
359     { PREFIX_TABLE (PREFIX_EVEX_0F3838) },
360     { PREFIX_TABLE (PREFIX_EVEX_0F3839) },
361     { PREFIX_TABLE (PREFIX_EVEX_0F383A) },
362     { PREFIX_TABLE (PREFIX_EVEX_0F383B) },
363     { PREFIX_TABLE (PREFIX_EVEX_0F383C) },
364     { PREFIX_TABLE (PREFIX_EVEX_0F383D) },
365     { PREFIX_TABLE (PREFIX_EVEX_0F383E) },
366     { PREFIX_TABLE (PREFIX_EVEX_0F383F) },
367     /* 40 */
368     { PREFIX_TABLE (PREFIX_EVEX_0F3840) },
369     { Bad_Opcode },
370     { PREFIX_TABLE (PREFIX_EVEX_0F3842) },
371     { PREFIX_TABLE (PREFIX_EVEX_0F3843) },
372     { PREFIX_TABLE (PREFIX_EVEX_0F3844) },
373     { PREFIX_TABLE (PREFIX_EVEX_0F3845) },
374     { PREFIX_TABLE (PREFIX_EVEX_0F3846) },
375     { PREFIX_TABLE (PREFIX_EVEX_0F3847) },
376     /* 48 */
377     { Bad_Opcode },
378     { Bad_Opcode },
379     { Bad_Opcode },
380     { Bad_Opcode },
381     { PREFIX_TABLE (PREFIX_EVEX_0F384C) },
382     { PREFIX_TABLE (PREFIX_EVEX_0F384D) },
383     { PREFIX_TABLE (PREFIX_EVEX_0F384E) },
384     { PREFIX_TABLE (PREFIX_EVEX_0F384F) },
385     /* 50 */
386     { PREFIX_TABLE (PREFIX_EVEX_0F3850) },
387     { PREFIX_TABLE (PREFIX_EVEX_0F3851) },
388     { PREFIX_TABLE (PREFIX_EVEX_0F3852) },
389     { PREFIX_TABLE (PREFIX_EVEX_0F3853) },
390     { PREFIX_TABLE (PREFIX_EVEX_0F3854) },
391     { PREFIX_TABLE (PREFIX_EVEX_0F3855) },
392     { Bad_Opcode },
393     { Bad_Opcode },
394     /* 58 */
395     { PREFIX_TABLE (PREFIX_EVEX_0F3858) },
396     { PREFIX_TABLE (PREFIX_EVEX_0F3859) },
397     { PREFIX_TABLE (PREFIX_EVEX_0F385A) },
398     { PREFIX_TABLE (PREFIX_EVEX_0F385B) },
399     { Bad_Opcode },
400     { Bad_Opcode },
401     { Bad_Opcode },
402     { Bad_Opcode },
403     /* 60 */
404     { Bad_Opcode },
405     { Bad_Opcode },
406     { PREFIX_TABLE (PREFIX_EVEX_0F3862) },
407     { PREFIX_TABLE (PREFIX_EVEX_0F3863) },
408     { PREFIX_TABLE (PREFIX_EVEX_0F3864) },
409     { PREFIX_TABLE (PREFIX_EVEX_0F3865) },
410     { PREFIX_TABLE (PREFIX_EVEX_0F3866) },
411     { Bad_Opcode },
412     /* 68 */
413     { PREFIX_TABLE (PREFIX_EVEX_0F3868) },
414     { Bad_Opcode },
415     { Bad_Opcode },
416     { Bad_Opcode },
417     { Bad_Opcode },
418     { Bad_Opcode },
419     { Bad_Opcode },
420     { Bad_Opcode },
421     /* 70 */
422     { PREFIX_TABLE (PREFIX_EVEX_0F3870) },
423     { PREFIX_TABLE (PREFIX_EVEX_0F3871) },
424     { PREFIX_TABLE (PREFIX_EVEX_0F3872) },
425     { PREFIX_TABLE (PREFIX_EVEX_0F3873) },
426     { Bad_Opcode },
427     { PREFIX_TABLE (PREFIX_EVEX_0F3875) },
428     { PREFIX_TABLE (PREFIX_EVEX_0F3876) },
429     { PREFIX_TABLE (PREFIX_EVEX_0F3877) },
430     /* 78 */
431     { PREFIX_TABLE (PREFIX_EVEX_0F3878) },
432     { PREFIX_TABLE (PREFIX_EVEX_0F3879) },
433     { PREFIX_TABLE (PREFIX_EVEX_0F387A) },
434     { PREFIX_TABLE (PREFIX_EVEX_0F387B) },
435     { PREFIX_TABLE (PREFIX_EVEX_0F387C) },
436     { PREFIX_TABLE (PREFIX_EVEX_0F387D) },
437     { PREFIX_TABLE (PREFIX_EVEX_0F387E) },
438     { PREFIX_TABLE (PREFIX_EVEX_0F387F) },
439     /* 80 */
440     { Bad_Opcode },
441     { Bad_Opcode },
442     { Bad_Opcode },
443     { PREFIX_TABLE (PREFIX_EVEX_0F3883) },
444     { Bad_Opcode },
445     { Bad_Opcode },
446     { Bad_Opcode },
447     { Bad_Opcode },
448     /* 88 */
449     { PREFIX_TABLE (PREFIX_EVEX_0F3888) },
450     { PREFIX_TABLE (PREFIX_EVEX_0F3889) },
451     { PREFIX_TABLE (PREFIX_EVEX_0F388A) },
452     { PREFIX_TABLE (PREFIX_EVEX_0F388B) },
453     { Bad_Opcode },
454     { PREFIX_TABLE (PREFIX_EVEX_0F388D) },
455     { Bad_Opcode },
456     { PREFIX_TABLE (PREFIX_EVEX_0F388F) },
457     /* 90 */
458     { PREFIX_TABLE (PREFIX_EVEX_0F3890) },
459     { PREFIX_TABLE (PREFIX_EVEX_0F3891) },
460     { PREFIX_TABLE (PREFIX_EVEX_0F3892) },
461     { PREFIX_TABLE (PREFIX_EVEX_0F3893) },
462     { Bad_Opcode },
463     { Bad_Opcode },
464     { PREFIX_TABLE (PREFIX_EVEX_0F3896) },
465     { PREFIX_TABLE (PREFIX_EVEX_0F3897) },
466     /* 98 */
467     { PREFIX_TABLE (PREFIX_EVEX_0F3898) },
468     { PREFIX_TABLE (PREFIX_EVEX_0F3899) },
469     { PREFIX_TABLE (PREFIX_EVEX_0F389A) },
470     { PREFIX_TABLE (PREFIX_EVEX_0F389B) },
471     { PREFIX_TABLE (PREFIX_EVEX_0F389C) },
472     { PREFIX_TABLE (PREFIX_EVEX_0F389D) },
473     { PREFIX_TABLE (PREFIX_EVEX_0F389E) },
474     { PREFIX_TABLE (PREFIX_EVEX_0F389F) },
475     /* A0 */
476     { PREFIX_TABLE (PREFIX_EVEX_0F38A0) },
477     { PREFIX_TABLE (PREFIX_EVEX_0F38A1) },
478     { PREFIX_TABLE (PREFIX_EVEX_0F38A2) },
479     { PREFIX_TABLE (PREFIX_EVEX_0F38A3) },
480     { Bad_Opcode },
481     { Bad_Opcode },
482     { PREFIX_TABLE (PREFIX_EVEX_0F38A6) },
483     { PREFIX_TABLE (PREFIX_EVEX_0F38A7) },
484     /* A8 */
485     { PREFIX_TABLE (PREFIX_EVEX_0F38A8) },
486     { PREFIX_TABLE (PREFIX_EVEX_0F38A9) },
487     { PREFIX_TABLE (PREFIX_EVEX_0F38AA) },
488     { PREFIX_TABLE (PREFIX_EVEX_0F38AB) },
489     { PREFIX_TABLE (PREFIX_EVEX_0F38AC) },
490     { PREFIX_TABLE (PREFIX_EVEX_0F38AD) },
491     { PREFIX_TABLE (PREFIX_EVEX_0F38AE) },
492     { PREFIX_TABLE (PREFIX_EVEX_0F38AF) },
493     /* B0 */
494     { Bad_Opcode },
495     { Bad_Opcode },
496     { Bad_Opcode },
497     { Bad_Opcode },
498     { PREFIX_TABLE (PREFIX_EVEX_0F38B4) },
499     { PREFIX_TABLE (PREFIX_EVEX_0F38B5) },
500     { PREFIX_TABLE (PREFIX_EVEX_0F38B6) },
501     { PREFIX_TABLE (PREFIX_EVEX_0F38B7) },
502     /* B8 */
503     { PREFIX_TABLE (PREFIX_EVEX_0F38B8) },
504     { PREFIX_TABLE (PREFIX_EVEX_0F38B9) },
505     { PREFIX_TABLE (PREFIX_EVEX_0F38BA) },
506     { PREFIX_TABLE (PREFIX_EVEX_0F38BB) },
507     { PREFIX_TABLE (PREFIX_EVEX_0F38BC) },
508     { PREFIX_TABLE (PREFIX_EVEX_0F38BD) },
509     { PREFIX_TABLE (PREFIX_EVEX_0F38BE) },
510     { PREFIX_TABLE (PREFIX_EVEX_0F38BF) },
511     /* C0 */
512     { Bad_Opcode },
513     { Bad_Opcode },
514     { Bad_Opcode },
515     { Bad_Opcode },
516     { PREFIX_TABLE (PREFIX_EVEX_0F38C4) },
517     { Bad_Opcode },
518     { REG_TABLE (REG_EVEX_0F38C6) },
519     { REG_TABLE (REG_EVEX_0F38C7) },
520     /* C8 */
521     { PREFIX_TABLE (PREFIX_EVEX_0F38C8) },
522     { Bad_Opcode },
523     { PREFIX_TABLE (PREFIX_EVEX_0F38CA) },
524     { PREFIX_TABLE (PREFIX_EVEX_0F38CB) },
525     { PREFIX_TABLE (PREFIX_EVEX_0F38CC) },
526     { PREFIX_TABLE (PREFIX_EVEX_0F38CD) },
527     { Bad_Opcode },
528     { PREFIX_TABLE (PREFIX_EVEX_0F38CF) },
529     /* D0 */
530     { Bad_Opcode },
531     { Bad_Opcode },
532     { Bad_Opcode },
533     { Bad_Opcode },
534     { Bad_Opcode },
535     { Bad_Opcode },
536     { Bad_Opcode },
537     { Bad_Opcode },
538     /* D8 */
539     { Bad_Opcode },
540     { Bad_Opcode },
541     { Bad_Opcode },
542     { Bad_Opcode },
543     { PREFIX_TABLE (PREFIX_EVEX_0F38DC) },
544     { PREFIX_TABLE (PREFIX_EVEX_0F38DD) },
545     { PREFIX_TABLE (PREFIX_EVEX_0F38DE) },
546     { PREFIX_TABLE (PREFIX_EVEX_0F38DF) },
547     /* E0 */
548     { Bad_Opcode },
549     { Bad_Opcode },
550     { Bad_Opcode },
551     { Bad_Opcode },
552     { Bad_Opcode },
553     { Bad_Opcode },
554     { Bad_Opcode },
555     { Bad_Opcode },
556     /* E8 */
557     { Bad_Opcode },
558     { Bad_Opcode },
559     { Bad_Opcode },
560     { Bad_Opcode },
561     { Bad_Opcode },
562     { Bad_Opcode },
563     { Bad_Opcode },
564     { Bad_Opcode },
565     /* F0 */
566     { Bad_Opcode },
567     { Bad_Opcode },
568     { Bad_Opcode },
569     { Bad_Opcode },
570     { Bad_Opcode },
571     { Bad_Opcode },
572     { Bad_Opcode },
573     { Bad_Opcode },
574     /* F8 */
575     { Bad_Opcode },
576     { Bad_Opcode },
577     { Bad_Opcode },
578     { Bad_Opcode },
579     { Bad_Opcode },
580     { Bad_Opcode },
581     { Bad_Opcode },
582     { Bad_Opcode },
583   },
584   /* EVEX_0F3A */
585   {
586     /* 00 */
587     { PREFIX_TABLE (PREFIX_EVEX_0F3A00) },
588     { PREFIX_TABLE (PREFIX_EVEX_0F3A01) },
589     { Bad_Opcode },
590     { PREFIX_TABLE (PREFIX_EVEX_0F3A03) },
591     { PREFIX_TABLE (PREFIX_EVEX_0F3A04) },
592     { PREFIX_TABLE (PREFIX_EVEX_0F3A05) },
593     { Bad_Opcode },
594     { Bad_Opcode },
595     /* 08 */
596     { PREFIX_TABLE (PREFIX_EVEX_0F3A08) },
597     { PREFIX_TABLE (PREFIX_EVEX_0F3A09) },
598     { PREFIX_TABLE (PREFIX_EVEX_0F3A0A) },
599     { PREFIX_TABLE (PREFIX_EVEX_0F3A0B) },
600     { Bad_Opcode },
601     { Bad_Opcode },
602     { Bad_Opcode },
603     { PREFIX_TABLE (PREFIX_EVEX_0F3A0F) },
604     /* 10 */
605     { Bad_Opcode },
606     { Bad_Opcode },
607     { Bad_Opcode },
608     { Bad_Opcode },
609     { PREFIX_TABLE (PREFIX_EVEX_0F3A14) },
610     { PREFIX_TABLE (PREFIX_EVEX_0F3A15) },
611     { PREFIX_TABLE (PREFIX_EVEX_0F3A16) },
612     { PREFIX_TABLE (PREFIX_EVEX_0F3A17) },
613     /* 18 */
614     { PREFIX_TABLE (PREFIX_EVEX_0F3A18) },
615     { PREFIX_TABLE (PREFIX_EVEX_0F3A19) },
616     { PREFIX_TABLE (PREFIX_EVEX_0F3A1A) },
617     { PREFIX_TABLE (PREFIX_EVEX_0F3A1B) },
618     { Bad_Opcode },
619     { PREFIX_TABLE (PREFIX_EVEX_0F3A1D) },
620     { PREFIX_TABLE (PREFIX_EVEX_0F3A1E) },
621     { PREFIX_TABLE (PREFIX_EVEX_0F3A1F) },
622     /* 20 */
623     { PREFIX_TABLE (PREFIX_EVEX_0F3A20) },
624     { PREFIX_TABLE (PREFIX_EVEX_0F3A21) },
625     { PREFIX_TABLE (PREFIX_EVEX_0F3A22) },
626     { PREFIX_TABLE (PREFIX_EVEX_0F3A23) },
627     { Bad_Opcode },
628     { PREFIX_TABLE (PREFIX_EVEX_0F3A25) },
629     { PREFIX_TABLE (PREFIX_EVEX_0F3A26) },
630     { PREFIX_TABLE (PREFIX_EVEX_0F3A27) },
631     /* 28 */
632     { Bad_Opcode },
633     { Bad_Opcode },
634     { Bad_Opcode },
635     { Bad_Opcode },
636     { Bad_Opcode },
637     { Bad_Opcode },
638     { Bad_Opcode },
639     { Bad_Opcode },
640     /* 30 */
641     { Bad_Opcode },
642     { Bad_Opcode },
643     { Bad_Opcode },
644     { Bad_Opcode },
645     { Bad_Opcode },
646     { Bad_Opcode },
647     { Bad_Opcode },
648     { Bad_Opcode },
649     /* 38 */
650     { PREFIX_TABLE (PREFIX_EVEX_0F3A38) },
651     { PREFIX_TABLE (PREFIX_EVEX_0F3A39) },
652     { PREFIX_TABLE (PREFIX_EVEX_0F3A3A) },
653     { PREFIX_TABLE (PREFIX_EVEX_0F3A3B) },
654     { Bad_Opcode },
655     { Bad_Opcode },
656     { PREFIX_TABLE (PREFIX_EVEX_0F3A3E) },
657     { PREFIX_TABLE (PREFIX_EVEX_0F3A3F) },
658     /* 40 */
659     { Bad_Opcode },
660     { Bad_Opcode },
661     { PREFIX_TABLE (PREFIX_EVEX_0F3A42) },
662     { PREFIX_TABLE (PREFIX_EVEX_0F3A43) },
663     { PREFIX_TABLE (PREFIX_EVEX_0F3A44) },
664     { Bad_Opcode },
665     { Bad_Opcode },
666     { Bad_Opcode },
667     /* 48 */
668     { Bad_Opcode },
669     { Bad_Opcode },
670     { Bad_Opcode },
671     { Bad_Opcode },
672     { Bad_Opcode },
673     { Bad_Opcode },
674     { Bad_Opcode },
675     { Bad_Opcode },
676     /* 50 */
677     { PREFIX_TABLE (PREFIX_EVEX_0F3A50) },
678     { PREFIX_TABLE (PREFIX_EVEX_0F3A51) },
679     { Bad_Opcode },
680     { Bad_Opcode },
681     { PREFIX_TABLE (PREFIX_EVEX_0F3A54) },
682     { PREFIX_TABLE (PREFIX_EVEX_0F3A55) },
683     { PREFIX_TABLE (PREFIX_EVEX_0F3A56) },
684     { PREFIX_TABLE (PREFIX_EVEX_0F3A57) },
685     /* 58 */
686     { Bad_Opcode },
687     { Bad_Opcode },
688     { Bad_Opcode },
689     { Bad_Opcode },
690     { Bad_Opcode },
691     { Bad_Opcode },
692     { Bad_Opcode },
693     { Bad_Opcode },
694     /* 60 */
695     { Bad_Opcode },
696     { Bad_Opcode },
697     { Bad_Opcode },
698     { Bad_Opcode },
699     { Bad_Opcode },
700     { Bad_Opcode },
701     { PREFIX_TABLE (PREFIX_EVEX_0F3A66) },
702     { PREFIX_TABLE (PREFIX_EVEX_0F3A67) },
703     /* 68 */
704     { Bad_Opcode },
705     { Bad_Opcode },
706     { Bad_Opcode },
707     { Bad_Opcode },
708     { Bad_Opcode },
709     { Bad_Opcode },
710     { Bad_Opcode },
711     { Bad_Opcode },
712     /* 70 */
713     { PREFIX_TABLE (PREFIX_EVEX_0F3A70) },
714     { PREFIX_TABLE (PREFIX_EVEX_0F3A71) },
715     { PREFIX_TABLE (PREFIX_EVEX_0F3A72) },
716     { PREFIX_TABLE (PREFIX_EVEX_0F3A73) },
717     { Bad_Opcode },
718     { Bad_Opcode },
719     { Bad_Opcode },
720     { Bad_Opcode },
721     /* 78 */
722     { Bad_Opcode },
723     { Bad_Opcode },
724     { Bad_Opcode },
725     { Bad_Opcode },
726     { Bad_Opcode },
727     { Bad_Opcode },
728     { Bad_Opcode },
729     { Bad_Opcode },
730     /* 80 */
731     { Bad_Opcode },
732     { Bad_Opcode },
733     { Bad_Opcode },
734     { Bad_Opcode },
735     { Bad_Opcode },
736     { Bad_Opcode },
737     { Bad_Opcode },
738     { Bad_Opcode },
739     /* 88 */
740     { Bad_Opcode },
741     { Bad_Opcode },
742     { Bad_Opcode },
743     { Bad_Opcode },
744     { Bad_Opcode },
745     { Bad_Opcode },
746     { Bad_Opcode },
747     { Bad_Opcode },
748     /* 90 */
749     { Bad_Opcode },
750     { Bad_Opcode },
751     { Bad_Opcode },
752     { Bad_Opcode },
753     { Bad_Opcode },
754     { Bad_Opcode },
755     { Bad_Opcode },
756     { Bad_Opcode },
757     /* 98 */
758     { Bad_Opcode },
759     { Bad_Opcode },
760     { Bad_Opcode },
761     { Bad_Opcode },
762     { Bad_Opcode },
763     { Bad_Opcode },
764     { Bad_Opcode },
765     { Bad_Opcode },
766     /* A0 */
767     { Bad_Opcode },
768     { Bad_Opcode },
769     { Bad_Opcode },
770     { Bad_Opcode },
771     { Bad_Opcode },
772     { Bad_Opcode },
773     { Bad_Opcode },
774     { Bad_Opcode },
775     /* A8 */
776     { Bad_Opcode },
777     { Bad_Opcode },
778     { Bad_Opcode },
779     { Bad_Opcode },
780     { Bad_Opcode },
781     { Bad_Opcode },
782     { Bad_Opcode },
783     { Bad_Opcode },
784     /* B0 */
785     { Bad_Opcode },
786     { Bad_Opcode },
787     { Bad_Opcode },
788     { Bad_Opcode },
789     { Bad_Opcode },
790     { Bad_Opcode },
791     { Bad_Opcode },
792     { Bad_Opcode },
793     /* B8 */
794     { Bad_Opcode },
795     { Bad_Opcode },
796     { Bad_Opcode },
797     { Bad_Opcode },
798     { Bad_Opcode },
799     { Bad_Opcode },
800     { Bad_Opcode },
801     { Bad_Opcode },
802     /* C0 */
803     { Bad_Opcode },
804     { Bad_Opcode },
805     { Bad_Opcode },
806     { Bad_Opcode },
807     { Bad_Opcode },
808     { Bad_Opcode },
809     { Bad_Opcode },
810     { Bad_Opcode },
811     /* C8 */
812     { Bad_Opcode },
813     { Bad_Opcode },
814     { Bad_Opcode },
815     { Bad_Opcode },
816     { Bad_Opcode },
817     { Bad_Opcode },
818     { PREFIX_TABLE (PREFIX_EVEX_0F3ACE) },
819     { PREFIX_TABLE (PREFIX_EVEX_0F3ACF) },
820     /* D0 */
821     { Bad_Opcode },
822     { Bad_Opcode },
823     { Bad_Opcode },
824     { Bad_Opcode },
825     { Bad_Opcode },
826     { Bad_Opcode },
827     { Bad_Opcode },
828     { Bad_Opcode },
829     /* D8 */
830     { Bad_Opcode },
831     { Bad_Opcode },
832     { Bad_Opcode },
833     { Bad_Opcode },
834     { Bad_Opcode },
835     { Bad_Opcode },
836     { Bad_Opcode },
837     { Bad_Opcode },
838     /* E0 */
839     { Bad_Opcode },
840     { Bad_Opcode },
841     { Bad_Opcode },
842     { Bad_Opcode },
843     { Bad_Opcode },
844     { Bad_Opcode },
845     { Bad_Opcode },
846     { Bad_Opcode },
847     /* E8 */
848     { Bad_Opcode },
849     { Bad_Opcode },
850     { Bad_Opcode },
851     { Bad_Opcode },
852     { Bad_Opcode },
853     { Bad_Opcode },
854     { Bad_Opcode },
855     { Bad_Opcode },
856     /* F0 */
857     { Bad_Opcode },
858     { Bad_Opcode },
859     { Bad_Opcode },
860     { Bad_Opcode },
861     { Bad_Opcode },
862     { Bad_Opcode },
863     { Bad_Opcode },
864     { Bad_Opcode },
865     /* F8 */
866     { Bad_Opcode },
867     { Bad_Opcode },
868     { Bad_Opcode },
869     { Bad_Opcode },
870     { Bad_Opcode },
871     { Bad_Opcode },
872     { Bad_Opcode },
873     { Bad_Opcode },
874   },
875 };