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