1  /* EVEX_W_0F10_P_1 */
2  {
3    { "vmovss",	{ XMScalar, VexScalarR, EXxmm_md }, 0 },
4  },
5  /* EVEX_W_0F10_P_3 */
6  {
7    { Bad_Opcode },
8    { "vmovsd",	{ XMScalar, VexScalarR, EXxmm_mq }, 0 },
9  },
10  /* EVEX_W_0F11_P_1 */
11  {
12    { "vmovss",	{ EXdS, VexScalarR, XMScalar }, 0 },
13  },
14  /* EVEX_W_0F11_P_3 */
15  {
16    { Bad_Opcode },
17    { "vmovsd",	{ EXqS, VexScalarR, XMScalar }, 0 },
18  },
19  /* EVEX_W_0F12_P_0_M_1 */
20  {
21    { "vmovhlps",	{ XMM, Vex, EXxmm_mq }, 0 },
22  },
23  /* EVEX_W_0F12_P_1 */
24  {
25    { "vmovsldup",	{ XM, EXEvexXNoBcst }, 0 },
26  },
27  /* EVEX_W_0F12_P_3 */
28  {
29    { Bad_Opcode },
30    { "vmovddup",	{ XM, EXymmq }, 0 },
31  },
32  /* EVEX_W_0F16_P_0_M_1 */
33  {
34    { "vmovlhps",	{ XMM, Vex, EXx }, 0 },
35  },
36  /* EVEX_W_0F16_P_1 */
37  {
38    { "vmovshdup",	{ XM, EXx }, 0 },
39  },
40  /* EVEX_W_0F2A_P_3 */
41  {
42    { "vcvtsi2sd{%LQ|}",	{ XMScalar, VexScalar, Ed }, 0 },
43    { "vcvtsi2sd{%LQ|}",	{ XMScalar, VexScalar, EXxEVexR64, Edq }, 0 },
44  },
45  /* EVEX_W_0F51_P_1 */
46  {
47    { "vsqrtss",	{ XMScalar, VexScalar, EXxmm_md, EXxEVexR }, 0 },
48  },
49  /* EVEX_W_0F51_P_3 */
50  {
51    { Bad_Opcode },
52    { "vsqrtsd",	{ XMScalar, VexScalar, EXxmm_mq, EXxEVexR }, 0 },
53  },
54  /* EVEX_W_0F58_P_1 */
55  {
56    { "vaddss",	{ XMScalar, VexScalar, EXxmm_md, EXxEVexR }, 0 },
57  },
58  /* EVEX_W_0F58_P_3 */
59  {
60    { Bad_Opcode },
61    { "vaddsd",	{ XMScalar, VexScalar, EXxmm_mq, EXxEVexR }, 0 },
62  },
63  /* EVEX_W_0F59_P_1 */
64  {
65    { "vmulss",	{ XMScalar, VexScalar, EXxmm_md, EXxEVexR }, 0 },
66  },
67  /* EVEX_W_0F59_P_3 */
68  {
69    { Bad_Opcode },
70    { "vmulsd",	{ XMScalar, VexScalar, EXxmm_mq, EXxEVexR }, 0 },
71  },
72  /* EVEX_W_0F5A_P_0 */
73  {
74    { "vcvtps2pd",   { XM, EXEvexHalfBcstXmmq, EXxEVexS }, 0 },
75  },
76  /* EVEX_W_0F5A_P_1 */
77  {
78    { "vcvtss2sd",	{ XMScalar, VexScalar, EXxmm_md, EXxEVexS }, 0 },
79  },
80  /* EVEX_W_0F5A_P_2 */
81  {
82    { Bad_Opcode },
83    { "vcvtpd2ps%XY",	{ XMxmmq, EXx, EXxEVexR }, 0 },
84  },
85  /* EVEX_W_0F5A_P_3 */
86  {
87    { Bad_Opcode },
88    { "vcvtsd2ss",	{ XMScalar, VexScalar, EXxmm_mq, EXxEVexR }, 0 },
89  },
90  /* EVEX_W_0F5B_P_0 */
91  {
92    { "vcvtdq2ps",	{ XM, EXx, EXxEVexR }, 0 },
93    { "vcvtqq2ps%XY",	{ XMxmmq, EXx, EXxEVexR }, 0 },
94  },
95  /* EVEX_W_0F5B_P_1 */
96  {
97    { "vcvttps2dq",	{ XM, EXx, EXxEVexS }, 0 },
98  },
99  /* EVEX_W_0F5B_P_2 */
100  {
101    { "vcvtps2dq",	{ XM, EXx, EXxEVexR }, 0 },
102  },
103  /* EVEX_W_0F5C_P_1 */
104  {
105    { "vsubss",	{ XMScalar, VexScalar, EXxmm_md, EXxEVexR }, 0 },
106  },
107  /* EVEX_W_0F5C_P_3 */
108  {
109    { Bad_Opcode },
110    { "vsubsd",	{ XMScalar, VexScalar, EXxmm_mq, EXxEVexR }, 0 },
111  },
112  /* EVEX_W_0F5D_P_1 */
113  {
114    { "vminss",	{ XMScalar, VexScalar, EXxmm_md, EXxEVexS }, 0 },
115  },
116  /* EVEX_W_0F5D_P_3 */
117  {
118    { Bad_Opcode },
119    { "vminsd",	{ XMScalar, VexScalar, EXxmm_mq, EXxEVexS }, 0 },
120  },
121  /* EVEX_W_0F5E_P_1 */
122  {
123    { "vdivss",	{ XMScalar, VexScalar, EXxmm_md, EXxEVexR }, 0 },
124  },
125  /* EVEX_W_0F5E_P_3 */
126  {
127    { Bad_Opcode },
128    { "vdivsd",	{ XMScalar, VexScalar, EXxmm_mq, EXxEVexR }, 0 },
129  },
130  /* EVEX_W_0F5F_P_1 */
131  {
132    { "vmaxss",	{ XMScalar, VexScalar, EXxmm_md, EXxEVexS }, 0 },
133  },
134  /* EVEX_W_0F5F_P_3 */
135  {
136    { Bad_Opcode },
137    { "vmaxsd",	{ XMScalar, VexScalar, EXxmm_mq, EXxEVexS }, 0 },
138  },
139  /* EVEX_W_0F62 */
140  {
141    { "vpunpckldq",	{ XM, Vex, EXx }, PREFIX_DATA },
142  },
143  /* EVEX_W_0F66 */
144  {
145    { "vpcmpgtd",	{ XMask, Vex, EXx }, PREFIX_DATA },
146  },
147  /* EVEX_W_0F6A */
148  {
149    { "vpunpckhdq",	{ XM, Vex, EXx }, PREFIX_DATA },
150  },
151  /* EVEX_W_0F6B */
152  {
153    { "vpackssdw",	{ XM, Vex, EXx }, PREFIX_DATA },
154  },
155  /* EVEX_W_0F6C */
156  {
157    { Bad_Opcode },
158    { "vpunpcklqdq",	{ XM, Vex, EXx }, PREFIX_DATA },
159  },
160  /* EVEX_W_0F6D */
161  {
162    { Bad_Opcode },
163    { "vpunpckhqdq",	{ XM, Vex, EXx }, PREFIX_DATA },
164  },
165  /* EVEX_W_0F6F_P_1 */
166  {
167    { "vmovdqu32",	{ XM, EXEvexXNoBcst }, 0 },
168    { "vmovdqu64",	{ XM, EXEvexXNoBcst }, 0 },
169  },
170  /* EVEX_W_0F6F_P_2 */
171  {
172    { "vmovdqa32",	{ XM, EXEvexXNoBcst }, 0 },
173    { "vmovdqa64",	{ XM, EXEvexXNoBcst }, 0 },
174  },
175  /* EVEX_W_0F6F_P_3 */
176  {
177    { "vmovdqu8",	{ XM, EXx }, 0 },
178    { "vmovdqu16",	{ XM, EXx }, 0 },
179  },
180  /* EVEX_W_0F70_P_2 */
181  {
182    { "vpshufd",	{ XM, EXx, Ib }, 0 },
183  },
184  /* EVEX_W_0F72_R_2 */
185  {
186    { "vpsrld",	{ Vex, EXx, Ib }, PREFIX_DATA },
187  },
188  /* EVEX_W_0F72_R_6 */
189  {
190    { "vpslld",	{ Vex, EXx, Ib }, PREFIX_DATA },
191  },
192  /* EVEX_W_0F73_R_2 */
193  {
194    { Bad_Opcode },
195    { "vpsrlq",	{ Vex, EXx, Ib }, PREFIX_DATA },
196  },
197  /* EVEX_W_0F73_R_6 */
198  {
199    { Bad_Opcode },
200    { "vpsllq",	{ Vex, EXx, Ib }, PREFIX_DATA },
201  },
202  /* EVEX_W_0F76 */
203  {
204    { "vpcmpeqd",	{ XMask, Vex, EXx }, PREFIX_DATA },
205  },
206  /* EVEX_W_0F78_P_0 */
207  {
208    { "vcvttps2udq",	{ XM, EXx, EXxEVexS }, 0 },
209    { "vcvttpd2udq%XY",	{ XMxmmq, EXx, EXxEVexS }, 0 },
210  },
211  /* EVEX_W_0F78_P_2 */
212  {
213    { "vcvttps2uqq",	{ XM, EXEvexHalfBcstXmmq, EXxEVexS }, 0 },
214    { "vcvttpd2uqq",	{ XM, EXx, EXxEVexS }, 0 },
215  },
216  /* EVEX_W_0F79_P_0 */
217  {
218    { "vcvtps2udq",	{ XM, EXx, EXxEVexR }, 0 },
219    { "vcvtpd2udq%XY",	{ XMxmmq, EXx, EXxEVexR }, 0 },
220  },
221  /* EVEX_W_0F79_P_2 */
222  {
223    { "vcvtps2uqq",	{ XM, EXEvexHalfBcstXmmq, EXxEVexR }, 0 },
224    { "vcvtpd2uqq",	{ XM, EXx, EXxEVexR }, 0 },
225  },
226  /* EVEX_W_0F7A_P_1 */
227  {
228    { "vcvtudq2pd",	{ XM, EXEvexHalfBcstXmmq }, 0 },
229    { "vcvtuqq2pd",	{ XM, EXx, EXxEVexR }, 0 },
230  },
231  /* EVEX_W_0F7A_P_2 */
232  {
233    { "vcvttps2qq",	{ XM, EXEvexHalfBcstXmmq, EXxEVexS }, 0 },
234    { "vcvttpd2qq",	{ XM, EXx, EXxEVexS }, 0 },
235  },
236  /* EVEX_W_0F7A_P_3 */
237  {
238    { "vcvtudq2ps",	{ XM, EXx, EXxEVexR }, 0 },
239    { "vcvtuqq2ps%XY",	{ XMxmmq, EXx, EXxEVexR }, 0 },
240  },
241  /* EVEX_W_0F7B_P_2 */
242  {
243    { "vcvtps2qq",	{ XM, EXEvexHalfBcstXmmq, EXxEVexR }, 0 },
244    { "vcvtpd2qq",	{ XM, EXx, EXxEVexR }, 0 },
245  },
246  /* EVEX_W_0F7B_P_3 */
247  {
248    { "vcvtusi2sd{%LQ|}",	{ XMScalar, VexScalar, Ed }, 0 },
249    { "vcvtusi2sd{%LQ|}",	{ XMScalar, VexScalar, EXxEVexR64, Edq }, 0 },
250  },
251  /* EVEX_W_0F7E_P_1 */
252  {
253    { Bad_Opcode },
254    { "vmovq",	{ XMScalar, EXxmm_mq }, 0 },
255  },
256  /* EVEX_W_0F7F_P_1 */
257  {
258    { "vmovdqu32",	{ EXxS, XM }, 0 },
259    { "vmovdqu64",	{ EXxS, XM }, 0 },
260  },
261  /* EVEX_W_0F7F_P_2 */
262  {
263    { "vmovdqa32",	{ EXxS, XM }, 0 },
264    { "vmovdqa64",	{ EXxS, XM }, 0 },
265  },
266  /* EVEX_W_0F7F_P_3 */
267  {
268    { "vmovdqu8",	{ EXxS, XM }, 0 },
269    { "vmovdqu16",	{ EXxS, XM }, 0 },
270  },
271  /* EVEX_W_0FC2_P_1 */
272  {
273    { "vcmpss",	{ XMask, VexScalar, EXxmm_md, EXxEVexS, CMP }, 0 },
274  },
275  /* EVEX_W_0FC2_P_3 */
276  {
277    { Bad_Opcode },
278    { "vcmpsd",	{ XMask, VexScalar, EXxmm_mq, EXxEVexS, CMP }, 0 },
279  },
280  /* EVEX_W_0FD2 */
281  {
282    { "vpsrld",		{ XM, Vex, EXxmm }, PREFIX_DATA },
283  },
284  /* EVEX_W_0FD3 */
285  {
286    { Bad_Opcode },
287    { "vpsrlq",		{ XM, Vex, EXxmm }, PREFIX_DATA },
288  },
289  /* EVEX_W_0FD4 */
290  {
291    { Bad_Opcode },
292    { "vpaddq",		{ XM, Vex, EXx }, PREFIX_DATA },
293  },
294  /* EVEX_W_0FD6_L_0 */
295  {
296    { Bad_Opcode },
297    { "vmovq",	{ EXqS, XMScalar }, PREFIX_DATA },
298  },
299  /* EVEX_W_0FE6_P_1 */
300  {
301    { "vcvtdq2pd",	{ XM, EXEvexHalfBcstXmmq }, 0 },
302    { "vcvtqq2pd",	{ XM, EXx, EXxEVexR }, 0 },
303  },
304  /* EVEX_W_0FE6_P_2 */
305  {
306    { Bad_Opcode },
307    { "vcvttpd2dq%XY",	{ XMxmmq, EXx, EXxEVexS }, 0 },
308  },
309  /* EVEX_W_0FE6_P_3 */
310  {
311    { Bad_Opcode },
312    { "vcvtpd2dq%XY",	{ XMxmmq, EXx, EXxEVexR }, 0 },
313  },
314  /* EVEX_W_0FE7 */
315  {
316    { "vmovntdq",	{ EXEvexXNoBcst, XM }, PREFIX_DATA },
317  },
318  /* EVEX_W_0FF2 */
319  {
320    { "vpslld",		{ XM, Vex, EXxmm }, PREFIX_DATA },
321  },
322  /* EVEX_W_0FF3 */
323  {
324    { Bad_Opcode },
325    { "vpsllq",		{ XM, Vex, EXxmm }, PREFIX_DATA },
326  },
327  /* EVEX_W_0FF4 */
328  {
329    { Bad_Opcode },
330    { "vpmuludq",	{ XM, Vex, EXx }, PREFIX_DATA },
331  },
332  /* EVEX_W_0FFA */
333  {
334    { "vpsubd",		{ XM, Vex, EXx }, PREFIX_DATA },
335  },
336  /* EVEX_W_0FFB */
337  {
338    { Bad_Opcode },
339    { "vpsubq",		{ XM, Vex, EXx }, PREFIX_DATA },
340  },
341  /* EVEX_W_0FFE */
342  {
343    { "vpaddd",		{ XM, Vex, EXx }, PREFIX_DATA },
344  },
345  /* EVEX_W_0F380D */
346  {
347    { Bad_Opcode },
348    { "vpermilpd",	{ XM, Vex, EXx }, PREFIX_DATA },
349  },
350  /* EVEX_W_0F3810_P_1 */
351  {
352    { "vpmovuswb",	{ EXxmmq, XM }, 0 },
353  },
354  /* EVEX_W_0F3810_P_2 */
355  {
356    { Bad_Opcode },
357    { "vpsrlvw",	{ XM, Vex, EXx }, 0 },
358  },
359  /* EVEX_W_0F3811_P_1 */
360  {
361    { "vpmovusdb",	{ EXxmmqd, XM }, 0 },
362  },
363  /* EVEX_W_0F3811_P_2 */
364  {
365    { Bad_Opcode },
366    { "vpsravw",	{ XM, Vex, EXx }, 0 },
367  },
368  /* EVEX_W_0F3812_P_1 */
369  {
370    { "vpmovusqb",	{ EXxmmdw, XM }, 0 },
371  },
372  /* EVEX_W_0F3812_P_2 */
373  {
374    { Bad_Opcode },
375    { "vpsllvw",	{ XM, Vex, EXx }, 0 },
376  },
377  /* EVEX_W_0F3813_P_1 */
378  {
379    { "vpmovusdw",	{ EXxmmq, XM }, 0 },
380  },
381  /* EVEX_W_0F3813_P_2 */
382  {
383    { "vcvtph2ps",	{ XM, EXxmmq, EXxEVexS }, 0 },
384  },
385  /* EVEX_W_0F3814_P_1 */
386  {
387    { "vpmovusqw",	{ EXxmmqd, XM }, 0 },
388  },
389  /* EVEX_W_0F3815_P_1 */
390  {
391    { "vpmovusqd",	{ EXxmmq, XM }, 0 },
392  },
393  /* EVEX_W_0F3819 */
394  {
395    { EVEX_LEN_TABLE (EVEX_LEN_0F3819_W_0) },
396    { EVEX_LEN_TABLE (EVEX_LEN_0F3819_W_1) },
397  },
398  /* EVEX_W_0F381A */
399  {
400    { MOD_TABLE (MOD_EVEX_0F381A_W_0) },
401    { MOD_TABLE (MOD_EVEX_0F381A_W_1) },
402  },
403  /* EVEX_W_0F381B */
404  {
405    { MOD_TABLE (MOD_EVEX_0F381B_W_0) },
406    { MOD_TABLE (MOD_EVEX_0F381B_W_1) },
407  },
408  /* EVEX_W_0F381E */
409  {
410    { "vpabsd",	{ XM, EXx }, PREFIX_DATA },
411  },
412  /* EVEX_W_0F381F */
413  {
414    { Bad_Opcode },
415    { "vpabsq",	{ XM, EXx }, PREFIX_DATA },
416  },
417  /* EVEX_W_0F3820_P_1 */
418  {
419    { "vpmovswb",	{ EXxmmq, XM }, 0 },
420  },
421  /* EVEX_W_0F3821_P_1 */
422  {
423    { "vpmovsdb",	{ EXxmmqd, XM }, 0 },
424  },
425  /* EVEX_W_0F3822_P_1 */
426  {
427    { "vpmovsqb",	{ EXxmmdw, XM }, 0 },
428  },
429  /* EVEX_W_0F3823_P_1 */
430  {
431    { "vpmovsdw",	{ EXxmmq, XM }, 0 },
432  },
433  /* EVEX_W_0F3824_P_1 */
434  {
435    { "vpmovsqw",	{ EXxmmqd, XM }, 0 },
436  },
437  /* EVEX_W_0F3825_P_1 */
438  {
439    { "vpmovsqd",	{ EXxmmq, XM }, 0 },
440  },
441  /* EVEX_W_0F3825_P_2 */
442  {
443    { "vpmovsxdq",	{ XM, EXxmmq }, 0 },
444  },
445  /* EVEX_W_0F3828_P_2 */
446  {
447    { Bad_Opcode },
448    { "vpmuldq",	{ XM, Vex, EXx }, 0 },
449  },
450  /* EVEX_W_0F3829_P_2 */
451  {
452    { Bad_Opcode },
453    { "vpcmpeqq",	{ XMask, Vex, EXx }, 0 },
454  },
455  /* EVEX_W_0F382A_P_1 */
456  {
457    { Bad_Opcode },
458    { MOD_TABLE (MOD_EVEX_0F382A_P_1_W_1) },
459  },
460  /* EVEX_W_0F382A_P_2 */
461  {
462    { "vmovntdqa",	{ XM, EXEvexXNoBcst }, 0 },
463  },
464  /* EVEX_W_0F382B */
465  {
466    { "vpackusdw",	{ XM, Vex, EXx }, PREFIX_DATA },
467  },
468  /* EVEX_W_0F3830_P_1 */
469  {
470    { "vpmovwb",	{ EXxmmq, XM }, 0 },
471  },
472  /* EVEX_W_0F3831_P_1 */
473  {
474    { "vpmovdb",	{ EXxmmqd, XM }, 0 },
475  },
476  /* EVEX_W_0F3832_P_1 */
477  {
478    { "vpmovqb",	{ EXxmmdw, XM }, 0 },
479  },
480  /* EVEX_W_0F3833_P_1 */
481  {
482    { "vpmovdw",	{ EXxmmq, XM }, 0 },
483  },
484  /* EVEX_W_0F3834_P_1 */
485  {
486    { "vpmovqw",	{ EXxmmqd, XM }, 0 },
487  },
488  /* EVEX_W_0F3835_P_1 */
489  {
490    { "vpmovqd",	{ EXxmmq, XM }, 0 },
491  },
492  /* EVEX_W_0F3835_P_2 */
493  {
494    { "vpmovzxdq",	{ XM, EXxmmq }, 0 },
495  },
496  /* EVEX_W_0F3837 */
497  {
498    { Bad_Opcode },
499    { "vpcmpgtq",	{ XMask, Vex, EXx }, PREFIX_DATA },
500  },
501  /* EVEX_W_0F383A_P_1 */
502  {
503    { MOD_TABLE (MOD_EVEX_0F383A_P_1_W_0) },
504  },
505  /* EVEX_W_0F3852_P_1 */
506  {
507    { "vdpbf16ps",	{ XM, Vex, EXx }, 0 },
508    { Bad_Opcode },
509  },
510  /* EVEX_W_0F3859 */
511  {
512    { "vbroadcasti32x2",	{ XM, EXxmm_mq }, PREFIX_DATA },
513    { "vpbroadcastq",	{ XM, EXxmm_mq }, PREFIX_DATA },
514  },
515  /* EVEX_W_0F385A */
516  {
517    { MOD_TABLE (MOD_EVEX_0F385A_W_0) },
518    { MOD_TABLE (MOD_EVEX_0F385A_W_1) },
519  },
520  /* EVEX_W_0F385B */
521  {
522    { MOD_TABLE (MOD_EVEX_0F385B_W_0) },
523    { MOD_TABLE (MOD_EVEX_0F385B_W_1) },
524  },
525  /* EVEX_W_0F3870 */
526  {
527    { Bad_Opcode },
528    { "vpshldvw",  { XM, Vex, EXx }, PREFIX_DATA },
529  },
530  /* EVEX_W_0F3872_P_1 */
531  {
532    { "vcvtneps2bf16%XY", { XMxmmq, EXx }, 0 },
533    { Bad_Opcode },
534  },
535  /* EVEX_W_0F3872_P_2 */
536  {
537    { Bad_Opcode },
538    { "vpshrdvw",  { XM, Vex, EXx }, 0 },
539  },
540  /* EVEX_W_0F3872_P_3 */
541  {
542    { "vcvtne2ps2bf16", { XM, Vex, EXx}, 0 },
543    { Bad_Opcode },
544  },
545  /* EVEX_W_0F387A */
546  {
547    { MOD_TABLE (MOD_EVEX_0F387A_W_0) },
548  },
549  /* EVEX_W_0F387B */
550  {
551    { MOD_TABLE (MOD_EVEX_0F387B_W_0) },
552  },
553  /* EVEX_W_0F3883 */
554  {
555    { Bad_Opcode },
556    { "vpmultishiftqb",	{ XM, Vex, EXx }, PREFIX_DATA },
557  },
558  /* EVEX_W_0F3891 */
559  {
560    { "vpgatherqd",	{ XMxmmq, MVexVSIBQDWpX }, PREFIX_DATA },
561    { "vpgatherqq",	{ XM, MVexVSIBQWpX }, 0 },
562  },
563  /* EVEX_W_0F3893 */
564  {
565    { "vgatherqps",	{ XMxmmq, MVexVSIBQDWpX }, PREFIX_DATA },
566    { "vgatherqpd",	{ XM, MVexVSIBQWpX }, 0 },
567  },
568  /* EVEX_W_0F38A1 */
569  {
570    { "vpscatterqd",	{ MVexVSIBQDWpX, XMxmmq }, PREFIX_DATA },
571    { "vpscatterqq",	{ MVexVSIBQWpX, XM }, 0 },
572  },
573  /* EVEX_W_0F38A3 */
574  {
575    { "vscatterqps",	{ MVexVSIBQDWpX, XMxmmq }, PREFIX_DATA },
576    { "vscatterqpd",	{ MVexVSIBQWpX, XM }, 0 },
577  },
578  /* EVEX_W_0F38C7_R_1_M_0 */
579  {
580    { EVEX_LEN_TABLE (EVEX_LEN_0F38C7_R_1_M_0_W_0) },
581    { EVEX_LEN_TABLE (EVEX_LEN_0F38C7_R_1_M_0_W_1) },
582  },
583  /* EVEX_W_0F38C7_R_2_M_0 */
584  {
585    { EVEX_LEN_TABLE (EVEX_LEN_0F38C7_R_2_M_0_W_0) },
586    { EVEX_LEN_TABLE (EVEX_LEN_0F38C7_R_2_M_0_W_1) },
587  },
588  /* EVEX_W_0F38C7_R_5_M_0 */
589  {
590    { EVEX_LEN_TABLE (EVEX_LEN_0F38C7_R_5_M_0_W_0) },
591    { EVEX_LEN_TABLE (EVEX_LEN_0F38C7_R_5_M_0_W_1) },
592  },
593  /* EVEX_W_0F38C7_R_6_M_0 */
594  {
595    { EVEX_LEN_TABLE (EVEX_LEN_0F38C7_R_6_M_0_W_0) },
596    { EVEX_LEN_TABLE (EVEX_LEN_0F38C7_R_6_M_0_W_1) },
597  },
598  /* EVEX_W_0F3A00 */
599  {
600    { Bad_Opcode },
601    { EVEX_LEN_TABLE (EVEX_LEN_0F3A00_W_1) },
602  },
603  /* EVEX_W_0F3A01 */
604  {
605    { Bad_Opcode },
606    { EVEX_LEN_TABLE (EVEX_LEN_0F3A01_W_1) },
607  },
608  /* EVEX_W_0F3A05 */
609  {
610    { Bad_Opcode },
611    { "vpermilpd",	{ XM, EXx, Ib }, PREFIX_DATA },
612  },
613  /* EVEX_W_0F3A08 */
614  {
615    { "vrndscaleps",	{ XM, EXx, EXxEVexS, Ib }, PREFIX_DATA },
616  },
617  /* EVEX_W_0F3A09 */
618  {
619    { Bad_Opcode },
620    { "vrndscalepd",	{ XM, EXx, EXxEVexS, Ib }, PREFIX_DATA },
621  },
622  /* EVEX_W_0F3A0A */
623  {
624    { "vrndscaless",	{ XMScalar, VexScalar, EXxmm_md, EXxEVexS, Ib }, PREFIX_DATA },
625  },
626  /* EVEX_W_0F3A0B */
627  {
628    { Bad_Opcode },
629    { "vrndscalesd",	{ XMScalar, VexScalar, EXxmm_mq, EXxEVexS, Ib }, PREFIX_DATA },
630  },
631  /* EVEX_W_0F3A18 */
632  {
633    { EVEX_LEN_TABLE (EVEX_LEN_0F3A18_W_0) },
634    { EVEX_LEN_TABLE (EVEX_LEN_0F3A18_W_1) },
635  },
636  /* EVEX_W_0F3A19 */
637  {
638    { EVEX_LEN_TABLE (EVEX_LEN_0F3A19_W_0) },
639    { EVEX_LEN_TABLE (EVEX_LEN_0F3A19_W_1) },
640  },
641  /* EVEX_W_0F3A1A */
642  {
643    { EVEX_LEN_TABLE (EVEX_LEN_0F3A1A_W_0) },
644    { EVEX_LEN_TABLE (EVEX_LEN_0F3A1A_W_1) },
645  },
646  /* EVEX_W_0F3A1B */
647  {
648    { EVEX_LEN_TABLE (EVEX_LEN_0F3A1B_W_0) },
649    { EVEX_LEN_TABLE (EVEX_LEN_0F3A1B_W_1) },
650  },
651  /* EVEX_W_0F3A21 */
652  {
653    { EVEX_LEN_TABLE (EVEX_LEN_0F3A21_W_0) },
654  },
655  /* EVEX_W_0F3A23 */
656  {
657    { EVEX_LEN_TABLE (EVEX_LEN_0F3A23_W_0) },
658    { EVEX_LEN_TABLE (EVEX_LEN_0F3A23_W_1) },
659  },
660  /* EVEX_W_0F3A38 */
661  {
662    { EVEX_LEN_TABLE (EVEX_LEN_0F3A38_W_0) },
663    { EVEX_LEN_TABLE (EVEX_LEN_0F3A38_W_1) },
664  },
665  /* EVEX_W_0F3A39 */
666  {
667    { EVEX_LEN_TABLE (EVEX_LEN_0F3A39_W_0) },
668    { EVEX_LEN_TABLE (EVEX_LEN_0F3A39_W_1) },
669  },
670  /* EVEX_W_0F3A3A */
671  {
672    { EVEX_LEN_TABLE (EVEX_LEN_0F3A3A_W_0) },
673    { EVEX_LEN_TABLE (EVEX_LEN_0F3A3A_W_1) },
674  },
675  /* EVEX_W_0F3A3B */
676  {
677    { EVEX_LEN_TABLE (EVEX_LEN_0F3A3B_W_0) },
678    { EVEX_LEN_TABLE (EVEX_LEN_0F3A3B_W_1) },
679  },
680  /* EVEX_W_0F3A42 */
681  {
682    { "vdbpsadbw",	{ XM, Vex, EXx, Ib }, 0 },
683  },
684  /* EVEX_W_0F3A43 */
685  {
686    { EVEX_LEN_TABLE (EVEX_LEN_0F3A43_W_0) },
687    { EVEX_LEN_TABLE (EVEX_LEN_0F3A43_W_1) },
688  },
689  /* EVEX_W_0F3A70 */
690  {
691    { Bad_Opcode },
692    { "vpshldw",   { XM, Vex, EXx, Ib }, 0 },
693  },
694  /* EVEX_W_0F3A72 */
695  {
696    { Bad_Opcode },
697    { "vpshrdw",   { XM, Vex, EXx, Ib }, 0 },
698  },
699