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