1 static const struct dis386 evex_len_table[][3] = {
2 /* EVEX_LEN_0F6E_P_2 */
4 { "vmovK", { XMScalar, Edq }, 0 },
7 /* EVEX_LEN_0F7E_P_1 */
9 { VEX_W_TABLE (EVEX_W_0F7E_P_1) },
12 /* EVEX_LEN_0F7E_P_2 */
14 { "vmovK", { Edq, XMScalar }, 0 },
17 /* EVEX_LEN_0FD6_P_2 */
19 { VEX_W_TABLE (EVEX_W_0FD6_P_2) },
22 /* EVEX_LEN_0F3819_P_2_W_0 */
25 { "vbroadcastf32x2", { XM, EXxmm_mq }, 0 },
26 { "vbroadcastf32x2", { XM, EXxmm_mq }, 0 },
29 /* EVEX_LEN_0F3819_P_2_W_1 */
32 { "vbroadcastsd", { XM, EXxmm_mq }, 0 },
33 { "vbroadcastsd", { XM, EXxmm_mq }, 0 },
36 /* EVEX_LEN_0F381A_P_2_W_0 */
39 { "vbroadcastf32x4", { XM, EXxmm }, 0 },
40 { "vbroadcastf32x4", { XM, EXxmm }, 0 },
43 /* EVEX_LEN_0F381A_P_2_W_1 */
46 { "vbroadcastf64x2", { XM, EXxmm }, 0 },
47 { "vbroadcastf64x2", { XM, EXxmm }, 0 },
50 /* EVEX_LEN_0F381B_P_2_W_0 */
54 { "vbroadcastf32x8", { XM, EXxmmq }, 0 },
57 /* EVEX_LEN_0F381B_P_2_W_1 */
61 { "vbroadcastf64x4", { XM, EXymm }, 0 },
64 /* EVEX_LEN_0F385A_P_2_W_0 */
67 { "vbroadcasti32x4", { XM, EXxmm }, 0 },
68 { "vbroadcasti32x4", { XM, EXxmm }, 0 },
71 /* EVEX_LEN_0F385A_P_2_W_1 */
74 { "vbroadcasti64x2", { XM, EXxmm }, 0 },
75 { "vbroadcasti64x2", { XM, EXxmm }, 0 },
78 /* EVEX_LEN_0F385B_P_2_W_0 */
82 { "vbroadcasti32x8", { XM, EXxmmq }, 0 },
85 /* EVEX_LEN_0F385B_P_2_W_1 */
89 { "vbroadcasti64x4", { XM, EXymm }, 0 },
92 /* EVEX_LEN_0F38C6_REG_1_PREFIX_2 */
96 { "vgatherpf0dp%XW", { MVexVSIBDWpX }, 0 },
99 /* EVEX_LEN_0F38C6_REG_2_PREFIX_2 */
103 { "vgatherpf1dp%XW", { MVexVSIBDWpX }, 0 },
106 /* EVEX_LEN_0F38C6_REG_5_PREFIX_2 */
110 { "vscatterpf0dp%XW", { MVexVSIBDWpX }, 0 },
113 /* EVEX_LEN_0F38C6_REG_6_PREFIX_2 */
117 { "vscatterpf1dp%XW", { MVexVSIBDWpX }, 0 },
120 /* EVEX_LEN_0F38C7_R_1_P_2_W_0 */
124 { "vgatherpf0qps", { MVexVSIBDQWpX }, 0 },
127 /* EVEX_LEN_0F38C7_R_1_P_2_W_1 */
131 { "vgatherpf0qpd", { MVexVSIBQWpX }, 0 },
134 /* EVEX_LEN_0F38C7_R_2_P_2_W_0 */
138 { "vgatherpf1qps", { MVexVSIBDQWpX }, 0 },
141 /* EVEX_LEN_0F38C7_R_2_P_2_W_1 */
145 { "vgatherpf1qpd", { MVexVSIBQWpX }, 0 },
148 /* EVEX_LEN_0F38C7_R_5_P_2_W_0 */
152 { "vscatterpf0qps", { MVexVSIBDQWpX }, 0 },
155 /* EVEX_LEN_0F38C7_R_5_P_2_W_1 */
159 { "vscatterpf0qpd", { MVexVSIBQWpX }, 0 },
162 /* EVEX_LEN_0F38C7_R_6_P_2_W_0 */
166 { "vscatterpf1qps", { MVexVSIBDQWpX }, 0 },
169 /* EVEX_LEN_0F38C7_R_6_P_2_W_1 */
173 { "vscatterpf1qpd", { MVexVSIBQWpX }, 0 },
176 /* EVEX_LEN_0F3A18_P_2_W_0 */
179 { "vinsertf32x4", { XM, Vex, EXxmm, Ib }, 0 },
180 { "vinsertf32x4", { XM, Vex, EXxmm, Ib }, 0 },
183 /* EVEX_LEN_0F3A18_P_2_W_1 */
186 { "vinsertf64x2", { XM, Vex, EXxmm, Ib }, 0 },
187 { "vinsertf64x2", { XM, Vex, EXxmm, Ib }, 0 },
190 /* EVEX_LEN_0F3A19_P_2_W_0 */
193 { "vextractf32x4", { EXxmm, XM, Ib }, 0 },
194 { "vextractf32x4", { EXxmm, XM, Ib }, 0 },
197 /* EVEX_LEN_0F3A19_P_2_W_1 */
200 { "vextractf64x2", { EXxmm, XM, Ib }, 0 },
201 { "vextractf64x2", { EXxmm, XM, Ib }, 0 },
204 /* EVEX_LEN_0F3A1A_P_2_W_0 */
208 { "vinsertf32x8", { XM, Vex, EXxmmq, Ib }, 0 },
211 /* EVEX_LEN_0F3A1A_P_2_W_1 */
215 { "vinsertf64x4", { XM, Vex, EXxmmq, Ib }, 0 },
218 /* EVEX_LEN_0F3A1B_P_2_W_0 */
222 { "vextractf32x8", { EXxmmq, XM, Ib }, 0 },
225 /* EVEX_LEN_0F3A1B_P_2_W_1 */
229 { "vextractf64x4", { EXxmmq, XM, Ib }, 0 },
232 /* EVEX_LEN_0F3A23_P_2_W_0 */
235 { "vshuff32x4", { XM, Vex, EXx, Ib }, 0 },
236 { "vshuff32x4", { XM, Vex, EXx, Ib }, 0 },
239 /* EVEX_LEN_0F3A23_P_2_W_1 */
242 { "vshuff64x2", { XM, Vex, EXx, Ib }, 0 },
243 { "vshuff64x2", { XM, Vex, EXx, Ib }, 0 },
246 /* EVEX_LEN_0F3A38_P_2_W_0 */
249 { "vinserti32x4", { XM, Vex, EXxmm, Ib }, 0 },
250 { "vinserti32x4", { XM, Vex, EXxmm, Ib }, 0 },
253 /* EVEX_LEN_0F3A38_P_2_W_1 */
256 { "vinserti64x2", { XM, Vex, EXxmm, Ib }, 0 },
257 { "vinserti64x2", { XM, Vex, EXxmm, Ib }, 0 },
260 /* EVEX_LEN_0F3A39_P_2_W_0 */
263 { "vextracti32x4", { EXxmm, XM, Ib }, 0 },
264 { "vextracti32x4", { EXxmm, XM, Ib }, 0 },
267 /* EVEX_LEN_0F3A39_P_2_W_1 */
270 { "vextracti64x2", { EXxmm, XM, Ib }, 0 },
271 { "vextracti64x2", { EXxmm, XM, Ib }, 0 },
274 /* EVEX_LEN_0F3A3A_P_2_W_0 */
277 { "vinserti32x8", { XM, Vex, EXxmmq, Ib }, 0 },
278 { "vinserti32x8", { XM, Vex, EXxmmq, Ib }, 0 },
281 /* EVEX_LEN_0F3A3A_P_2_W_1 */
284 { "vinserti64x4", { XM, Vex, EXxmmq, Ib }, 0 },
285 { "vinserti64x4", { XM, Vex, EXxmmq, Ib }, 0 },
288 /* EVEX_LEN_0F3A3B_P_2_W_0 */
291 { "vextracti32x8", { EXxmmq, XM, Ib }, 0 },
292 { "vextracti32x8", { EXxmmq, XM, Ib }, 0 },
295 /* EVEX_LEN_0F3A3B_P_2_W_1 */
298 { "vextracti64x4", { EXxmmq, XM, Ib }, 0 },
299 { "vextracti64x4", { EXxmmq, XM, Ib }, 0 },
302 /* EVEX_LEN_0F3A43_P_2_W_0 */
305 { "vshufi32x4", { XM, Vex, EXx, Ib }, 0 },
306 { "vshufi32x4", { XM, Vex, EXx, Ib }, 0 },
309 /* EVEX_LEN_0F3A43_P_2_W_1 */
312 { "vshufi64x2", { XM, Vex, EXx, Ib }, 0 },
313 { "vshufi64x2", { XM, Vex, EXx, Ib }, 0 },