xref: /dflybsd-src/contrib/binutils-2.27/opcodes/i386-dis-evex.h (revision e656dc90e3d65d744d534af2f5ea88cf8101ebcf)
1*a9fa9459Szrj #ifdef NEED_OPCODE_TABLE
2*a9fa9459Szrj 
3*a9fa9459Szrj static const struct dis386 evex_table[][256] = {
4*a9fa9459Szrj   /* EVEX_0F */
5*a9fa9459Szrj   {
6*a9fa9459Szrj     /* 00 */
7*a9fa9459Szrj     { Bad_Opcode },
8*a9fa9459Szrj     { Bad_Opcode },
9*a9fa9459Szrj     { Bad_Opcode },
10*a9fa9459Szrj     { Bad_Opcode },
11*a9fa9459Szrj     { Bad_Opcode },
12*a9fa9459Szrj     { Bad_Opcode },
13*a9fa9459Szrj     { Bad_Opcode },
14*a9fa9459Szrj     { Bad_Opcode },
15*a9fa9459Szrj     /* 08 */
16*a9fa9459Szrj     { Bad_Opcode },
17*a9fa9459Szrj     { Bad_Opcode },
18*a9fa9459Szrj     { Bad_Opcode },
19*a9fa9459Szrj     { Bad_Opcode },
20*a9fa9459Szrj     { Bad_Opcode },
21*a9fa9459Szrj     { Bad_Opcode },
22*a9fa9459Szrj     { Bad_Opcode },
23*a9fa9459Szrj     { Bad_Opcode },
24*a9fa9459Szrj     /* 10 */
25*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F10) },
26*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F11) },
27*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F12) },
28*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F13) },
29*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F14) },
30*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F15) },
31*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F16) },
32*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F17) },
33*a9fa9459Szrj     /* 18 */
34*a9fa9459Szrj     { Bad_Opcode },
35*a9fa9459Szrj     { Bad_Opcode },
36*a9fa9459Szrj     { Bad_Opcode },
37*a9fa9459Szrj     { Bad_Opcode },
38*a9fa9459Szrj     { Bad_Opcode },
39*a9fa9459Szrj     { Bad_Opcode },
40*a9fa9459Szrj     { Bad_Opcode },
41*a9fa9459Szrj     { Bad_Opcode },
42*a9fa9459Szrj     /* 20 */
43*a9fa9459Szrj     { Bad_Opcode },
44*a9fa9459Szrj     { Bad_Opcode },
45*a9fa9459Szrj     { Bad_Opcode },
46*a9fa9459Szrj     { Bad_Opcode },
47*a9fa9459Szrj     { Bad_Opcode },
48*a9fa9459Szrj     { Bad_Opcode },
49*a9fa9459Szrj     { Bad_Opcode },
50*a9fa9459Szrj     { Bad_Opcode },
51*a9fa9459Szrj     /* 28 */
52*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F28) },
53*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F29) },
54*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F2A) },
55*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F2B) },
56*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F2C) },
57*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F2D) },
58*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F2E) },
59*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F2F) },
60*a9fa9459Szrj     /* 30 */
61*a9fa9459Szrj     { Bad_Opcode },
62*a9fa9459Szrj     { Bad_Opcode },
63*a9fa9459Szrj     { Bad_Opcode },
64*a9fa9459Szrj     { Bad_Opcode },
65*a9fa9459Szrj     { Bad_Opcode },
66*a9fa9459Szrj     { Bad_Opcode },
67*a9fa9459Szrj     { Bad_Opcode },
68*a9fa9459Szrj     { Bad_Opcode },
69*a9fa9459Szrj     /* 38 */
70*a9fa9459Szrj     { Bad_Opcode },
71*a9fa9459Szrj     { Bad_Opcode },
72*a9fa9459Szrj     { Bad_Opcode },
73*a9fa9459Szrj     { Bad_Opcode },
74*a9fa9459Szrj     { Bad_Opcode },
75*a9fa9459Szrj     { Bad_Opcode },
76*a9fa9459Szrj     { Bad_Opcode },
77*a9fa9459Szrj     { Bad_Opcode },
78*a9fa9459Szrj     /* 40 */
79*a9fa9459Szrj     { Bad_Opcode },
80*a9fa9459Szrj     { Bad_Opcode },
81*a9fa9459Szrj     { Bad_Opcode },
82*a9fa9459Szrj     { Bad_Opcode },
83*a9fa9459Szrj     { Bad_Opcode },
84*a9fa9459Szrj     { Bad_Opcode },
85*a9fa9459Szrj     { Bad_Opcode },
86*a9fa9459Szrj     { Bad_Opcode },
87*a9fa9459Szrj     /* 48 */
88*a9fa9459Szrj     { Bad_Opcode },
89*a9fa9459Szrj     { Bad_Opcode },
90*a9fa9459Szrj     { Bad_Opcode },
91*a9fa9459Szrj     { Bad_Opcode },
92*a9fa9459Szrj     { Bad_Opcode },
93*a9fa9459Szrj     { Bad_Opcode },
94*a9fa9459Szrj     { Bad_Opcode },
95*a9fa9459Szrj     { Bad_Opcode },
96*a9fa9459Szrj     /* 50 */
97*a9fa9459Szrj     { Bad_Opcode },
98*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F51) },
99*a9fa9459Szrj     { Bad_Opcode },
100*a9fa9459Szrj     { Bad_Opcode },
101*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F54) },
102*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F55) },
103*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F56) },
104*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F57) },
105*a9fa9459Szrj     /* 58 */
106*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F58) },
107*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F59) },
108*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F5A) },
109*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F5B) },
110*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F5C) },
111*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F5D) },
112*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F5E) },
113*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F5F) },
114*a9fa9459Szrj     /* 60 */
115*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F60) },
116*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F61) },
117*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F62) },
118*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F63) },
119*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F64) },
120*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F65) },
121*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F66) },
122*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F67) },
123*a9fa9459Szrj     /* 68 */
124*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F68) },
125*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F69) },
126*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F6A) },
127*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F6B) },
128*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F6C) },
129*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F6D) },
130*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F6E) },
131*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F6F) },
132*a9fa9459Szrj     /* 70 */
133*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F70) },
134*a9fa9459Szrj     { REG_TABLE (REG_EVEX_0F71) },
135*a9fa9459Szrj     { REG_TABLE (REG_EVEX_0F72) },
136*a9fa9459Szrj     { REG_TABLE (REG_EVEX_0F73) },
137*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F74) },
138*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F75) },
139*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F76) },
140*a9fa9459Szrj     { Bad_Opcode },
141*a9fa9459Szrj     /* 78 */
142*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F78) },
143*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F79) },
144*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F7A) },
145*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F7B) },
146*a9fa9459Szrj     { Bad_Opcode },
147*a9fa9459Szrj     { Bad_Opcode },
148*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F7E) },
149*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F7F) },
150*a9fa9459Szrj     /* 80 */
151*a9fa9459Szrj     { Bad_Opcode },
152*a9fa9459Szrj     { Bad_Opcode },
153*a9fa9459Szrj     { Bad_Opcode },
154*a9fa9459Szrj     { Bad_Opcode },
155*a9fa9459Szrj     { Bad_Opcode },
156*a9fa9459Szrj     { Bad_Opcode },
157*a9fa9459Szrj     { Bad_Opcode },
158*a9fa9459Szrj     { Bad_Opcode },
159*a9fa9459Szrj     /* 88 */
160*a9fa9459Szrj     { Bad_Opcode },
161*a9fa9459Szrj     { Bad_Opcode },
162*a9fa9459Szrj     { Bad_Opcode },
163*a9fa9459Szrj     { Bad_Opcode },
164*a9fa9459Szrj     { Bad_Opcode },
165*a9fa9459Szrj     { Bad_Opcode },
166*a9fa9459Szrj     { Bad_Opcode },
167*a9fa9459Szrj     { Bad_Opcode },
168*a9fa9459Szrj     /* 90 */
169*a9fa9459Szrj     { Bad_Opcode },
170*a9fa9459Szrj     { Bad_Opcode },
171*a9fa9459Szrj     { Bad_Opcode },
172*a9fa9459Szrj     { Bad_Opcode },
173*a9fa9459Szrj     { Bad_Opcode },
174*a9fa9459Szrj     { Bad_Opcode },
175*a9fa9459Szrj     { Bad_Opcode },
176*a9fa9459Szrj     { Bad_Opcode },
177*a9fa9459Szrj     /* 98 */
178*a9fa9459Szrj     { Bad_Opcode },
179*a9fa9459Szrj     { Bad_Opcode },
180*a9fa9459Szrj     { Bad_Opcode },
181*a9fa9459Szrj     { Bad_Opcode },
182*a9fa9459Szrj     { Bad_Opcode },
183*a9fa9459Szrj     { Bad_Opcode },
184*a9fa9459Szrj     { Bad_Opcode },
185*a9fa9459Szrj     { Bad_Opcode },
186*a9fa9459Szrj     /* A0 */
187*a9fa9459Szrj     { Bad_Opcode },
188*a9fa9459Szrj     { Bad_Opcode },
189*a9fa9459Szrj     { Bad_Opcode },
190*a9fa9459Szrj     { Bad_Opcode },
191*a9fa9459Szrj     { Bad_Opcode },
192*a9fa9459Szrj     { Bad_Opcode },
193*a9fa9459Szrj     { Bad_Opcode },
194*a9fa9459Szrj     { Bad_Opcode },
195*a9fa9459Szrj     /* A8 */
196*a9fa9459Szrj     { Bad_Opcode },
197*a9fa9459Szrj     { Bad_Opcode },
198*a9fa9459Szrj     { Bad_Opcode },
199*a9fa9459Szrj     { Bad_Opcode },
200*a9fa9459Szrj     { Bad_Opcode },
201*a9fa9459Szrj     { Bad_Opcode },
202*a9fa9459Szrj     { Bad_Opcode },
203*a9fa9459Szrj     { Bad_Opcode },
204*a9fa9459Szrj     /* B0 */
205*a9fa9459Szrj     { Bad_Opcode },
206*a9fa9459Szrj     { Bad_Opcode },
207*a9fa9459Szrj     { Bad_Opcode },
208*a9fa9459Szrj     { Bad_Opcode },
209*a9fa9459Szrj     { Bad_Opcode },
210*a9fa9459Szrj     { Bad_Opcode },
211*a9fa9459Szrj     { Bad_Opcode },
212*a9fa9459Szrj     { Bad_Opcode },
213*a9fa9459Szrj     /* B8 */
214*a9fa9459Szrj     { Bad_Opcode },
215*a9fa9459Szrj     { Bad_Opcode },
216*a9fa9459Szrj     { Bad_Opcode },
217*a9fa9459Szrj     { Bad_Opcode },
218*a9fa9459Szrj     { Bad_Opcode },
219*a9fa9459Szrj     { Bad_Opcode },
220*a9fa9459Szrj     { Bad_Opcode },
221*a9fa9459Szrj     { Bad_Opcode },
222*a9fa9459Szrj     /* C0 */
223*a9fa9459Szrj     { Bad_Opcode },
224*a9fa9459Szrj     { Bad_Opcode },
225*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0FC2) },
226*a9fa9459Szrj     { Bad_Opcode },
227*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0FC4) },
228*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0FC5) },
229*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0FC6) },
230*a9fa9459Szrj     { Bad_Opcode },
231*a9fa9459Szrj     /* C8 */
232*a9fa9459Szrj     { Bad_Opcode },
233*a9fa9459Szrj     { Bad_Opcode },
234*a9fa9459Szrj     { Bad_Opcode },
235*a9fa9459Szrj     { Bad_Opcode },
236*a9fa9459Szrj     { Bad_Opcode },
237*a9fa9459Szrj     { Bad_Opcode },
238*a9fa9459Szrj     { Bad_Opcode },
239*a9fa9459Szrj     { Bad_Opcode },
240*a9fa9459Szrj     /* D0 */
241*a9fa9459Szrj     { Bad_Opcode },
242*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0FD1) },
243*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0FD2) },
244*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0FD3) },
245*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0FD4) },
246*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0FD5) },
247*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0FD6) },
248*a9fa9459Szrj     { Bad_Opcode },
249*a9fa9459Szrj     /* D8 */
250*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0FD8) },
251*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0FD9) },
252*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0FDA) },
253*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0FDB) },
254*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0FDC) },
255*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0FDD) },
256*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0FDE) },
257*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0FDF) },
258*a9fa9459Szrj     /* E0 */
259*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0FE0) },
260*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0FE1) },
261*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0FE2) },
262*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0FE3) },
263*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0FE4) },
264*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0FE5) },
265*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0FE6) },
266*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0FE7) },
267*a9fa9459Szrj     /* E8 */
268*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0FE8) },
269*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0FE9) },
270*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0FEA) },
271*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0FEB) },
272*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0FEC) },
273*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0FED) },
274*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0FEE) },
275*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0FEF) },
276*a9fa9459Szrj     /* F0 */
277*a9fa9459Szrj     { Bad_Opcode },
278*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0FF1) },
279*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0FF2) },
280*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0FF3) },
281*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0FF4) },
282*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0FF5) },
283*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0FF6) },
284*a9fa9459Szrj     { Bad_Opcode },
285*a9fa9459Szrj     /* F8 */
286*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0FF8) },
287*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0FF9) },
288*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0FFA) },
289*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0FFB) },
290*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0FFC) },
291*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0FFD) },
292*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0FFE) },
293*a9fa9459Szrj     { Bad_Opcode },
294*a9fa9459Szrj   },
295*a9fa9459Szrj   /* EVEX_0F38 */
296*a9fa9459Szrj   {
297*a9fa9459Szrj     /* 00 */
298*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F3800) },
299*a9fa9459Szrj     { Bad_Opcode },
300*a9fa9459Szrj     { Bad_Opcode },
301*a9fa9459Szrj     { Bad_Opcode },
302*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F3804) },
303*a9fa9459Szrj     { Bad_Opcode },
304*a9fa9459Szrj     { Bad_Opcode },
305*a9fa9459Szrj     { Bad_Opcode },
306*a9fa9459Szrj     /* 08 */
307*a9fa9459Szrj     { Bad_Opcode },
308*a9fa9459Szrj     { Bad_Opcode },
309*a9fa9459Szrj     { Bad_Opcode },
310*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F380B) },
311*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F380C) },
312*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F380D) },
313*a9fa9459Szrj     { Bad_Opcode },
314*a9fa9459Szrj     { Bad_Opcode },
315*a9fa9459Szrj     /* 10 */
316*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F3810) },
317*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F3811) },
318*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F3812) },
319*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F3813) },
320*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F3814) },
321*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F3815) },
322*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F3816) },
323*a9fa9459Szrj     { Bad_Opcode },
324*a9fa9459Szrj     /* 18 */
325*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F3818) },
326*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F3819) },
327*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F381A) },
328*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F381B) },
329*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F381C) },
330*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F381D) },
331*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F381E) },
332*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F381F) },
333*a9fa9459Szrj     /* 20 */
334*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F3820) },
335*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F3821) },
336*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F3822) },
337*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F3823) },
338*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F3824) },
339*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F3825) },
340*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F3826) },
341*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F3827) },
342*a9fa9459Szrj     /* 28 */
343*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F3828) },
344*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F3829) },
345*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F382A) },
346*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F382B) },
347*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F382C) },
348*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F382D) },
349*a9fa9459Szrj     { Bad_Opcode },
350*a9fa9459Szrj     { Bad_Opcode },
351*a9fa9459Szrj     /* 30 */
352*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F3830) },
353*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F3831) },
354*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F3832) },
355*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F3833) },
356*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F3834) },
357*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F3835) },
358*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F3836) },
359*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F3837) },
360*a9fa9459Szrj     /* 38 */
361*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F3838) },
362*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F3839) },
363*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F383A) },
364*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F383B) },
365*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F383C) },
366*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F383D) },
367*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F383E) },
368*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F383F) },
369*a9fa9459Szrj     /* 40 */
370*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F3840) },
371*a9fa9459Szrj     { Bad_Opcode },
372*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F3842) },
373*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F3843) },
374*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F3844) },
375*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F3845) },
376*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F3846) },
377*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F3847) },
378*a9fa9459Szrj     /* 48 */
379*a9fa9459Szrj     { Bad_Opcode },
380*a9fa9459Szrj     { Bad_Opcode },
381*a9fa9459Szrj     { Bad_Opcode },
382*a9fa9459Szrj     { Bad_Opcode },
383*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F384C) },
384*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F384D) },
385*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F384E) },
386*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F384F) },
387*a9fa9459Szrj     /* 50 */
388*a9fa9459Szrj     { Bad_Opcode },
389*a9fa9459Szrj     { Bad_Opcode },
390*a9fa9459Szrj     { Bad_Opcode },
391*a9fa9459Szrj     { Bad_Opcode },
392*a9fa9459Szrj     { Bad_Opcode },
393*a9fa9459Szrj     { Bad_Opcode },
394*a9fa9459Szrj     { Bad_Opcode },
395*a9fa9459Szrj     { Bad_Opcode },
396*a9fa9459Szrj     /* 58 */
397*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F3858) },
398*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F3859) },
399*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F385A) },
400*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F385B) },
401*a9fa9459Szrj     { Bad_Opcode },
402*a9fa9459Szrj     { Bad_Opcode },
403*a9fa9459Szrj     { Bad_Opcode },
404*a9fa9459Szrj     { Bad_Opcode },
405*a9fa9459Szrj     /* 60 */
406*a9fa9459Szrj     { Bad_Opcode },
407*a9fa9459Szrj     { Bad_Opcode },
408*a9fa9459Szrj     { Bad_Opcode },
409*a9fa9459Szrj     { Bad_Opcode },
410*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F3864) },
411*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F3865) },
412*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F3866) },
413*a9fa9459Szrj     { Bad_Opcode },
414*a9fa9459Szrj     /* 68 */
415*a9fa9459Szrj     { Bad_Opcode },
416*a9fa9459Szrj     { Bad_Opcode },
417*a9fa9459Szrj     { Bad_Opcode },
418*a9fa9459Szrj     { Bad_Opcode },
419*a9fa9459Szrj     { Bad_Opcode },
420*a9fa9459Szrj     { Bad_Opcode },
421*a9fa9459Szrj     { Bad_Opcode },
422*a9fa9459Szrj     { Bad_Opcode },
423*a9fa9459Szrj     /* 70 */
424*a9fa9459Szrj     { Bad_Opcode },
425*a9fa9459Szrj     { Bad_Opcode },
426*a9fa9459Szrj     { Bad_Opcode },
427*a9fa9459Szrj     { Bad_Opcode },
428*a9fa9459Szrj     { Bad_Opcode },
429*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F3875) },
430*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F3876) },
431*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F3877) },
432*a9fa9459Szrj     /* 78 */
433*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F3878) },
434*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F3879) },
435*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F387A) },
436*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F387B) },
437*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F387C) },
438*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F387D) },
439*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F387E) },
440*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F387F) },
441*a9fa9459Szrj     /* 80 */
442*a9fa9459Szrj     { Bad_Opcode },
443*a9fa9459Szrj     { Bad_Opcode },
444*a9fa9459Szrj     { Bad_Opcode },
445*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F3883) },
446*a9fa9459Szrj     { Bad_Opcode },
447*a9fa9459Szrj     { Bad_Opcode },
448*a9fa9459Szrj     { Bad_Opcode },
449*a9fa9459Szrj     { Bad_Opcode },
450*a9fa9459Szrj     /* 88 */
451*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F3888) },
452*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F3889) },
453*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F388A) },
454*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F388B) },
455*a9fa9459Szrj     { Bad_Opcode },
456*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F388D) },
457*a9fa9459Szrj     { Bad_Opcode },
458*a9fa9459Szrj     { Bad_Opcode },
459*a9fa9459Szrj     /* 90 */
460*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F3890) },
461*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F3891) },
462*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F3892) },
463*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F3893) },
464*a9fa9459Szrj     { Bad_Opcode },
465*a9fa9459Szrj     { Bad_Opcode },
466*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F3896) },
467*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F3897) },
468*a9fa9459Szrj     /* 98 */
469*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F3898) },
470*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F3899) },
471*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F389A) },
472*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F389B) },
473*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F389C) },
474*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F389D) },
475*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F389E) },
476*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F389F) },
477*a9fa9459Szrj     /* A0 */
478*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F38A0) },
479*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F38A1) },
480*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F38A2) },
481*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F38A3) },
482*a9fa9459Szrj     { Bad_Opcode },
483*a9fa9459Szrj     { Bad_Opcode },
484*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F38A6) },
485*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F38A7) },
486*a9fa9459Szrj     /* A8 */
487*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F38A8) },
488*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F38A9) },
489*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F38AA) },
490*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F38AB) },
491*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F38AC) },
492*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F38AD) },
493*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F38AE) },
494*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F38AF) },
495*a9fa9459Szrj     /* B0 */
496*a9fa9459Szrj     { Bad_Opcode },
497*a9fa9459Szrj     { Bad_Opcode },
498*a9fa9459Szrj     { Bad_Opcode },
499*a9fa9459Szrj     { Bad_Opcode },
500*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F38B4) },
501*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F38B5) },
502*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F38B6) },
503*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F38B7) },
504*a9fa9459Szrj     /* B8 */
505*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F38B8) },
506*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F38B9) },
507*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F38BA) },
508*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F38BB) },
509*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F38BC) },
510*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F38BD) },
511*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F38BE) },
512*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F38BF) },
513*a9fa9459Szrj     /* C0 */
514*a9fa9459Szrj     { Bad_Opcode },
515*a9fa9459Szrj     { Bad_Opcode },
516*a9fa9459Szrj     { Bad_Opcode },
517*a9fa9459Szrj     { Bad_Opcode },
518*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F38C4) },
519*a9fa9459Szrj     { Bad_Opcode },
520*a9fa9459Szrj     { REG_TABLE (REG_EVEX_0F38C6) },
521*a9fa9459Szrj     { REG_TABLE (REG_EVEX_0F38C7) },
522*a9fa9459Szrj     /* C8 */
523*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F38C8) },
524*a9fa9459Szrj     { Bad_Opcode },
525*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F38CA) },
526*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F38CB) },
527*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F38CC) },
528*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F38CD) },
529*a9fa9459Szrj     { Bad_Opcode },
530*a9fa9459Szrj     { Bad_Opcode },
531*a9fa9459Szrj     /* D0 */
532*a9fa9459Szrj     { Bad_Opcode },
533*a9fa9459Szrj     { Bad_Opcode },
534*a9fa9459Szrj     { Bad_Opcode },
535*a9fa9459Szrj     { Bad_Opcode },
536*a9fa9459Szrj     { Bad_Opcode },
537*a9fa9459Szrj     { Bad_Opcode },
538*a9fa9459Szrj     { Bad_Opcode },
539*a9fa9459Szrj     { Bad_Opcode },
540*a9fa9459Szrj     /* D8 */
541*a9fa9459Szrj     { Bad_Opcode },
542*a9fa9459Szrj     { Bad_Opcode },
543*a9fa9459Szrj     { Bad_Opcode },
544*a9fa9459Szrj     { Bad_Opcode },
545*a9fa9459Szrj     { Bad_Opcode },
546*a9fa9459Szrj     { Bad_Opcode },
547*a9fa9459Szrj     { Bad_Opcode },
548*a9fa9459Szrj     { Bad_Opcode },
549*a9fa9459Szrj     /* E0 */
550*a9fa9459Szrj     { Bad_Opcode },
551*a9fa9459Szrj     { Bad_Opcode },
552*a9fa9459Szrj     { Bad_Opcode },
553*a9fa9459Szrj     { Bad_Opcode },
554*a9fa9459Szrj     { Bad_Opcode },
555*a9fa9459Szrj     { Bad_Opcode },
556*a9fa9459Szrj     { Bad_Opcode },
557*a9fa9459Szrj     { Bad_Opcode },
558*a9fa9459Szrj     /* E8 */
559*a9fa9459Szrj     { Bad_Opcode },
560*a9fa9459Szrj     { Bad_Opcode },
561*a9fa9459Szrj     { Bad_Opcode },
562*a9fa9459Szrj     { Bad_Opcode },
563*a9fa9459Szrj     { Bad_Opcode },
564*a9fa9459Szrj     { Bad_Opcode },
565*a9fa9459Szrj     { Bad_Opcode },
566*a9fa9459Szrj     { Bad_Opcode },
567*a9fa9459Szrj     /* F0 */
568*a9fa9459Szrj     { Bad_Opcode },
569*a9fa9459Szrj     { Bad_Opcode },
570*a9fa9459Szrj     { Bad_Opcode },
571*a9fa9459Szrj     { Bad_Opcode },
572*a9fa9459Szrj     { Bad_Opcode },
573*a9fa9459Szrj     { Bad_Opcode },
574*a9fa9459Szrj     { Bad_Opcode },
575*a9fa9459Szrj     { Bad_Opcode },
576*a9fa9459Szrj     /* F8 */
577*a9fa9459Szrj     { Bad_Opcode },
578*a9fa9459Szrj     { Bad_Opcode },
579*a9fa9459Szrj     { Bad_Opcode },
580*a9fa9459Szrj     { Bad_Opcode },
581*a9fa9459Szrj     { Bad_Opcode },
582*a9fa9459Szrj     { Bad_Opcode },
583*a9fa9459Szrj     { Bad_Opcode },
584*a9fa9459Szrj     { Bad_Opcode },
585*a9fa9459Szrj   },
586*a9fa9459Szrj   /* EVEX_0F3A */
587*a9fa9459Szrj   {
588*a9fa9459Szrj     /* 00 */
589*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F3A00) },
590*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F3A01) },
591*a9fa9459Szrj     { Bad_Opcode },
592*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F3A03) },
593*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F3A04) },
594*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F3A05) },
595*a9fa9459Szrj     { Bad_Opcode },
596*a9fa9459Szrj     { Bad_Opcode },
597*a9fa9459Szrj     /* 08 */
598*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F3A08) },
599*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F3A09) },
600*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F3A0A) },
601*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F3A0B) },
602*a9fa9459Szrj     { Bad_Opcode },
603*a9fa9459Szrj     { Bad_Opcode },
604*a9fa9459Szrj     { Bad_Opcode },
605*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F3A0F) },
606*a9fa9459Szrj     /* 10 */
607*a9fa9459Szrj     { Bad_Opcode },
608*a9fa9459Szrj     { Bad_Opcode },
609*a9fa9459Szrj     { Bad_Opcode },
610*a9fa9459Szrj     { Bad_Opcode },
611*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F3A14) },
612*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F3A15) },
613*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F3A16) },
614*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F3A17) },
615*a9fa9459Szrj     /* 18 */
616*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F3A18) },
617*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F3A19) },
618*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F3A1A) },
619*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F3A1B) },
620*a9fa9459Szrj     { Bad_Opcode },
621*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F3A1D) },
622*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F3A1E) },
623*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F3A1F) },
624*a9fa9459Szrj     /* 20 */
625*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F3A20) },
626*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F3A21) },
627*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F3A22) },
628*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F3A23) },
629*a9fa9459Szrj     { Bad_Opcode },
630*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F3A25) },
631*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F3A26) },
632*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F3A27) },
633*a9fa9459Szrj     /* 28 */
634*a9fa9459Szrj     { Bad_Opcode },
635*a9fa9459Szrj     { Bad_Opcode },
636*a9fa9459Szrj     { Bad_Opcode },
637*a9fa9459Szrj     { Bad_Opcode },
638*a9fa9459Szrj     { Bad_Opcode },
639*a9fa9459Szrj     { Bad_Opcode },
640*a9fa9459Szrj     { Bad_Opcode },
641*a9fa9459Szrj     { Bad_Opcode },
642*a9fa9459Szrj     /* 30 */
643*a9fa9459Szrj     { Bad_Opcode },
644*a9fa9459Szrj     { Bad_Opcode },
645*a9fa9459Szrj     { Bad_Opcode },
646*a9fa9459Szrj     { Bad_Opcode },
647*a9fa9459Szrj     { Bad_Opcode },
648*a9fa9459Szrj     { Bad_Opcode },
649*a9fa9459Szrj     { Bad_Opcode },
650*a9fa9459Szrj     { Bad_Opcode },
651*a9fa9459Szrj     /* 38 */
652*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F3A38) },
653*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F3A39) },
654*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F3A3A) },
655*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F3A3B) },
656*a9fa9459Szrj     { Bad_Opcode },
657*a9fa9459Szrj     { Bad_Opcode },
658*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F3A3E) },
659*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F3A3F) },
660*a9fa9459Szrj     /* 40 */
661*a9fa9459Szrj     { Bad_Opcode },
662*a9fa9459Szrj     { Bad_Opcode },
663*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F3A42) },
664*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F3A43) },
665*a9fa9459Szrj     { Bad_Opcode },
666*a9fa9459Szrj     { Bad_Opcode },
667*a9fa9459Szrj     { Bad_Opcode },
668*a9fa9459Szrj     { Bad_Opcode },
669*a9fa9459Szrj     /* 48 */
670*a9fa9459Szrj     { Bad_Opcode },
671*a9fa9459Szrj     { Bad_Opcode },
672*a9fa9459Szrj     { Bad_Opcode },
673*a9fa9459Szrj     { Bad_Opcode },
674*a9fa9459Szrj     { Bad_Opcode },
675*a9fa9459Szrj     { Bad_Opcode },
676*a9fa9459Szrj     { Bad_Opcode },
677*a9fa9459Szrj     { Bad_Opcode },
678*a9fa9459Szrj     /* 50 */
679*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F3A50) },
680*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F3A51) },
681*a9fa9459Szrj     { Bad_Opcode },
682*a9fa9459Szrj     { Bad_Opcode },
683*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F3A54) },
684*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F3A55) },
685*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F3A56) },
686*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F3A57) },
687*a9fa9459Szrj     /* 58 */
688*a9fa9459Szrj     { Bad_Opcode },
689*a9fa9459Szrj     { Bad_Opcode },
690*a9fa9459Szrj     { Bad_Opcode },
691*a9fa9459Szrj     { Bad_Opcode },
692*a9fa9459Szrj     { Bad_Opcode },
693*a9fa9459Szrj     { Bad_Opcode },
694*a9fa9459Szrj     { Bad_Opcode },
695*a9fa9459Szrj     { Bad_Opcode },
696*a9fa9459Szrj     /* 60 */
697*a9fa9459Szrj     { Bad_Opcode },
698*a9fa9459Szrj     { Bad_Opcode },
699*a9fa9459Szrj     { Bad_Opcode },
700*a9fa9459Szrj     { Bad_Opcode },
701*a9fa9459Szrj     { Bad_Opcode },
702*a9fa9459Szrj     { Bad_Opcode },
703*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F3A66) },
704*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F3A67) },
705*a9fa9459Szrj     /* 68 */
706*a9fa9459Szrj     { Bad_Opcode },
707*a9fa9459Szrj     { Bad_Opcode },
708*a9fa9459Szrj     { Bad_Opcode },
709*a9fa9459Szrj     { Bad_Opcode },
710*a9fa9459Szrj     { Bad_Opcode },
711*a9fa9459Szrj     { Bad_Opcode },
712*a9fa9459Szrj     { Bad_Opcode },
713*a9fa9459Szrj     { Bad_Opcode },
714*a9fa9459Szrj     /* 70 */
715*a9fa9459Szrj     { Bad_Opcode },
716*a9fa9459Szrj     { Bad_Opcode },
717*a9fa9459Szrj     { Bad_Opcode },
718*a9fa9459Szrj     { Bad_Opcode },
719*a9fa9459Szrj     { Bad_Opcode },
720*a9fa9459Szrj     { Bad_Opcode },
721*a9fa9459Szrj     { Bad_Opcode },
722*a9fa9459Szrj     { Bad_Opcode },
723*a9fa9459Szrj     /* 78 */
724*a9fa9459Szrj     { Bad_Opcode },
725*a9fa9459Szrj     { Bad_Opcode },
726*a9fa9459Szrj     { Bad_Opcode },
727*a9fa9459Szrj     { Bad_Opcode },
728*a9fa9459Szrj     { Bad_Opcode },
729*a9fa9459Szrj     { Bad_Opcode },
730*a9fa9459Szrj     { Bad_Opcode },
731*a9fa9459Szrj     { Bad_Opcode },
732*a9fa9459Szrj     /* 80 */
733*a9fa9459Szrj     { Bad_Opcode },
734*a9fa9459Szrj     { Bad_Opcode },
735*a9fa9459Szrj     { Bad_Opcode },
736*a9fa9459Szrj     { Bad_Opcode },
737*a9fa9459Szrj     { Bad_Opcode },
738*a9fa9459Szrj     { Bad_Opcode },
739*a9fa9459Szrj     { Bad_Opcode },
740*a9fa9459Szrj     { Bad_Opcode },
741*a9fa9459Szrj     /* 88 */
742*a9fa9459Szrj     { Bad_Opcode },
743*a9fa9459Szrj     { Bad_Opcode },
744*a9fa9459Szrj     { Bad_Opcode },
745*a9fa9459Szrj     { Bad_Opcode },
746*a9fa9459Szrj     { Bad_Opcode },
747*a9fa9459Szrj     { Bad_Opcode },
748*a9fa9459Szrj     { Bad_Opcode },
749*a9fa9459Szrj     { Bad_Opcode },
750*a9fa9459Szrj     /* 90 */
751*a9fa9459Szrj     { Bad_Opcode },
752*a9fa9459Szrj     { Bad_Opcode },
753*a9fa9459Szrj     { Bad_Opcode },
754*a9fa9459Szrj     { Bad_Opcode },
755*a9fa9459Szrj     { Bad_Opcode },
756*a9fa9459Szrj     { Bad_Opcode },
757*a9fa9459Szrj     { Bad_Opcode },
758*a9fa9459Szrj     { Bad_Opcode },
759*a9fa9459Szrj     /* 98 */
760*a9fa9459Szrj     { Bad_Opcode },
761*a9fa9459Szrj     { Bad_Opcode },
762*a9fa9459Szrj     { Bad_Opcode },
763*a9fa9459Szrj     { Bad_Opcode },
764*a9fa9459Szrj     { Bad_Opcode },
765*a9fa9459Szrj     { Bad_Opcode },
766*a9fa9459Szrj     { Bad_Opcode },
767*a9fa9459Szrj     { Bad_Opcode },
768*a9fa9459Szrj     /* A0 */
769*a9fa9459Szrj     { Bad_Opcode },
770*a9fa9459Szrj     { Bad_Opcode },
771*a9fa9459Szrj     { Bad_Opcode },
772*a9fa9459Szrj     { Bad_Opcode },
773*a9fa9459Szrj     { Bad_Opcode },
774*a9fa9459Szrj     { Bad_Opcode },
775*a9fa9459Szrj     { Bad_Opcode },
776*a9fa9459Szrj     { Bad_Opcode },
777*a9fa9459Szrj     /* A8 */
778*a9fa9459Szrj     { Bad_Opcode },
779*a9fa9459Szrj     { Bad_Opcode },
780*a9fa9459Szrj     { Bad_Opcode },
781*a9fa9459Szrj     { Bad_Opcode },
782*a9fa9459Szrj     { Bad_Opcode },
783*a9fa9459Szrj     { Bad_Opcode },
784*a9fa9459Szrj     { Bad_Opcode },
785*a9fa9459Szrj     { Bad_Opcode },
786*a9fa9459Szrj     /* B0 */
787*a9fa9459Szrj     { Bad_Opcode },
788*a9fa9459Szrj     { Bad_Opcode },
789*a9fa9459Szrj     { Bad_Opcode },
790*a9fa9459Szrj     { Bad_Opcode },
791*a9fa9459Szrj     { Bad_Opcode },
792*a9fa9459Szrj     { Bad_Opcode },
793*a9fa9459Szrj     { Bad_Opcode },
794*a9fa9459Szrj     { Bad_Opcode },
795*a9fa9459Szrj     /* B8 */
796*a9fa9459Szrj     { Bad_Opcode },
797*a9fa9459Szrj     { Bad_Opcode },
798*a9fa9459Szrj     { Bad_Opcode },
799*a9fa9459Szrj     { Bad_Opcode },
800*a9fa9459Szrj     { Bad_Opcode },
801*a9fa9459Szrj     { Bad_Opcode },
802*a9fa9459Szrj     { Bad_Opcode },
803*a9fa9459Szrj     { Bad_Opcode },
804*a9fa9459Szrj     /* C0 */
805*a9fa9459Szrj     { Bad_Opcode },
806*a9fa9459Szrj     { Bad_Opcode },
807*a9fa9459Szrj     { Bad_Opcode },
808*a9fa9459Szrj     { Bad_Opcode },
809*a9fa9459Szrj     { Bad_Opcode },
810*a9fa9459Szrj     { Bad_Opcode },
811*a9fa9459Szrj     { Bad_Opcode },
812*a9fa9459Szrj     { Bad_Opcode },
813*a9fa9459Szrj     /* C8 */
814*a9fa9459Szrj     { Bad_Opcode },
815*a9fa9459Szrj     { Bad_Opcode },
816*a9fa9459Szrj     { Bad_Opcode },
817*a9fa9459Szrj     { Bad_Opcode },
818*a9fa9459Szrj     { Bad_Opcode },
819*a9fa9459Szrj     { Bad_Opcode },
820*a9fa9459Szrj     { Bad_Opcode },
821*a9fa9459Szrj     { Bad_Opcode },
822*a9fa9459Szrj     /* D0 */
823*a9fa9459Szrj     { Bad_Opcode },
824*a9fa9459Szrj     { Bad_Opcode },
825*a9fa9459Szrj     { Bad_Opcode },
826*a9fa9459Szrj     { Bad_Opcode },
827*a9fa9459Szrj     { Bad_Opcode },
828*a9fa9459Szrj     { Bad_Opcode },
829*a9fa9459Szrj     { Bad_Opcode },
830*a9fa9459Szrj     { Bad_Opcode },
831*a9fa9459Szrj     /* D8 */
832*a9fa9459Szrj     { Bad_Opcode },
833*a9fa9459Szrj     { Bad_Opcode },
834*a9fa9459Szrj     { Bad_Opcode },
835*a9fa9459Szrj     { Bad_Opcode },
836*a9fa9459Szrj     { Bad_Opcode },
837*a9fa9459Szrj     { Bad_Opcode },
838*a9fa9459Szrj     { Bad_Opcode },
839*a9fa9459Szrj     { Bad_Opcode },
840*a9fa9459Szrj     /* E0 */
841*a9fa9459Szrj     { Bad_Opcode },
842*a9fa9459Szrj     { Bad_Opcode },
843*a9fa9459Szrj     { Bad_Opcode },
844*a9fa9459Szrj     { Bad_Opcode },
845*a9fa9459Szrj     { Bad_Opcode },
846*a9fa9459Szrj     { Bad_Opcode },
847*a9fa9459Szrj     { Bad_Opcode },
848*a9fa9459Szrj     { Bad_Opcode },
849*a9fa9459Szrj     /* E8 */
850*a9fa9459Szrj     { Bad_Opcode },
851*a9fa9459Szrj     { Bad_Opcode },
852*a9fa9459Szrj     { Bad_Opcode },
853*a9fa9459Szrj     { Bad_Opcode },
854*a9fa9459Szrj     { Bad_Opcode },
855*a9fa9459Szrj     { Bad_Opcode },
856*a9fa9459Szrj     { Bad_Opcode },
857*a9fa9459Szrj     { Bad_Opcode },
858*a9fa9459Szrj     /* F0 */
859*a9fa9459Szrj     { Bad_Opcode },
860*a9fa9459Szrj     { Bad_Opcode },
861*a9fa9459Szrj     { Bad_Opcode },
862*a9fa9459Szrj     { Bad_Opcode },
863*a9fa9459Szrj     { Bad_Opcode },
864*a9fa9459Szrj     { Bad_Opcode },
865*a9fa9459Szrj     { Bad_Opcode },
866*a9fa9459Szrj     { Bad_Opcode },
867*a9fa9459Szrj     /* F8 */
868*a9fa9459Szrj     { Bad_Opcode },
869*a9fa9459Szrj     { Bad_Opcode },
870*a9fa9459Szrj     { Bad_Opcode },
871*a9fa9459Szrj     { Bad_Opcode },
872*a9fa9459Szrj     { Bad_Opcode },
873*a9fa9459Szrj     { Bad_Opcode },
874*a9fa9459Szrj     { Bad_Opcode },
875*a9fa9459Szrj     { Bad_Opcode },
876*a9fa9459Szrj   },
877*a9fa9459Szrj };
878*a9fa9459Szrj #endif /* NEED_OPCODE_TABLE */
879*a9fa9459Szrj 
880*a9fa9459Szrj #ifdef NEED_REG_TABLE
881*a9fa9459Szrj   /* REG_EVEX_0F71 */
882*a9fa9459Szrj   {
883*a9fa9459Szrj     { Bad_Opcode },
884*a9fa9459Szrj     { Bad_Opcode },
885*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F71_REG_2) },
886*a9fa9459Szrj     { Bad_Opcode },
887*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F71_REG_4) },
888*a9fa9459Szrj     { Bad_Opcode },
889*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F71_REG_6) },
890*a9fa9459Szrj   },
891*a9fa9459Szrj   /* REG_EVEX_0F72 */
892*a9fa9459Szrj   {
893*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F72_REG_0) },
894*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F72_REG_1) },
895*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F72_REG_2) },
896*a9fa9459Szrj     { Bad_Opcode },
897*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F72_REG_4) },
898*a9fa9459Szrj     { Bad_Opcode },
899*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F72_REG_6) },
900*a9fa9459Szrj   },
901*a9fa9459Szrj   /* REG_EVEX_0F73 */
902*a9fa9459Szrj   {
903*a9fa9459Szrj     { Bad_Opcode },
904*a9fa9459Szrj     { Bad_Opcode },
905*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F73_REG_2) },
906*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F73_REG_3) },
907*a9fa9459Szrj     { Bad_Opcode },
908*a9fa9459Szrj     { Bad_Opcode },
909*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F73_REG_6) },
910*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F73_REG_7) },
911*a9fa9459Szrj   },
912*a9fa9459Szrj   /* REG_EVEX_0F38C6 */
913*a9fa9459Szrj   {
914*a9fa9459Szrj     { Bad_Opcode },
915*a9fa9459Szrj     { MOD_TABLE (MOD_EVEX_0F38C6_REG_1) },
916*a9fa9459Szrj     { MOD_TABLE (MOD_EVEX_0F38C6_REG_2) },
917*a9fa9459Szrj     { Bad_Opcode },
918*a9fa9459Szrj     { Bad_Opcode },
919*a9fa9459Szrj     { MOD_TABLE (MOD_EVEX_0F38C6_REG_5) },
920*a9fa9459Szrj     { MOD_TABLE (MOD_EVEX_0F38C6_REG_6) },
921*a9fa9459Szrj   },
922*a9fa9459Szrj   /* REG_EVEX_0F38C7 */
923*a9fa9459Szrj   {
924*a9fa9459Szrj     { Bad_Opcode },
925*a9fa9459Szrj     { MOD_TABLE (MOD_EVEX_0F38C7_REG_1) },
926*a9fa9459Szrj     { MOD_TABLE (MOD_EVEX_0F38C7_REG_2) },
927*a9fa9459Szrj     { Bad_Opcode },
928*a9fa9459Szrj     { Bad_Opcode },
929*a9fa9459Szrj     { MOD_TABLE (MOD_EVEX_0F38C7_REG_5) },
930*a9fa9459Szrj     { MOD_TABLE (MOD_EVEX_0F38C7_REG_6) },
931*a9fa9459Szrj   },
932*a9fa9459Szrj #endif /* NEED_REG_TABLE */
933*a9fa9459Szrj 
934*a9fa9459Szrj #ifdef NEED_PREFIX_TABLE
935*a9fa9459Szrj   /* PREFIX_EVEX_0F10 */
936*a9fa9459Szrj   {
937*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0F10_P_0) },
938*a9fa9459Szrj     { MOD_TABLE (MOD_EVEX_0F10_PREFIX_1) },
939*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0F10_P_2) },
940*a9fa9459Szrj     { MOD_TABLE (MOD_EVEX_0F10_PREFIX_3) },
941*a9fa9459Szrj   },
942*a9fa9459Szrj   /* PREFIX_EVEX_0F11 */
943*a9fa9459Szrj   {
944*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0F11_P_0) },
945*a9fa9459Szrj     { MOD_TABLE (MOD_EVEX_0F11_PREFIX_1) },
946*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0F11_P_2) },
947*a9fa9459Szrj     { MOD_TABLE (MOD_EVEX_0F11_PREFIX_3) },
948*a9fa9459Szrj   },
949*a9fa9459Szrj   /* PREFIX_EVEX_0F12 */
950*a9fa9459Szrj   {
951*a9fa9459Szrj     { MOD_TABLE (MOD_EVEX_0F12_PREFIX_0) },
952*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0F12_P_1) },
953*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0F12_P_2) },
954*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0F12_P_3) },
955*a9fa9459Szrj   },
956*a9fa9459Szrj   /* PREFIX_EVEX_0F13 */
957*a9fa9459Szrj   {
958*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0F13_P_0) },
959*a9fa9459Szrj     { Bad_Opcode },
960*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0F13_P_2) },
961*a9fa9459Szrj   },
962*a9fa9459Szrj   /* PREFIX_EVEX_0F14 */
963*a9fa9459Szrj   {
964*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0F14_P_0) },
965*a9fa9459Szrj     { Bad_Opcode },
966*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0F14_P_2) },
967*a9fa9459Szrj   },
968*a9fa9459Szrj   /* PREFIX_EVEX_0F15 */
969*a9fa9459Szrj   {
970*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0F15_P_0) },
971*a9fa9459Szrj     { Bad_Opcode },
972*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0F15_P_2) },
973*a9fa9459Szrj   },
974*a9fa9459Szrj   /* PREFIX_EVEX_0F16 */
975*a9fa9459Szrj   {
976*a9fa9459Szrj     { MOD_TABLE (MOD_EVEX_0F16_PREFIX_0) },
977*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0F16_P_1) },
978*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0F16_P_2) },
979*a9fa9459Szrj   },
980*a9fa9459Szrj   /* PREFIX_EVEX_0F17 */
981*a9fa9459Szrj   {
982*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0F17_P_0) },
983*a9fa9459Szrj     { Bad_Opcode },
984*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0F17_P_2) },
985*a9fa9459Szrj   },
986*a9fa9459Szrj   /* PREFIX_EVEX_0F28 */
987*a9fa9459Szrj   {
988*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0F28_P_0) },
989*a9fa9459Szrj     { Bad_Opcode },
990*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0F28_P_2) },
991*a9fa9459Szrj   },
992*a9fa9459Szrj   /* PREFIX_EVEX_0F29 */
993*a9fa9459Szrj   {
994*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0F29_P_0) },
995*a9fa9459Szrj     { Bad_Opcode },
996*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0F29_P_2) },
997*a9fa9459Szrj   },
998*a9fa9459Szrj   /* PREFIX_EVEX_0F2A */
999*a9fa9459Szrj   {
1000*a9fa9459Szrj     { Bad_Opcode },
1001*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0F2A_P_1) },
1002*a9fa9459Szrj     { Bad_Opcode },
1003*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0F2A_P_3) },
1004*a9fa9459Szrj   },
1005*a9fa9459Szrj   /* PREFIX_EVEX_0F2B */
1006*a9fa9459Szrj   {
1007*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0F2B_P_0) },
1008*a9fa9459Szrj     { Bad_Opcode },
1009*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0F2B_P_2) },
1010*a9fa9459Szrj   },
1011*a9fa9459Szrj   /* PREFIX_EVEX_0F2C */
1012*a9fa9459Szrj   {
1013*a9fa9459Szrj     { Bad_Opcode },
1014*a9fa9459Szrj     { "vcvttss2si",	{ Gdq, EXxmm_md, EXxEVexS }, 0 },
1015*a9fa9459Szrj     { Bad_Opcode },
1016*a9fa9459Szrj     { "vcvttsd2si",	{ Gdq, EXxmm_mq, EXxEVexS }, 0 },
1017*a9fa9459Szrj   },
1018*a9fa9459Szrj   /* PREFIX_EVEX_0F2D */
1019*a9fa9459Szrj   {
1020*a9fa9459Szrj     { Bad_Opcode },
1021*a9fa9459Szrj     { "vcvtss2si",	{ Gdq, EXxmm_md, EXxEVexR }, 0 },
1022*a9fa9459Szrj     { Bad_Opcode },
1023*a9fa9459Szrj     { "vcvtsd2si",	{ Gdq, EXxmm_mq, EXxEVexR }, 0 },
1024*a9fa9459Szrj   },
1025*a9fa9459Szrj   /* PREFIX_EVEX_0F2E */
1026*a9fa9459Szrj   {
1027*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0F2E_P_0) },
1028*a9fa9459Szrj     { Bad_Opcode },
1029*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0F2E_P_2) },
1030*a9fa9459Szrj   },
1031*a9fa9459Szrj   /* PREFIX_EVEX_0F2F */
1032*a9fa9459Szrj   {
1033*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0F2F_P_0) },
1034*a9fa9459Szrj     { Bad_Opcode },
1035*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0F2F_P_2) },
1036*a9fa9459Szrj   },
1037*a9fa9459Szrj   /* PREFIX_EVEX_0F51 */
1038*a9fa9459Szrj   {
1039*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0F51_P_0) },
1040*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0F51_P_1) },
1041*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0F51_P_2) },
1042*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0F51_P_3) },
1043*a9fa9459Szrj   },
1044*a9fa9459Szrj   /* PREFIX_EVEX_0F54 */
1045*a9fa9459Szrj   {
1046*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0F54_P_0) },
1047*a9fa9459Szrj     { Bad_Opcode },
1048*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0F54_P_2) },
1049*a9fa9459Szrj   },
1050*a9fa9459Szrj   /* PREFIX_EVEX_0F55 */
1051*a9fa9459Szrj   {
1052*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0F55_P_0) },
1053*a9fa9459Szrj     { Bad_Opcode },
1054*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0F55_P_2) },
1055*a9fa9459Szrj   },
1056*a9fa9459Szrj   /* PREFIX_EVEX_0F56 */
1057*a9fa9459Szrj   {
1058*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0F56_P_0) },
1059*a9fa9459Szrj     { Bad_Opcode },
1060*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0F56_P_2) },
1061*a9fa9459Szrj   },
1062*a9fa9459Szrj   /* PREFIX_EVEX_0F57 */
1063*a9fa9459Szrj   {
1064*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0F57_P_0) },
1065*a9fa9459Szrj     { Bad_Opcode },
1066*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0F57_P_2) },
1067*a9fa9459Szrj   },
1068*a9fa9459Szrj   /* PREFIX_EVEX_0F58 */
1069*a9fa9459Szrj   {
1070*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0F58_P_0) },
1071*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0F58_P_1) },
1072*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0F58_P_2) },
1073*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0F58_P_3) },
1074*a9fa9459Szrj   },
1075*a9fa9459Szrj   /* PREFIX_EVEX_0F59 */
1076*a9fa9459Szrj   {
1077*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0F59_P_0) },
1078*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0F59_P_1) },
1079*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0F59_P_2) },
1080*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0F59_P_3) },
1081*a9fa9459Szrj   },
1082*a9fa9459Szrj   /* PREFIX_EVEX_0F5A */
1083*a9fa9459Szrj   {
1084*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0F5A_P_0) },
1085*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0F5A_P_1) },
1086*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0F5A_P_2) },
1087*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0F5A_P_3) },
1088*a9fa9459Szrj   },
1089*a9fa9459Szrj   /* PREFIX_EVEX_0F5B */
1090*a9fa9459Szrj   {
1091*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0F5B_P_0) },
1092*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0F5B_P_1) },
1093*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0F5B_P_2) },
1094*a9fa9459Szrj   },
1095*a9fa9459Szrj   /* PREFIX_EVEX_0F5C */
1096*a9fa9459Szrj   {
1097*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0F5C_P_0) },
1098*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0F5C_P_1) },
1099*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0F5C_P_2) },
1100*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0F5C_P_3) },
1101*a9fa9459Szrj   },
1102*a9fa9459Szrj   /* PREFIX_EVEX_0F5D */
1103*a9fa9459Szrj   {
1104*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0F5D_P_0) },
1105*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0F5D_P_1) },
1106*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0F5D_P_2) },
1107*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0F5D_P_3) },
1108*a9fa9459Szrj   },
1109*a9fa9459Szrj   /* PREFIX_EVEX_0F5E */
1110*a9fa9459Szrj   {
1111*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0F5E_P_0) },
1112*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0F5E_P_1) },
1113*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0F5E_P_2) },
1114*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0F5E_P_3) },
1115*a9fa9459Szrj   },
1116*a9fa9459Szrj   /* PREFIX_EVEX_0F5F */
1117*a9fa9459Szrj   {
1118*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0F5F_P_0) },
1119*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0F5F_P_1) },
1120*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0F5F_P_2) },
1121*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0F5F_P_3) },
1122*a9fa9459Szrj   },
1123*a9fa9459Szrj   /* PREFIX_EVEX_0F60 */
1124*a9fa9459Szrj   {
1125*a9fa9459Szrj     { Bad_Opcode },
1126*a9fa9459Szrj     { Bad_Opcode },
1127*a9fa9459Szrj     { "vpunpcklbw",	{ XM, Vex, EXx }, 0 },
1128*a9fa9459Szrj   },
1129*a9fa9459Szrj   /* PREFIX_EVEX_0F61 */
1130*a9fa9459Szrj   {
1131*a9fa9459Szrj     { Bad_Opcode },
1132*a9fa9459Szrj     { Bad_Opcode },
1133*a9fa9459Szrj     { "vpunpcklwd",	{ XM, Vex, EXx }, 0 },
1134*a9fa9459Szrj   },
1135*a9fa9459Szrj   /* PREFIX_EVEX_0F62 */
1136*a9fa9459Szrj   {
1137*a9fa9459Szrj     { Bad_Opcode },
1138*a9fa9459Szrj     { Bad_Opcode },
1139*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0F62_P_2) },
1140*a9fa9459Szrj   },
1141*a9fa9459Szrj   /* PREFIX_EVEX_0F63 */
1142*a9fa9459Szrj   {
1143*a9fa9459Szrj     { Bad_Opcode },
1144*a9fa9459Szrj     { Bad_Opcode },
1145*a9fa9459Szrj     { "vpacksswb",	{ XM, Vex, EXx }, 0 },
1146*a9fa9459Szrj   },
1147*a9fa9459Szrj   /* PREFIX_EVEX_0F64 */
1148*a9fa9459Szrj   {
1149*a9fa9459Szrj     { Bad_Opcode },
1150*a9fa9459Szrj     { Bad_Opcode },
1151*a9fa9459Szrj     { "vpcmpgtb",	{ XMask, Vex, EXx }, 0 },
1152*a9fa9459Szrj   },
1153*a9fa9459Szrj   /* PREFIX_EVEX_0F65 */
1154*a9fa9459Szrj   {
1155*a9fa9459Szrj     { Bad_Opcode },
1156*a9fa9459Szrj     { Bad_Opcode },
1157*a9fa9459Szrj     { "vpcmpgtw",	{ XMask, Vex, EXx }, 0 },
1158*a9fa9459Szrj   },
1159*a9fa9459Szrj   /* PREFIX_EVEX_0F66 */
1160*a9fa9459Szrj   {
1161*a9fa9459Szrj     { Bad_Opcode },
1162*a9fa9459Szrj     { Bad_Opcode },
1163*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0F66_P_2) },
1164*a9fa9459Szrj   },
1165*a9fa9459Szrj   /* PREFIX_EVEX_0F67 */
1166*a9fa9459Szrj   {
1167*a9fa9459Szrj     { Bad_Opcode },
1168*a9fa9459Szrj     { Bad_Opcode },
1169*a9fa9459Szrj     { "vpackuswb",	{ XM, Vex, EXx }, 0 },
1170*a9fa9459Szrj   },
1171*a9fa9459Szrj   /* PREFIX_EVEX_0F68 */
1172*a9fa9459Szrj   {
1173*a9fa9459Szrj     { Bad_Opcode },
1174*a9fa9459Szrj     { Bad_Opcode },
1175*a9fa9459Szrj     { "vpunpckhbw",	{ XM, Vex, EXx }, 0 },
1176*a9fa9459Szrj   },
1177*a9fa9459Szrj   /* PREFIX_EVEX_0F69 */
1178*a9fa9459Szrj   {
1179*a9fa9459Szrj     { Bad_Opcode },
1180*a9fa9459Szrj     { Bad_Opcode },
1181*a9fa9459Szrj     { "vpunpckhwd",	{ XM, Vex, EXx }, 0 },
1182*a9fa9459Szrj   },
1183*a9fa9459Szrj   /* PREFIX_EVEX_0F6A */
1184*a9fa9459Szrj   {
1185*a9fa9459Szrj     { Bad_Opcode },
1186*a9fa9459Szrj     { Bad_Opcode },
1187*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0F6A_P_2) },
1188*a9fa9459Szrj   },
1189*a9fa9459Szrj   /* PREFIX_EVEX_0F6B */
1190*a9fa9459Szrj   {
1191*a9fa9459Szrj     { Bad_Opcode },
1192*a9fa9459Szrj     { Bad_Opcode },
1193*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0F6B_P_2) },
1194*a9fa9459Szrj   },
1195*a9fa9459Szrj   /* PREFIX_EVEX_0F6C */
1196*a9fa9459Szrj   {
1197*a9fa9459Szrj     { Bad_Opcode },
1198*a9fa9459Szrj     { Bad_Opcode },
1199*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0F6C_P_2) },
1200*a9fa9459Szrj   },
1201*a9fa9459Szrj   /* PREFIX_EVEX_0F6D */
1202*a9fa9459Szrj   {
1203*a9fa9459Szrj     { Bad_Opcode },
1204*a9fa9459Szrj     { Bad_Opcode },
1205*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0F6D_P_2) },
1206*a9fa9459Szrj   },
1207*a9fa9459Szrj   /* PREFIX_EVEX_0F6E */
1208*a9fa9459Szrj   {
1209*a9fa9459Szrj     { Bad_Opcode },
1210*a9fa9459Szrj     { Bad_Opcode },
1211*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0F6E_P_2) },
1212*a9fa9459Szrj   },
1213*a9fa9459Szrj   /* PREFIX_EVEX_0F6F */
1214*a9fa9459Szrj   {
1215*a9fa9459Szrj     { Bad_Opcode },
1216*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0F6F_P_1) },
1217*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0F6F_P_2) },
1218*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0F6F_P_3) },
1219*a9fa9459Szrj   },
1220*a9fa9459Szrj   /* PREFIX_EVEX_0F70 */
1221*a9fa9459Szrj   {
1222*a9fa9459Szrj     { Bad_Opcode },
1223*a9fa9459Szrj     { "vpshufhw",	{ XM, EXx, Ib }, 0 },
1224*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0F70_P_2) },
1225*a9fa9459Szrj     { "vpshuflw",	{ XM, EXx, Ib }, 0 },
1226*a9fa9459Szrj   },
1227*a9fa9459Szrj   /* PREFIX_EVEX_0F71_REG_2 */
1228*a9fa9459Szrj   {
1229*a9fa9459Szrj     { Bad_Opcode },
1230*a9fa9459Szrj     { Bad_Opcode },
1231*a9fa9459Szrj     { "vpsrlw",	{ Vex, EXx, Ib }, 0 },
1232*a9fa9459Szrj   },
1233*a9fa9459Szrj   /* PREFIX_EVEX_0F71_REG_4 */
1234*a9fa9459Szrj   {
1235*a9fa9459Szrj     { Bad_Opcode },
1236*a9fa9459Szrj     { Bad_Opcode },
1237*a9fa9459Szrj     { "vpsraw",	{ Vex, EXx, Ib }, 0 },
1238*a9fa9459Szrj   },
1239*a9fa9459Szrj   /* PREFIX_EVEX_0F71_REG_6 */
1240*a9fa9459Szrj   {
1241*a9fa9459Szrj     { Bad_Opcode },
1242*a9fa9459Szrj     { Bad_Opcode },
1243*a9fa9459Szrj     { "vpsllw",	{ Vex, EXx, Ib }, 0 },
1244*a9fa9459Szrj   },
1245*a9fa9459Szrj   /* PREFIX_EVEX_0F72_REG_0 */
1246*a9fa9459Szrj   {
1247*a9fa9459Szrj     { Bad_Opcode },
1248*a9fa9459Szrj     { Bad_Opcode },
1249*a9fa9459Szrj     { "vpror%LW",	{ Vex, EXx, Ib }, 0 },
1250*a9fa9459Szrj   },
1251*a9fa9459Szrj   /* PREFIX_EVEX_0F72_REG_1 */
1252*a9fa9459Szrj   {
1253*a9fa9459Szrj     { Bad_Opcode },
1254*a9fa9459Szrj     { Bad_Opcode },
1255*a9fa9459Szrj     { "vprol%LW",	{ Vex, EXx, Ib }, 0 },
1256*a9fa9459Szrj   },
1257*a9fa9459Szrj   /* PREFIX_EVEX_0F72_REG_2 */
1258*a9fa9459Szrj   {
1259*a9fa9459Szrj     { Bad_Opcode },
1260*a9fa9459Szrj     { Bad_Opcode },
1261*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0F72_R_2_P_2) },
1262*a9fa9459Szrj   },
1263*a9fa9459Szrj   /* PREFIX_EVEX_0F72_REG_4 */
1264*a9fa9459Szrj   {
1265*a9fa9459Szrj     { Bad_Opcode },
1266*a9fa9459Szrj     { Bad_Opcode },
1267*a9fa9459Szrj     { "vpsra%LW",	{ Vex, EXx, Ib }, 0 },
1268*a9fa9459Szrj   },
1269*a9fa9459Szrj   /* PREFIX_EVEX_0F72_REG_6 */
1270*a9fa9459Szrj   {
1271*a9fa9459Szrj     { Bad_Opcode },
1272*a9fa9459Szrj     { Bad_Opcode },
1273*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0F72_R_6_P_2) },
1274*a9fa9459Szrj   },
1275*a9fa9459Szrj   /* PREFIX_EVEX_0F73_REG_2 */
1276*a9fa9459Szrj   {
1277*a9fa9459Szrj     { Bad_Opcode },
1278*a9fa9459Szrj     { Bad_Opcode },
1279*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0F73_R_2_P_2) },
1280*a9fa9459Szrj   },
1281*a9fa9459Szrj   /* PREFIX_EVEX_0F73_REG_3 */
1282*a9fa9459Szrj   {
1283*a9fa9459Szrj     { Bad_Opcode },
1284*a9fa9459Szrj     { Bad_Opcode },
1285*a9fa9459Szrj     { "vpsrldq",	{ Vex, EXx, Ib }, 0 },
1286*a9fa9459Szrj   },
1287*a9fa9459Szrj   /* PREFIX_EVEX_0F73_REG_6 */
1288*a9fa9459Szrj   {
1289*a9fa9459Szrj     { Bad_Opcode },
1290*a9fa9459Szrj     { Bad_Opcode },
1291*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0F73_R_6_P_2) },
1292*a9fa9459Szrj   },
1293*a9fa9459Szrj   /* PREFIX_EVEX_0F73_REG_7 */
1294*a9fa9459Szrj   {
1295*a9fa9459Szrj     { Bad_Opcode },
1296*a9fa9459Szrj     { Bad_Opcode },
1297*a9fa9459Szrj     { "vpslldq",	{ Vex, EXx, Ib }, 0 },
1298*a9fa9459Szrj   },
1299*a9fa9459Szrj   /* PREFIX_EVEX_0F74 */
1300*a9fa9459Szrj   {
1301*a9fa9459Szrj     { Bad_Opcode },
1302*a9fa9459Szrj     { Bad_Opcode },
1303*a9fa9459Szrj     { "vpcmpeqb",	{ XMask, Vex, EXx }, 0 },
1304*a9fa9459Szrj   },
1305*a9fa9459Szrj   /* PREFIX_EVEX_0F75 */
1306*a9fa9459Szrj   {
1307*a9fa9459Szrj     { Bad_Opcode },
1308*a9fa9459Szrj     { Bad_Opcode },
1309*a9fa9459Szrj     { "vpcmpeqw",	{ XMask, Vex, EXx }, 0 },
1310*a9fa9459Szrj   },
1311*a9fa9459Szrj   /* PREFIX_EVEX_0F76 */
1312*a9fa9459Szrj   {
1313*a9fa9459Szrj     { Bad_Opcode },
1314*a9fa9459Szrj     { Bad_Opcode },
1315*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0F76_P_2) },
1316*a9fa9459Szrj   },
1317*a9fa9459Szrj   /* PREFIX_EVEX_0F78 */
1318*a9fa9459Szrj   {
1319*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0F78_P_0) },
1320*a9fa9459Szrj     { "vcvttss2usi",	{ Gdq, EXxmm_md, EXxEVexS }, 0 },
1321*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0F78_P_2) },
1322*a9fa9459Szrj     { "vcvttsd2usi",	{ Gdq, EXxmm_mq, EXxEVexS }, 0 },
1323*a9fa9459Szrj   },
1324*a9fa9459Szrj   /* PREFIX_EVEX_0F79 */
1325*a9fa9459Szrj   {
1326*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0F79_P_0) },
1327*a9fa9459Szrj     { "vcvtss2usi",	{ Gdq, EXxmm_md, EXxEVexR }, 0 },
1328*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0F79_P_2) },
1329*a9fa9459Szrj     { "vcvtsd2usi",	{ Gdq, EXxmm_mq, EXxEVexR }, 0 },
1330*a9fa9459Szrj   },
1331*a9fa9459Szrj   /* PREFIX_EVEX_0F7A */
1332*a9fa9459Szrj   {
1333*a9fa9459Szrj     { Bad_Opcode },
1334*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0F7A_P_1) },
1335*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0F7A_P_2) },
1336*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0F7A_P_3) },
1337*a9fa9459Szrj   },
1338*a9fa9459Szrj   /* PREFIX_EVEX_0F7B */
1339*a9fa9459Szrj   {
1340*a9fa9459Szrj     { Bad_Opcode },
1341*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0F7B_P_1) },
1342*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0F7B_P_2) },
1343*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0F7B_P_3) },
1344*a9fa9459Szrj   },
1345*a9fa9459Szrj   /* PREFIX_EVEX_0F7E */
1346*a9fa9459Szrj   {
1347*a9fa9459Szrj     { Bad_Opcode },
1348*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0F7E_P_1) },
1349*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0F7E_P_2) },
1350*a9fa9459Szrj   },
1351*a9fa9459Szrj   /* PREFIX_EVEX_0F7F */
1352*a9fa9459Szrj   {
1353*a9fa9459Szrj     { Bad_Opcode },
1354*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0F7F_P_1) },
1355*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0F7F_P_2) },
1356*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0F7F_P_3) },
1357*a9fa9459Szrj   },
1358*a9fa9459Szrj   /* PREFIX_EVEX_0FC2 */
1359*a9fa9459Szrj   {
1360*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0FC2_P_0) },
1361*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0FC2_P_1) },
1362*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0FC2_P_2) },
1363*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0FC2_P_3) },
1364*a9fa9459Szrj   },
1365*a9fa9459Szrj   /* PREFIX_EVEX_0FC4 */
1366*a9fa9459Szrj   {
1367*a9fa9459Szrj     { Bad_Opcode },
1368*a9fa9459Szrj     { Bad_Opcode },
1369*a9fa9459Szrj     { "vpinsrw",	{ XM, Vex128, Edw, Ib }, 0 },
1370*a9fa9459Szrj   },
1371*a9fa9459Szrj   /* PREFIX_EVEX_0FC5 */
1372*a9fa9459Szrj   {
1373*a9fa9459Szrj     { Bad_Opcode },
1374*a9fa9459Szrj     { Bad_Opcode },
1375*a9fa9459Szrj     { "vpextrw",	{ Gdq, XS, Ib }, 0 },
1376*a9fa9459Szrj   },
1377*a9fa9459Szrj   /* PREFIX_EVEX_0FC6 */
1378*a9fa9459Szrj   {
1379*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0FC6_P_0) },
1380*a9fa9459Szrj     { Bad_Opcode },
1381*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0FC6_P_2) },
1382*a9fa9459Szrj   },
1383*a9fa9459Szrj   /* PREFIX_EVEX_0FD1 */
1384*a9fa9459Szrj   {
1385*a9fa9459Szrj     { Bad_Opcode },
1386*a9fa9459Szrj     { Bad_Opcode },
1387*a9fa9459Szrj     { "vpsrlw",	{ XM, Vex, EXxmm }, 0 },
1388*a9fa9459Szrj   },
1389*a9fa9459Szrj   /* PREFIX_EVEX_0FD2 */
1390*a9fa9459Szrj   {
1391*a9fa9459Szrj     { Bad_Opcode },
1392*a9fa9459Szrj     { Bad_Opcode },
1393*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0FD2_P_2) },
1394*a9fa9459Szrj   },
1395*a9fa9459Szrj   /* PREFIX_EVEX_0FD3 */
1396*a9fa9459Szrj   {
1397*a9fa9459Szrj     { Bad_Opcode },
1398*a9fa9459Szrj     { Bad_Opcode },
1399*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0FD3_P_2) },
1400*a9fa9459Szrj   },
1401*a9fa9459Szrj   /* PREFIX_EVEX_0FD4 */
1402*a9fa9459Szrj   {
1403*a9fa9459Szrj     { Bad_Opcode },
1404*a9fa9459Szrj     { Bad_Opcode },
1405*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0FD4_P_2) },
1406*a9fa9459Szrj   },
1407*a9fa9459Szrj   /* PREFIX_EVEX_0FD5 */
1408*a9fa9459Szrj   {
1409*a9fa9459Szrj     { Bad_Opcode },
1410*a9fa9459Szrj     { Bad_Opcode },
1411*a9fa9459Szrj     { "vpmullw",	{ XM, Vex, EXx }, 0 },
1412*a9fa9459Szrj   },
1413*a9fa9459Szrj   /* PREFIX_EVEX_0FD6 */
1414*a9fa9459Szrj   {
1415*a9fa9459Szrj     { Bad_Opcode },
1416*a9fa9459Szrj     { Bad_Opcode },
1417*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0FD6_P_2) },
1418*a9fa9459Szrj   },
1419*a9fa9459Szrj   /* PREFIX_EVEX_0FD8 */
1420*a9fa9459Szrj   {
1421*a9fa9459Szrj     { Bad_Opcode },
1422*a9fa9459Szrj     { Bad_Opcode },
1423*a9fa9459Szrj     { "vpsubusb",	{ XM, Vex, EXx }, 0 },
1424*a9fa9459Szrj   },
1425*a9fa9459Szrj   /* PREFIX_EVEX_0FD9 */
1426*a9fa9459Szrj   {
1427*a9fa9459Szrj     { Bad_Opcode },
1428*a9fa9459Szrj     { Bad_Opcode },
1429*a9fa9459Szrj     { "vpsubusw",	{ XM, Vex, EXx }, 0 },
1430*a9fa9459Szrj   },
1431*a9fa9459Szrj   /* PREFIX_EVEX_0FDA */
1432*a9fa9459Szrj   {
1433*a9fa9459Szrj     { Bad_Opcode },
1434*a9fa9459Szrj     { Bad_Opcode },
1435*a9fa9459Szrj     { "vpminub",	{ XM, Vex, EXx }, 0 },
1436*a9fa9459Szrj   },
1437*a9fa9459Szrj   /* PREFIX_EVEX_0FDB */
1438*a9fa9459Szrj   {
1439*a9fa9459Szrj     { Bad_Opcode },
1440*a9fa9459Szrj     { Bad_Opcode },
1441*a9fa9459Szrj     { "vpand%LW",	{ XM, Vex, EXx }, 0 },
1442*a9fa9459Szrj   },
1443*a9fa9459Szrj   /* PREFIX_EVEX_0FDC */
1444*a9fa9459Szrj   {
1445*a9fa9459Szrj     { Bad_Opcode },
1446*a9fa9459Szrj     { Bad_Opcode },
1447*a9fa9459Szrj     { "vpaddusb",	{ XM, Vex, EXx }, 0 },
1448*a9fa9459Szrj   },
1449*a9fa9459Szrj   /* PREFIX_EVEX_0FDD */
1450*a9fa9459Szrj   {
1451*a9fa9459Szrj     { Bad_Opcode },
1452*a9fa9459Szrj     { Bad_Opcode },
1453*a9fa9459Szrj     { "vpaddusw",	{ XM, Vex, EXx }, 0 },
1454*a9fa9459Szrj   },
1455*a9fa9459Szrj   /* PREFIX_EVEX_0FDE */
1456*a9fa9459Szrj   {
1457*a9fa9459Szrj     { Bad_Opcode },
1458*a9fa9459Szrj     { Bad_Opcode },
1459*a9fa9459Szrj     { "vpmaxub",	{ XM, Vex, EXx }, 0 },
1460*a9fa9459Szrj   },
1461*a9fa9459Szrj   /* PREFIX_EVEX_0FDF */
1462*a9fa9459Szrj   {
1463*a9fa9459Szrj     { Bad_Opcode },
1464*a9fa9459Szrj     { Bad_Opcode },
1465*a9fa9459Szrj     { "vpandn%LW",	{ XM, Vex, EXx }, 0 },
1466*a9fa9459Szrj   },
1467*a9fa9459Szrj   /* PREFIX_EVEX_0FE0 */
1468*a9fa9459Szrj   {
1469*a9fa9459Szrj     { Bad_Opcode },
1470*a9fa9459Szrj     { Bad_Opcode },
1471*a9fa9459Szrj     { "vpavgb",	{ XM, Vex, EXx }, 0 },
1472*a9fa9459Szrj   },
1473*a9fa9459Szrj   /* PREFIX_EVEX_0FE1 */
1474*a9fa9459Szrj   {
1475*a9fa9459Szrj     { Bad_Opcode },
1476*a9fa9459Szrj     { Bad_Opcode },
1477*a9fa9459Szrj     { "vpsraw",	{ XM, Vex, EXxmm }, 0 },
1478*a9fa9459Szrj   },
1479*a9fa9459Szrj   /* PREFIX_EVEX_0FE2 */
1480*a9fa9459Szrj   {
1481*a9fa9459Szrj     { Bad_Opcode },
1482*a9fa9459Szrj     { Bad_Opcode },
1483*a9fa9459Szrj     { "vpsra%LW",	{ XM, Vex, EXxmm }, 0 },
1484*a9fa9459Szrj   },
1485*a9fa9459Szrj   /* PREFIX_EVEX_0FE3 */
1486*a9fa9459Szrj   {
1487*a9fa9459Szrj     { Bad_Opcode },
1488*a9fa9459Szrj     { Bad_Opcode },
1489*a9fa9459Szrj     { "vpavgw",	{ XM, Vex, EXx }, 0 },
1490*a9fa9459Szrj   },
1491*a9fa9459Szrj   /* PREFIX_EVEX_0FE4 */
1492*a9fa9459Szrj   {
1493*a9fa9459Szrj     { Bad_Opcode },
1494*a9fa9459Szrj     { Bad_Opcode },
1495*a9fa9459Szrj     { "vpmulhuw",	{ XM, Vex, EXx }, 0 },
1496*a9fa9459Szrj   },
1497*a9fa9459Szrj   /* PREFIX_EVEX_0FE5 */
1498*a9fa9459Szrj   {
1499*a9fa9459Szrj     { Bad_Opcode },
1500*a9fa9459Szrj     { Bad_Opcode },
1501*a9fa9459Szrj     { "vpmulhw",	{ XM, Vex, EXx }, 0 },
1502*a9fa9459Szrj   },
1503*a9fa9459Szrj   /* PREFIX_EVEX_0FE6 */
1504*a9fa9459Szrj   {
1505*a9fa9459Szrj     { Bad_Opcode },
1506*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0FE6_P_1) },
1507*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0FE6_P_2) },
1508*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0FE6_P_3) },
1509*a9fa9459Szrj   },
1510*a9fa9459Szrj   /* PREFIX_EVEX_0FE7 */
1511*a9fa9459Szrj   {
1512*a9fa9459Szrj     { Bad_Opcode },
1513*a9fa9459Szrj     { Bad_Opcode },
1514*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0FE7_P_2) },
1515*a9fa9459Szrj   },
1516*a9fa9459Szrj   /* PREFIX_EVEX_0FE8 */
1517*a9fa9459Szrj   {
1518*a9fa9459Szrj     { Bad_Opcode },
1519*a9fa9459Szrj     { Bad_Opcode },
1520*a9fa9459Szrj     { "vpsubsb",	{ XM, Vex, EXx }, 0 },
1521*a9fa9459Szrj   },
1522*a9fa9459Szrj   /* PREFIX_EVEX_0FE9 */
1523*a9fa9459Szrj   {
1524*a9fa9459Szrj     { Bad_Opcode },
1525*a9fa9459Szrj     { Bad_Opcode },
1526*a9fa9459Szrj     { "vpsubsw",	{ XM, Vex, EXx }, 0 },
1527*a9fa9459Szrj   },
1528*a9fa9459Szrj   /* PREFIX_EVEX_0FEA */
1529*a9fa9459Szrj   {
1530*a9fa9459Szrj     { Bad_Opcode },
1531*a9fa9459Szrj     { Bad_Opcode },
1532*a9fa9459Szrj     { "vpminsw",	{ XM, Vex, EXx }, 0 },
1533*a9fa9459Szrj   },
1534*a9fa9459Szrj   /* PREFIX_EVEX_0FEB */
1535*a9fa9459Szrj   {
1536*a9fa9459Szrj     { Bad_Opcode },
1537*a9fa9459Szrj     { Bad_Opcode },
1538*a9fa9459Szrj     { "vpor%LW",	{ XM, Vex, EXx }, 0 },
1539*a9fa9459Szrj   },
1540*a9fa9459Szrj   /* PREFIX_EVEX_0FEC */
1541*a9fa9459Szrj   {
1542*a9fa9459Szrj     { Bad_Opcode },
1543*a9fa9459Szrj     { Bad_Opcode },
1544*a9fa9459Szrj     { "vpaddsb",	{ XM, Vex, EXx }, 0 },
1545*a9fa9459Szrj   },
1546*a9fa9459Szrj   /* PREFIX_EVEX_0FED */
1547*a9fa9459Szrj   {
1548*a9fa9459Szrj     { Bad_Opcode },
1549*a9fa9459Szrj     { Bad_Opcode },
1550*a9fa9459Szrj     { "vpaddsw",	{ XM, Vex, EXx }, 0 },
1551*a9fa9459Szrj   },
1552*a9fa9459Szrj   /* PREFIX_EVEX_0FEE */
1553*a9fa9459Szrj   {
1554*a9fa9459Szrj     { Bad_Opcode },
1555*a9fa9459Szrj     { Bad_Opcode },
1556*a9fa9459Szrj     { "vpmaxsw",	{ XM, Vex, EXx }, 0 },
1557*a9fa9459Szrj   },
1558*a9fa9459Szrj   /* PREFIX_EVEX_0FEF */
1559*a9fa9459Szrj   {
1560*a9fa9459Szrj     { Bad_Opcode },
1561*a9fa9459Szrj     { Bad_Opcode },
1562*a9fa9459Szrj     { "vpxor%LW",	{ XM, Vex, EXx }, 0 },
1563*a9fa9459Szrj   },
1564*a9fa9459Szrj   /* PREFIX_EVEX_0FF1 */
1565*a9fa9459Szrj   {
1566*a9fa9459Szrj     { Bad_Opcode },
1567*a9fa9459Szrj     { Bad_Opcode },
1568*a9fa9459Szrj     { "vpsllw",	{ XM, Vex, EXxmm }, 0 },
1569*a9fa9459Szrj   },
1570*a9fa9459Szrj   /* PREFIX_EVEX_0FF2 */
1571*a9fa9459Szrj   {
1572*a9fa9459Szrj     { Bad_Opcode },
1573*a9fa9459Szrj     { Bad_Opcode },
1574*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0FF2_P_2) },
1575*a9fa9459Szrj   },
1576*a9fa9459Szrj   /* PREFIX_EVEX_0FF3 */
1577*a9fa9459Szrj   {
1578*a9fa9459Szrj     { Bad_Opcode },
1579*a9fa9459Szrj     { Bad_Opcode },
1580*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0FF3_P_2) },
1581*a9fa9459Szrj   },
1582*a9fa9459Szrj   /* PREFIX_EVEX_0FF4 */
1583*a9fa9459Szrj   {
1584*a9fa9459Szrj     { Bad_Opcode },
1585*a9fa9459Szrj     { Bad_Opcode },
1586*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0FF4_P_2) },
1587*a9fa9459Szrj   },
1588*a9fa9459Szrj   /* PREFIX_EVEX_0FF5 */
1589*a9fa9459Szrj   {
1590*a9fa9459Szrj     { Bad_Opcode },
1591*a9fa9459Szrj     { Bad_Opcode },
1592*a9fa9459Szrj     { "vpmaddwd",	{ XM, Vex, EXx }, 0 },
1593*a9fa9459Szrj   },
1594*a9fa9459Szrj   /* PREFIX_EVEX_0FF6 */
1595*a9fa9459Szrj   {
1596*a9fa9459Szrj     { Bad_Opcode },
1597*a9fa9459Szrj     { Bad_Opcode },
1598*a9fa9459Szrj     { "vpsadbw",	{ XM, Vex, EXx }, 0 },
1599*a9fa9459Szrj   },
1600*a9fa9459Szrj   /* PREFIX_EVEX_0FF8 */
1601*a9fa9459Szrj   {
1602*a9fa9459Szrj     { Bad_Opcode },
1603*a9fa9459Szrj     { Bad_Opcode },
1604*a9fa9459Szrj     { "vpsubb",	{ XM, Vex, EXx }, 0 },
1605*a9fa9459Szrj   },
1606*a9fa9459Szrj   /* PREFIX_EVEX_0FF9 */
1607*a9fa9459Szrj   {
1608*a9fa9459Szrj     { Bad_Opcode },
1609*a9fa9459Szrj     { Bad_Opcode },
1610*a9fa9459Szrj     { "vpsubw",	{ XM, Vex, EXx }, 0 },
1611*a9fa9459Szrj   },
1612*a9fa9459Szrj   /* PREFIX_EVEX_0FFA */
1613*a9fa9459Szrj   {
1614*a9fa9459Szrj     { Bad_Opcode },
1615*a9fa9459Szrj     { Bad_Opcode },
1616*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0FFA_P_2) },
1617*a9fa9459Szrj   },
1618*a9fa9459Szrj   /* PREFIX_EVEX_0FFB */
1619*a9fa9459Szrj   {
1620*a9fa9459Szrj     { Bad_Opcode },
1621*a9fa9459Szrj     { Bad_Opcode },
1622*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0FFB_P_2) },
1623*a9fa9459Szrj   },
1624*a9fa9459Szrj   /* PREFIX_EVEX_0FFC */
1625*a9fa9459Szrj   {
1626*a9fa9459Szrj     { Bad_Opcode },
1627*a9fa9459Szrj     { Bad_Opcode },
1628*a9fa9459Szrj     { "vpaddb",	{ XM, Vex, EXx }, 0 },
1629*a9fa9459Szrj   },
1630*a9fa9459Szrj   /* PREFIX_EVEX_0FFD */
1631*a9fa9459Szrj   {
1632*a9fa9459Szrj     { Bad_Opcode },
1633*a9fa9459Szrj     { Bad_Opcode },
1634*a9fa9459Szrj     { "vpaddw",	{ XM, Vex, EXx }, 0 },
1635*a9fa9459Szrj   },
1636*a9fa9459Szrj   /* PREFIX_EVEX_0FFE */
1637*a9fa9459Szrj   {
1638*a9fa9459Szrj     { Bad_Opcode },
1639*a9fa9459Szrj     { Bad_Opcode },
1640*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0FFE_P_2) },
1641*a9fa9459Szrj   },
1642*a9fa9459Szrj   /* PREFIX_EVEX_0F3800 */
1643*a9fa9459Szrj   {
1644*a9fa9459Szrj     { Bad_Opcode },
1645*a9fa9459Szrj     { Bad_Opcode },
1646*a9fa9459Szrj     { "vpshufb",	{ XM, Vex, EXx }, 0 },
1647*a9fa9459Szrj   },
1648*a9fa9459Szrj   /* PREFIX_EVEX_0F3804 */
1649*a9fa9459Szrj   {
1650*a9fa9459Szrj     { Bad_Opcode },
1651*a9fa9459Szrj     { Bad_Opcode },
1652*a9fa9459Szrj     { "vpmaddubsw",	{ XM, Vex, EXx }, 0 },
1653*a9fa9459Szrj   },
1654*a9fa9459Szrj   /* PREFIX_EVEX_0F380B */
1655*a9fa9459Szrj   {
1656*a9fa9459Szrj     { Bad_Opcode },
1657*a9fa9459Szrj     { Bad_Opcode },
1658*a9fa9459Szrj     { "vpmulhrsw",	{ XM, Vex, EXx }, 0 },
1659*a9fa9459Szrj   },
1660*a9fa9459Szrj   /* PREFIX_EVEX_0F380C */
1661*a9fa9459Szrj   {
1662*a9fa9459Szrj     { Bad_Opcode },
1663*a9fa9459Szrj     { Bad_Opcode },
1664*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0F380C_P_2) },
1665*a9fa9459Szrj   },
1666*a9fa9459Szrj   /* PREFIX_EVEX_0F380D */
1667*a9fa9459Szrj   {
1668*a9fa9459Szrj     { Bad_Opcode },
1669*a9fa9459Szrj     { Bad_Opcode },
1670*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0F380D_P_2) },
1671*a9fa9459Szrj   },
1672*a9fa9459Szrj   /* PREFIX_EVEX_0F3810 */
1673*a9fa9459Szrj   {
1674*a9fa9459Szrj     { Bad_Opcode },
1675*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0F3810_P_1) },
1676*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0F3810_P_2) },
1677*a9fa9459Szrj   },
1678*a9fa9459Szrj   /* PREFIX_EVEX_0F3811 */
1679*a9fa9459Szrj   {
1680*a9fa9459Szrj     { Bad_Opcode },
1681*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0F3811_P_1) },
1682*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0F3811_P_2) },
1683*a9fa9459Szrj   },
1684*a9fa9459Szrj   /* PREFIX_EVEX_0F3812 */
1685*a9fa9459Szrj   {
1686*a9fa9459Szrj     { Bad_Opcode },
1687*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0F3812_P_1) },
1688*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0F3812_P_2) },
1689*a9fa9459Szrj   },
1690*a9fa9459Szrj   /* PREFIX_EVEX_0F3813 */
1691*a9fa9459Szrj   {
1692*a9fa9459Szrj     { Bad_Opcode },
1693*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0F3813_P_1) },
1694*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0F3813_P_2) },
1695*a9fa9459Szrj   },
1696*a9fa9459Szrj   /* PREFIX_EVEX_0F3814 */
1697*a9fa9459Szrj   {
1698*a9fa9459Szrj     { Bad_Opcode },
1699*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0F3814_P_1) },
1700*a9fa9459Szrj     { "vprorv%LW",	{ XM, Vex, EXx }, 0 },
1701*a9fa9459Szrj   },
1702*a9fa9459Szrj   /* PREFIX_EVEX_0F3815 */
1703*a9fa9459Szrj   {
1704*a9fa9459Szrj     { Bad_Opcode },
1705*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0F3815_P_1) },
1706*a9fa9459Szrj     { "vprolv%LW",	{ XM, Vex, EXx }, 0 },
1707*a9fa9459Szrj   },
1708*a9fa9459Szrj   /* PREFIX_EVEX_0F3816 */
1709*a9fa9459Szrj   {
1710*a9fa9459Szrj     { Bad_Opcode },
1711*a9fa9459Szrj     { Bad_Opcode },
1712*a9fa9459Szrj     { "vpermp%XW",	{ XM, Vex, EXx }, 0 },
1713*a9fa9459Szrj   },
1714*a9fa9459Szrj   /* PREFIX_EVEX_0F3818 */
1715*a9fa9459Szrj   {
1716*a9fa9459Szrj     { Bad_Opcode },
1717*a9fa9459Szrj     { Bad_Opcode },
1718*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0F3818_P_2) },
1719*a9fa9459Szrj   },
1720*a9fa9459Szrj   /* PREFIX_EVEX_0F3819 */
1721*a9fa9459Szrj   {
1722*a9fa9459Szrj     { Bad_Opcode },
1723*a9fa9459Szrj     { Bad_Opcode },
1724*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0F3819_P_2) },
1725*a9fa9459Szrj   },
1726*a9fa9459Szrj   /* PREFIX_EVEX_0F381A */
1727*a9fa9459Szrj   {
1728*a9fa9459Szrj     { Bad_Opcode },
1729*a9fa9459Szrj     { Bad_Opcode },
1730*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0F381A_P_2) },
1731*a9fa9459Szrj   },
1732*a9fa9459Szrj   /* PREFIX_EVEX_0F381B */
1733*a9fa9459Szrj   {
1734*a9fa9459Szrj     { Bad_Opcode },
1735*a9fa9459Szrj     { Bad_Opcode },
1736*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0F381B_P_2) },
1737*a9fa9459Szrj   },
1738*a9fa9459Szrj   /* PREFIX_EVEX_0F381C */
1739*a9fa9459Szrj   {
1740*a9fa9459Szrj     { Bad_Opcode },
1741*a9fa9459Szrj     { Bad_Opcode },
1742*a9fa9459Szrj     { "vpabsb",	{ XM, EXx }, 0 },
1743*a9fa9459Szrj   },
1744*a9fa9459Szrj   /* PREFIX_EVEX_0F381D */
1745*a9fa9459Szrj   {
1746*a9fa9459Szrj     { Bad_Opcode },
1747*a9fa9459Szrj     { Bad_Opcode },
1748*a9fa9459Szrj     { "vpabsw",	{ XM, EXx }, 0 },
1749*a9fa9459Szrj   },
1750*a9fa9459Szrj   /* PREFIX_EVEX_0F381E */
1751*a9fa9459Szrj   {
1752*a9fa9459Szrj     { Bad_Opcode },
1753*a9fa9459Szrj     { Bad_Opcode },
1754*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0F381E_P_2) },
1755*a9fa9459Szrj   },
1756*a9fa9459Szrj   /* PREFIX_EVEX_0F381F */
1757*a9fa9459Szrj   {
1758*a9fa9459Szrj     { Bad_Opcode },
1759*a9fa9459Szrj     { Bad_Opcode },
1760*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0F381F_P_2) },
1761*a9fa9459Szrj   },
1762*a9fa9459Szrj   /* PREFIX_EVEX_0F3820 */
1763*a9fa9459Szrj   {
1764*a9fa9459Szrj     { Bad_Opcode },
1765*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0F3820_P_1) },
1766*a9fa9459Szrj     { "vpmovsxbw",	{ XM, EXxmmq }, 0 },
1767*a9fa9459Szrj   },
1768*a9fa9459Szrj   /* PREFIX_EVEX_0F3821 */
1769*a9fa9459Szrj   {
1770*a9fa9459Szrj     { Bad_Opcode },
1771*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0F3821_P_1) },
1772*a9fa9459Szrj     { "vpmovsxbd",	{ XM, EXxmmqd }, 0 },
1773*a9fa9459Szrj   },
1774*a9fa9459Szrj   /* PREFIX_EVEX_0F3822 */
1775*a9fa9459Szrj   {
1776*a9fa9459Szrj     { Bad_Opcode },
1777*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0F3822_P_1) },
1778*a9fa9459Szrj     { "vpmovsxbq",	{ XM, EXxmmdw }, 0 },
1779*a9fa9459Szrj   },
1780*a9fa9459Szrj   /* PREFIX_EVEX_0F3823 */
1781*a9fa9459Szrj   {
1782*a9fa9459Szrj     { Bad_Opcode },
1783*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0F3823_P_1) },
1784*a9fa9459Szrj     { "vpmovsxwd",	{ XM, EXxmmq }, 0 },
1785*a9fa9459Szrj   },
1786*a9fa9459Szrj   /* PREFIX_EVEX_0F3824 */
1787*a9fa9459Szrj   {
1788*a9fa9459Szrj     { Bad_Opcode },
1789*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0F3824_P_1) },
1790*a9fa9459Szrj     { "vpmovsxwq",	{ XM, EXxmmqd }, 0 },
1791*a9fa9459Szrj   },
1792*a9fa9459Szrj   /* PREFIX_EVEX_0F3825 */
1793*a9fa9459Szrj   {
1794*a9fa9459Szrj     { Bad_Opcode },
1795*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0F3825_P_1) },
1796*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0F3825_P_2) },
1797*a9fa9459Szrj   },
1798*a9fa9459Szrj   /* PREFIX_EVEX_0F3826 */
1799*a9fa9459Szrj   {
1800*a9fa9459Szrj     { Bad_Opcode },
1801*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0F3826_P_1) },
1802*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0F3826_P_2) },
1803*a9fa9459Szrj   },
1804*a9fa9459Szrj   /* PREFIX_EVEX_0F3827 */
1805*a9fa9459Szrj   {
1806*a9fa9459Szrj     { Bad_Opcode },
1807*a9fa9459Szrj     { "vptestnm%LW",	{ XMask, Vex, EXx }, 0 },
1808*a9fa9459Szrj     { "vptestm%LW",	{ XMask, Vex, EXx }, 0 },
1809*a9fa9459Szrj   },
1810*a9fa9459Szrj   /* PREFIX_EVEX_0F3828 */
1811*a9fa9459Szrj   {
1812*a9fa9459Szrj     { Bad_Opcode },
1813*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0F3828_P_1) },
1814*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0F3828_P_2) },
1815*a9fa9459Szrj   },
1816*a9fa9459Szrj   /* PREFIX_EVEX_0F3829 */
1817*a9fa9459Szrj   {
1818*a9fa9459Szrj     { Bad_Opcode },
1819*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0F3829_P_1) },
1820*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0F3829_P_2) },
1821*a9fa9459Szrj   },
1822*a9fa9459Szrj   /* PREFIX_EVEX_0F382A */
1823*a9fa9459Szrj   {
1824*a9fa9459Szrj     { Bad_Opcode },
1825*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0F382A_P_1) },
1826*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0F382A_P_2) },
1827*a9fa9459Szrj   },
1828*a9fa9459Szrj   /* PREFIX_EVEX_0F382B */
1829*a9fa9459Szrj   {
1830*a9fa9459Szrj     { Bad_Opcode },
1831*a9fa9459Szrj     { Bad_Opcode },
1832*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0F382B_P_2) },
1833*a9fa9459Szrj   },
1834*a9fa9459Szrj   /* PREFIX_EVEX_0F382C */
1835*a9fa9459Szrj   {
1836*a9fa9459Szrj     { Bad_Opcode },
1837*a9fa9459Szrj     { Bad_Opcode },
1838*a9fa9459Szrj     { "vscalefp%XW",	{ XM, Vex, EXx, EXxEVexR }, 0 },
1839*a9fa9459Szrj   },
1840*a9fa9459Szrj   /* PREFIX_EVEX_0F382D */
1841*a9fa9459Szrj   {
1842*a9fa9459Szrj     { Bad_Opcode },
1843*a9fa9459Szrj     { Bad_Opcode },
1844*a9fa9459Szrj     { "vscalefs%XW",	{ XMScalar, VexScalar, EXxmm_mdq, EXxEVexR }, 0 },
1845*a9fa9459Szrj   },
1846*a9fa9459Szrj   /* PREFIX_EVEX_0F3830 */
1847*a9fa9459Szrj   {
1848*a9fa9459Szrj     { Bad_Opcode },
1849*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0F3830_P_1) },
1850*a9fa9459Szrj     { "vpmovzxbw",	{ XM, EXxmmq }, 0 },
1851*a9fa9459Szrj   },
1852*a9fa9459Szrj   /* PREFIX_EVEX_0F3831 */
1853*a9fa9459Szrj   {
1854*a9fa9459Szrj     { Bad_Opcode },
1855*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0F3831_P_1) },
1856*a9fa9459Szrj     { "vpmovzxbd",	{ XM, EXxmmqd }, 0 },
1857*a9fa9459Szrj   },
1858*a9fa9459Szrj   /* PREFIX_EVEX_0F3832 */
1859*a9fa9459Szrj   {
1860*a9fa9459Szrj     { Bad_Opcode },
1861*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0F3832_P_1) },
1862*a9fa9459Szrj     { "vpmovzxbq",	{ XM, EXxmmdw }, 0 },
1863*a9fa9459Szrj   },
1864*a9fa9459Szrj   /* PREFIX_EVEX_0F3833 */
1865*a9fa9459Szrj   {
1866*a9fa9459Szrj     { Bad_Opcode },
1867*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0F3833_P_1) },
1868*a9fa9459Szrj     { "vpmovzxwd",	{ XM, EXxmmq }, 0 },
1869*a9fa9459Szrj   },
1870*a9fa9459Szrj   /* PREFIX_EVEX_0F3834 */
1871*a9fa9459Szrj   {
1872*a9fa9459Szrj     { Bad_Opcode },
1873*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0F3834_P_1) },
1874*a9fa9459Szrj     { "vpmovzxwq",	{ XM, EXxmmqd }, 0 },
1875*a9fa9459Szrj   },
1876*a9fa9459Szrj   /* PREFIX_EVEX_0F3835 */
1877*a9fa9459Szrj   {
1878*a9fa9459Szrj     { Bad_Opcode },
1879*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0F3835_P_1) },
1880*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0F3835_P_2) },
1881*a9fa9459Szrj   },
1882*a9fa9459Szrj   /* PREFIX_EVEX_0F3836 */
1883*a9fa9459Szrj   {
1884*a9fa9459Szrj     { Bad_Opcode },
1885*a9fa9459Szrj     { Bad_Opcode },
1886*a9fa9459Szrj     { "vperm%LW",	{ XM, Vex, EXx }, 0 },
1887*a9fa9459Szrj   },
1888*a9fa9459Szrj   /* PREFIX_EVEX_0F3837 */
1889*a9fa9459Szrj   {
1890*a9fa9459Szrj     { Bad_Opcode },
1891*a9fa9459Szrj     { Bad_Opcode },
1892*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0F3837_P_2) },
1893*a9fa9459Szrj   },
1894*a9fa9459Szrj   /* PREFIX_EVEX_0F3838 */
1895*a9fa9459Szrj   {
1896*a9fa9459Szrj     { Bad_Opcode },
1897*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0F3838_P_1) },
1898*a9fa9459Szrj     { "vpminsb",	{ XM, Vex, EXx }, 0 },
1899*a9fa9459Szrj   },
1900*a9fa9459Szrj   /* PREFIX_EVEX_0F3839 */
1901*a9fa9459Szrj   {
1902*a9fa9459Szrj     { Bad_Opcode },
1903*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0F3839_P_1) },
1904*a9fa9459Szrj     { "vpmins%LW",	{ XM, Vex, EXx }, 0 },
1905*a9fa9459Szrj   },
1906*a9fa9459Szrj   /* PREFIX_EVEX_0F383A */
1907*a9fa9459Szrj   {
1908*a9fa9459Szrj     { Bad_Opcode },
1909*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0F383A_P_1) },
1910*a9fa9459Szrj     { "vpminuw",	{ XM, Vex, EXx }, 0 },
1911*a9fa9459Szrj   },
1912*a9fa9459Szrj   /* PREFIX_EVEX_0F383B */
1913*a9fa9459Szrj   {
1914*a9fa9459Szrj     { Bad_Opcode },
1915*a9fa9459Szrj     { Bad_Opcode },
1916*a9fa9459Szrj     { "vpminu%LW",	{ XM, Vex, EXx }, 0 },
1917*a9fa9459Szrj   },
1918*a9fa9459Szrj   /* PREFIX_EVEX_0F383C */
1919*a9fa9459Szrj   {
1920*a9fa9459Szrj     { Bad_Opcode },
1921*a9fa9459Szrj     { Bad_Opcode },
1922*a9fa9459Szrj     { "vpmaxsb",	{ XM, Vex, EXx }, 0 },
1923*a9fa9459Szrj   },
1924*a9fa9459Szrj   /* PREFIX_EVEX_0F383D */
1925*a9fa9459Szrj   {
1926*a9fa9459Szrj     { Bad_Opcode },
1927*a9fa9459Szrj     { Bad_Opcode },
1928*a9fa9459Szrj     { "vpmaxs%LW",	{ XM, Vex, EXx }, 0 },
1929*a9fa9459Szrj   },
1930*a9fa9459Szrj   /* PREFIX_EVEX_0F383E */
1931*a9fa9459Szrj   {
1932*a9fa9459Szrj     { Bad_Opcode },
1933*a9fa9459Szrj     { Bad_Opcode },
1934*a9fa9459Szrj     { "vpmaxuw",	{ XM, Vex, EXx }, 0 },
1935*a9fa9459Szrj   },
1936*a9fa9459Szrj   /* PREFIX_EVEX_0F383F */
1937*a9fa9459Szrj   {
1938*a9fa9459Szrj     { Bad_Opcode },
1939*a9fa9459Szrj     { Bad_Opcode },
1940*a9fa9459Szrj     { "vpmaxu%LW",	{ XM, Vex, EXx }, 0 },
1941*a9fa9459Szrj   },
1942*a9fa9459Szrj   /* PREFIX_EVEX_0F3840 */
1943*a9fa9459Szrj   {
1944*a9fa9459Szrj     { Bad_Opcode },
1945*a9fa9459Szrj     { Bad_Opcode },
1946*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0F3840_P_2) },
1947*a9fa9459Szrj   },
1948*a9fa9459Szrj   /* PREFIX_EVEX_0F3842 */
1949*a9fa9459Szrj   {
1950*a9fa9459Szrj     { Bad_Opcode },
1951*a9fa9459Szrj     { Bad_Opcode },
1952*a9fa9459Szrj     { "vgetexpp%XW",	{ XM, EXx, EXxEVexS }, 0 },
1953*a9fa9459Szrj   },
1954*a9fa9459Szrj   /* PREFIX_EVEX_0F3843 */
1955*a9fa9459Szrj   {
1956*a9fa9459Szrj     { Bad_Opcode },
1957*a9fa9459Szrj     { Bad_Opcode },
1958*a9fa9459Szrj     { "vgetexps%XW",	{ XMScalar, VexScalar, EXxmm_mdq, EXxEVexS }, 0 },
1959*a9fa9459Szrj   },
1960*a9fa9459Szrj   /* PREFIX_EVEX_0F3844 */
1961*a9fa9459Szrj   {
1962*a9fa9459Szrj     { Bad_Opcode },
1963*a9fa9459Szrj     { Bad_Opcode },
1964*a9fa9459Szrj     { "vplzcnt%LW",	{ XM, EXx }, 0 },
1965*a9fa9459Szrj   },
1966*a9fa9459Szrj   /* PREFIX_EVEX_0F3845 */
1967*a9fa9459Szrj   {
1968*a9fa9459Szrj     { Bad_Opcode },
1969*a9fa9459Szrj     { Bad_Opcode },
1970*a9fa9459Szrj     { "vpsrlv%LW",	{ XM, Vex, EXx }, 0 },
1971*a9fa9459Szrj   },
1972*a9fa9459Szrj   /* PREFIX_EVEX_0F3846 */
1973*a9fa9459Szrj   {
1974*a9fa9459Szrj     { Bad_Opcode },
1975*a9fa9459Szrj     { Bad_Opcode },
1976*a9fa9459Szrj     { "vpsrav%LW",	{ XM, Vex, EXx }, 0 },
1977*a9fa9459Szrj   },
1978*a9fa9459Szrj   /* PREFIX_EVEX_0F3847 */
1979*a9fa9459Szrj   {
1980*a9fa9459Szrj     { Bad_Opcode },
1981*a9fa9459Szrj     { Bad_Opcode },
1982*a9fa9459Szrj     { "vpsllv%LW",	{ XM, Vex, EXx }, 0 },
1983*a9fa9459Szrj   },
1984*a9fa9459Szrj   /* PREFIX_EVEX_0F384C */
1985*a9fa9459Szrj   {
1986*a9fa9459Szrj     { Bad_Opcode },
1987*a9fa9459Szrj     { Bad_Opcode },
1988*a9fa9459Szrj     { "vrcp14p%XW",	{ XM, EXx }, 0 },
1989*a9fa9459Szrj   },
1990*a9fa9459Szrj   /* PREFIX_EVEX_0F384D */
1991*a9fa9459Szrj   {
1992*a9fa9459Szrj     { Bad_Opcode },
1993*a9fa9459Szrj     { Bad_Opcode },
1994*a9fa9459Szrj     { "vrcp14s%XW",	{ XMScalar, VexScalar, EXxmm_mdq }, 0 },
1995*a9fa9459Szrj   },
1996*a9fa9459Szrj   /* PREFIX_EVEX_0F384E */
1997*a9fa9459Szrj   {
1998*a9fa9459Szrj     { Bad_Opcode },
1999*a9fa9459Szrj     { Bad_Opcode },
2000*a9fa9459Szrj     { "vrsqrt14p%XW",	{ XM, EXx }, 0 },
2001*a9fa9459Szrj   },
2002*a9fa9459Szrj   /* PREFIX_EVEX_0F384F */
2003*a9fa9459Szrj   {
2004*a9fa9459Szrj     { Bad_Opcode },
2005*a9fa9459Szrj     { Bad_Opcode },
2006*a9fa9459Szrj     { "vrsqrt14s%XW",	{ XMScalar, VexScalar, EXxmm_mdq }, 0 },
2007*a9fa9459Szrj   },
2008*a9fa9459Szrj   /* PREFIX_EVEX_0F3858 */
2009*a9fa9459Szrj   {
2010*a9fa9459Szrj     { Bad_Opcode },
2011*a9fa9459Szrj     { Bad_Opcode },
2012*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0F3858_P_2) },
2013*a9fa9459Szrj   },
2014*a9fa9459Szrj   /* PREFIX_EVEX_0F3859 */
2015*a9fa9459Szrj   {
2016*a9fa9459Szrj     { Bad_Opcode },
2017*a9fa9459Szrj     { Bad_Opcode },
2018*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0F3859_P_2) },
2019*a9fa9459Szrj   },
2020*a9fa9459Szrj   /* PREFIX_EVEX_0F385A */
2021*a9fa9459Szrj   {
2022*a9fa9459Szrj     { Bad_Opcode },
2023*a9fa9459Szrj     { Bad_Opcode },
2024*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0F385A_P_2) },
2025*a9fa9459Szrj   },
2026*a9fa9459Szrj   /* PREFIX_EVEX_0F385B */
2027*a9fa9459Szrj   {
2028*a9fa9459Szrj     { Bad_Opcode },
2029*a9fa9459Szrj     { Bad_Opcode },
2030*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0F385B_P_2) },
2031*a9fa9459Szrj   },
2032*a9fa9459Szrj   /* PREFIX_EVEX_0F3864 */
2033*a9fa9459Szrj   {
2034*a9fa9459Szrj     { Bad_Opcode },
2035*a9fa9459Szrj     { Bad_Opcode },
2036*a9fa9459Szrj     { "vpblendm%LW",	{ XM, Vex, EXx }, 0 },
2037*a9fa9459Szrj   },
2038*a9fa9459Szrj   /* PREFIX_EVEX_0F3865 */
2039*a9fa9459Szrj   {
2040*a9fa9459Szrj     { Bad_Opcode },
2041*a9fa9459Szrj     { Bad_Opcode },
2042*a9fa9459Szrj     { "vblendmp%XW",	{ XM, Vex, EXx }, 0 },
2043*a9fa9459Szrj   },
2044*a9fa9459Szrj   /* PREFIX_EVEX_0F3866 */
2045*a9fa9459Szrj   {
2046*a9fa9459Szrj     { Bad_Opcode },
2047*a9fa9459Szrj     { Bad_Opcode },
2048*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0F3866_P_2) },
2049*a9fa9459Szrj   },
2050*a9fa9459Szrj   /* PREFIX_EVEX_0F3875 */
2051*a9fa9459Szrj   {
2052*a9fa9459Szrj     { Bad_Opcode },
2053*a9fa9459Szrj     { Bad_Opcode },
2054*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0F3875_P_2) },
2055*a9fa9459Szrj   },
2056*a9fa9459Szrj   /* PREFIX_EVEX_0F3876 */
2057*a9fa9459Szrj   {
2058*a9fa9459Szrj     { Bad_Opcode },
2059*a9fa9459Szrj     { Bad_Opcode },
2060*a9fa9459Szrj     { "vpermi2%LW",	{ XM, Vex, EXx }, 0 },
2061*a9fa9459Szrj   },
2062*a9fa9459Szrj   /* PREFIX_EVEX_0F3877 */
2063*a9fa9459Szrj   {
2064*a9fa9459Szrj     { Bad_Opcode },
2065*a9fa9459Szrj     { Bad_Opcode },
2066*a9fa9459Szrj     { "vpermi2p%XW",	{ XM, Vex, EXx }, 0 },
2067*a9fa9459Szrj   },
2068*a9fa9459Szrj   /* PREFIX_EVEX_0F3878 */
2069*a9fa9459Szrj   {
2070*a9fa9459Szrj     { Bad_Opcode },
2071*a9fa9459Szrj     { Bad_Opcode },
2072*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0F3878_P_2) },
2073*a9fa9459Szrj   },
2074*a9fa9459Szrj   /* PREFIX_EVEX_0F3879 */
2075*a9fa9459Szrj   {
2076*a9fa9459Szrj     { Bad_Opcode },
2077*a9fa9459Szrj     { Bad_Opcode },
2078*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0F3879_P_2) },
2079*a9fa9459Szrj   },
2080*a9fa9459Szrj   /* PREFIX_EVEX_0F387A */
2081*a9fa9459Szrj   {
2082*a9fa9459Szrj     { Bad_Opcode },
2083*a9fa9459Szrj     { Bad_Opcode },
2084*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0F387A_P_2) },
2085*a9fa9459Szrj   },
2086*a9fa9459Szrj   /* PREFIX_EVEX_0F387B */
2087*a9fa9459Szrj   {
2088*a9fa9459Szrj     { Bad_Opcode },
2089*a9fa9459Szrj     { Bad_Opcode },
2090*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0F387B_P_2) },
2091*a9fa9459Szrj   },
2092*a9fa9459Szrj   /* PREFIX_EVEX_0F387C */
2093*a9fa9459Szrj   {
2094*a9fa9459Szrj     { Bad_Opcode },
2095*a9fa9459Szrj     { Bad_Opcode },
2096*a9fa9459Szrj     { "vpbroadcast%LW",	{ XM, Rdq }, 0 },
2097*a9fa9459Szrj   },
2098*a9fa9459Szrj   /* PREFIX_EVEX_0F387D */
2099*a9fa9459Szrj   {
2100*a9fa9459Szrj     { Bad_Opcode },
2101*a9fa9459Szrj     { Bad_Opcode },
2102*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0F387D_P_2) },
2103*a9fa9459Szrj   },
2104*a9fa9459Szrj   /* PREFIX_EVEX_0F387E */
2105*a9fa9459Szrj   {
2106*a9fa9459Szrj     { Bad_Opcode },
2107*a9fa9459Szrj     { Bad_Opcode },
2108*a9fa9459Szrj     { "vpermt2%LW",	{ XM, Vex, EXx }, 0 },
2109*a9fa9459Szrj   },
2110*a9fa9459Szrj   /* PREFIX_EVEX_0F387F */
2111*a9fa9459Szrj   {
2112*a9fa9459Szrj     { Bad_Opcode },
2113*a9fa9459Szrj     { Bad_Opcode },
2114*a9fa9459Szrj     { "vpermt2p%XW",	{ XM, Vex, EXx }, 0 },
2115*a9fa9459Szrj   },
2116*a9fa9459Szrj   /* PREFIX_EVEX_0F3883 */
2117*a9fa9459Szrj   {
2118*a9fa9459Szrj     { Bad_Opcode },
2119*a9fa9459Szrj     { Bad_Opcode },
2120*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0F3883_P_2) },
2121*a9fa9459Szrj   },
2122*a9fa9459Szrj   /* PREFIX_EVEX_0F3888 */
2123*a9fa9459Szrj   {
2124*a9fa9459Szrj     { Bad_Opcode },
2125*a9fa9459Szrj     { Bad_Opcode },
2126*a9fa9459Szrj     { "vexpandp%XW",	{ XM, EXEvexXGscat }, 0 },
2127*a9fa9459Szrj   },
2128*a9fa9459Szrj   /* PREFIX_EVEX_0F3889 */
2129*a9fa9459Szrj   {
2130*a9fa9459Szrj     { Bad_Opcode },
2131*a9fa9459Szrj     { Bad_Opcode },
2132*a9fa9459Szrj     { "vpexpand%LW",	{ XM, EXEvexXGscat }, 0 },
2133*a9fa9459Szrj   },
2134*a9fa9459Szrj   /* PREFIX_EVEX_0F388A */
2135*a9fa9459Szrj   {
2136*a9fa9459Szrj     { Bad_Opcode },
2137*a9fa9459Szrj     { Bad_Opcode },
2138*a9fa9459Szrj     { "vcompressp%XW",	{ EXEvexXGscat, XM }, 0 },
2139*a9fa9459Szrj   },
2140*a9fa9459Szrj   /* PREFIX_EVEX_0F388B */
2141*a9fa9459Szrj   {
2142*a9fa9459Szrj     { Bad_Opcode },
2143*a9fa9459Szrj     { Bad_Opcode },
2144*a9fa9459Szrj     { "vpcompress%LW",	{ EXEvexXGscat, XM }, 0 },
2145*a9fa9459Szrj   },
2146*a9fa9459Szrj   /* PREFIX_EVEX_0F388D */
2147*a9fa9459Szrj   {
2148*a9fa9459Szrj     { Bad_Opcode },
2149*a9fa9459Szrj     { Bad_Opcode },
2150*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0F388D_P_2) },
2151*a9fa9459Szrj   },
2152*a9fa9459Szrj   /* PREFIX_EVEX_0F3890 */
2153*a9fa9459Szrj   {
2154*a9fa9459Szrj     { Bad_Opcode },
2155*a9fa9459Szrj     { Bad_Opcode },
2156*a9fa9459Szrj     { "vpgatherd%LW",	{ XM, MVexVSIBDWpX }, 0 },
2157*a9fa9459Szrj   },
2158*a9fa9459Szrj   /* PREFIX_EVEX_0F3891 */
2159*a9fa9459Szrj   {
2160*a9fa9459Szrj     { Bad_Opcode },
2161*a9fa9459Szrj     { Bad_Opcode },
2162*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0F3891_P_2) },
2163*a9fa9459Szrj   },
2164*a9fa9459Szrj   /* PREFIX_EVEX_0F3892 */
2165*a9fa9459Szrj   {
2166*a9fa9459Szrj     { Bad_Opcode },
2167*a9fa9459Szrj     { Bad_Opcode },
2168*a9fa9459Szrj     { "vgatherdp%XW",	{ XM, MVexVSIBDWpX}, 0 },
2169*a9fa9459Szrj   },
2170*a9fa9459Szrj   /* PREFIX_EVEX_0F3893 */
2171*a9fa9459Szrj   {
2172*a9fa9459Szrj     { Bad_Opcode },
2173*a9fa9459Szrj     { Bad_Opcode },
2174*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0F3893_P_2) },
2175*a9fa9459Szrj   },
2176*a9fa9459Szrj   /* PREFIX_EVEX_0F3896 */
2177*a9fa9459Szrj   {
2178*a9fa9459Szrj     { Bad_Opcode },
2179*a9fa9459Szrj     { Bad_Opcode },
2180*a9fa9459Szrj     { "vfmaddsub132p%XW",	{ XM, Vex, EXx, EXxEVexR }, 0 },
2181*a9fa9459Szrj   },
2182*a9fa9459Szrj   /* PREFIX_EVEX_0F3897 */
2183*a9fa9459Szrj   {
2184*a9fa9459Szrj     { Bad_Opcode },
2185*a9fa9459Szrj     { Bad_Opcode },
2186*a9fa9459Szrj     { "vfmsubadd132p%XW",	{ XM, Vex, EXx, EXxEVexR }, 0 },
2187*a9fa9459Szrj   },
2188*a9fa9459Szrj   /* PREFIX_EVEX_0F3898 */
2189*a9fa9459Szrj   {
2190*a9fa9459Szrj     { Bad_Opcode },
2191*a9fa9459Szrj     { Bad_Opcode },
2192*a9fa9459Szrj     { "vfmadd132p%XW",	{ XM, Vex, EXx, EXxEVexR }, 0 },
2193*a9fa9459Szrj   },
2194*a9fa9459Szrj   /* PREFIX_EVEX_0F3899 */
2195*a9fa9459Szrj   {
2196*a9fa9459Szrj     { Bad_Opcode },
2197*a9fa9459Szrj     { Bad_Opcode },
2198*a9fa9459Szrj     { "vfmadd132s%XW",	{ XMScalar, VexScalar, EXxmm_mdq, EXxEVexR }, 0 },
2199*a9fa9459Szrj   },
2200*a9fa9459Szrj   /* PREFIX_EVEX_0F389A */
2201*a9fa9459Szrj   {
2202*a9fa9459Szrj     { Bad_Opcode },
2203*a9fa9459Szrj     { Bad_Opcode },
2204*a9fa9459Szrj     { "vfmsub132p%XW",	{ XM, Vex, EXx, EXxEVexR }, 0 },
2205*a9fa9459Szrj   },
2206*a9fa9459Szrj   /* PREFIX_EVEX_0F389B */
2207*a9fa9459Szrj   {
2208*a9fa9459Szrj     { Bad_Opcode },
2209*a9fa9459Szrj     { Bad_Opcode },
2210*a9fa9459Szrj     { "vfmsub132s%XW",	{ XMScalar, VexScalar, EXxmm_mdq, EXxEVexR }, 0 },
2211*a9fa9459Szrj   },
2212*a9fa9459Szrj   /* PREFIX_EVEX_0F389C */
2213*a9fa9459Szrj   {
2214*a9fa9459Szrj     { Bad_Opcode },
2215*a9fa9459Szrj     { Bad_Opcode },
2216*a9fa9459Szrj     { "vfnmadd132p%XW",	{ XM, Vex, EXx, EXxEVexR }, 0 },
2217*a9fa9459Szrj   },
2218*a9fa9459Szrj   /* PREFIX_EVEX_0F389D */
2219*a9fa9459Szrj   {
2220*a9fa9459Szrj     { Bad_Opcode },
2221*a9fa9459Szrj     { Bad_Opcode },
2222*a9fa9459Szrj     { "vfnmadd132s%XW",	{ XMScalar, VexScalar, EXxmm_mdq, EXxEVexR }, 0 },
2223*a9fa9459Szrj   },
2224*a9fa9459Szrj   /* PREFIX_EVEX_0F389E */
2225*a9fa9459Szrj   {
2226*a9fa9459Szrj     { Bad_Opcode },
2227*a9fa9459Szrj     { Bad_Opcode },
2228*a9fa9459Szrj     { "vfnmsub132p%XW",	{ XM, Vex, EXx, EXxEVexR }, 0 },
2229*a9fa9459Szrj   },
2230*a9fa9459Szrj   /* PREFIX_EVEX_0F389F */
2231*a9fa9459Szrj   {
2232*a9fa9459Szrj     { Bad_Opcode },
2233*a9fa9459Szrj     { Bad_Opcode },
2234*a9fa9459Szrj     { "vfnmsub132s%XW",	{ XMScalar, VexScalar, EXxmm_mdq, EXxEVexR }, 0 },
2235*a9fa9459Szrj   },
2236*a9fa9459Szrj   /* PREFIX_EVEX_0F38A0 */
2237*a9fa9459Szrj   {
2238*a9fa9459Szrj     { Bad_Opcode },
2239*a9fa9459Szrj     { Bad_Opcode },
2240*a9fa9459Szrj     { "vpscatterd%LW",	{ MVexVSIBDWpX, XM }, 0 },
2241*a9fa9459Szrj   },
2242*a9fa9459Szrj   /* PREFIX_EVEX_0F38A1 */
2243*a9fa9459Szrj   {
2244*a9fa9459Szrj     { Bad_Opcode },
2245*a9fa9459Szrj     { Bad_Opcode },
2246*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0F38A1_P_2) },
2247*a9fa9459Szrj   },
2248*a9fa9459Szrj   /* PREFIX_EVEX_0F38A2 */
2249*a9fa9459Szrj   {
2250*a9fa9459Szrj     { Bad_Opcode },
2251*a9fa9459Szrj     { Bad_Opcode },
2252*a9fa9459Szrj     { "vscatterdp%XW",	{ MVexVSIBDWpX, XM }, 0 },
2253*a9fa9459Szrj   },
2254*a9fa9459Szrj   /* PREFIX_EVEX_0F38A3 */
2255*a9fa9459Szrj   {
2256*a9fa9459Szrj     { Bad_Opcode },
2257*a9fa9459Szrj     { Bad_Opcode },
2258*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0F38A3_P_2) },
2259*a9fa9459Szrj   },
2260*a9fa9459Szrj   /* PREFIX_EVEX_0F38A6 */
2261*a9fa9459Szrj   {
2262*a9fa9459Szrj     { Bad_Opcode },
2263*a9fa9459Szrj     { Bad_Opcode },
2264*a9fa9459Szrj     { "vfmaddsub213p%XW",	{ XM, Vex, EXx, EXxEVexR }, 0 },
2265*a9fa9459Szrj   },
2266*a9fa9459Szrj   /* PREFIX_EVEX_0F38A7 */
2267*a9fa9459Szrj   {
2268*a9fa9459Szrj     { Bad_Opcode },
2269*a9fa9459Szrj     { Bad_Opcode },
2270*a9fa9459Szrj     { "vfmsubadd213p%XW",	{ XM, Vex, EXx, EXxEVexR }, 0 },
2271*a9fa9459Szrj   },
2272*a9fa9459Szrj   /* PREFIX_EVEX_0F38A8 */
2273*a9fa9459Szrj   {
2274*a9fa9459Szrj     { Bad_Opcode },
2275*a9fa9459Szrj     { Bad_Opcode },
2276*a9fa9459Szrj     { "vfmadd213p%XW",	{ XM, Vex, EXx, EXxEVexR }, 0 },
2277*a9fa9459Szrj   },
2278*a9fa9459Szrj   /* PREFIX_EVEX_0F38A9 */
2279*a9fa9459Szrj   {
2280*a9fa9459Szrj     { Bad_Opcode },
2281*a9fa9459Szrj     { Bad_Opcode },
2282*a9fa9459Szrj     { "vfmadd213s%XW",	{ XMScalar, VexScalar, EXxmm_mdq, EXxEVexR }, 0 },
2283*a9fa9459Szrj   },
2284*a9fa9459Szrj   /* PREFIX_EVEX_0F38AA */
2285*a9fa9459Szrj   {
2286*a9fa9459Szrj     { Bad_Opcode },
2287*a9fa9459Szrj     { Bad_Opcode },
2288*a9fa9459Szrj     { "vfmsub213p%XW",	{ XM, Vex, EXx, EXxEVexR }, 0 },
2289*a9fa9459Szrj   },
2290*a9fa9459Szrj   /* PREFIX_EVEX_0F38AB */
2291*a9fa9459Szrj   {
2292*a9fa9459Szrj     { Bad_Opcode },
2293*a9fa9459Szrj     { Bad_Opcode },
2294*a9fa9459Szrj     { "vfmsub213s%XW",	{ XMScalar, VexScalar, EXxmm_mdq, EXxEVexR }, 0 },
2295*a9fa9459Szrj   },
2296*a9fa9459Szrj   /* PREFIX_EVEX_0F38AC */
2297*a9fa9459Szrj   {
2298*a9fa9459Szrj     { Bad_Opcode },
2299*a9fa9459Szrj     { Bad_Opcode },
2300*a9fa9459Szrj     { "vfnmadd213p%XW",	{ XM, Vex, EXx, EXxEVexR }, 0 },
2301*a9fa9459Szrj   },
2302*a9fa9459Szrj   /* PREFIX_EVEX_0F38AD */
2303*a9fa9459Szrj   {
2304*a9fa9459Szrj     { Bad_Opcode },
2305*a9fa9459Szrj     { Bad_Opcode },
2306*a9fa9459Szrj     { "vfnmadd213s%XW",	{ XMScalar, VexScalar, EXxmm_mdq, EXxEVexR }, 0 },
2307*a9fa9459Szrj   },
2308*a9fa9459Szrj   /* PREFIX_EVEX_0F38AE */
2309*a9fa9459Szrj   {
2310*a9fa9459Szrj     { Bad_Opcode },
2311*a9fa9459Szrj     { Bad_Opcode },
2312*a9fa9459Szrj     { "vfnmsub213p%XW",	{ XM, Vex, EXx, EXxEVexR }, 0 },
2313*a9fa9459Szrj   },
2314*a9fa9459Szrj   /* PREFIX_EVEX_0F38AF */
2315*a9fa9459Szrj   {
2316*a9fa9459Szrj     { Bad_Opcode },
2317*a9fa9459Szrj     { Bad_Opcode },
2318*a9fa9459Szrj     { "vfnmsub213s%XW",	{ XMScalar, VexScalar, EXxmm_mdq, EXxEVexR }, 0 },
2319*a9fa9459Szrj   },
2320*a9fa9459Szrj   /* PREFIX_EVEX_0F38B4 */
2321*a9fa9459Szrj   {
2322*a9fa9459Szrj     { Bad_Opcode },
2323*a9fa9459Szrj     { Bad_Opcode },
2324*a9fa9459Szrj     { "vpmadd52luq",	{ XM, Vex, EXx }, 0 },
2325*a9fa9459Szrj   },
2326*a9fa9459Szrj   /* PREFIX_EVEX_0F38B5 */
2327*a9fa9459Szrj   {
2328*a9fa9459Szrj     { Bad_Opcode },
2329*a9fa9459Szrj     { Bad_Opcode },
2330*a9fa9459Szrj     { "vpmadd52huq",	{ XM, Vex, EXx }, 0 },
2331*a9fa9459Szrj   },
2332*a9fa9459Szrj   /* PREFIX_EVEX_0F38B6 */
2333*a9fa9459Szrj   {
2334*a9fa9459Szrj     { Bad_Opcode },
2335*a9fa9459Szrj     { Bad_Opcode },
2336*a9fa9459Szrj     { "vfmaddsub231p%XW",	{ XM, Vex, EXx, EXxEVexR }, 0 },
2337*a9fa9459Szrj   },
2338*a9fa9459Szrj   /* PREFIX_EVEX_0F38B7 */
2339*a9fa9459Szrj   {
2340*a9fa9459Szrj     { Bad_Opcode },
2341*a9fa9459Szrj     { Bad_Opcode },
2342*a9fa9459Szrj     { "vfmsubadd231p%XW",	{ XM, Vex, EXx, EXxEVexR }, 0 },
2343*a9fa9459Szrj   },
2344*a9fa9459Szrj   /* PREFIX_EVEX_0F38B8 */
2345*a9fa9459Szrj   {
2346*a9fa9459Szrj     { Bad_Opcode },
2347*a9fa9459Szrj     { Bad_Opcode },
2348*a9fa9459Szrj     { "vfmadd231p%XW",	{ XM, Vex, EXx, EXxEVexR }, 0 },
2349*a9fa9459Szrj   },
2350*a9fa9459Szrj   /* PREFIX_EVEX_0F38B9 */
2351*a9fa9459Szrj   {
2352*a9fa9459Szrj     { Bad_Opcode },
2353*a9fa9459Szrj     { Bad_Opcode },
2354*a9fa9459Szrj     { "vfmadd231s%XW",	{ XMScalar, VexScalar, EXxmm_mdq, EXxEVexR }, 0 },
2355*a9fa9459Szrj   },
2356*a9fa9459Szrj   /* PREFIX_EVEX_0F38BA */
2357*a9fa9459Szrj   {
2358*a9fa9459Szrj     { Bad_Opcode },
2359*a9fa9459Szrj     { Bad_Opcode },
2360*a9fa9459Szrj     { "vfmsub231p%XW",	{ XM, Vex, EXx, EXxEVexR }, 0 },
2361*a9fa9459Szrj   },
2362*a9fa9459Szrj   /* PREFIX_EVEX_0F38BB */
2363*a9fa9459Szrj   {
2364*a9fa9459Szrj     { Bad_Opcode },
2365*a9fa9459Szrj     { Bad_Opcode },
2366*a9fa9459Szrj     { "vfmsub231s%XW",	{ XMScalar, VexScalar, EXxmm_mdq, EXxEVexR }, 0 },
2367*a9fa9459Szrj   },
2368*a9fa9459Szrj   /* PREFIX_EVEX_0F38BC */
2369*a9fa9459Szrj   {
2370*a9fa9459Szrj     { Bad_Opcode },
2371*a9fa9459Szrj     { Bad_Opcode },
2372*a9fa9459Szrj     { "vfnmadd231p%XW",	{ XM, Vex, EXx, EXxEVexR }, 0 },
2373*a9fa9459Szrj   },
2374*a9fa9459Szrj   /* PREFIX_EVEX_0F38BD */
2375*a9fa9459Szrj   {
2376*a9fa9459Szrj     { Bad_Opcode },
2377*a9fa9459Szrj     { Bad_Opcode },
2378*a9fa9459Szrj     { "vfnmadd231s%XW",	{ XMScalar, VexScalar, EXxmm_mdq, EXxEVexR }, 0 },
2379*a9fa9459Szrj   },
2380*a9fa9459Szrj   /* PREFIX_EVEX_0F38BE */
2381*a9fa9459Szrj   {
2382*a9fa9459Szrj     { Bad_Opcode },
2383*a9fa9459Szrj     { Bad_Opcode },
2384*a9fa9459Szrj     { "vfnmsub231p%XW",	{ XM, Vex, EXx, EXxEVexR }, 0 },
2385*a9fa9459Szrj   },
2386*a9fa9459Szrj   /* PREFIX_EVEX_0F38BF */
2387*a9fa9459Szrj   {
2388*a9fa9459Szrj     { Bad_Opcode },
2389*a9fa9459Szrj     { Bad_Opcode },
2390*a9fa9459Szrj     { "vfnmsub231s%XW",	{ XMScalar, VexScalar, EXxmm_mdq, EXxEVexR }, 0 },
2391*a9fa9459Szrj   },
2392*a9fa9459Szrj   /* PREFIX_EVEX_0F38C4 */
2393*a9fa9459Szrj   {
2394*a9fa9459Szrj     { Bad_Opcode },
2395*a9fa9459Szrj     { Bad_Opcode },
2396*a9fa9459Szrj     { "vpconflict%LW",	{ XM, EXx }, 0 },
2397*a9fa9459Szrj   },
2398*a9fa9459Szrj   /* PREFIX_EVEX_0F38C6_REG_1 */
2399*a9fa9459Szrj   {
2400*a9fa9459Szrj     { Bad_Opcode },
2401*a9fa9459Szrj     { Bad_Opcode },
2402*a9fa9459Szrj     { "vgatherpf0dp%XW",  { MVexVSIBDWpX }, 0 },
2403*a9fa9459Szrj   },
2404*a9fa9459Szrj   /* PREFIX_EVEX_0F38C6_REG_2 */
2405*a9fa9459Szrj   {
2406*a9fa9459Szrj     { Bad_Opcode },
2407*a9fa9459Szrj     { Bad_Opcode },
2408*a9fa9459Szrj     { "vgatherpf1dp%XW",  { MVexVSIBDWpX }, 0 },
2409*a9fa9459Szrj   },
2410*a9fa9459Szrj   /* PREFIX_EVEX_0F38C6_REG_5 */
2411*a9fa9459Szrj   {
2412*a9fa9459Szrj     { Bad_Opcode },
2413*a9fa9459Szrj     { Bad_Opcode },
2414*a9fa9459Szrj     { "vscatterpf0dp%XW",  { MVexVSIBDWpX }, 0 },
2415*a9fa9459Szrj   },
2416*a9fa9459Szrj   /* PREFIX_EVEX_0F38C6_REG_6 */
2417*a9fa9459Szrj   {
2418*a9fa9459Szrj     { Bad_Opcode },
2419*a9fa9459Szrj     { Bad_Opcode },
2420*a9fa9459Szrj     { "vscatterpf1dp%XW",  { MVexVSIBDWpX }, 0 },
2421*a9fa9459Szrj   },
2422*a9fa9459Szrj   /* PREFIX_EVEX_0F38C7_REG_1 */
2423*a9fa9459Szrj   {
2424*a9fa9459Szrj     { Bad_Opcode },
2425*a9fa9459Szrj     { Bad_Opcode },
2426*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0F38C7_R_1_P_2) },
2427*a9fa9459Szrj   },
2428*a9fa9459Szrj   /* PREFIX_EVEX_0F38C7_REG_2 */
2429*a9fa9459Szrj   {
2430*a9fa9459Szrj     { Bad_Opcode },
2431*a9fa9459Szrj     { Bad_Opcode },
2432*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0F38C7_R_2_P_2) },
2433*a9fa9459Szrj   },
2434*a9fa9459Szrj   /* PREFIX_EVEX_0F38C7_REG_5 */
2435*a9fa9459Szrj   {
2436*a9fa9459Szrj     { Bad_Opcode },
2437*a9fa9459Szrj     { Bad_Opcode },
2438*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0F38C7_R_5_P_2) },
2439*a9fa9459Szrj   },
2440*a9fa9459Szrj   /* PREFIX_EVEX_0F38C7_REG_6 */
2441*a9fa9459Szrj   {
2442*a9fa9459Szrj     { Bad_Opcode },
2443*a9fa9459Szrj     { Bad_Opcode },
2444*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0F38C7_R_6_P_2) },
2445*a9fa9459Szrj   },
2446*a9fa9459Szrj   /* PREFIX_EVEX_0F38C8 */
2447*a9fa9459Szrj   {
2448*a9fa9459Szrj     { Bad_Opcode },
2449*a9fa9459Szrj     { Bad_Opcode },
2450*a9fa9459Szrj     { "vexp2p%XW",        { XM, EXx, EXxEVexS }, 0 },
2451*a9fa9459Szrj   },
2452*a9fa9459Szrj   /* PREFIX_EVEX_0F38CA */
2453*a9fa9459Szrj   {
2454*a9fa9459Szrj     { Bad_Opcode },
2455*a9fa9459Szrj     { Bad_Opcode },
2456*a9fa9459Szrj     { "vrcp28p%XW",       { XM, EXx, EXxEVexS }, 0 },
2457*a9fa9459Szrj   },
2458*a9fa9459Szrj   /* PREFIX_EVEX_0F38CB */
2459*a9fa9459Szrj   {
2460*a9fa9459Szrj     { Bad_Opcode },
2461*a9fa9459Szrj     { Bad_Opcode },
2462*a9fa9459Szrj     { "vrcp28s%XW",       { XMScalar, VexScalar, EXxmm_mdq, EXxEVexS }, 0 },
2463*a9fa9459Szrj   },
2464*a9fa9459Szrj   /* PREFIX_EVEX_0F38CC */
2465*a9fa9459Szrj   {
2466*a9fa9459Szrj     { Bad_Opcode },
2467*a9fa9459Szrj     { Bad_Opcode },
2468*a9fa9459Szrj     { "vrsqrt28p%XW",     { XM, EXx, EXxEVexS }, 0 },
2469*a9fa9459Szrj   },
2470*a9fa9459Szrj   /* PREFIX_EVEX_0F38CD */
2471*a9fa9459Szrj   {
2472*a9fa9459Szrj     { Bad_Opcode },
2473*a9fa9459Szrj     { Bad_Opcode },
2474*a9fa9459Szrj     { "vrsqrt28s%XW",     { XMScalar, VexScalar, EXxmm_mdq, EXxEVexS }, 0 },
2475*a9fa9459Szrj   },
2476*a9fa9459Szrj   /* PREFIX_EVEX_0F3A00 */
2477*a9fa9459Szrj   {
2478*a9fa9459Szrj     { Bad_Opcode },
2479*a9fa9459Szrj     { Bad_Opcode },
2480*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0F3A00_P_2) },
2481*a9fa9459Szrj   },
2482*a9fa9459Szrj   /* PREFIX_EVEX_0F3A01 */
2483*a9fa9459Szrj   {
2484*a9fa9459Szrj     { Bad_Opcode },
2485*a9fa9459Szrj     { Bad_Opcode },
2486*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0F3A01_P_2) },
2487*a9fa9459Szrj   },
2488*a9fa9459Szrj   /* PREFIX_EVEX_0F3A03 */
2489*a9fa9459Szrj   {
2490*a9fa9459Szrj     { Bad_Opcode },
2491*a9fa9459Szrj     { Bad_Opcode },
2492*a9fa9459Szrj     { "valign%LW",	{ XM, Vex, EXx, Ib }, 0 },
2493*a9fa9459Szrj   },
2494*a9fa9459Szrj   /* PREFIX_EVEX_0F3A04 */
2495*a9fa9459Szrj   {
2496*a9fa9459Szrj     { Bad_Opcode },
2497*a9fa9459Szrj     { Bad_Opcode },
2498*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0F3A04_P_2) },
2499*a9fa9459Szrj   },
2500*a9fa9459Szrj   /* PREFIX_EVEX_0F3A05 */
2501*a9fa9459Szrj   {
2502*a9fa9459Szrj     { Bad_Opcode },
2503*a9fa9459Szrj     { Bad_Opcode },
2504*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0F3A05_P_2) },
2505*a9fa9459Szrj   },
2506*a9fa9459Szrj   /* PREFIX_EVEX_0F3A08 */
2507*a9fa9459Szrj   {
2508*a9fa9459Szrj     { Bad_Opcode },
2509*a9fa9459Szrj     { Bad_Opcode },
2510*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0F3A08_P_2) },
2511*a9fa9459Szrj   },
2512*a9fa9459Szrj   /* PREFIX_EVEX_0F3A09 */
2513*a9fa9459Szrj   {
2514*a9fa9459Szrj     { Bad_Opcode },
2515*a9fa9459Szrj     { Bad_Opcode },
2516*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0F3A09_P_2) },
2517*a9fa9459Szrj   },
2518*a9fa9459Szrj   /* PREFIX_EVEX_0F3A0A */
2519*a9fa9459Szrj   {
2520*a9fa9459Szrj     { Bad_Opcode },
2521*a9fa9459Szrj     { Bad_Opcode },
2522*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0F3A0A_P_2) },
2523*a9fa9459Szrj   },
2524*a9fa9459Szrj   /* PREFIX_EVEX_0F3A0B */
2525*a9fa9459Szrj   {
2526*a9fa9459Szrj     { Bad_Opcode },
2527*a9fa9459Szrj     { Bad_Opcode },
2528*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0F3A0B_P_2) },
2529*a9fa9459Szrj   },
2530*a9fa9459Szrj   /* PREFIX_EVEX_0F3A0F */
2531*a9fa9459Szrj   {
2532*a9fa9459Szrj     { Bad_Opcode },
2533*a9fa9459Szrj     { Bad_Opcode },
2534*a9fa9459Szrj     { "vpalignr",	{ XM, Vex, EXx, Ib }, 0 },
2535*a9fa9459Szrj   },
2536*a9fa9459Szrj   /* PREFIX_EVEX_0F3A14 */
2537*a9fa9459Szrj   {
2538*a9fa9459Szrj     { Bad_Opcode },
2539*a9fa9459Szrj     { Bad_Opcode },
2540*a9fa9459Szrj     { "vpextrb",	{ Edqb, XM, Ib }, 0 },
2541*a9fa9459Szrj   },
2542*a9fa9459Szrj   /* PREFIX_EVEX_0F3A15 */
2543*a9fa9459Szrj   {
2544*a9fa9459Szrj     { Bad_Opcode },
2545*a9fa9459Szrj     { Bad_Opcode },
2546*a9fa9459Szrj     { "vpextrw",	{ EdqwS, XM, Ib }, 0 },
2547*a9fa9459Szrj   },
2548*a9fa9459Szrj   /* PREFIX_EVEX_0F3A16 */
2549*a9fa9459Szrj   {
2550*a9fa9459Szrj     { Bad_Opcode },
2551*a9fa9459Szrj     { Bad_Opcode },
2552*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0F3A16_P_2) },
2553*a9fa9459Szrj   },
2554*a9fa9459Szrj   /* PREFIX_EVEX_0F3A17 */
2555*a9fa9459Szrj   {
2556*a9fa9459Szrj     { Bad_Opcode },
2557*a9fa9459Szrj     { Bad_Opcode },
2558*a9fa9459Szrj     { "vextractps",	{ Edqd, XMM, Ib }, 0 },
2559*a9fa9459Szrj   },
2560*a9fa9459Szrj   /* PREFIX_EVEX_0F3A18 */
2561*a9fa9459Szrj   {
2562*a9fa9459Szrj     { Bad_Opcode },
2563*a9fa9459Szrj     { Bad_Opcode },
2564*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0F3A18_P_2) },
2565*a9fa9459Szrj   },
2566*a9fa9459Szrj   /* PREFIX_EVEX_0F3A19 */
2567*a9fa9459Szrj   {
2568*a9fa9459Szrj     { Bad_Opcode },
2569*a9fa9459Szrj     { Bad_Opcode },
2570*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0F3A19_P_2) },
2571*a9fa9459Szrj   },
2572*a9fa9459Szrj   /* PREFIX_EVEX_0F3A1A */
2573*a9fa9459Szrj   {
2574*a9fa9459Szrj     { Bad_Opcode },
2575*a9fa9459Szrj     { Bad_Opcode },
2576*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0F3A1A_P_2) },
2577*a9fa9459Szrj   },
2578*a9fa9459Szrj   /* PREFIX_EVEX_0F3A1B */
2579*a9fa9459Szrj   {
2580*a9fa9459Szrj     { Bad_Opcode },
2581*a9fa9459Szrj     { Bad_Opcode },
2582*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0F3A1B_P_2) },
2583*a9fa9459Szrj   },
2584*a9fa9459Szrj   /* PREFIX_EVEX_0F3A1D */
2585*a9fa9459Szrj   {
2586*a9fa9459Szrj     { Bad_Opcode },
2587*a9fa9459Szrj     { Bad_Opcode },
2588*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0F3A1D_P_2) },
2589*a9fa9459Szrj   },
2590*a9fa9459Szrj   /* PREFIX_EVEX_0F3A1E */
2591*a9fa9459Szrj   {
2592*a9fa9459Szrj     { Bad_Opcode },
2593*a9fa9459Szrj     { Bad_Opcode },
2594*a9fa9459Szrj     { "vpcmpu%LW",	{ XMask, Vex, EXx, VPCMP }, 0 },
2595*a9fa9459Szrj   },
2596*a9fa9459Szrj   /* PREFIX_EVEX_0F3A1F */
2597*a9fa9459Szrj   {
2598*a9fa9459Szrj     { Bad_Opcode },
2599*a9fa9459Szrj     { Bad_Opcode },
2600*a9fa9459Szrj     { "vpcmp%LW",	{ XMask, Vex, EXx, VPCMP }, 0 },
2601*a9fa9459Szrj   },
2602*a9fa9459Szrj   /* PREFIX_EVEX_0F3A20 */
2603*a9fa9459Szrj   {
2604*a9fa9459Szrj     { Bad_Opcode },
2605*a9fa9459Szrj     { Bad_Opcode },
2606*a9fa9459Szrj     { "vpinsrb",	{ XM, Vex128, Edb, Ib }, 0 },
2607*a9fa9459Szrj   },
2608*a9fa9459Szrj   /* PREFIX_EVEX_0F3A21 */
2609*a9fa9459Szrj   {
2610*a9fa9459Szrj     { Bad_Opcode },
2611*a9fa9459Szrj     { Bad_Opcode },
2612*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0F3A21_P_2) },
2613*a9fa9459Szrj   },
2614*a9fa9459Szrj   /* PREFIX_EVEX_0F3A22 */
2615*a9fa9459Szrj   {
2616*a9fa9459Szrj     { Bad_Opcode },
2617*a9fa9459Szrj     { Bad_Opcode },
2618*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0F3A22_P_2) },
2619*a9fa9459Szrj   },
2620*a9fa9459Szrj   /* PREFIX_EVEX_0F3A23 */
2621*a9fa9459Szrj   {
2622*a9fa9459Szrj     { Bad_Opcode },
2623*a9fa9459Szrj     { Bad_Opcode },
2624*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0F3A23_P_2) },
2625*a9fa9459Szrj   },
2626*a9fa9459Szrj   /* PREFIX_EVEX_0F3A25 */
2627*a9fa9459Szrj   {
2628*a9fa9459Szrj     { Bad_Opcode },
2629*a9fa9459Szrj     { Bad_Opcode },
2630*a9fa9459Szrj     { "vpternlog%LW",	{ XM, Vex, EXx, Ib }, 0 },
2631*a9fa9459Szrj   },
2632*a9fa9459Szrj   /* PREFIX_EVEX_0F3A26 */
2633*a9fa9459Szrj   {
2634*a9fa9459Szrj     { Bad_Opcode },
2635*a9fa9459Szrj     { Bad_Opcode },
2636*a9fa9459Szrj     { "vgetmantp%XW",	{ XM, EXx, EXxEVexS, Ib }, 0 },
2637*a9fa9459Szrj   },
2638*a9fa9459Szrj   /* PREFIX_EVEX_0F3A27 */
2639*a9fa9459Szrj   {
2640*a9fa9459Szrj     { Bad_Opcode },
2641*a9fa9459Szrj     { Bad_Opcode },
2642*a9fa9459Szrj     { "vgetmants%XW",	{ XMScalar, VexScalar, EXxmm_mdq, EXxEVexS, Ib }, 0 },
2643*a9fa9459Szrj   },
2644*a9fa9459Szrj   /* PREFIX_EVEX_0F3A38 */
2645*a9fa9459Szrj   {
2646*a9fa9459Szrj     { Bad_Opcode },
2647*a9fa9459Szrj     { Bad_Opcode },
2648*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0F3A38_P_2) },
2649*a9fa9459Szrj   },
2650*a9fa9459Szrj   /* PREFIX_EVEX_0F3A39 */
2651*a9fa9459Szrj   {
2652*a9fa9459Szrj     { Bad_Opcode },
2653*a9fa9459Szrj     { Bad_Opcode },
2654*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0F3A39_P_2) },
2655*a9fa9459Szrj   },
2656*a9fa9459Szrj   /* PREFIX_EVEX_0F3A3A */
2657*a9fa9459Szrj   {
2658*a9fa9459Szrj     { Bad_Opcode },
2659*a9fa9459Szrj     { Bad_Opcode },
2660*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0F3A3A_P_2) },
2661*a9fa9459Szrj   },
2662*a9fa9459Szrj   /* PREFIX_EVEX_0F3A3B */
2663*a9fa9459Szrj   {
2664*a9fa9459Szrj     { Bad_Opcode },
2665*a9fa9459Szrj     { Bad_Opcode },
2666*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0F3A3B_P_2) },
2667*a9fa9459Szrj   },
2668*a9fa9459Szrj   /* PREFIX_EVEX_0F3A3E */
2669*a9fa9459Szrj   {
2670*a9fa9459Szrj     { Bad_Opcode },
2671*a9fa9459Szrj     { Bad_Opcode },
2672*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0F3A3E_P_2) },
2673*a9fa9459Szrj   },
2674*a9fa9459Szrj   /* PREFIX_EVEX_0F3A3F */
2675*a9fa9459Szrj   {
2676*a9fa9459Szrj     { Bad_Opcode },
2677*a9fa9459Szrj     { Bad_Opcode },
2678*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0F3A3F_P_2) },
2679*a9fa9459Szrj   },
2680*a9fa9459Szrj   /* PREFIX_EVEX_0F3A42 */
2681*a9fa9459Szrj   {
2682*a9fa9459Szrj     { Bad_Opcode },
2683*a9fa9459Szrj     { Bad_Opcode },
2684*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0F3A42_P_2) },
2685*a9fa9459Szrj   },
2686*a9fa9459Szrj   /* PREFIX_EVEX_0F3A43 */
2687*a9fa9459Szrj   {
2688*a9fa9459Szrj     { Bad_Opcode },
2689*a9fa9459Szrj     { Bad_Opcode },
2690*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0F3A43_P_2) },
2691*a9fa9459Szrj   },
2692*a9fa9459Szrj   /* PREFIX_EVEX_0F3A50 */
2693*a9fa9459Szrj   {
2694*a9fa9459Szrj     { Bad_Opcode },
2695*a9fa9459Szrj     { Bad_Opcode },
2696*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0F3A50_P_2) },
2697*a9fa9459Szrj   },
2698*a9fa9459Szrj   /* PREFIX_EVEX_0F3A51 */
2699*a9fa9459Szrj   {
2700*a9fa9459Szrj     { Bad_Opcode },
2701*a9fa9459Szrj     { Bad_Opcode },
2702*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0F3A51_P_2) },
2703*a9fa9459Szrj   },
2704*a9fa9459Szrj   /* PREFIX_EVEX_0F3A54 */
2705*a9fa9459Szrj   {
2706*a9fa9459Szrj     { Bad_Opcode },
2707*a9fa9459Szrj     { Bad_Opcode },
2708*a9fa9459Szrj     { "vfixupimmp%XW",	{ XM, Vex, EXx, EXxEVexS, Ib }, 0 },
2709*a9fa9459Szrj   },
2710*a9fa9459Szrj   /* PREFIX_EVEX_0F3A55 */
2711*a9fa9459Szrj   {
2712*a9fa9459Szrj     { Bad_Opcode },
2713*a9fa9459Szrj     { Bad_Opcode },
2714*a9fa9459Szrj     { "vfixupimms%XW",	{ XMScalar, VexScalar, EXxmm_mdq, EXxEVexS, Ib }, 0 },
2715*a9fa9459Szrj   },
2716*a9fa9459Szrj   /* PREFIX_EVEX_0F3A56 */
2717*a9fa9459Szrj   {
2718*a9fa9459Szrj     { Bad_Opcode },
2719*a9fa9459Szrj     { Bad_Opcode },
2720*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0F3A56_P_2) },
2721*a9fa9459Szrj   },
2722*a9fa9459Szrj   /* PREFIX_EVEX_0F3A57 */
2723*a9fa9459Szrj   {
2724*a9fa9459Szrj     { Bad_Opcode },
2725*a9fa9459Szrj     { Bad_Opcode },
2726*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0F3A57_P_2) },
2727*a9fa9459Szrj   },
2728*a9fa9459Szrj   /* PREFIX_EVEX_0F3A66 */
2729*a9fa9459Szrj   {
2730*a9fa9459Szrj     { Bad_Opcode },
2731*a9fa9459Szrj     { Bad_Opcode },
2732*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0F3A66_P_2) },
2733*a9fa9459Szrj   },
2734*a9fa9459Szrj   /* PREFIX_EVEX_0F3A67 */
2735*a9fa9459Szrj   {
2736*a9fa9459Szrj     { Bad_Opcode },
2737*a9fa9459Szrj     { Bad_Opcode },
2738*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0F3A67_P_2) },
2739*a9fa9459Szrj   },
2740*a9fa9459Szrj #endif /* NEED_PREFIX_TABLE */
2741*a9fa9459Szrj 
2742*a9fa9459Szrj #ifdef NEED_VEX_W_TABLE
2743*a9fa9459Szrj   /* EVEX_W_0F10_P_0 */
2744*a9fa9459Szrj   {
2745*a9fa9459Szrj     { "vmovups",	{ XM, EXEvexXNoBcst }, 0 },
2746*a9fa9459Szrj   },
2747*a9fa9459Szrj   /* EVEX_W_0F10_P_1_M_0 */
2748*a9fa9459Szrj   {
2749*a9fa9459Szrj     { "vmovss",	{ XMScalar, EXdScalar }, 0 },
2750*a9fa9459Szrj   },
2751*a9fa9459Szrj   /* EVEX_W_0F10_P_1_M_1 */
2752*a9fa9459Szrj   {
2753*a9fa9459Szrj     { "vmovss",	{ XMScalar, VexScalar, EXxmm_md }, 0 },
2754*a9fa9459Szrj   },
2755*a9fa9459Szrj   /* EVEX_W_0F10_P_2 */
2756*a9fa9459Szrj   {
2757*a9fa9459Szrj     { Bad_Opcode },
2758*a9fa9459Szrj     { "vmovupd",	{ XM, EXEvexXNoBcst }, 0 },
2759*a9fa9459Szrj   },
2760*a9fa9459Szrj   /* EVEX_W_0F10_P_3_M_0 */
2761*a9fa9459Szrj   {
2762*a9fa9459Szrj     { Bad_Opcode },
2763*a9fa9459Szrj     { "vmovsd",	{ XMScalar, EXqScalar }, 0 },
2764*a9fa9459Szrj   },
2765*a9fa9459Szrj   /* EVEX_W_0F10_P_3_M_1 */
2766*a9fa9459Szrj   {
2767*a9fa9459Szrj     { Bad_Opcode },
2768*a9fa9459Szrj     { "vmovsd",	{ XMScalar, VexScalar, EXxmm_mq }, 0 },
2769*a9fa9459Szrj   },
2770*a9fa9459Szrj   /* EVEX_W_0F11_P_0 */
2771*a9fa9459Szrj   {
2772*a9fa9459Szrj     { "vmovups",	{ EXxS, XM }, 0 },
2773*a9fa9459Szrj   },
2774*a9fa9459Szrj   /* EVEX_W_0F11_P_1_M_0 */
2775*a9fa9459Szrj   {
2776*a9fa9459Szrj     { "vmovss",	{ EXdScalarS, XMScalar }, 0 },
2777*a9fa9459Szrj   },
2778*a9fa9459Szrj   /* EVEX_W_0F11_P_1_M_1 */
2779*a9fa9459Szrj   {
2780*a9fa9459Szrj     { "vmovss",	{ EXxS, Vex, XMScalar }, 0 },
2781*a9fa9459Szrj   },
2782*a9fa9459Szrj   /* EVEX_W_0F11_P_2 */
2783*a9fa9459Szrj   {
2784*a9fa9459Szrj     { Bad_Opcode },
2785*a9fa9459Szrj     { "vmovupd",	{ EXxS, XM }, 0 },
2786*a9fa9459Szrj   },
2787*a9fa9459Szrj   /* EVEX_W_0F11_P_3_M_0 */
2788*a9fa9459Szrj   {
2789*a9fa9459Szrj     { Bad_Opcode },
2790*a9fa9459Szrj     { "vmovsd",	{ EXqScalarS, XMScalar }, 0 },
2791*a9fa9459Szrj   },
2792*a9fa9459Szrj   /* EVEX_W_0F11_P_3_M_1 */
2793*a9fa9459Szrj   {
2794*a9fa9459Szrj     { Bad_Opcode },
2795*a9fa9459Szrj     { "vmovsd",	{ EXxS, Vex, XMScalar }, 0 },
2796*a9fa9459Szrj   },
2797*a9fa9459Szrj   /* EVEX_W_0F12_P_0_M_0 */
2798*a9fa9459Szrj   {
2799*a9fa9459Szrj     { "vmovlps",	{ XMM, Vex, EXxmm_mq }, 0 },
2800*a9fa9459Szrj   },
2801*a9fa9459Szrj   /* EVEX_W_0F12_P_0_M_1 */
2802*a9fa9459Szrj   {
2803*a9fa9459Szrj     { "vmovhlps",	{ XMM, Vex, EXxmm_mq }, 0 },
2804*a9fa9459Szrj   },
2805*a9fa9459Szrj   /* EVEX_W_0F12_P_1 */
2806*a9fa9459Szrj   {
2807*a9fa9459Szrj     { "vmovsldup",	{ XM, EXEvexXNoBcst }, 0 },
2808*a9fa9459Szrj   },
2809*a9fa9459Szrj   /* EVEX_W_0F12_P_2 */
2810*a9fa9459Szrj   {
2811*a9fa9459Szrj     { Bad_Opcode },
2812*a9fa9459Szrj     { "vmovlpd",	{ XMM, Vex, EXxmm_mq }, 0 },
2813*a9fa9459Szrj   },
2814*a9fa9459Szrj   /* EVEX_W_0F12_P_3 */
2815*a9fa9459Szrj   {
2816*a9fa9459Szrj     { Bad_Opcode },
2817*a9fa9459Szrj     { "vmovddup",	{ XM, EXymmq }, 0 },
2818*a9fa9459Szrj   },
2819*a9fa9459Szrj   /* EVEX_W_0F13_P_0 */
2820*a9fa9459Szrj   {
2821*a9fa9459Szrj     { "vmovlps",	{ EXxmm_mq, XMM }, 0 },
2822*a9fa9459Szrj   },
2823*a9fa9459Szrj   /* EVEX_W_0F13_P_2 */
2824*a9fa9459Szrj   {
2825*a9fa9459Szrj     { Bad_Opcode },
2826*a9fa9459Szrj     { "vmovlpd",	{ EXxmm_mq, XMM }, 0 },
2827*a9fa9459Szrj   },
2828*a9fa9459Szrj   /* EVEX_W_0F14_P_0 */
2829*a9fa9459Szrj   {
2830*a9fa9459Szrj     { "vunpcklps",	{ XM, Vex, EXx }, 0 },
2831*a9fa9459Szrj   },
2832*a9fa9459Szrj   /* EVEX_W_0F14_P_2 */
2833*a9fa9459Szrj   {
2834*a9fa9459Szrj     { Bad_Opcode },
2835*a9fa9459Szrj     { "vunpcklpd",	{ XM, Vex, EXx }, 0 },
2836*a9fa9459Szrj   },
2837*a9fa9459Szrj   /* EVEX_W_0F15_P_0 */
2838*a9fa9459Szrj   {
2839*a9fa9459Szrj     { "vunpckhps",	{ XM, Vex, EXx }, 0 },
2840*a9fa9459Szrj   },
2841*a9fa9459Szrj   /* EVEX_W_0F15_P_2 */
2842*a9fa9459Szrj   {
2843*a9fa9459Szrj     { Bad_Opcode },
2844*a9fa9459Szrj     { "vunpckhpd",	{ XM, Vex, EXx }, 0 },
2845*a9fa9459Szrj   },
2846*a9fa9459Szrj   /* EVEX_W_0F16_P_0_M_0 */
2847*a9fa9459Szrj   {
2848*a9fa9459Szrj     { "vmovhps",	{ XMM, Vex, EXxmm_mq }, 0 },
2849*a9fa9459Szrj   },
2850*a9fa9459Szrj   /* EVEX_W_0F16_P_0_M_1 */
2851*a9fa9459Szrj   {
2852*a9fa9459Szrj     { "vmovlhps",	{ XMM, Vex, EXx }, 0 },
2853*a9fa9459Szrj   },
2854*a9fa9459Szrj   /* EVEX_W_0F16_P_1 */
2855*a9fa9459Szrj   {
2856*a9fa9459Szrj     { "vmovshdup",	{ XM, EXx }, 0 },
2857*a9fa9459Szrj   },
2858*a9fa9459Szrj   /* EVEX_W_0F16_P_2 */
2859*a9fa9459Szrj   {
2860*a9fa9459Szrj     { Bad_Opcode },
2861*a9fa9459Szrj     { "vmovhpd",	{ XMM, Vex, EXxmm_mq }, 0 },
2862*a9fa9459Szrj   },
2863*a9fa9459Szrj   /* EVEX_W_0F17_P_0 */
2864*a9fa9459Szrj   {
2865*a9fa9459Szrj     { "vmovhps",	{ EXxmm_mq, XMM }, 0 },
2866*a9fa9459Szrj   },
2867*a9fa9459Szrj   /* EVEX_W_0F17_P_2 */
2868*a9fa9459Szrj   {
2869*a9fa9459Szrj     { Bad_Opcode },
2870*a9fa9459Szrj     { "vmovhpd",	{ EXxmm_mq, XMM }, 0 },
2871*a9fa9459Szrj   },
2872*a9fa9459Szrj   /* EVEX_W_0F28_P_0 */
2873*a9fa9459Szrj   {
2874*a9fa9459Szrj     { "vmovaps",	{ XM, EXx }, 0 },
2875*a9fa9459Szrj   },
2876*a9fa9459Szrj   /* EVEX_W_0F28_P_2 */
2877*a9fa9459Szrj   {
2878*a9fa9459Szrj     { Bad_Opcode },
2879*a9fa9459Szrj     { "vmovapd",	{ XM, EXx }, 0 },
2880*a9fa9459Szrj   },
2881*a9fa9459Szrj   /* EVEX_W_0F29_P_0 */
2882*a9fa9459Szrj   {
2883*a9fa9459Szrj     { "vmovaps",	{ EXxS, XM }, 0 },
2884*a9fa9459Szrj   },
2885*a9fa9459Szrj   /* EVEX_W_0F29_P_2 */
2886*a9fa9459Szrj   {
2887*a9fa9459Szrj     { Bad_Opcode },
2888*a9fa9459Szrj     { "vmovapd",	{ EXxS, XM }, 0 },
2889*a9fa9459Szrj   },
2890*a9fa9459Szrj   /* EVEX_W_0F2A_P_1 */
2891*a9fa9459Szrj   {
2892*a9fa9459Szrj     { "vcvtsi2ss",	{ XMScalar, VexScalar, EXxEVexR, Ed }, 0 },
2893*a9fa9459Szrj     { "vcvtsi2ss",	{ XMScalar, VexScalar, EXxEVexR, Eq }, 0 },
2894*a9fa9459Szrj   },
2895*a9fa9459Szrj   /* EVEX_W_0F2A_P_3 */
2896*a9fa9459Szrj   {
2897*a9fa9459Szrj     { "vcvtsi2sd",	{ XMScalar, VexScalar, Ed }, 0 },
2898*a9fa9459Szrj     { "vcvtsi2sd",	{ XMScalar, VexScalar, EXxEVexR, Eq }, 0 },
2899*a9fa9459Szrj   },
2900*a9fa9459Szrj   /* EVEX_W_0F2B_P_0 */
2901*a9fa9459Szrj   {
2902*a9fa9459Szrj     { "vmovntps",	{ EXx, XM }, 0 },
2903*a9fa9459Szrj   },
2904*a9fa9459Szrj   /* EVEX_W_0F2B_P_2 */
2905*a9fa9459Szrj   {
2906*a9fa9459Szrj     { Bad_Opcode },
2907*a9fa9459Szrj     { "vmovntpd",	{ EXx, XM }, 0 },
2908*a9fa9459Szrj   },
2909*a9fa9459Szrj   /* EVEX_W_0F2E_P_0 */
2910*a9fa9459Szrj   {
2911*a9fa9459Szrj     { "vucomiss",	{ XMScalar, EXxmm_md, EXxEVexS }, 0 },
2912*a9fa9459Szrj   },
2913*a9fa9459Szrj   /* EVEX_W_0F2E_P_2 */
2914*a9fa9459Szrj   {
2915*a9fa9459Szrj     { Bad_Opcode },
2916*a9fa9459Szrj     { "vucomisd",	{ XMScalar, EXxmm_mq, EXxEVexS }, 0 },
2917*a9fa9459Szrj   },
2918*a9fa9459Szrj   /* EVEX_W_0F2F_P_0 */
2919*a9fa9459Szrj   {
2920*a9fa9459Szrj     { "vcomiss",	{ XMScalar, EXxmm_md, EXxEVexS }, 0 },
2921*a9fa9459Szrj   },
2922*a9fa9459Szrj   /* EVEX_W_0F2F_P_2 */
2923*a9fa9459Szrj   {
2924*a9fa9459Szrj     { Bad_Opcode },
2925*a9fa9459Szrj     { "vcomisd",	{ XMScalar, EXxmm_mq, EXxEVexS }, 0 },
2926*a9fa9459Szrj   },
2927*a9fa9459Szrj   /* EVEX_W_0F51_P_0 */
2928*a9fa9459Szrj   {
2929*a9fa9459Szrj     { "vsqrtps",	{ XM, EXx, EXxEVexR }, 0 },
2930*a9fa9459Szrj   },
2931*a9fa9459Szrj   /* EVEX_W_0F51_P_1 */
2932*a9fa9459Szrj   {
2933*a9fa9459Szrj     { "vsqrtss",	{ XMScalar, VexScalar, EXxmm_md, EXxEVexR }, 0 },
2934*a9fa9459Szrj   },
2935*a9fa9459Szrj   /* EVEX_W_0F51_P_2 */
2936*a9fa9459Szrj   {
2937*a9fa9459Szrj     { Bad_Opcode },
2938*a9fa9459Szrj     { "vsqrtpd",	{ XM, EXx, EXxEVexR }, 0 },
2939*a9fa9459Szrj   },
2940*a9fa9459Szrj   /* EVEX_W_0F51_P_3 */
2941*a9fa9459Szrj   {
2942*a9fa9459Szrj     { Bad_Opcode },
2943*a9fa9459Szrj     { "vsqrtsd",	{ XMScalar, VexScalar, EXxmm_mq, EXxEVexR }, 0 },
2944*a9fa9459Szrj   },
2945*a9fa9459Szrj   /* EVEX_W_0F54_P_0 */
2946*a9fa9459Szrj   {
2947*a9fa9459Szrj     { "vandps",	{ XM, Vex, EXx }, 0 },
2948*a9fa9459Szrj   },
2949*a9fa9459Szrj   /* EVEX_W_0F54_P_2 */
2950*a9fa9459Szrj   {
2951*a9fa9459Szrj     { Bad_Opcode },
2952*a9fa9459Szrj     { "vandpd",	{ XM, Vex, EXx }, 0 },
2953*a9fa9459Szrj   },
2954*a9fa9459Szrj   /* EVEX_W_0F55_P_0 */
2955*a9fa9459Szrj   {
2956*a9fa9459Szrj     { "vandnps",	{ XM, Vex, EXx }, 0 },
2957*a9fa9459Szrj   },
2958*a9fa9459Szrj   /* EVEX_W_0F55_P_2 */
2959*a9fa9459Szrj   {
2960*a9fa9459Szrj     { Bad_Opcode },
2961*a9fa9459Szrj     { "vandnpd",	{ XM, Vex, EXx }, 0 },
2962*a9fa9459Szrj   },
2963*a9fa9459Szrj   /* EVEX_W_0F56_P_0 */
2964*a9fa9459Szrj   {
2965*a9fa9459Szrj     { "vorps",	{ XM, Vex, EXx }, 0 },
2966*a9fa9459Szrj   },
2967*a9fa9459Szrj   /* EVEX_W_0F56_P_2 */
2968*a9fa9459Szrj   {
2969*a9fa9459Szrj     { Bad_Opcode },
2970*a9fa9459Szrj     { "vorpd",	{ XM, Vex, EXx }, 0 },
2971*a9fa9459Szrj   },
2972*a9fa9459Szrj   /* EVEX_W_0F57_P_0 */
2973*a9fa9459Szrj   {
2974*a9fa9459Szrj     { "vxorps",	{ XM, Vex, EXx }, 0 },
2975*a9fa9459Szrj   },
2976*a9fa9459Szrj   /* EVEX_W_0F57_P_2 */
2977*a9fa9459Szrj   {
2978*a9fa9459Szrj     { Bad_Opcode },
2979*a9fa9459Szrj     { "vxorpd",	{ XM, Vex, EXx }, 0 },
2980*a9fa9459Szrj   },
2981*a9fa9459Szrj   /* EVEX_W_0F58_P_0 */
2982*a9fa9459Szrj   {
2983*a9fa9459Szrj     { "vaddps",	{ XM, Vex, EXx, EXxEVexR }, 0 },
2984*a9fa9459Szrj   },
2985*a9fa9459Szrj   /* EVEX_W_0F58_P_1 */
2986*a9fa9459Szrj   {
2987*a9fa9459Szrj     { "vaddss",	{ XMScalar, VexScalar, EXxmm_md, EXxEVexR }, 0 },
2988*a9fa9459Szrj   },
2989*a9fa9459Szrj   /* EVEX_W_0F58_P_2 */
2990*a9fa9459Szrj   {
2991*a9fa9459Szrj     { Bad_Opcode },
2992*a9fa9459Szrj     { "vaddpd",	{ XM, Vex, EXx, EXxEVexR }, 0 },
2993*a9fa9459Szrj   },
2994*a9fa9459Szrj   /* EVEX_W_0F58_P_3 */
2995*a9fa9459Szrj   {
2996*a9fa9459Szrj     { Bad_Opcode },
2997*a9fa9459Szrj     { "vaddsd",	{ XMScalar, VexScalar, EXxmm_mq, EXxEVexR }, 0 },
2998*a9fa9459Szrj   },
2999*a9fa9459Szrj   /* EVEX_W_0F59_P_0 */
3000*a9fa9459Szrj   {
3001*a9fa9459Szrj     { "vmulps",	{ XM, Vex, EXx, EXxEVexR }, 0 },
3002*a9fa9459Szrj   },
3003*a9fa9459Szrj   /* EVEX_W_0F59_P_1 */
3004*a9fa9459Szrj   {
3005*a9fa9459Szrj     { "vmulss",	{ XMScalar, VexScalar, EXxmm_md, EXxEVexR }, 0 },
3006*a9fa9459Szrj   },
3007*a9fa9459Szrj   /* EVEX_W_0F59_P_2 */
3008*a9fa9459Szrj   {
3009*a9fa9459Szrj     { Bad_Opcode },
3010*a9fa9459Szrj     { "vmulpd",	{ XM, Vex, EXx, EXxEVexR }, 0 },
3011*a9fa9459Szrj   },
3012*a9fa9459Szrj   /* EVEX_W_0F59_P_3 */
3013*a9fa9459Szrj   {
3014*a9fa9459Szrj     { Bad_Opcode },
3015*a9fa9459Szrj     { "vmulsd",	{ XMScalar, VexScalar, EXxmm_mq, EXxEVexR }, 0 },
3016*a9fa9459Szrj   },
3017*a9fa9459Szrj   /* EVEX_W_0F5A_P_0 */
3018*a9fa9459Szrj   {
3019*a9fa9459Szrj     { "vcvtps2pd",   { XM, EXEvexHalfBcstXmmq, EXxEVexS }, 0 },
3020*a9fa9459Szrj   },
3021*a9fa9459Szrj   /* EVEX_W_0F5A_P_1 */
3022*a9fa9459Szrj   {
3023*a9fa9459Szrj     { "vcvtss2sd",	{ XMScalar, VexScalar, EXxmm_md, EXxEVexS }, 0 },
3024*a9fa9459Szrj   },
3025*a9fa9459Szrj   /* EVEX_W_0F5A_P_2 */
3026*a9fa9459Szrj   {
3027*a9fa9459Szrj     { Bad_Opcode },
3028*a9fa9459Szrj     { "vcvtpd2ps%XY",	{ XMxmmq, EXx, EXxEVexR }, 0 },
3029*a9fa9459Szrj   },
3030*a9fa9459Szrj   /* EVEX_W_0F5A_P_3 */
3031*a9fa9459Szrj   {
3032*a9fa9459Szrj     { Bad_Opcode },
3033*a9fa9459Szrj     { "vcvtsd2ss",	{ XMScalar, VexScalar, EXxmm_mq, EXxEVexR }, 0 },
3034*a9fa9459Szrj   },
3035*a9fa9459Szrj   /* EVEX_W_0F5B_P_0 */
3036*a9fa9459Szrj   {
3037*a9fa9459Szrj     { "vcvtdq2ps",	{ XM, EXx, EXxEVexR }, 0 },
3038*a9fa9459Szrj     { "vcvtqq2ps%XY",	{ XMxmmq, EXx, EXxEVexR }, 0 },
3039*a9fa9459Szrj   },
3040*a9fa9459Szrj   /* EVEX_W_0F5B_P_1 */
3041*a9fa9459Szrj   {
3042*a9fa9459Szrj     { "vcvttps2dq",	{ XM, EXx, EXxEVexS }, 0 },
3043*a9fa9459Szrj   },
3044*a9fa9459Szrj   /* EVEX_W_0F5B_P_2 */
3045*a9fa9459Szrj   {
3046*a9fa9459Szrj     { "vcvtps2dq",	{ XM, EXx, EXxEVexR }, 0 },
3047*a9fa9459Szrj   },
3048*a9fa9459Szrj   /* EVEX_W_0F5C_P_0 */
3049*a9fa9459Szrj   {
3050*a9fa9459Szrj     { "vsubps",	{ XM, Vex, EXx, EXxEVexR }, 0 },
3051*a9fa9459Szrj   },
3052*a9fa9459Szrj   /* EVEX_W_0F5C_P_1 */
3053*a9fa9459Szrj   {
3054*a9fa9459Szrj     { "vsubss",	{ XMScalar, VexScalar, EXxmm_md, EXxEVexR }, 0 },
3055*a9fa9459Szrj   },
3056*a9fa9459Szrj   /* EVEX_W_0F5C_P_2 */
3057*a9fa9459Szrj   {
3058*a9fa9459Szrj     { Bad_Opcode },
3059*a9fa9459Szrj     { "vsubpd",	{ XM, Vex, EXx, EXxEVexR }, 0 },
3060*a9fa9459Szrj   },
3061*a9fa9459Szrj   /* EVEX_W_0F5C_P_3 */
3062*a9fa9459Szrj   {
3063*a9fa9459Szrj     { Bad_Opcode },
3064*a9fa9459Szrj     { "vsubsd",	{ XMScalar, VexScalar, EXxmm_mq, EXxEVexR }, 0 },
3065*a9fa9459Szrj   },
3066*a9fa9459Szrj   /* EVEX_W_0F5D_P_0 */
3067*a9fa9459Szrj   {
3068*a9fa9459Szrj     { "vminps",	{ XM, Vex, EXx, EXxEVexS }, 0 },
3069*a9fa9459Szrj   },
3070*a9fa9459Szrj   /* EVEX_W_0F5D_P_1 */
3071*a9fa9459Szrj   {
3072*a9fa9459Szrj     { "vminss",	{ XMScalar, VexScalar, EXxmm_md, EXxEVexS }, 0 },
3073*a9fa9459Szrj   },
3074*a9fa9459Szrj   /* EVEX_W_0F5D_P_2 */
3075*a9fa9459Szrj   {
3076*a9fa9459Szrj     { Bad_Opcode },
3077*a9fa9459Szrj     { "vminpd",	{ XM, Vex, EXx, EXxEVexS }, 0 },
3078*a9fa9459Szrj   },
3079*a9fa9459Szrj   /* EVEX_W_0F5D_P_3 */
3080*a9fa9459Szrj   {
3081*a9fa9459Szrj     { Bad_Opcode },
3082*a9fa9459Szrj     { "vminsd",	{ XMScalar, VexScalar, EXxmm_mq, EXxEVexS }, 0 },
3083*a9fa9459Szrj   },
3084*a9fa9459Szrj   /* EVEX_W_0F5E_P_0 */
3085*a9fa9459Szrj   {
3086*a9fa9459Szrj     { "vdivps",	{ XM, Vex, EXx, EXxEVexR }, 0 },
3087*a9fa9459Szrj   },
3088*a9fa9459Szrj   /* EVEX_W_0F5E_P_1 */
3089*a9fa9459Szrj   {
3090*a9fa9459Szrj     { "vdivss",	{ XMScalar, VexScalar, EXxmm_md, EXxEVexR }, 0 },
3091*a9fa9459Szrj   },
3092*a9fa9459Szrj   /* EVEX_W_0F5E_P_2 */
3093*a9fa9459Szrj   {
3094*a9fa9459Szrj     { Bad_Opcode },
3095*a9fa9459Szrj     { "vdivpd",	{ XM, Vex, EXx, EXxEVexR }, 0 },
3096*a9fa9459Szrj   },
3097*a9fa9459Szrj   /* EVEX_W_0F5E_P_3 */
3098*a9fa9459Szrj   {
3099*a9fa9459Szrj     { Bad_Opcode },
3100*a9fa9459Szrj     { "vdivsd",	{ XMScalar, VexScalar, EXxmm_mq, EXxEVexR }, 0 },
3101*a9fa9459Szrj   },
3102*a9fa9459Szrj   /* EVEX_W_0F5F_P_0 */
3103*a9fa9459Szrj   {
3104*a9fa9459Szrj     { "vmaxps",	{ XM, Vex, EXx, EXxEVexS }, 0 },
3105*a9fa9459Szrj   },
3106*a9fa9459Szrj   /* EVEX_W_0F5F_P_1 */
3107*a9fa9459Szrj   {
3108*a9fa9459Szrj     { "vmaxss",	{ XMScalar, VexScalar, EXxmm_md, EXxEVexS }, 0 },
3109*a9fa9459Szrj   },
3110*a9fa9459Szrj   /* EVEX_W_0F5F_P_2 */
3111*a9fa9459Szrj   {
3112*a9fa9459Szrj     { Bad_Opcode },
3113*a9fa9459Szrj     { "vmaxpd",	{ XM, Vex, EXx, EXxEVexS }, 0 },
3114*a9fa9459Szrj   },
3115*a9fa9459Szrj   /* EVEX_W_0F5F_P_3 */
3116*a9fa9459Szrj   {
3117*a9fa9459Szrj     { Bad_Opcode },
3118*a9fa9459Szrj     { "vmaxsd",	{ XMScalar, VexScalar, EXxmm_mq, EXxEVexS }, 0 },
3119*a9fa9459Szrj   },
3120*a9fa9459Szrj   /* EVEX_W_0F62_P_2 */
3121*a9fa9459Szrj   {
3122*a9fa9459Szrj     { "vpunpckldq",	{ XM, Vex, EXx }, 0 },
3123*a9fa9459Szrj   },
3124*a9fa9459Szrj   /* EVEX_W_0F66_P_2 */
3125*a9fa9459Szrj   {
3126*a9fa9459Szrj     { "vpcmpgtd",	{ XMask, Vex, EXx }, 0 },
3127*a9fa9459Szrj   },
3128*a9fa9459Szrj   /* EVEX_W_0F6A_P_2 */
3129*a9fa9459Szrj   {
3130*a9fa9459Szrj     { "vpunpckhdq",	{ XM, Vex, EXx }, 0 },
3131*a9fa9459Szrj   },
3132*a9fa9459Szrj   /* EVEX_W_0F6B_P_2 */
3133*a9fa9459Szrj   {
3134*a9fa9459Szrj     { "vpackssdw",	{ XM, Vex, EXx }, 0 },
3135*a9fa9459Szrj   },
3136*a9fa9459Szrj   /* EVEX_W_0F6C_P_2 */
3137*a9fa9459Szrj   {
3138*a9fa9459Szrj     { Bad_Opcode },
3139*a9fa9459Szrj     { "vpunpcklqdq",	{ XM, Vex, EXx }, 0 },
3140*a9fa9459Szrj   },
3141*a9fa9459Szrj   /* EVEX_W_0F6D_P_2 */
3142*a9fa9459Szrj   {
3143*a9fa9459Szrj     { Bad_Opcode },
3144*a9fa9459Szrj     { "vpunpckhqdq",	{ XM, Vex, EXx }, 0 },
3145*a9fa9459Szrj   },
3146*a9fa9459Szrj   /* EVEX_W_0F6E_P_2 */
3147*a9fa9459Szrj   {
3148*a9fa9459Szrj     { "vmovd",	{ XMScalar, Ed }, 0 },
3149*a9fa9459Szrj     { "vmovq",	{ XMScalar, Eq }, 0 },
3150*a9fa9459Szrj   },
3151*a9fa9459Szrj   /* EVEX_W_0F6F_P_1 */
3152*a9fa9459Szrj   {
3153*a9fa9459Szrj     { "vmovdqu32",	{ XM, EXEvexXNoBcst }, 0 },
3154*a9fa9459Szrj     { "vmovdqu64",	{ XM, EXEvexXNoBcst }, 0 },
3155*a9fa9459Szrj   },
3156*a9fa9459Szrj   /* EVEX_W_0F6F_P_2 */
3157*a9fa9459Szrj   {
3158*a9fa9459Szrj     { "vmovdqa32",	{ XM, EXEvexXNoBcst }, 0 },
3159*a9fa9459Szrj     { "vmovdqa64",	{ XM, EXEvexXNoBcst }, 0 },
3160*a9fa9459Szrj   },
3161*a9fa9459Szrj   /* EVEX_W_0F6F_P_3 */
3162*a9fa9459Szrj   {
3163*a9fa9459Szrj     { "vmovdqu8",	{ XM, EXx }, 0 },
3164*a9fa9459Szrj     { "vmovdqu16",	{ XM, EXx }, 0 },
3165*a9fa9459Szrj   },
3166*a9fa9459Szrj   /* EVEX_W_0F70_P_2 */
3167*a9fa9459Szrj   {
3168*a9fa9459Szrj     { "vpshufd",	{ XM, EXx, Ib }, 0 },
3169*a9fa9459Szrj   },
3170*a9fa9459Szrj   /* EVEX_W_0F72_R_2_P_2 */
3171*a9fa9459Szrj   {
3172*a9fa9459Szrj     { "vpsrld",	{ Vex, EXx, Ib }, 0 },
3173*a9fa9459Szrj   },
3174*a9fa9459Szrj   /* EVEX_W_0F72_R_6_P_2 */
3175*a9fa9459Szrj   {
3176*a9fa9459Szrj     { "vpslld",	{ Vex, EXx, Ib }, 0 },
3177*a9fa9459Szrj   },
3178*a9fa9459Szrj   /* EVEX_W_0F73_R_2_P_2 */
3179*a9fa9459Szrj   {
3180*a9fa9459Szrj     { Bad_Opcode },
3181*a9fa9459Szrj     { "vpsrlq",	{ Vex, EXx, Ib }, 0 },
3182*a9fa9459Szrj   },
3183*a9fa9459Szrj   /* EVEX_W_0F73_R_6_P_2 */
3184*a9fa9459Szrj   {
3185*a9fa9459Szrj     { Bad_Opcode },
3186*a9fa9459Szrj     { "vpsllq",	{ Vex, EXx, Ib }, 0 },
3187*a9fa9459Szrj   },
3188*a9fa9459Szrj   /* EVEX_W_0F76_P_2 */
3189*a9fa9459Szrj   {
3190*a9fa9459Szrj     { "vpcmpeqd",	{ XMask, Vex, EXx }, 0 },
3191*a9fa9459Szrj   },
3192*a9fa9459Szrj   /* EVEX_W_0F78_P_0 */
3193*a9fa9459Szrj   {
3194*a9fa9459Szrj     { "vcvttps2udq",	{ XM, EXx, EXxEVexS }, 0 },
3195*a9fa9459Szrj     { "vcvttpd2udq%XY",	{ XMxmmq, EXx, EXxEVexS }, 0 },
3196*a9fa9459Szrj   },
3197*a9fa9459Szrj   /* EVEX_W_0F78_P_2 */
3198*a9fa9459Szrj   {
3199*a9fa9459Szrj     { "vcvttps2uqq",	{ XM, EXEvexHalfBcstXmmq, EXxEVexS }, 0 },
3200*a9fa9459Szrj     { "vcvttpd2uqq",	{ XM, EXx, EXxEVexS }, 0 },
3201*a9fa9459Szrj   },
3202*a9fa9459Szrj   /* EVEX_W_0F79_P_0 */
3203*a9fa9459Szrj   {
3204*a9fa9459Szrj     { "vcvtps2udq",	{ XM, EXx, EXxEVexR }, 0 },
3205*a9fa9459Szrj     { "vcvtpd2udq%XY",	{ XMxmmq, EXx, EXxEVexR }, 0 },
3206*a9fa9459Szrj   },
3207*a9fa9459Szrj   /* EVEX_W_0F79_P_2 */
3208*a9fa9459Szrj   {
3209*a9fa9459Szrj     { "vcvtps2uqq",	{ XM, EXEvexHalfBcstXmmq, EXxEVexR }, 0 },
3210*a9fa9459Szrj     { "vcvtpd2uqq",	{ XM, EXx, EXxEVexR }, 0 },
3211*a9fa9459Szrj   },
3212*a9fa9459Szrj   /* EVEX_W_0F7A_P_1 */
3213*a9fa9459Szrj   {
3214*a9fa9459Szrj     { "vcvtudq2pd",	{ XM, EXEvexHalfBcstXmmq }, 0 },
3215*a9fa9459Szrj     { "vcvtuqq2pd",	{ XM, EXx, EXxEVexR }, 0 },
3216*a9fa9459Szrj   },
3217*a9fa9459Szrj   /* EVEX_W_0F7A_P_2 */
3218*a9fa9459Szrj   {
3219*a9fa9459Szrj     { "vcvttps2qq",	{ XM, EXEvexHalfBcstXmmq, EXxEVexS }, 0 },
3220*a9fa9459Szrj     { "vcvttpd2qq",	{ XM, EXx, EXxEVexS }, 0 },
3221*a9fa9459Szrj   },
3222*a9fa9459Szrj   /* EVEX_W_0F7A_P_3 */
3223*a9fa9459Szrj   {
3224*a9fa9459Szrj     { "vcvtudq2ps",	{ XM, EXx, EXxEVexR }, 0 },
3225*a9fa9459Szrj     { "vcvtuqq2ps%XY",	{ XMxmmq, EXx, EXxEVexR }, 0 },
3226*a9fa9459Szrj   },
3227*a9fa9459Szrj   /* EVEX_W_0F7B_P_1 */
3228*a9fa9459Szrj   {
3229*a9fa9459Szrj     { "vcvtusi2ss",	{ XMScalar, VexScalar, EXxEVexR, Ed }, 0 },
3230*a9fa9459Szrj     { "vcvtusi2ss",	{ XMScalar, VexScalar, EXxEVexR, Eq }, 0 },
3231*a9fa9459Szrj   },
3232*a9fa9459Szrj   /* EVEX_W_0F7B_P_2 */
3233*a9fa9459Szrj   {
3234*a9fa9459Szrj     { "vcvtps2qq",	{ XM, EXEvexHalfBcstXmmq, EXxEVexR }, 0 },
3235*a9fa9459Szrj     { "vcvtpd2qq",	{ XM, EXx, EXxEVexR }, 0 },
3236*a9fa9459Szrj   },
3237*a9fa9459Szrj   /* EVEX_W_0F7B_P_3 */
3238*a9fa9459Szrj   {
3239*a9fa9459Szrj     { "vcvtusi2sd",	{ XMScalar, VexScalar, Ed }, 0 },
3240*a9fa9459Szrj     { "vcvtusi2sd",	{ XMScalar, VexScalar, EXxEVexR, Eq }, 0 },
3241*a9fa9459Szrj   },
3242*a9fa9459Szrj   /* EVEX_W_0F7E_P_1 */
3243*a9fa9459Szrj   {
3244*a9fa9459Szrj     { Bad_Opcode },
3245*a9fa9459Szrj     { "vmovq",	{ XMScalar, EXxmm_mq }, 0 },
3246*a9fa9459Szrj   },
3247*a9fa9459Szrj   /* EVEX_W_0F7E_P_2 */
3248*a9fa9459Szrj   {
3249*a9fa9459Szrj     { "vmovd",	{ Ed, XMScalar }, 0 },
3250*a9fa9459Szrj     { "vmovq",	{ Eq, XMScalar }, 0 },
3251*a9fa9459Szrj   },
3252*a9fa9459Szrj   /* EVEX_W_0F7F_P_1 */
3253*a9fa9459Szrj   {
3254*a9fa9459Szrj     { "vmovdqu32",	{ EXxS, XM }, 0 },
3255*a9fa9459Szrj     { "vmovdqu64",	{ EXxS, XM }, 0 },
3256*a9fa9459Szrj   },
3257*a9fa9459Szrj   /* EVEX_W_0F7F_P_2 */
3258*a9fa9459Szrj   {
3259*a9fa9459Szrj     { "vmovdqa32",	{ EXxS, XM }, 0 },
3260*a9fa9459Szrj     { "vmovdqa64",	{ EXxS, XM }, 0 },
3261*a9fa9459Szrj   },
3262*a9fa9459Szrj   /* EVEX_W_0F7F_P_3 */
3263*a9fa9459Szrj   {
3264*a9fa9459Szrj     { "vmovdqu8",	{ EXxS, XM }, 0 },
3265*a9fa9459Szrj     { "vmovdqu16",	{ EXxS, XM }, 0 },
3266*a9fa9459Szrj   },
3267*a9fa9459Szrj   /* EVEX_W_0FC2_P_0 */
3268*a9fa9459Szrj   {
3269*a9fa9459Szrj     { "vcmpps",	{ XMask, Vex, EXx, EXxEVexS, VCMP }, 0 },
3270*a9fa9459Szrj   },
3271*a9fa9459Szrj   /* EVEX_W_0FC2_P_1 */
3272*a9fa9459Szrj   {
3273*a9fa9459Szrj     { "vcmpss",	{ XMask, VexScalar, EXxmm_md, EXxEVexS, VCMP }, 0 },
3274*a9fa9459Szrj   },
3275*a9fa9459Szrj   /* EVEX_W_0FC2_P_2 */
3276*a9fa9459Szrj   {
3277*a9fa9459Szrj     { Bad_Opcode },
3278*a9fa9459Szrj     { "vcmppd",	{ XMask, Vex, EXx, EXxEVexS, VCMP }, 0 },
3279*a9fa9459Szrj   },
3280*a9fa9459Szrj   /* EVEX_W_0FC2_P_3 */
3281*a9fa9459Szrj   {
3282*a9fa9459Szrj     { Bad_Opcode },
3283*a9fa9459Szrj     { "vcmpsd",	{ XMask, VexScalar, EXxmm_mq, EXxEVexS, VCMP }, 0 },
3284*a9fa9459Szrj   },
3285*a9fa9459Szrj   /* EVEX_W_0FC6_P_0 */
3286*a9fa9459Szrj   {
3287*a9fa9459Szrj     { "vshufps",	{ XM, Vex, EXx, Ib }, 0 },
3288*a9fa9459Szrj   },
3289*a9fa9459Szrj   /* EVEX_W_0FC6_P_2 */
3290*a9fa9459Szrj   {
3291*a9fa9459Szrj     { Bad_Opcode },
3292*a9fa9459Szrj     { "vshufpd",	{ XM, Vex, EXx, Ib }, 0 },
3293*a9fa9459Szrj   },
3294*a9fa9459Szrj   /* EVEX_W_0FD2_P_2 */
3295*a9fa9459Szrj   {
3296*a9fa9459Szrj     { "vpsrld",	{ XM, Vex, EXxmm }, 0 },
3297*a9fa9459Szrj   },
3298*a9fa9459Szrj   /* EVEX_W_0FD3_P_2 */
3299*a9fa9459Szrj   {
3300*a9fa9459Szrj     { Bad_Opcode },
3301*a9fa9459Szrj     { "vpsrlq",	{ XM, Vex, EXxmm }, 0 },
3302*a9fa9459Szrj   },
3303*a9fa9459Szrj   /* EVEX_W_0FD4_P_2 */
3304*a9fa9459Szrj   {
3305*a9fa9459Szrj     { Bad_Opcode },
3306*a9fa9459Szrj     { "vpaddq",	{ XM, Vex, EXx }, 0 },
3307*a9fa9459Szrj   },
3308*a9fa9459Szrj   /* EVEX_W_0FD6_P_2 */
3309*a9fa9459Szrj   {
3310*a9fa9459Szrj     { Bad_Opcode },
3311*a9fa9459Szrj     { "vmovq",	{ EXxmm_mq, XMScalar }, 0 },
3312*a9fa9459Szrj   },
3313*a9fa9459Szrj   /* EVEX_W_0FE6_P_1 */
3314*a9fa9459Szrj   {
3315*a9fa9459Szrj     { "vcvtdq2pd",	{ XM, EXEvexHalfBcstXmmq }, 0 },
3316*a9fa9459Szrj     { "vcvtqq2pd",	{ XM, EXx, EXxEVexR }, 0 },
3317*a9fa9459Szrj   },
3318*a9fa9459Szrj   /* EVEX_W_0FE6_P_2 */
3319*a9fa9459Szrj   {
3320*a9fa9459Szrj     { Bad_Opcode },
3321*a9fa9459Szrj     { "vcvttpd2dq%XY",	{ XMxmmq, EXx, EXxEVexS }, 0 },
3322*a9fa9459Szrj   },
3323*a9fa9459Szrj   /* EVEX_W_0FE6_P_3 */
3324*a9fa9459Szrj   {
3325*a9fa9459Szrj     { Bad_Opcode },
3326*a9fa9459Szrj     { "vcvtpd2dq%XY",	{ XMxmmq, EXx, EXxEVexR }, 0 },
3327*a9fa9459Szrj   },
3328*a9fa9459Szrj   /* EVEX_W_0FE7_P_2 */
3329*a9fa9459Szrj   {
3330*a9fa9459Szrj     { "vmovntdq",	{ EXEvexXNoBcst, XM }, 0 },
3331*a9fa9459Szrj   },
3332*a9fa9459Szrj   /* EVEX_W_0FF2_P_2 */
3333*a9fa9459Szrj   {
3334*a9fa9459Szrj     { "vpslld",	{ XM, Vex, EXxmm }, 0 },
3335*a9fa9459Szrj   },
3336*a9fa9459Szrj   /* EVEX_W_0FF3_P_2 */
3337*a9fa9459Szrj   {
3338*a9fa9459Szrj     { Bad_Opcode },
3339*a9fa9459Szrj     { "vpsllq",	{ XM, Vex, EXxmm }, 0 },
3340*a9fa9459Szrj   },
3341*a9fa9459Szrj   /* EVEX_W_0FF4_P_2 */
3342*a9fa9459Szrj   {
3343*a9fa9459Szrj     { Bad_Opcode },
3344*a9fa9459Szrj     { "vpmuludq",	{ XM, Vex, EXx }, 0 },
3345*a9fa9459Szrj   },
3346*a9fa9459Szrj   /* EVEX_W_0FFA_P_2 */
3347*a9fa9459Szrj   {
3348*a9fa9459Szrj     { "vpsubd",	{ XM, Vex, EXx }, 0 },
3349*a9fa9459Szrj   },
3350*a9fa9459Szrj   /* EVEX_W_0FFB_P_2 */
3351*a9fa9459Szrj   {
3352*a9fa9459Szrj     { Bad_Opcode },
3353*a9fa9459Szrj     { "vpsubq",	{ XM, Vex, EXx }, 0 },
3354*a9fa9459Szrj   },
3355*a9fa9459Szrj   /* EVEX_W_0FFE_P_2 */
3356*a9fa9459Szrj   {
3357*a9fa9459Szrj     { "vpaddd",	{ XM, Vex, EXx }, 0 },
3358*a9fa9459Szrj   },
3359*a9fa9459Szrj   /* EVEX_W_0F380C_P_2 */
3360*a9fa9459Szrj   {
3361*a9fa9459Szrj     { "vpermilps",	{ XM, Vex, EXx }, 0 },
3362*a9fa9459Szrj   },
3363*a9fa9459Szrj   /* EVEX_W_0F380D_P_2 */
3364*a9fa9459Szrj   {
3365*a9fa9459Szrj     { Bad_Opcode },
3366*a9fa9459Szrj     { "vpermilpd",	{ XM, Vex, EXx }, 0 },
3367*a9fa9459Szrj   },
3368*a9fa9459Szrj   /* EVEX_W_0F3810_P_1 */
3369*a9fa9459Szrj   {
3370*a9fa9459Szrj     { "vpmovuswb",	{ EXxmmq, XM }, 0 },
3371*a9fa9459Szrj   },
3372*a9fa9459Szrj   /* EVEX_W_0F3810_P_2 */
3373*a9fa9459Szrj   {
3374*a9fa9459Szrj     { Bad_Opcode },
3375*a9fa9459Szrj     { "vpsrlvw",	{ XM, Vex, EXx }, 0 },
3376*a9fa9459Szrj   },
3377*a9fa9459Szrj   /* EVEX_W_0F3811_P_1 */
3378*a9fa9459Szrj   {
3379*a9fa9459Szrj     { "vpmovusdb",	{ EXxmmqd, XM }, 0 },
3380*a9fa9459Szrj   },
3381*a9fa9459Szrj   /* EVEX_W_0F3811_P_2 */
3382*a9fa9459Szrj   {
3383*a9fa9459Szrj     { Bad_Opcode },
3384*a9fa9459Szrj     { "vpsravw",	{ XM, Vex, EXx }, 0 },
3385*a9fa9459Szrj   },
3386*a9fa9459Szrj   /* EVEX_W_0F3812_P_1 */
3387*a9fa9459Szrj   {
3388*a9fa9459Szrj     { "vpmovusqb",	{ EXxmmdw, XM }, 0 },
3389*a9fa9459Szrj   },
3390*a9fa9459Szrj   /* EVEX_W_0F3812_P_2 */
3391*a9fa9459Szrj   {
3392*a9fa9459Szrj     { Bad_Opcode },
3393*a9fa9459Szrj     { "vpsllvw",	{ XM, Vex, EXx }, 0 },
3394*a9fa9459Szrj   },
3395*a9fa9459Szrj   /* EVEX_W_0F3813_P_1 */
3396*a9fa9459Szrj   {
3397*a9fa9459Szrj     { "vpmovusdw",	{ EXxmmq, XM }, 0 },
3398*a9fa9459Szrj   },
3399*a9fa9459Szrj   /* EVEX_W_0F3813_P_2 */
3400*a9fa9459Szrj   {
3401*a9fa9459Szrj     { "vcvtph2ps",	{ XM, EXxmmq, EXxEVexS }, 0 },
3402*a9fa9459Szrj   },
3403*a9fa9459Szrj   /* EVEX_W_0F3814_P_1 */
3404*a9fa9459Szrj   {
3405*a9fa9459Szrj     { "vpmovusqw",	{ EXxmmqd, XM }, 0 },
3406*a9fa9459Szrj   },
3407*a9fa9459Szrj   /* EVEX_W_0F3815_P_1 */
3408*a9fa9459Szrj   {
3409*a9fa9459Szrj     { "vpmovusqd",	{ EXxmmq, XM }, 0 },
3410*a9fa9459Szrj   },
3411*a9fa9459Szrj   /* EVEX_W_0F3818_P_2 */
3412*a9fa9459Szrj   {
3413*a9fa9459Szrj     { "vbroadcastss",	{ XM, EXxmm_md }, 0 },
3414*a9fa9459Szrj   },
3415*a9fa9459Szrj   /* EVEX_W_0F3819_P_2 */
3416*a9fa9459Szrj   {
3417*a9fa9459Szrj     { "vbroadcastf32x2",	{ XM, EXxmm_mq }, 0 },
3418*a9fa9459Szrj     { "vbroadcastsd",	{ XM, EXxmm_mq }, 0 },
3419*a9fa9459Szrj   },
3420*a9fa9459Szrj   /* EVEX_W_0F381A_P_2 */
3421*a9fa9459Szrj   {
3422*a9fa9459Szrj     { "vbroadcastf32x4",	{ XM, EXxmm }, 0 },
3423*a9fa9459Szrj     { "vbroadcastf64x2",	{ XM, EXxmm }, 0 },
3424*a9fa9459Szrj   },
3425*a9fa9459Szrj   /* EVEX_W_0F381B_P_2 */
3426*a9fa9459Szrj   {
3427*a9fa9459Szrj     { "vbroadcastf32x8",	{ XM, EXxmmq }, 0 },
3428*a9fa9459Szrj     { "vbroadcastf64x4",	{ XM, EXymm }, 0 },
3429*a9fa9459Szrj   },
3430*a9fa9459Szrj   /* EVEX_W_0F381E_P_2 */
3431*a9fa9459Szrj   {
3432*a9fa9459Szrj     { "vpabsd",	{ XM, EXx }, 0 },
3433*a9fa9459Szrj   },
3434*a9fa9459Szrj   /* EVEX_W_0F381F_P_2 */
3435*a9fa9459Szrj   {
3436*a9fa9459Szrj     { Bad_Opcode },
3437*a9fa9459Szrj     { "vpabsq",	{ XM, EXx }, 0 },
3438*a9fa9459Szrj   },
3439*a9fa9459Szrj   /* EVEX_W_0F3820_P_1 */
3440*a9fa9459Szrj   {
3441*a9fa9459Szrj     { "vpmovswb",	{ EXxmmq, XM }, 0 },
3442*a9fa9459Szrj   },
3443*a9fa9459Szrj   /* EVEX_W_0F3821_P_1 */
3444*a9fa9459Szrj   {
3445*a9fa9459Szrj     { "vpmovsdb",	{ EXxmmqd, XM }, 0 },
3446*a9fa9459Szrj   },
3447*a9fa9459Szrj   /* EVEX_W_0F3822_P_1 */
3448*a9fa9459Szrj   {
3449*a9fa9459Szrj     { "vpmovsqb",	{ EXxmmdw, XM }, 0 },
3450*a9fa9459Szrj   },
3451*a9fa9459Szrj   /* EVEX_W_0F3823_P_1 */
3452*a9fa9459Szrj   {
3453*a9fa9459Szrj     { "vpmovsdw",	{ EXxmmq, XM }, 0 },
3454*a9fa9459Szrj   },
3455*a9fa9459Szrj   /* EVEX_W_0F3824_P_1 */
3456*a9fa9459Szrj   {
3457*a9fa9459Szrj     { "vpmovsqw",	{ EXxmmqd, XM }, 0 },
3458*a9fa9459Szrj   },
3459*a9fa9459Szrj   /* EVEX_W_0F3825_P_1 */
3460*a9fa9459Szrj   {
3461*a9fa9459Szrj     { "vpmovsqd",	{ EXxmmq, XM }, 0 },
3462*a9fa9459Szrj   },
3463*a9fa9459Szrj   /* EVEX_W_0F3825_P_2 */
3464*a9fa9459Szrj   {
3465*a9fa9459Szrj     { "vpmovsxdq",	{ XM, EXxmmq }, 0 },
3466*a9fa9459Szrj   },
3467*a9fa9459Szrj   /* EVEX_W_0F3826_P_1 */
3468*a9fa9459Szrj   {
3469*a9fa9459Szrj     { "vptestnmb",	{ XMask, Vex, EXx }, 0 },
3470*a9fa9459Szrj     { "vptestnmw",	{ XMask, Vex, EXx }, 0 },
3471*a9fa9459Szrj   },
3472*a9fa9459Szrj   /* EVEX_W_0F3826_P_2 */
3473*a9fa9459Szrj   {
3474*a9fa9459Szrj     { "vptestmb",	{ XMask, Vex, EXx }, 0 },
3475*a9fa9459Szrj     { "vptestmw",	{ XMask, Vex, EXx }, 0 },
3476*a9fa9459Szrj   },
3477*a9fa9459Szrj   /* EVEX_W_0F3828_P_1 */
3478*a9fa9459Szrj   {
3479*a9fa9459Szrj     { "vpmovm2b",	{ XM, MaskR }, 0 },
3480*a9fa9459Szrj     { "vpmovm2w",	{ XM, MaskR }, 0 },
3481*a9fa9459Szrj   },
3482*a9fa9459Szrj   /* EVEX_W_0F3828_P_2 */
3483*a9fa9459Szrj   {
3484*a9fa9459Szrj     { Bad_Opcode },
3485*a9fa9459Szrj     { "vpmuldq",	{ XM, Vex, EXx }, 0 },
3486*a9fa9459Szrj   },
3487*a9fa9459Szrj   /* EVEX_W_0F3829_P_1 */
3488*a9fa9459Szrj   {
3489*a9fa9459Szrj     { "vpmovb2m",	{ XMask, EXx }, 0 },
3490*a9fa9459Szrj     { "vpmovw2m",	{ XMask, EXx }, 0 },
3491*a9fa9459Szrj   },
3492*a9fa9459Szrj   /* EVEX_W_0F3829_P_2 */
3493*a9fa9459Szrj   {
3494*a9fa9459Szrj     { Bad_Opcode },
3495*a9fa9459Szrj     { "vpcmpeqq",	{ XMask, Vex, EXx }, 0 },
3496*a9fa9459Szrj   },
3497*a9fa9459Szrj   /* EVEX_W_0F382A_P_1 */
3498*a9fa9459Szrj   {
3499*a9fa9459Szrj     { Bad_Opcode },
3500*a9fa9459Szrj     { "vpbroadcastmb2q",	{ XM, MaskR }, 0 },
3501*a9fa9459Szrj   },
3502*a9fa9459Szrj   /* EVEX_W_0F382A_P_2 */
3503*a9fa9459Szrj   {
3504*a9fa9459Szrj     { "vmovntdqa",	{ XM, EXEvexXNoBcst }, 0 },
3505*a9fa9459Szrj   },
3506*a9fa9459Szrj   /* EVEX_W_0F382B_P_2 */
3507*a9fa9459Szrj   {
3508*a9fa9459Szrj     { "vpackusdw",	{ XM, Vex, EXx }, 0 },
3509*a9fa9459Szrj   },
3510*a9fa9459Szrj   /* EVEX_W_0F3830_P_1 */
3511*a9fa9459Szrj   {
3512*a9fa9459Szrj     { "vpmovwb",	{ EXxmmq, XM }, 0 },
3513*a9fa9459Szrj   },
3514*a9fa9459Szrj   /* EVEX_W_0F3831_P_1 */
3515*a9fa9459Szrj   {
3516*a9fa9459Szrj     { "vpmovdb",	{ EXxmmqd, XM }, 0 },
3517*a9fa9459Szrj   },
3518*a9fa9459Szrj   /* EVEX_W_0F3832_P_1 */
3519*a9fa9459Szrj   {
3520*a9fa9459Szrj     { "vpmovqb",	{ EXxmmdw, XM }, 0 },
3521*a9fa9459Szrj   },
3522*a9fa9459Szrj   /* EVEX_W_0F3833_P_1 */
3523*a9fa9459Szrj   {
3524*a9fa9459Szrj     { "vpmovdw",	{ EXxmmq, XM }, 0 },
3525*a9fa9459Szrj   },
3526*a9fa9459Szrj   /* EVEX_W_0F3834_P_1 */
3527*a9fa9459Szrj   {
3528*a9fa9459Szrj     { "vpmovqw",	{ EXxmmqd, XM }, 0 },
3529*a9fa9459Szrj   },
3530*a9fa9459Szrj   /* EVEX_W_0F3835_P_1 */
3531*a9fa9459Szrj   {
3532*a9fa9459Szrj     { "vpmovqd",	{ EXxmmq, XM }, 0 },
3533*a9fa9459Szrj   },
3534*a9fa9459Szrj   /* EVEX_W_0F3835_P_2 */
3535*a9fa9459Szrj   {
3536*a9fa9459Szrj     { "vpmovzxdq",	{ XM, EXxmmq }, 0 },
3537*a9fa9459Szrj   },
3538*a9fa9459Szrj   /* EVEX_W_0F3837_P_2 */
3539*a9fa9459Szrj   {
3540*a9fa9459Szrj     { Bad_Opcode },
3541*a9fa9459Szrj     { "vpcmpgtq",	{ XMask, Vex, EXx }, 0 },
3542*a9fa9459Szrj   },
3543*a9fa9459Szrj   /* EVEX_W_0F3838_P_1 */
3544*a9fa9459Szrj   {
3545*a9fa9459Szrj     { "vpmovm2d",	{ XM, MaskR }, 0 },
3546*a9fa9459Szrj     { "vpmovm2q",	{ XM, MaskR }, 0 },
3547*a9fa9459Szrj   },
3548*a9fa9459Szrj   /* EVEX_W_0F3839_P_1 */
3549*a9fa9459Szrj   {
3550*a9fa9459Szrj     { "vpmovd2m",	{ XMask, EXx }, 0 },
3551*a9fa9459Szrj     { "vpmovq2m",	{ XMask, EXx }, 0 },
3552*a9fa9459Szrj   },
3553*a9fa9459Szrj   /* EVEX_W_0F383A_P_1 */
3554*a9fa9459Szrj   {
3555*a9fa9459Szrj     { "vpbroadcastmw2d",	{ XM, MaskR }, 0 },
3556*a9fa9459Szrj   },
3557*a9fa9459Szrj   /* EVEX_W_0F3840_P_2 */
3558*a9fa9459Szrj   {
3559*a9fa9459Szrj     { "vpmulld",	{ XM, Vex, EXx }, 0 },
3560*a9fa9459Szrj     { "vpmullq",	{ XM, Vex, EXx }, 0 },
3561*a9fa9459Szrj   },
3562*a9fa9459Szrj   /* EVEX_W_0F3858_P_2 */
3563*a9fa9459Szrj   {
3564*a9fa9459Szrj     { "vpbroadcastd",	{ XM, EXxmm_md }, 0 },
3565*a9fa9459Szrj   },
3566*a9fa9459Szrj   /* EVEX_W_0F3859_P_2 */
3567*a9fa9459Szrj   {
3568*a9fa9459Szrj     { "vbroadcasti32x2",	{ XM, EXxmm_mq }, 0 },
3569*a9fa9459Szrj     { "vpbroadcastq",	{ XM, EXxmm_mq }, 0 },
3570*a9fa9459Szrj   },
3571*a9fa9459Szrj   /* EVEX_W_0F385A_P_2 */
3572*a9fa9459Szrj   {
3573*a9fa9459Szrj     { "vbroadcasti32x4",	{ XM, EXxmm }, 0 },
3574*a9fa9459Szrj     { "vbroadcasti64x2",	{ XM, EXxmm }, 0 },
3575*a9fa9459Szrj   },
3576*a9fa9459Szrj   /* EVEX_W_0F385B_P_2 */
3577*a9fa9459Szrj   {
3578*a9fa9459Szrj     { "vbroadcasti32x8",	{ XM, EXxmmq }, 0 },
3579*a9fa9459Szrj     { "vbroadcasti64x4",	{ XM, EXymm }, 0 },
3580*a9fa9459Szrj   },
3581*a9fa9459Szrj   /* EVEX_W_0F3866_P_2 */
3582*a9fa9459Szrj   {
3583*a9fa9459Szrj     { "vpblendmb",	{ XM, Vex, EXx }, 0 },
3584*a9fa9459Szrj     { "vpblendmw",	{ XM, Vex, EXx }, 0 },
3585*a9fa9459Szrj   },
3586*a9fa9459Szrj   /* EVEX_W_0F3875_P_2 */
3587*a9fa9459Szrj   {
3588*a9fa9459Szrj     { "vpermi2b",	{ XM, Vex, EXx }, 0 },
3589*a9fa9459Szrj     { "vpermi2w",	{ XM, Vex, EXx }, 0 },
3590*a9fa9459Szrj   },
3591*a9fa9459Szrj   /* EVEX_W_0F3878_P_2 */
3592*a9fa9459Szrj   {
3593*a9fa9459Szrj     { "vpbroadcastb",	{ XM, EXxmm_mb }, 0 },
3594*a9fa9459Szrj   },
3595*a9fa9459Szrj   /* EVEX_W_0F3879_P_2 */
3596*a9fa9459Szrj   {
3597*a9fa9459Szrj     { "vpbroadcastw",	{ XM, EXxmm_mw }, 0 },
3598*a9fa9459Szrj   },
3599*a9fa9459Szrj   /* EVEX_W_0F387A_P_2 */
3600*a9fa9459Szrj   {
3601*a9fa9459Szrj     { "vpbroadcastb",	{ XM, Rd }, 0 },
3602*a9fa9459Szrj   },
3603*a9fa9459Szrj   /* EVEX_W_0F387B_P_2 */
3604*a9fa9459Szrj   {
3605*a9fa9459Szrj     { "vpbroadcastw",	{ XM, Rd }, 0 },
3606*a9fa9459Szrj   },
3607*a9fa9459Szrj   /* EVEX_W_0F387D_P_2 */
3608*a9fa9459Szrj   {
3609*a9fa9459Szrj     { "vpermt2b",	{ XM, Vex, EXx }, 0 },
3610*a9fa9459Szrj     { "vpermt2w",	{ XM, Vex, EXx }, 0 },
3611*a9fa9459Szrj   },
3612*a9fa9459Szrj   /* EVEX_W_0F3883_P_2 */
3613*a9fa9459Szrj   {
3614*a9fa9459Szrj     { Bad_Opcode },
3615*a9fa9459Szrj     { "vpmultishiftqb",	{ XM, Vex, EXx }, 0 },
3616*a9fa9459Szrj   },
3617*a9fa9459Szrj   /* EVEX_W_0F388D_P_2 */
3618*a9fa9459Szrj   {
3619*a9fa9459Szrj     { "vpermb",	{ XM, Vex, EXx }, 0 },
3620*a9fa9459Szrj     { "vpermw",	{ XM, Vex, EXx }, 0 },
3621*a9fa9459Szrj   },
3622*a9fa9459Szrj   /* EVEX_W_0F3891_P_2 */
3623*a9fa9459Szrj   {
3624*a9fa9459Szrj     { "vpgatherqd",	{ XMxmmq, MVexVSIBQDWpX }, 0 },
3625*a9fa9459Szrj     { "vpgatherqq",	{ XM, MVexVSIBQWpX }, 0 },
3626*a9fa9459Szrj   },
3627*a9fa9459Szrj   /* EVEX_W_0F3893_P_2 */
3628*a9fa9459Szrj   {
3629*a9fa9459Szrj     { "vgatherqps",	{ XMxmmq, MVexVSIBQDWpX }, 0 },
3630*a9fa9459Szrj     { "vgatherqpd",	{ XM, MVexVSIBQWpX }, 0 },
3631*a9fa9459Szrj   },
3632*a9fa9459Szrj   /* EVEX_W_0F38A1_P_2 */
3633*a9fa9459Szrj   {
3634*a9fa9459Szrj     { "vpscatterqd",	{ MVexVSIBQDWpX, XMxmmq }, 0 },
3635*a9fa9459Szrj     { "vpscatterqq",	{ MVexVSIBQWpX, XM }, 0 },
3636*a9fa9459Szrj   },
3637*a9fa9459Szrj   /* EVEX_W_0F38A3_P_2 */
3638*a9fa9459Szrj   {
3639*a9fa9459Szrj     { "vscatterqps",	{ MVexVSIBQDWpX, XMxmmq }, 0 },
3640*a9fa9459Szrj     { "vscatterqpd",	{ MVexVSIBQWpX, XM }, 0 },
3641*a9fa9459Szrj   },
3642*a9fa9459Szrj   /* EVEX_W_0F38C7_R_1_P_2 */
3643*a9fa9459Szrj   {
3644*a9fa9459Szrj     { "vgatherpf0qps",  { MVexVSIBDQWpX }, 0 },
3645*a9fa9459Szrj     { "vgatherpf0qpd",  { MVexVSIBQWpX }, 0 },
3646*a9fa9459Szrj   },
3647*a9fa9459Szrj   /* EVEX_W_0F38C7_R_2_P_2 */
3648*a9fa9459Szrj   {
3649*a9fa9459Szrj     { "vgatherpf1qps",  { MVexVSIBDQWpX }, 0 },
3650*a9fa9459Szrj     { "vgatherpf1qpd",  { MVexVSIBQWpX }, 0 },
3651*a9fa9459Szrj   },
3652*a9fa9459Szrj   /* EVEX_W_0F38C7_R_5_P_2 */
3653*a9fa9459Szrj   {
3654*a9fa9459Szrj     { "vscatterpf0qps",  { MVexVSIBDQWpX }, 0 },
3655*a9fa9459Szrj     { "vscatterpf0qpd",  { MVexVSIBQWpX }, 0 },
3656*a9fa9459Szrj   },
3657*a9fa9459Szrj   /* EVEX_W_0F38C7_R_6_P_2 */
3658*a9fa9459Szrj   {
3659*a9fa9459Szrj     { "vscatterpf1qps",  { MVexVSIBDQWpX }, 0 },
3660*a9fa9459Szrj     { "vscatterpf1qpd",  { MVexVSIBQWpX }, 0 },
3661*a9fa9459Szrj   },
3662*a9fa9459Szrj   /* EVEX_W_0F3A00_P_2 */
3663*a9fa9459Szrj   {
3664*a9fa9459Szrj     { Bad_Opcode },
3665*a9fa9459Szrj     { "vpermq",	{ XM, EXx, Ib }, 0 },
3666*a9fa9459Szrj   },
3667*a9fa9459Szrj   /* EVEX_W_0F3A01_P_2 */
3668*a9fa9459Szrj   {
3669*a9fa9459Szrj     { Bad_Opcode },
3670*a9fa9459Szrj     { "vpermpd",	{ XM, EXx, Ib }, 0 },
3671*a9fa9459Szrj   },
3672*a9fa9459Szrj   /* EVEX_W_0F3A04_P_2 */
3673*a9fa9459Szrj   {
3674*a9fa9459Szrj     { "vpermilps",	{ XM, EXx, Ib }, 0 },
3675*a9fa9459Szrj   },
3676*a9fa9459Szrj   /* EVEX_W_0F3A05_P_2 */
3677*a9fa9459Szrj   {
3678*a9fa9459Szrj     { Bad_Opcode },
3679*a9fa9459Szrj     { "vpermilpd",	{ XM, EXx, Ib }, 0 },
3680*a9fa9459Szrj   },
3681*a9fa9459Szrj   /* EVEX_W_0F3A08_P_2 */
3682*a9fa9459Szrj   {
3683*a9fa9459Szrj     { "vrndscaleps",	{ XM, EXx, EXxEVexS, Ib }, 0 },
3684*a9fa9459Szrj   },
3685*a9fa9459Szrj   /* EVEX_W_0F3A09_P_2 */
3686*a9fa9459Szrj   {
3687*a9fa9459Szrj     { Bad_Opcode },
3688*a9fa9459Szrj     { "vrndscalepd",	{ XM, EXx, EXxEVexS, Ib }, 0 },
3689*a9fa9459Szrj   },
3690*a9fa9459Szrj   /* EVEX_W_0F3A0A_P_2 */
3691*a9fa9459Szrj   {
3692*a9fa9459Szrj     { "vrndscaless",	{ XMScalar, VexScalar, EXxmm_md, EXxEVexS, Ib }, 0 },
3693*a9fa9459Szrj   },
3694*a9fa9459Szrj   /* EVEX_W_0F3A0B_P_2 */
3695*a9fa9459Szrj   {
3696*a9fa9459Szrj     { Bad_Opcode },
3697*a9fa9459Szrj     { "vrndscalesd",	{ XMScalar, VexScalar, EXxmm_mq, EXxEVexS, Ib }, 0 },
3698*a9fa9459Szrj   },
3699*a9fa9459Szrj   /* EVEX_W_0F3A16_P_2 */
3700*a9fa9459Szrj   {
3701*a9fa9459Szrj     { "vpextrd",	{ Edqd, XM, Ib }, 0 },
3702*a9fa9459Szrj     { "vpextrq",	{ Eq, XM, Ib }, 0 },
3703*a9fa9459Szrj   },
3704*a9fa9459Szrj   /* EVEX_W_0F3A18_P_2 */
3705*a9fa9459Szrj   {
3706*a9fa9459Szrj     { "vinsertf32x4",	{ XM, Vex, EXxmm, Ib }, 0 },
3707*a9fa9459Szrj     { "vinsertf64x2",	{ XM, Vex, EXxmm, Ib }, 0 },
3708*a9fa9459Szrj   },
3709*a9fa9459Szrj   /* EVEX_W_0F3A19_P_2 */
3710*a9fa9459Szrj   {
3711*a9fa9459Szrj     { "vextractf32x4",	{ EXxmm, XM, Ib }, 0 },
3712*a9fa9459Szrj     { "vextractf64x2",	{ EXxmm, XM, Ib }, 0 },
3713*a9fa9459Szrj   },
3714*a9fa9459Szrj   /* EVEX_W_0F3A1A_P_2 */
3715*a9fa9459Szrj   {
3716*a9fa9459Szrj     { "vinsertf32x8",	{ XM, Vex, EXxmmq, Ib }, 0 },
3717*a9fa9459Szrj     { "vinsertf64x4",	{ XM, Vex, EXxmmq, Ib }, 0 },
3718*a9fa9459Szrj   },
3719*a9fa9459Szrj   /* EVEX_W_0F3A1B_P_2 */
3720*a9fa9459Szrj   {
3721*a9fa9459Szrj     { "vextractf32x8",	{ EXxmmq, XM, Ib }, 0 },
3722*a9fa9459Szrj     { "vextractf64x4",	{ EXxmmq, XM, Ib }, 0 },
3723*a9fa9459Szrj   },
3724*a9fa9459Szrj   /* EVEX_W_0F3A1D_P_2 */
3725*a9fa9459Szrj   {
3726*a9fa9459Szrj     { "vcvtps2ph",	{ EXxmmq, XM, EXxEVexS, Ib }, 0 },
3727*a9fa9459Szrj   },
3728*a9fa9459Szrj   /* EVEX_W_0F3A21_P_2 */
3729*a9fa9459Szrj   {
3730*a9fa9459Szrj     { "vinsertps",	{ XMM, Vex, EXxmm_md, Ib }, 0 },
3731*a9fa9459Szrj   },
3732*a9fa9459Szrj   /* EVEX_W_0F3A22_P_2 */
3733*a9fa9459Szrj   {
3734*a9fa9459Szrj     { "vpinsrd",	{ XM, Vex128, Edqd, Ib }, 0 },
3735*a9fa9459Szrj     { "vpinsrq",	{ XM, Vex128, Eq, Ib }, 0 },
3736*a9fa9459Szrj   },
3737*a9fa9459Szrj   /* EVEX_W_0F3A23_P_2 */
3738*a9fa9459Szrj   {
3739*a9fa9459Szrj     { "vshuff32x4",	{ XM, Vex, EXx, Ib }, 0 },
3740*a9fa9459Szrj     { "vshuff64x2",	{ XM, Vex, EXx, Ib }, 0 },
3741*a9fa9459Szrj   },
3742*a9fa9459Szrj   /* EVEX_W_0F3A38_P_2 */
3743*a9fa9459Szrj   {
3744*a9fa9459Szrj     { "vinserti32x4",	{ XM, Vex, EXxmm, Ib }, 0 },
3745*a9fa9459Szrj     { "vinserti64x2",	{ XM, Vex, EXxmm, Ib }, 0 },
3746*a9fa9459Szrj   },
3747*a9fa9459Szrj   /* EVEX_W_0F3A39_P_2 */
3748*a9fa9459Szrj   {
3749*a9fa9459Szrj     { "vextracti32x4",	{ EXxmm, XM, Ib }, 0 },
3750*a9fa9459Szrj     { "vextracti64x2",	{ EXxmm, XM, Ib }, 0 },
3751*a9fa9459Szrj   },
3752*a9fa9459Szrj   /* EVEX_W_0F3A3A_P_2 */
3753*a9fa9459Szrj   {
3754*a9fa9459Szrj     { "vinserti32x8",	{ XM, Vex, EXxmmq, Ib }, 0 },
3755*a9fa9459Szrj     { "vinserti64x4",	{ XM, Vex, EXxmmq, Ib }, 0 },
3756*a9fa9459Szrj   },
3757*a9fa9459Szrj   /* EVEX_W_0F3A3B_P_2 */
3758*a9fa9459Szrj   {
3759*a9fa9459Szrj     { "vextracti32x8",	{ EXxmmq, XM, Ib }, 0 },
3760*a9fa9459Szrj     { "vextracti64x4",	{ EXxmmq, XM, Ib }, 0 },
3761*a9fa9459Szrj   },
3762*a9fa9459Szrj   /* EVEX_W_0F3A3E_P_2 */
3763*a9fa9459Szrj   {
3764*a9fa9459Szrj     { "vpcmpub",	{ XMask, Vex, EXx, Ib }, 0 },
3765*a9fa9459Szrj     { "vpcmpuw",	{ XMask, Vex, EXx, Ib }, 0 },
3766*a9fa9459Szrj   },
3767*a9fa9459Szrj   /* EVEX_W_0F3A3F_P_2 */
3768*a9fa9459Szrj   {
3769*a9fa9459Szrj     { "vpcmpb",	{ XMask, Vex, EXx, Ib }, 0 },
3770*a9fa9459Szrj     { "vpcmpw",	{ XMask, Vex, EXx, Ib }, 0 },
3771*a9fa9459Szrj   },
3772*a9fa9459Szrj   /* EVEX_W_0F3A42_P_2 */
3773*a9fa9459Szrj   {
3774*a9fa9459Szrj     { "vdbpsadbw",	{ XM, Vex, EXx, Ib }, 0 },
3775*a9fa9459Szrj   },
3776*a9fa9459Szrj   /* EVEX_W_0F3A43_P_2 */
3777*a9fa9459Szrj   {
3778*a9fa9459Szrj     { "vshufi32x4",	{ XM, Vex, EXx, Ib }, 0 },
3779*a9fa9459Szrj     { "vshufi64x2",	{ XM, Vex, EXx, Ib }, 0 },
3780*a9fa9459Szrj   },
3781*a9fa9459Szrj   /* EVEX_W_0F3A50_P_2 */
3782*a9fa9459Szrj   {
3783*a9fa9459Szrj     { "vrangeps",	{ XM, Vex, EXx, EXxEVexS, Ib }, 0 },
3784*a9fa9459Szrj     { "vrangepd",	{ XM, Vex, EXx, EXxEVexS, Ib }, 0 },
3785*a9fa9459Szrj   },
3786*a9fa9459Szrj   /* EVEX_W_0F3A51_P_2 */
3787*a9fa9459Szrj   {
3788*a9fa9459Szrj     { "vrangess",	{ XMScalar, VexScalar, EXxmm_md, EXxEVexS, Ib }, 0 },
3789*a9fa9459Szrj     { "vrangesd",	{ XMScalar, VexScalar, EXxmm_mq, EXxEVexS, Ib }, 0 },
3790*a9fa9459Szrj   },
3791*a9fa9459Szrj   /* EVEX_W_0F3A56_P_2 */
3792*a9fa9459Szrj   {
3793*a9fa9459Szrj     { "vreduceps",	{ XM, EXx, EXxEVexS, Ib }, 0 },
3794*a9fa9459Szrj     { "vreducepd",	{ XM, EXx, EXxEVexS, Ib }, 0 },
3795*a9fa9459Szrj   },
3796*a9fa9459Szrj   /* EVEX_W_0F3A57_P_2 */
3797*a9fa9459Szrj   {
3798*a9fa9459Szrj     { "vreducess",	{ XMScalar, VexScalar, EXxmm_md, EXxEVexS, Ib }, 0 },
3799*a9fa9459Szrj     { "vreducesd",	{ XMScalar, VexScalar, EXxmm_mq, EXxEVexS, Ib }, 0 },
3800*a9fa9459Szrj   },
3801*a9fa9459Szrj   /* EVEX_W_0F3A66_P_2 */
3802*a9fa9459Szrj   {
3803*a9fa9459Szrj     { "vfpclassps%XZ",	{ XMask, EXx, Ib }, 0 },
3804*a9fa9459Szrj     { "vfpclasspd%XZ",	{ XMask, EXx, Ib }, 0 },
3805*a9fa9459Szrj   },
3806*a9fa9459Szrj   /* EVEX_W_0F3A67_P_2 */
3807*a9fa9459Szrj   {
3808*a9fa9459Szrj     { "vfpclassss",	{ XMask, EXxmm_md, Ib }, 0 },
3809*a9fa9459Szrj     { "vfpclasssd",	{ XMask, EXxmm_mq, Ib }, 0 },
3810*a9fa9459Szrj   },
3811*a9fa9459Szrj #endif /* NEED_VEX_W_TABLE */
3812*a9fa9459Szrj #ifdef NEED_MOD_TABLE
3813*a9fa9459Szrj   {
3814*a9fa9459Szrj     /* MOD_EVEX_0F10_PREFIX_1 */
3815*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0F10_P_1_M_0) },
3816*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0F10_P_1_M_1) },
3817*a9fa9459Szrj   },
3818*a9fa9459Szrj   {
3819*a9fa9459Szrj     /* MOD_EVEX_0F10_PREFIX_3 */
3820*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0F10_P_3_M_0) },
3821*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0F10_P_3_M_1) },
3822*a9fa9459Szrj   },
3823*a9fa9459Szrj   {
3824*a9fa9459Szrj     /* MOD_EVEX_0F11_PREFIX_1 */
3825*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0F11_P_1_M_0) },
3826*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0F11_P_1_M_1) },
3827*a9fa9459Szrj   },
3828*a9fa9459Szrj   {
3829*a9fa9459Szrj     /* MOD_EVEX_0F11_PREFIX_3 */
3830*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0F11_P_3_M_0) },
3831*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0F11_P_3_M_1) },
3832*a9fa9459Szrj   },
3833*a9fa9459Szrj   {
3834*a9fa9459Szrj     /* MOD_EVEX_0F12_PREFIX_0 */
3835*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0F12_P_0_M_0) },
3836*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0F12_P_0_M_1) },
3837*a9fa9459Szrj   },
3838*a9fa9459Szrj   {
3839*a9fa9459Szrj     /* MOD_EVEX_0F16_PREFIX_0 */
3840*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0F16_P_0_M_0) },
3841*a9fa9459Szrj     { VEX_W_TABLE (EVEX_W_0F16_P_0_M_1) },
3842*a9fa9459Szrj   },
3843*a9fa9459Szrj   {
3844*a9fa9459Szrj     /* MOD_EVEX_0F38C6_REG_1 */
3845*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F38C6_REG_1) },
3846*a9fa9459Szrj   },
3847*a9fa9459Szrj   {
3848*a9fa9459Szrj     /* MOD_EVEX_0F38C6_REG_2 */
3849*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F38C6_REG_2) },
3850*a9fa9459Szrj   },
3851*a9fa9459Szrj   {
3852*a9fa9459Szrj     /* MOD_EVEX_0F38C6_REG_5 */
3853*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F38C6_REG_5) },
3854*a9fa9459Szrj   },
3855*a9fa9459Szrj   {
3856*a9fa9459Szrj     /* MOD_EVEX_0F38C6_REG_6 */
3857*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F38C6_REG_6) },
3858*a9fa9459Szrj   },
3859*a9fa9459Szrj   {
3860*a9fa9459Szrj     /* MOD_EVEX_0F38C7_REG_1 */
3861*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F38C7_REG_1) },
3862*a9fa9459Szrj   },
3863*a9fa9459Szrj   {
3864*a9fa9459Szrj     /* MOD_EVEX_0F38C7_REG_2 */
3865*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F38C7_REG_2) },
3866*a9fa9459Szrj   },
3867*a9fa9459Szrj   {
3868*a9fa9459Szrj     /* MOD_EVEX_0F38C7_REG_5 */
3869*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F38C7_REG_5) },
3870*a9fa9459Szrj   },
3871*a9fa9459Szrj   {
3872*a9fa9459Szrj     /* MOD_EVEX_0F38C7_REG_6 */
3873*a9fa9459Szrj     { PREFIX_TABLE (PREFIX_EVEX_0F38C7_REG_6) },
3874*a9fa9459Szrj   },
3875*a9fa9459Szrj #endif /* NEED_MOD_TABLE */
3876