Update translations for various sub-directories
[binutils-gdb.git] / opcodes / i386-dis-evex-prefix.h
blob1aeac210c5dc6a1525a4d1d6b934e42afa546fbd
1 /* PREFIX_EVEX_0F2E */
3 { "%XEvucomis%XS", { XMScalar, EXd, EXxEVexS }, 0 },
4 { "vucomxs%XS", { XMScalar, EXd, EXxEVexS }, 0 },
5 { "%XEvucomis%XD", { XMScalar, EXq, EXxEVexS }, 0 },
6 { "vucomxs%XD", { XMScalar, EXq, EXxEVexS }, 0 },
7 },
8 /* PREFIX_EVEX_0F2F */
10 { "%XEvcomis%XS", { XMScalar, EXd, EXxEVexS }, 0 },
11 { "vcomxs%XS", { XMScalar, EXd, EXxEVexS }, 0 },
12 { "%XEvcomis%XD", { XMScalar, EXq, EXxEVexS }, 0 },
13 { "vcomxs%XD", { XMScalar, EXq, EXxEVexS }, 0 },
15 /* PREFIX_EVEX_0F5B */
17 { VEX_W_TABLE (EVEX_W_0F5B_P_0) },
18 { "%XEvcvttp%XS2dq", { XM, EXx, EXxEVexS }, 0 },
19 { "%XEvcvtp%XS2dq", { XM, EXx, EXxEVexR }, 0 },
21 /* PREFIX_EVEX_0F6F */
23 { Bad_Opcode },
24 { VEX_W_TABLE (EVEX_W_0F6F_P_1) },
25 { VEX_W_TABLE (EVEX_W_0F6F_P_2) },
26 { VEX_W_TABLE (EVEX_W_0F6F_P_3) },
28 /* PREFIX_EVEX_0F70 */
30 { Bad_Opcode },
31 { "%XEvpshufhw", { XM, EXx, Ib }, 0 },
32 { VEX_W_TABLE (EVEX_W_0F70_P_2) },
33 { "%XEvpshuflw", { XM, EXx, Ib }, 0 },
35 /* PREFIX_EVEX_0F78 */
37 { VEX_W_TABLE (EVEX_W_0F78_P_0) },
38 { "vcvttss2usi", { Gdq, EXd, EXxEVexS }, 0 },
39 { VEX_W_TABLE (EVEX_W_0F78_P_2) },
40 { "vcvttsd2usi", { Gdq, EXq, EXxEVexS }, 0 },
42 /* PREFIX_EVEX_0F79 */
44 { VEX_W_TABLE (EVEX_W_0F79_P_0) },
45 { "vcvtss2usi", { Gdq, EXd, EXxEVexR }, 0 },
46 { VEX_W_TABLE (EVEX_W_0F79_P_2) },
47 { "vcvtsd2usi", { Gdq, EXq, EXxEVexR }, 0 },
49 /* PREFIX_EVEX_0F7A */
51 { Bad_Opcode },
52 { VEX_W_TABLE (EVEX_W_0F7A_P_1) },
53 { VEX_W_TABLE (EVEX_W_0F7A_P_2) },
54 { VEX_W_TABLE (EVEX_W_0F7A_P_3) },
56 /* PREFIX_EVEX_0F7B */
58 { Bad_Opcode },
59 { "vcvtusi2ssY{%LQ|}", { XMScalar, VexScalar, EXxEVexR, Edq }, 0 },
60 { VEX_W_TABLE (EVEX_W_0F7B_P_2) },
61 { "vcvtusi2sdY{%LQ|}", { XMScalar, VexScalar, EXxEVexR64, Edq }, 0 },
63 /* PREFIX_EVEX_0F7E */
65 { Bad_Opcode },
66 { VEX_W_TABLE (EVEX_W_0F7E_P_1) },
67 { VEX_LEN_TABLE (VEX_LEN_0F7E_P_2) },
69 /* PREFIX_EVEX_0F7F */
71 { Bad_Opcode },
72 { VEX_W_TABLE (EVEX_W_0F7F_P_1) },
73 { VEX_W_TABLE (EVEX_W_0F7F_P_2) },
74 { VEX_W_TABLE (EVEX_W_0F7F_P_3) },
76 /* PREFIX_EVEX_0FC2 */
78 { "vcmppX", { MaskG, Vex, EXx, EXxEVexS, CMP }, PREFIX_OPCODE },
79 { "vcmps%XS", { MaskG, VexScalar, EXd, EXxEVexS, CMP }, 0 },
80 { "vcmppX", { MaskG, Vex, EXx, EXxEVexS, CMP }, PREFIX_OPCODE },
81 { "vcmps%XD", { MaskG, VexScalar, EXq, EXxEVexS, CMP }, 0 },
83 /* PREFIX_EVEX_0FE6 */
85 { Bad_Opcode },
86 { VEX_W_TABLE (EVEX_W_0FE6_P_1) },
87 { "%XEvcvttp%XD2dq%XY", { XMxmmq, EXx, EXxEVexS }, 0 },
88 { "%XEvcvtp%XD2dq%XY", { XMxmmq, EXx, EXxEVexR }, 0 },
90 /* PREFIX_EVEX_0F3810 */
92 { Bad_Opcode },
93 { VEX_W_TABLE (EVEX_W_0F3810_P_1) },
94 { VEX_W_TABLE (EVEX_W_0F3810_P_2) },
96 /* PREFIX_EVEX_0F3811 */
98 { Bad_Opcode },
99 { VEX_W_TABLE (EVEX_W_0F3811_P_1) },
100 { VEX_W_TABLE (EVEX_W_0F3811_P_2) },
102 /* PREFIX_EVEX_0F3812 */
104 { Bad_Opcode },
105 { VEX_W_TABLE (EVEX_W_0F3812_P_1) },
106 { VEX_W_TABLE (EVEX_W_0F3812_P_2) },
108 /* PREFIX_EVEX_0F3813 */
110 { Bad_Opcode },
111 { VEX_W_TABLE (EVEX_W_0F3813_P_1) },
112 { "%XEvcvtph2p%XS", { XM, EXxmmq, EXxEVexS }, 0 },
114 /* PREFIX_EVEX_0F3814 */
116 { Bad_Opcode },
117 { VEX_W_TABLE (EVEX_W_0F3814_P_1) },
118 { "vprorv%DQ", { XM, Vex, EXx }, 0 },
120 /* PREFIX_EVEX_0F3815 */
122 { Bad_Opcode },
123 { VEX_W_TABLE (EVEX_W_0F3815_P_1) },
124 { "vprolv%DQ", { XM, Vex, EXx }, 0 },
126 /* PREFIX_EVEX_0F3820 */
128 { Bad_Opcode },
129 { VEX_W_TABLE (EVEX_W_0F3820_P_1) },
130 { "%XEvpmovsxbw", { XM, EXxmmq }, 0 },
132 /* PREFIX_EVEX_0F3821 */
134 { Bad_Opcode },
135 { VEX_W_TABLE (EVEX_W_0F3821_P_1) },
136 { "%XEvpmovsxbd", { XM, EXxmmqd }, 0 },
138 /* PREFIX_EVEX_0F3822 */
140 { Bad_Opcode },
141 { VEX_W_TABLE (EVEX_W_0F3822_P_1) },
142 { "%XEvpmovsxbq", { XM, EXxmmdw }, 0 },
144 /* PREFIX_EVEX_0F3823 */
146 { Bad_Opcode },
147 { VEX_W_TABLE (EVEX_W_0F3823_P_1) },
148 { "%XEvpmovsxwd", { XM, EXxmmq }, 0 },
150 /* PREFIX_EVEX_0F3824 */
152 { Bad_Opcode },
153 { VEX_W_TABLE (EVEX_W_0F3824_P_1) },
154 { "%XEvpmovsxwq", { XM, EXxmmqd }, 0 },
156 /* PREFIX_EVEX_0F3825 */
158 { Bad_Opcode },
159 { VEX_W_TABLE (EVEX_W_0F3825_P_1) },
160 { VEX_W_TABLE (EVEX_W_0F3825_P_2) },
162 /* PREFIX_EVEX_0F3826 */
164 { Bad_Opcode },
165 { "vptestnm%BW", { MaskG, Vex, EXx }, 0 },
166 { "vptestm%BW", { MaskG, Vex, EXx }, 0 },
168 /* PREFIX_EVEX_0F3827 */
170 { Bad_Opcode },
171 { "vptestnm%DQ", { MaskG, Vex, EXx }, 0 },
172 { "vptestm%DQ", { MaskG, Vex, EXx }, 0 },
174 /* PREFIX_EVEX_0F3828 */
176 { Bad_Opcode },
177 { "vpmovm2Y%BW", { XM, MaskR }, 0 },
178 { VEX_W_TABLE (EVEX_W_0F3828_P_2) },
180 /* PREFIX_EVEX_0F3829 */
182 { Bad_Opcode },
183 { "vpmov%BW2mY", { MaskG, Ux }, 0 },
184 { VEX_W_TABLE (EVEX_W_0F3829_P_2) },
186 /* PREFIX_EVEX_0F382A */
188 { Bad_Opcode },
189 { VEX_W_TABLE (EVEX_W_0F382A_P_1) },
190 { VEX_W_TABLE (EVEX_W_0F382A_P_2) },
192 /* PREFIX_EVEX_0F3830 */
194 { Bad_Opcode },
195 { VEX_W_TABLE (EVEX_W_0F3830_P_1) },
196 { "%XEvpmovzxbw", { XM, EXxmmq }, 0 },
198 /* PREFIX_EVEX_0F3831 */
200 { Bad_Opcode },
201 { VEX_W_TABLE (EVEX_W_0F3831_P_1) },
202 { "%XEvpmovzxbd", { XM, EXxmmqd }, 0 },
204 /* PREFIX_EVEX_0F3832 */
206 { Bad_Opcode },
207 { VEX_W_TABLE (EVEX_W_0F3832_P_1) },
208 { "%XEvpmovzxbq", { XM, EXxmmdw }, 0 },
210 /* PREFIX_EVEX_0F3833 */
212 { Bad_Opcode },
213 { VEX_W_TABLE (EVEX_W_0F3833_P_1) },
214 { "%XEvpmovzxwd", { XM, EXxmmq }, 0 },
216 /* PREFIX_EVEX_0F3834 */
218 { Bad_Opcode },
219 { VEX_W_TABLE (EVEX_W_0F3834_P_1) },
220 { "%XEvpmovzxwq", { XM, EXxmmqd }, 0 },
222 /* PREFIX_EVEX_0F3835 */
224 { Bad_Opcode },
225 { VEX_W_TABLE (EVEX_W_0F3835_P_1) },
226 { VEX_W_TABLE (EVEX_W_0F3835_P_2) },
228 /* PREFIX_EVEX_0F3838 */
230 { Bad_Opcode },
231 { "vpmovm2Y%DQ", { XM, MaskR }, 0 },
232 { "%XEvpminsb", { XM, Vex, EXx }, 0 },
234 /* PREFIX_EVEX_0F3839 */
236 { Bad_Opcode },
237 { "vpmov%DQ2mY", { MaskG, Ux }, 0 },
238 { "%XEvpmins%DQ", { XM, Vex, EXx }, 0 },
240 /* PREFIX_EVEX_0F383A */
242 { Bad_Opcode },
243 { VEX_W_TABLE (EVEX_W_0F383A_P_1) },
244 { "%XEvpminuw", { XM, Vex, EXx }, 0 },
246 /* PREFIX_EVEX_0F384A_W_0_L_2 */
248 { Bad_Opcode },
249 { "tcvtrowd2ps", { XM, Rtmm, VexGdq }, 0 },
250 { "tilemovrow", { XM, Rtmm, VexGdq }, 0 },
252 /* PREFIX_EVEX_0F3852 */
254 { "vdpphp%XS", { XM, Vex, EXx }, 0 },
255 { "vdpbf16p%XS", { XM, Vex, EXx }, 0 },
256 { VEX_W_TABLE (VEX_W_0F3852) },
257 { "vp4dpws%XSd", { XM, Vex, Mxmm }, 0 },
259 /* PREFIX_EVEX_0F3853 */
261 { Bad_Opcode },
262 { Bad_Opcode },
263 { VEX_W_TABLE (VEX_W_0F3853) },
264 { "vp4dpws%XSds", { XM, Vex, Mxmm }, 0 },
266 /* PREFIX_EVEX_0F3868 */
268 { Bad_Opcode },
269 { Bad_Opcode },
270 { Bad_Opcode },
271 { "vp2intersectY%DQ", { MaskG, Vex, EXx, EXxEVexS }, 0 },
273 /* PREFIX_EVEX_0F386D_W_0_L_2 */
275 { "tcvtrowps2phh", { XM, Rtmm, VexGdq }, 0 },
276 { "tcvtrowps2bf16l", { XM, Rtmm, VexGdq }, 0 },
277 { "tcvtrowps2phl", { XM, Rtmm, VexGdq }, 0 },
278 { "tcvtrowps2bf16h", { XM, Rtmm, VexGdq }, 0 },
280 /* PREFIX_EVEX_0F3872 */
282 { Bad_Opcode },
283 { "vcvtnep%XS2bf16%XY", { XMxmmq, EXx }, 0 },
284 { VEX_W_TABLE (EVEX_W_0F3872_P_2) },
285 { "vcvtne2p%XS2bf16", { XM, Vex, EXx}, 0 },
287 /* PREFIX_EVEX_0F3874 */
289 { "vcvtbiasp%XH2bf8", { XMxmmq, Vex, EXxh }, 0 },
290 { "vcvtp%XH2bf8%XY", { XMxmmq, EXxh }, 0 },
291 { Bad_Opcode },
292 { "vcvt2p%XH2bf8", { XM, Vex, EXxh }, 0 },
294 /* PREFIX_EVEX_0F389A */
296 { Bad_Opcode },
297 { Bad_Opcode },
298 { "%XEvfmsub132p%XW", { XM, Vex, EXx, EXxEVexR }, 0 },
299 { "v4fmaddp%XS", { XM, Vex, Mxmm }, 0 },
301 /* PREFIX_EVEX_0F389B */
303 { Bad_Opcode },
304 { Bad_Opcode },
305 { "%XEvfmsub132s%XW", { XMScalar, VexScalar, EXdq, EXxEVexR }, 0 },
306 { "v4fmadds%XS", { XMScalar, VexScalar, Mxmm }, 0 },
308 /* PREFIX_EVEX_0F38AA */
310 { Bad_Opcode },
311 { Bad_Opcode },
312 { "%XEvfmsub213p%XW", { XM, Vex, EXx, EXxEVexR }, 0 },
313 { "v4fnmaddp%XS", { XM, Vex, Mxmm }, 0 },
315 /* PREFIX_EVEX_0F38AB */
317 { Bad_Opcode },
318 { Bad_Opcode },
319 { "%XEvfmsub213s%XW", { XMScalar, VexScalar, EXdq, EXxEVexR }, 0 },
320 { "v4fnmadds%XS", { XMScalar, VexScalar, Mxmm }, 0 },
322 /* PREFIX_EVEX_0F3A07_W_0_L_2 */
324 { "tcvtrowps2phh", { XM, Rtmm, Ib }, 0 },
325 { "tcvtrowd2ps", { XM, Rtmm, Ib }, 0 },
326 { "tilemovrow", { XM, Rtmm, Ib }, 0 },
327 { "tcvtrowps2bf16h", { XM, Rtmm, Ib }, 0 },
329 /* PREFIX_EVEX_0F3A08 */
331 { "vrndscalep%XH", { XM, EXxh, EXxEVexS, Ib }, 0 },
332 { Bad_Opcode },
333 { "vrndscalep%XS", { XM, EXx, EXxEVexS, Ib }, 0 },
334 { "vrndscale%XB", { XM, EXxh, Ib }, 0 },
336 /* PREFIX_EVEX_0F3A0A */
338 { "vrndscales%XH", { XMScalar, VexScalar, EXw, EXxEVexS, Ib }, 0 },
339 { Bad_Opcode },
340 { "vrndscales%XS", { XMScalar, VexScalar, EXd, EXxEVexS, Ib }, 0 },
342 /* PREFIX_EVEX_0F3A26 */
344 { "vgetmantp%XH", { XM, EXxh, EXxEVexS, Ib }, 0 },
345 { Bad_Opcode },
346 { "vgetmantp%XW", { XM, EXx, EXxEVexS, Ib }, 0 },
347 { "vgetmant%XB", { XM, EXxh, Ib }, 0 },
349 /* PREFIX_EVEX_0F3A27 */
351 { "vgetmants%XH", { XMScalar, VexScalar, EXw, EXxEVexS, Ib }, 0 },
352 { Bad_Opcode },
353 { "vgetmants%XW", { XMScalar, VexScalar, EXdq, EXxEVexS, Ib }, 0 },
355 /* PREFIX_EVEX_0F3A42_W_0 */
357 { Bad_Opcode },
358 { "%XEvmpsadbw", { XM, Vex, EXx, Ib }, 0 },
359 { "vdbpsadbw", { XM, Vex, EXx, Ib }, 0 },
361 /* PREFIX_EVEX_0F3A52 */
363 { "vminmaxp%XH", { XM, Vex, EXxh, EXxEVexS, Ib }, 0 },
364 { Bad_Opcode },
365 { "vminmaxp%XW", { XM, Vex, EXx, EXxEVexS, Ib }, 0 },
366 { "vminmax%XB", { XM, Vex, EXxh, Ib }, 0 },
368 /* PREFIX_EVEX_0F3A53 */
370 { "vminmaxs%XH", { XMScalar, VexScalar, EXw, EXxEVexS, Ib }, 0 },
371 { Bad_Opcode },
372 { "vminmaxs%XW", { XMScalar, VexScalar, EXdq, EXxEVexS, Ib }, 0 },
374 /* PREFIX_EVEX_0F3A56 */
376 { "vreducep%XH", { XM, EXxh, EXxEVexS, Ib }, 0 },
377 { Bad_Opcode },
378 { "vreducep%XW", { XM, EXx, EXxEVexS, Ib }, 0 },
379 { "vreduce%XB", { XM, EXxh, Ib }, 0 },
381 /* PREFIX_EVEX_0F3A57 */
383 { "vreduces%XH", { XMScalar, VexScalar, EXw, EXxEVexS, Ib }, 0 },
384 { Bad_Opcode },
385 { "vreduces%XW", { XMScalar, VexScalar, EXdq, EXxEVexS, Ib }, 0 },
387 /* PREFIX_EVEX_0F3A66 */
389 { "vfpclassp%XH%XZ", { MaskG, EXxh, Ib }, 0 },
390 { Bad_Opcode },
391 { "vfpclassp%XW%XZ", { MaskG, EXx, Ib }, 0 },
392 { "vfpclass%XB%XZ", { MaskG, EXxh, Ib }, 0 },
394 /* PREFIX_EVEX_0F3A67 */
396 { "vfpclasss%XH", { MaskG, EXw, Ib }, 0 },
397 { Bad_Opcode },
398 { "vfpclasss%XW", { MaskG, EXdq, Ib }, 0 },
400 /* PREFIX_EVEX_0F3A77_W_0_L_2 */
402 { Bad_Opcode },
403 { "tcvtrowps2bf16l", { XM, Rtmm, Ib }, 0 },
404 { Bad_Opcode },
405 { "tcvtrowps2phl", { XM, Rtmm, Ib }, 0 },
407 /* PREFIX_EVEX_0F3AC2 */
409 { "vcmpp%XH", { MaskG, Vex, EXxh, EXxEVexS, CMP }, 0 },
410 { "vcmps%XH", { MaskG, VexScalar, EXw, EXxEVexS, CMP }, 0 },
411 { Bad_Opcode },
412 { "vcmp%XB", { MaskG, Vex, EXxh, CMP }, 0 },
414 /* PREFIX_EVEX_MAP4_4x */
416 { "%CFcmov%CCS", { VexGv, { CFCMOV_Fixup, 0 }, { CFCMOV_Fixup, 1 } }, 0 },
417 { Bad_Opcode },
418 { "%CFcmov%CCS", { VexGv, { CFCMOV_Fixup, 0 }, { CFCMOV_Fixup, 1 } }, 0 },
419 { "set%ZU%CC", { Eb }, 0 },
421 /* PREFIX_EVEX_MAP4_F0 */
423 { "crc32A", { Gdq, Eb }, 0 },
424 { "invept", { Gm, Mo }, 0 },
426 /* PREFIX_EVEX_MAP4_F1 */
428 { "crc32Q", { Gdq, Ev }, 0 },
429 { "invvpid", { Gm, Mo }, 0 },
430 { "crc32Q", { Gdq, Ev }, 0 },
432 /* PREFIX_EVEX_MAP4_F2 */
434 { Bad_Opcode },
435 { "invpcid", { Gm, M }, 0 },
437 /* PREFIX_EVEX_MAP4_F8 */
439 { Bad_Opcode },
440 { MOD_TABLE (MOD_EVEX_MAP4_F8_P_1) },
441 { "movdir64b", { Gva, M }, 0 },
442 { MOD_TABLE (MOD_EVEX_MAP4_F8_P_3) },
444 /* PREFIX_EVEX_MAP5_10 */
446 { Bad_Opcode },
447 { "vmovs%XH", { XMScalar, VexScalarR, EXw }, 0 },
449 /* PREFIX_EVEX_MAP5_11 */
451 { Bad_Opcode },
452 { "vmovs%XH", { EXwS, VexScalarR, XMScalar }, 0 },
454 /* PREFIX_EVEX_MAP5_18 */
456 { "vcvtbiasp%XH2hf8", { XMxmmq, Vex, EXxh }, 0 },
457 { "vcvtp%XH2hf8%XY", { XMxmmq, EXxh }, 0 },
458 { Bad_Opcode },
459 { "vcvt2p%XH2hf8", { XM, Vex, EXxh }, 0 },
461 /* PREFIX_EVEX_MAP5_1B */
463 { "vcvtbiasp%XH2hf8s", { XMxmmq, Vex, EXxh }, 0 },
464 { "vcvtp%XH2hf8s%XY", { XMxmmq, EXxh }, 0 },
465 { Bad_Opcode },
466 { "vcvt2p%XH2hf8s", { XM, Vex, EXxh }, 0 },
468 /* PREFIX_EVEX_MAP5_1D */
470 { "vcvtss2s%XH", { XMScalar, VexScalar, EXd, EXxEVexR }, 0 },
471 { Bad_Opcode },
472 { "vcvtps2p%XHx%XY", { XMxmmq, EXx, EXxEVexR }, 0 },
474 /* PREFIX_EVEX_MAP5_1E */
476 { Bad_Opcode },
477 { Bad_Opcode },
478 { Bad_Opcode },
479 { "vcvthf82p%XH", { XM, EXxmmq }, 0 },
481 /* PREFIX_EVEX_MAP5_2A */
483 { Bad_Opcode },
484 { "vcvtsi2shY{%LQ|}", { XMScalar, VexScalar, EXxEVexR, Edq }, 0 },
486 /* PREFIX_EVEX_MAP5_2C */
488 { Bad_Opcode },
489 { "vcvttsh2si", { Gdq, EXw, EXxEVexS }, 0 },
491 /* PREFIX_EVEX_MAP5_2D */
493 { Bad_Opcode },
494 { "vcvtsh2si", { Gdq, EXw, EXxEVexR }, 0 },
496 /* PREFIX_EVEX_MAP5_2E */
498 { "vucomisY%XH", { XMScalar, EXw, EXxEVexS }, 0 },
499 { "vucomxs%XH", { XMScalar, EXw, EXxEVexS }, 0 },
501 /* PREFIX_EVEX_MAP5_2F */
503 { "vcomisY%XH", { XMScalar, EXw, EXxEVexS }, 0 },
504 { "vcomxs%XH", { XMScalar, EXw, EXxEVexS }, 0 },
505 { "vcomis%XB", { XMScalar, EXw, EXxEVexS }, 0 },
507 /* PREFIX_EVEX_MAP5_51 */
509 { "vsqrtp%XH", { XM, EXxh, EXxEVexR }, 0 },
510 { "vsqrts%XH", { XMScalar, VexScalar, EXw, EXxEVexR }, 0 },
511 { "vsqrt%XB", { XM, EXxh }, 0 },
513 /* PREFIX_EVEX_MAP5_58 */
515 { "vaddp%XH", { XM, Vex, EXxh, EXxEVexR }, 0 },
516 { "vadds%XH", { XMScalar, VexScalar, EXw, EXxEVexR }, 0 },
517 { "vadd%XB", { XM, Vex, EXxh }, 0 },
519 /* PREFIX_EVEX_MAP5_59 */
521 { "vmulp%XH", { XM, Vex, EXxh, EXxEVexR }, 0 },
522 { "vmuls%XH", { XMScalar, VexScalar, EXw, EXxEVexR }, 0 },
523 { "vmul%XB", { XM, Vex, EXxh }, 0 },
525 /* PREFIX_EVEX_MAP5_5A */
527 { "vcvtp%XH2pd", { XM, EXxmmqdh, EXxEVexS }, 0 },
528 { "vcvts%XH2sd", { XMScalar, VexScalar, EXw, EXxEVexS }, 0 },
529 { "vcvtp%XD2ph%XZ", { XMM, EXx, EXxEVexR }, 0 },
530 { "vcvts%XD2sh", { XMScalar, VexScalar, EXq, EXxEVexR }, 0 },
532 /* PREFIX_EVEX_MAP5_5B */
534 { VEX_W_TABLE (EVEX_W_MAP5_5B_P_0) },
535 { "vcvttp%XH2dq", { XM, EXxmmqh, EXxEVexS }, 0 },
536 { "vcvtp%XH2dq", { XM, EXxmmqh, EXxEVexR }, 0 },
538 /* PREFIX_EVEX_MAP5_5C */
540 { "vsubp%XH", { XM, Vex, EXxh, EXxEVexR }, 0 },
541 { "vsubs%XH", { XMScalar, VexScalar, EXw, EXxEVexR }, 0 },
542 { "vsub%XB", { XM, Vex, EXxh }, 0 },
544 /* PREFIX_EVEX_MAP5_5D */
546 { "vminp%XH", { XM, Vex, EXxh, EXxEVexS }, 0 },
547 { "vmins%XH", { XMScalar, VexScalar, EXw, EXxEVexS }, 0 },
548 { "vmin%XB", { XM, Vex, EXxh }, 0 },
550 /* PREFIX_EVEX_MAP5_5E */
552 { "vdivp%XH", { XM, Vex, EXxh, EXxEVexR }, 0 },
553 { "vdivs%XH", { XMScalar, VexScalar, EXw, EXxEVexR }, 0 },
554 { "vdiv%XB", { XM, Vex, EXxh }, 0 },
556 /* PREFIX_EVEX_MAP5_5F */
558 { "vmaxp%XH", { XM, Vex, EXxh, EXxEVexS }, 0 },
559 { "vmaxs%XH", { XMScalar, VexScalar, EXw, EXxEVexS }, 0 },
560 { "vmax%XB", { XM, Vex, EXxh }, 0 },
562 /* PREFIX_EVEX_MAP5_68 */
564 { "vcvttp%XH2ibs", { XM, EXxh, EXxEVexS }, 0 },
565 { Bad_Opcode },
566 { "vcvttp%XS2ibs", { XM, EXx, EXxEVexS }, 0 },
567 { "vcvtt%XB2ibs", { XM, EXxh }, 0 },
569 /* PREFIX_EVEX_MAP5_69 */
571 { "vcvtp%XH2ibs", { XM, EXxh, EXxEVexR }, 0 },
572 { Bad_Opcode },
573 { "vcvtp%XS2ibs", { XM, EXx, EXxEVexR }, 0 },
574 { "vcvt%XB2ibs", { XM, EXxh }, 0 },
576 /* PREFIX_EVEX_MAP5_6A */
578 { "vcvttp%XH2iubs", { XM, EXxh, EXxEVexS }, 0 },
579 { Bad_Opcode },
580 { "vcvttp%XS2iubs", { XM, EXx, EXxEVexS }, 0 },
581 { "vcvtt%XB2iubs", { XM, EXxh }, 0 },
583 /* PREFIX_EVEX_MAP5_6B */
585 { "vcvtp%XH2iubs", { XM, EXxh, EXxEVexR }, 0 },
586 { Bad_Opcode },
587 { "vcvtp%XS2iubs", { XM, EXx, EXxEVexR }, 0 },
588 { "vcvt%XB2iubs", { XM, EXxh }, 0 },
590 /* PREFIX_EVEX_MAP5_6C */
592 { VEX_W_TABLE (EVEX_W_MAP5_6C_P_0) },
593 { "vcvttss2usis", { Gdq, EXd, EXxEVexS }, 0 },
594 { VEX_W_TABLE (EVEX_W_MAP5_6C_P_2) },
595 { "vcvttsd2usis", { Gdq, EXq, EXxEVexS }, 0 },
597 /* PREFIX_EVEX_MAP5_6D */
599 { VEX_W_TABLE (EVEX_W_MAP5_6D_P_0) },
600 { "vcvttss2sis", { Gdq, EXd, EXxEVexS }, 0 },
601 { VEX_W_TABLE (EVEX_W_MAP5_6D_P_2) },
602 { "vcvttsd2sis", { Gdq, EXq, EXxEVexS }, 0 },
604 /* PREFIX_EVEX_MAP5_6E_L_0 */
606 { Bad_Opcode },
607 { VEX_W_TABLE (EVEX_W_MAP5_6E_P_1) },
608 { "vmovwY", { XMScalar, Edw }, 0 },
610 /* PREFIX_EVEX_MAP5_6F_X86_64 */
612 { Bad_Opcode },
613 { "vmovrs%DQ", { XM, Mx }, 0 },
614 { Bad_Opcode },
615 { "vmovrs%BW", { XM, Mx }, 0 },
617 /* PREFIX_EVEX_MAP5_74 */
619 { "vcvtbiasp%XH2bf8s", { XMxmmq, Vex, EXxh }, 0 },
620 { "vcvtp%XH2bf8s%XY", { XMxmmq, EXxh }, 0 },
621 { Bad_Opcode },
622 { "vcvt2p%XH2bf8s", { XM, Vex, EXxh }, 0 },
624 /* PREFIX_EVEX_MAP5_78 */
626 { "vcvttp%XH2udq", { XM, EXxmmqh, EXxEVexS }, 0 },
627 { "vcvttsh2usi", { Gdq, EXw, EXxEVexS }, 0 },
628 { "vcvttp%XH2uqq", { XM, EXxmmqdh, EXxEVexS }, 0 },
630 /* PREFIX_EVEX_MAP5_79 */
632 { "vcvtp%XH2udq", { XM, EXxmmqh, EXxEVexR }, 0 },
633 { "vcvtsh2usi", { Gdq, EXw, EXxEVexR }, 0 },
634 { "vcvtp%XH2uqq", { XM, EXxmmqdh, EXxEVexR }, 0 },
636 /* PREFIX_EVEX_MAP5_7A */
638 { Bad_Opcode },
639 { Bad_Opcode },
640 { "vcvttp%XH2qq", { XM, EXxmmqdh, EXxEVexS }, 0 },
641 { VEX_W_TABLE (EVEX_W_MAP5_7A_P_3) },
643 /* PREFIX_EVEX_MAP5_7B */
645 { Bad_Opcode },
646 { "vcvtusi2shY{%LQ|}", { XMScalar, VexScalar, EXxEVexR, Edq }, 0 },
647 { "vcvtp%XH2qq", { XM, EXxmmqdh, EXxEVexR }, 0 },
649 /* PREFIX_EVEX_MAP5_7C */
651 { "vcvttp%XH2uw", { XM, EXxh, EXxEVexS }, 0 },
652 { Bad_Opcode },
653 { "vcvttp%XH2w", { XM, EXxh, EXxEVexS }, 0 },
655 /* PREFIX_EVEX_MAP5_7D */
657 { "vcvtp%XH2uw", { XM, EXxh, EXxEVexR }, 0 },
658 { "vcvtw2p%XH", { XM, EXxh, EXxEVexR }, 0 },
659 { "vcvtp%XH2w", { XM, EXxh, EXxEVexR }, 0 },
660 { "vcvtuw2p%XH", { XM, EXxh, EXxEVexR }, 0 },
662 /* PREFIX_EVEX_MAP5_7E_L_0 */
664 { Bad_Opcode },
665 { VEX_W_TABLE (EVEX_W_MAP5_7E_P_1) },
666 { "vmovw", { Edw, XMScalar }, 0 },
668 /* PREFIX_EVEX_MAP6_13 */
670 { "vcvts%XH2ss", { XMScalar, VexScalar, EXw, EXxEVexS }, 0 },
671 { Bad_Opcode },
672 { "vcvtp%XH2psx", { XM, EXxmmqh, EXxEVexS }, 0 },
674 /* PREFIX_EVEX_MAP6_2C */
676 { "vscalef%XB", { XM, Vex, EXxh }, 0 },
677 { Bad_Opcode },
678 { "vscalefp%XH", { XM, Vex, EXxh, EXxEVexR }, 0 },
680 /* PREFIX_EVEX_MAP6_42 */
682 { "vgetexp%XB", { XM, EXxh }, 0 },
683 { Bad_Opcode },
684 { "vgetexpp%XH", { XM, EXxh, EXxEVexS }, 0 },
686 /* PREFIX_EVEX_MAP6_4C */
688 { "vrcp%XB", { XM, EXxh }, 0 },
689 { Bad_Opcode },
690 { "vrcpp%XH", { XM, EXxh }, 0 },
692 /* PREFIX_EVEX_MAP6_4E */
694 { "vrsqrt%XB", { XM, EXxh }, 0 },
695 { Bad_Opcode },
696 { "vrsqrtp%XH", { XM, EXxh }, 0 },
698 /* PREFIX_EVEX_MAP6_56 */
700 { Bad_Opcode },
701 { "vfmaddcp%XH", { { DistinctDest_Fixup, 0 }, Vex, EXx, EXxEVexR }, 0 },
702 { Bad_Opcode },
703 { "vfcmaddcp%XH", { { DistinctDest_Fixup, 0 }, Vex, EXx, EXxEVexR }, 0 },
705 /* PREFIX_EVEX_MAP6_57 */
707 { Bad_Opcode },
708 { "vfmaddcs%XH", { { DistinctDest_Fixup, scalar_mode }, VexScalar, EXd, EXxEVexR }, 0 },
709 { Bad_Opcode },
710 { "vfcmaddcs%XH", { { DistinctDest_Fixup, scalar_mode }, VexScalar, EXd, EXxEVexR }, 0 },
712 /* PREFIX_EVEX_MAP6_98 */
714 { "vfmadd132%XB", { XM, Vex, EXxh }, 0 },
715 { Bad_Opcode },
716 { "vfmadd132p%XH", { XM, Vex, EXxh, EXxEVexR }, 0 },
718 /* PREFIX_EVEX_MAP6_9A */
720 { "vfmsub132%XB", { XM, Vex, EXxh }, 0 },
721 { Bad_Opcode },
722 { "vfmsub132p%XH", { XM, Vex, EXxh, EXxEVexR }, 0 },
724 /* PREFIX_EVEX_MAP6_9C */
726 { "vfnmadd132%XB", { XM, Vex, EXxh }, 0 },
727 { Bad_Opcode },
728 { "vfnmadd132p%XH", { XM, Vex, EXxh, EXxEVexR }, 0 },
730 /* PREFIX_EVEX_MAP6_9E */
732 { "vfnmsub132%XB", { XM, Vex, EXxh }, 0 },
733 { Bad_Opcode },
734 { "vfnmsub132p%XH", { XM, Vex, EXxh, EXxEVexR }, 0 },
736 /* PREFIX_EVEX_MAP6_A8 */
738 { "vfmadd213%XB", { XM, Vex, EXxh }, 0 },
739 { Bad_Opcode },
740 { "vfmadd213p%XH", { XM, Vex, EXxh, EXxEVexR }, 0 },
742 /* PREFIX_EVEX_MAP6_AA */
744 { "vfmsub213%XB", { XM, Vex, EXxh }, 0 },
745 { Bad_Opcode },
746 { "vfmsub213p%XH", { XM, Vex, EXxh, EXxEVexR }, 0 },
748 /* PREFIX_EVEX_MAP6_AC */
750 { "vfnmadd213%XB", { XM, Vex, EXxh }, 0 },
751 { Bad_Opcode },
752 { "vfnmadd213p%XH", { XM, Vex, EXxh, EXxEVexR }, 0 },
754 /* PREFIX_EVEX_MAP6_AE */
756 { "vfnmsub213%XB", { XM, Vex, EXxh }, 0 },
757 { Bad_Opcode },
758 { "vfnmsub213p%XH", { XM, Vex, EXxh, EXxEVexR }, 0 },
760 /* PREFIX_EVEX_MAP6_B8 */
762 { "vfmadd231%XB", { XM, Vex, EXxh }, 0 },
763 { Bad_Opcode },
764 { "vfmadd231p%XH", { XM, Vex, EXxh, EXxEVexR }, 0 },
766 /* PREFIX_EVEX_MAP6_BA */
768 { "vfmsub231%XB", { XM, Vex, EXxh }, 0 },
769 { Bad_Opcode },
770 { "vfmsub231p%XH", { XM, Vex, EXxh, EXxEVexR }, 0 },
772 /* PREFIX_EVEX_MAP6_BC */
774 { "vfnmadd231%XB", { XM, Vex, EXxh }, 0 },
775 { Bad_Opcode },
776 { "vfnmadd231p%XH", { XM, Vex, EXxh, EXxEVexR }, 0 },
778 /* PREFIX_EVEX_MAP6_BE */
780 { "vfnmsub231%XB", { XM, Vex, EXxh }, 0 },
781 { Bad_Opcode },
782 { "vfnmsub231p%XH", { XM, Vex, EXxh, EXxEVexR }, 0 },
784 /* PREFIX_EVEX_MAP6_D6 */
786 { Bad_Opcode },
787 { "vfmulcp%XH", { { DistinctDest_Fixup, 0 }, Vex, EXx, EXxEVexR }, 0 },
788 { Bad_Opcode },
789 { "vfcmulcp%XH", { { DistinctDest_Fixup, 0 }, Vex, EXx, EXxEVexR }, 0 },
791 /* PREFIX_EVEX_MAP6_D7 */
793 { Bad_Opcode },
794 { "vfmulcs%XH", { { DistinctDest_Fixup, scalar_mode }, VexScalar, EXd, EXxEVexR }, 0 },
795 { Bad_Opcode },
796 { "vfcmulcs%XH", { { DistinctDest_Fixup, scalar_mode }, VexScalar, EXd, EXxEVexR }, 0 },