Commit | Line | Data |
---|---|---|
ad692897 L |
1 | /* PREFIX_EVEX_0F10 */ |
2 | { | |
97e6786a | 3 | { "vmovupX", { XM, EXEvexXNoBcst }, PREFIX_OPCODE }, |
36cc073e | 4 | { VEX_W_TABLE (EVEX_W_0F10_P_1) }, |
97e6786a | 5 | { "vmovupX", { XM, EXEvexXNoBcst }, PREFIX_OPCODE }, |
36cc073e | 6 | { VEX_W_TABLE (EVEX_W_0F10_P_3) }, |
ad692897 L |
7 | }, |
8 | /* PREFIX_EVEX_0F11 */ | |
9 | { | |
97e6786a | 10 | { "vmovupX", { EXxS, XM }, PREFIX_OPCODE }, |
36cc073e | 11 | { VEX_W_TABLE (EVEX_W_0F11_P_1) }, |
97e6786a | 12 | { "vmovupX", { EXxS, XM }, PREFIX_OPCODE }, |
36cc073e | 13 | { VEX_W_TABLE (EVEX_W_0F11_P_3) }, |
ad692897 L |
14 | }, |
15 | /* PREFIX_EVEX_0F12 */ | |
16 | { | |
17 | { MOD_TABLE (MOD_EVEX_0F12_PREFIX_0) }, | |
18 | { VEX_W_TABLE (EVEX_W_0F12_P_1) }, | |
97e6786a | 19 | { MOD_TABLE (MOD_EVEX_0F12_PREFIX_2) }, |
ad692897 L |
20 | { VEX_W_TABLE (EVEX_W_0F12_P_3) }, |
21 | }, | |
ad692897 L |
22 | /* PREFIX_EVEX_0F16 */ |
23 | { | |
24 | { MOD_TABLE (MOD_EVEX_0F16_PREFIX_0) }, | |
25 | { VEX_W_TABLE (EVEX_W_0F16_P_1) }, | |
97e6786a | 26 | { MOD_TABLE (MOD_EVEX_0F16_PREFIX_2) }, |
ad692897 L |
27 | }, |
28 | /* PREFIX_EVEX_0F2A */ | |
29 | { | |
30 | { Bad_Opcode }, | |
54fbadc0 | 31 | { "vcvtsi2ss%LQ", { XMScalar, VexScalar, EXxEVexR, Edq }, 0 }, |
ad692897 L |
32 | { Bad_Opcode }, |
33 | { VEX_W_TABLE (EVEX_W_0F2A_P_3) }, | |
34 | }, | |
ad692897 L |
35 | /* PREFIX_EVEX_0F2C */ |
36 | { | |
37 | { Bad_Opcode }, | |
38 | { "vcvttss2si", { Gdq, EXxmm_md, EXxEVexS }, 0 }, | |
39 | { Bad_Opcode }, | |
40 | { "vcvttsd2si", { Gdq, EXxmm_mq, EXxEVexS }, 0 }, | |
41 | }, | |
42 | /* PREFIX_EVEX_0F2D */ | |
43 | { | |
44 | { Bad_Opcode }, | |
45 | { "vcvtss2si", { Gdq, EXxmm_md, EXxEVexR }, 0 }, | |
46 | { Bad_Opcode }, | |
47 | { "vcvtsd2si", { Gdq, EXxmm_mq, EXxEVexR }, 0 }, | |
48 | }, | |
49 | /* PREFIX_EVEX_0F2E */ | |
50 | { | |
97e6786a | 51 | { "vucomisX", { XMScalar, EXxmm_md, EXxEVexS }, PREFIX_OPCODE }, |
ad692897 | 52 | { Bad_Opcode }, |
97e6786a | 53 | { "vucomisX", { XMScalar, EXxmm_mq, EXxEVexS }, PREFIX_OPCODE }, |
ad692897 L |
54 | }, |
55 | /* PREFIX_EVEX_0F2F */ | |
56 | { | |
97e6786a | 57 | { "vcomisX", { XMScalar, EXxmm_md, EXxEVexS }, PREFIX_OPCODE }, |
ad692897 | 58 | { Bad_Opcode }, |
97e6786a | 59 | { "vcomisX", { XMScalar, EXxmm_mq, EXxEVexS }, PREFIX_OPCODE }, |
ad692897 L |
60 | }, |
61 | /* PREFIX_EVEX_0F51 */ | |
62 | { | |
97e6786a | 63 | { "vsqrtpX", { XM, EXx, EXxEVexR }, PREFIX_OPCODE }, |
ad692897 | 64 | { VEX_W_TABLE (EVEX_W_0F51_P_1) }, |
97e6786a | 65 | { "vsqrtpX", { XM, EXx, EXxEVexR }, PREFIX_OPCODE }, |
ad692897 L |
66 | { VEX_W_TABLE (EVEX_W_0F51_P_3) }, |
67 | }, | |
ad692897 L |
68 | /* PREFIX_EVEX_0F58 */ |
69 | { | |
97e6786a | 70 | { "vaddpX", { XM, Vex, EXx, EXxEVexR }, PREFIX_OPCODE }, |
ad692897 | 71 | { VEX_W_TABLE (EVEX_W_0F58_P_1) }, |
97e6786a | 72 | { "vaddpX", { XM, Vex, EXx, EXxEVexR }, PREFIX_OPCODE }, |
ad692897 L |
73 | { VEX_W_TABLE (EVEX_W_0F58_P_3) }, |
74 | }, | |
75 | /* PREFIX_EVEX_0F59 */ | |
76 | { | |
97e6786a | 77 | { "vmulpX", { XM, Vex, EXx, EXxEVexR }, PREFIX_OPCODE }, |
ad692897 | 78 | { VEX_W_TABLE (EVEX_W_0F59_P_1) }, |
97e6786a | 79 | { "vmulpX", { XM, Vex, EXx, EXxEVexR }, PREFIX_OPCODE }, |
ad692897 L |
80 | { VEX_W_TABLE (EVEX_W_0F59_P_3) }, |
81 | }, | |
82 | /* PREFIX_EVEX_0F5A */ | |
83 | { | |
84 | { VEX_W_TABLE (EVEX_W_0F5A_P_0) }, | |
85 | { VEX_W_TABLE (EVEX_W_0F5A_P_1) }, | |
86 | { VEX_W_TABLE (EVEX_W_0F5A_P_2) }, | |
87 | { VEX_W_TABLE (EVEX_W_0F5A_P_3) }, | |
88 | }, | |
89 | /* PREFIX_EVEX_0F5B */ | |
90 | { | |
91 | { VEX_W_TABLE (EVEX_W_0F5B_P_0) }, | |
92 | { VEX_W_TABLE (EVEX_W_0F5B_P_1) }, | |
93 | { VEX_W_TABLE (EVEX_W_0F5B_P_2) }, | |
94 | }, | |
95 | /* PREFIX_EVEX_0F5C */ | |
96 | { | |
97e6786a | 97 | { "vsubpX", { XM, Vex, EXx, EXxEVexR }, PREFIX_OPCODE }, |
ad692897 | 98 | { VEX_W_TABLE (EVEX_W_0F5C_P_1) }, |
97e6786a | 99 | { "vsubpX", { XM, Vex, EXx, EXxEVexR }, PREFIX_OPCODE }, |
ad692897 L |
100 | { VEX_W_TABLE (EVEX_W_0F5C_P_3) }, |
101 | }, | |
102 | /* PREFIX_EVEX_0F5D */ | |
103 | { | |
97e6786a | 104 | { "vminpX", { XM, Vex, EXx, EXxEVexS }, PREFIX_OPCODE }, |
ad692897 | 105 | { VEX_W_TABLE (EVEX_W_0F5D_P_1) }, |
97e6786a | 106 | { "vminpX", { XM, Vex, EXx, EXxEVexS }, PREFIX_OPCODE }, |
ad692897 L |
107 | { VEX_W_TABLE (EVEX_W_0F5D_P_3) }, |
108 | }, | |
109 | /* PREFIX_EVEX_0F5E */ | |
110 | { | |
97e6786a | 111 | { "vdivpX", { XM, Vex, EXx, EXxEVexR }, PREFIX_OPCODE }, |
ad692897 | 112 | { VEX_W_TABLE (EVEX_W_0F5E_P_1) }, |
97e6786a | 113 | { "vdivpX", { XM, Vex, EXx, EXxEVexR }, PREFIX_OPCODE }, |
ad692897 L |
114 | { VEX_W_TABLE (EVEX_W_0F5E_P_3) }, |
115 | }, | |
116 | /* PREFIX_EVEX_0F5F */ | |
117 | { | |
97e6786a | 118 | { "vmaxpX", { XM, Vex, EXx, EXxEVexS }, PREFIX_OPCODE }, |
ad692897 | 119 | { VEX_W_TABLE (EVEX_W_0F5F_P_1) }, |
97e6786a | 120 | { "vmaxpX", { XM, Vex, EXx, EXxEVexS }, PREFIX_OPCODE }, |
ad692897 L |
121 | { VEX_W_TABLE (EVEX_W_0F5F_P_3) }, |
122 | }, | |
ad692897 L |
123 | /* PREFIX_EVEX_0F64 */ |
124 | { | |
125 | { Bad_Opcode }, | |
126 | { Bad_Opcode }, | |
127 | { "vpcmpgtb", { XMask, Vex, EXx }, 0 }, | |
128 | }, | |
129 | /* PREFIX_EVEX_0F65 */ | |
130 | { | |
131 | { Bad_Opcode }, | |
132 | { Bad_Opcode }, | |
133 | { "vpcmpgtw", { XMask, Vex, EXx }, 0 }, | |
134 | }, | |
135 | /* PREFIX_EVEX_0F66 */ | |
136 | { | |
137 | { Bad_Opcode }, | |
138 | { Bad_Opcode }, | |
139 | { VEX_W_TABLE (EVEX_W_0F66_P_2) }, | |
140 | }, | |
ad692897 L |
141 | /* PREFIX_EVEX_0F6E */ |
142 | { | |
143 | { Bad_Opcode }, | |
144 | { Bad_Opcode }, | |
145 | { EVEX_LEN_TABLE (EVEX_LEN_0F6E_P_2) }, | |
146 | }, | |
147 | /* PREFIX_EVEX_0F6F */ | |
148 | { | |
149 | { Bad_Opcode }, | |
150 | { VEX_W_TABLE (EVEX_W_0F6F_P_1) }, | |
151 | { VEX_W_TABLE (EVEX_W_0F6F_P_2) }, | |
152 | { VEX_W_TABLE (EVEX_W_0F6F_P_3) }, | |
153 | }, | |
154 | /* PREFIX_EVEX_0F70 */ | |
155 | { | |
156 | { Bad_Opcode }, | |
157 | { "vpshufhw", { XM, EXx, Ib }, 0 }, | |
158 | { VEX_W_TABLE (EVEX_W_0F70_P_2) }, | |
159 | { "vpshuflw", { XM, EXx, Ib }, 0 }, | |
160 | }, | |
161 | /* PREFIX_EVEX_0F71_REG_2 */ | |
162 | { | |
163 | { Bad_Opcode }, | |
164 | { Bad_Opcode }, | |
165 | { "vpsrlw", { Vex, EXx, Ib }, 0 }, | |
166 | }, | |
167 | /* PREFIX_EVEX_0F71_REG_4 */ | |
168 | { | |
169 | { Bad_Opcode }, | |
170 | { Bad_Opcode }, | |
171 | { "vpsraw", { Vex, EXx, Ib }, 0 }, | |
172 | }, | |
173 | /* PREFIX_EVEX_0F71_REG_6 */ | |
174 | { | |
175 | { Bad_Opcode }, | |
176 | { Bad_Opcode }, | |
177 | { "vpsllw", { Vex, EXx, Ib }, 0 }, | |
178 | }, | |
179 | /* PREFIX_EVEX_0F72_REG_0 */ | |
180 | { | |
181 | { Bad_Opcode }, | |
182 | { Bad_Opcode }, | |
183 | { "vpror%LW", { Vex, EXx, Ib }, 0 }, | |
184 | }, | |
185 | /* PREFIX_EVEX_0F72_REG_1 */ | |
186 | { | |
187 | { Bad_Opcode }, | |
188 | { Bad_Opcode }, | |
189 | { "vprol%LW", { Vex, EXx, Ib }, 0 }, | |
190 | }, | |
191 | /* PREFIX_EVEX_0F72_REG_2 */ | |
192 | { | |
193 | { Bad_Opcode }, | |
194 | { Bad_Opcode }, | |
195 | { VEX_W_TABLE (EVEX_W_0F72_R_2_P_2) }, | |
196 | }, | |
197 | /* PREFIX_EVEX_0F72_REG_4 */ | |
198 | { | |
199 | { Bad_Opcode }, | |
200 | { Bad_Opcode }, | |
201 | { "vpsra%LW", { Vex, EXx, Ib }, 0 }, | |
202 | }, | |
203 | /* PREFIX_EVEX_0F72_REG_6 */ | |
204 | { | |
205 | { Bad_Opcode }, | |
206 | { Bad_Opcode }, | |
207 | { VEX_W_TABLE (EVEX_W_0F72_R_6_P_2) }, | |
208 | }, | |
209 | /* PREFIX_EVEX_0F73_REG_2 */ | |
210 | { | |
211 | { Bad_Opcode }, | |
212 | { Bad_Opcode }, | |
213 | { VEX_W_TABLE (EVEX_W_0F73_R_2_P_2) }, | |
214 | }, | |
215 | /* PREFIX_EVEX_0F73_REG_3 */ | |
216 | { | |
217 | { Bad_Opcode }, | |
218 | { Bad_Opcode }, | |
219 | { "vpsrldq", { Vex, EXx, Ib }, 0 }, | |
220 | }, | |
221 | /* PREFIX_EVEX_0F73_REG_6 */ | |
222 | { | |
223 | { Bad_Opcode }, | |
224 | { Bad_Opcode }, | |
225 | { VEX_W_TABLE (EVEX_W_0F73_R_6_P_2) }, | |
226 | }, | |
227 | /* PREFIX_EVEX_0F73_REG_7 */ | |
228 | { | |
229 | { Bad_Opcode }, | |
230 | { Bad_Opcode }, | |
231 | { "vpslldq", { Vex, EXx, Ib }, 0 }, | |
232 | }, | |
233 | /* PREFIX_EVEX_0F74 */ | |
234 | { | |
235 | { Bad_Opcode }, | |
236 | { Bad_Opcode }, | |
237 | { "vpcmpeqb", { XMask, Vex, EXx }, 0 }, | |
238 | }, | |
239 | /* PREFIX_EVEX_0F75 */ | |
240 | { | |
241 | { Bad_Opcode }, | |
242 | { Bad_Opcode }, | |
243 | { "vpcmpeqw", { XMask, Vex, EXx }, 0 }, | |
244 | }, | |
245 | /* PREFIX_EVEX_0F76 */ | |
246 | { | |
247 | { Bad_Opcode }, | |
248 | { Bad_Opcode }, | |
249 | { VEX_W_TABLE (EVEX_W_0F76_P_2) }, | |
250 | }, | |
251 | /* PREFIX_EVEX_0F78 */ | |
252 | { | |
253 | { VEX_W_TABLE (EVEX_W_0F78_P_0) }, | |
254 | { "vcvttss2usi", { Gdq, EXxmm_md, EXxEVexS }, 0 }, | |
255 | { VEX_W_TABLE (EVEX_W_0F78_P_2) }, | |
256 | { "vcvttsd2usi", { Gdq, EXxmm_mq, EXxEVexS }, 0 }, | |
257 | }, | |
258 | /* PREFIX_EVEX_0F79 */ | |
259 | { | |
260 | { VEX_W_TABLE (EVEX_W_0F79_P_0) }, | |
261 | { "vcvtss2usi", { Gdq, EXxmm_md, EXxEVexR }, 0 }, | |
262 | { VEX_W_TABLE (EVEX_W_0F79_P_2) }, | |
263 | { "vcvtsd2usi", { Gdq, EXxmm_mq, EXxEVexR }, 0 }, | |
264 | }, | |
265 | /* PREFIX_EVEX_0F7A */ | |
266 | { | |
267 | { Bad_Opcode }, | |
268 | { VEX_W_TABLE (EVEX_W_0F7A_P_1) }, | |
269 | { VEX_W_TABLE (EVEX_W_0F7A_P_2) }, | |
270 | { VEX_W_TABLE (EVEX_W_0F7A_P_3) }, | |
271 | }, | |
272 | /* PREFIX_EVEX_0F7B */ | |
273 | { | |
274 | { Bad_Opcode }, | |
54fbadc0 | 275 | { "vcvtusi2ss%LQ", { XMScalar, VexScalar, EXxEVexR, Edq }, 0 }, |
ad692897 L |
276 | { VEX_W_TABLE (EVEX_W_0F7B_P_2) }, |
277 | { VEX_W_TABLE (EVEX_W_0F7B_P_3) }, | |
278 | }, | |
279 | /* PREFIX_EVEX_0F7E */ | |
280 | { | |
281 | { Bad_Opcode }, | |
282 | { EVEX_LEN_TABLE (EVEX_LEN_0F7E_P_1) }, | |
283 | { EVEX_LEN_TABLE (EVEX_LEN_0F7E_P_2) }, | |
284 | }, | |
285 | /* PREFIX_EVEX_0F7F */ | |
286 | { | |
287 | { Bad_Opcode }, | |
288 | { VEX_W_TABLE (EVEX_W_0F7F_P_1) }, | |
289 | { VEX_W_TABLE (EVEX_W_0F7F_P_2) }, | |
290 | { VEX_W_TABLE (EVEX_W_0F7F_P_3) }, | |
291 | }, | |
292 | /* PREFIX_EVEX_0FC2 */ | |
293 | { | |
97e6786a | 294 | { "vcmppX", { XMask, Vex, EXx, EXxEVexS, VCMP }, PREFIX_OPCODE }, |
ad692897 | 295 | { VEX_W_TABLE (EVEX_W_0FC2_P_1) }, |
97e6786a | 296 | { "vcmppX", { XMask, Vex, EXx, EXxEVexS, VCMP }, PREFIX_OPCODE }, |
ad692897 L |
297 | { VEX_W_TABLE (EVEX_W_0FC2_P_3) }, |
298 | }, | |
299 | /* PREFIX_EVEX_0FC4 */ | |
300 | { | |
301 | { Bad_Opcode }, | |
302 | { Bad_Opcode }, | |
e74d9fa9 | 303 | { EVEX_LEN_TABLE (EVEX_LEN_0FC4_P_2) }, |
ad692897 L |
304 | }, |
305 | /* PREFIX_EVEX_0FC5 */ | |
306 | { | |
307 | { Bad_Opcode }, | |
308 | { Bad_Opcode }, | |
e74d9fa9 | 309 | { EVEX_LEN_TABLE (EVEX_LEN_0FC5_P_2) }, |
ad692897 | 310 | }, |
ad692897 L |
311 | /* PREFIX_EVEX_0FD6 */ |
312 | { | |
313 | { Bad_Opcode }, | |
314 | { Bad_Opcode }, | |
315 | { EVEX_LEN_TABLE (EVEX_LEN_0FD6_P_2) }, | |
316 | }, | |
ad692897 L |
317 | /* PREFIX_EVEX_0FDB */ |
318 | { | |
319 | { Bad_Opcode }, | |
320 | { Bad_Opcode }, | |
321 | { "vpand%LW", { XM, Vex, EXx }, 0 }, | |
322 | }, | |
ad692897 L |
323 | /* PREFIX_EVEX_0FDF */ |
324 | { | |
325 | { Bad_Opcode }, | |
326 | { Bad_Opcode }, | |
327 | { "vpandn%LW", { XM, Vex, EXx }, 0 }, | |
328 | }, | |
ad692897 L |
329 | /* PREFIX_EVEX_0FE2 */ |
330 | { | |
331 | { Bad_Opcode }, | |
332 | { Bad_Opcode }, | |
333 | { "vpsra%LW", { XM, Vex, EXxmm }, 0 }, | |
334 | }, | |
ad692897 L |
335 | /* PREFIX_EVEX_0FE6 */ |
336 | { | |
337 | { Bad_Opcode }, | |
338 | { VEX_W_TABLE (EVEX_W_0FE6_P_1) }, | |
339 | { VEX_W_TABLE (EVEX_W_0FE6_P_2) }, | |
340 | { VEX_W_TABLE (EVEX_W_0FE6_P_3) }, | |
341 | }, | |
342 | /* PREFIX_EVEX_0FE7 */ | |
343 | { | |
344 | { Bad_Opcode }, | |
345 | { Bad_Opcode }, | |
346 | { VEX_W_TABLE (EVEX_W_0FE7_P_2) }, | |
347 | }, | |
ad692897 L |
348 | /* PREFIX_EVEX_0FEB */ |
349 | { | |
350 | { Bad_Opcode }, | |
351 | { Bad_Opcode }, | |
352 | { "vpor%LW", { XM, Vex, EXx }, 0 }, | |
353 | }, | |
ad692897 L |
354 | /* PREFIX_EVEX_0FEF */ |
355 | { | |
356 | { Bad_Opcode }, | |
357 | { Bad_Opcode }, | |
358 | { "vpxor%LW", { XM, Vex, EXx }, 0 }, | |
359 | }, | |
ad692897 L |
360 | /* PREFIX_EVEX_0F380D */ |
361 | { | |
362 | { Bad_Opcode }, | |
363 | { Bad_Opcode }, | |
364 | { VEX_W_TABLE (EVEX_W_0F380D_P_2) }, | |
365 | }, | |
366 | /* PREFIX_EVEX_0F3810 */ | |
367 | { | |
368 | { Bad_Opcode }, | |
369 | { VEX_W_TABLE (EVEX_W_0F3810_P_1) }, | |
370 | { VEX_W_TABLE (EVEX_W_0F3810_P_2) }, | |
371 | }, | |
372 | /* PREFIX_EVEX_0F3811 */ | |
373 | { | |
374 | { Bad_Opcode }, | |
375 | { VEX_W_TABLE (EVEX_W_0F3811_P_1) }, | |
376 | { VEX_W_TABLE (EVEX_W_0F3811_P_2) }, | |
377 | }, | |
378 | /* PREFIX_EVEX_0F3812 */ | |
379 | { | |
380 | { Bad_Opcode }, | |
381 | { VEX_W_TABLE (EVEX_W_0F3812_P_1) }, | |
382 | { VEX_W_TABLE (EVEX_W_0F3812_P_2) }, | |
383 | }, | |
384 | /* PREFIX_EVEX_0F3813 */ | |
385 | { | |
386 | { Bad_Opcode }, | |
387 | { VEX_W_TABLE (EVEX_W_0F3813_P_1) }, | |
388 | { VEX_W_TABLE (EVEX_W_0F3813_P_2) }, | |
389 | }, | |
390 | /* PREFIX_EVEX_0F3814 */ | |
391 | { | |
392 | { Bad_Opcode }, | |
393 | { VEX_W_TABLE (EVEX_W_0F3814_P_1) }, | |
394 | { "vprorv%LW", { XM, Vex, EXx }, 0 }, | |
395 | }, | |
396 | /* PREFIX_EVEX_0F3815 */ | |
397 | { | |
398 | { Bad_Opcode }, | |
399 | { VEX_W_TABLE (EVEX_W_0F3815_P_1) }, | |
400 | { "vprolv%LW", { XM, Vex, EXx }, 0 }, | |
401 | }, | |
402 | /* PREFIX_EVEX_0F3816 */ | |
403 | { | |
404 | { Bad_Opcode }, | |
405 | { Bad_Opcode }, | |
3a57774c | 406 | { EVEX_LEN_TABLE (EVEX_LEN_0F3816_P_2) }, |
ad692897 | 407 | }, |
ad692897 L |
408 | /* PREFIX_EVEX_0F3819 */ |
409 | { | |
410 | { Bad_Opcode }, | |
411 | { Bad_Opcode }, | |
412 | { VEX_W_TABLE (EVEX_W_0F3819_P_2) }, | |
413 | }, | |
414 | /* PREFIX_EVEX_0F381A */ | |
415 | { | |
416 | { Bad_Opcode }, | |
417 | { Bad_Opcode }, | |
418 | { VEX_W_TABLE (EVEX_W_0F381A_P_2) }, | |
419 | }, | |
420 | /* PREFIX_EVEX_0F381B */ | |
421 | { | |
422 | { Bad_Opcode }, | |
423 | { Bad_Opcode }, | |
424 | { VEX_W_TABLE (EVEX_W_0F381B_P_2) }, | |
425 | }, | |
ad692897 L |
426 | /* PREFIX_EVEX_0F381E */ |
427 | { | |
428 | { Bad_Opcode }, | |
429 | { Bad_Opcode }, | |
430 | { VEX_W_TABLE (EVEX_W_0F381E_P_2) }, | |
431 | }, | |
432 | /* PREFIX_EVEX_0F381F */ | |
433 | { | |
434 | { Bad_Opcode }, | |
435 | { Bad_Opcode }, | |
436 | { VEX_W_TABLE (EVEX_W_0F381F_P_2) }, | |
437 | }, | |
438 | /* PREFIX_EVEX_0F3820 */ | |
439 | { | |
440 | { Bad_Opcode }, | |
441 | { VEX_W_TABLE (EVEX_W_0F3820_P_1) }, | |
442 | { "vpmovsxbw", { XM, EXxmmq }, 0 }, | |
443 | }, | |
444 | /* PREFIX_EVEX_0F3821 */ | |
445 | { | |
446 | { Bad_Opcode }, | |
447 | { VEX_W_TABLE (EVEX_W_0F3821_P_1) }, | |
448 | { "vpmovsxbd", { XM, EXxmmqd }, 0 }, | |
449 | }, | |
450 | /* PREFIX_EVEX_0F3822 */ | |
451 | { | |
452 | { Bad_Opcode }, | |
453 | { VEX_W_TABLE (EVEX_W_0F3822_P_1) }, | |
454 | { "vpmovsxbq", { XM, EXxmmdw }, 0 }, | |
455 | }, | |
456 | /* PREFIX_EVEX_0F3823 */ | |
457 | { | |
458 | { Bad_Opcode }, | |
459 | { VEX_W_TABLE (EVEX_W_0F3823_P_1) }, | |
460 | { "vpmovsxwd", { XM, EXxmmq }, 0 }, | |
461 | }, | |
462 | /* PREFIX_EVEX_0F3824 */ | |
463 | { | |
464 | { Bad_Opcode }, | |
465 | { VEX_W_TABLE (EVEX_W_0F3824_P_1) }, | |
466 | { "vpmovsxwq", { XM, EXxmmqd }, 0 }, | |
467 | }, | |
468 | /* PREFIX_EVEX_0F3825 */ | |
469 | { | |
470 | { Bad_Opcode }, | |
471 | { VEX_W_TABLE (EVEX_W_0F3825_P_1) }, | |
472 | { VEX_W_TABLE (EVEX_W_0F3825_P_2) }, | |
473 | }, | |
474 | /* PREFIX_EVEX_0F3826 */ | |
475 | { | |
476 | { Bad_Opcode }, | |
477 | { VEX_W_TABLE (EVEX_W_0F3826_P_1) }, | |
478 | { VEX_W_TABLE (EVEX_W_0F3826_P_2) }, | |
479 | }, | |
480 | /* PREFIX_EVEX_0F3827 */ | |
481 | { | |
482 | { Bad_Opcode }, | |
483 | { "vptestnm%LW", { XMask, Vex, EXx }, 0 }, | |
484 | { "vptestm%LW", { XMask, Vex, EXx }, 0 }, | |
485 | }, | |
486 | /* PREFIX_EVEX_0F3828 */ | |
487 | { | |
488 | { Bad_Opcode }, | |
489 | { VEX_W_TABLE (EVEX_W_0F3828_P_1) }, | |
490 | { VEX_W_TABLE (EVEX_W_0F3828_P_2) }, | |
491 | }, | |
492 | /* PREFIX_EVEX_0F3829 */ | |
493 | { | |
494 | { Bad_Opcode }, | |
495 | { VEX_W_TABLE (EVEX_W_0F3829_P_1) }, | |
496 | { VEX_W_TABLE (EVEX_W_0F3829_P_2) }, | |
497 | }, | |
498 | /* PREFIX_EVEX_0F382A */ | |
499 | { | |
500 | { Bad_Opcode }, | |
501 | { VEX_W_TABLE (EVEX_W_0F382A_P_1) }, | |
502 | { VEX_W_TABLE (EVEX_W_0F382A_P_2) }, | |
503 | }, | |
ad692897 L |
504 | /* PREFIX_EVEX_0F382C */ |
505 | { | |
506 | { Bad_Opcode }, | |
507 | { Bad_Opcode }, | |
508 | { "vscalefp%XW", { XM, Vex, EXx, EXxEVexR }, 0 }, | |
509 | }, | |
510 | /* PREFIX_EVEX_0F382D */ | |
511 | { | |
512 | { Bad_Opcode }, | |
513 | { Bad_Opcode }, | |
4102be5c | 514 | { "vscalefs%XW", { XMScalar, VexScalar, EXVexWdqScalar, EXxEVexR }, 0 }, |
ad692897 L |
515 | }, |
516 | /* PREFIX_EVEX_0F3830 */ | |
517 | { | |
518 | { Bad_Opcode }, | |
519 | { VEX_W_TABLE (EVEX_W_0F3830_P_1) }, | |
520 | { "vpmovzxbw", { XM, EXxmmq }, 0 }, | |
521 | }, | |
522 | /* PREFIX_EVEX_0F3831 */ | |
523 | { | |
524 | { Bad_Opcode }, | |
525 | { VEX_W_TABLE (EVEX_W_0F3831_P_1) }, | |
526 | { "vpmovzxbd", { XM, EXxmmqd }, 0 }, | |
527 | }, | |
528 | /* PREFIX_EVEX_0F3832 */ | |
529 | { | |
530 | { Bad_Opcode }, | |
531 | { VEX_W_TABLE (EVEX_W_0F3832_P_1) }, | |
532 | { "vpmovzxbq", { XM, EXxmmdw }, 0 }, | |
533 | }, | |
534 | /* PREFIX_EVEX_0F3833 */ | |
535 | { | |
536 | { Bad_Opcode }, | |
537 | { VEX_W_TABLE (EVEX_W_0F3833_P_1) }, | |
538 | { "vpmovzxwd", { XM, EXxmmq }, 0 }, | |
539 | }, | |
540 | /* PREFIX_EVEX_0F3834 */ | |
541 | { | |
542 | { Bad_Opcode }, | |
543 | { VEX_W_TABLE (EVEX_W_0F3834_P_1) }, | |
544 | { "vpmovzxwq", { XM, EXxmmqd }, 0 }, | |
545 | }, | |
546 | /* PREFIX_EVEX_0F3835 */ | |
547 | { | |
548 | { Bad_Opcode }, | |
549 | { VEX_W_TABLE (EVEX_W_0F3835_P_1) }, | |
550 | { VEX_W_TABLE (EVEX_W_0F3835_P_2) }, | |
551 | }, | |
552 | /* PREFIX_EVEX_0F3836 */ | |
553 | { | |
554 | { Bad_Opcode }, | |
555 | { Bad_Opcode }, | |
3a57774c | 556 | { EVEX_LEN_TABLE (EVEX_LEN_0F3836_P_2) }, |
ad692897 L |
557 | }, |
558 | /* PREFIX_EVEX_0F3837 */ | |
559 | { | |
560 | { Bad_Opcode }, | |
561 | { Bad_Opcode }, | |
562 | { VEX_W_TABLE (EVEX_W_0F3837_P_2) }, | |
563 | }, | |
564 | /* PREFIX_EVEX_0F3838 */ | |
565 | { | |
566 | { Bad_Opcode }, | |
21a3faeb | 567 | { "vpmovm2%LW", { XM, MaskR }, 0 }, |
ad692897 L |
568 | { "vpminsb", { XM, Vex, EXx }, 0 }, |
569 | }, | |
570 | /* PREFIX_EVEX_0F3839 */ | |
571 | { | |
572 | { Bad_Opcode }, | |
21a3faeb | 573 | { "vpmov%LW2m", { XMask, EXx }, 0 }, |
ad692897 L |
574 | { "vpmins%LW", { XM, Vex, EXx }, 0 }, |
575 | }, | |
576 | /* PREFIX_EVEX_0F383A */ | |
577 | { | |
578 | { Bad_Opcode }, | |
579 | { VEX_W_TABLE (EVEX_W_0F383A_P_1) }, | |
580 | { "vpminuw", { XM, Vex, EXx }, 0 }, | |
581 | }, | |
582 | /* PREFIX_EVEX_0F383B */ | |
583 | { | |
584 | { Bad_Opcode }, | |
585 | { Bad_Opcode }, | |
586 | { "vpminu%LW", { XM, Vex, EXx }, 0 }, | |
587 | }, | |
ad692897 L |
588 | /* PREFIX_EVEX_0F383D */ |
589 | { | |
590 | { Bad_Opcode }, | |
591 | { Bad_Opcode }, | |
592 | { "vpmaxs%LW", { XM, Vex, EXx }, 0 }, | |
593 | }, | |
ad692897 L |
594 | /* PREFIX_EVEX_0F383F */ |
595 | { | |
596 | { Bad_Opcode }, | |
597 | { Bad_Opcode }, | |
598 | { "vpmaxu%LW", { XM, Vex, EXx }, 0 }, | |
599 | }, | |
600 | /* PREFIX_EVEX_0F3840 */ | |
601 | { | |
602 | { Bad_Opcode }, | |
603 | { Bad_Opcode }, | |
21a3faeb | 604 | { "vpmull%LW", { XM, Vex, EXx }, 0 }, |
ad692897 L |
605 | }, |
606 | /* PREFIX_EVEX_0F3842 */ | |
607 | { | |
608 | { Bad_Opcode }, | |
609 | { Bad_Opcode }, | |
610 | { "vgetexpp%XW", { XM, EXx, EXxEVexS }, 0 }, | |
611 | }, | |
612 | /* PREFIX_EVEX_0F3843 */ | |
613 | { | |
614 | { Bad_Opcode }, | |
615 | { Bad_Opcode }, | |
4102be5c | 616 | { "vgetexps%XW", { XMScalar, VexScalar, EXVexWdqScalar, EXxEVexS }, 0 }, |
ad692897 L |
617 | }, |
618 | /* PREFIX_EVEX_0F3844 */ | |
619 | { | |
620 | { Bad_Opcode }, | |
621 | { Bad_Opcode }, | |
622 | { "vplzcnt%LW", { XM, EXx }, 0 }, | |
623 | }, | |
624 | /* PREFIX_EVEX_0F3845 */ | |
625 | { | |
626 | { Bad_Opcode }, | |
627 | { Bad_Opcode }, | |
628 | { "vpsrlv%LW", { XM, Vex, EXx }, 0 }, | |
629 | }, | |
630 | /* PREFIX_EVEX_0F3846 */ | |
631 | { | |
632 | { Bad_Opcode }, | |
633 | { Bad_Opcode }, | |
634 | { "vpsrav%LW", { XM, Vex, EXx }, 0 }, | |
635 | }, | |
636 | /* PREFIX_EVEX_0F3847 */ | |
637 | { | |
638 | { Bad_Opcode }, | |
639 | { Bad_Opcode }, | |
640 | { "vpsllv%LW", { XM, Vex, EXx }, 0 }, | |
641 | }, | |
642 | /* PREFIX_EVEX_0F384C */ | |
643 | { | |
644 | { Bad_Opcode }, | |
645 | { Bad_Opcode }, | |
646 | { "vrcp14p%XW", { XM, EXx }, 0 }, | |
647 | }, | |
648 | /* PREFIX_EVEX_0F384D */ | |
649 | { | |
650 | { Bad_Opcode }, | |
651 | { Bad_Opcode }, | |
4102be5c | 652 | { "vrcp14s%XW", { XMScalar, VexScalar, EXVexWdqScalar }, 0 }, |
ad692897 L |
653 | }, |
654 | /* PREFIX_EVEX_0F384E */ | |
655 | { | |
656 | { Bad_Opcode }, | |
657 | { Bad_Opcode }, | |
658 | { "vrsqrt14p%XW", { XM, EXx }, 0 }, | |
659 | }, | |
660 | /* PREFIX_EVEX_0F384F */ | |
661 | { | |
662 | { Bad_Opcode }, | |
663 | { Bad_Opcode }, | |
4102be5c | 664 | { "vrsqrt14s%XW", { XMScalar, VexScalar, EXVexWdqScalar }, 0 }, |
ad692897 L |
665 | }, |
666 | /* PREFIX_EVEX_0F3850 */ | |
667 | { | |
668 | { Bad_Opcode }, | |
669 | { Bad_Opcode }, | |
670 | { "vpdpbusd", { XM, Vex, EXx }, 0 }, | |
671 | }, | |
672 | /* PREFIX_EVEX_0F3851 */ | |
673 | { | |
674 | { Bad_Opcode }, | |
675 | { Bad_Opcode }, | |
676 | { "vpdpbusds", { XM, Vex, EXx }, 0 }, | |
677 | }, | |
678 | /* PREFIX_EVEX_0F3852 */ | |
679 | { | |
680 | { Bad_Opcode }, | |
681 | { VEX_W_TABLE (EVEX_W_0F3852_P_1) }, | |
682 | { "vpdpwssd", { XM, Vex, EXx }, 0 }, | |
683 | { "vp4dpwssd", { XM, Vex, EXxmm }, 0 }, | |
684 | }, | |
685 | /* PREFIX_EVEX_0F3853 */ | |
686 | { | |
687 | { Bad_Opcode }, | |
688 | { Bad_Opcode }, | |
689 | { "vpdpwssds", { XM, Vex, EXx }, 0 }, | |
690 | { "vp4dpwssds", { XM, Vex, EXxmm }, 0 }, | |
691 | }, | |
692 | /* PREFIX_EVEX_0F3854 */ | |
693 | { | |
694 | { Bad_Opcode }, | |
695 | { Bad_Opcode }, | |
696 | { VEX_W_TABLE (EVEX_W_0F3854_P_2) }, | |
697 | }, | |
698 | /* PREFIX_EVEX_0F3855 */ | |
699 | { | |
700 | { Bad_Opcode }, | |
701 | { Bad_Opcode }, | |
21a3faeb | 702 | { "vpopcnt%LW", { XM, EXx }, 0 }, |
ad692897 | 703 | }, |
ad692897 L |
704 | /* PREFIX_EVEX_0F3859 */ |
705 | { | |
706 | { Bad_Opcode }, | |
707 | { Bad_Opcode }, | |
708 | { VEX_W_TABLE (EVEX_W_0F3859_P_2) }, | |
709 | }, | |
710 | /* PREFIX_EVEX_0F385A */ | |
711 | { | |
712 | { Bad_Opcode }, | |
713 | { Bad_Opcode }, | |
714 | { VEX_W_TABLE (EVEX_W_0F385A_P_2) }, | |
715 | }, | |
716 | /* PREFIX_EVEX_0F385B */ | |
717 | { | |
718 | { Bad_Opcode }, | |
719 | { Bad_Opcode }, | |
720 | { VEX_W_TABLE (EVEX_W_0F385B_P_2) }, | |
721 | }, | |
722 | /* PREFIX_EVEX_0F3862 */ | |
723 | { | |
724 | { Bad_Opcode }, | |
725 | { Bad_Opcode }, | |
726 | { VEX_W_TABLE (EVEX_W_0F3862_P_2) }, | |
727 | }, | |
728 | /* PREFIX_EVEX_0F3863 */ | |
729 | { | |
730 | { Bad_Opcode }, | |
731 | { Bad_Opcode }, | |
732 | { VEX_W_TABLE (EVEX_W_0F3863_P_2) }, | |
733 | }, | |
734 | /* PREFIX_EVEX_0F3864 */ | |
735 | { | |
736 | { Bad_Opcode }, | |
737 | { Bad_Opcode }, | |
738 | { "vpblendm%LW", { XM, Vex, EXx }, 0 }, | |
739 | }, | |
740 | /* PREFIX_EVEX_0F3865 */ | |
741 | { | |
742 | { Bad_Opcode }, | |
743 | { Bad_Opcode }, | |
744 | { "vblendmp%XW", { XM, Vex, EXx }, 0 }, | |
745 | }, | |
746 | /* PREFIX_EVEX_0F3866 */ | |
747 | { | |
748 | { Bad_Opcode }, | |
749 | { Bad_Opcode }, | |
750 | { VEX_W_TABLE (EVEX_W_0F3866_P_2) }, | |
751 | }, | |
752 | /* PREFIX_EVEX_0F3868 */ | |
753 | { | |
754 | { Bad_Opcode }, | |
755 | { Bad_Opcode }, | |
756 | { Bad_Opcode }, | |
21a3faeb | 757 | { "vp2intersect%LW", { XMask, Vex, EXx, EXxEVexS }, 0 }, |
ad692897 L |
758 | }, |
759 | /* PREFIX_EVEX_0F3870 */ | |
760 | { | |
761 | { Bad_Opcode }, | |
762 | { Bad_Opcode }, | |
763 | { VEX_W_TABLE (EVEX_W_0F3870_P_2) }, | |
764 | }, | |
765 | /* PREFIX_EVEX_0F3871 */ | |
766 | { | |
767 | { Bad_Opcode }, | |
768 | { Bad_Opcode }, | |
21a3faeb | 769 | { "vpshldv%LW", { XM, Vex, EXx }, 0 }, |
ad692897 L |
770 | }, |
771 | /* PREFIX_EVEX_0F3872 */ | |
772 | { | |
773 | { Bad_Opcode }, | |
774 | { VEX_W_TABLE (EVEX_W_0F3872_P_1) }, | |
775 | { VEX_W_TABLE (EVEX_W_0F3872_P_2) }, | |
776 | { VEX_W_TABLE (EVEX_W_0F3872_P_3) }, | |
777 | }, | |
778 | /* PREFIX_EVEX_0F3873 */ | |
779 | { | |
780 | { Bad_Opcode }, | |
781 | { Bad_Opcode }, | |
21a3faeb | 782 | { "vpshrdv%LW", { XM, Vex, EXx }, 0 }, |
ad692897 L |
783 | }, |
784 | /* PREFIX_EVEX_0F3875 */ | |
785 | { | |
786 | { Bad_Opcode }, | |
787 | { Bad_Opcode }, | |
788 | { VEX_W_TABLE (EVEX_W_0F3875_P_2) }, | |
789 | }, | |
790 | /* PREFIX_EVEX_0F3876 */ | |
791 | { | |
792 | { Bad_Opcode }, | |
793 | { Bad_Opcode }, | |
794 | { "vpermi2%LW", { XM, Vex, EXx }, 0 }, | |
795 | }, | |
796 | /* PREFIX_EVEX_0F3877 */ | |
797 | { | |
798 | { Bad_Opcode }, | |
799 | { Bad_Opcode }, | |
800 | { "vpermi2p%XW", { XM, Vex, EXx }, 0 }, | |
801 | }, | |
ad692897 L |
802 | /* PREFIX_EVEX_0F387A */ |
803 | { | |
804 | { Bad_Opcode }, | |
805 | { Bad_Opcode }, | |
806 | { VEX_W_TABLE (EVEX_W_0F387A_P_2) }, | |
807 | }, | |
808 | /* PREFIX_EVEX_0F387B */ | |
809 | { | |
810 | { Bad_Opcode }, | |
811 | { Bad_Opcode }, | |
812 | { VEX_W_TABLE (EVEX_W_0F387B_P_2) }, | |
813 | }, | |
814 | /* PREFIX_EVEX_0F387C */ | |
815 | { | |
816 | { Bad_Opcode }, | |
817 | { Bad_Opcode }, | |
818 | { "vpbroadcastK", { XM, Rdq }, 0 }, | |
819 | }, | |
820 | /* PREFIX_EVEX_0F387D */ | |
821 | { | |
822 | { Bad_Opcode }, | |
823 | { Bad_Opcode }, | |
824 | { VEX_W_TABLE (EVEX_W_0F387D_P_2) }, | |
825 | }, | |
826 | /* PREFIX_EVEX_0F387E */ | |
827 | { | |
828 | { Bad_Opcode }, | |
829 | { Bad_Opcode }, | |
830 | { "vpermt2%LW", { XM, Vex, EXx }, 0 }, | |
831 | }, | |
832 | /* PREFIX_EVEX_0F387F */ | |
833 | { | |
834 | { Bad_Opcode }, | |
835 | { Bad_Opcode }, | |
836 | { "vpermt2p%XW", { XM, Vex, EXx }, 0 }, | |
837 | }, | |
838 | /* PREFIX_EVEX_0F3883 */ | |
839 | { | |
840 | { Bad_Opcode }, | |
841 | { Bad_Opcode }, | |
842 | { VEX_W_TABLE (EVEX_W_0F3883_P_2) }, | |
843 | }, | |
844 | /* PREFIX_EVEX_0F3888 */ | |
845 | { | |
846 | { Bad_Opcode }, | |
847 | { Bad_Opcode }, | |
848 | { "vexpandp%XW", { XM, EXEvexXGscat }, 0 }, | |
849 | }, | |
850 | /* PREFIX_EVEX_0F3889 */ | |
851 | { | |
852 | { Bad_Opcode }, | |
853 | { Bad_Opcode }, | |
854 | { "vpexpand%LW", { XM, EXEvexXGscat }, 0 }, | |
855 | }, | |
856 | /* PREFIX_EVEX_0F388A */ | |
857 | { | |
858 | { Bad_Opcode }, | |
859 | { Bad_Opcode }, | |
860 | { "vcompressp%XW", { EXEvexXGscat, XM }, 0 }, | |
861 | }, | |
862 | /* PREFIX_EVEX_0F388B */ | |
863 | { | |
864 | { Bad_Opcode }, | |
865 | { Bad_Opcode }, | |
866 | { "vpcompress%LW", { EXEvexXGscat, XM }, 0 }, | |
867 | }, | |
868 | /* PREFIX_EVEX_0F388D */ | |
869 | { | |
870 | { Bad_Opcode }, | |
871 | { Bad_Opcode }, | |
872 | { VEX_W_TABLE (EVEX_W_0F388D_P_2) }, | |
873 | }, | |
874 | /* PREFIX_EVEX_0F388F */ | |
875 | { | |
876 | { Bad_Opcode }, | |
877 | { Bad_Opcode }, | |
878 | { "vpshufbitqmb", { XMask, Vex, EXx }, 0 }, | |
879 | }, | |
880 | /* PREFIX_EVEX_0F3890 */ | |
881 | { | |
882 | { Bad_Opcode }, | |
883 | { Bad_Opcode }, | |
884 | { "vpgatherd%LW", { XM, MVexVSIBDWpX }, 0 }, | |
885 | }, | |
886 | /* PREFIX_EVEX_0F3891 */ | |
887 | { | |
888 | { Bad_Opcode }, | |
889 | { Bad_Opcode }, | |
890 | { VEX_W_TABLE (EVEX_W_0F3891_P_2) }, | |
891 | }, | |
892 | /* PREFIX_EVEX_0F3892 */ | |
893 | { | |
894 | { Bad_Opcode }, | |
895 | { Bad_Opcode }, | |
896 | { "vgatherdp%XW", { XM, MVexVSIBDWpX}, 0 }, | |
897 | }, | |
898 | /* PREFIX_EVEX_0F3893 */ | |
899 | { | |
900 | { Bad_Opcode }, | |
901 | { Bad_Opcode }, | |
902 | { VEX_W_TABLE (EVEX_W_0F3893_P_2) }, | |
903 | }, | |
ad692897 L |
904 | /* PREFIX_EVEX_0F389A */ |
905 | { | |
906 | { Bad_Opcode }, | |
907 | { Bad_Opcode }, | |
908 | { "vfmsub132p%XW", { XM, Vex, EXx, EXxEVexR }, 0 }, | |
909 | { "v4fmaddps", { XM, Vex, Mxmm }, 0 }, | |
910 | }, | |
911 | /* PREFIX_EVEX_0F389B */ | |
912 | { | |
913 | { Bad_Opcode }, | |
914 | { Bad_Opcode }, | |
4102be5c | 915 | { "vfmsub132s%XW", { XMScalar, VexScalar, EXVexWdqScalar, EXxEVexR }, 0 }, |
ad692897 L |
916 | { "v4fmaddss", { XMScalar, VexScalar, Mxmm }, 0 }, |
917 | }, | |
ad692897 L |
918 | /* PREFIX_EVEX_0F38A0 */ |
919 | { | |
920 | { Bad_Opcode }, | |
921 | { Bad_Opcode }, | |
922 | { "vpscatterd%LW", { MVexVSIBDWpX, XM }, 0 }, | |
923 | }, | |
924 | /* PREFIX_EVEX_0F38A1 */ | |
925 | { | |
926 | { Bad_Opcode }, | |
927 | { Bad_Opcode }, | |
928 | { VEX_W_TABLE (EVEX_W_0F38A1_P_2) }, | |
929 | }, | |
930 | /* PREFIX_EVEX_0F38A2 */ | |
931 | { | |
932 | { Bad_Opcode }, | |
933 | { Bad_Opcode }, | |
934 | { "vscatterdp%XW", { MVexVSIBDWpX, XM }, 0 }, | |
935 | }, | |
936 | /* PREFIX_EVEX_0F38A3 */ | |
937 | { | |
938 | { Bad_Opcode }, | |
939 | { Bad_Opcode }, | |
940 | { VEX_W_TABLE (EVEX_W_0F38A3_P_2) }, | |
941 | }, | |
ad692897 L |
942 | /* PREFIX_EVEX_0F38AA */ |
943 | { | |
944 | { Bad_Opcode }, | |
945 | { Bad_Opcode }, | |
946 | { "vfmsub213p%XW", { XM, Vex, EXx, EXxEVexR }, 0 }, | |
947 | { "v4fnmaddps", { XM, Vex, Mxmm }, 0 }, | |
948 | }, | |
949 | /* PREFIX_EVEX_0F38AB */ | |
950 | { | |
951 | { Bad_Opcode }, | |
952 | { Bad_Opcode }, | |
4102be5c | 953 | { "vfmsub213s%XW", { XMScalar, VexScalar, EXVexWdqScalar, EXxEVexR }, 0 }, |
ad692897 L |
954 | { "v4fnmaddss", { XMScalar, VexScalar, Mxmm }, 0 }, |
955 | }, | |
ad692897 L |
956 | /* PREFIX_EVEX_0F38B4 */ |
957 | { | |
958 | { Bad_Opcode }, | |
959 | { Bad_Opcode }, | |
960 | { "vpmadd52luq", { XM, Vex, EXx }, 0 }, | |
961 | }, | |
962 | /* PREFIX_EVEX_0F38B5 */ | |
963 | { | |
964 | { Bad_Opcode }, | |
965 | { Bad_Opcode }, | |
966 | { "vpmadd52huq", { XM, Vex, EXx }, 0 }, | |
967 | }, | |
ad692897 L |
968 | /* PREFIX_EVEX_0F38C4 */ |
969 | { | |
970 | { Bad_Opcode }, | |
971 | { Bad_Opcode }, | |
972 | { "vpconflict%LW", { XM, EXx }, 0 }, | |
973 | }, | |
974 | /* PREFIX_EVEX_0F38C6_REG_1 */ | |
975 | { | |
976 | { Bad_Opcode }, | |
977 | { Bad_Opcode }, | |
e395f487 | 978 | { EVEX_LEN_TABLE (EVEX_LEN_0F38C6_REG_1_PREFIX_2) }, |
ad692897 L |
979 | }, |
980 | /* PREFIX_EVEX_0F38C6_REG_2 */ | |
981 | { | |
982 | { Bad_Opcode }, | |
983 | { Bad_Opcode }, | |
e395f487 | 984 | { EVEX_LEN_TABLE (EVEX_LEN_0F38C6_REG_2_PREFIX_2) }, |
ad692897 L |
985 | }, |
986 | /* PREFIX_EVEX_0F38C6_REG_5 */ | |
987 | { | |
988 | { Bad_Opcode }, | |
989 | { Bad_Opcode }, | |
e395f487 | 990 | { EVEX_LEN_TABLE (EVEX_LEN_0F38C6_REG_5_PREFIX_2) }, |
ad692897 L |
991 | }, |
992 | /* PREFIX_EVEX_0F38C6_REG_6 */ | |
993 | { | |
994 | { Bad_Opcode }, | |
995 | { Bad_Opcode }, | |
e395f487 | 996 | { EVEX_LEN_TABLE (EVEX_LEN_0F38C6_REG_6_PREFIX_2) }, |
ad692897 L |
997 | }, |
998 | /* PREFIX_EVEX_0F38C7_REG_1 */ | |
999 | { | |
1000 | { Bad_Opcode }, | |
1001 | { Bad_Opcode }, | |
1002 | { VEX_W_TABLE (EVEX_W_0F38C7_R_1_P_2) }, | |
1003 | }, | |
1004 | /* PREFIX_EVEX_0F38C7_REG_2 */ | |
1005 | { | |
1006 | { Bad_Opcode }, | |
1007 | { Bad_Opcode }, | |
1008 | { VEX_W_TABLE (EVEX_W_0F38C7_R_2_P_2) }, | |
1009 | }, | |
1010 | /* PREFIX_EVEX_0F38C7_REG_5 */ | |
1011 | { | |
1012 | { Bad_Opcode }, | |
1013 | { Bad_Opcode }, | |
1014 | { VEX_W_TABLE (EVEX_W_0F38C7_R_5_P_2) }, | |
1015 | }, | |
1016 | /* PREFIX_EVEX_0F38C7_REG_6 */ | |
1017 | { | |
1018 | { Bad_Opcode }, | |
1019 | { Bad_Opcode }, | |
1020 | { VEX_W_TABLE (EVEX_W_0F38C7_R_6_P_2) }, | |
1021 | }, | |
1022 | /* PREFIX_EVEX_0F38C8 */ | |
1023 | { | |
1024 | { Bad_Opcode }, | |
1025 | { Bad_Opcode }, | |
1026 | { "vexp2p%XW", { XM, EXx, EXxEVexS }, 0 }, | |
1027 | }, | |
1028 | /* PREFIX_EVEX_0F38CA */ | |
1029 | { | |
1030 | { Bad_Opcode }, | |
1031 | { Bad_Opcode }, | |
1032 | { "vrcp28p%XW", { XM, EXx, EXxEVexS }, 0 }, | |
1033 | }, | |
1034 | /* PREFIX_EVEX_0F38CB */ | |
1035 | { | |
1036 | { Bad_Opcode }, | |
1037 | { Bad_Opcode }, | |
4102be5c | 1038 | { "vrcp28s%XW", { XMScalar, VexScalar, EXVexWdqScalar, EXxEVexS }, 0 }, |
ad692897 L |
1039 | }, |
1040 | /* PREFIX_EVEX_0F38CC */ | |
1041 | { | |
1042 | { Bad_Opcode }, | |
1043 | { Bad_Opcode }, | |
1044 | { "vrsqrt28p%XW", { XM, EXx, EXxEVexS }, 0 }, | |
1045 | }, | |
1046 | /* PREFIX_EVEX_0F38CD */ | |
1047 | { | |
1048 | { Bad_Opcode }, | |
1049 | { Bad_Opcode }, | |
4102be5c | 1050 | { "vrsqrt28s%XW", { XMScalar, VexScalar, EXVexWdqScalar, EXxEVexS }, 0 }, |
ad692897 | 1051 | }, |
ad692897 L |
1052 | /* PREFIX_EVEX_0F3A00 */ |
1053 | { | |
1054 | { Bad_Opcode }, | |
1055 | { Bad_Opcode }, | |
1056 | { VEX_W_TABLE (EVEX_W_0F3A00_P_2) }, | |
1057 | }, | |
1058 | /* PREFIX_EVEX_0F3A01 */ | |
1059 | { | |
1060 | { Bad_Opcode }, | |
1061 | { Bad_Opcode }, | |
1062 | { VEX_W_TABLE (EVEX_W_0F3A01_P_2) }, | |
1063 | }, | |
1064 | /* PREFIX_EVEX_0F3A03 */ | |
1065 | { | |
1066 | { Bad_Opcode }, | |
1067 | { Bad_Opcode }, | |
1068 | { "valign%LW", { XM, Vex, EXx, Ib }, 0 }, | |
1069 | }, | |
ad692897 L |
1070 | /* PREFIX_EVEX_0F3A05 */ |
1071 | { | |
1072 | { Bad_Opcode }, | |
1073 | { Bad_Opcode }, | |
1074 | { VEX_W_TABLE (EVEX_W_0F3A05_P_2) }, | |
1075 | }, | |
1076 | /* PREFIX_EVEX_0F3A08 */ | |
1077 | { | |
1078 | { Bad_Opcode }, | |
1079 | { Bad_Opcode }, | |
1080 | { VEX_W_TABLE (EVEX_W_0F3A08_P_2) }, | |
1081 | }, | |
1082 | /* PREFIX_EVEX_0F3A09 */ | |
1083 | { | |
1084 | { Bad_Opcode }, | |
1085 | { Bad_Opcode }, | |
1086 | { VEX_W_TABLE (EVEX_W_0F3A09_P_2) }, | |
1087 | }, | |
1088 | /* PREFIX_EVEX_0F3A0A */ | |
1089 | { | |
1090 | { Bad_Opcode }, | |
1091 | { Bad_Opcode }, | |
1092 | { VEX_W_TABLE (EVEX_W_0F3A0A_P_2) }, | |
1093 | }, | |
1094 | /* PREFIX_EVEX_0F3A0B */ | |
1095 | { | |
1096 | { Bad_Opcode }, | |
1097 | { Bad_Opcode }, | |
1098 | { VEX_W_TABLE (EVEX_W_0F3A0B_P_2) }, | |
1099 | }, | |
ad692897 L |
1100 | /* PREFIX_EVEX_0F3A14 */ |
1101 | { | |
1102 | { Bad_Opcode }, | |
1103 | { Bad_Opcode }, | |
e74d9fa9 | 1104 | { EVEX_LEN_TABLE (EVEX_LEN_0F3A14_P_2) }, |
ad692897 L |
1105 | }, |
1106 | /* PREFIX_EVEX_0F3A15 */ | |
1107 | { | |
1108 | { Bad_Opcode }, | |
1109 | { Bad_Opcode }, | |
e74d9fa9 | 1110 | { EVEX_LEN_TABLE (EVEX_LEN_0F3A15_P_2) }, |
ad692897 L |
1111 | }, |
1112 | /* PREFIX_EVEX_0F3A16 */ | |
1113 | { | |
1114 | { Bad_Opcode }, | |
1115 | { Bad_Opcode }, | |
e74d9fa9 | 1116 | { EVEX_LEN_TABLE (EVEX_LEN_0F3A16_P_2) }, |
ad692897 L |
1117 | }, |
1118 | /* PREFIX_EVEX_0F3A17 */ | |
1119 | { | |
1120 | { Bad_Opcode }, | |
1121 | { Bad_Opcode }, | |
e74d9fa9 | 1122 | { EVEX_LEN_TABLE (EVEX_LEN_0F3A17_P_2) }, |
ad692897 L |
1123 | }, |
1124 | /* PREFIX_EVEX_0F3A18 */ | |
1125 | { | |
1126 | { Bad_Opcode }, | |
1127 | { Bad_Opcode }, | |
1128 | { VEX_W_TABLE (EVEX_W_0F3A18_P_2) }, | |
1129 | }, | |
1130 | /* PREFIX_EVEX_0F3A19 */ | |
1131 | { | |
1132 | { Bad_Opcode }, | |
1133 | { Bad_Opcode }, | |
1134 | { VEX_W_TABLE (EVEX_W_0F3A19_P_2) }, | |
1135 | }, | |
1136 | /* PREFIX_EVEX_0F3A1A */ | |
1137 | { | |
1138 | { Bad_Opcode }, | |
1139 | { Bad_Opcode }, | |
1140 | { VEX_W_TABLE (EVEX_W_0F3A1A_P_2) }, | |
1141 | }, | |
1142 | /* PREFIX_EVEX_0F3A1B */ | |
1143 | { | |
1144 | { Bad_Opcode }, | |
1145 | { Bad_Opcode }, | |
1146 | { VEX_W_TABLE (EVEX_W_0F3A1B_P_2) }, | |
1147 | }, | |
ad692897 L |
1148 | /* PREFIX_EVEX_0F3A1E */ |
1149 | { | |
1150 | { Bad_Opcode }, | |
1151 | { Bad_Opcode }, | |
1152 | { "vpcmpu%LW", { XMask, Vex, EXx, VPCMP }, 0 }, | |
1153 | }, | |
1154 | /* PREFIX_EVEX_0F3A1F */ | |
1155 | { | |
1156 | { Bad_Opcode }, | |
1157 | { Bad_Opcode }, | |
1158 | { "vpcmp%LW", { XMask, Vex, EXx, VPCMP }, 0 }, | |
1159 | }, | |
1160 | /* PREFIX_EVEX_0F3A20 */ | |
1161 | { | |
1162 | { Bad_Opcode }, | |
1163 | { Bad_Opcode }, | |
e74d9fa9 | 1164 | { EVEX_LEN_TABLE (EVEX_LEN_0F3A20_P_2) }, |
ad692897 L |
1165 | }, |
1166 | /* PREFIX_EVEX_0F3A21 */ | |
1167 | { | |
1168 | { Bad_Opcode }, | |
1169 | { Bad_Opcode }, | |
1170 | { VEX_W_TABLE (EVEX_W_0F3A21_P_2) }, | |
1171 | }, | |
1172 | /* PREFIX_EVEX_0F3A22 */ | |
1173 | { | |
1174 | { Bad_Opcode }, | |
1175 | { Bad_Opcode }, | |
e74d9fa9 | 1176 | { EVEX_LEN_TABLE (EVEX_LEN_0F3A22_P_2) }, |
ad692897 L |
1177 | }, |
1178 | /* PREFIX_EVEX_0F3A23 */ | |
1179 | { | |
1180 | { Bad_Opcode }, | |
1181 | { Bad_Opcode }, | |
1182 | { VEX_W_TABLE (EVEX_W_0F3A23_P_2) }, | |
1183 | }, | |
1184 | /* PREFIX_EVEX_0F3A25 */ | |
1185 | { | |
1186 | { Bad_Opcode }, | |
1187 | { Bad_Opcode }, | |
1188 | { "vpternlog%LW", { XM, Vex, EXx, Ib }, 0 }, | |
1189 | }, | |
1190 | /* PREFIX_EVEX_0F3A26 */ | |
1191 | { | |
1192 | { Bad_Opcode }, | |
1193 | { Bad_Opcode }, | |
1194 | { "vgetmantp%XW", { XM, EXx, EXxEVexS, Ib }, 0 }, | |
1195 | }, | |
1196 | /* PREFIX_EVEX_0F3A27 */ | |
1197 | { | |
1198 | { Bad_Opcode }, | |
1199 | { Bad_Opcode }, | |
4102be5c | 1200 | { "vgetmants%XW", { XMScalar, VexScalar, EXVexWdqScalar, EXxEVexS, Ib }, 0 }, |
ad692897 L |
1201 | }, |
1202 | /* PREFIX_EVEX_0F3A38 */ | |
1203 | { | |
1204 | { Bad_Opcode }, | |
1205 | { Bad_Opcode }, | |
1206 | { VEX_W_TABLE (EVEX_W_0F3A38_P_2) }, | |
1207 | }, | |
1208 | /* PREFIX_EVEX_0F3A39 */ | |
1209 | { | |
1210 | { Bad_Opcode }, | |
1211 | { Bad_Opcode }, | |
1212 | { VEX_W_TABLE (EVEX_W_0F3A39_P_2) }, | |
1213 | }, | |
1214 | /* PREFIX_EVEX_0F3A3A */ | |
1215 | { | |
1216 | { Bad_Opcode }, | |
1217 | { Bad_Opcode }, | |
1218 | { VEX_W_TABLE (EVEX_W_0F3A3A_P_2) }, | |
1219 | }, | |
1220 | /* PREFIX_EVEX_0F3A3B */ | |
1221 | { | |
1222 | { Bad_Opcode }, | |
1223 | { Bad_Opcode }, | |
1224 | { VEX_W_TABLE (EVEX_W_0F3A3B_P_2) }, | |
1225 | }, | |
1226 | /* PREFIX_EVEX_0F3A3E */ | |
1227 | { | |
1228 | { Bad_Opcode }, | |
1229 | { Bad_Opcode }, | |
1230 | { VEX_W_TABLE (EVEX_W_0F3A3E_P_2) }, | |
1231 | }, | |
1232 | /* PREFIX_EVEX_0F3A3F */ | |
1233 | { | |
1234 | { Bad_Opcode }, | |
1235 | { Bad_Opcode }, | |
1236 | { VEX_W_TABLE (EVEX_W_0F3A3F_P_2) }, | |
1237 | }, | |
1238 | /* PREFIX_EVEX_0F3A42 */ | |
1239 | { | |
1240 | { Bad_Opcode }, | |
1241 | { Bad_Opcode }, | |
1242 | { VEX_W_TABLE (EVEX_W_0F3A42_P_2) }, | |
1243 | }, | |
1244 | /* PREFIX_EVEX_0F3A43 */ | |
1245 | { | |
1246 | { Bad_Opcode }, | |
1247 | { Bad_Opcode }, | |
1248 | { VEX_W_TABLE (EVEX_W_0F3A43_P_2) }, | |
1249 | }, | |
ad692897 L |
1250 | /* PREFIX_EVEX_0F3A50 */ |
1251 | { | |
1252 | { Bad_Opcode }, | |
1253 | { Bad_Opcode }, | |
21a3faeb | 1254 | { "vrangep%XW", { XM, Vex, EXx, EXxEVexS, Ib }, 0 }, |
ad692897 L |
1255 | }, |
1256 | /* PREFIX_EVEX_0F3A51 */ | |
1257 | { | |
1258 | { Bad_Opcode }, | |
1259 | { Bad_Opcode }, | |
21a3faeb | 1260 | { "vranges%XW", { XMScalar, VexScalar, EXVexWdqScalar, EXxEVexS, Ib }, 0 }, |
ad692897 L |
1261 | }, |
1262 | /* PREFIX_EVEX_0F3A54 */ | |
1263 | { | |
1264 | { Bad_Opcode }, | |
1265 | { Bad_Opcode }, | |
1266 | { "vfixupimmp%XW", { XM, Vex, EXx, EXxEVexS, Ib }, 0 }, | |
1267 | }, | |
1268 | /* PREFIX_EVEX_0F3A55 */ | |
1269 | { | |
1270 | { Bad_Opcode }, | |
1271 | { Bad_Opcode }, | |
4102be5c | 1272 | { "vfixupimms%XW", { XMScalar, VexScalar, EXVexWdqScalar, EXxEVexS, Ib }, 0 }, |
ad692897 L |
1273 | }, |
1274 | /* PREFIX_EVEX_0F3A56 */ | |
1275 | { | |
1276 | { Bad_Opcode }, | |
1277 | { Bad_Opcode }, | |
21a3faeb | 1278 | { "vreducep%XW", { XM, EXx, EXxEVexS, Ib }, 0 }, |
ad692897 L |
1279 | }, |
1280 | /* PREFIX_EVEX_0F3A57 */ | |
1281 | { | |
1282 | { Bad_Opcode }, | |
1283 | { Bad_Opcode }, | |
21a3faeb | 1284 | { "vreduces%XW", { XMScalar, VexScalar, EXVexWdqScalar, EXxEVexS, Ib }, 0 }, |
ad692897 L |
1285 | }, |
1286 | /* PREFIX_EVEX_0F3A66 */ | |
1287 | { | |
1288 | { Bad_Opcode }, | |
1289 | { Bad_Opcode }, | |
21a3faeb | 1290 | { "vfpclassp%XW%XZ", { XMask, EXx, Ib }, 0 }, |
ad692897 L |
1291 | }, |
1292 | /* PREFIX_EVEX_0F3A67 */ | |
1293 | { | |
1294 | { Bad_Opcode }, | |
1295 | { Bad_Opcode }, | |
21a3faeb | 1296 | { "vfpclasss%XW", { XMask, EXVexWdqScalar, Ib }, 0 }, |
ad692897 L |
1297 | }, |
1298 | /* PREFIX_EVEX_0F3A70 */ | |
1299 | { | |
1300 | { Bad_Opcode }, | |
1301 | { Bad_Opcode }, | |
1302 | { VEX_W_TABLE (EVEX_W_0F3A70_P_2) }, | |
1303 | }, | |
1304 | /* PREFIX_EVEX_0F3A71 */ | |
1305 | { | |
1306 | { Bad_Opcode }, | |
1307 | { Bad_Opcode }, | |
21a3faeb | 1308 | { "vpshld%LW", { XM, Vex, EXx, Ib }, 0 }, |
ad692897 L |
1309 | }, |
1310 | /* PREFIX_EVEX_0F3A72 */ | |
1311 | { | |
1312 | { Bad_Opcode }, | |
1313 | { Bad_Opcode }, | |
1314 | { VEX_W_TABLE (EVEX_W_0F3A72_P_2) }, | |
1315 | }, | |
1316 | /* PREFIX_EVEX_0F3A73 */ | |
1317 | { | |
1318 | { Bad_Opcode }, | |
1319 | { Bad_Opcode }, | |
21a3faeb | 1320 | { "vpshrd%LW", { XM, Vex, EXx, Ib }, 0 }, |
ad692897 | 1321 | }, |