i386-dis-evex-w.h revision 1.1.1.3 1 1.1 christos /* EVEX_W_0F5B_P_0 */
2 1.1 christos {
3 1.1.1.2 christos { "%XEvcvtdq2ps", { XM, EXx, EXxEVexR }, 0 },
4 1.1 christos { "vcvtqq2ps%XY", { XMxmmq, EXx, EXxEVexR }, 0 },
5 1.1 christos },
6 1.1 christos /* EVEX_W_0F62 */
7 1.1 christos {
8 1.1.1.2 christos { "%XEvpunpckldq", { XM, Vex, EXx }, PREFIX_DATA },
9 1.1 christos },
10 1.1 christos /* EVEX_W_0F66 */
11 1.1 christos {
12 1.1.1.2 christos { "vpcmpgtd", { MaskG, Vex, EXx }, PREFIX_DATA },
13 1.1 christos },
14 1.1 christos /* EVEX_W_0F6A */
15 1.1 christos {
16 1.1.1.2 christos { "%XEvpunpckhdq", { XM, Vex, EXx }, PREFIX_DATA },
17 1.1 christos },
18 1.1 christos /* EVEX_W_0F6B */
19 1.1 christos {
20 1.1.1.2 christos { "%XEvpackssdw", { XM, Vex, EXx }, PREFIX_DATA },
21 1.1 christos },
22 1.1 christos /* EVEX_W_0F6C */
23 1.1 christos {
24 1.1 christos { Bad_Opcode },
25 1.1.1.2 christos { "%XEvpunpcklqdq", { XM, Vex, EXx }, PREFIX_DATA },
26 1.1 christos },
27 1.1 christos /* EVEX_W_0F6D */
28 1.1 christos {
29 1.1 christos { Bad_Opcode },
30 1.1.1.2 christos { "%XEvpunpckhqdq", { XM, Vex, EXx }, PREFIX_DATA },
31 1.1 christos },
32 1.1 christos /* EVEX_W_0F6F_P_1 */
33 1.1 christos {
34 1.1 christos { "vmovdqu32", { XM, EXEvexXNoBcst }, 0 },
35 1.1 christos { "vmovdqu64", { XM, EXEvexXNoBcst }, 0 },
36 1.1 christos },
37 1.1 christos /* EVEX_W_0F6F_P_2 */
38 1.1 christos {
39 1.1 christos { "vmovdqa32", { XM, EXEvexXNoBcst }, 0 },
40 1.1 christos { "vmovdqa64", { XM, EXEvexXNoBcst }, 0 },
41 1.1 christos },
42 1.1 christos /* EVEX_W_0F6F_P_3 */
43 1.1 christos {
44 1.1 christos { "vmovdqu8", { XM, EXx }, 0 },
45 1.1 christos { "vmovdqu16", { XM, EXx }, 0 },
46 1.1 christos },
47 1.1 christos /* EVEX_W_0F70_P_2 */
48 1.1 christos {
49 1.1.1.2 christos { "%XEvpshufd", { XM, EXx, Ib }, 0 },
50 1.1 christos },
51 1.1 christos /* EVEX_W_0F72_R_2 */
52 1.1 christos {
53 1.1.1.2 christos { "%XEvpsrld", { Vex, EXx, Ib }, PREFIX_DATA },
54 1.1 christos },
55 1.1 christos /* EVEX_W_0F72_R_6 */
56 1.1 christos {
57 1.1.1.2 christos { "%XEvpslld", { Vex, EXx, Ib }, PREFIX_DATA },
58 1.1 christos },
59 1.1 christos /* EVEX_W_0F73_R_2 */
60 1.1 christos {
61 1.1 christos { Bad_Opcode },
62 1.1.1.2 christos { "%XEvpsrlq", { Vex, EXx, Ib }, PREFIX_DATA },
63 1.1 christos },
64 1.1 christos /* EVEX_W_0F73_R_6 */
65 1.1 christos {
66 1.1 christos { Bad_Opcode },
67 1.1.1.2 christos { "%XEvpsllq", { Vex, EXx, Ib }, PREFIX_DATA },
68 1.1 christos },
69 1.1 christos /* EVEX_W_0F76 */
70 1.1 christos {
71 1.1.1.2 christos { "vpcmpeqd", { MaskG, Vex, EXx }, PREFIX_DATA },
72 1.1 christos },
73 1.1 christos /* EVEX_W_0F78_P_0 */
74 1.1 christos {
75 1.1 christos { "vcvttps2udq", { XM, EXx, EXxEVexS }, 0 },
76 1.1 christos { "vcvttpd2udq%XY", { XMxmmq, EXx, EXxEVexS }, 0 },
77 1.1 christos },
78 1.1 christos /* EVEX_W_0F78_P_2 */
79 1.1 christos {
80 1.1 christos { "vcvttps2uqq", { XM, EXEvexHalfBcstXmmq, EXxEVexS }, 0 },
81 1.1 christos { "vcvttpd2uqq", { XM, EXx, EXxEVexS }, 0 },
82 1.1 christos },
83 1.1 christos /* EVEX_W_0F79_P_0 */
84 1.1 christos {
85 1.1 christos { "vcvtps2udq", { XM, EXx, EXxEVexR }, 0 },
86 1.1 christos { "vcvtpd2udq%XY", { XMxmmq, EXx, EXxEVexR }, 0 },
87 1.1 christos },
88 1.1 christos /* EVEX_W_0F79_P_2 */
89 1.1 christos {
90 1.1 christos { "vcvtps2uqq", { XM, EXEvexHalfBcstXmmq, EXxEVexR }, 0 },
91 1.1 christos { "vcvtpd2uqq", { XM, EXx, EXxEVexR }, 0 },
92 1.1 christos },
93 1.1 christos /* EVEX_W_0F7A_P_1 */
94 1.1 christos {
95 1.1 christos { "vcvtudq2pd", { XM, EXEvexHalfBcstXmmq }, 0 },
96 1.1 christos { "vcvtuqq2pd", { XM, EXx, EXxEVexR }, 0 },
97 1.1 christos },
98 1.1 christos /* EVEX_W_0F7A_P_2 */
99 1.1 christos {
100 1.1 christos { "vcvttps2qq", { XM, EXEvexHalfBcstXmmq, EXxEVexS }, 0 },
101 1.1 christos { "vcvttpd2qq", { XM, EXx, EXxEVexS }, 0 },
102 1.1 christos },
103 1.1 christos /* EVEX_W_0F7A_P_3 */
104 1.1 christos {
105 1.1 christos { "vcvtudq2ps", { XM, EXx, EXxEVexR }, 0 },
106 1.1 christos { "vcvtuqq2ps%XY", { XMxmmq, EXx, EXxEVexR }, 0 },
107 1.1 christos },
108 1.1 christos /* EVEX_W_0F7B_P_2 */
109 1.1 christos {
110 1.1 christos { "vcvtps2qq", { XM, EXEvexHalfBcstXmmq, EXxEVexR }, 0 },
111 1.1 christos { "vcvtpd2qq", { XM, EXx, EXxEVexR }, 0 },
112 1.1 christos },
113 1.1 christos /* EVEX_W_0F7E_P_1 */
114 1.1 christos {
115 1.1 christos { Bad_Opcode },
116 1.1.1.2 christos { VEX_LEN_TABLE (VEX_LEN_0F7E_P_1) },
117 1.1 christos },
118 1.1 christos /* EVEX_W_0F7F_P_1 */
119 1.1 christos {
120 1.1 christos { "vmovdqu32", { EXxS, XM }, 0 },
121 1.1 christos { "vmovdqu64", { EXxS, XM }, 0 },
122 1.1 christos },
123 1.1 christos /* EVEX_W_0F7F_P_2 */
124 1.1 christos {
125 1.1 christos { "vmovdqa32", { EXxS, XM }, 0 },
126 1.1 christos { "vmovdqa64", { EXxS, XM }, 0 },
127 1.1 christos },
128 1.1 christos /* EVEX_W_0F7F_P_3 */
129 1.1 christos {
130 1.1 christos { "vmovdqu8", { EXxS, XM }, 0 },
131 1.1 christos { "vmovdqu16", { EXxS, XM }, 0 },
132 1.1 christos },
133 1.1 christos /* EVEX_W_0FD2 */
134 1.1 christos {
135 1.1.1.2 christos { "%XEvpsrld", { XM, Vex, EXxmm }, PREFIX_DATA },
136 1.1 christos },
137 1.1 christos /* EVEX_W_0FD3 */
138 1.1 christos {
139 1.1 christos { Bad_Opcode },
140 1.1.1.2 christos { "%XEvpsrlq", { XM, Vex, EXxmm }, PREFIX_DATA },
141 1.1 christos },
142 1.1 christos /* EVEX_W_0FD4 */
143 1.1 christos {
144 1.1 christos { Bad_Opcode },
145 1.1.1.2 christos { "%XEvpaddq", { XM, Vex, EXx }, PREFIX_DATA },
146 1.1 christos },
147 1.1.1.2 christos /* EVEX_W_0FD6 */
148 1.1 christos {
149 1.1 christos { Bad_Opcode },
150 1.1.1.2 christos { VEX_LEN_TABLE (VEX_LEN_0FD6) },
151 1.1 christos },
152 1.1 christos /* EVEX_W_0FE6_P_1 */
153 1.1 christos {
154 1.1.1.2 christos { "%XEvcvtdq2pd", { XM, EXEvexHalfBcstXmmq }, 0 },
155 1.1 christos { "vcvtqq2pd", { XM, EXx, EXxEVexR }, 0 },
156 1.1 christos },
157 1.1 christos /* EVEX_W_0FE7 */
158 1.1 christos {
159 1.1.1.3 christos { "%XEvmovntdq", { Mx, XM }, PREFIX_DATA },
160 1.1 christos },
161 1.1 christos /* EVEX_W_0FF2 */
162 1.1 christos {
163 1.1.1.2 christos { "%XEvpslld", { XM, Vex, EXxmm }, PREFIX_DATA },
164 1.1 christos },
165 1.1 christos /* EVEX_W_0FF3 */
166 1.1 christos {
167 1.1 christos { Bad_Opcode },
168 1.1.1.2 christos { "%XEvpsllq", { XM, Vex, EXxmm }, PREFIX_DATA },
169 1.1 christos },
170 1.1 christos /* EVEX_W_0FF4 */
171 1.1 christos {
172 1.1 christos { Bad_Opcode },
173 1.1.1.2 christos { "%XEvpmuludq", { XM, Vex, EXx }, PREFIX_DATA },
174 1.1 christos },
175 1.1 christos /* EVEX_W_0FFA */
176 1.1 christos {
177 1.1.1.2 christos { "%XEvpsubd", { XM, Vex, EXx }, PREFIX_DATA },
178 1.1 christos },
179 1.1 christos /* EVEX_W_0FFB */
180 1.1 christos {
181 1.1 christos { Bad_Opcode },
182 1.1.1.2 christos { "%XEvpsubq", { XM, Vex, EXx }, PREFIX_DATA },
183 1.1 christos },
184 1.1 christos /* EVEX_W_0FFE */
185 1.1 christos {
186 1.1.1.2 christos { "%XEvpaddd", { XM, Vex, EXx }, PREFIX_DATA },
187 1.1 christos },
188 1.1 christos /* EVEX_W_0F3810_P_1 */
189 1.1 christos {
190 1.1 christos { "vpmovuswb", { EXxmmq, XM }, 0 },
191 1.1 christos },
192 1.1 christos /* EVEX_W_0F3810_P_2 */
193 1.1 christos {
194 1.1 christos { Bad_Opcode },
195 1.1 christos { "vpsrlvw", { XM, Vex, EXx }, 0 },
196 1.1 christos },
197 1.1 christos /* EVEX_W_0F3811_P_1 */
198 1.1 christos {
199 1.1 christos { "vpmovusdb", { EXxmmqd, XM }, 0 },
200 1.1 christos },
201 1.1 christos /* EVEX_W_0F3811_P_2 */
202 1.1 christos {
203 1.1 christos { Bad_Opcode },
204 1.1 christos { "vpsravw", { XM, Vex, EXx }, 0 },
205 1.1 christos },
206 1.1 christos /* EVEX_W_0F3812_P_1 */
207 1.1 christos {
208 1.1 christos { "vpmovusqb", { EXxmmdw, XM }, 0 },
209 1.1 christos },
210 1.1 christos /* EVEX_W_0F3812_P_2 */
211 1.1 christos {
212 1.1 christos { Bad_Opcode },
213 1.1 christos { "vpsllvw", { XM, Vex, EXx }, 0 },
214 1.1 christos },
215 1.1 christos /* EVEX_W_0F3813_P_1 */
216 1.1 christos {
217 1.1 christos { "vpmovusdw", { EXxmmq, XM }, 0 },
218 1.1 christos },
219 1.1 christos /* EVEX_W_0F3814_P_1 */
220 1.1 christos {
221 1.1 christos { "vpmovusqw", { EXxmmqd, XM }, 0 },
222 1.1 christos },
223 1.1 christos /* EVEX_W_0F3815_P_1 */
224 1.1 christos {
225 1.1 christos { "vpmovusqd", { EXxmmq, XM }, 0 },
226 1.1 christos },
227 1.1.1.2 christos /* EVEX_W_0F3819_L_n */
228 1.1 christos {
229 1.1.1.2 christos { "vbroadcastf32x2", { XM, EXq }, PREFIX_DATA },
230 1.1.1.2 christos { "%XEvbroadcastsd", { XM, EXq }, PREFIX_DATA },
231 1.1 christos },
232 1.1.1.3 christos /* EVEX_W_0F381A_L_n */
233 1.1 christos {
234 1.1.1.3 christos { "vbroadcastf32x4", { XM, Mxmm }, PREFIX_DATA },
235 1.1.1.3 christos { "vbroadcastf64x2", { XM, Mxmm }, PREFIX_DATA },
236 1.1 christos },
237 1.1.1.3 christos /* EVEX_W_0F381B_L_2 */
238 1.1 christos {
239 1.1.1.3 christos { "vbroadcastf32x8", { XM, Mymm }, PREFIX_DATA },
240 1.1.1.3 christos { "vbroadcastf64x4", { XM, Mymm }, PREFIX_DATA },
241 1.1 christos },
242 1.1 christos /* EVEX_W_0F381E */
243 1.1 christos {
244 1.1.1.2 christos { "%XEvpabsd", { XM, EXx }, PREFIX_DATA },
245 1.1 christos },
246 1.1 christos /* EVEX_W_0F381F */
247 1.1 christos {
248 1.1 christos { Bad_Opcode },
249 1.1 christos { "vpabsq", { XM, EXx }, PREFIX_DATA },
250 1.1 christos },
251 1.1 christos /* EVEX_W_0F3820_P_1 */
252 1.1 christos {
253 1.1 christos { "vpmovswb", { EXxmmq, XM }, 0 },
254 1.1 christos },
255 1.1 christos /* EVEX_W_0F3821_P_1 */
256 1.1 christos {
257 1.1 christos { "vpmovsdb", { EXxmmqd, XM }, 0 },
258 1.1 christos },
259 1.1 christos /* EVEX_W_0F3822_P_1 */
260 1.1 christos {
261 1.1 christos { "vpmovsqb", { EXxmmdw, XM }, 0 },
262 1.1 christos },
263 1.1 christos /* EVEX_W_0F3823_P_1 */
264 1.1 christos {
265 1.1 christos { "vpmovsdw", { EXxmmq, XM }, 0 },
266 1.1 christos },
267 1.1 christos /* EVEX_W_0F3824_P_1 */
268 1.1 christos {
269 1.1 christos { "vpmovsqw", { EXxmmqd, XM }, 0 },
270 1.1 christos },
271 1.1 christos /* EVEX_W_0F3825_P_1 */
272 1.1 christos {
273 1.1 christos { "vpmovsqd", { EXxmmq, XM }, 0 },
274 1.1 christos },
275 1.1 christos /* EVEX_W_0F3825_P_2 */
276 1.1 christos {
277 1.1.1.2 christos { "%XEvpmovsxdq", { XM, EXxmmq }, 0 },
278 1.1 christos },
279 1.1 christos /* EVEX_W_0F3828_P_2 */
280 1.1 christos {
281 1.1 christos { Bad_Opcode },
282 1.1.1.2 christos { "%XEvpmuldq", { XM, Vex, EXx }, 0 },
283 1.1 christos },
284 1.1 christos /* EVEX_W_0F3829_P_2 */
285 1.1 christos {
286 1.1 christos { Bad_Opcode },
287 1.1.1.2 christos { "vpcmpeqq", { MaskG, Vex, EXx }, 0 },
288 1.1 christos },
289 1.1 christos /* EVEX_W_0F382A_P_1 */
290 1.1 christos {
291 1.1 christos { Bad_Opcode },
292 1.1.1.3 christos { "vpbroadcastmb2qY", { XM, MaskR }, 0 },
293 1.1 christos },
294 1.1 christos /* EVEX_W_0F382A_P_2 */
295 1.1 christos {
296 1.1.1.3 christos { "%XEvmovntdqaY", { XM, Mx }, 0 },
297 1.1 christos },
298 1.1 christos /* EVEX_W_0F382B */
299 1.1 christos {
300 1.1.1.2 christos { "%XEvpackusdw", { XM, Vex, EXx }, PREFIX_DATA },
301 1.1 christos },
302 1.1 christos /* EVEX_W_0F3830_P_1 */
303 1.1 christos {
304 1.1 christos { "vpmovwb", { EXxmmq, XM }, 0 },
305 1.1 christos },
306 1.1 christos /* EVEX_W_0F3831_P_1 */
307 1.1 christos {
308 1.1 christos { "vpmovdb", { EXxmmqd, XM }, 0 },
309 1.1 christos },
310 1.1 christos /* EVEX_W_0F3832_P_1 */
311 1.1 christos {
312 1.1 christos { "vpmovqb", { EXxmmdw, XM }, 0 },
313 1.1 christos },
314 1.1 christos /* EVEX_W_0F3833_P_1 */
315 1.1 christos {
316 1.1 christos { "vpmovdw", { EXxmmq, XM }, 0 },
317 1.1 christos },
318 1.1 christos /* EVEX_W_0F3834_P_1 */
319 1.1 christos {
320 1.1 christos { "vpmovqw", { EXxmmqd, XM }, 0 },
321 1.1 christos },
322 1.1 christos /* EVEX_W_0F3835_P_1 */
323 1.1 christos {
324 1.1 christos { "vpmovqd", { EXxmmq, XM }, 0 },
325 1.1 christos },
326 1.1 christos /* EVEX_W_0F3835_P_2 */
327 1.1 christos {
328 1.1.1.2 christos { "%XEvpmovzxdq", { XM, EXxmmq }, 0 },
329 1.1 christos },
330 1.1 christos /* EVEX_W_0F3837 */
331 1.1 christos {
332 1.1 christos { Bad_Opcode },
333 1.1.1.2 christos { "vpcmpgtq", { MaskG, Vex, EXx }, PREFIX_DATA },
334 1.1 christos },
335 1.1 christos /* EVEX_W_0F383A_P_1 */
336 1.1 christos {
337 1.1.1.3 christos { "vpbroadcastmw2dY", { XM, MaskR }, 0 },
338 1.1 christos },
339 1.1 christos /* EVEX_W_0F3859 */
340 1.1 christos {
341 1.1.1.2 christos { "vbroadcasti32x2", { XM, EXq }, PREFIX_DATA },
342 1.1.1.2 christos { "%XEvpbroadcastq", { XM, EXq }, PREFIX_DATA },
343 1.1 christos },
344 1.1.1.3 christos /* EVEX_W_0F385A_L_n */
345 1.1 christos {
346 1.1.1.3 christos { "vbroadcasti32x4", { XM, Mxmm }, PREFIX_DATA },
347 1.1.1.3 christos { "vbroadcasti64x2", { XM, Mxmm }, PREFIX_DATA },
348 1.1 christos },
349 1.1.1.3 christos /* EVEX_W_0F385B_L_2 */
350 1.1 christos {
351 1.1.1.3 christos { "vbroadcasti32x8", { XM, Mymm }, PREFIX_DATA },
352 1.1.1.3 christos { "vbroadcasti64x4", { XM, Mymm }, PREFIX_DATA },
353 1.1 christos },
354 1.1 christos /* EVEX_W_0F3870 */
355 1.1 christos {
356 1.1 christos { Bad_Opcode },
357 1.1 christos { "vpshldvw", { XM, Vex, EXx }, PREFIX_DATA },
358 1.1 christos },
359 1.1 christos /* EVEX_W_0F3872_P_2 */
360 1.1 christos {
361 1.1 christos { Bad_Opcode },
362 1.1 christos { "vpshrdvw", { XM, Vex, EXx }, 0 },
363 1.1 christos },
364 1.1 christos /* EVEX_W_0F387A */
365 1.1 christos {
366 1.1.1.3 christos { "vpbroadcastb", { XM, Rd }, PREFIX_DATA },
367 1.1 christos },
368 1.1 christos /* EVEX_W_0F387B */
369 1.1 christos {
370 1.1.1.3 christos { "vpbroadcastw", { XM, Rd }, PREFIX_DATA },
371 1.1 christos },
372 1.1 christos /* EVEX_W_0F3883 */
373 1.1 christos {
374 1.1 christos { Bad_Opcode },
375 1.1 christos { "vpmultishiftqb", { XM, Vex, EXx }, PREFIX_DATA },
376 1.1 christos },
377 1.1.1.2 christos /* EVEX_W_0F3A18_L_n */
378 1.1 christos {
379 1.1.1.2 christos { "vinsertf32x4", { XM, Vex, EXxmm, Ib }, PREFIX_DATA },
380 1.1.1.2 christos { "vinsertf64x2", { XM, Vex, EXxmm, Ib }, PREFIX_DATA },
381 1.1 christos },
382 1.1.1.2 christos /* EVEX_W_0F3A19_L_n */
383 1.1 christos {
384 1.1.1.2 christos { "vextractf32x4", { EXxmm, XM, Ib }, PREFIX_DATA },
385 1.1.1.2 christos { "vextractf64x2", { EXxmm, XM, Ib }, PREFIX_DATA },
386 1.1 christos },
387 1.1.1.2 christos /* EVEX_W_0F3A1A_L_2 */
388 1.1 christos {
389 1.1.1.2 christos { "vinsertf32x8", { XM, Vex, EXymm, Ib }, PREFIX_DATA },
390 1.1.1.2 christos { "vinsertf64x4", { XM, Vex, EXymm, Ib }, PREFIX_DATA },
391 1.1 christos },
392 1.1.1.2 christos /* EVEX_W_0F3A1B_L_2 */
393 1.1 christos {
394 1.1.1.2 christos { "vextractf32x8", { EXymm, XM, Ib }, PREFIX_DATA },
395 1.1.1.2 christos { "vextractf64x4", { EXymm, XM, Ib }, PREFIX_DATA },
396 1.1 christos },
397 1.1 christos /* EVEX_W_0F3A21 */
398 1.1 christos {
399 1.1.1.2 christos { VEX_LEN_TABLE (VEX_LEN_0F3A21) },
400 1.1 christos },
401 1.1.1.2 christos /* EVEX_W_0F3A23_L_n */
402 1.1 christos {
403 1.1.1.2 christos { "vshuff32x4", { XM, Vex, EXx, Ib }, PREFIX_DATA },
404 1.1.1.2 christos { "vshuff64x2", { XM, Vex, EXx, Ib }, PREFIX_DATA },
405 1.1 christos },
406 1.1.1.2 christos /* EVEX_W_0F3A38_L_n */
407 1.1 christos {
408 1.1.1.2 christos { "vinserti32x4", { XM, Vex, EXxmm, Ib }, PREFIX_DATA },
409 1.1.1.2 christos { "vinserti64x2", { XM, Vex, EXxmm, Ib }, PREFIX_DATA },
410 1.1 christos },
411 1.1.1.2 christos /* EVEX_W_0F3A39_L_n */
412 1.1 christos {
413 1.1.1.2 christos { "vextracti32x4", { EXxmm, XM, Ib }, PREFIX_DATA },
414 1.1.1.2 christos { "vextracti64x2", { EXxmm, XM, Ib }, PREFIX_DATA },
415 1.1 christos },
416 1.1.1.2 christos /* EVEX_W_0F3A3A_L_2 */
417 1.1 christos {
418 1.1.1.2 christos { "vinserti32x8", { XM, Vex, EXymm, Ib }, PREFIX_DATA },
419 1.1.1.2 christos { "vinserti64x4", { XM, Vex, EXymm, Ib }, PREFIX_DATA },
420 1.1 christos },
421 1.1.1.2 christos /* EVEX_W_0F3A3B_L_2 */
422 1.1 christos {
423 1.1.1.2 christos { "vextracti32x8", { EXymm, XM, Ib }, PREFIX_DATA },
424 1.1.1.2 christos { "vextracti64x4", { EXymm, XM, Ib }, PREFIX_DATA },
425 1.1 christos },
426 1.1 christos /* EVEX_W_0F3A42 */
427 1.1 christos {
428 1.1 christos { "vdbpsadbw", { XM, Vex, EXx, Ib }, 0 },
429 1.1 christos },
430 1.1.1.2 christos /* EVEX_W_0F3A43_L_n */
431 1.1 christos {
432 1.1.1.2 christos { "vshufi32x4", { XM, Vex, EXx, Ib }, PREFIX_DATA },
433 1.1.1.2 christos { "vshufi64x2", { XM, Vex, EXx, Ib }, PREFIX_DATA },
434 1.1 christos },
435 1.1 christos /* EVEX_W_0F3A70 */
436 1.1 christos {
437 1.1 christos { Bad_Opcode },
438 1.1 christos { "vpshldw", { XM, Vex, EXx, Ib }, 0 },
439 1.1 christos },
440 1.1 christos /* EVEX_W_0F3A72 */
441 1.1 christos {
442 1.1 christos { Bad_Opcode },
443 1.1 christos { "vpshrdw", { XM, Vex, EXx, Ib }, 0 },
444 1.1 christos },
445 1.1.1.3 christos /* EVEX_W_MAP4_8F_R_0 */
446 1.1.1.3 christos {
447 1.1.1.3 christos { "pop2", { { PUSH2_POP2_Fixup, q_mode}, Eq }, NO_PREFIX },
448 1.1.1.3 christos { "pop2p", { { PUSH2_POP2_Fixup, q_mode}, Eq }, NO_PREFIX },
449 1.1.1.3 christos },
450 1.1.1.3 christos /* EVEX_W_MAP4_F8_P1_M_1 */
451 1.1.1.3 christos {
452 1.1.1.3 christos { "uwrmsr", { Gq, Eq }, 0 },
453 1.1.1.3 christos },
454 1.1.1.3 christos /* EVEX_W_MAP4_F8_P3_M_1 */
455 1.1.1.3 christos {
456 1.1.1.3 christos { "urdmsr", { Eq, Gq }, 0 },
457 1.1.1.3 christos },
458 1.1.1.3 christos /* EVEX_W_MAP4_FF_R_6 */
459 1.1.1.3 christos {
460 1.1.1.3 christos { "push2", { { PUSH2_POP2_Fixup, q_mode}, Eq }, 0 },
461 1.1.1.3 christos { "push2p", { { PUSH2_POP2_Fixup, q_mode}, Eq }, 0 },
462 1.1.1.3 christos },
463 1.1.1.2 christos /* EVEX_W_MAP5_5B_P_0 */
464 1.1.1.2 christos {
465 1.1.1.2 christos { "vcvtdq2ph%XY", { XMxmmq, EXx, EXxEVexR }, 0 },
466 1.1.1.2 christos { "vcvtqq2ph%XZ", { XMM, EXx, EXxEVexR }, 0 },
467 1.1.1.2 christos },
468 1.1.1.2 christos /* EVEX_W_MAP5_7A_P_3 */
469 1.1.1.2 christos {
470 1.1.1.2 christos { "vcvtudq2ph%XY", { XMxmmq, EXx, EXxEVexR }, 0 },
471 1.1.1.2 christos { "vcvtuqq2ph%XZ", { XMM, EXx, EXxEVexR }, 0 },
472 1.1.1.2 christos },
473