readelf: avoid shadowing a libiberty symbol
[external/binutils.git] / opcodes / i386-dis-evex-w.h
1   /* EVEX_W_0F10_P_0 */
2   {
3     { "vmovups",        { XM, EXEvexXNoBcst }, 0 },
4   },
5   /* EVEX_W_0F10_P_1_M_0 */
6   {
7     { "vmovss", { XMScalar, EXdScalar }, 0 },
8   },
9   /* EVEX_W_0F10_P_1_M_1 */
10   {
11     { "vmovss", { XMScalar, VexScalar, EXxmm_md }, 0 },
12   },
13   /* EVEX_W_0F10_P_2 */
14   {
15     { Bad_Opcode },
16     { "vmovupd",        { XM, EXEvexXNoBcst }, 0 },
17   },
18   /* EVEX_W_0F10_P_3_M_0 */
19   {
20     { Bad_Opcode },
21     { "vmovsd", { XMScalar, EXqScalar }, 0 },
22   },
23   /* EVEX_W_0F10_P_3_M_1 */
24   {
25     { Bad_Opcode },
26     { "vmovsd", { XMScalar, VexScalar, EXxmm_mq }, 0 },
27   },
28   /* EVEX_W_0F11_P_0 */
29   {
30     { "vmovups",        { EXxS, XM }, 0 },
31   },
32   /* EVEX_W_0F11_P_1_M_0 */
33   {
34     { "vmovss", { EXdScalarS, XMScalar }, 0 },
35   },
36   /* EVEX_W_0F11_P_1_M_1 */
37   {
38     { "vmovss", { EXxS, Vex, XMScalar }, 0 },
39   },
40   /* EVEX_W_0F11_P_2 */
41   {
42     { Bad_Opcode },
43     { "vmovupd",        { EXxS, XM }, 0 },
44   },
45   /* EVEX_W_0F11_P_3_M_0 */
46   {
47     { Bad_Opcode },
48     { "vmovsd", { EXqScalarS, XMScalar }, 0 },
49   },
50   /* EVEX_W_0F11_P_3_M_1 */
51   {
52     { Bad_Opcode },
53     { "vmovsd", { EXxS, Vex, XMScalar }, 0 },
54   },
55   /* EVEX_W_0F12_P_0_M_0 */
56   {
57     { "vmovlps",        { XMM, Vex, EXxmm_mq }, 0 },
58   },
59   /* EVEX_W_0F12_P_0_M_1 */
60   {
61     { "vmovhlps",       { XMM, Vex, EXxmm_mq }, 0 },
62   },
63   /* EVEX_W_0F12_P_1 */
64   {
65     { "vmovsldup",      { XM, EXEvexXNoBcst }, 0 },
66   },
67   /* EVEX_W_0F12_P_2 */
68   {
69     { Bad_Opcode },
70     { "vmovlpd",        { XMM, Vex, EXxmm_mq }, 0 },
71   },
72   /* EVEX_W_0F12_P_3 */
73   {
74     { Bad_Opcode },
75     { "vmovddup",       { XM, EXymmq }, 0 },
76   },
77   /* EVEX_W_0F13_P_0 */
78   {
79     { "vmovlps",        { EXxmm_mq, XMM }, 0 },
80   },
81   /* EVEX_W_0F13_P_2 */
82   {
83     { Bad_Opcode },
84     { "vmovlpd",        { EXxmm_mq, XMM }, 0 },
85   },
86   /* EVEX_W_0F14_P_0 */
87   {
88     { "vunpcklps",      { XM, Vex, EXx }, 0 },
89   },
90   /* EVEX_W_0F14_P_2 */
91   {
92     { Bad_Opcode },
93     { "vunpcklpd",      { XM, Vex, EXx }, 0 },
94   },
95   /* EVEX_W_0F15_P_0 */
96   {
97     { "vunpckhps",      { XM, Vex, EXx }, 0 },
98   },
99   /* EVEX_W_0F15_P_2 */
100   {
101     { Bad_Opcode },
102     { "vunpckhpd",      { XM, Vex, EXx }, 0 },
103   },
104   /* EVEX_W_0F16_P_0_M_0 */
105   {
106     { "vmovhps",        { XMM, Vex, EXxmm_mq }, 0 },
107   },
108   /* EVEX_W_0F16_P_0_M_1 */
109   {
110     { "vmovlhps",       { XMM, Vex, EXx }, 0 },
111   },
112   /* EVEX_W_0F16_P_1 */
113   {
114     { "vmovshdup",      { XM, EXx }, 0 },
115   },
116   /* EVEX_W_0F16_P_2 */
117   {
118     { Bad_Opcode },
119     { "vmovhpd",        { XMM, Vex, EXxmm_mq }, 0 },
120   },
121   /* EVEX_W_0F17_P_0 */
122   {
123     { "vmovhps",        { EXxmm_mq, XMM }, 0 },
124   },
125   /* EVEX_W_0F17_P_2 */
126   {
127     { Bad_Opcode },
128     { "vmovhpd",        { EXxmm_mq, XMM }, 0 },
129   },
130   /* EVEX_W_0F28_P_0 */
131   {
132     { "vmovaps",        { XM, EXx }, 0 },
133   },
134   /* EVEX_W_0F28_P_2 */
135   {
136     { Bad_Opcode },
137     { "vmovapd",        { XM, EXx }, 0 },
138   },
139   /* EVEX_W_0F29_P_0 */
140   {
141     { "vmovaps",        { EXxS, XM }, 0 },
142   },
143   /* EVEX_W_0F29_P_2 */
144   {
145     { Bad_Opcode },
146     { "vmovapd",        { EXxS, XM }, 0 },
147   },
148   /* EVEX_W_0F2A_P_3 */
149   {
150     { "vcvtsi2sd%LQ",   { XMScalar, VexScalar, Ed }, 0 },
151     { "vcvtsi2sd%LQ",   { XMScalar, VexScalar, EXxEVexR64, Edq }, 0 },
152   },
153   /* EVEX_W_0F2B_P_0 */
154   {
155     { "vmovntps",       { EXx, XM }, 0 },
156   },
157   /* EVEX_W_0F2B_P_2 */
158   {
159     { Bad_Opcode },
160     { "vmovntpd",       { EXx, XM }, 0 },
161   },
162   /* EVEX_W_0F2E_P_0 */
163   {
164     { "vucomiss",       { XMScalar, EXxmm_md, EXxEVexS }, 0 },
165   },
166   /* EVEX_W_0F2E_P_2 */
167   {
168     { Bad_Opcode },
169     { "vucomisd",       { XMScalar, EXxmm_mq, EXxEVexS }, 0 },
170   },
171   /* EVEX_W_0F2F_P_0 */
172   {
173     { "vcomiss",        { XMScalar, EXxmm_md, EXxEVexS }, 0 },
174   },
175   /* EVEX_W_0F2F_P_2 */
176   {
177     { Bad_Opcode },
178     { "vcomisd",        { XMScalar, EXxmm_mq, EXxEVexS }, 0 },
179   },
180   /* EVEX_W_0F51_P_0 */
181   {
182     { "vsqrtps",        { XM, EXx, EXxEVexR }, 0 },
183   },
184   /* EVEX_W_0F51_P_1 */
185   {
186     { "vsqrtss",        { XMScalar, VexScalar, EXxmm_md, EXxEVexR }, 0 },
187   },
188   /* EVEX_W_0F51_P_2 */
189   {
190     { Bad_Opcode },
191     { "vsqrtpd",        { XM, EXx, EXxEVexR }, 0 },
192   },
193   /* EVEX_W_0F51_P_3 */
194   {
195     { Bad_Opcode },
196     { "vsqrtsd",        { XMScalar, VexScalar, EXxmm_mq, EXxEVexR }, 0 },
197   },
198   /* EVEX_W_0F54_P_0 */
199   {
200     { "vandps", { XM, Vex, EXx }, 0 },
201   },
202   /* EVEX_W_0F54_P_2 */
203   {
204     { Bad_Opcode },
205     { "vandpd", { XM, Vex, EXx }, 0 },
206   },
207   /* EVEX_W_0F55_P_0 */
208   {
209     { "vandnps",        { XM, Vex, EXx }, 0 },
210   },
211   /* EVEX_W_0F55_P_2 */
212   {
213     { Bad_Opcode },
214     { "vandnpd",        { XM, Vex, EXx }, 0 },
215   },
216   /* EVEX_W_0F56_P_0 */
217   {
218     { "vorps",  { XM, Vex, EXx }, 0 },
219   },
220   /* EVEX_W_0F56_P_2 */
221   {
222     { Bad_Opcode },
223     { "vorpd",  { XM, Vex, EXx }, 0 },
224   },
225   /* EVEX_W_0F57_P_0 */
226   {
227     { "vxorps", { XM, Vex, EXx }, 0 },
228   },
229   /* EVEX_W_0F57_P_2 */
230   {
231     { Bad_Opcode },
232     { "vxorpd", { XM, Vex, EXx }, 0 },
233   },
234   /* EVEX_W_0F58_P_0 */
235   {
236     { "vaddps", { XM, Vex, EXx, EXxEVexR }, 0 },
237   },
238   /* EVEX_W_0F58_P_1 */
239   {
240     { "vaddss", { XMScalar, VexScalar, EXxmm_md, EXxEVexR }, 0 },
241   },
242   /* EVEX_W_0F58_P_2 */
243   {
244     { Bad_Opcode },
245     { "vaddpd", { XM, Vex, EXx, EXxEVexR }, 0 },
246   },
247   /* EVEX_W_0F58_P_3 */
248   {
249     { Bad_Opcode },
250     { "vaddsd", { XMScalar, VexScalar, EXxmm_mq, EXxEVexR }, 0 },
251   },
252   /* EVEX_W_0F59_P_0 */
253   {
254     { "vmulps", { XM, Vex, EXx, EXxEVexR }, 0 },
255   },
256   /* EVEX_W_0F59_P_1 */
257   {
258     { "vmulss", { XMScalar, VexScalar, EXxmm_md, EXxEVexR }, 0 },
259   },
260   /* EVEX_W_0F59_P_2 */
261   {
262     { Bad_Opcode },
263     { "vmulpd", { XM, Vex, EXx, EXxEVexR }, 0 },
264   },
265   /* EVEX_W_0F59_P_3 */
266   {
267     { Bad_Opcode },
268     { "vmulsd", { XMScalar, VexScalar, EXxmm_mq, EXxEVexR }, 0 },
269   },
270   /* EVEX_W_0F5A_P_0 */
271   {
272     { "vcvtps2pd",   { XM, EXEvexHalfBcstXmmq, EXxEVexS }, 0 },
273   },
274   /* EVEX_W_0F5A_P_1 */
275   {
276     { "vcvtss2sd",      { XMScalar, VexScalar, EXxmm_md, EXxEVexS }, 0 },
277   },
278   /* EVEX_W_0F5A_P_2 */
279   {
280     { Bad_Opcode },
281     { "vcvtpd2ps%XY",   { XMxmmq, EXx, EXxEVexR }, 0 },
282   },
283   /* EVEX_W_0F5A_P_3 */
284   {
285     { Bad_Opcode },
286     { "vcvtsd2ss",      { XMScalar, VexScalar, EXxmm_mq, EXxEVexR }, 0 },
287   },
288   /* EVEX_W_0F5B_P_0 */
289   {
290     { "vcvtdq2ps",      { XM, EXx, EXxEVexR }, 0 },
291     { "vcvtqq2ps%XY",   { XMxmmq, EXx, EXxEVexR }, 0 },
292   },
293   /* EVEX_W_0F5B_P_1 */
294   {
295     { "vcvttps2dq",     { XM, EXx, EXxEVexS }, 0 },
296   },
297   /* EVEX_W_0F5B_P_2 */
298   {
299     { "vcvtps2dq",      { XM, EXx, EXxEVexR }, 0 },
300   },
301   /* EVEX_W_0F5C_P_0 */
302   {
303     { "vsubps", { XM, Vex, EXx, EXxEVexR }, 0 },
304   },
305   /* EVEX_W_0F5C_P_1 */
306   {
307     { "vsubss", { XMScalar, VexScalar, EXxmm_md, EXxEVexR }, 0 },
308   },
309   /* EVEX_W_0F5C_P_2 */
310   {
311     { Bad_Opcode },
312     { "vsubpd", { XM, Vex, EXx, EXxEVexR }, 0 },
313   },
314   /* EVEX_W_0F5C_P_3 */
315   {
316     { Bad_Opcode },
317     { "vsubsd", { XMScalar, VexScalar, EXxmm_mq, EXxEVexR }, 0 },
318   },
319   /* EVEX_W_0F5D_P_0 */
320   {
321     { "vminps", { XM, Vex, EXx, EXxEVexS }, 0 },
322   },
323   /* EVEX_W_0F5D_P_1 */
324   {
325     { "vminss", { XMScalar, VexScalar, EXxmm_md, EXxEVexS }, 0 },
326   },
327   /* EVEX_W_0F5D_P_2 */
328   {
329     { Bad_Opcode },
330     { "vminpd", { XM, Vex, EXx, EXxEVexS }, 0 },
331   },
332   /* EVEX_W_0F5D_P_3 */
333   {
334     { Bad_Opcode },
335     { "vminsd", { XMScalar, VexScalar, EXxmm_mq, EXxEVexS }, 0 },
336   },
337   /* EVEX_W_0F5E_P_0 */
338   {
339     { "vdivps", { XM, Vex, EXx, EXxEVexR }, 0 },
340   },
341   /* EVEX_W_0F5E_P_1 */
342   {
343     { "vdivss", { XMScalar, VexScalar, EXxmm_md, EXxEVexR }, 0 },
344   },
345   /* EVEX_W_0F5E_P_2 */
346   {
347     { Bad_Opcode },
348     { "vdivpd", { XM, Vex, EXx, EXxEVexR }, 0 },
349   },
350   /* EVEX_W_0F5E_P_3 */
351   {
352     { Bad_Opcode },
353     { "vdivsd", { XMScalar, VexScalar, EXxmm_mq, EXxEVexR }, 0 },
354   },
355   /* EVEX_W_0F5F_P_0 */
356   {
357     { "vmaxps", { XM, Vex, EXx, EXxEVexS }, 0 },
358   },
359   /* EVEX_W_0F5F_P_1 */
360   {
361     { "vmaxss", { XMScalar, VexScalar, EXxmm_md, EXxEVexS }, 0 },
362   },
363   /* EVEX_W_0F5F_P_2 */
364   {
365     { Bad_Opcode },
366     { "vmaxpd", { XM, Vex, EXx, EXxEVexS }, 0 },
367   },
368   /* EVEX_W_0F5F_P_3 */
369   {
370     { Bad_Opcode },
371     { "vmaxsd", { XMScalar, VexScalar, EXxmm_mq, EXxEVexS }, 0 },
372   },
373   /* EVEX_W_0F62_P_2 */
374   {
375     { "vpunpckldq",     { XM, Vex, EXx }, 0 },
376   },
377   /* EVEX_W_0F66_P_2 */
378   {
379     { "vpcmpgtd",       { XMask, Vex, EXx }, 0 },
380   },
381   /* EVEX_W_0F6A_P_2 */
382   {
383     { "vpunpckhdq",     { XM, Vex, EXx }, 0 },
384   },
385   /* EVEX_W_0F6B_P_2 */
386   {
387     { "vpackssdw",      { XM, Vex, EXx }, 0 },
388   },
389   /* EVEX_W_0F6C_P_2 */
390   {
391     { Bad_Opcode },
392     { "vpunpcklqdq",    { XM, Vex, EXx }, 0 },
393   },
394   /* EVEX_W_0F6D_P_2 */
395   {
396     { Bad_Opcode },
397     { "vpunpckhqdq",    { XM, Vex, EXx }, 0 },
398   },
399   /* EVEX_W_0F6F_P_1 */
400   {
401     { "vmovdqu32",      { XM, EXEvexXNoBcst }, 0 },
402     { "vmovdqu64",      { XM, EXEvexXNoBcst }, 0 },
403   },
404   /* EVEX_W_0F6F_P_2 */
405   {
406     { "vmovdqa32",      { XM, EXEvexXNoBcst }, 0 },
407     { "vmovdqa64",      { XM, EXEvexXNoBcst }, 0 },
408   },
409   /* EVEX_W_0F6F_P_3 */
410   {
411     { "vmovdqu8",       { XM, EXx }, 0 },
412     { "vmovdqu16",      { XM, EXx }, 0 },
413   },
414   /* EVEX_W_0F70_P_2 */
415   {
416     { "vpshufd",        { XM, EXx, Ib }, 0 },
417   },
418   /* EVEX_W_0F72_R_2_P_2 */
419   {
420     { "vpsrld", { Vex, EXx, Ib }, 0 },
421   },
422   /* EVEX_W_0F72_R_6_P_2 */
423   {
424     { "vpslld", { Vex, EXx, Ib }, 0 },
425   },
426   /* EVEX_W_0F73_R_2_P_2 */
427   {
428     { Bad_Opcode },
429     { "vpsrlq", { Vex, EXx, Ib }, 0 },
430   },
431   /* EVEX_W_0F73_R_6_P_2 */
432   {
433     { Bad_Opcode },
434     { "vpsllq", { Vex, EXx, Ib }, 0 },
435   },
436   /* EVEX_W_0F76_P_2 */
437   {
438     { "vpcmpeqd",       { XMask, Vex, EXx }, 0 },
439   },
440   /* EVEX_W_0F78_P_0 */
441   {
442     { "vcvttps2udq",    { XM, EXx, EXxEVexS }, 0 },
443     { "vcvttpd2udq%XY", { XMxmmq, EXx, EXxEVexS }, 0 },
444   },
445   /* EVEX_W_0F78_P_2 */
446   {
447     { "vcvttps2uqq",    { XM, EXEvexHalfBcstXmmq, EXxEVexS }, 0 },
448     { "vcvttpd2uqq",    { XM, EXx, EXxEVexS }, 0 },
449   },
450   /* EVEX_W_0F79_P_0 */
451   {
452     { "vcvtps2udq",     { XM, EXx, EXxEVexR }, 0 },
453     { "vcvtpd2udq%XY",  { XMxmmq, EXx, EXxEVexR }, 0 },
454   },
455   /* EVEX_W_0F79_P_2 */
456   {
457     { "vcvtps2uqq",     { XM, EXEvexHalfBcstXmmq, EXxEVexR }, 0 },
458     { "vcvtpd2uqq",     { XM, EXx, EXxEVexR }, 0 },
459   },
460   /* EVEX_W_0F7A_P_1 */
461   {
462     { "vcvtudq2pd",     { XM, EXEvexHalfBcstXmmq }, 0 },
463     { "vcvtuqq2pd",     { XM, EXx, EXxEVexR }, 0 },
464   },
465   /* EVEX_W_0F7A_P_2 */
466   {
467     { "vcvttps2qq",     { XM, EXEvexHalfBcstXmmq, EXxEVexS }, 0 },
468     { "vcvttpd2qq",     { XM, EXx, EXxEVexS }, 0 },
469   },
470   /* EVEX_W_0F7A_P_3 */
471   {
472     { "vcvtudq2ps",     { XM, EXx, EXxEVexR }, 0 },
473     { "vcvtuqq2ps%XY",  { XMxmmq, EXx, EXxEVexR }, 0 },
474   },
475   /* EVEX_W_0F7B_P_2 */
476   {
477     { "vcvtps2qq",      { XM, EXEvexHalfBcstXmmq, EXxEVexR }, 0 },
478     { "vcvtpd2qq",      { XM, EXx, EXxEVexR }, 0 },
479   },
480   /* EVEX_W_0F7B_P_3 */
481   {
482     { "vcvtusi2sd%LQ",  { XMScalar, VexScalar, Ed }, 0 },
483     { "vcvtusi2sd%LQ",  { XMScalar, VexScalar, EXxEVexR64, Edq }, 0 },
484   },
485   /* EVEX_W_0F7E_P_1 */
486   {
487     { Bad_Opcode },
488     { "vmovq",  { XMScalar, EXxmm_mq }, 0 },
489   },
490   /* EVEX_W_0F7F_P_1 */
491   {
492     { "vmovdqu32",      { EXxS, XM }, 0 },
493     { "vmovdqu64",      { EXxS, XM }, 0 },
494   },
495   /* EVEX_W_0F7F_P_2 */
496   {
497     { "vmovdqa32",      { EXxS, XM }, 0 },
498     { "vmovdqa64",      { EXxS, XM }, 0 },
499   },
500   /* EVEX_W_0F7F_P_3 */
501   {
502     { "vmovdqu8",       { EXxS, XM }, 0 },
503     { "vmovdqu16",      { EXxS, XM }, 0 },
504   },
505   /* EVEX_W_0FC2_P_0 */
506   {
507     { "vcmpps", { XMask, Vex, EXx, EXxEVexS, VCMP }, 0 },
508   },
509   /* EVEX_W_0FC2_P_1 */
510   {
511     { "vcmpss", { XMask, VexScalar, EXxmm_md, EXxEVexS, VCMP }, 0 },
512   },
513   /* EVEX_W_0FC2_P_2 */
514   {
515     { Bad_Opcode },
516     { "vcmppd", { XMask, Vex, EXx, EXxEVexS, VCMP }, 0 },
517   },
518   /* EVEX_W_0FC2_P_3 */
519   {
520     { Bad_Opcode },
521     { "vcmpsd", { XMask, VexScalar, EXxmm_mq, EXxEVexS, VCMP }, 0 },
522   },
523   /* EVEX_W_0FC6_P_0 */
524   {
525     { "vshufps",        { XM, Vex, EXx, Ib }, 0 },
526   },
527   /* EVEX_W_0FC6_P_2 */
528   {
529     { Bad_Opcode },
530     { "vshufpd",        { XM, Vex, EXx, Ib }, 0 },
531   },
532   /* EVEX_W_0FD2_P_2 */
533   {
534     { "vpsrld", { XM, Vex, EXxmm }, 0 },
535   },
536   /* EVEX_W_0FD3_P_2 */
537   {
538     { Bad_Opcode },
539     { "vpsrlq", { XM, Vex, EXxmm }, 0 },
540   },
541   /* EVEX_W_0FD4_P_2 */
542   {
543     { Bad_Opcode },
544     { "vpaddq", { XM, Vex, EXx }, 0 },
545   },
546   /* EVEX_W_0FD6_P_2 */
547   {
548     { Bad_Opcode },
549     { "vmovq",  { EXxmm_mq, XMScalar }, 0 },
550   },
551   /* EVEX_W_0FE6_P_1 */
552   {
553     { "vcvtdq2pd",      { XM, EXEvexHalfBcstXmmq }, 0 },
554     { "vcvtqq2pd",      { XM, EXx, EXxEVexR }, 0 },
555   },
556   /* EVEX_W_0FE6_P_2 */
557   {
558     { Bad_Opcode },
559     { "vcvttpd2dq%XY",  { XMxmmq, EXx, EXxEVexS }, 0 },
560   },
561   /* EVEX_W_0FE6_P_3 */
562   {
563     { Bad_Opcode },
564     { "vcvtpd2dq%XY",   { XMxmmq, EXx, EXxEVexR }, 0 },
565   },
566   /* EVEX_W_0FE7_P_2 */
567   {
568     { "vmovntdq",       { EXEvexXNoBcst, XM }, 0 },
569   },
570   /* EVEX_W_0FF2_P_2 */
571   {
572     { "vpslld", { XM, Vex, EXxmm }, 0 },
573   },
574   /* EVEX_W_0FF3_P_2 */
575   {
576     { Bad_Opcode },
577     { "vpsllq", { XM, Vex, EXxmm }, 0 },
578   },
579   /* EVEX_W_0FF4_P_2 */
580   {
581     { Bad_Opcode },
582     { "vpmuludq",       { XM, Vex, EXx }, 0 },
583   },
584   /* EVEX_W_0FFA_P_2 */
585   {
586     { "vpsubd", { XM, Vex, EXx }, 0 },
587   },
588   /* EVEX_W_0FFB_P_2 */
589   {
590     { Bad_Opcode },
591     { "vpsubq", { XM, Vex, EXx }, 0 },
592   },
593   /* EVEX_W_0FFE_P_2 */
594   {
595     { "vpaddd", { XM, Vex, EXx }, 0 },
596   },
597   /* EVEX_W_0F380C_P_2 */
598   {
599     { "vpermilps",      { XM, Vex, EXx }, 0 },
600   },
601   /* EVEX_W_0F380D_P_2 */
602   {
603     { Bad_Opcode },
604     { "vpermilpd",      { XM, Vex, EXx }, 0 },
605   },
606   /* EVEX_W_0F3810_P_1 */
607   {
608     { "vpmovuswb",      { EXxmmq, XM }, 0 },
609   },
610   /* EVEX_W_0F3810_P_2 */
611   {
612     { Bad_Opcode },
613     { "vpsrlvw",        { XM, Vex, EXx }, 0 },
614   },
615   /* EVEX_W_0F3811_P_1 */
616   {
617     { "vpmovusdb",      { EXxmmqd, XM }, 0 },
618   },
619   /* EVEX_W_0F3811_P_2 */
620   {
621     { Bad_Opcode },
622     { "vpsravw",        { XM, Vex, EXx }, 0 },
623   },
624   /* EVEX_W_0F3812_P_1 */
625   {
626     { "vpmovusqb",      { EXxmmdw, XM }, 0 },
627   },
628   /* EVEX_W_0F3812_P_2 */
629   {
630     { Bad_Opcode },
631     { "vpsllvw",        { XM, Vex, EXx }, 0 },
632   },
633   /* EVEX_W_0F3813_P_1 */
634   {
635     { "vpmovusdw",      { EXxmmq, XM }, 0 },
636   },
637   /* EVEX_W_0F3813_P_2 */
638   {
639     { "vcvtph2ps",      { XM, EXxmmq, EXxEVexS }, 0 },
640   },
641   /* EVEX_W_0F3814_P_1 */
642   {
643     { "vpmovusqw",      { EXxmmqd, XM }, 0 },
644   },
645   /* EVEX_W_0F3815_P_1 */
646   {
647     { "vpmovusqd",      { EXxmmq, XM }, 0 },
648   },
649   /* EVEX_W_0F3818_P_2 */
650   {
651     { "vbroadcastss",   { XM, EXxmm_md }, 0 },
652   },
653   /* EVEX_W_0F3819_P_2 */
654   {
655     { EVEX_LEN_TABLE (EVEX_LEN_0F3819_P_2_W_0) },
656     { EVEX_LEN_TABLE (EVEX_LEN_0F3819_P_2_W_1) },
657   },
658   /* EVEX_W_0F381A_P_2 */
659   {
660     { EVEX_LEN_TABLE (EVEX_LEN_0F381A_P_2_W_0) },
661     { EVEX_LEN_TABLE (EVEX_LEN_0F381A_P_2_W_1) },
662   },
663   /* EVEX_W_0F381B_P_2 */
664   {
665     { EVEX_LEN_TABLE (EVEX_LEN_0F381B_P_2_W_0) },
666     { EVEX_LEN_TABLE (EVEX_LEN_0F381B_P_2_W_1) },
667   },
668   /* EVEX_W_0F381E_P_2 */
669   {
670     { "vpabsd", { XM, EXx }, 0 },
671   },
672   /* EVEX_W_0F381F_P_2 */
673   {
674     { Bad_Opcode },
675     { "vpabsq", { XM, EXx }, 0 },
676   },
677   /* EVEX_W_0F3820_P_1 */
678   {
679     { "vpmovswb",       { EXxmmq, XM }, 0 },
680   },
681   /* EVEX_W_0F3821_P_1 */
682   {
683     { "vpmovsdb",       { EXxmmqd, XM }, 0 },
684   },
685   /* EVEX_W_0F3822_P_1 */
686   {
687     { "vpmovsqb",       { EXxmmdw, XM }, 0 },
688   },
689   /* EVEX_W_0F3823_P_1 */
690   {
691     { "vpmovsdw",       { EXxmmq, XM }, 0 },
692   },
693   /* EVEX_W_0F3824_P_1 */
694   {
695     { "vpmovsqw",       { EXxmmqd, XM }, 0 },
696   },
697   /* EVEX_W_0F3825_P_1 */
698   {
699     { "vpmovsqd",       { EXxmmq, XM }, 0 },
700   },
701   /* EVEX_W_0F3825_P_2 */
702   {
703     { "vpmovsxdq",      { XM, EXxmmq }, 0 },
704   },
705   /* EVEX_W_0F3826_P_1 */
706   {
707     { "vptestnmb",      { XMask, Vex, EXx }, 0 },
708     { "vptestnmw",      { XMask, Vex, EXx }, 0 },
709   },
710   /* EVEX_W_0F3826_P_2 */
711   {
712     { "vptestmb",       { XMask, Vex, EXx }, 0 },
713     { "vptestmw",       { XMask, Vex, EXx }, 0 },
714   },
715   /* EVEX_W_0F3828_P_1 */
716   {
717     { "vpmovm2b",       { XM, MaskR }, 0 },
718     { "vpmovm2w",       { XM, MaskR }, 0 },
719   },
720   /* EVEX_W_0F3828_P_2 */
721   {
722     { Bad_Opcode },
723     { "vpmuldq",        { XM, Vex, EXx }, 0 },
724   },
725   /* EVEX_W_0F3829_P_1 */
726   {
727     { "vpmovb2m",       { XMask, EXx }, 0 },
728     { "vpmovw2m",       { XMask, EXx }, 0 },
729   },
730   /* EVEX_W_0F3829_P_2 */
731   {
732     { Bad_Opcode },
733     { "vpcmpeqq",       { XMask, Vex, EXx }, 0 },
734   },
735   /* EVEX_W_0F382A_P_1 */
736   {
737     { Bad_Opcode },
738     { "vpbroadcastmb2q",        { XM, MaskR }, 0 },
739   },
740   /* EVEX_W_0F382A_P_2 */
741   {
742     { "vmovntdqa",      { XM, EXEvexXNoBcst }, 0 },
743   },
744   /* EVEX_W_0F382B_P_2 */
745   {
746     { "vpackusdw",      { XM, Vex, EXx }, 0 },
747   },
748   /* EVEX_W_0F3830_P_1 */
749   {
750     { "vpmovwb",        { EXxmmq, XM }, 0 },
751   },
752   /* EVEX_W_0F3831_P_1 */
753   {
754     { "vpmovdb",        { EXxmmqd, XM }, 0 },
755   },
756   /* EVEX_W_0F3832_P_1 */
757   {
758     { "vpmovqb",        { EXxmmdw, XM }, 0 },
759   },
760   /* EVEX_W_0F3833_P_1 */
761   {
762     { "vpmovdw",        { EXxmmq, XM }, 0 },
763   },
764   /* EVEX_W_0F3834_P_1 */
765   {
766     { "vpmovqw",        { EXxmmqd, XM }, 0 },
767   },
768   /* EVEX_W_0F3835_P_1 */
769   {
770     { "vpmovqd",        { EXxmmq, XM }, 0 },
771   },
772   /* EVEX_W_0F3835_P_2 */
773   {
774     { "vpmovzxdq",      { XM, EXxmmq }, 0 },
775   },
776   /* EVEX_W_0F3837_P_2 */
777   {
778     { Bad_Opcode },
779     { "vpcmpgtq",       { XMask, Vex, EXx }, 0 },
780   },
781   /* EVEX_W_0F3838_P_1 */
782   {
783     { "vpmovm2d",       { XM, MaskR }, 0 },
784     { "vpmovm2q",       { XM, MaskR }, 0 },
785   },
786   /* EVEX_W_0F3839_P_1 */
787   {
788     { "vpmovd2m",       { XMask, EXx }, 0 },
789     { "vpmovq2m",       { XMask, EXx }, 0 },
790   },
791   /* EVEX_W_0F383A_P_1 */
792   {
793     { "vpbroadcastmw2d",        { XM, MaskR }, 0 },
794   },
795   /* EVEX_W_0F3840_P_2 */
796   {
797     { "vpmulld",        { XM, Vex, EXx }, 0 },
798     { "vpmullq",        { XM, Vex, EXx }, 0 },
799   },
800   /* EVEX_W_0F3852_P_1 */
801   {
802     { "vdpbf16ps",      { XM, Vex, EXx }, 0 },
803     { Bad_Opcode },
804   },
805   /* EVEX_W_0F3854_P_2 */
806   {
807     { "vpopcntb",       { XM, EXx }, 0 },
808     { "vpopcntw",       { XM, EXx }, 0 },
809   },
810   /* EVEX_W_0F3855_P_2 */
811   {
812     { "vpopcntd",       { XM, EXx }, 0 },
813     { "vpopcntq",       { XM, EXx }, 0 },
814   },
815   /* EVEX_W_0F3858_P_2 */
816   {
817     { "vpbroadcastd",   { XM, EXxmm_md }, 0 },
818   },
819   /* EVEX_W_0F3859_P_2 */
820   {
821     { "vbroadcasti32x2",        { XM, EXxmm_mq }, 0 },
822     { "vpbroadcastq",   { XM, EXxmm_mq }, 0 },
823   },
824   /* EVEX_W_0F385A_P_2 */
825   {
826     { EVEX_LEN_TABLE (EVEX_LEN_0F385A_P_2_W_0) },
827     { EVEX_LEN_TABLE (EVEX_LEN_0F385A_P_2_W_1) },
828   },
829   /* EVEX_W_0F385B_P_2 */
830   {
831     { EVEX_LEN_TABLE (EVEX_LEN_0F385B_P_2_W_0) },
832     { EVEX_LEN_TABLE (EVEX_LEN_0F385B_P_2_W_1) },
833   },
834   /* EVEX_W_0F3862_P_2 */
835   {
836     { "vpexpandb", { XM, EXbScalar }, 0 },
837     { "vpexpandw", { XM, EXwScalar }, 0 },
838   },
839   /* EVEX_W_0F3863_P_2 */
840   {
841     { "vpcompressb",   { EXbScalar, XM }, 0 },
842     { "vpcompressw",   { EXwScalar, XM }, 0 },
843   },
844   /* EVEX_W_0F3866_P_2 */
845   {
846     { "vpblendmb",      { XM, Vex, EXx }, 0 },
847     { "vpblendmw",      { XM, Vex, EXx }, 0 },
848   },
849   /* EVEX_W_0F3868_P_3 */
850   {
851     { "vp2intersectd", { XMask, Vex, EXx, EXxEVexS }, 0 },
852     { "vp2intersectq", { XMask, Vex, EXx, EXxEVexS }, 0 },
853   },
854   /* EVEX_W_0F3870_P_2 */
855   {
856     { Bad_Opcode },
857     { "vpshldvw",  { XM, Vex, EXx }, 0 },
858   },
859   /* EVEX_W_0F3871_P_2 */
860   {
861     { "vpshldvd",  { XM, Vex, EXx }, 0 },
862     { "vpshldvq",  { XM, Vex, EXx }, 0 },
863   },
864   /* EVEX_W_0F3872_P_1 */
865   {
866     { "vcvtneps2bf16%XY", { XMxmmq, EXx }, 0 },
867     { Bad_Opcode },
868   },
869   /* EVEX_W_0F3872_P_2 */
870   {
871     { Bad_Opcode },
872     { "vpshrdvw",  { XM, Vex, EXx }, 0 },
873   },
874   /* EVEX_W_0F3872_P_3 */
875   {
876     { "vcvtne2ps2bf16", { XM, Vex, EXx}, 0 },
877     { Bad_Opcode },
878   },
879   /* EVEX_W_0F3873_P_2 */
880   {
881     { "vpshrdvd",  { XM, Vex, EXx }, 0 },
882     { "vpshrdvq",  { XM, Vex, EXx }, 0 },
883   },
884   /* EVEX_W_0F3875_P_2 */
885   {
886     { "vpermi2b",       { XM, Vex, EXx }, 0 },
887     { "vpermi2w",       { XM, Vex, EXx }, 0 },
888   },
889   /* EVEX_W_0F3878_P_2 */
890   {
891     { "vpbroadcastb",   { XM, EXxmm_mb }, 0 },
892   },
893   /* EVEX_W_0F3879_P_2 */
894   {
895     { "vpbroadcastw",   { XM, EXxmm_mw }, 0 },
896   },
897   /* EVEX_W_0F387A_P_2 */
898   {
899     { "vpbroadcastb",   { XM, Rd }, 0 },
900   },
901   /* EVEX_W_0F387B_P_2 */
902   {
903     { "vpbroadcastw",   { XM, Rd }, 0 },
904   },
905   /* EVEX_W_0F387D_P_2 */
906   {
907     { "vpermt2b",       { XM, Vex, EXx }, 0 },
908     { "vpermt2w",       { XM, Vex, EXx }, 0 },
909   },
910   /* EVEX_W_0F3883_P_2 */
911   {
912     { Bad_Opcode },
913     { "vpmultishiftqb", { XM, Vex, EXx }, 0 },
914   },
915   /* EVEX_W_0F388D_P_2 */
916   {
917     { "vpermb", { XM, Vex, EXx }, 0 },
918     { "vpermw", { XM, Vex, EXx }, 0 },
919   },
920   /* EVEX_W_0F3891_P_2 */
921   {
922     { "vpgatherqd",     { XMxmmq, MVexVSIBQDWpX }, 0 },
923     { "vpgatherqq",     { XM, MVexVSIBQWpX }, 0 },
924   },
925   /* EVEX_W_0F3893_P_2 */
926   {
927     { "vgatherqps",     { XMxmmq, MVexVSIBQDWpX }, 0 },
928     { "vgatherqpd",     { XM, MVexVSIBQWpX }, 0 },
929   },
930   /* EVEX_W_0F38A1_P_2 */
931   {
932     { "vpscatterqd",    { MVexVSIBQDWpX, XMxmmq }, 0 },
933     { "vpscatterqq",    { MVexVSIBQWpX, XM }, 0 },
934   },
935   /* EVEX_W_0F38A3_P_2 */
936   {
937     { "vscatterqps",    { MVexVSIBQDWpX, XMxmmq }, 0 },
938     { "vscatterqpd",    { MVexVSIBQWpX, XM }, 0 },
939   },
940   /* EVEX_W_0F38C7_R_1_P_2 */
941   {
942     { "vgatherpf0qps",  { MVexVSIBDQWpX }, 0 },
943     { "vgatherpf0qpd",  { MVexVSIBQWpX }, 0 },
944   },
945   /* EVEX_W_0F38C7_R_2_P_2 */
946   {
947     { "vgatherpf1qps",  { MVexVSIBDQWpX }, 0 },
948     { "vgatherpf1qpd",  { MVexVSIBQWpX }, 0 },
949   },
950   /* EVEX_W_0F38C7_R_5_P_2 */
951   {
952     { "vscatterpf0qps",  { MVexVSIBDQWpX }, 0 },
953     { "vscatterpf0qpd",  { MVexVSIBQWpX }, 0 },
954   },
955   /* EVEX_W_0F38C7_R_6_P_2 */
956   {
957     { "vscatterpf1qps",  { MVexVSIBDQWpX }, 0 },
958     { "vscatterpf1qpd",  { MVexVSIBQWpX }, 0 },
959   },
960   /* EVEX_W_0F3A00_P_2 */
961   {
962     { Bad_Opcode },
963     { "vpermq", { XM, EXx, Ib }, 0 },
964   },
965   /* EVEX_W_0F3A01_P_2 */
966   {
967     { Bad_Opcode },
968     { "vpermpd",        { XM, EXx, Ib }, 0 },
969   },
970   /* EVEX_W_0F3A04_P_2 */
971   {
972     { "vpermilps",      { XM, EXx, Ib }, 0 },
973   },
974   /* EVEX_W_0F3A05_P_2 */
975   {
976     { Bad_Opcode },
977     { "vpermilpd",      { XM, EXx, Ib }, 0 },
978   },
979   /* EVEX_W_0F3A08_P_2 */
980   {
981     { "vrndscaleps",    { XM, EXx, EXxEVexS, Ib }, 0 },
982   },
983   /* EVEX_W_0F3A09_P_2 */
984   {
985     { Bad_Opcode },
986     { "vrndscalepd",    { XM, EXx, EXxEVexS, Ib }, 0 },
987   },
988   /* EVEX_W_0F3A0A_P_2 */
989   {
990     { "vrndscaless",    { XMScalar, VexScalar, EXxmm_md, EXxEVexS, Ib }, 0 },
991   },
992   /* EVEX_W_0F3A0B_P_2 */
993   {
994     { Bad_Opcode },
995     { "vrndscalesd",    { XMScalar, VexScalar, EXxmm_mq, EXxEVexS, Ib }, 0 },
996   },
997   /* EVEX_W_0F3A18_P_2 */
998   {
999     { EVEX_LEN_TABLE (EVEX_LEN_0F3A18_P_2_W_0) },
1000     { EVEX_LEN_TABLE (EVEX_LEN_0F3A18_P_2_W_1) },
1001   },
1002   /* EVEX_W_0F3A19_P_2 */
1003   {
1004     { EVEX_LEN_TABLE (EVEX_LEN_0F3A19_P_2_W_0) },
1005     { EVEX_LEN_TABLE (EVEX_LEN_0F3A19_P_2_W_1) },
1006   },
1007   /* EVEX_W_0F3A1A_P_2 */
1008   {
1009     { EVEX_LEN_TABLE (EVEX_LEN_0F3A1A_P_2_W_0) },
1010     { EVEX_LEN_TABLE (EVEX_LEN_0F3A1A_P_2_W_1) },
1011   },
1012   /* EVEX_W_0F3A1B_P_2 */
1013   {
1014     { EVEX_LEN_TABLE (EVEX_LEN_0F3A1B_P_2_W_0) },
1015     { EVEX_LEN_TABLE (EVEX_LEN_0F3A1B_P_2_W_1) },
1016   },
1017   /* EVEX_W_0F3A1D_P_2 */
1018   {
1019     { "vcvtps2ph",      { EXxmmq, XM, EXxEVexS, Ib }, 0 },
1020   },
1021   /* EVEX_W_0F3A21_P_2 */
1022   {
1023     { "vinsertps",      { XMM, Vex, EXxmm_md, Ib }, 0 },
1024   },
1025   /* EVEX_W_0F3A23_P_2 */
1026   {
1027     { EVEX_LEN_TABLE (EVEX_LEN_0F3A23_P_2_W_0) },
1028     { EVEX_LEN_TABLE (EVEX_LEN_0F3A23_P_2_W_1) },
1029   },
1030   /* EVEX_W_0F3A38_P_2 */
1031   {
1032     { EVEX_LEN_TABLE (EVEX_LEN_0F3A38_P_2_W_0) },
1033     { EVEX_LEN_TABLE (EVEX_LEN_0F3A38_P_2_W_1) },
1034   },
1035   /* EVEX_W_0F3A39_P_2 */
1036   {
1037     { EVEX_LEN_TABLE (EVEX_LEN_0F3A39_P_2_W_0) },
1038     { EVEX_LEN_TABLE (EVEX_LEN_0F3A39_P_2_W_1) },
1039   },
1040   /* EVEX_W_0F3A3A_P_2 */
1041   {
1042     { EVEX_LEN_TABLE (EVEX_LEN_0F3A3A_P_2_W_0) },
1043     { EVEX_LEN_TABLE (EVEX_LEN_0F3A3A_P_2_W_1) },
1044   },
1045   /* EVEX_W_0F3A3B_P_2 */
1046   {
1047     { EVEX_LEN_TABLE (EVEX_LEN_0F3A3B_P_2_W_0) },
1048     { EVEX_LEN_TABLE (EVEX_LEN_0F3A3B_P_2_W_1) },
1049   },
1050   /* EVEX_W_0F3A3E_P_2 */
1051   {
1052     { "vpcmpub",        { XMask, Vex, EXx, VPCMP }, 0 },
1053     { "vpcmpuw",        { XMask, Vex, EXx, VPCMP }, 0 },
1054   },
1055   /* EVEX_W_0F3A3F_P_2 */
1056   {
1057     { "vpcmpb", { XMask, Vex, EXx, VPCMP }, 0 },
1058     { "vpcmpw", { XMask, Vex, EXx, VPCMP }, 0 },
1059   },
1060   /* EVEX_W_0F3A42_P_2 */
1061   {
1062     { "vdbpsadbw",      { XM, Vex, EXx, Ib }, 0 },
1063   },
1064   /* EVEX_W_0F3A43_P_2 */
1065   {
1066     { EVEX_LEN_TABLE (EVEX_LEN_0F3A43_P_2_W_0) },
1067     { EVEX_LEN_TABLE (EVEX_LEN_0F3A43_P_2_W_1) },
1068   },
1069   /* EVEX_W_0F3A50_P_2 */
1070   {
1071     { "vrangeps",       { XM, Vex, EXx, EXxEVexS, Ib }, 0 },
1072     { "vrangepd",       { XM, Vex, EXx, EXxEVexS, Ib }, 0 },
1073   },
1074   /* EVEX_W_0F3A51_P_2 */
1075   {
1076     { "vrangess",       { XMScalar, VexScalar, EXxmm_md, EXxEVexS, Ib }, 0 },
1077     { "vrangesd",       { XMScalar, VexScalar, EXxmm_mq, EXxEVexS, Ib }, 0 },
1078   },
1079   /* EVEX_W_0F3A56_P_2 */
1080   {
1081     { "vreduceps",      { XM, EXx, EXxEVexS, Ib }, 0 },
1082     { "vreducepd",      { XM, EXx, EXxEVexS, Ib }, 0 },
1083   },
1084   /* EVEX_W_0F3A57_P_2 */
1085   {
1086     { "vreducess",      { XMScalar, VexScalar, EXxmm_md, EXxEVexS, Ib }, 0 },
1087     { "vreducesd",      { XMScalar, VexScalar, EXxmm_mq, EXxEVexS, Ib }, 0 },
1088   },
1089   /* EVEX_W_0F3A66_P_2 */
1090   {
1091     { "vfpclassps%XZ",  { XMask, EXx, Ib }, 0 },
1092     { "vfpclasspd%XZ",  { XMask, EXx, Ib }, 0 },
1093   },
1094   /* EVEX_W_0F3A67_P_2 */
1095   {
1096     { "vfpclassss",     { XMask, EXxmm_md, Ib }, 0 },
1097     { "vfpclasssd",     { XMask, EXxmm_mq, Ib }, 0 },
1098   },
1099   /* EVEX_W_0F3A70_P_2 */
1100   {
1101     { Bad_Opcode },
1102     { "vpshldw",   { XM, Vex, EXx, Ib }, 0 },
1103   },
1104   /* EVEX_W_0F3A71_P_2 */
1105   {
1106     { "vpshldd",   { XM, Vex, EXx, Ib }, 0 },
1107     { "vpshldq",   { XM, Vex, EXx, Ib }, 0 },
1108   },
1109   /* EVEX_W_0F3A72_P_2 */
1110   {
1111     { Bad_Opcode },
1112     { "vpshrdw",   { XM, Vex, EXx, Ib }, 0 },
1113   },
1114   /* EVEX_W_0F3A73_P_2 */
1115   {
1116     { "vpshrdd",   { XM, Vex, EXx, Ib }, 0 },
1117     { "vpshrdq",   { XM, Vex, EXx, Ib }, 0 },
1118   },
1119   /* EVEX_W_0F3ACE_P_2 */
1120   {
1121     { Bad_Opcode },
1122     { "vgf2p8affineqb",    { XM, Vex, EXx, Ib }, 0 },
1123   },
1124   /* EVEX_W_0F3ACF_P_2 */
1125   {
1126     { Bad_Opcode },
1127     { "vgf2p8affineinvqb", { XM, Vex, EXx, Ib }, 0 },
1128   },