1 static const struct dis386 evex_table
[][256] = {
23 { PREFIX_TABLE (PREFIX_VEX_0F10
) },
24 { PREFIX_TABLE (PREFIX_VEX_0F11
) },
25 { PREFIX_TABLE (PREFIX_VEX_0F12
) },
26 { MOD_TABLE (MOD_VEX_0F13
) },
27 { "vunpcklpX", { XM
, Vex
, EXx
}, PREFIX_OPCODE
},
28 { "vunpckhpX", { XM
, Vex
, EXx
}, PREFIX_OPCODE
},
29 { PREFIX_TABLE (PREFIX_VEX_0F16
) },
30 { MOD_TABLE (MOD_VEX_0F17
) },
50 { "vmovapX", { XM
, EXx
}, PREFIX_OPCODE
},
51 { "vmovapX", { EXxS
, XM
}, PREFIX_OPCODE
},
52 { PREFIX_TABLE (PREFIX_VEX_0F2A
) },
53 { MOD_TABLE (MOD_VEX_0F2B
) },
54 { PREFIX_TABLE (PREFIX_VEX_0F2C
) },
55 { PREFIX_TABLE (PREFIX_VEX_0F2D
) },
56 { PREFIX_TABLE (PREFIX_VEX_0F2E
) },
57 { PREFIX_TABLE (PREFIX_VEX_0F2F
) },
96 { PREFIX_TABLE (PREFIX_VEX_0F51
) },
99 { "vandpX", { XM
, Vex
, EXx
}, PREFIX_OPCODE
},
100 { "vandnpX", { XM
, Vex
, EXx
}, PREFIX_OPCODE
},
101 { "vorpX", { XM
, Vex
, EXx
}, PREFIX_OPCODE
},
102 { "vxorpX", { XM
, Vex
, EXx
}, PREFIX_OPCODE
},
104 { PREFIX_TABLE (PREFIX_VEX_0F58
) },
105 { PREFIX_TABLE (PREFIX_VEX_0F59
) },
106 { PREFIX_TABLE (PREFIX_VEX_0F5A
) },
107 { PREFIX_TABLE (PREFIX_EVEX_0F5B
) },
108 { PREFIX_TABLE (PREFIX_VEX_0F5C
) },
109 { PREFIX_TABLE (PREFIX_VEX_0F5D
) },
110 { PREFIX_TABLE (PREFIX_VEX_0F5E
) },
111 { PREFIX_TABLE (PREFIX_VEX_0F5F
) },
113 { "vpunpcklbw", { XM
, Vex
, EXx
}, PREFIX_DATA
},
114 { "vpunpcklwd", { XM
, Vex
, EXx
}, PREFIX_DATA
},
115 { VEX_W_TABLE (EVEX_W_0F62
) },
116 { "vpacksswb", { XM
, Vex
, EXx
}, PREFIX_DATA
},
117 { "vpcmpgtb", { MaskG
, Vex
, EXx
}, PREFIX_DATA
},
118 { "vpcmpgtw", { MaskG
, Vex
, EXx
}, PREFIX_DATA
},
119 { VEX_W_TABLE (EVEX_W_0F66
) },
120 { "vpackuswb", { XM
, Vex
, EXx
}, PREFIX_DATA
},
122 { "vpunpckhbw", { XM
, Vex
, EXx
}, PREFIX_DATA
},
123 { "vpunpckhwd", { XM
, Vex
, EXx
}, PREFIX_DATA
},
124 { VEX_W_TABLE (EVEX_W_0F6A
) },
125 { VEX_W_TABLE (EVEX_W_0F6B
) },
126 { VEX_W_TABLE (EVEX_W_0F6C
) },
127 { VEX_W_TABLE (EVEX_W_0F6D
) },
128 { VEX_LEN_TABLE (VEX_LEN_0F6E
) },
129 { PREFIX_TABLE (PREFIX_EVEX_0F6F
) },
131 { PREFIX_TABLE (PREFIX_EVEX_0F70
) },
132 { REG_TABLE (REG_EVEX_0F71
) },
133 { REG_TABLE (REG_EVEX_0F72
) },
134 { REG_TABLE (REG_EVEX_0F73
) },
135 { "vpcmpeqb", { MaskG
, Vex
, EXx
}, PREFIX_DATA
},
136 { "vpcmpeqw", { MaskG
, Vex
, EXx
}, PREFIX_DATA
},
137 { VEX_W_TABLE (EVEX_W_0F76
) },
140 { PREFIX_TABLE (PREFIX_EVEX_0F78
) },
141 { PREFIX_TABLE (PREFIX_EVEX_0F79
) },
142 { PREFIX_TABLE (PREFIX_EVEX_0F7A
) },
143 { PREFIX_TABLE (PREFIX_EVEX_0F7B
) },
146 { PREFIX_TABLE (PREFIX_EVEX_0F7E
) },
147 { PREFIX_TABLE (PREFIX_EVEX_0F7F
) },
223 { PREFIX_TABLE (PREFIX_EVEX_0FC2
) },
225 { VEX_LEN_TABLE (VEX_LEN_0FC4
) },
226 { VEX_LEN_TABLE (VEX_LEN_0FC5
) },
227 { "vshufpX", { XM
, Vex
, EXx
, Ib
}, PREFIX_OPCODE
},
240 { "vpsrlw", { XM
, Vex
, EXxmm
}, PREFIX_DATA
},
241 { VEX_W_TABLE (EVEX_W_0FD2
) },
242 { VEX_W_TABLE (EVEX_W_0FD3
) },
243 { VEX_W_TABLE (EVEX_W_0FD4
) },
244 { "vpmullw", { XM
, Vex
, EXx
}, PREFIX_DATA
},
245 { VEX_W_TABLE (EVEX_W_0FD6
) },
248 { "vpsubusb", { XM
, Vex
, EXx
}, PREFIX_DATA
},
249 { "vpsubusw", { XM
, Vex
, EXx
}, PREFIX_DATA
},
250 { "vpminub", { XM
, Vex
, EXx
}, PREFIX_DATA
},
251 { "vpand%DQ", { XM
, Vex
, EXx
}, PREFIX_DATA
},
252 { "vpaddusb", { XM
, Vex
, EXx
}, PREFIX_DATA
},
253 { "vpaddusw", { XM
, Vex
, EXx
}, PREFIX_DATA
},
254 { "vpmaxub", { XM
, Vex
, EXx
}, PREFIX_DATA
},
255 { "vpandn%DQ", { XM
, Vex
, EXx
}, PREFIX_DATA
},
257 { "vpavgb", { XM
, Vex
, EXx
}, PREFIX_DATA
},
258 { "vpsraw", { XM
, Vex
, EXxmm
}, PREFIX_DATA
},
259 { "vpsra%DQ", { XM
, Vex
, EXxmm
}, PREFIX_DATA
},
260 { "vpavgw", { XM
, Vex
, EXx
}, PREFIX_DATA
},
261 { "vpmulhuw", { XM
, Vex
, EXx
}, PREFIX_DATA
},
262 { "vpmulhw", { XM
, Vex
, EXx
}, PREFIX_DATA
},
263 { PREFIX_TABLE (PREFIX_EVEX_0FE6
) },
264 { VEX_W_TABLE (EVEX_W_0FE7
) },
266 { "vpsubsb", { XM
, Vex
, EXx
}, PREFIX_DATA
},
267 { "vpsubsw", { XM
, Vex
, EXx
}, PREFIX_DATA
},
268 { "vpminsw", { XM
, Vex
, EXx
}, PREFIX_DATA
},
269 { "vpor%DQ", { XM
, Vex
, EXx
}, PREFIX_DATA
},
270 { "vpaddsb", { XM
, Vex
, EXx
}, PREFIX_DATA
},
271 { "vpaddsw", { XM
, Vex
, EXx
}, PREFIX_DATA
},
272 { "vpmaxsw", { XM
, Vex
, EXx
}, PREFIX_DATA
},
273 { "vpxor%DQ", { XM
, Vex
, EXx
}, PREFIX_DATA
},
276 { "vpsllw", { XM
, Vex
, EXxmm
}, PREFIX_DATA
},
277 { VEX_W_TABLE (EVEX_W_0FF2
) },
278 { VEX_W_TABLE (EVEX_W_0FF3
) },
279 { VEX_W_TABLE (EVEX_W_0FF4
) },
280 { "vpmaddwd", { XM
, Vex
, EXx
}, PREFIX_DATA
},
281 { "vpsadbw", { XM
, Vex
, EXx
}, PREFIX_DATA
},
284 { "vpsubb", { XM
, Vex
, EXx
}, PREFIX_DATA
},
285 { "vpsubw", { XM
, Vex
, EXx
}, PREFIX_DATA
},
286 { VEX_W_TABLE (EVEX_W_0FFA
) },
287 { VEX_W_TABLE (EVEX_W_0FFB
) },
288 { "vpaddb", { XM
, Vex
, EXx
}, PREFIX_DATA
},
289 { "vpaddw", { XM
, Vex
, EXx
}, PREFIX_DATA
},
290 { VEX_W_TABLE (EVEX_W_0FFE
) },
296 { "vpshufb", { XM
, Vex
, EXx
}, PREFIX_DATA
},
300 { "vpmaddubsw", { XM
, Vex
, EXx
}, PREFIX_DATA
},
308 { "vpmulhrsw", { XM
, Vex
, EXx
}, PREFIX_DATA
},
309 { VEX_W_TABLE (VEX_W_0F380C
) },
310 { "vpermilp%XD", { XM
, Vex
, EXx
}, PREFIX_DATA
},
314 { PREFIX_TABLE (PREFIX_EVEX_0F3810
) },
315 { PREFIX_TABLE (PREFIX_EVEX_0F3811
) },
316 { PREFIX_TABLE (PREFIX_EVEX_0F3812
) },
317 { PREFIX_TABLE (PREFIX_EVEX_0F3813
) },
318 { PREFIX_TABLE (PREFIX_EVEX_0F3814
) },
319 { PREFIX_TABLE (PREFIX_EVEX_0F3815
) },
320 { EVEX_LEN_TABLE (EVEX_LEN_0F3816
) },
323 { VEX_W_TABLE (VEX_W_0F3818
) },
324 { EVEX_LEN_TABLE (EVEX_LEN_0F3819
) },
325 { MOD_TABLE (MOD_EVEX_0F381A
) },
326 { MOD_TABLE (MOD_EVEX_0F381B
) },
327 { "vpabsb", { XM
, EXx
}, PREFIX_DATA
},
328 { "vpabsw", { XM
, EXx
}, PREFIX_DATA
},
329 { VEX_W_TABLE (EVEX_W_0F381E
) },
330 { VEX_W_TABLE (EVEX_W_0F381F
) },
332 { PREFIX_TABLE (PREFIX_EVEX_0F3820
) },
333 { PREFIX_TABLE (PREFIX_EVEX_0F3821
) },
334 { PREFIX_TABLE (PREFIX_EVEX_0F3822
) },
335 { PREFIX_TABLE (PREFIX_EVEX_0F3823
) },
336 { PREFIX_TABLE (PREFIX_EVEX_0F3824
) },
337 { PREFIX_TABLE (PREFIX_EVEX_0F3825
) },
338 { PREFIX_TABLE (PREFIX_EVEX_0F3826
) },
339 { PREFIX_TABLE (PREFIX_EVEX_0F3827
) },
341 { PREFIX_TABLE (PREFIX_EVEX_0F3828
) },
342 { PREFIX_TABLE (PREFIX_EVEX_0F3829
) },
343 { PREFIX_TABLE (PREFIX_EVEX_0F382A
) },
344 { VEX_W_TABLE (EVEX_W_0F382B
) },
345 { "vscalefp%XW", { XM
, Vex
, EXx
, EXxEVexR
}, PREFIX_DATA
},
346 { "vscalefs%XW", { XMScalar
, VexScalar
, EXdq
, EXxEVexR
}, PREFIX_DATA
},
350 { PREFIX_TABLE (PREFIX_EVEX_0F3830
) },
351 { PREFIX_TABLE (PREFIX_EVEX_0F3831
) },
352 { PREFIX_TABLE (PREFIX_EVEX_0F3832
) },
353 { PREFIX_TABLE (PREFIX_EVEX_0F3833
) },
354 { PREFIX_TABLE (PREFIX_EVEX_0F3834
) },
355 { PREFIX_TABLE (PREFIX_EVEX_0F3835
) },
356 { EVEX_LEN_TABLE (EVEX_LEN_0F3836
) },
357 { VEX_W_TABLE (EVEX_W_0F3837
) },
359 { PREFIX_TABLE (PREFIX_EVEX_0F3838
) },
360 { PREFIX_TABLE (PREFIX_EVEX_0F3839
) },
361 { PREFIX_TABLE (PREFIX_EVEX_0F383A
) },
362 { "vpminu%DQ", { XM
, Vex
, EXx
}, PREFIX_DATA
},
363 { "vpmaxsb", { XM
, Vex
, EXx
}, PREFIX_DATA
},
364 { "vpmaxs%DQ", { XM
, Vex
, EXx
}, PREFIX_DATA
},
365 { "vpmaxuw", { XM
, Vex
, EXx
}, PREFIX_DATA
},
366 { "vpmaxu%DQ", { XM
, Vex
, EXx
}, PREFIX_DATA
},
368 { "vpmull%DQ", { XM
, Vex
, EXx
}, PREFIX_DATA
},
370 { "vgetexpp%XW", { XM
, EXx
, EXxEVexS
}, PREFIX_DATA
},
371 { "vgetexps%XW", { XMScalar
, VexScalar
, EXdq
, EXxEVexS
}, PREFIX_DATA
},
372 { "vplzcnt%DQ", { XM
, EXx
}, PREFIX_DATA
},
373 { "vpsrlv%DQ", { XM
, Vex
, EXx
}, PREFIX_DATA
},
374 { "vpsrav%DQ", { XM
, Vex
, EXx
}, PREFIX_DATA
},
375 { "vpsllv%DQ", { XM
, Vex
, EXx
}, PREFIX_DATA
},
381 { "vrcp14p%XW", { XM
, EXx
}, PREFIX_DATA
},
382 { "vrcp14s%XW", { XMScalar
, VexScalar
, EXdq
}, PREFIX_DATA
},
383 { "vrsqrt14p%XW", { XM
, EXx
}, 0 },
384 { "vrsqrt14s%XW", { XMScalar
, VexScalar
, EXdq
}, PREFIX_DATA
},
386 { "vpdpbusd", { XM
, Vex
, EXx
}, PREFIX_DATA
},
387 { "vpdpbusds", { XM
, Vex
, EXx
}, PREFIX_DATA
},
388 { PREFIX_TABLE (PREFIX_EVEX_0F3852
) },
389 { PREFIX_TABLE (PREFIX_EVEX_0F3853
) },
390 { "vpopcnt%BW", { XM
, EXx
}, PREFIX_DATA
},
391 { "vpopcnt%DQ", { XM
, EXx
}, PREFIX_DATA
},
395 { VEX_W_TABLE (VEX_W_0F3858
) },
396 { VEX_W_TABLE (EVEX_W_0F3859
) },
397 { MOD_TABLE (MOD_EVEX_0F385A
) },
398 { MOD_TABLE (MOD_EVEX_0F385B
) },
406 { "vpexpand%BW", { XM
, EXbwUnit
}, PREFIX_DATA
},
407 { "vpcompress%BW", { EXbwUnit
, XM
}, PREFIX_DATA
},
408 { "vpblendm%DQ", { XM
, Vex
, EXx
}, PREFIX_DATA
},
409 { "vblendmp%XW", { XM
, Vex
, EXx
}, PREFIX_DATA
},
410 { "vpblendm%BW", { XM
, Vex
, EXx
}, PREFIX_DATA
},
413 { PREFIX_TABLE (PREFIX_EVEX_0F3868
) },
422 { VEX_W_TABLE (EVEX_W_0F3870
) },
423 { "vpshldv%DQ", { XM
, Vex
, EXx
}, PREFIX_DATA
},
424 { PREFIX_TABLE (PREFIX_EVEX_0F3872
) },
425 { "vpshrdv%DQ", { XM
, Vex
, EXx
}, PREFIX_DATA
},
427 { "vpermi2%BW", { XM
, Vex
, EXx
}, PREFIX_DATA
},
428 { "vpermi2%DQ", { XM
, Vex
, EXx
}, PREFIX_DATA
},
429 { "vpermi2p%XW", { XM
, Vex
, EXx
}, PREFIX_DATA
},
431 { VEX_W_TABLE (VEX_W_0F3878
) },
432 { VEX_W_TABLE (VEX_W_0F3879
) },
433 { VEX_W_TABLE (EVEX_W_0F387A
) },
434 { VEX_W_TABLE (EVEX_W_0F387B
) },
435 { MOD_TABLE (MOD_EVEX_0F387C
) },
436 { "vpermt2%BW", { XM
, Vex
, EXx
}, PREFIX_DATA
},
437 { "vpermt2%DQ", { XM
, Vex
, EXx
}, PREFIX_DATA
},
438 { "vpermt2p%XW", { XM
, Vex
, EXx
}, PREFIX_DATA
},
443 { VEX_W_TABLE (EVEX_W_0F3883
) },
449 { "vexpandp%XW", { XM
, EXEvexXGscat
}, PREFIX_DATA
},
450 { "vpexpand%DQ", { XM
, EXEvexXGscat
}, PREFIX_DATA
},
451 { "vcompressp%XW", { EXEvexXGscat
, XM
}, PREFIX_DATA
},
452 { "vpcompress%DQ", { EXEvexXGscat
, XM
}, PREFIX_DATA
},
454 { "vperm%BW", { XM
, Vex
, EXx
}, PREFIX_DATA
},
456 { "vpshufbitqmb", { MaskG
, Vex
, EXx
}, PREFIX_DATA
},
458 { "vpgatherd%DQ", { XMGatherD
, MVexVSIBDWpX
}, PREFIX_DATA
},
459 { "vpgatherq%DQ", { XMGatherQ
, MVexVSIBQWpX
}, PREFIX_DATA
},
460 { "vgatherdp%XW", { XMGatherD
, MVexVSIBDWpX
}, PREFIX_DATA
},
461 { "vgatherqp%XW", { XMGatherQ
, MVexVSIBQWpX
}, PREFIX_DATA
},
464 { "vfmaddsub132p%XW", { XM
, Vex
, EXx
, EXxEVexR
}, PREFIX_DATA
},
465 { "vfmsubadd132p%XW", { XM
, Vex
, EXx
, EXxEVexR
}, PREFIX_DATA
},
467 { "vfmadd132p%XW", { XM
, Vex
, EXx
, EXxEVexR
}, PREFIX_DATA
},
468 { "vfmadd132s%XW", { XMScalar
, VexScalar
, EXdq
, EXxEVexR
}, PREFIX_DATA
},
469 { PREFIX_TABLE (PREFIX_EVEX_0F389A
) },
470 { PREFIX_TABLE (PREFIX_EVEX_0F389B
) },
471 { "vfnmadd132p%XW", { XM
, Vex
, EXx
, EXxEVexR
}, PREFIX_DATA
},
472 { "vfnmadd132s%XW", { XMScalar
, VexScalar
, EXdq
, EXxEVexR
}, PREFIX_DATA
},
473 { "vfnmsub132p%XW", { XM
, Vex
, EXx
, EXxEVexR
}, PREFIX_DATA
},
474 { "vfnmsub132s%XW", { XMScalar
, VexScalar
, EXdq
, EXxEVexR
}, PREFIX_DATA
},
476 { "vpscatterd%DQ", { MVexVSIBDWpX
, XM
}, PREFIX_DATA
},
477 { "vpscatterq%DQ", { MVexVSIBQWpX
, XMGatherQ
}, PREFIX_DATA
},
478 { "vscatterdp%XW", { MVexVSIBDWpX
, XM
}, PREFIX_DATA
},
479 { "vscatterqp%XW", { MVexVSIBQWpX
, XMGatherQ
}, PREFIX_DATA
},
482 { "vfmaddsub213p%XW", { XM
, Vex
, EXx
, EXxEVexR
}, PREFIX_DATA
},
483 { "vfmsubadd213p%XW", { XM
, Vex
, EXx
, EXxEVexR
}, PREFIX_DATA
},
485 { "vfmadd213p%XW", { XM
, Vex
, EXx
, EXxEVexR
}, PREFIX_DATA
},
486 { "vfmadd213s%XW", { XMScalar
, VexScalar
, EXdq
, EXxEVexR
}, PREFIX_DATA
},
487 { PREFIX_TABLE (PREFIX_EVEX_0F38AA
) },
488 { PREFIX_TABLE (PREFIX_EVEX_0F38AB
) },
489 { "vfnmadd213p%XW", { XM
, Vex
, EXx
, EXxEVexR
}, PREFIX_DATA
},
490 { "vfnmadd213s%XW", { XMScalar
, VexScalar
, EXdq
, EXxEVexR
}, PREFIX_DATA
},
491 { "vfnmsub213p%XW", { XM
, Vex
, EXx
, EXxEVexR
}, PREFIX_DATA
},
492 { "vfnmsub213s%XW", { XMScalar
, VexScalar
, EXdq
, EXxEVexR
}, PREFIX_DATA
},
498 { "vpmadd52luq", { XM
, Vex
, EXx
}, PREFIX_DATA
},
499 { "vpmadd52huq", { XM
, Vex
, EXx
}, PREFIX_DATA
},
500 { "vfmaddsub231p%XW", { XM
, Vex
, EXx
, EXxEVexR
}, PREFIX_DATA
},
501 { "vfmsubadd231p%XW", { XM
, Vex
, EXx
, EXxEVexR
}, PREFIX_DATA
},
503 { "vfmadd231p%XW", { XM
, Vex
, EXx
, EXxEVexR
}, PREFIX_DATA
},
504 { "vfmadd231s%XW", { XMScalar
, VexScalar
, EXdq
, EXxEVexR
}, PREFIX_DATA
},
505 { "vfmsub231p%XW", { XM
, Vex
, EXx
, EXxEVexR
}, PREFIX_DATA
},
506 { "vfmsub231s%XW", { XMScalar
, VexScalar
, EXdq
, EXxEVexR
}, PREFIX_DATA
},
507 { "vfnmadd231p%XW", { XM
, Vex
, EXx
, EXxEVexR
}, PREFIX_DATA
},
508 { "vfnmadd231s%XW", { XMScalar
, VexScalar
, EXdq
, EXxEVexR
}, PREFIX_DATA
},
509 { "vfnmsub231p%XW", { XM
, Vex
, EXx
, EXxEVexR
}, PREFIX_DATA
},
510 { "vfnmsub231s%XW", { XMScalar
, VexScalar
, EXdq
, EXxEVexR
}, PREFIX_DATA
},
516 { "vpconflict%DQ", { XM
, EXx
}, PREFIX_DATA
},
518 { MOD_TABLE (MOD_EVEX_0F38C6
) },
519 { MOD_TABLE (MOD_EVEX_0F38C7
) },
521 { "vexp2p%XW", { XM
, EXx
, EXxEVexS
}, PREFIX_DATA
},
523 { "vrcp28p%XW", { XM
, EXx
, EXxEVexS
}, PREFIX_DATA
},
524 { "vrcp28s%XW", { XMScalar
, VexScalar
, EXdq
, EXxEVexS
}, PREFIX_DATA
},
525 { "vrsqrt28p%XW", { XM
, EXx
, EXxEVexS
}, PREFIX_DATA
},
526 { "vrsqrt28s%XW", { XMScalar
, VexScalar
, EXdq
, EXxEVexS
}, PREFIX_DATA
},
528 { VEX_W_TABLE (VEX_W_0F38CF
) },
543 { "vaesenc", { XM
, Vex
, EXx
}, PREFIX_DATA
},
544 { "vaesenclast", { XM
, Vex
, EXx
}, PREFIX_DATA
},
545 { "vaesdec", { XM
, Vex
, EXx
}, PREFIX_DATA
},
546 { "vaesdeclast", { XM
, Vex
, EXx
}, PREFIX_DATA
},
587 { EVEX_LEN_TABLE (EVEX_LEN_0F3A00
) },
588 { EVEX_LEN_TABLE (EVEX_LEN_0F3A01
) },
590 { "valign%DQ", { XM
, Vex
, EXx
, Ib
}, PREFIX_DATA
},
591 { VEX_W_TABLE (VEX_W_0F3A04
) },
592 { "vpermilp%XD", { XM
, EXx
, Ib
}, PREFIX_DATA
},
596 { PREFIX_TABLE (PREFIX_EVEX_0F3A08
) },
597 { "vrndscalep%XD", { XM
, EXx
, EXxEVexS
, Ib
}, PREFIX_DATA
},
598 { PREFIX_TABLE (PREFIX_EVEX_0F3A0A
) },
599 { "vrndscales%XD", { XMScalar
, VexScalar
, EXq
, EXxEVexS
, Ib
}, PREFIX_DATA
},
603 { "vpalignr", { XM
, Vex
, EXx
, Ib
}, PREFIX_DATA
},
609 { VEX_LEN_TABLE (VEX_LEN_0F3A14
) },
610 { VEX_LEN_TABLE (VEX_LEN_0F3A15
) },
611 { VEX_LEN_TABLE (VEX_LEN_0F3A16
) },
612 { VEX_LEN_TABLE (VEX_LEN_0F3A17
) },
614 { EVEX_LEN_TABLE (EVEX_LEN_0F3A18
) },
615 { EVEX_LEN_TABLE (EVEX_LEN_0F3A19
) },
616 { EVEX_LEN_TABLE (EVEX_LEN_0F3A1A
) },
617 { EVEX_LEN_TABLE (EVEX_LEN_0F3A1B
) },
619 { VEX_W_TABLE (VEX_W_0F3A1D
) },
620 { "vpcmpu%DQ", { MaskG
, Vex
, EXx
, VPCMP
}, PREFIX_DATA
},
621 { "vpcmp%DQ", { MaskG
, Vex
, EXx
, VPCMP
}, PREFIX_DATA
},
623 { VEX_LEN_TABLE (VEX_LEN_0F3A20
) },
624 { VEX_W_TABLE (EVEX_W_0F3A21
) },
625 { VEX_LEN_TABLE (VEX_LEN_0F3A22
) },
626 { EVEX_LEN_TABLE (EVEX_LEN_0F3A23
) },
628 { "vpternlog%DQ", { XM
, Vex
, EXx
, Ib
}, PREFIX_DATA
},
629 { PREFIX_TABLE (PREFIX_EVEX_0F3A26
) },
630 { PREFIX_TABLE (PREFIX_EVEX_0F3A27
) },
650 { EVEX_LEN_TABLE (EVEX_LEN_0F3A38
) },
651 { EVEX_LEN_TABLE (EVEX_LEN_0F3A39
) },
652 { EVEX_LEN_TABLE (EVEX_LEN_0F3A3A
) },
653 { EVEX_LEN_TABLE (EVEX_LEN_0F3A3B
) },
656 { "vpcmpu%BW", { MaskG
, Vex
, EXx
, VPCMP
}, PREFIX_DATA
},
657 { "vpcmp%BW", { MaskG
, Vex
, EXx
, VPCMP
}, PREFIX_DATA
},
661 { VEX_W_TABLE (EVEX_W_0F3A42
) },
662 { EVEX_LEN_TABLE (EVEX_LEN_0F3A43
) },
663 { "vpclmulqdq", { XM
, Vex
, EXx
, PCLMUL
}, PREFIX_DATA
},
677 { "vrangep%XW", { XM
, Vex
, EXx
, EXxEVexS
, Ib
}, PREFIX_DATA
},
678 { "vranges%XW", { XMScalar
, VexScalar
, EXdq
, EXxEVexS
, Ib
}, PREFIX_DATA
},
681 { "vfixupimmp%XW", { XM
, Vex
, EXx
, EXxEVexS
, Ib
}, PREFIX_DATA
},
682 { "vfixupimms%XW", { XMScalar
, VexScalar
, EXdq
, EXxEVexS
, Ib
}, PREFIX_DATA
},
683 { PREFIX_TABLE (PREFIX_EVEX_0F3A56
) },
684 { PREFIX_TABLE (PREFIX_EVEX_0F3A57
) },
701 { PREFIX_TABLE (PREFIX_EVEX_0F3A66
) },
702 { PREFIX_TABLE (PREFIX_EVEX_0F3A67
) },
713 { VEX_W_TABLE (EVEX_W_0F3A70
) },
714 { "vpshld%DQ", { XM
, Vex
, EXx
, Ib
}, PREFIX_DATA
},
715 { VEX_W_TABLE (EVEX_W_0F3A72
) },
716 { "vpshrd%DQ", { XM
, Vex
, EXx
, Ib
}, PREFIX_DATA
},
805 { PREFIX_TABLE (PREFIX_EVEX_0F3AC2
) },
818 { VEX_W_TABLE (VEX_W_0F3ACE
) },
819 { VEX_W_TABLE (VEX_W_0F3ACF
) },
896 { PREFIX_TABLE (PREFIX_EVEX_MAP5_10
) },
897 { PREFIX_TABLE (PREFIX_EVEX_MAP5_11
) },
910 { PREFIX_TABLE (PREFIX_EVEX_MAP5_1D
) },
925 { PREFIX_TABLE (PREFIX_EVEX_MAP5_2A
) },
927 { PREFIX_TABLE (PREFIX_EVEX_MAP5_2C
) },
928 { PREFIX_TABLE (PREFIX_EVEX_MAP5_2D
) },
929 { PREFIX_TABLE (PREFIX_EVEX_MAP5_2E
) },
930 { PREFIX_TABLE (PREFIX_EVEX_MAP5_2F
) },
969 { PREFIX_TABLE (PREFIX_EVEX_MAP5_51
) },
977 { PREFIX_TABLE (PREFIX_EVEX_MAP5_58
) },
978 { PREFIX_TABLE (PREFIX_EVEX_MAP5_59
) },
979 { PREFIX_TABLE (PREFIX_EVEX_MAP5_5A
) },
980 { PREFIX_TABLE (PREFIX_EVEX_MAP5_5B
) },
981 { PREFIX_TABLE (PREFIX_EVEX_MAP5_5C
) },
982 { PREFIX_TABLE (PREFIX_EVEX_MAP5_5D
) },
983 { PREFIX_TABLE (PREFIX_EVEX_MAP5_5E
) },
984 { PREFIX_TABLE (PREFIX_EVEX_MAP5_5F
) },
1001 { "vmovw", { XMScalar
, Edw
}, PREFIX_DATA
},
1013 { PREFIX_TABLE (PREFIX_EVEX_MAP5_78
) },
1014 { PREFIX_TABLE (PREFIX_EVEX_MAP5_79
) },
1015 { PREFIX_TABLE (PREFIX_EVEX_MAP5_7A
) },
1016 { PREFIX_TABLE (PREFIX_EVEX_MAP5_7B
) },
1017 { PREFIX_TABLE (PREFIX_EVEX_MAP5_7C
) },
1018 { PREFIX_TABLE (PREFIX_EVEX_MAP5_7D
) },
1019 { "vmovw", { Edw
, XMScalar
}, PREFIX_DATA
},
1190 { PREFIX_TABLE (PREFIX_EVEX_MAP6_13
) },
1218 { "vscalefp%XH", { XM
, Vex
, EXxh
, EXxEVexR
}, PREFIX_DATA
},
1219 { "vscalefs%XH", { XMScalar
, VexScalar
, EXw
, EXxEVexR
}, PREFIX_DATA
},
1243 { "vgetexpp%XH", { XM
, EXxh
, EXxEVexS
}, PREFIX_DATA
},
1244 { "vgetexps%XH", { XMScalar
, VexScalar
, EXw
, EXxEVexS
}, PREFIX_DATA
},
1254 { "vrcpp%XH", { XM
, EXxh
}, PREFIX_DATA
},
1255 { "vrcps%XH", { XMScalar
, VexScalar
, EXw
}, PREFIX_DATA
},
1256 { "vrsqrtp%XH", { XM
, EXxh
}, PREFIX_DATA
},
1257 { "vrsqrts%XH", { XMScalar
, VexScalar
, EXw
}, PREFIX_DATA
},
1265 { PREFIX_TABLE (PREFIX_EVEX_MAP6_56
) },
1266 { PREFIX_TABLE (PREFIX_EVEX_MAP6_57
) },
1337 { "vfmaddsub132p%XH", { XM
, Vex
, EXxh
, EXxEVexR
}, PREFIX_DATA
},
1338 { "vfmsubadd132p%XH", { XM
, Vex
, EXxh
, EXxEVexR
}, PREFIX_DATA
},
1340 { "vfmadd132p%XH", { XM
, Vex
, EXxh
, EXxEVexR
}, PREFIX_DATA
},
1341 { "vfmadd132s%XH", { XMScalar
, VexScalar
, EXw
, EXxEVexR
}, PREFIX_DATA
},
1342 { "vfmsub132p%XH", { XM
, Vex
, EXxh
, EXxEVexR
}, PREFIX_DATA
},
1343 { "vfmsub132s%XH", { XMScalar
, VexScalar
, EXw
, EXxEVexR
}, PREFIX_DATA
},
1344 { "vfnmadd132p%XH", { XM
, Vex
, EXxh
, EXxEVexR
}, PREFIX_DATA
},
1345 { "vfnmadd132s%XH", { XMScalar
, VexScalar
, EXw
, EXxEVexR
}, PREFIX_DATA
},
1346 { "vfnmsub132p%XH", { XM
, Vex
, EXxh
, EXxEVexR
}, PREFIX_DATA
},
1347 { "vfnmsub132s%XH", { XMScalar
, VexScalar
, EXw
, EXxEVexR
}, PREFIX_DATA
},
1355 { "vfmaddsub213p%XH", { XM
, Vex
, EXxh
, EXxEVexR
}, PREFIX_DATA
},
1356 { "vfmsubadd213p%XH", { XM
, Vex
, EXxh
, EXxEVexR
}, PREFIX_DATA
},
1358 { "vfmadd213p%XH", { XM
, Vex
, EXxh
, EXxEVexR
}, PREFIX_DATA
},
1359 { "vfmadd213s%XH", { XMScalar
, VexScalar
, EXw
, EXxEVexR
}, PREFIX_DATA
},
1360 { "vfmsub213p%XH", { XM
, Vex
, EXxh
, EXxEVexR
}, PREFIX_DATA
},
1361 { "vfmsub213s%XH", { XMScalar
, VexScalar
, EXw
, EXxEVexR
}, PREFIX_DATA
},
1362 { "vfnmadd213p%XH", { XM
, Vex
, EXxh
, EXxEVexR
}, PREFIX_DATA
},
1363 { "vfnmadd213s%XH", { XMScalar
, VexScalar
, EXw
, EXxEVexR
}, PREFIX_DATA
},
1364 { "vfnmsub213p%XH", { XM
, Vex
, EXxh
, EXxEVexR
}, PREFIX_DATA
},
1365 { "vfnmsub213s%XH", { XMScalar
, VexScalar
, EXw
, EXxEVexR
}, PREFIX_DATA
},
1373 { "vfmaddsub231p%XH", { XM
, Vex
, EXxh
, EXxEVexR
}, PREFIX_DATA
},
1374 { "vfmsubadd231p%XH", { XM
, Vex
, EXxh
, EXxEVexR
}, PREFIX_DATA
},
1376 { "vfmadd231p%XH", { XM
, Vex
, EXxh
, EXxEVexR
}, PREFIX_DATA
},
1377 { "vfmadd231s%XH", { XMScalar
, VexScalar
, EXw
, EXxEVexR
}, PREFIX_DATA
},
1378 { "vfmsub231p%XH", { XM
, Vex
, EXxh
, EXxEVexR
}, PREFIX_DATA
},
1379 { "vfmsub231s%XH", { XMScalar
, VexScalar
, EXw
, EXxEVexR
}, PREFIX_DATA
},
1380 { "vfnmadd231p%XH", { XM
, Vex
, EXxh
, EXxEVexR
}, PREFIX_DATA
},
1381 { "vfnmadd231s%XH", { XMScalar
, VexScalar
, EXw
, EXxEVexR
}, PREFIX_DATA
},
1382 { "vfnmsub231p%XH", { XM
, Vex
, EXxh
, EXxEVexR
}, PREFIX_DATA
},
1383 { "vfnmsub231s%XH", { XMScalar
, VexScalar
, EXw
, EXxEVexR
}, PREFIX_DATA
},
1409 { PREFIX_TABLE (PREFIX_EVEX_MAP6_D6
) },
1410 { PREFIX_TABLE (PREFIX_EVEX_MAP6_D7
) },