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