3 { "vmovss", { XMScalar
, VexScalarR
, EXxmm_md
}, 0 },
8 { "vmovsd", { XMScalar
, VexScalarR
, EXxmm_mq
}, 0 },
12 { "vmovss", { EXdS
, VexScalarR
, XMScalar
}, 0 },
17 { "vmovsd", { EXqS
, VexScalarR
, XMScalar
}, 0 },
19 /* EVEX_W_0F12_P_0_M_1 */
21 { "vmovhlps", { XMM
, Vex
, EXxmm_mq
}, 0 },
25 { "vmovsldup", { XM
, EXEvexXNoBcst
}, 0 },
30 { "vmovddup", { XM
, EXymmq
}, 0 },
32 /* EVEX_W_0F16_P_0_M_1 */
34 { "vmovlhps", { XMM
, Vex
, EXx
}, 0 },
38 { "vmovshdup", { XM
, EXx
}, 0 },
42 { "vcvtsi2sd{%LQ|}", { XMScalar
, VexScalar
, Ed
}, 0 },
43 { "vcvtsi2sd{%LQ|}", { XMScalar
, VexScalar
, EXxEVexR64
, Edq
}, 0 },
47 { "vsqrtss", { XMScalar
, VexScalar
, EXxmm_md
, EXxEVexR
}, 0 },
52 { "vsqrtsd", { XMScalar
, VexScalar
, EXxmm_mq
, EXxEVexR
}, 0 },
56 { "vaddss", { XMScalar
, VexScalar
, EXxmm_md
, EXxEVexR
}, 0 },
61 { "vaddsd", { XMScalar
, VexScalar
, EXxmm_mq
, EXxEVexR
}, 0 },
65 { "vmulss", { XMScalar
, VexScalar
, EXxmm_md
, EXxEVexR
}, 0 },
70 { "vmulsd", { XMScalar
, VexScalar
, EXxmm_mq
, EXxEVexR
}, 0 },
74 { "vcvtps2pd", { XM
, EXEvexHalfBcstXmmq
, EXxEVexS
}, 0 },
78 { "vcvtss2sd", { XMScalar
, VexScalar
, EXxmm_md
, EXxEVexS
}, 0 },
83 { "vcvtpd2ps%XY", { XMxmmq
, EXx
, EXxEVexR
}, 0 },
88 { "vcvtsd2ss", { XMScalar
, VexScalar
, EXxmm_mq
, EXxEVexR
}, 0 },
92 { "vcvtdq2ps", { XM
, EXx
, EXxEVexR
}, 0 },
93 { "vcvtqq2ps%XY", { XMxmmq
, EXx
, EXxEVexR
}, 0 },
97 { "vcvttps2dq", { XM
, EXx
, EXxEVexS
}, 0 },
101 { "vcvtps2dq", { XM
, EXx
, EXxEVexR
}, 0 },
103 /* EVEX_W_0F5C_P_1 */
105 { "vsubss", { XMScalar
, VexScalar
, EXxmm_md
, EXxEVexR
}, 0 },
107 /* EVEX_W_0F5C_P_3 */
110 { "vsubsd", { XMScalar
, VexScalar
, EXxmm_mq
, EXxEVexR
}, 0 },
112 /* EVEX_W_0F5D_P_1 */
114 { "vminss", { XMScalar
, VexScalar
, EXxmm_md
, EXxEVexS
}, 0 },
116 /* EVEX_W_0F5D_P_3 */
119 { "vminsd", { XMScalar
, VexScalar
, EXxmm_mq
, EXxEVexS
}, 0 },
121 /* EVEX_W_0F5E_P_1 */
123 { "vdivss", { XMScalar
, VexScalar
, EXxmm_md
, EXxEVexR
}, 0 },
125 /* EVEX_W_0F5E_P_3 */
128 { "vdivsd", { XMScalar
, VexScalar
, EXxmm_mq
, EXxEVexR
}, 0 },
130 /* EVEX_W_0F5F_P_1 */
132 { "vmaxss", { XMScalar
, VexScalar
, EXxmm_md
, EXxEVexS
}, 0 },
134 /* EVEX_W_0F5F_P_3 */
137 { "vmaxsd", { XMScalar
, VexScalar
, EXxmm_mq
, EXxEVexS
}, 0 },
141 { PREFIX_TABLE (PREFIX_VEX_0F62
) },
143 /* EVEX_W_0F66_P_2 */
145 { "vpcmpgtd", { XMask
, Vex
, EXx
}, 0 },
149 { PREFIX_TABLE (PREFIX_VEX_0F6A
) },
153 { PREFIX_TABLE (PREFIX_VEX_0F6B
) },
158 { PREFIX_TABLE (PREFIX_VEX_0F6C
) },
163 { PREFIX_TABLE (PREFIX_VEX_0F6D
) },
165 /* EVEX_W_0F6F_P_1 */
167 { "vmovdqu32", { XM
, EXEvexXNoBcst
}, 0 },
168 { "vmovdqu64", { XM
, EXEvexXNoBcst
}, 0 },
170 /* EVEX_W_0F6F_P_2 */
172 { "vmovdqa32", { XM
, EXEvexXNoBcst
}, 0 },
173 { "vmovdqa64", { XM
, EXEvexXNoBcst
}, 0 },
175 /* EVEX_W_0F6F_P_3 */
177 { "vmovdqu8", { XM
, EXx
}, 0 },
178 { "vmovdqu16", { XM
, EXx
}, 0 },
180 /* EVEX_W_0F70_P_2 */
182 { "vpshufd", { XM
, EXx
, Ib
}, 0 },
184 /* EVEX_W_0F72_R_2_P_2 */
186 { "vpsrld", { Vex
, EXx
, Ib
}, 0 },
188 /* EVEX_W_0F72_R_6_P_2 */
190 { "vpslld", { Vex
, EXx
, Ib
}, 0 },
192 /* EVEX_W_0F73_R_2_P_2 */
195 { "vpsrlq", { Vex
, EXx
, Ib
}, 0 },
197 /* EVEX_W_0F73_R_6_P_2 */
200 { "vpsllq", { Vex
, EXx
, Ib
}, 0 },
202 /* EVEX_W_0F76_P_2 */
204 { "vpcmpeqd", { XMask
, Vex
, EXx
}, 0 },
206 /* EVEX_W_0F78_P_0 */
208 { "vcvttps2udq", { XM
, EXx
, EXxEVexS
}, 0 },
209 { "vcvttpd2udq%XY", { XMxmmq
, EXx
, EXxEVexS
}, 0 },
211 /* EVEX_W_0F78_P_2 */
213 { "vcvttps2uqq", { XM
, EXEvexHalfBcstXmmq
, EXxEVexS
}, 0 },
214 { "vcvttpd2uqq", { XM
, EXx
, EXxEVexS
}, 0 },
216 /* EVEX_W_0F79_P_0 */
218 { "vcvtps2udq", { XM
, EXx
, EXxEVexR
}, 0 },
219 { "vcvtpd2udq%XY", { XMxmmq
, EXx
, EXxEVexR
}, 0 },
221 /* EVEX_W_0F79_P_2 */
223 { "vcvtps2uqq", { XM
, EXEvexHalfBcstXmmq
, EXxEVexR
}, 0 },
224 { "vcvtpd2uqq", { XM
, EXx
, EXxEVexR
}, 0 },
226 /* EVEX_W_0F7A_P_1 */
228 { "vcvtudq2pd", { XM
, EXEvexHalfBcstXmmq
}, 0 },
229 { "vcvtuqq2pd", { XM
, EXx
, EXxEVexR
}, 0 },
231 /* EVEX_W_0F7A_P_2 */
233 { "vcvttps2qq", { XM
, EXEvexHalfBcstXmmq
, EXxEVexS
}, 0 },
234 { "vcvttpd2qq", { XM
, EXx
, EXxEVexS
}, 0 },
236 /* EVEX_W_0F7A_P_3 */
238 { "vcvtudq2ps", { XM
, EXx
, EXxEVexR
}, 0 },
239 { "vcvtuqq2ps%XY", { XMxmmq
, EXx
, EXxEVexR
}, 0 },
241 /* EVEX_W_0F7B_P_2 */
243 { "vcvtps2qq", { XM
, EXEvexHalfBcstXmmq
, EXxEVexR
}, 0 },
244 { "vcvtpd2qq", { XM
, EXx
, EXxEVexR
}, 0 },
246 /* EVEX_W_0F7B_P_3 */
248 { "vcvtusi2sd{%LQ|}", { XMScalar
, VexScalar
, Ed
}, 0 },
249 { "vcvtusi2sd{%LQ|}", { XMScalar
, VexScalar
, EXxEVexR64
, Edq
}, 0 },
251 /* EVEX_W_0F7E_P_1 */
254 { "vmovq", { XMScalar
, EXxmm_mq
}, 0 },
256 /* EVEX_W_0F7F_P_1 */
258 { "vmovdqu32", { EXxS
, XM
}, 0 },
259 { "vmovdqu64", { EXxS
, XM
}, 0 },
261 /* EVEX_W_0F7F_P_2 */
263 { "vmovdqa32", { EXxS
, XM
}, 0 },
264 { "vmovdqa64", { EXxS
, XM
}, 0 },
266 /* EVEX_W_0F7F_P_3 */
268 { "vmovdqu8", { EXxS
, XM
}, 0 },
269 { "vmovdqu16", { EXxS
, XM
}, 0 },
271 /* EVEX_W_0FC2_P_1 */
273 { "vcmpss", { XMask
, VexScalar
, EXxmm_md
, EXxEVexS
, CMP
}, 0 },
275 /* EVEX_W_0FC2_P_3 */
278 { "vcmpsd", { XMask
, VexScalar
, EXxmm_mq
, EXxEVexS
, CMP
}, 0 },
282 { PREFIX_TABLE (PREFIX_VEX_0FD2
) },
287 { PREFIX_TABLE (PREFIX_VEX_0FD3
) },
292 { PREFIX_TABLE (PREFIX_VEX_0FD4
) },
294 /* EVEX_W_0FD6_P_2 */
297 { "vmovq", { EXqS
, XMScalar
}, 0 },
299 /* EVEX_W_0FE6_P_1 */
301 { "vcvtdq2pd", { XM
, EXEvexHalfBcstXmmq
}, 0 },
302 { "vcvtqq2pd", { XM
, EXx
, EXxEVexR
}, 0 },
304 /* EVEX_W_0FE6_P_2 */
307 { "vcvttpd2dq%XY", { XMxmmq
, EXx
, EXxEVexS
}, 0 },
309 /* EVEX_W_0FE6_P_3 */
312 { "vcvtpd2dq%XY", { XMxmmq
, EXx
, EXxEVexR
}, 0 },
314 /* EVEX_W_0FE7_P_2 */
316 { "vmovntdq", { EXEvexXNoBcst
, XM
}, 0 },
320 { PREFIX_TABLE (PREFIX_VEX_0FF2
) },
325 { PREFIX_TABLE (PREFIX_VEX_0FF3
) },
330 { PREFIX_TABLE (PREFIX_VEX_0FF4
) },
334 { PREFIX_TABLE (PREFIX_VEX_0FFA
) },
339 { PREFIX_TABLE (PREFIX_VEX_0FFB
) },
343 { PREFIX_TABLE (PREFIX_VEX_0FFE
) },
345 /* EVEX_W_0F380D_P_2 */
348 { "vpermilpd", { XM
, Vex
, EXx
}, 0 },
350 /* EVEX_W_0F3810_P_1 */
352 { "vpmovuswb", { EXxmmq
, XM
}, 0 },
354 /* EVEX_W_0F3810_P_2 */
357 { "vpsrlvw", { XM
, Vex
, EXx
}, 0 },
359 /* EVEX_W_0F3811_P_1 */
361 { "vpmovusdb", { EXxmmqd
, XM
}, 0 },
363 /* EVEX_W_0F3811_P_2 */
366 { "vpsravw", { XM
, Vex
, EXx
}, 0 },
368 /* EVEX_W_0F3812_P_1 */
370 { "vpmovusqb", { EXxmmdw
, XM
}, 0 },
372 /* EVEX_W_0F3812_P_2 */
375 { "vpsllvw", { XM
, Vex
, EXx
}, 0 },
377 /* EVEX_W_0F3813_P_1 */
379 { "vpmovusdw", { EXxmmq
, XM
}, 0 },
381 /* EVEX_W_0F3813_P_2 */
383 { "vcvtph2ps", { XM
, EXxmmq
, EXxEVexS
}, 0 },
385 /* EVEX_W_0F3814_P_1 */
387 { "vpmovusqw", { EXxmmqd
, XM
}, 0 },
389 /* EVEX_W_0F3815_P_1 */
391 { "vpmovusqd", { EXxmmq
, XM
}, 0 },
393 /* EVEX_W_0F3819_P_2 */
395 { EVEX_LEN_TABLE (EVEX_LEN_0F3819_P_2_W_0
) },
396 { EVEX_LEN_TABLE (EVEX_LEN_0F3819_P_2_W_1
) },
398 /* EVEX_W_0F381A_P_2 */
400 { MOD_TABLE (MOD_EVEX_0F381A_P_2_W_0
) },
401 { MOD_TABLE (MOD_EVEX_0F381A_P_2_W_1
) },
403 /* EVEX_W_0F381B_P_2 */
405 { MOD_TABLE (MOD_EVEX_0F381B_P_2_W_0
) },
406 { MOD_TABLE (MOD_EVEX_0F381B_P_2_W_1
) },
408 /* EVEX_W_0F381E_P_2 */
410 { "vpabsd", { XM
, EXx
}, 0 },
412 /* EVEX_W_0F381F_P_2 */
415 { "vpabsq", { XM
, EXx
}, 0 },
417 /* EVEX_W_0F3820_P_1 */
419 { "vpmovswb", { EXxmmq
, XM
}, 0 },
421 /* EVEX_W_0F3821_P_1 */
423 { "vpmovsdb", { EXxmmqd
, XM
}, 0 },
425 /* EVEX_W_0F3822_P_1 */
427 { "vpmovsqb", { EXxmmdw
, XM
}, 0 },
429 /* EVEX_W_0F3823_P_1 */
431 { "vpmovsdw", { EXxmmq
, XM
}, 0 },
433 /* EVEX_W_0F3824_P_1 */
435 { "vpmovsqw", { EXxmmqd
, XM
}, 0 },
437 /* EVEX_W_0F3825_P_1 */
439 { "vpmovsqd", { EXxmmq
, XM
}, 0 },
441 /* EVEX_W_0F3825_P_2 */
443 { "vpmovsxdq", { XM
, EXxmmq
}, 0 },
445 /* EVEX_W_0F3828_P_2 */
448 { "vpmuldq", { XM
, Vex
, EXx
}, 0 },
450 /* EVEX_W_0F3829_P_2 */
453 { "vpcmpeqq", { XMask
, Vex
, EXx
}, 0 },
455 /* EVEX_W_0F382A_P_1 */
458 { "vpbroadcastmb2q", { XM
, MaskR
}, 0 },
460 /* EVEX_W_0F382A_P_2 */
462 { "vmovntdqa", { XM
, EXEvexXNoBcst
}, 0 },
466 { PREFIX_TABLE (PREFIX_VEX_0F382B
) },
468 /* EVEX_W_0F3830_P_1 */
470 { "vpmovwb", { EXxmmq
, XM
}, 0 },
472 /* EVEX_W_0F3831_P_1 */
474 { "vpmovdb", { EXxmmqd
, XM
}, 0 },
476 /* EVEX_W_0F3832_P_1 */
478 { "vpmovqb", { EXxmmdw
, XM
}, 0 },
480 /* EVEX_W_0F3833_P_1 */
482 { "vpmovdw", { EXxmmq
, XM
}, 0 },
484 /* EVEX_W_0F3834_P_1 */
486 { "vpmovqw", { EXxmmqd
, XM
}, 0 },
488 /* EVEX_W_0F3835_P_1 */
490 { "vpmovqd", { EXxmmq
, XM
}, 0 },
492 /* EVEX_W_0F3835_P_2 */
494 { "vpmovzxdq", { XM
, EXxmmq
}, 0 },
496 /* EVEX_W_0F3837_P_2 */
499 { "vpcmpgtq", { XMask
, Vex
, EXx
}, 0 },
501 /* EVEX_W_0F383A_P_1 */
503 { "vpbroadcastmw2d", { XM
, MaskR
}, 0 },
505 /* EVEX_W_0F3852_P_1 */
507 { "vdpbf16ps", { XM
, Vex
, EXx
}, 0 },
510 /* EVEX_W_0F3859_P_2 */
512 { "vbroadcasti32x2", { XM
, EXxmm_mq
}, 0 },
513 { "vpbroadcastq", { XM
, EXxmm_mq
}, 0 },
515 /* EVEX_W_0F385A_P_2 */
517 { MOD_TABLE (MOD_EVEX_0F385A_P_2_W_0
) },
518 { MOD_TABLE (MOD_EVEX_0F385A_P_2_W_1
) },
520 /* EVEX_W_0F385B_P_2 */
522 { MOD_TABLE (MOD_EVEX_0F385B_P_2_W_0
) },
523 { MOD_TABLE (MOD_EVEX_0F385B_P_2_W_1
) },
525 /* EVEX_W_0F3870_P_2 */
528 { "vpshldvw", { XM
, Vex
, EXx
}, 0 },
530 /* EVEX_W_0F3872_P_1 */
532 { "vcvtneps2bf16%XY", { XMxmmq
, EXx
}, 0 },
535 /* EVEX_W_0F3872_P_2 */
538 { "vpshrdvw", { XM
, Vex
, EXx
}, 0 },
540 /* EVEX_W_0F3872_P_3 */
542 { "vcvtne2ps2bf16", { XM
, Vex
, EXx
}, 0 },
545 /* EVEX_W_0F387A_P_2 */
547 { "vpbroadcastb", { XM
, Rd
}, 0 },
549 /* EVEX_W_0F387B_P_2 */
551 { "vpbroadcastw", { XM
, Rd
}, 0 },
553 /* EVEX_W_0F3883_P_2 */
556 { "vpmultishiftqb", { XM
, Vex
, EXx
}, 0 },
558 /* EVEX_W_0F3891_P_2 */
560 { "vpgatherqd", { XMxmmq
, MVexVSIBQDWpX
}, 0 },
561 { "vpgatherqq", { XM
, MVexVSIBQWpX
}, 0 },
563 /* EVEX_W_0F3893_P_2 */
565 { "vgatherqps", { XMxmmq
, MVexVSIBQDWpX
}, 0 },
566 { "vgatherqpd", { XM
, MVexVSIBQWpX
}, 0 },
568 /* EVEX_W_0F38A1_P_2 */
570 { "vpscatterqd", { MVexVSIBQDWpX
, XMxmmq
}, 0 },
571 { "vpscatterqq", { MVexVSIBQWpX
, XM
}, 0 },
573 /* EVEX_W_0F38A3_P_2 */
575 { "vscatterqps", { MVexVSIBQDWpX
, XMxmmq
}, 0 },
576 { "vscatterqpd", { MVexVSIBQWpX
, XM
}, 0 },
578 /* EVEX_W_0F38C7_R_1_P_2 */
580 { EVEX_LEN_TABLE (EVEX_LEN_0F38C7_R_1_P_2_W_0
) },
581 { EVEX_LEN_TABLE (EVEX_LEN_0F38C7_R_1_P_2_W_1
) },
583 /* EVEX_W_0F38C7_R_2_P_2 */
585 { EVEX_LEN_TABLE (EVEX_LEN_0F38C7_R_2_P_2_W_0
) },
586 { EVEX_LEN_TABLE (EVEX_LEN_0F38C7_R_2_P_2_W_1
) },
588 /* EVEX_W_0F38C7_R_5_P_2 */
590 { EVEX_LEN_TABLE (EVEX_LEN_0F38C7_R_5_P_2_W_0
) },
591 { EVEX_LEN_TABLE (EVEX_LEN_0F38C7_R_5_P_2_W_1
) },
593 /* EVEX_W_0F38C7_R_6_P_2 */
595 { EVEX_LEN_TABLE (EVEX_LEN_0F38C7_R_6_P_2_W_0
) },
596 { EVEX_LEN_TABLE (EVEX_LEN_0F38C7_R_6_P_2_W_1
) },
598 /* EVEX_W_0F3A00_P_2 */
601 { EVEX_LEN_TABLE (EVEX_LEN_0F3A00_P_2_W_1
) },
603 /* EVEX_W_0F3A01_P_2 */
606 { EVEX_LEN_TABLE (EVEX_LEN_0F3A01_P_2_W_1
) },
608 /* EVEX_W_0F3A05_P_2 */
611 { "vpermilpd", { XM
, EXx
, Ib
}, 0 },
613 /* EVEX_W_0F3A08_P_2 */
615 { "vrndscaleps", { XM
, EXx
, EXxEVexS
, Ib
}, 0 },
617 /* EVEX_W_0F3A09_P_2 */
620 { "vrndscalepd", { XM
, EXx
, EXxEVexS
, Ib
}, 0 },
622 /* EVEX_W_0F3A0A_P_2 */
624 { "vrndscaless", { XMScalar
, VexScalar
, EXxmm_md
, EXxEVexS
, Ib
}, 0 },
626 /* EVEX_W_0F3A0B_P_2 */
629 { "vrndscalesd", { XMScalar
, VexScalar
, EXxmm_mq
, EXxEVexS
, Ib
}, 0 },
631 /* EVEX_W_0F3A18_P_2 */
633 { EVEX_LEN_TABLE (EVEX_LEN_0F3A18_P_2_W_0
) },
634 { EVEX_LEN_TABLE (EVEX_LEN_0F3A18_P_2_W_1
) },
636 /* EVEX_W_0F3A19_P_2 */
638 { EVEX_LEN_TABLE (EVEX_LEN_0F3A19_P_2_W_0
) },
639 { EVEX_LEN_TABLE (EVEX_LEN_0F3A19_P_2_W_1
) },
641 /* EVEX_W_0F3A1A_P_2 */
643 { EVEX_LEN_TABLE (EVEX_LEN_0F3A1A_P_2_W_0
) },
644 { EVEX_LEN_TABLE (EVEX_LEN_0F3A1A_P_2_W_1
) },
646 /* EVEX_W_0F3A1B_P_2 */
648 { EVEX_LEN_TABLE (EVEX_LEN_0F3A1B_P_2_W_0
) },
649 { EVEX_LEN_TABLE (EVEX_LEN_0F3A1B_P_2_W_1
) },
651 /* EVEX_W_0F3A21_P_2 */
653 { EVEX_LEN_TABLE (EVEX_LEN_0F3A21_P_2_W_0
) },
655 /* EVEX_W_0F3A23_P_2 */
657 { EVEX_LEN_TABLE (EVEX_LEN_0F3A23_P_2_W_0
) },
658 { EVEX_LEN_TABLE (EVEX_LEN_0F3A23_P_2_W_1
) },
660 /* EVEX_W_0F3A38_P_2 */
662 { EVEX_LEN_TABLE (EVEX_LEN_0F3A38_P_2_W_0
) },
663 { EVEX_LEN_TABLE (EVEX_LEN_0F3A38_P_2_W_1
) },
665 /* EVEX_W_0F3A39_P_2 */
667 { EVEX_LEN_TABLE (EVEX_LEN_0F3A39_P_2_W_0
) },
668 { EVEX_LEN_TABLE (EVEX_LEN_0F3A39_P_2_W_1
) },
670 /* EVEX_W_0F3A3A_P_2 */
672 { EVEX_LEN_TABLE (EVEX_LEN_0F3A3A_P_2_W_0
) },
673 { EVEX_LEN_TABLE (EVEX_LEN_0F3A3A_P_2_W_1
) },
675 /* EVEX_W_0F3A3B_P_2 */
677 { EVEX_LEN_TABLE (EVEX_LEN_0F3A3B_P_2_W_0
) },
678 { EVEX_LEN_TABLE (EVEX_LEN_0F3A3B_P_2_W_1
) },
680 /* EVEX_W_0F3A42_P_2 */
682 { "vdbpsadbw", { XM
, Vex
, EXx
, Ib
}, 0 },
684 /* EVEX_W_0F3A43_P_2 */
686 { EVEX_LEN_TABLE (EVEX_LEN_0F3A43_P_2_W_0
) },
687 { EVEX_LEN_TABLE (EVEX_LEN_0F3A43_P_2_W_1
) },
689 /* EVEX_W_0F3A70_P_2 */
692 { "vpshldw", { XM
, Vex
, EXx
, Ib
}, 0 },
694 /* EVEX_W_0F3A72_P_2 */
697 { "vpshrdw", { XM
, Vex
, EXx
, Ib
}, 0 },