1#ifdef NEED_OPCODE_TABLE 2 3static const struct dis386 evex_table[][256] = { 4 /* EVEX_0F */ 5 { 6 /* 00 */ 7 { Bad_Opcode }, 8 { Bad_Opcode }, 9 { Bad_Opcode }, 10 { Bad_Opcode }, 11 { Bad_Opcode }, 12 { Bad_Opcode }, 13 { Bad_Opcode }, 14 { Bad_Opcode }, 15 /* 08 */ 16 { Bad_Opcode }, 17 { Bad_Opcode }, 18 { Bad_Opcode }, 19 { Bad_Opcode }, 20 { Bad_Opcode }, 21 { Bad_Opcode }, 22 { Bad_Opcode }, 23 { Bad_Opcode }, 24 /* 10 */ 25 { PREFIX_TABLE (PREFIX_EVEX_0F10) }, 26 { PREFIX_TABLE (PREFIX_EVEX_0F11) }, 27 { PREFIX_TABLE (PREFIX_EVEX_0F12) }, 28 { PREFIX_TABLE (PREFIX_EVEX_0F13) }, 29 { PREFIX_TABLE (PREFIX_EVEX_0F14) }, 30 { PREFIX_TABLE (PREFIX_EVEX_0F15) }, 31 { PREFIX_TABLE (PREFIX_EVEX_0F16) }, 32 { PREFIX_TABLE (PREFIX_EVEX_0F17) }, 33 /* 18 */ 34 { Bad_Opcode }, 35 { Bad_Opcode }, 36 { Bad_Opcode }, 37 { Bad_Opcode }, 38 { Bad_Opcode }, 39 { Bad_Opcode }, 40 { Bad_Opcode }, 41 { Bad_Opcode }, 42 /* 20 */ 43 { Bad_Opcode }, 44 { Bad_Opcode }, 45 { Bad_Opcode }, 46 { Bad_Opcode }, 47 { Bad_Opcode }, 48 { Bad_Opcode }, 49 { Bad_Opcode }, 50 { Bad_Opcode }, 51 /* 28 */ 52 { PREFIX_TABLE (PREFIX_EVEX_0F28) }, 53 { PREFIX_TABLE (PREFIX_EVEX_0F29) }, 54 { PREFIX_TABLE (PREFIX_EVEX_0F2A) }, 55 { PREFIX_TABLE (PREFIX_EVEX_0F2B) }, 56 { PREFIX_TABLE (PREFIX_EVEX_0F2C) }, 57 { PREFIX_TABLE (PREFIX_EVEX_0F2D) }, 58 { PREFIX_TABLE (PREFIX_EVEX_0F2E) }, 59 { PREFIX_TABLE (PREFIX_EVEX_0F2F) }, 60 /* 30 */ 61 { Bad_Opcode }, 62 { Bad_Opcode }, 63 { Bad_Opcode }, 64 { Bad_Opcode }, 65 { Bad_Opcode }, 66 { Bad_Opcode }, 67 { Bad_Opcode }, 68 { Bad_Opcode }, 69 /* 38 */ 70 { Bad_Opcode }, 71 { Bad_Opcode }, 72 { Bad_Opcode }, 73 { Bad_Opcode }, 74 { Bad_Opcode }, 75 { Bad_Opcode }, 76 { Bad_Opcode }, 77 { Bad_Opcode }, 78 /* 40 */ 79 { Bad_Opcode }, 80 { Bad_Opcode }, 81 { Bad_Opcode }, 82 { Bad_Opcode }, 83 { Bad_Opcode }, 84 { Bad_Opcode }, 85 { Bad_Opcode }, 86 { Bad_Opcode }, 87 /* 48 */ 88 { Bad_Opcode }, 89 { Bad_Opcode }, 90 { Bad_Opcode }, 91 { Bad_Opcode }, 92 { Bad_Opcode }, 93 { Bad_Opcode }, 94 { Bad_Opcode }, 95 { Bad_Opcode }, 96 /* 50 */ 97 { Bad_Opcode }, 98 { PREFIX_TABLE (PREFIX_EVEX_0F51) }, 99 { Bad_Opcode }, 100 { Bad_Opcode }, 101 { PREFIX_TABLE (PREFIX_EVEX_0F54) }, 102 { PREFIX_TABLE (PREFIX_EVEX_0F55) }, 103 { PREFIX_TABLE (PREFIX_EVEX_0F56) }, 104 { PREFIX_TABLE (PREFIX_EVEX_0F57) }, 105 /* 58 */ 106 { PREFIX_TABLE (PREFIX_EVEX_0F58) }, 107 { PREFIX_TABLE (PREFIX_EVEX_0F59) }, 108 { PREFIX_TABLE (PREFIX_EVEX_0F5A) }, 109 { PREFIX_TABLE (PREFIX_EVEX_0F5B) }, 110 { PREFIX_TABLE (PREFIX_EVEX_0F5C) }, 111 { PREFIX_TABLE (PREFIX_EVEX_0F5D) }, 112 { PREFIX_TABLE (PREFIX_EVEX_0F5E) }, 113 { PREFIX_TABLE (PREFIX_EVEX_0F5F) }, 114 /* 60 */ 115 { PREFIX_TABLE (PREFIX_EVEX_0F60) }, 116 { PREFIX_TABLE (PREFIX_EVEX_0F61) }, 117 { PREFIX_TABLE (PREFIX_EVEX_0F62) }, 118 { PREFIX_TABLE (PREFIX_EVEX_0F63) }, 119 { PREFIX_TABLE (PREFIX_EVEX_0F64) }, 120 { PREFIX_TABLE (PREFIX_EVEX_0F65) }, 121 { PREFIX_TABLE (PREFIX_EVEX_0F66) }, 122 { PREFIX_TABLE (PREFIX_EVEX_0F67) }, 123 /* 68 */ 124 { PREFIX_TABLE (PREFIX_EVEX_0F68) }, 125 { PREFIX_TABLE (PREFIX_EVEX_0F69) }, 126 { PREFIX_TABLE (PREFIX_EVEX_0F6A) }, 127 { PREFIX_TABLE (PREFIX_EVEX_0F6B) }, 128 { PREFIX_TABLE (PREFIX_EVEX_0F6C) }, 129 { PREFIX_TABLE (PREFIX_EVEX_0F6D) }, 130 { PREFIX_TABLE (PREFIX_EVEX_0F6E) }, 131 { PREFIX_TABLE (PREFIX_EVEX_0F6F) }, 132 /* 70 */ 133 { PREFIX_TABLE (PREFIX_EVEX_0F70) }, 134 { REG_TABLE (REG_EVEX_0F71) }, 135 { REG_TABLE (REG_EVEX_0F72) }, 136 { REG_TABLE (REG_EVEX_0F73) }, 137 { PREFIX_TABLE (PREFIX_EVEX_0F74) }, 138 { PREFIX_TABLE (PREFIX_EVEX_0F75) }, 139 { PREFIX_TABLE (PREFIX_EVEX_0F76) }, 140 { Bad_Opcode }, 141 /* 78 */ 142 { PREFIX_TABLE (PREFIX_EVEX_0F78) }, 143 { PREFIX_TABLE (PREFIX_EVEX_0F79) }, 144 { PREFIX_TABLE (PREFIX_EVEX_0F7A) }, 145 { PREFIX_TABLE (PREFIX_EVEX_0F7B) }, 146 { Bad_Opcode }, 147 { Bad_Opcode }, 148 { PREFIX_TABLE (PREFIX_EVEX_0F7E) }, 149 { PREFIX_TABLE (PREFIX_EVEX_0F7F) }, 150 /* 80 */ 151 { Bad_Opcode }, 152 { Bad_Opcode }, 153 { Bad_Opcode }, 154 { Bad_Opcode }, 155 { Bad_Opcode }, 156 { Bad_Opcode }, 157 { Bad_Opcode }, 158 { Bad_Opcode }, 159 /* 88 */ 160 { Bad_Opcode }, 161 { Bad_Opcode }, 162 { Bad_Opcode }, 163 { Bad_Opcode }, 164 { Bad_Opcode }, 165 { Bad_Opcode }, 166 { Bad_Opcode }, 167 { Bad_Opcode }, 168 /* 90 */ 169 { Bad_Opcode }, 170 { Bad_Opcode }, 171 { Bad_Opcode }, 172 { Bad_Opcode }, 173 { Bad_Opcode }, 174 { Bad_Opcode }, 175 { Bad_Opcode }, 176 { Bad_Opcode }, 177 /* 98 */ 178 { Bad_Opcode }, 179 { Bad_Opcode }, 180 { Bad_Opcode }, 181 { Bad_Opcode }, 182 { Bad_Opcode }, 183 { Bad_Opcode }, 184 { Bad_Opcode }, 185 { Bad_Opcode }, 186 /* A0 */ 187 { Bad_Opcode }, 188 { Bad_Opcode }, 189 { Bad_Opcode }, 190 { Bad_Opcode }, 191 { Bad_Opcode }, 192 { Bad_Opcode }, 193 { Bad_Opcode }, 194 { Bad_Opcode }, 195 /* A8 */ 196 { Bad_Opcode }, 197 { Bad_Opcode }, 198 { Bad_Opcode }, 199 { Bad_Opcode }, 200 { Bad_Opcode }, 201 { Bad_Opcode }, 202 { Bad_Opcode }, 203 { Bad_Opcode }, 204 /* B0 */ 205 { Bad_Opcode }, 206 { Bad_Opcode }, 207 { Bad_Opcode }, 208 { Bad_Opcode }, 209 { Bad_Opcode }, 210 { Bad_Opcode }, 211 { Bad_Opcode }, 212 { Bad_Opcode }, 213 /* B8 */ 214 { Bad_Opcode }, 215 { Bad_Opcode }, 216 { Bad_Opcode }, 217 { Bad_Opcode }, 218 { Bad_Opcode }, 219 { Bad_Opcode }, 220 { Bad_Opcode }, 221 { Bad_Opcode }, 222 /* C0 */ 223 { Bad_Opcode }, 224 { Bad_Opcode }, 225 { PREFIX_TABLE (PREFIX_EVEX_0FC2) }, 226 { Bad_Opcode }, 227 { PREFIX_TABLE (PREFIX_EVEX_0FC4) }, 228 { PREFIX_TABLE (PREFIX_EVEX_0FC5) }, 229 { PREFIX_TABLE (PREFIX_EVEX_0FC6) }, 230 { Bad_Opcode }, 231 /* C8 */ 232 { Bad_Opcode }, 233 { Bad_Opcode }, 234 { Bad_Opcode }, 235 { Bad_Opcode }, 236 { Bad_Opcode }, 237 { Bad_Opcode }, 238 { Bad_Opcode }, 239 { Bad_Opcode }, 240 /* D0 */ 241 { Bad_Opcode }, 242 { PREFIX_TABLE (PREFIX_EVEX_0FD1) }, 243 { PREFIX_TABLE (PREFIX_EVEX_0FD2) }, 244 { PREFIX_TABLE (PREFIX_EVEX_0FD3) }, 245 { PREFIX_TABLE (PREFIX_EVEX_0FD4) }, 246 { PREFIX_TABLE (PREFIX_EVEX_0FD5) }, 247 { PREFIX_TABLE (PREFIX_EVEX_0FD6) }, 248 { Bad_Opcode }, 249 /* D8 */ 250 { PREFIX_TABLE (PREFIX_EVEX_0FD8) }, 251 { PREFIX_TABLE (PREFIX_EVEX_0FD9) }, 252 { PREFIX_TABLE (PREFIX_EVEX_0FDA) }, 253 { PREFIX_TABLE (PREFIX_EVEX_0FDB) }, 254 { PREFIX_TABLE (PREFIX_EVEX_0FDC) }, 255 { PREFIX_TABLE (PREFIX_EVEX_0FDD) }, 256 { PREFIX_TABLE (PREFIX_EVEX_0FDE) }, 257 { PREFIX_TABLE (PREFIX_EVEX_0FDF) }, 258 /* E0 */ 259 { PREFIX_TABLE (PREFIX_EVEX_0FE0) }, 260 { PREFIX_TABLE (PREFIX_EVEX_0FE1) }, 261 { PREFIX_TABLE (PREFIX_EVEX_0FE2) }, 262 { PREFIX_TABLE (PREFIX_EVEX_0FE3) }, 263 { PREFIX_TABLE (PREFIX_EVEX_0FE4) }, 264 { PREFIX_TABLE (PREFIX_EVEX_0FE5) }, 265 { PREFIX_TABLE (PREFIX_EVEX_0FE6) }, 266 { PREFIX_TABLE (PREFIX_EVEX_0FE7) }, 267 /* E8 */ 268 { PREFIX_TABLE (PREFIX_EVEX_0FE8) }, 269 { PREFIX_TABLE (PREFIX_EVEX_0FE9) }, 270 { PREFIX_TABLE (PREFIX_EVEX_0FEA) }, 271 { PREFIX_TABLE (PREFIX_EVEX_0FEB) }, 272 { PREFIX_TABLE (PREFIX_EVEX_0FEC) }, 273 { PREFIX_TABLE (PREFIX_EVEX_0FED) }, 274 { PREFIX_TABLE (PREFIX_EVEX_0FEE) }, 275 { PREFIX_TABLE (PREFIX_EVEX_0FEF) }, 276 /* F0 */ 277 { Bad_Opcode }, 278 { PREFIX_TABLE (PREFIX_EVEX_0FF1) }, 279 { PREFIX_TABLE (PREFIX_EVEX_0FF2) }, 280 { PREFIX_TABLE (PREFIX_EVEX_0FF3) }, 281 { PREFIX_TABLE (PREFIX_EVEX_0FF4) }, 282 { PREFIX_TABLE (PREFIX_EVEX_0FF5) }, 283 { PREFIX_TABLE (PREFIX_EVEX_0FF6) }, 284 { Bad_Opcode }, 285 /* F8 */ 286 { PREFIX_TABLE (PREFIX_EVEX_0FF8) }, 287 { PREFIX_TABLE (PREFIX_EVEX_0FF9) }, 288 { PREFIX_TABLE (PREFIX_EVEX_0FFA) }, 289 { PREFIX_TABLE (PREFIX_EVEX_0FFB) }, 290 { PREFIX_TABLE (PREFIX_EVEX_0FFC) }, 291 { PREFIX_TABLE (PREFIX_EVEX_0FFD) }, 292 { PREFIX_TABLE (PREFIX_EVEX_0FFE) }, 293 { Bad_Opcode }, 294 }, 295 /* EVEX_0F38 */ 296 { 297 /* 00 */ 298 { PREFIX_TABLE (PREFIX_EVEX_0F3800) }, 299 { Bad_Opcode }, 300 { Bad_Opcode }, 301 { Bad_Opcode }, 302 { PREFIX_TABLE (PREFIX_EVEX_0F3804) }, 303 { Bad_Opcode }, 304 { Bad_Opcode }, 305 { Bad_Opcode }, 306 /* 08 */ 307 { Bad_Opcode }, 308 { Bad_Opcode }, 309 { Bad_Opcode }, 310 { PREFIX_TABLE (PREFIX_EVEX_0F380B) }, 311 { PREFIX_TABLE (PREFIX_EVEX_0F380C) }, 312 { PREFIX_TABLE (PREFIX_EVEX_0F380D) }, 313 { Bad_Opcode }, 314 { Bad_Opcode }, 315 /* 10 */ 316 { PREFIX_TABLE (PREFIX_EVEX_0F3810) }, 317 { PREFIX_TABLE (PREFIX_EVEX_0F3811) }, 318 { PREFIX_TABLE (PREFIX_EVEX_0F3812) }, 319 { PREFIX_TABLE (PREFIX_EVEX_0F3813) }, 320 { PREFIX_TABLE (PREFIX_EVEX_0F3814) }, 321 { PREFIX_TABLE (PREFIX_EVEX_0F3815) }, 322 { PREFIX_TABLE (PREFIX_EVEX_0F3816) }, 323 { Bad_Opcode }, 324 /* 18 */ 325 { PREFIX_TABLE (PREFIX_EVEX_0F3818) }, 326 { PREFIX_TABLE (PREFIX_EVEX_0F3819) }, 327 { PREFIX_TABLE (PREFIX_EVEX_0F381A) }, 328 { PREFIX_TABLE (PREFIX_EVEX_0F381B) }, 329 { PREFIX_TABLE (PREFIX_EVEX_0F381C) }, 330 { PREFIX_TABLE (PREFIX_EVEX_0F381D) }, 331 { PREFIX_TABLE (PREFIX_EVEX_0F381E) }, 332 { PREFIX_TABLE (PREFIX_EVEX_0F381F) }, 333 /* 20 */ 334 { PREFIX_TABLE (PREFIX_EVEX_0F3820) }, 335 { PREFIX_TABLE (PREFIX_EVEX_0F3821) }, 336 { PREFIX_TABLE (PREFIX_EVEX_0F3822) }, 337 { PREFIX_TABLE (PREFIX_EVEX_0F3823) }, 338 { PREFIX_TABLE (PREFIX_EVEX_0F3824) }, 339 { PREFIX_TABLE (PREFIX_EVEX_0F3825) }, 340 { PREFIX_TABLE (PREFIX_EVEX_0F3826) }, 341 { PREFIX_TABLE (PREFIX_EVEX_0F3827) }, 342 /* 28 */ 343 { PREFIX_TABLE (PREFIX_EVEX_0F3828) }, 344 { PREFIX_TABLE (PREFIX_EVEX_0F3829) }, 345 { PREFIX_TABLE (PREFIX_EVEX_0F382A) }, 346 { PREFIX_TABLE (PREFIX_EVEX_0F382B) }, 347 { PREFIX_TABLE (PREFIX_EVEX_0F382C) }, 348 { PREFIX_TABLE (PREFIX_EVEX_0F382D) }, 349 { Bad_Opcode }, 350 { Bad_Opcode }, 351 /* 30 */ 352 { PREFIX_TABLE (PREFIX_EVEX_0F3830) }, 353 { PREFIX_TABLE (PREFIX_EVEX_0F3831) }, 354 { PREFIX_TABLE (PREFIX_EVEX_0F3832) }, 355 { PREFIX_TABLE (PREFIX_EVEX_0F3833) }, 356 { PREFIX_TABLE (PREFIX_EVEX_0F3834) }, 357 { PREFIX_TABLE (PREFIX_EVEX_0F3835) }, 358 { PREFIX_TABLE (PREFIX_EVEX_0F3836) }, 359 { PREFIX_TABLE (PREFIX_EVEX_0F3837) }, 360 /* 38 */ 361 { PREFIX_TABLE (PREFIX_EVEX_0F3838) }, 362 { PREFIX_TABLE (PREFIX_EVEX_0F3839) }, 363 { PREFIX_TABLE (PREFIX_EVEX_0F383A) }, 364 { PREFIX_TABLE (PREFIX_EVEX_0F383B) }, 365 { PREFIX_TABLE (PREFIX_EVEX_0F383C) }, 366 { PREFIX_TABLE (PREFIX_EVEX_0F383D) }, 367 { PREFIX_TABLE (PREFIX_EVEX_0F383E) }, 368 { PREFIX_TABLE (PREFIX_EVEX_0F383F) }, 369 /* 40 */ 370 { PREFIX_TABLE (PREFIX_EVEX_0F3840) }, 371 { Bad_Opcode }, 372 { PREFIX_TABLE (PREFIX_EVEX_0F3842) }, 373 { PREFIX_TABLE (PREFIX_EVEX_0F3843) }, 374 { PREFIX_TABLE (PREFIX_EVEX_0F3844) }, 375 { PREFIX_TABLE (PREFIX_EVEX_0F3845) }, 376 { PREFIX_TABLE (PREFIX_EVEX_0F3846) }, 377 { PREFIX_TABLE (PREFIX_EVEX_0F3847) }, 378 /* 48 */ 379 { Bad_Opcode }, 380 { Bad_Opcode }, 381 { Bad_Opcode }, 382 { Bad_Opcode }, 383 { PREFIX_TABLE (PREFIX_EVEX_0F384C) }, 384 { PREFIX_TABLE (PREFIX_EVEX_0F384D) }, 385 { PREFIX_TABLE (PREFIX_EVEX_0F384E) }, 386 { PREFIX_TABLE (PREFIX_EVEX_0F384F) }, 387 /* 50 */ 388 { Bad_Opcode }, 389 { Bad_Opcode }, 390 { PREFIX_TABLE (PREFIX_EVEX_0F3852) }, 391 { PREFIX_TABLE (PREFIX_EVEX_0F3853) }, 392 { Bad_Opcode }, 393 { PREFIX_TABLE (PREFIX_EVEX_0F3855) }, 394 { Bad_Opcode }, 395 { Bad_Opcode }, 396 /* 58 */ 397 { PREFIX_TABLE (PREFIX_EVEX_0F3858) }, 398 { PREFIX_TABLE (PREFIX_EVEX_0F3859) }, 399 { PREFIX_TABLE (PREFIX_EVEX_0F385A) }, 400 { PREFIX_TABLE (PREFIX_EVEX_0F385B) }, 401 { Bad_Opcode }, 402 { Bad_Opcode }, 403 { Bad_Opcode }, 404 { Bad_Opcode }, 405 /* 60 */ 406 { Bad_Opcode }, 407 { Bad_Opcode }, 408 { Bad_Opcode }, 409 { Bad_Opcode }, 410 { PREFIX_TABLE (PREFIX_EVEX_0F3864) }, 411 { PREFIX_TABLE (PREFIX_EVEX_0F3865) }, 412 { PREFIX_TABLE (PREFIX_EVEX_0F3866) }, 413 { Bad_Opcode }, 414 /* 68 */ 415 { Bad_Opcode }, 416 { Bad_Opcode }, 417 { Bad_Opcode }, 418 { Bad_Opcode }, 419 { Bad_Opcode }, 420 { Bad_Opcode }, 421 { Bad_Opcode }, 422 { Bad_Opcode }, 423 /* 70 */ 424 { Bad_Opcode }, 425 { Bad_Opcode }, 426 { Bad_Opcode }, 427 { Bad_Opcode }, 428 { Bad_Opcode }, 429 { PREFIX_TABLE (PREFIX_EVEX_0F3875) }, 430 { PREFIX_TABLE (PREFIX_EVEX_0F3876) }, 431 { PREFIX_TABLE (PREFIX_EVEX_0F3877) }, 432 /* 78 */ 433 { PREFIX_TABLE (PREFIX_EVEX_0F3878) }, 434 { PREFIX_TABLE (PREFIX_EVEX_0F3879) }, 435 { PREFIX_TABLE (PREFIX_EVEX_0F387A) }, 436 { PREFIX_TABLE (PREFIX_EVEX_0F387B) }, 437 { PREFIX_TABLE (PREFIX_EVEX_0F387C) }, 438 { PREFIX_TABLE (PREFIX_EVEX_0F387D) }, 439 { PREFIX_TABLE (PREFIX_EVEX_0F387E) }, 440 { PREFIX_TABLE (PREFIX_EVEX_0F387F) }, 441 /* 80 */ 442 { Bad_Opcode }, 443 { Bad_Opcode }, 444 { Bad_Opcode }, 445 { PREFIX_TABLE (PREFIX_EVEX_0F3883) }, 446 { Bad_Opcode }, 447 { Bad_Opcode }, 448 { Bad_Opcode }, 449 { Bad_Opcode }, 450 /* 88 */ 451 { PREFIX_TABLE (PREFIX_EVEX_0F3888) }, 452 { PREFIX_TABLE (PREFIX_EVEX_0F3889) }, 453 { PREFIX_TABLE (PREFIX_EVEX_0F388A) }, 454 { PREFIX_TABLE (PREFIX_EVEX_0F388B) }, 455 { Bad_Opcode }, 456 { PREFIX_TABLE (PREFIX_EVEX_0F388D) }, 457 { Bad_Opcode }, 458 { Bad_Opcode }, 459 /* 90 */ 460 { PREFIX_TABLE (PREFIX_EVEX_0F3890) }, 461 { PREFIX_TABLE (PREFIX_EVEX_0F3891) }, 462 { PREFIX_TABLE (PREFIX_EVEX_0F3892) }, 463 { PREFIX_TABLE (PREFIX_EVEX_0F3893) }, 464 { Bad_Opcode }, 465 { Bad_Opcode }, 466 { PREFIX_TABLE (PREFIX_EVEX_0F3896) }, 467 { PREFIX_TABLE (PREFIX_EVEX_0F3897) }, 468 /* 98 */ 469 { PREFIX_TABLE (PREFIX_EVEX_0F3898) }, 470 { PREFIX_TABLE (PREFIX_EVEX_0F3899) }, 471 { PREFIX_TABLE (PREFIX_EVEX_0F389A) }, 472 { PREFIX_TABLE (PREFIX_EVEX_0F389B) }, 473 { PREFIX_TABLE (PREFIX_EVEX_0F389C) }, 474 { PREFIX_TABLE (PREFIX_EVEX_0F389D) }, 475 { PREFIX_TABLE (PREFIX_EVEX_0F389E) }, 476 { PREFIX_TABLE (PREFIX_EVEX_0F389F) }, 477 /* A0 */ 478 { PREFIX_TABLE (PREFIX_EVEX_0F38A0) }, 479 { PREFIX_TABLE (PREFIX_EVEX_0F38A1) }, 480 { PREFIX_TABLE (PREFIX_EVEX_0F38A2) }, 481 { PREFIX_TABLE (PREFIX_EVEX_0F38A3) }, 482 { Bad_Opcode }, 483 { Bad_Opcode }, 484 { PREFIX_TABLE (PREFIX_EVEX_0F38A6) }, 485 { PREFIX_TABLE (PREFIX_EVEX_0F38A7) }, 486 /* A8 */ 487 { PREFIX_TABLE (PREFIX_EVEX_0F38A8) }, 488 { PREFIX_TABLE (PREFIX_EVEX_0F38A9) }, 489 { PREFIX_TABLE (PREFIX_EVEX_0F38AA) }, 490 { PREFIX_TABLE (PREFIX_EVEX_0F38AB) }, 491 { PREFIX_TABLE (PREFIX_EVEX_0F38AC) }, 492 { PREFIX_TABLE (PREFIX_EVEX_0F38AD) }, 493 { PREFIX_TABLE (PREFIX_EVEX_0F38AE) }, 494 { PREFIX_TABLE (PREFIX_EVEX_0F38AF) }, 495 /* B0 */ 496 { Bad_Opcode }, 497 { Bad_Opcode }, 498 { Bad_Opcode }, 499 { Bad_Opcode }, 500 { PREFIX_TABLE (PREFIX_EVEX_0F38B4) }, 501 { PREFIX_TABLE (PREFIX_EVEX_0F38B5) }, 502 { PREFIX_TABLE (PREFIX_EVEX_0F38B6) }, 503 { PREFIX_TABLE (PREFIX_EVEX_0F38B7) }, 504 /* B8 */ 505 { PREFIX_TABLE (PREFIX_EVEX_0F38B8) }, 506 { PREFIX_TABLE (PREFIX_EVEX_0F38B9) }, 507 { PREFIX_TABLE (PREFIX_EVEX_0F38BA) }, 508 { PREFIX_TABLE (PREFIX_EVEX_0F38BB) }, 509 { PREFIX_TABLE (PREFIX_EVEX_0F38BC) }, 510 { PREFIX_TABLE (PREFIX_EVEX_0F38BD) }, 511 { PREFIX_TABLE (PREFIX_EVEX_0F38BE) }, 512 { PREFIX_TABLE (PREFIX_EVEX_0F38BF) }, 513 /* C0 */ 514 { Bad_Opcode }, 515 { Bad_Opcode }, 516 { Bad_Opcode }, 517 { Bad_Opcode }, 518 { PREFIX_TABLE (PREFIX_EVEX_0F38C4) }, 519 { Bad_Opcode }, 520 { REG_TABLE (REG_EVEX_0F38C6) }, 521 { REG_TABLE (REG_EVEX_0F38C7) }, 522 /* C8 */ 523 { PREFIX_TABLE (PREFIX_EVEX_0F38C8) }, 524 { Bad_Opcode }, 525 { PREFIX_TABLE (PREFIX_EVEX_0F38CA) }, 526 { PREFIX_TABLE (PREFIX_EVEX_0F38CB) }, 527 { PREFIX_TABLE (PREFIX_EVEX_0F38CC) }, 528 { PREFIX_TABLE (PREFIX_EVEX_0F38CD) }, 529 { Bad_Opcode }, 530 { Bad_Opcode }, 531 /* D0 */ 532 { Bad_Opcode }, 533 { Bad_Opcode }, 534 { Bad_Opcode }, 535 { Bad_Opcode }, 536 { Bad_Opcode }, 537 { Bad_Opcode }, 538 { Bad_Opcode }, 539 { Bad_Opcode }, 540 /* D8 */ 541 { Bad_Opcode }, 542 { Bad_Opcode }, 543 { Bad_Opcode }, 544 { Bad_Opcode }, 545 { Bad_Opcode }, 546 { Bad_Opcode }, 547 { Bad_Opcode }, 548 { Bad_Opcode }, 549 /* E0 */ 550 { Bad_Opcode }, 551 { Bad_Opcode }, 552 { Bad_Opcode }, 553 { Bad_Opcode }, 554 { Bad_Opcode }, 555 { Bad_Opcode }, 556 { Bad_Opcode }, 557 { Bad_Opcode }, 558 /* E8 */ 559 { Bad_Opcode }, 560 { Bad_Opcode }, 561 { Bad_Opcode }, 562 { Bad_Opcode }, 563 { Bad_Opcode }, 564 { Bad_Opcode }, 565 { Bad_Opcode }, 566 { Bad_Opcode }, 567 /* F0 */ 568 { Bad_Opcode }, 569 { Bad_Opcode }, 570 { Bad_Opcode }, 571 { Bad_Opcode }, 572 { Bad_Opcode }, 573 { Bad_Opcode }, 574 { Bad_Opcode }, 575 { Bad_Opcode }, 576 /* F8 */ 577 { Bad_Opcode }, 578 { Bad_Opcode }, 579 { Bad_Opcode }, 580 { Bad_Opcode }, 581 { Bad_Opcode }, 582 { Bad_Opcode }, 583 { Bad_Opcode }, 584 { Bad_Opcode }, 585 }, 586 /* EVEX_0F3A */ 587 { 588 /* 00 */ 589 { PREFIX_TABLE (PREFIX_EVEX_0F3A00) }, 590 { PREFIX_TABLE (PREFIX_EVEX_0F3A01) }, 591 { Bad_Opcode }, 592 { PREFIX_TABLE (PREFIX_EVEX_0F3A03) }, 593 { PREFIX_TABLE (PREFIX_EVEX_0F3A04) }, 594 { PREFIX_TABLE (PREFIX_EVEX_0F3A05) }, 595 { Bad_Opcode }, 596 { Bad_Opcode }, 597 /* 08 */ 598 { PREFIX_TABLE (PREFIX_EVEX_0F3A08) }, 599 { PREFIX_TABLE (PREFIX_EVEX_0F3A09) }, 600 { PREFIX_TABLE (PREFIX_EVEX_0F3A0A) }, 601 { PREFIX_TABLE (PREFIX_EVEX_0F3A0B) }, 602 { Bad_Opcode }, 603 { Bad_Opcode }, 604 { Bad_Opcode }, 605 { PREFIX_TABLE (PREFIX_EVEX_0F3A0F) }, 606 /* 10 */ 607 { Bad_Opcode }, 608 { Bad_Opcode }, 609 { Bad_Opcode }, 610 { Bad_Opcode }, 611 { PREFIX_TABLE (PREFIX_EVEX_0F3A14) }, 612 { PREFIX_TABLE (PREFIX_EVEX_0F3A15) }, 613 { PREFIX_TABLE (PREFIX_EVEX_0F3A16) }, 614 { PREFIX_TABLE (PREFIX_EVEX_0F3A17) }, 615 /* 18 */ 616 { PREFIX_TABLE (PREFIX_EVEX_0F3A18) }, 617 { PREFIX_TABLE (PREFIX_EVEX_0F3A19) }, 618 { PREFIX_TABLE (PREFIX_EVEX_0F3A1A) }, 619 { PREFIX_TABLE (PREFIX_EVEX_0F3A1B) }, 620 { Bad_Opcode }, 621 { PREFIX_TABLE (PREFIX_EVEX_0F3A1D) }, 622 { PREFIX_TABLE (PREFIX_EVEX_0F3A1E) }, 623 { PREFIX_TABLE (PREFIX_EVEX_0F3A1F) }, 624 /* 20 */ 625 { PREFIX_TABLE (PREFIX_EVEX_0F3A20) }, 626 { PREFIX_TABLE (PREFIX_EVEX_0F3A21) }, 627 { PREFIX_TABLE (PREFIX_EVEX_0F3A22) }, 628 { PREFIX_TABLE (PREFIX_EVEX_0F3A23) }, 629 { Bad_Opcode }, 630 { PREFIX_TABLE (PREFIX_EVEX_0F3A25) }, 631 { PREFIX_TABLE (PREFIX_EVEX_0F3A26) }, 632 { PREFIX_TABLE (PREFIX_EVEX_0F3A27) }, 633 /* 28 */ 634 { Bad_Opcode }, 635 { Bad_Opcode }, 636 { Bad_Opcode }, 637 { Bad_Opcode }, 638 { Bad_Opcode }, 639 { Bad_Opcode }, 640 { Bad_Opcode }, 641 { Bad_Opcode }, 642 /* 30 */ 643 { Bad_Opcode }, 644 { Bad_Opcode }, 645 { Bad_Opcode }, 646 { Bad_Opcode }, 647 { Bad_Opcode }, 648 { Bad_Opcode }, 649 { Bad_Opcode }, 650 { Bad_Opcode }, 651 /* 38 */ 652 { PREFIX_TABLE (PREFIX_EVEX_0F3A38) }, 653 { PREFIX_TABLE (PREFIX_EVEX_0F3A39) }, 654 { PREFIX_TABLE (PREFIX_EVEX_0F3A3A) }, 655 { PREFIX_TABLE (PREFIX_EVEX_0F3A3B) }, 656 { Bad_Opcode }, 657 { Bad_Opcode }, 658 { PREFIX_TABLE (PREFIX_EVEX_0F3A3E) }, 659 { PREFIX_TABLE (PREFIX_EVEX_0F3A3F) }, 660 /* 40 */ 661 { Bad_Opcode }, 662 { Bad_Opcode }, 663 { PREFIX_TABLE (PREFIX_EVEX_0F3A42) }, 664 { PREFIX_TABLE (PREFIX_EVEX_0F3A43) }, 665 { Bad_Opcode }, 666 { Bad_Opcode }, 667 { Bad_Opcode }, 668 { Bad_Opcode }, 669 /* 48 */ 670 { Bad_Opcode }, 671 { Bad_Opcode }, 672 { Bad_Opcode }, 673 { Bad_Opcode }, 674 { Bad_Opcode }, 675 { Bad_Opcode }, 676 { Bad_Opcode }, 677 { Bad_Opcode }, 678 /* 50 */ 679 { PREFIX_TABLE (PREFIX_EVEX_0F3A50) }, 680 { PREFIX_TABLE (PREFIX_EVEX_0F3A51) }, 681 { Bad_Opcode }, 682 { Bad_Opcode }, 683 { PREFIX_TABLE (PREFIX_EVEX_0F3A54) }, 684 { PREFIX_TABLE (PREFIX_EVEX_0F3A55) }, 685 { PREFIX_TABLE (PREFIX_EVEX_0F3A56) }, 686 { PREFIX_TABLE (PREFIX_EVEX_0F3A57) }, 687 /* 58 */ 688 { Bad_Opcode }, 689 { Bad_Opcode }, 690 { Bad_Opcode }, 691 { Bad_Opcode }, 692 { Bad_Opcode }, 693 { Bad_Opcode }, 694 { Bad_Opcode }, 695 { Bad_Opcode }, 696 /* 60 */ 697 { Bad_Opcode }, 698 { Bad_Opcode }, 699 { Bad_Opcode }, 700 { Bad_Opcode }, 701 { Bad_Opcode }, 702 { Bad_Opcode }, 703 { PREFIX_TABLE (PREFIX_EVEX_0F3A66) }, 704 { PREFIX_TABLE (PREFIX_EVEX_0F3A67) }, 705 /* 68 */ 706 { Bad_Opcode }, 707 { Bad_Opcode }, 708 { Bad_Opcode }, 709 { Bad_Opcode }, 710 { Bad_Opcode }, 711 { Bad_Opcode }, 712 { Bad_Opcode }, 713 { Bad_Opcode }, 714 /* 70 */ 715 { Bad_Opcode }, 716 { Bad_Opcode }, 717 { Bad_Opcode }, 718 { Bad_Opcode }, 719 { Bad_Opcode }, 720 { Bad_Opcode }, 721 { Bad_Opcode }, 722 { Bad_Opcode }, 723 /* 78 */ 724 { Bad_Opcode }, 725 { Bad_Opcode }, 726 { Bad_Opcode }, 727 { Bad_Opcode }, 728 { Bad_Opcode }, 729 { Bad_Opcode }, 730 { Bad_Opcode }, 731 { Bad_Opcode }, 732 /* 80 */ 733 { Bad_Opcode }, 734 { Bad_Opcode }, 735 { Bad_Opcode }, 736 { Bad_Opcode }, 737 { Bad_Opcode }, 738 { Bad_Opcode }, 739 { Bad_Opcode }, 740 { Bad_Opcode }, 741 /* 88 */ 742 { Bad_Opcode }, 743 { Bad_Opcode }, 744 { Bad_Opcode }, 745 { Bad_Opcode }, 746 { Bad_Opcode }, 747 { Bad_Opcode }, 748 { Bad_Opcode }, 749 { Bad_Opcode }, 750 /* 90 */ 751 { Bad_Opcode }, 752 { Bad_Opcode }, 753 { Bad_Opcode }, 754 { Bad_Opcode }, 755 { Bad_Opcode }, 756 { Bad_Opcode }, 757 { Bad_Opcode }, 758 { Bad_Opcode }, 759 /* 98 */ 760 { Bad_Opcode }, 761 { Bad_Opcode }, 762 { Bad_Opcode }, 763 { Bad_Opcode }, 764 { Bad_Opcode }, 765 { Bad_Opcode }, 766 { Bad_Opcode }, 767 { Bad_Opcode }, 768 /* A0 */ 769 { Bad_Opcode }, 770 { Bad_Opcode }, 771 { Bad_Opcode }, 772 { Bad_Opcode }, 773 { Bad_Opcode }, 774 { Bad_Opcode }, 775 { Bad_Opcode }, 776 { Bad_Opcode }, 777 /* A8 */ 778 { Bad_Opcode }, 779 { Bad_Opcode }, 780 { Bad_Opcode }, 781 { Bad_Opcode }, 782 { Bad_Opcode }, 783 { Bad_Opcode }, 784 { Bad_Opcode }, 785 { Bad_Opcode }, 786 /* B0 */ 787 { Bad_Opcode }, 788 { Bad_Opcode }, 789 { Bad_Opcode }, 790 { Bad_Opcode }, 791 { Bad_Opcode }, 792 { Bad_Opcode }, 793 { Bad_Opcode }, 794 { Bad_Opcode }, 795 /* B8 */ 796 { Bad_Opcode }, 797 { Bad_Opcode }, 798 { Bad_Opcode }, 799 { Bad_Opcode }, 800 { Bad_Opcode }, 801 { Bad_Opcode }, 802 { Bad_Opcode }, 803 { Bad_Opcode }, 804 /* C0 */ 805 { Bad_Opcode }, 806 { Bad_Opcode }, 807 { Bad_Opcode }, 808 { Bad_Opcode }, 809 { Bad_Opcode }, 810 { Bad_Opcode }, 811 { Bad_Opcode }, 812 { Bad_Opcode }, 813 /* C8 */ 814 { Bad_Opcode }, 815 { Bad_Opcode }, 816 { Bad_Opcode }, 817 { Bad_Opcode }, 818 { Bad_Opcode }, 819 { Bad_Opcode }, 820 { Bad_Opcode }, 821 { Bad_Opcode }, 822 /* D0 */ 823 { Bad_Opcode }, 824 { Bad_Opcode }, 825 { Bad_Opcode }, 826 { Bad_Opcode }, 827 { Bad_Opcode }, 828 { Bad_Opcode }, 829 { Bad_Opcode }, 830 { Bad_Opcode }, 831 /* D8 */ 832 { Bad_Opcode }, 833 { Bad_Opcode }, 834 { Bad_Opcode }, 835 { Bad_Opcode }, 836 { Bad_Opcode }, 837 { Bad_Opcode }, 838 { Bad_Opcode }, 839 { Bad_Opcode }, 840 /* E0 */ 841 { Bad_Opcode }, 842 { Bad_Opcode }, 843 { Bad_Opcode }, 844 { Bad_Opcode }, 845 { Bad_Opcode }, 846 { Bad_Opcode }, 847 { Bad_Opcode }, 848 { Bad_Opcode }, 849 /* E8 */ 850 { Bad_Opcode }, 851 { Bad_Opcode }, 852 { Bad_Opcode }, 853 { Bad_Opcode }, 854 { Bad_Opcode }, 855 { Bad_Opcode }, 856 { Bad_Opcode }, 857 { Bad_Opcode }, 858 /* F0 */ 859 { Bad_Opcode }, 860 { Bad_Opcode }, 861 { Bad_Opcode }, 862 { Bad_Opcode }, 863 { Bad_Opcode }, 864 { Bad_Opcode }, 865 { Bad_Opcode }, 866 { Bad_Opcode }, 867 /* F8 */ 868 { Bad_Opcode }, 869 { Bad_Opcode }, 870 { Bad_Opcode }, 871 { Bad_Opcode }, 872 { Bad_Opcode }, 873 { Bad_Opcode }, 874 { Bad_Opcode }, 875 { Bad_Opcode }, 876 }, 877}; 878#endif /* NEED_OPCODE_TABLE */ 879 880#ifdef NEED_REG_TABLE 881 /* REG_EVEX_0F71 */ 882 { 883 { Bad_Opcode }, 884 { Bad_Opcode }, 885 { PREFIX_TABLE (PREFIX_EVEX_0F71_REG_2) }, 886 { Bad_Opcode }, 887 { PREFIX_TABLE (PREFIX_EVEX_0F71_REG_4) }, 888 { Bad_Opcode }, 889 { PREFIX_TABLE (PREFIX_EVEX_0F71_REG_6) }, 890 }, 891 /* REG_EVEX_0F72 */ 892 { 893 { PREFIX_TABLE (PREFIX_EVEX_0F72_REG_0) }, 894 { PREFIX_TABLE (PREFIX_EVEX_0F72_REG_1) }, 895 { PREFIX_TABLE (PREFIX_EVEX_0F72_REG_2) }, 896 { Bad_Opcode }, 897 { PREFIX_TABLE (PREFIX_EVEX_0F72_REG_4) }, 898 { Bad_Opcode }, 899 { PREFIX_TABLE (PREFIX_EVEX_0F72_REG_6) }, 900 }, 901 /* REG_EVEX_0F73 */ 902 { 903 { Bad_Opcode }, 904 { Bad_Opcode }, 905 { PREFIX_TABLE (PREFIX_EVEX_0F73_REG_2) }, 906 { PREFIX_TABLE (PREFIX_EVEX_0F73_REG_3) }, 907 { Bad_Opcode }, 908 { Bad_Opcode }, 909 { PREFIX_TABLE (PREFIX_EVEX_0F73_REG_6) }, 910 { PREFIX_TABLE (PREFIX_EVEX_0F73_REG_7) }, 911 }, 912 /* REG_EVEX_0F38C6 */ 913 { 914 { Bad_Opcode }, 915 { MOD_TABLE (MOD_EVEX_0F38C6_REG_1) }, 916 { MOD_TABLE (MOD_EVEX_0F38C6_REG_2) }, 917 { Bad_Opcode }, 918 { Bad_Opcode }, 919 { MOD_TABLE (MOD_EVEX_0F38C6_REG_5) }, 920 { MOD_TABLE (MOD_EVEX_0F38C6_REG_6) }, 921 }, 922 /* REG_EVEX_0F38C7 */ 923 { 924 { Bad_Opcode }, 925 { MOD_TABLE (MOD_EVEX_0F38C7_REG_1) }, 926 { MOD_TABLE (MOD_EVEX_0F38C7_REG_2) }, 927 { Bad_Opcode }, 928 { Bad_Opcode }, 929 { MOD_TABLE (MOD_EVEX_0F38C7_REG_5) }, 930 { MOD_TABLE (MOD_EVEX_0F38C7_REG_6) }, 931 }, 932#endif /* NEED_REG_TABLE */ 933 934#ifdef NEED_PREFIX_TABLE 935 /* PREFIX_EVEX_0F10 */ 936 { 937 { VEX_W_TABLE (EVEX_W_0F10_P_0) }, 938 { MOD_TABLE (MOD_EVEX_0F10_PREFIX_1) }, 939 { VEX_W_TABLE (EVEX_W_0F10_P_2) }, 940 { MOD_TABLE (MOD_EVEX_0F10_PREFIX_3) }, 941 }, 942 /* PREFIX_EVEX_0F11 */ 943 { 944 { VEX_W_TABLE (EVEX_W_0F11_P_0) }, 945 { MOD_TABLE (MOD_EVEX_0F11_PREFIX_1) }, 946 { VEX_W_TABLE (EVEX_W_0F11_P_2) }, 947 { MOD_TABLE (MOD_EVEX_0F11_PREFIX_3) }, 948 }, 949 /* PREFIX_EVEX_0F12 */ 950 { 951 { MOD_TABLE (MOD_EVEX_0F12_PREFIX_0) }, 952 { VEX_W_TABLE (EVEX_W_0F12_P_1) }, 953 { VEX_W_TABLE (EVEX_W_0F12_P_2) }, 954 { VEX_W_TABLE (EVEX_W_0F12_P_3) }, 955 }, 956 /* PREFIX_EVEX_0F13 */ 957 { 958 { VEX_W_TABLE (EVEX_W_0F13_P_0) }, 959 { Bad_Opcode }, 960 { VEX_W_TABLE (EVEX_W_0F13_P_2) }, 961 }, 962 /* PREFIX_EVEX_0F14 */ 963 { 964 { VEX_W_TABLE (EVEX_W_0F14_P_0) }, 965 { Bad_Opcode }, 966 { VEX_W_TABLE (EVEX_W_0F14_P_2) }, 967 }, 968 /* PREFIX_EVEX_0F15 */ 969 { 970 { VEX_W_TABLE (EVEX_W_0F15_P_0) }, 971 { Bad_Opcode }, 972 { VEX_W_TABLE (EVEX_W_0F15_P_2) }, 973 }, 974 /* PREFIX_EVEX_0F16 */ 975 { 976 { MOD_TABLE (MOD_EVEX_0F16_PREFIX_0) }, 977 { VEX_W_TABLE (EVEX_W_0F16_P_1) }, 978 { VEX_W_TABLE (EVEX_W_0F16_P_2) }, 979 }, 980 /* PREFIX_EVEX_0F17 */ 981 { 982 { VEX_W_TABLE (EVEX_W_0F17_P_0) }, 983 { Bad_Opcode }, 984 { VEX_W_TABLE (EVEX_W_0F17_P_2) }, 985 }, 986 /* PREFIX_EVEX_0F28 */ 987 { 988 { VEX_W_TABLE (EVEX_W_0F28_P_0) }, 989 { Bad_Opcode }, 990 { VEX_W_TABLE (EVEX_W_0F28_P_2) }, 991 }, 992 /* PREFIX_EVEX_0F29 */ 993 { 994 { VEX_W_TABLE (EVEX_W_0F29_P_0) }, 995 { Bad_Opcode }, 996 { VEX_W_TABLE (EVEX_W_0F29_P_2) }, 997 }, 998 /* PREFIX_EVEX_0F2A */ 999 { 1000 { Bad_Opcode }, 1001 { VEX_W_TABLE (EVEX_W_0F2A_P_1) }, 1002 { Bad_Opcode }, 1003 { VEX_W_TABLE (EVEX_W_0F2A_P_3) }, 1004 }, 1005 /* PREFIX_EVEX_0F2B */ 1006 { 1007 { VEX_W_TABLE (EVEX_W_0F2B_P_0) }, 1008 { Bad_Opcode }, 1009 { VEX_W_TABLE (EVEX_W_0F2B_P_2) }, 1010 }, 1011 /* PREFIX_EVEX_0F2C */ 1012 { 1013 { Bad_Opcode }, 1014 { "vcvttss2si", { Gdq, EXxmm_md, EXxEVexS }, 0 }, 1015 { Bad_Opcode }, 1016 { "vcvttsd2si", { Gdq, EXxmm_mq, EXxEVexS }, 0 }, 1017 }, 1018 /* PREFIX_EVEX_0F2D */ 1019 { 1020 { Bad_Opcode }, 1021 { "vcvtss2si", { Gdq, EXxmm_md, EXxEVexR }, 0 }, 1022 { Bad_Opcode }, 1023 { "vcvtsd2si", { Gdq, EXxmm_mq, EXxEVexR }, 0 }, 1024 }, 1025 /* PREFIX_EVEX_0F2E */ 1026 { 1027 { VEX_W_TABLE (EVEX_W_0F2E_P_0) }, 1028 { Bad_Opcode }, 1029 { VEX_W_TABLE (EVEX_W_0F2E_P_2) }, 1030 }, 1031 /* PREFIX_EVEX_0F2F */ 1032 { 1033 { VEX_W_TABLE (EVEX_W_0F2F_P_0) }, 1034 { Bad_Opcode }, 1035 { VEX_W_TABLE (EVEX_W_0F2F_P_2) }, 1036 }, 1037 /* PREFIX_EVEX_0F51 */ 1038 { 1039 { VEX_W_TABLE (EVEX_W_0F51_P_0) }, 1040 { VEX_W_TABLE (EVEX_W_0F51_P_1) }, 1041 { VEX_W_TABLE (EVEX_W_0F51_P_2) }, 1042 { VEX_W_TABLE (EVEX_W_0F51_P_3) }, 1043 }, 1044 /* PREFIX_EVEX_0F54 */ 1045 { 1046 { VEX_W_TABLE (EVEX_W_0F54_P_0) }, 1047 { Bad_Opcode }, 1048 { VEX_W_TABLE (EVEX_W_0F54_P_2) }, 1049 }, 1050 /* PREFIX_EVEX_0F55 */ 1051 { 1052 { VEX_W_TABLE (EVEX_W_0F55_P_0) }, 1053 { Bad_Opcode }, 1054 { VEX_W_TABLE (EVEX_W_0F55_P_2) }, 1055 }, 1056 /* PREFIX_EVEX_0F56 */ 1057 { 1058 { VEX_W_TABLE (EVEX_W_0F56_P_0) }, 1059 { Bad_Opcode }, 1060 { VEX_W_TABLE (EVEX_W_0F56_P_2) }, 1061 }, 1062 /* PREFIX_EVEX_0F57 */ 1063 { 1064 { VEX_W_TABLE (EVEX_W_0F57_P_0) }, 1065 { Bad_Opcode }, 1066 { VEX_W_TABLE (EVEX_W_0F57_P_2) }, 1067 }, 1068 /* PREFIX_EVEX_0F58 */ 1069 { 1070 { VEX_W_TABLE (EVEX_W_0F58_P_0) }, 1071 { VEX_W_TABLE (EVEX_W_0F58_P_1) }, 1072 { VEX_W_TABLE (EVEX_W_0F58_P_2) }, 1073 { VEX_W_TABLE (EVEX_W_0F58_P_3) }, 1074 }, 1075 /* PREFIX_EVEX_0F59 */ 1076 { 1077 { VEX_W_TABLE (EVEX_W_0F59_P_0) }, 1078 { VEX_W_TABLE (EVEX_W_0F59_P_1) }, 1079 { VEX_W_TABLE (EVEX_W_0F59_P_2) }, 1080 { VEX_W_TABLE (EVEX_W_0F59_P_3) }, 1081 }, 1082 /* PREFIX_EVEX_0F5A */ 1083 { 1084 { VEX_W_TABLE (EVEX_W_0F5A_P_0) }, 1085 { VEX_W_TABLE (EVEX_W_0F5A_P_1) }, 1086 { VEX_W_TABLE (EVEX_W_0F5A_P_2) }, 1087 { VEX_W_TABLE (EVEX_W_0F5A_P_3) }, 1088 }, 1089 /* PREFIX_EVEX_0F5B */ 1090 { 1091 { VEX_W_TABLE (EVEX_W_0F5B_P_0) }, 1092 { VEX_W_TABLE (EVEX_W_0F5B_P_1) }, 1093 { VEX_W_TABLE (EVEX_W_0F5B_P_2) }, 1094 }, 1095 /* PREFIX_EVEX_0F5C */ 1096 { 1097 { VEX_W_TABLE (EVEX_W_0F5C_P_0) }, 1098 { VEX_W_TABLE (EVEX_W_0F5C_P_1) }, 1099 { VEX_W_TABLE (EVEX_W_0F5C_P_2) }, 1100 { VEX_W_TABLE (EVEX_W_0F5C_P_3) }, 1101 }, 1102 /* PREFIX_EVEX_0F5D */ 1103 { 1104 { VEX_W_TABLE (EVEX_W_0F5D_P_0) }, 1105 { VEX_W_TABLE (EVEX_W_0F5D_P_1) }, 1106 { VEX_W_TABLE (EVEX_W_0F5D_P_2) }, 1107 { VEX_W_TABLE (EVEX_W_0F5D_P_3) }, 1108 }, 1109 /* PREFIX_EVEX_0F5E */ 1110 { 1111 { VEX_W_TABLE (EVEX_W_0F5E_P_0) }, 1112 { VEX_W_TABLE (EVEX_W_0F5E_P_1) }, 1113 { VEX_W_TABLE (EVEX_W_0F5E_P_2) }, 1114 { VEX_W_TABLE (EVEX_W_0F5E_P_3) }, 1115 }, 1116 /* PREFIX_EVEX_0F5F */ 1117 { 1118 { VEX_W_TABLE (EVEX_W_0F5F_P_0) }, 1119 { VEX_W_TABLE (EVEX_W_0F5F_P_1) }, 1120 { VEX_W_TABLE (EVEX_W_0F5F_P_2) }, 1121 { VEX_W_TABLE (EVEX_W_0F5F_P_3) }, 1122 }, 1123 /* PREFIX_EVEX_0F60 */ 1124 { 1125 { Bad_Opcode }, 1126 { Bad_Opcode }, 1127 { "vpunpcklbw", { XM, Vex, EXx }, 0 }, 1128 }, 1129 /* PREFIX_EVEX_0F61 */ 1130 { 1131 { Bad_Opcode }, 1132 { Bad_Opcode }, 1133 { "vpunpcklwd", { XM, Vex, EXx }, 0 }, 1134 }, 1135 /* PREFIX_EVEX_0F62 */ 1136 { 1137 { Bad_Opcode }, 1138 { Bad_Opcode }, 1139 { VEX_W_TABLE (EVEX_W_0F62_P_2) }, 1140 }, 1141 /* PREFIX_EVEX_0F63 */ 1142 { 1143 { Bad_Opcode }, 1144 { Bad_Opcode }, 1145 { "vpacksswb", { XM, Vex, EXx }, 0 }, 1146 }, 1147 /* PREFIX_EVEX_0F64 */ 1148 { 1149 { Bad_Opcode }, 1150 { Bad_Opcode }, 1151 { "vpcmpgtb", { XMask, Vex, EXx }, 0 }, 1152 }, 1153 /* PREFIX_EVEX_0F65 */ 1154 { 1155 { Bad_Opcode }, 1156 { Bad_Opcode }, 1157 { "vpcmpgtw", { XMask, Vex, EXx }, 0 }, 1158 }, 1159 /* PREFIX_EVEX_0F66 */ 1160 { 1161 { Bad_Opcode }, 1162 { Bad_Opcode }, 1163 { VEX_W_TABLE (EVEX_W_0F66_P_2) }, 1164 }, 1165 /* PREFIX_EVEX_0F67 */ 1166 { 1167 { Bad_Opcode }, 1168 { Bad_Opcode }, 1169 { "vpackuswb", { XM, Vex, EXx }, 0 }, 1170 }, 1171 /* PREFIX_EVEX_0F68 */ 1172 { 1173 { Bad_Opcode }, 1174 { Bad_Opcode }, 1175 { "vpunpckhbw", { XM, Vex, EXx }, 0 }, 1176 }, 1177 /* PREFIX_EVEX_0F69 */ 1178 { 1179 { Bad_Opcode }, 1180 { Bad_Opcode }, 1181 { "vpunpckhwd", { XM, Vex, EXx }, 0 }, 1182 }, 1183 /* PREFIX_EVEX_0F6A */ 1184 { 1185 { Bad_Opcode }, 1186 { Bad_Opcode }, 1187 { VEX_W_TABLE (EVEX_W_0F6A_P_2) }, 1188 }, 1189 /* PREFIX_EVEX_0F6B */ 1190 { 1191 { Bad_Opcode }, 1192 { Bad_Opcode }, 1193 { VEX_W_TABLE (EVEX_W_0F6B_P_2) }, 1194 }, 1195 /* PREFIX_EVEX_0F6C */ 1196 { 1197 { Bad_Opcode }, 1198 { Bad_Opcode }, 1199 { VEX_W_TABLE (EVEX_W_0F6C_P_2) }, 1200 }, 1201 /* PREFIX_EVEX_0F6D */ 1202 { 1203 { Bad_Opcode }, 1204 { Bad_Opcode }, 1205 { VEX_W_TABLE (EVEX_W_0F6D_P_2) }, 1206 }, 1207 /* PREFIX_EVEX_0F6E */ 1208 { 1209 { Bad_Opcode }, 1210 { Bad_Opcode }, 1211 { VEX_W_TABLE (EVEX_W_0F6E_P_2) }, 1212 }, 1213 /* PREFIX_EVEX_0F6F */ 1214 { 1215 { Bad_Opcode }, 1216 { VEX_W_TABLE (EVEX_W_0F6F_P_1) }, 1217 { VEX_W_TABLE (EVEX_W_0F6F_P_2) }, 1218 { VEX_W_TABLE (EVEX_W_0F6F_P_3) }, 1219 }, 1220 /* PREFIX_EVEX_0F70 */ 1221 { 1222 { Bad_Opcode }, 1223 { "vpshufhw", { XM, EXx, Ib }, 0 }, 1224 { VEX_W_TABLE (EVEX_W_0F70_P_2) }, 1225 { "vpshuflw", { XM, EXx, Ib }, 0 }, 1226 }, 1227 /* PREFIX_EVEX_0F71_REG_2 */ 1228 { 1229 { Bad_Opcode }, 1230 { Bad_Opcode }, 1231 { "vpsrlw", { Vex, EXx, Ib }, 0 }, 1232 }, 1233 /* PREFIX_EVEX_0F71_REG_4 */ 1234 { 1235 { Bad_Opcode }, 1236 { Bad_Opcode }, 1237 { "vpsraw", { Vex, EXx, Ib }, 0 }, 1238 }, 1239 /* PREFIX_EVEX_0F71_REG_6 */ 1240 { 1241 { Bad_Opcode }, 1242 { Bad_Opcode }, 1243 { "vpsllw", { Vex, EXx, Ib }, 0 }, 1244 }, 1245 /* PREFIX_EVEX_0F72_REG_0 */ 1246 { 1247 { Bad_Opcode }, 1248 { Bad_Opcode }, 1249 { "vpror%LW", { Vex, EXx, Ib }, 0 }, 1250 }, 1251 /* PREFIX_EVEX_0F72_REG_1 */ 1252 { 1253 { Bad_Opcode }, 1254 { Bad_Opcode }, 1255 { "vprol%LW", { Vex, EXx, Ib }, 0 }, 1256 }, 1257 /* PREFIX_EVEX_0F72_REG_2 */ 1258 { 1259 { Bad_Opcode }, 1260 { Bad_Opcode }, 1261 { VEX_W_TABLE (EVEX_W_0F72_R_2_P_2) }, 1262 }, 1263 /* PREFIX_EVEX_0F72_REG_4 */ 1264 { 1265 { Bad_Opcode }, 1266 { Bad_Opcode }, 1267 { "vpsra%LW", { Vex, EXx, Ib }, 0 }, 1268 }, 1269 /* PREFIX_EVEX_0F72_REG_6 */ 1270 { 1271 { Bad_Opcode }, 1272 { Bad_Opcode }, 1273 { VEX_W_TABLE (EVEX_W_0F72_R_6_P_2) }, 1274 }, 1275 /* PREFIX_EVEX_0F73_REG_2 */ 1276 { 1277 { Bad_Opcode }, 1278 { Bad_Opcode }, 1279 { VEX_W_TABLE (EVEX_W_0F73_R_2_P_2) }, 1280 }, 1281 /* PREFIX_EVEX_0F73_REG_3 */ 1282 { 1283 { Bad_Opcode }, 1284 { Bad_Opcode }, 1285 { "vpsrldq", { Vex, EXx, Ib }, 0 }, 1286 }, 1287 /* PREFIX_EVEX_0F73_REG_6 */ 1288 { 1289 { Bad_Opcode }, 1290 { Bad_Opcode }, 1291 { VEX_W_TABLE (EVEX_W_0F73_R_6_P_2) }, 1292 }, 1293 /* PREFIX_EVEX_0F73_REG_7 */ 1294 { 1295 { Bad_Opcode }, 1296 { Bad_Opcode }, 1297 { "vpslldq", { Vex, EXx, Ib }, 0 }, 1298 }, 1299 /* PREFIX_EVEX_0F74 */ 1300 { 1301 { Bad_Opcode }, 1302 { Bad_Opcode }, 1303 { "vpcmpeqb", { XMask, Vex, EXx }, 0 }, 1304 }, 1305 /* PREFIX_EVEX_0F75 */ 1306 { 1307 { Bad_Opcode }, 1308 { Bad_Opcode }, 1309 { "vpcmpeqw", { XMask, Vex, EXx }, 0 }, 1310 }, 1311 /* PREFIX_EVEX_0F76 */ 1312 { 1313 { Bad_Opcode }, 1314 { Bad_Opcode }, 1315 { VEX_W_TABLE (EVEX_W_0F76_P_2) }, 1316 }, 1317 /* PREFIX_EVEX_0F78 */ 1318 { 1319 { VEX_W_TABLE (EVEX_W_0F78_P_0) }, 1320 { "vcvttss2usi", { Gdq, EXxmm_md, EXxEVexS }, 0 }, 1321 { VEX_W_TABLE (EVEX_W_0F78_P_2) }, 1322 { "vcvttsd2usi", { Gdq, EXxmm_mq, EXxEVexS }, 0 }, 1323 }, 1324 /* PREFIX_EVEX_0F79 */ 1325 { 1326 { VEX_W_TABLE (EVEX_W_0F79_P_0) }, 1327 { "vcvtss2usi", { Gdq, EXxmm_md, EXxEVexR }, 0 }, 1328 { VEX_W_TABLE (EVEX_W_0F79_P_2) }, 1329 { "vcvtsd2usi", { Gdq, EXxmm_mq, EXxEVexR }, 0 }, 1330 }, 1331 /* PREFIX_EVEX_0F7A */ 1332 { 1333 { Bad_Opcode }, 1334 { VEX_W_TABLE (EVEX_W_0F7A_P_1) }, 1335 { VEX_W_TABLE (EVEX_W_0F7A_P_2) }, 1336 { VEX_W_TABLE (EVEX_W_0F7A_P_3) }, 1337 }, 1338 /* PREFIX_EVEX_0F7B */ 1339 { 1340 { Bad_Opcode }, 1341 { VEX_W_TABLE (EVEX_W_0F7B_P_1) }, 1342 { VEX_W_TABLE (EVEX_W_0F7B_P_2) }, 1343 { VEX_W_TABLE (EVEX_W_0F7B_P_3) }, 1344 }, 1345 /* PREFIX_EVEX_0F7E */ 1346 { 1347 { Bad_Opcode }, 1348 { VEX_W_TABLE (EVEX_W_0F7E_P_1) }, 1349 { VEX_W_TABLE (EVEX_W_0F7E_P_2) }, 1350 }, 1351 /* PREFIX_EVEX_0F7F */ 1352 { 1353 { Bad_Opcode }, 1354 { VEX_W_TABLE (EVEX_W_0F7F_P_1) }, 1355 { VEX_W_TABLE (EVEX_W_0F7F_P_2) }, 1356 { VEX_W_TABLE (EVEX_W_0F7F_P_3) }, 1357 }, 1358 /* PREFIX_EVEX_0FC2 */ 1359 { 1360 { VEX_W_TABLE (EVEX_W_0FC2_P_0) }, 1361 { VEX_W_TABLE (EVEX_W_0FC2_P_1) }, 1362 { VEX_W_TABLE (EVEX_W_0FC2_P_2) }, 1363 { VEX_W_TABLE (EVEX_W_0FC2_P_3) }, 1364 }, 1365 /* PREFIX_EVEX_0FC4 */ 1366 { 1367 { Bad_Opcode }, 1368 { Bad_Opcode }, 1369 { "vpinsrw", { XM, Vex128, Edw, Ib }, 0 }, 1370 }, 1371 /* PREFIX_EVEX_0FC5 */ 1372 { 1373 { Bad_Opcode }, 1374 { Bad_Opcode }, 1375 { "vpextrw", { Gdq, XS, Ib }, 0 }, 1376 }, 1377 /* PREFIX_EVEX_0FC6 */ 1378 { 1379 { VEX_W_TABLE (EVEX_W_0FC6_P_0) }, 1380 { Bad_Opcode }, 1381 { VEX_W_TABLE (EVEX_W_0FC6_P_2) }, 1382 }, 1383 /* PREFIX_EVEX_0FD1 */ 1384 { 1385 { Bad_Opcode }, 1386 { Bad_Opcode }, 1387 { "vpsrlw", { XM, Vex, EXxmm }, 0 }, 1388 }, 1389 /* PREFIX_EVEX_0FD2 */ 1390 { 1391 { Bad_Opcode }, 1392 { Bad_Opcode }, 1393 { VEX_W_TABLE (EVEX_W_0FD2_P_2) }, 1394 }, 1395 /* PREFIX_EVEX_0FD3 */ 1396 { 1397 { Bad_Opcode }, 1398 { Bad_Opcode }, 1399 { VEX_W_TABLE (EVEX_W_0FD3_P_2) }, 1400 }, 1401 /* PREFIX_EVEX_0FD4 */ 1402 { 1403 { Bad_Opcode }, 1404 { Bad_Opcode }, 1405 { VEX_W_TABLE (EVEX_W_0FD4_P_2) }, 1406 }, 1407 /* PREFIX_EVEX_0FD5 */ 1408 { 1409 { Bad_Opcode }, 1410 { Bad_Opcode }, 1411 { "vpmullw", { XM, Vex, EXx }, 0 }, 1412 }, 1413 /* PREFIX_EVEX_0FD6 */ 1414 { 1415 { Bad_Opcode }, 1416 { Bad_Opcode }, 1417 { VEX_W_TABLE (EVEX_W_0FD6_P_2) }, 1418 }, 1419 /* PREFIX_EVEX_0FD8 */ 1420 { 1421 { Bad_Opcode }, 1422 { Bad_Opcode }, 1423 { "vpsubusb", { XM, Vex, EXx }, 0 }, 1424 }, 1425 /* PREFIX_EVEX_0FD9 */ 1426 { 1427 { Bad_Opcode }, 1428 { Bad_Opcode }, 1429 { "vpsubusw", { XM, Vex, EXx }, 0 }, 1430 }, 1431 /* PREFIX_EVEX_0FDA */ 1432 { 1433 { Bad_Opcode }, 1434 { Bad_Opcode }, 1435 { "vpminub", { XM, Vex, EXx }, 0 }, 1436 }, 1437 /* PREFIX_EVEX_0FDB */ 1438 { 1439 { Bad_Opcode }, 1440 { Bad_Opcode }, 1441 { "vpand%LW", { XM, Vex, EXx }, 0 }, 1442 }, 1443 /* PREFIX_EVEX_0FDC */ 1444 { 1445 { Bad_Opcode }, 1446 { Bad_Opcode }, 1447 { "vpaddusb", { XM, Vex, EXx }, 0 }, 1448 }, 1449 /* PREFIX_EVEX_0FDD */ 1450 { 1451 { Bad_Opcode }, 1452 { Bad_Opcode }, 1453 { "vpaddusw", { XM, Vex, EXx }, 0 }, 1454 }, 1455 /* PREFIX_EVEX_0FDE */ 1456 { 1457 { Bad_Opcode }, 1458 { Bad_Opcode }, 1459 { "vpmaxub", { XM, Vex, EXx }, 0 }, 1460 }, 1461 /* PREFIX_EVEX_0FDF */ 1462 { 1463 { Bad_Opcode }, 1464 { Bad_Opcode }, 1465 { "vpandn%LW", { XM, Vex, EXx }, 0 }, 1466 }, 1467 /* PREFIX_EVEX_0FE0 */ 1468 { 1469 { Bad_Opcode }, 1470 { Bad_Opcode }, 1471 { "vpavgb", { XM, Vex, EXx }, 0 }, 1472 }, 1473 /* PREFIX_EVEX_0FE1 */ 1474 { 1475 { Bad_Opcode }, 1476 { Bad_Opcode }, 1477 { "vpsraw", { XM, Vex, EXxmm }, 0 }, 1478 }, 1479 /* PREFIX_EVEX_0FE2 */ 1480 { 1481 { Bad_Opcode }, 1482 { Bad_Opcode }, 1483 { "vpsra%LW", { XM, Vex, EXxmm }, 0 }, 1484 }, 1485 /* PREFIX_EVEX_0FE3 */ 1486 { 1487 { Bad_Opcode }, 1488 { Bad_Opcode }, 1489 { "vpavgw", { XM, Vex, EXx }, 0 }, 1490 }, 1491 /* PREFIX_EVEX_0FE4 */ 1492 { 1493 { Bad_Opcode }, 1494 { Bad_Opcode }, 1495 { "vpmulhuw", { XM, Vex, EXx }, 0 }, 1496 }, 1497 /* PREFIX_EVEX_0FE5 */ 1498 { 1499 { Bad_Opcode }, 1500 { Bad_Opcode }, 1501 { "vpmulhw", { XM, Vex, EXx }, 0 }, 1502 }, 1503 /* PREFIX_EVEX_0FE6 */ 1504 { 1505 { Bad_Opcode }, 1506 { VEX_W_TABLE (EVEX_W_0FE6_P_1) }, 1507 { VEX_W_TABLE (EVEX_W_0FE6_P_2) }, 1508 { VEX_W_TABLE (EVEX_W_0FE6_P_3) }, 1509 }, 1510 /* PREFIX_EVEX_0FE7 */ 1511 { 1512 { Bad_Opcode }, 1513 { Bad_Opcode }, 1514 { VEX_W_TABLE (EVEX_W_0FE7_P_2) }, 1515 }, 1516 /* PREFIX_EVEX_0FE8 */ 1517 { 1518 { Bad_Opcode }, 1519 { Bad_Opcode }, 1520 { "vpsubsb", { XM, Vex, EXx }, 0 }, 1521 }, 1522 /* PREFIX_EVEX_0FE9 */ 1523 { 1524 { Bad_Opcode }, 1525 { Bad_Opcode }, 1526 { "vpsubsw", { XM, Vex, EXx }, 0 }, 1527 }, 1528 /* PREFIX_EVEX_0FEA */ 1529 { 1530 { Bad_Opcode }, 1531 { Bad_Opcode }, 1532 { "vpminsw", { XM, Vex, EXx }, 0 }, 1533 }, 1534 /* PREFIX_EVEX_0FEB */ 1535 { 1536 { Bad_Opcode }, 1537 { Bad_Opcode }, 1538 { "vpor%LW", { XM, Vex, EXx }, 0 }, 1539 }, 1540 /* PREFIX_EVEX_0FEC */ 1541 { 1542 { Bad_Opcode }, 1543 { Bad_Opcode }, 1544 { "vpaddsb", { XM, Vex, EXx }, 0 }, 1545 }, 1546 /* PREFIX_EVEX_0FED */ 1547 { 1548 { Bad_Opcode }, 1549 { Bad_Opcode }, 1550 { "vpaddsw", { XM, Vex, EXx }, 0 }, 1551 }, 1552 /* PREFIX_EVEX_0FEE */ 1553 { 1554 { Bad_Opcode }, 1555 { Bad_Opcode }, 1556 { "vpmaxsw", { XM, Vex, EXx }, 0 }, 1557 }, 1558 /* PREFIX_EVEX_0FEF */ 1559 { 1560 { Bad_Opcode }, 1561 { Bad_Opcode }, 1562 { "vpxor%LW", { XM, Vex, EXx }, 0 }, 1563 }, 1564 /* PREFIX_EVEX_0FF1 */ 1565 { 1566 { Bad_Opcode }, 1567 { Bad_Opcode }, 1568 { "vpsllw", { XM, Vex, EXxmm }, 0 }, 1569 }, 1570 /* PREFIX_EVEX_0FF2 */ 1571 { 1572 { Bad_Opcode }, 1573 { Bad_Opcode }, 1574 { VEX_W_TABLE (EVEX_W_0FF2_P_2) }, 1575 }, 1576 /* PREFIX_EVEX_0FF3 */ 1577 { 1578 { Bad_Opcode }, 1579 { Bad_Opcode }, 1580 { VEX_W_TABLE (EVEX_W_0FF3_P_2) }, 1581 }, 1582 /* PREFIX_EVEX_0FF4 */ 1583 { 1584 { Bad_Opcode }, 1585 { Bad_Opcode }, 1586 { VEX_W_TABLE (EVEX_W_0FF4_P_2) }, 1587 }, 1588 /* PREFIX_EVEX_0FF5 */ 1589 { 1590 { Bad_Opcode }, 1591 { Bad_Opcode }, 1592 { "vpmaddwd", { XM, Vex, EXx }, 0 }, 1593 }, 1594 /* PREFIX_EVEX_0FF6 */ 1595 { 1596 { Bad_Opcode }, 1597 { Bad_Opcode }, 1598 { "vpsadbw", { XM, Vex, EXx }, 0 }, 1599 }, 1600 /* PREFIX_EVEX_0FF8 */ 1601 { 1602 { Bad_Opcode }, 1603 { Bad_Opcode }, 1604 { "vpsubb", { XM, Vex, EXx }, 0 }, 1605 }, 1606 /* PREFIX_EVEX_0FF9 */ 1607 { 1608 { Bad_Opcode }, 1609 { Bad_Opcode }, 1610 { "vpsubw", { XM, Vex, EXx }, 0 }, 1611 }, 1612 /* PREFIX_EVEX_0FFA */ 1613 { 1614 { Bad_Opcode }, 1615 { Bad_Opcode }, 1616 { VEX_W_TABLE (EVEX_W_0FFA_P_2) }, 1617 }, 1618 /* PREFIX_EVEX_0FFB */ 1619 { 1620 { Bad_Opcode }, 1621 { Bad_Opcode }, 1622 { VEX_W_TABLE (EVEX_W_0FFB_P_2) }, 1623 }, 1624 /* PREFIX_EVEX_0FFC */ 1625 { 1626 { Bad_Opcode }, 1627 { Bad_Opcode }, 1628 { "vpaddb", { XM, Vex, EXx }, 0 }, 1629 }, 1630 /* PREFIX_EVEX_0FFD */ 1631 { 1632 { Bad_Opcode }, 1633 { Bad_Opcode }, 1634 { "vpaddw", { XM, Vex, EXx }, 0 }, 1635 }, 1636 /* PREFIX_EVEX_0FFE */ 1637 { 1638 { Bad_Opcode }, 1639 { Bad_Opcode }, 1640 { VEX_W_TABLE (EVEX_W_0FFE_P_2) }, 1641 }, 1642 /* PREFIX_EVEX_0F3800 */ 1643 { 1644 { Bad_Opcode }, 1645 { Bad_Opcode }, 1646 { "vpshufb", { XM, Vex, EXx }, 0 }, 1647 }, 1648 /* PREFIX_EVEX_0F3804 */ 1649 { 1650 { Bad_Opcode }, 1651 { Bad_Opcode }, 1652 { "vpmaddubsw", { XM, Vex, EXx }, 0 }, 1653 }, 1654 /* PREFIX_EVEX_0F380B */ 1655 { 1656 { Bad_Opcode }, 1657 { Bad_Opcode }, 1658 { "vpmulhrsw", { XM, Vex, EXx }, 0 }, 1659 }, 1660 /* PREFIX_EVEX_0F380C */ 1661 { 1662 { Bad_Opcode }, 1663 { Bad_Opcode }, 1664 { VEX_W_TABLE (EVEX_W_0F380C_P_2) }, 1665 }, 1666 /* PREFIX_EVEX_0F380D */ 1667 { 1668 { Bad_Opcode }, 1669 { Bad_Opcode }, 1670 { VEX_W_TABLE (EVEX_W_0F380D_P_2) }, 1671 }, 1672 /* PREFIX_EVEX_0F3810 */ 1673 { 1674 { Bad_Opcode }, 1675 { VEX_W_TABLE (EVEX_W_0F3810_P_1) }, 1676 { VEX_W_TABLE (EVEX_W_0F3810_P_2) }, 1677 }, 1678 /* PREFIX_EVEX_0F3811 */ 1679 { 1680 { Bad_Opcode }, 1681 { VEX_W_TABLE (EVEX_W_0F3811_P_1) }, 1682 { VEX_W_TABLE (EVEX_W_0F3811_P_2) }, 1683 }, 1684 /* PREFIX_EVEX_0F3812 */ 1685 { 1686 { Bad_Opcode }, 1687 { VEX_W_TABLE (EVEX_W_0F3812_P_1) }, 1688 { VEX_W_TABLE (EVEX_W_0F3812_P_2) }, 1689 }, 1690 /* PREFIX_EVEX_0F3813 */ 1691 { 1692 { Bad_Opcode }, 1693 { VEX_W_TABLE (EVEX_W_0F3813_P_1) }, 1694 { VEX_W_TABLE (EVEX_W_0F3813_P_2) }, 1695 }, 1696 /* PREFIX_EVEX_0F3814 */ 1697 { 1698 { Bad_Opcode }, 1699 { VEX_W_TABLE (EVEX_W_0F3814_P_1) }, 1700 { "vprorv%LW", { XM, Vex, EXx }, 0 }, 1701 }, 1702 /* PREFIX_EVEX_0F3815 */ 1703 { 1704 { Bad_Opcode }, 1705 { VEX_W_TABLE (EVEX_W_0F3815_P_1) }, 1706 { "vprolv%LW", { XM, Vex, EXx }, 0 }, 1707 }, 1708 /* PREFIX_EVEX_0F3816 */ 1709 { 1710 { Bad_Opcode }, 1711 { Bad_Opcode }, 1712 { "vpermp%XW", { XM, Vex, EXx }, 0 }, 1713 }, 1714 /* PREFIX_EVEX_0F3818 */ 1715 { 1716 { Bad_Opcode }, 1717 { Bad_Opcode }, 1718 { VEX_W_TABLE (EVEX_W_0F3818_P_2) }, 1719 }, 1720 /* PREFIX_EVEX_0F3819 */ 1721 { 1722 { Bad_Opcode }, 1723 { Bad_Opcode }, 1724 { VEX_W_TABLE (EVEX_W_0F3819_P_2) }, 1725 }, 1726 /* PREFIX_EVEX_0F381A */ 1727 { 1728 { Bad_Opcode }, 1729 { Bad_Opcode }, 1730 { VEX_W_TABLE (EVEX_W_0F381A_P_2) }, 1731 }, 1732 /* PREFIX_EVEX_0F381B */ 1733 { 1734 { Bad_Opcode }, 1735 { Bad_Opcode }, 1736 { VEX_W_TABLE (EVEX_W_0F381B_P_2) }, 1737 }, 1738 /* PREFIX_EVEX_0F381C */ 1739 { 1740 { Bad_Opcode }, 1741 { Bad_Opcode }, 1742 { "vpabsb", { XM, EXx }, 0 }, 1743 }, 1744 /* PREFIX_EVEX_0F381D */ 1745 { 1746 { Bad_Opcode }, 1747 { Bad_Opcode }, 1748 { "vpabsw", { XM, EXx }, 0 }, 1749 }, 1750 /* PREFIX_EVEX_0F381E */ 1751 { 1752 { Bad_Opcode }, 1753 { Bad_Opcode }, 1754 { VEX_W_TABLE (EVEX_W_0F381E_P_2) }, 1755 }, 1756 /* PREFIX_EVEX_0F381F */ 1757 { 1758 { Bad_Opcode }, 1759 { Bad_Opcode }, 1760 { VEX_W_TABLE (EVEX_W_0F381F_P_2) }, 1761 }, 1762 /* PREFIX_EVEX_0F3820 */ 1763 { 1764 { Bad_Opcode }, 1765 { VEX_W_TABLE (EVEX_W_0F3820_P_1) }, 1766 { "vpmovsxbw", { XM, EXxmmq }, 0 }, 1767 }, 1768 /* PREFIX_EVEX_0F3821 */ 1769 { 1770 { Bad_Opcode }, 1771 { VEX_W_TABLE (EVEX_W_0F3821_P_1) }, 1772 { "vpmovsxbd", { XM, EXxmmqd }, 0 }, 1773 }, 1774 /* PREFIX_EVEX_0F3822 */ 1775 { 1776 { Bad_Opcode }, 1777 { VEX_W_TABLE (EVEX_W_0F3822_P_1) }, 1778 { "vpmovsxbq", { XM, EXxmmdw }, 0 }, 1779 }, 1780 /* PREFIX_EVEX_0F3823 */ 1781 { 1782 { Bad_Opcode }, 1783 { VEX_W_TABLE (EVEX_W_0F3823_P_1) }, 1784 { "vpmovsxwd", { XM, EXxmmq }, 0 }, 1785 }, 1786 /* PREFIX_EVEX_0F3824 */ 1787 { 1788 { Bad_Opcode }, 1789 { VEX_W_TABLE (EVEX_W_0F3824_P_1) }, 1790 { "vpmovsxwq", { XM, EXxmmqd }, 0 }, 1791 }, 1792 /* PREFIX_EVEX_0F3825 */ 1793 { 1794 { Bad_Opcode }, 1795 { VEX_W_TABLE (EVEX_W_0F3825_P_1) }, 1796 { VEX_W_TABLE (EVEX_W_0F3825_P_2) }, 1797 }, 1798 /* PREFIX_EVEX_0F3826 */ 1799 { 1800 { Bad_Opcode }, 1801 { VEX_W_TABLE (EVEX_W_0F3826_P_1) }, 1802 { VEX_W_TABLE (EVEX_W_0F3826_P_2) }, 1803 }, 1804 /* PREFIX_EVEX_0F3827 */ 1805 { 1806 { Bad_Opcode }, 1807 { "vptestnm%LW", { XMask, Vex, EXx }, 0 }, 1808 { "vptestm%LW", { XMask, Vex, EXx }, 0 }, 1809 }, 1810 /* PREFIX_EVEX_0F3828 */ 1811 { 1812 { Bad_Opcode }, 1813 { VEX_W_TABLE (EVEX_W_0F3828_P_1) }, 1814 { VEX_W_TABLE (EVEX_W_0F3828_P_2) }, 1815 }, 1816 /* PREFIX_EVEX_0F3829 */ 1817 { 1818 { Bad_Opcode }, 1819 { VEX_W_TABLE (EVEX_W_0F3829_P_1) }, 1820 { VEX_W_TABLE (EVEX_W_0F3829_P_2) }, 1821 }, 1822 /* PREFIX_EVEX_0F382A */ 1823 { 1824 { Bad_Opcode }, 1825 { VEX_W_TABLE (EVEX_W_0F382A_P_1) }, 1826 { VEX_W_TABLE (EVEX_W_0F382A_P_2) }, 1827 }, 1828 /* PREFIX_EVEX_0F382B */ 1829 { 1830 { Bad_Opcode }, 1831 { Bad_Opcode }, 1832 { VEX_W_TABLE (EVEX_W_0F382B_P_2) }, 1833 }, 1834 /* PREFIX_EVEX_0F382C */ 1835 { 1836 { Bad_Opcode }, 1837 { Bad_Opcode }, 1838 { "vscalefp%XW", { XM, Vex, EXx, EXxEVexR }, 0 }, 1839 }, 1840 /* PREFIX_EVEX_0F382D */ 1841 { 1842 { Bad_Opcode }, 1843 { Bad_Opcode }, 1844 { "vscalefs%XW", { XMScalar, VexScalar, EXxmm_mdq, EXxEVexR }, 0 }, 1845 }, 1846 /* PREFIX_EVEX_0F3830 */ 1847 { 1848 { Bad_Opcode }, 1849 { VEX_W_TABLE (EVEX_W_0F3830_P_1) }, 1850 { "vpmovzxbw", { XM, EXxmmq }, 0 }, 1851 }, 1852 /* PREFIX_EVEX_0F3831 */ 1853 { 1854 { Bad_Opcode }, 1855 { VEX_W_TABLE (EVEX_W_0F3831_P_1) }, 1856 { "vpmovzxbd", { XM, EXxmmqd }, 0 }, 1857 }, 1858 /* PREFIX_EVEX_0F3832 */ 1859 { 1860 { Bad_Opcode }, 1861 { VEX_W_TABLE (EVEX_W_0F3832_P_1) }, 1862 { "vpmovzxbq", { XM, EXxmmdw }, 0 }, 1863 }, 1864 /* PREFIX_EVEX_0F3833 */ 1865 { 1866 { Bad_Opcode }, 1867 { VEX_W_TABLE (EVEX_W_0F3833_P_1) }, 1868 { "vpmovzxwd", { XM, EXxmmq }, 0 }, 1869 }, 1870 /* PREFIX_EVEX_0F3834 */ 1871 { 1872 { Bad_Opcode }, 1873 { VEX_W_TABLE (EVEX_W_0F3834_P_1) }, 1874 { "vpmovzxwq", { XM, EXxmmqd }, 0 }, 1875 }, 1876 /* PREFIX_EVEX_0F3835 */ 1877 { 1878 { Bad_Opcode }, 1879 { VEX_W_TABLE (EVEX_W_0F3835_P_1) }, 1880 { VEX_W_TABLE (EVEX_W_0F3835_P_2) }, 1881 }, 1882 /* PREFIX_EVEX_0F3836 */ 1883 { 1884 { Bad_Opcode }, 1885 { Bad_Opcode }, 1886 { "vperm%LW", { XM, Vex, EXx }, 0 }, 1887 }, 1888 /* PREFIX_EVEX_0F3837 */ 1889 { 1890 { Bad_Opcode }, 1891 { Bad_Opcode }, 1892 { VEX_W_TABLE (EVEX_W_0F3837_P_2) }, 1893 }, 1894 /* PREFIX_EVEX_0F3838 */ 1895 { 1896 { Bad_Opcode }, 1897 { VEX_W_TABLE (EVEX_W_0F3838_P_1) }, 1898 { "vpminsb", { XM, Vex, EXx }, 0 }, 1899 }, 1900 /* PREFIX_EVEX_0F3839 */ 1901 { 1902 { Bad_Opcode }, 1903 { VEX_W_TABLE (EVEX_W_0F3839_P_1) }, 1904 { "vpmins%LW", { XM, Vex, EXx }, 0 }, 1905 }, 1906 /* PREFIX_EVEX_0F383A */ 1907 { 1908 { Bad_Opcode }, 1909 { VEX_W_TABLE (EVEX_W_0F383A_P_1) }, 1910 { "vpminuw", { XM, Vex, EXx }, 0 }, 1911 }, 1912 /* PREFIX_EVEX_0F383B */ 1913 { 1914 { Bad_Opcode }, 1915 { Bad_Opcode }, 1916 { "vpminu%LW", { XM, Vex, EXx }, 0 }, 1917 }, 1918 /* PREFIX_EVEX_0F383C */ 1919 { 1920 { Bad_Opcode }, 1921 { Bad_Opcode }, 1922 { "vpmaxsb", { XM, Vex, EXx }, 0 }, 1923 }, 1924 /* PREFIX_EVEX_0F383D */ 1925 { 1926 { Bad_Opcode }, 1927 { Bad_Opcode }, 1928 { "vpmaxs%LW", { XM, Vex, EXx }, 0 }, 1929 }, 1930 /* PREFIX_EVEX_0F383E */ 1931 { 1932 { Bad_Opcode }, 1933 { Bad_Opcode }, 1934 { "vpmaxuw", { XM, Vex, EXx }, 0 }, 1935 }, 1936 /* PREFIX_EVEX_0F383F */ 1937 { 1938 { Bad_Opcode }, 1939 { Bad_Opcode }, 1940 { "vpmaxu%LW", { XM, Vex, EXx }, 0 }, 1941 }, 1942 /* PREFIX_EVEX_0F3840 */ 1943 { 1944 { Bad_Opcode }, 1945 { Bad_Opcode }, 1946 { VEX_W_TABLE (EVEX_W_0F3840_P_2) }, 1947 }, 1948 /* PREFIX_EVEX_0F3842 */ 1949 { 1950 { Bad_Opcode }, 1951 { Bad_Opcode }, 1952 { "vgetexpp%XW", { XM, EXx, EXxEVexS }, 0 }, 1953 }, 1954 /* PREFIX_EVEX_0F3843 */ 1955 { 1956 { Bad_Opcode }, 1957 { Bad_Opcode }, 1958 { "vgetexps%XW", { XMScalar, VexScalar, EXxmm_mdq, EXxEVexS }, 0 }, 1959 }, 1960 /* PREFIX_EVEX_0F3844 */ 1961 { 1962 { Bad_Opcode }, 1963 { Bad_Opcode }, 1964 { "vplzcnt%LW", { XM, EXx }, 0 }, 1965 }, 1966 /* PREFIX_EVEX_0F3845 */ 1967 { 1968 { Bad_Opcode }, 1969 { Bad_Opcode }, 1970 { "vpsrlv%LW", { XM, Vex, EXx }, 0 }, 1971 }, 1972 /* PREFIX_EVEX_0F3846 */ 1973 { 1974 { Bad_Opcode }, 1975 { Bad_Opcode }, 1976 { "vpsrav%LW", { XM, Vex, EXx }, 0 }, 1977 }, 1978 /* PREFIX_EVEX_0F3847 */ 1979 { 1980 { Bad_Opcode }, 1981 { Bad_Opcode }, 1982 { "vpsllv%LW", { XM, Vex, EXx }, 0 }, 1983 }, 1984 /* PREFIX_EVEX_0F384C */ 1985 { 1986 { Bad_Opcode }, 1987 { Bad_Opcode }, 1988 { "vrcp14p%XW", { XM, EXx }, 0 }, 1989 }, 1990 /* PREFIX_EVEX_0F384D */ 1991 { 1992 { Bad_Opcode }, 1993 { Bad_Opcode }, 1994 { "vrcp14s%XW", { XMScalar, VexScalar, EXxmm_mdq }, 0 }, 1995 }, 1996 /* PREFIX_EVEX_0F384E */ 1997 { 1998 { Bad_Opcode }, 1999 { Bad_Opcode }, 2000 { "vrsqrt14p%XW", { XM, EXx }, 0 }, 2001 }, 2002 /* PREFIX_EVEX_0F384F */ 2003 { 2004 { Bad_Opcode }, 2005 { Bad_Opcode }, 2006 { "vrsqrt14s%XW", { XMScalar, VexScalar, EXxmm_mdq }, 0 }, 2007 }, 2008 /* PREFIX_EVEX_0F3852 */ 2009 { 2010 { Bad_Opcode }, 2011 { Bad_Opcode }, 2012 { Bad_Opcode }, 2013 { "vp4dpwssd", { XM, Vex, EXxmm }, 0 }, 2014 }, 2015 /* PREFIX_EVEX_0F3853 */ 2016 { 2017 { Bad_Opcode }, 2018 { Bad_Opcode }, 2019 { Bad_Opcode }, 2020 { "vp4dpwssds", { XM, Vex, EXxmm }, 0 }, 2021 }, 2022 /* PREFIX_EVEX_0F3855 */ 2023 { 2024 { Bad_Opcode }, 2025 { Bad_Opcode }, 2026 { VEX_W_TABLE (EVEX_W_0F3855_P_2) }, 2027 }, 2028 /* PREFIX_EVEX_0F3858 */ 2029 { 2030 { Bad_Opcode }, 2031 { Bad_Opcode }, 2032 { VEX_W_TABLE (EVEX_W_0F3858_P_2) }, 2033 }, 2034 /* PREFIX_EVEX_0F3859 */ 2035 { 2036 { Bad_Opcode }, 2037 { Bad_Opcode }, 2038 { VEX_W_TABLE (EVEX_W_0F3859_P_2) }, 2039 }, 2040 /* PREFIX_EVEX_0F385A */ 2041 { 2042 { Bad_Opcode }, 2043 { Bad_Opcode }, 2044 { VEX_W_TABLE (EVEX_W_0F385A_P_2) }, 2045 }, 2046 /* PREFIX_EVEX_0F385B */ 2047 { 2048 { Bad_Opcode }, 2049 { Bad_Opcode }, 2050 { VEX_W_TABLE (EVEX_W_0F385B_P_2) }, 2051 }, 2052 /* PREFIX_EVEX_0F3864 */ 2053 { 2054 { Bad_Opcode }, 2055 { Bad_Opcode }, 2056 { "vpblendm%LW", { XM, Vex, EXx }, 0 }, 2057 }, 2058 /* PREFIX_EVEX_0F3865 */ 2059 { 2060 { Bad_Opcode }, 2061 { Bad_Opcode }, 2062 { "vblendmp%XW", { XM, Vex, EXx }, 0 }, 2063 }, 2064 /* PREFIX_EVEX_0F3866 */ 2065 { 2066 { Bad_Opcode }, 2067 { Bad_Opcode }, 2068 { VEX_W_TABLE (EVEX_W_0F3866_P_2) }, 2069 }, 2070 /* PREFIX_EVEX_0F3875 */ 2071 { 2072 { Bad_Opcode }, 2073 { Bad_Opcode }, 2074 { VEX_W_TABLE (EVEX_W_0F3875_P_2) }, 2075 }, 2076 /* PREFIX_EVEX_0F3876 */ 2077 { 2078 { Bad_Opcode }, 2079 { Bad_Opcode }, 2080 { "vpermi2%LW", { XM, Vex, EXx }, 0 }, 2081 }, 2082 /* PREFIX_EVEX_0F3877 */ 2083 { 2084 { Bad_Opcode }, 2085 { Bad_Opcode }, 2086 { "vpermi2p%XW", { XM, Vex, EXx }, 0 }, 2087 }, 2088 /* PREFIX_EVEX_0F3878 */ 2089 { 2090 { Bad_Opcode }, 2091 { Bad_Opcode }, 2092 { VEX_W_TABLE (EVEX_W_0F3878_P_2) }, 2093 }, 2094 /* PREFIX_EVEX_0F3879 */ 2095 { 2096 { Bad_Opcode }, 2097 { Bad_Opcode }, 2098 { VEX_W_TABLE (EVEX_W_0F3879_P_2) }, 2099 }, 2100 /* PREFIX_EVEX_0F387A */ 2101 { 2102 { Bad_Opcode }, 2103 { Bad_Opcode }, 2104 { VEX_W_TABLE (EVEX_W_0F387A_P_2) }, 2105 }, 2106 /* PREFIX_EVEX_0F387B */ 2107 { 2108 { Bad_Opcode }, 2109 { Bad_Opcode }, 2110 { VEX_W_TABLE (EVEX_W_0F387B_P_2) }, 2111 }, 2112 /* PREFIX_EVEX_0F387C */ 2113 { 2114 { Bad_Opcode }, 2115 { Bad_Opcode }, 2116 { "vpbroadcast%LW", { XM, Rdq }, 0 }, 2117 }, 2118 /* PREFIX_EVEX_0F387D */ 2119 { 2120 { Bad_Opcode }, 2121 { Bad_Opcode }, 2122 { VEX_W_TABLE (EVEX_W_0F387D_P_2) }, 2123 }, 2124 /* PREFIX_EVEX_0F387E */ 2125 { 2126 { Bad_Opcode }, 2127 { Bad_Opcode }, 2128 { "vpermt2%LW", { XM, Vex, EXx }, 0 }, 2129 }, 2130 /* PREFIX_EVEX_0F387F */ 2131 { 2132 { Bad_Opcode }, 2133 { Bad_Opcode }, 2134 { "vpermt2p%XW", { XM, Vex, EXx }, 0 }, 2135 }, 2136 /* PREFIX_EVEX_0F3883 */ 2137 { 2138 { Bad_Opcode }, 2139 { Bad_Opcode }, 2140 { VEX_W_TABLE (EVEX_W_0F3883_P_2) }, 2141 }, 2142 /* PREFIX_EVEX_0F3888 */ 2143 { 2144 { Bad_Opcode }, 2145 { Bad_Opcode }, 2146 { "vexpandp%XW", { XM, EXEvexXGscat }, 0 }, 2147 }, 2148 /* PREFIX_EVEX_0F3889 */ 2149 { 2150 { Bad_Opcode }, 2151 { Bad_Opcode }, 2152 { "vpexpand%LW", { XM, EXEvexXGscat }, 0 }, 2153 }, 2154 /* PREFIX_EVEX_0F388A */ 2155 { 2156 { Bad_Opcode }, 2157 { Bad_Opcode }, 2158 { "vcompressp%XW", { EXEvexXGscat, XM }, 0 }, 2159 }, 2160 /* PREFIX_EVEX_0F388B */ 2161 { 2162 { Bad_Opcode }, 2163 { Bad_Opcode }, 2164 { "vpcompress%LW", { EXEvexXGscat, XM }, 0 }, 2165 }, 2166 /* PREFIX_EVEX_0F388D */ 2167 { 2168 { Bad_Opcode }, 2169 { Bad_Opcode }, 2170 { VEX_W_TABLE (EVEX_W_0F388D_P_2) }, 2171 }, 2172 /* PREFIX_EVEX_0F3890 */ 2173 { 2174 { Bad_Opcode }, 2175 { Bad_Opcode }, 2176 { "vpgatherd%LW", { XM, MVexVSIBDWpX }, 0 }, 2177 }, 2178 /* PREFIX_EVEX_0F3891 */ 2179 { 2180 { Bad_Opcode }, 2181 { Bad_Opcode }, 2182 { VEX_W_TABLE (EVEX_W_0F3891_P_2) }, 2183 }, 2184 /* PREFIX_EVEX_0F3892 */ 2185 { 2186 { Bad_Opcode }, 2187 { Bad_Opcode }, 2188 { "vgatherdp%XW", { XM, MVexVSIBDWpX}, 0 }, 2189 }, 2190 /* PREFIX_EVEX_0F3893 */ 2191 { 2192 { Bad_Opcode }, 2193 { Bad_Opcode }, 2194 { VEX_W_TABLE (EVEX_W_0F3893_P_2) }, 2195 }, 2196 /* PREFIX_EVEX_0F3896 */ 2197 { 2198 { Bad_Opcode }, 2199 { Bad_Opcode }, 2200 { "vfmaddsub132p%XW", { XM, Vex, EXx, EXxEVexR }, 0 }, 2201 }, 2202 /* PREFIX_EVEX_0F3897 */ 2203 { 2204 { Bad_Opcode }, 2205 { Bad_Opcode }, 2206 { "vfmsubadd132p%XW", { XM, Vex, EXx, EXxEVexR }, 0 }, 2207 }, 2208 /* PREFIX_EVEX_0F3898 */ 2209 { 2210 { Bad_Opcode }, 2211 { Bad_Opcode }, 2212 { "vfmadd132p%XW", { XM, Vex, EXx, EXxEVexR }, 0 }, 2213 }, 2214 /* PREFIX_EVEX_0F3899 */ 2215 { 2216 { Bad_Opcode }, 2217 { Bad_Opcode }, 2218 { "vfmadd132s%XW", { XMScalar, VexScalar, EXxmm_mdq, EXxEVexR }, 0 }, 2219 }, 2220 /* PREFIX_EVEX_0F389A */ 2221 { 2222 { Bad_Opcode }, 2223 { Bad_Opcode }, 2224 { "vfmsub132p%XW", { XM, Vex, EXx, EXxEVexR }, 0 }, 2225 { "v4fmaddps", { XM, Vex, Mxmm }, 0 }, 2226 }, 2227 /* PREFIX_EVEX_0F389B */ 2228 { 2229 { Bad_Opcode }, 2230 { Bad_Opcode }, 2231 { "vfmsub132s%XW", { XMScalar, VexScalar, EXxmm_mdq, EXxEVexR }, 0 }, 2232 { "v4fmaddss", { XMScalar, VexScalar, Mxmm }, 0 }, 2233 }, 2234 /* PREFIX_EVEX_0F389C */ 2235 { 2236 { Bad_Opcode }, 2237 { Bad_Opcode }, 2238 { "vfnmadd132p%XW", { XM, Vex, EXx, EXxEVexR }, 0 }, 2239 }, 2240 /* PREFIX_EVEX_0F389D */ 2241 { 2242 { Bad_Opcode }, 2243 { Bad_Opcode }, 2244 { "vfnmadd132s%XW", { XMScalar, VexScalar, EXxmm_mdq, EXxEVexR }, 0 }, 2245 }, 2246 /* PREFIX_EVEX_0F389E */ 2247 { 2248 { Bad_Opcode }, 2249 { Bad_Opcode }, 2250 { "vfnmsub132p%XW", { XM, Vex, EXx, EXxEVexR }, 0 }, 2251 }, 2252 /* PREFIX_EVEX_0F389F */ 2253 { 2254 { Bad_Opcode }, 2255 { Bad_Opcode }, 2256 { "vfnmsub132s%XW", { XMScalar, VexScalar, EXxmm_mdq, EXxEVexR }, 0 }, 2257 }, 2258 /* PREFIX_EVEX_0F38A0 */ 2259 { 2260 { Bad_Opcode }, 2261 { Bad_Opcode }, 2262 { "vpscatterd%LW", { MVexVSIBDWpX, XM }, 0 }, 2263 }, 2264 /* PREFIX_EVEX_0F38A1 */ 2265 { 2266 { Bad_Opcode }, 2267 { Bad_Opcode }, 2268 { VEX_W_TABLE (EVEX_W_0F38A1_P_2) }, 2269 }, 2270 /* PREFIX_EVEX_0F38A2 */ 2271 { 2272 { Bad_Opcode }, 2273 { Bad_Opcode }, 2274 { "vscatterdp%XW", { MVexVSIBDWpX, XM }, 0 }, 2275 }, 2276 /* PREFIX_EVEX_0F38A3 */ 2277 { 2278 { Bad_Opcode }, 2279 { Bad_Opcode }, 2280 { VEX_W_TABLE (EVEX_W_0F38A3_P_2) }, 2281 }, 2282 /* PREFIX_EVEX_0F38A6 */ 2283 { 2284 { Bad_Opcode }, 2285 { Bad_Opcode }, 2286 { "vfmaddsub213p%XW", { XM, Vex, EXx, EXxEVexR }, 0 }, 2287 }, 2288 /* PREFIX_EVEX_0F38A7 */ 2289 { 2290 { Bad_Opcode }, 2291 { Bad_Opcode }, 2292 { "vfmsubadd213p%XW", { XM, Vex, EXx, EXxEVexR }, 0 }, 2293 }, 2294 /* PREFIX_EVEX_0F38A8 */ 2295 { 2296 { Bad_Opcode }, 2297 { Bad_Opcode }, 2298 { "vfmadd213p%XW", { XM, Vex, EXx, EXxEVexR }, 0 }, 2299 }, 2300 /* PREFIX_EVEX_0F38A9 */ 2301 { 2302 { Bad_Opcode }, 2303 { Bad_Opcode }, 2304 { "vfmadd213s%XW", { XMScalar, VexScalar, EXxmm_mdq, EXxEVexR }, 0 }, 2305 }, 2306 /* PREFIX_EVEX_0F38AA */ 2307 { 2308 { Bad_Opcode }, 2309 { Bad_Opcode }, 2310 { "vfmsub213p%XW", { XM, Vex, EXx, EXxEVexR }, 0 }, 2311 { "v4fnmaddps", { XM, Vex, Mxmm }, 0 }, 2312 }, 2313 /* PREFIX_EVEX_0F38AB */ 2314 { 2315 { Bad_Opcode }, 2316 { Bad_Opcode }, 2317 { "vfmsub213s%XW", { XMScalar, VexScalar, EXxmm_mdq, EXxEVexR }, 0 }, 2318 { "v4fnmaddss", { XMScalar, VexScalar, Mxmm }, 0 }, 2319 }, 2320 /* PREFIX_EVEX_0F38AC */ 2321 { 2322 { Bad_Opcode }, 2323 { Bad_Opcode }, 2324 { "vfnmadd213p%XW", { XM, Vex, EXx, EXxEVexR }, 0 }, 2325 }, 2326 /* PREFIX_EVEX_0F38AD */ 2327 { 2328 { Bad_Opcode }, 2329 { Bad_Opcode }, 2330 { "vfnmadd213s%XW", { XMScalar, VexScalar, EXxmm_mdq, EXxEVexR }, 0 }, 2331 }, 2332 /* PREFIX_EVEX_0F38AE */ 2333 { 2334 { Bad_Opcode }, 2335 { Bad_Opcode }, 2336 { "vfnmsub213p%XW", { XM, Vex, EXx, EXxEVexR }, 0 }, 2337 }, 2338 /* PREFIX_EVEX_0F38AF */ 2339 { 2340 { Bad_Opcode }, 2341 { Bad_Opcode }, 2342 { "vfnmsub213s%XW", { XMScalar, VexScalar, EXxmm_mdq, EXxEVexR }, 0 }, 2343 }, 2344 /* PREFIX_EVEX_0F38B4 */ 2345 { 2346 { Bad_Opcode }, 2347 { Bad_Opcode }, 2348 { "vpmadd52luq", { XM, Vex, EXx }, 0 }, 2349 }, 2350 /* PREFIX_EVEX_0F38B5 */ 2351 { 2352 { Bad_Opcode }, 2353 { Bad_Opcode }, 2354 { "vpmadd52huq", { XM, Vex, EXx }, 0 }, 2355 }, 2356 /* PREFIX_EVEX_0F38B6 */ 2357 { 2358 { Bad_Opcode }, 2359 { Bad_Opcode }, 2360 { "vfmaddsub231p%XW", { XM, Vex, EXx, EXxEVexR }, 0 }, 2361 }, 2362 /* PREFIX_EVEX_0F38B7 */ 2363 { 2364 { Bad_Opcode }, 2365 { Bad_Opcode }, 2366 { "vfmsubadd231p%XW", { XM, Vex, EXx, EXxEVexR }, 0 }, 2367 }, 2368 /* PREFIX_EVEX_0F38B8 */ 2369 { 2370 { Bad_Opcode }, 2371 { Bad_Opcode }, 2372 { "vfmadd231p%XW", { XM, Vex, EXx, EXxEVexR }, 0 }, 2373 }, 2374 /* PREFIX_EVEX_0F38B9 */ 2375 { 2376 { Bad_Opcode }, 2377 { Bad_Opcode }, 2378 { "vfmadd231s%XW", { XMScalar, VexScalar, EXxmm_mdq, EXxEVexR }, 0 }, 2379 }, 2380 /* PREFIX_EVEX_0F38BA */ 2381 { 2382 { Bad_Opcode }, 2383 { Bad_Opcode }, 2384 { "vfmsub231p%XW", { XM, Vex, EXx, EXxEVexR }, 0 }, 2385 }, 2386 /* PREFIX_EVEX_0F38BB */ 2387 { 2388 { Bad_Opcode }, 2389 { Bad_Opcode }, 2390 { "vfmsub231s%XW", { XMScalar, VexScalar, EXxmm_mdq, EXxEVexR }, 0 }, 2391 }, 2392 /* PREFIX_EVEX_0F38BC */ 2393 { 2394 { Bad_Opcode }, 2395 { Bad_Opcode }, 2396 { "vfnmadd231p%XW", { XM, Vex, EXx, EXxEVexR }, 0 }, 2397 }, 2398 /* PREFIX_EVEX_0F38BD */ 2399 { 2400 { Bad_Opcode }, 2401 { Bad_Opcode }, 2402 { "vfnmadd231s%XW", { XMScalar, VexScalar, EXxmm_mdq, EXxEVexR }, 0 }, 2403 }, 2404 /* PREFIX_EVEX_0F38BE */ 2405 { 2406 { Bad_Opcode }, 2407 { Bad_Opcode }, 2408 { "vfnmsub231p%XW", { XM, Vex, EXx, EXxEVexR }, 0 }, 2409 }, 2410 /* PREFIX_EVEX_0F38BF */ 2411 { 2412 { Bad_Opcode }, 2413 { Bad_Opcode }, 2414 { "vfnmsub231s%XW", { XMScalar, VexScalar, EXxmm_mdq, EXxEVexR }, 0 }, 2415 }, 2416 /* PREFIX_EVEX_0F38C4 */ 2417 { 2418 { Bad_Opcode }, 2419 { Bad_Opcode }, 2420 { "vpconflict%LW", { XM, EXx }, 0 }, 2421 }, 2422 /* PREFIX_EVEX_0F38C6_REG_1 */ 2423 { 2424 { Bad_Opcode }, 2425 { Bad_Opcode }, 2426 { "vgatherpf0dp%XW", { MVexVSIBDWpX }, 0 }, 2427 }, 2428 /* PREFIX_EVEX_0F38C6_REG_2 */ 2429 { 2430 { Bad_Opcode }, 2431 { Bad_Opcode }, 2432 { "vgatherpf1dp%XW", { MVexVSIBDWpX }, 0 }, 2433 }, 2434 /* PREFIX_EVEX_0F38C6_REG_5 */ 2435 { 2436 { Bad_Opcode }, 2437 { Bad_Opcode }, 2438 { "vscatterpf0dp%XW", { MVexVSIBDWpX }, 0 }, 2439 }, 2440 /* PREFIX_EVEX_0F38C6_REG_6 */ 2441 { 2442 { Bad_Opcode }, 2443 { Bad_Opcode }, 2444 { "vscatterpf1dp%XW", { MVexVSIBDWpX }, 0 }, 2445 }, 2446 /* PREFIX_EVEX_0F38C7_REG_1 */ 2447 { 2448 { Bad_Opcode }, 2449 { Bad_Opcode }, 2450 { VEX_W_TABLE (EVEX_W_0F38C7_R_1_P_2) }, 2451 }, 2452 /* PREFIX_EVEX_0F38C7_REG_2 */ 2453 { 2454 { Bad_Opcode }, 2455 { Bad_Opcode }, 2456 { VEX_W_TABLE (EVEX_W_0F38C7_R_2_P_2) }, 2457 }, 2458 /* PREFIX_EVEX_0F38C7_REG_5 */ 2459 { 2460 { Bad_Opcode }, 2461 { Bad_Opcode }, 2462 { VEX_W_TABLE (EVEX_W_0F38C7_R_5_P_2) }, 2463 }, 2464 /* PREFIX_EVEX_0F38C7_REG_6 */ 2465 { 2466 { Bad_Opcode }, 2467 { Bad_Opcode }, 2468 { VEX_W_TABLE (EVEX_W_0F38C7_R_6_P_2) }, 2469 }, 2470 /* PREFIX_EVEX_0F38C8 */ 2471 { 2472 { Bad_Opcode }, 2473 { Bad_Opcode }, 2474 { "vexp2p%XW", { XM, EXx, EXxEVexS }, 0 }, 2475 }, 2476 /* PREFIX_EVEX_0F38CA */ 2477 { 2478 { Bad_Opcode }, 2479 { Bad_Opcode }, 2480 { "vrcp28p%XW", { XM, EXx, EXxEVexS }, 0 }, 2481 }, 2482 /* PREFIX_EVEX_0F38CB */ 2483 { 2484 { Bad_Opcode }, 2485 { Bad_Opcode }, 2486 { "vrcp28s%XW", { XMScalar, VexScalar, EXxmm_mdq, EXxEVexS }, 0 }, 2487 }, 2488 /* PREFIX_EVEX_0F38CC */ 2489 { 2490 { Bad_Opcode }, 2491 { Bad_Opcode }, 2492 { "vrsqrt28p%XW", { XM, EXx, EXxEVexS }, 0 }, 2493 }, 2494 /* PREFIX_EVEX_0F38CD */ 2495 { 2496 { Bad_Opcode }, 2497 { Bad_Opcode }, 2498 { "vrsqrt28s%XW", { XMScalar, VexScalar, EXxmm_mdq, EXxEVexS }, 0 }, 2499 }, 2500 /* PREFIX_EVEX_0F3A00 */ 2501 { 2502 { Bad_Opcode }, 2503 { Bad_Opcode }, 2504 { VEX_W_TABLE (EVEX_W_0F3A00_P_2) }, 2505 }, 2506 /* PREFIX_EVEX_0F3A01 */ 2507 { 2508 { Bad_Opcode }, 2509 { Bad_Opcode }, 2510 { VEX_W_TABLE (EVEX_W_0F3A01_P_2) }, 2511 }, 2512 /* PREFIX_EVEX_0F3A03 */ 2513 { 2514 { Bad_Opcode }, 2515 { Bad_Opcode }, 2516 { "valign%LW", { XM, Vex, EXx, Ib }, 0 }, 2517 }, 2518 /* PREFIX_EVEX_0F3A04 */ 2519 { 2520 { Bad_Opcode }, 2521 { Bad_Opcode }, 2522 { VEX_W_TABLE (EVEX_W_0F3A04_P_2) }, 2523 }, 2524 /* PREFIX_EVEX_0F3A05 */ 2525 { 2526 { Bad_Opcode }, 2527 { Bad_Opcode }, 2528 { VEX_W_TABLE (EVEX_W_0F3A05_P_2) }, 2529 }, 2530 /* PREFIX_EVEX_0F3A08 */ 2531 { 2532 { Bad_Opcode }, 2533 { Bad_Opcode }, 2534 { VEX_W_TABLE (EVEX_W_0F3A08_P_2) }, 2535 }, 2536 /* PREFIX_EVEX_0F3A09 */ 2537 { 2538 { Bad_Opcode }, 2539 { Bad_Opcode }, 2540 { VEX_W_TABLE (EVEX_W_0F3A09_P_2) }, 2541 }, 2542 /* PREFIX_EVEX_0F3A0A */ 2543 { 2544 { Bad_Opcode }, 2545 { Bad_Opcode }, 2546 { VEX_W_TABLE (EVEX_W_0F3A0A_P_2) }, 2547 }, 2548 /* PREFIX_EVEX_0F3A0B */ 2549 { 2550 { Bad_Opcode }, 2551 { Bad_Opcode }, 2552 { VEX_W_TABLE (EVEX_W_0F3A0B_P_2) }, 2553 }, 2554 /* PREFIX_EVEX_0F3A0F */ 2555 { 2556 { Bad_Opcode }, 2557 { Bad_Opcode }, 2558 { "vpalignr", { XM, Vex, EXx, Ib }, 0 }, 2559 }, 2560 /* PREFIX_EVEX_0F3A14 */ 2561 { 2562 { Bad_Opcode }, 2563 { Bad_Opcode }, 2564 { "vpextrb", { Edqb, XM, Ib }, 0 }, 2565 }, 2566 /* PREFIX_EVEX_0F3A15 */ 2567 { 2568 { Bad_Opcode }, 2569 { Bad_Opcode }, 2570 { "vpextrw", { Edqw, XM, Ib }, 0 }, 2571 }, 2572 /* PREFIX_EVEX_0F3A16 */ 2573 { 2574 { Bad_Opcode }, 2575 { Bad_Opcode }, 2576 { VEX_W_TABLE (EVEX_W_0F3A16_P_2) }, 2577 }, 2578 /* PREFIX_EVEX_0F3A17 */ 2579 { 2580 { Bad_Opcode }, 2581 { Bad_Opcode }, 2582 { "vextractps", { Edqd, XMM, Ib }, 0 }, 2583 }, 2584 /* PREFIX_EVEX_0F3A18 */ 2585 { 2586 { Bad_Opcode }, 2587 { Bad_Opcode }, 2588 { VEX_W_TABLE (EVEX_W_0F3A18_P_2) }, 2589 }, 2590 /* PREFIX_EVEX_0F3A19 */ 2591 { 2592 { Bad_Opcode }, 2593 { Bad_Opcode }, 2594 { VEX_W_TABLE (EVEX_W_0F3A19_P_2) }, 2595 }, 2596 /* PREFIX_EVEX_0F3A1A */ 2597 { 2598 { Bad_Opcode }, 2599 { Bad_Opcode }, 2600 { VEX_W_TABLE (EVEX_W_0F3A1A_P_2) }, 2601 }, 2602 /* PREFIX_EVEX_0F3A1B */ 2603 { 2604 { Bad_Opcode }, 2605 { Bad_Opcode }, 2606 { VEX_W_TABLE (EVEX_W_0F3A1B_P_2) }, 2607 }, 2608 /* PREFIX_EVEX_0F3A1D */ 2609 { 2610 { Bad_Opcode }, 2611 { Bad_Opcode }, 2612 { VEX_W_TABLE (EVEX_W_0F3A1D_P_2) }, 2613 }, 2614 /* PREFIX_EVEX_0F3A1E */ 2615 { 2616 { Bad_Opcode }, 2617 { Bad_Opcode }, 2618 { "vpcmpu%LW", { XMask, Vex, EXx, VPCMP }, 0 }, 2619 }, 2620 /* PREFIX_EVEX_0F3A1F */ 2621 { 2622 { Bad_Opcode }, 2623 { Bad_Opcode }, 2624 { "vpcmp%LW", { XMask, Vex, EXx, VPCMP }, 0 }, 2625 }, 2626 /* PREFIX_EVEX_0F3A20 */ 2627 { 2628 { Bad_Opcode }, 2629 { Bad_Opcode }, 2630 { "vpinsrb", { XM, Vex128, Edb, Ib }, 0 }, 2631 }, 2632 /* PREFIX_EVEX_0F3A21 */ 2633 { 2634 { Bad_Opcode }, 2635 { Bad_Opcode }, 2636 { VEX_W_TABLE (EVEX_W_0F3A21_P_2) }, 2637 }, 2638 /* PREFIX_EVEX_0F3A22 */ 2639 { 2640 { Bad_Opcode }, 2641 { Bad_Opcode }, 2642 { VEX_W_TABLE (EVEX_W_0F3A22_P_2) }, 2643 }, 2644 /* PREFIX_EVEX_0F3A23 */ 2645 { 2646 { Bad_Opcode }, 2647 { Bad_Opcode }, 2648 { VEX_W_TABLE (EVEX_W_0F3A23_P_2) }, 2649 }, 2650 /* PREFIX_EVEX_0F3A25 */ 2651 { 2652 { Bad_Opcode }, 2653 { Bad_Opcode }, 2654 { "vpternlog%LW", { XM, Vex, EXx, Ib }, 0 }, 2655 }, 2656 /* PREFIX_EVEX_0F3A26 */ 2657 { 2658 { Bad_Opcode }, 2659 { Bad_Opcode }, 2660 { "vgetmantp%XW", { XM, EXx, EXxEVexS, Ib }, 0 }, 2661 }, 2662 /* PREFIX_EVEX_0F3A27 */ 2663 { 2664 { Bad_Opcode }, 2665 { Bad_Opcode }, 2666 { "vgetmants%XW", { XMScalar, VexScalar, EXxmm_mdq, EXxEVexS, Ib }, 0 }, 2667 }, 2668 /* PREFIX_EVEX_0F3A38 */ 2669 { 2670 { Bad_Opcode }, 2671 { Bad_Opcode }, 2672 { VEX_W_TABLE (EVEX_W_0F3A38_P_2) }, 2673 }, 2674 /* PREFIX_EVEX_0F3A39 */ 2675 { 2676 { Bad_Opcode }, 2677 { Bad_Opcode }, 2678 { VEX_W_TABLE (EVEX_W_0F3A39_P_2) }, 2679 }, 2680 /* PREFIX_EVEX_0F3A3A */ 2681 { 2682 { Bad_Opcode }, 2683 { Bad_Opcode }, 2684 { VEX_W_TABLE (EVEX_W_0F3A3A_P_2) }, 2685 }, 2686 /* PREFIX_EVEX_0F3A3B */ 2687 { 2688 { Bad_Opcode }, 2689 { Bad_Opcode }, 2690 { VEX_W_TABLE (EVEX_W_0F3A3B_P_2) }, 2691 }, 2692 /* PREFIX_EVEX_0F3A3E */ 2693 { 2694 { Bad_Opcode }, 2695 { Bad_Opcode }, 2696 { VEX_W_TABLE (EVEX_W_0F3A3E_P_2) }, 2697 }, 2698 /* PREFIX_EVEX_0F3A3F */ 2699 { 2700 { Bad_Opcode }, 2701 { Bad_Opcode }, 2702 { VEX_W_TABLE (EVEX_W_0F3A3F_P_2) }, 2703 }, 2704 /* PREFIX_EVEX_0F3A42 */ 2705 { 2706 { Bad_Opcode }, 2707 { Bad_Opcode }, 2708 { VEX_W_TABLE (EVEX_W_0F3A42_P_2) }, 2709 }, 2710 /* PREFIX_EVEX_0F3A43 */ 2711 { 2712 { Bad_Opcode }, 2713 { Bad_Opcode }, 2714 { VEX_W_TABLE (EVEX_W_0F3A43_P_2) }, 2715 }, 2716 /* PREFIX_EVEX_0F3A50 */ 2717 { 2718 { Bad_Opcode }, 2719 { Bad_Opcode }, 2720 { VEX_W_TABLE (EVEX_W_0F3A50_P_2) }, 2721 }, 2722 /* PREFIX_EVEX_0F3A51 */ 2723 { 2724 { Bad_Opcode }, 2725 { Bad_Opcode }, 2726 { VEX_W_TABLE (EVEX_W_0F3A51_P_2) }, 2727 }, 2728 /* PREFIX_EVEX_0F3A54 */ 2729 { 2730 { Bad_Opcode }, 2731 { Bad_Opcode }, 2732 { "vfixupimmp%XW", { XM, Vex, EXx, EXxEVexS, Ib }, 0 }, 2733 }, 2734 /* PREFIX_EVEX_0F3A55 */ 2735 { 2736 { Bad_Opcode }, 2737 { Bad_Opcode }, 2738 { "vfixupimms%XW", { XMScalar, VexScalar, EXxmm_mdq, EXxEVexS, Ib }, 0 }, 2739 }, 2740 /* PREFIX_EVEX_0F3A56 */ 2741 { 2742 { Bad_Opcode }, 2743 { Bad_Opcode }, 2744 { VEX_W_TABLE (EVEX_W_0F3A56_P_2) }, 2745 }, 2746 /* PREFIX_EVEX_0F3A57 */ 2747 { 2748 { Bad_Opcode }, 2749 { Bad_Opcode }, 2750 { VEX_W_TABLE (EVEX_W_0F3A57_P_2) }, 2751 }, 2752 /* PREFIX_EVEX_0F3A66 */ 2753 { 2754 { Bad_Opcode }, 2755 { Bad_Opcode }, 2756 { VEX_W_TABLE (EVEX_W_0F3A66_P_2) }, 2757 }, 2758 /* PREFIX_EVEX_0F3A67 */ 2759 { 2760 { Bad_Opcode }, 2761 { Bad_Opcode }, 2762 { VEX_W_TABLE (EVEX_W_0F3A67_P_2) }, 2763 }, 2764#endif /* NEED_PREFIX_TABLE */ 2765 2766#ifdef NEED_VEX_W_TABLE 2767 /* EVEX_W_0F10_P_0 */ 2768 { 2769 { "vmovups", { XM, EXEvexXNoBcst }, 0 }, 2770 }, 2771 /* EVEX_W_0F10_P_1_M_0 */ 2772 { 2773 { "vmovss", { XMScalar, EXdScalar }, 0 }, 2774 }, 2775 /* EVEX_W_0F10_P_1_M_1 */ 2776 { 2777 { "vmovss", { XMScalar, VexScalar, EXxmm_md }, 0 }, 2778 }, 2779 /* EVEX_W_0F10_P_2 */ 2780 { 2781 { Bad_Opcode }, 2782 { "vmovupd", { XM, EXEvexXNoBcst }, 0 }, 2783 }, 2784 /* EVEX_W_0F10_P_3_M_0 */ 2785 { 2786 { Bad_Opcode }, 2787 { "vmovsd", { XMScalar, EXqScalar }, 0 }, 2788 }, 2789 /* EVEX_W_0F10_P_3_M_1 */ 2790 { 2791 { Bad_Opcode }, 2792 { "vmovsd", { XMScalar, VexScalar, EXxmm_mq }, 0 }, 2793 }, 2794 /* EVEX_W_0F11_P_0 */ 2795 { 2796 { "vmovups", { EXxS, XM }, 0 }, 2797 }, 2798 /* EVEX_W_0F11_P_1_M_0 */ 2799 { 2800 { "vmovss", { EXdScalarS, XMScalar }, 0 }, 2801 }, 2802 /* EVEX_W_0F11_P_1_M_1 */ 2803 { 2804 { "vmovss", { EXxS, Vex, XMScalar }, 0 }, 2805 }, 2806 /* EVEX_W_0F11_P_2 */ 2807 { 2808 { Bad_Opcode }, 2809 { "vmovupd", { EXxS, XM }, 0 }, 2810 }, 2811 /* EVEX_W_0F11_P_3_M_0 */ 2812 { 2813 { Bad_Opcode }, 2814 { "vmovsd", { EXqScalarS, XMScalar }, 0 }, 2815 }, 2816 /* EVEX_W_0F11_P_3_M_1 */ 2817 { 2818 { Bad_Opcode }, 2819 { "vmovsd", { EXxS, Vex, XMScalar }, 0 }, 2820 }, 2821 /* EVEX_W_0F12_P_0_M_0 */ 2822 { 2823 { "vmovlps", { XMM, Vex, EXxmm_mq }, 0 }, 2824 }, 2825 /* EVEX_W_0F12_P_0_M_1 */ 2826 { 2827 { "vmovhlps", { XMM, Vex, EXxmm_mq }, 0 }, 2828 }, 2829 /* EVEX_W_0F12_P_1 */ 2830 { 2831 { "vmovsldup", { XM, EXEvexXNoBcst }, 0 }, 2832 }, 2833 /* EVEX_W_0F12_P_2 */ 2834 { 2835 { Bad_Opcode }, 2836 { "vmovlpd", { XMM, Vex, EXxmm_mq }, 0 }, 2837 }, 2838 /* EVEX_W_0F12_P_3 */ 2839 { 2840 { Bad_Opcode }, 2841 { "vmovddup", { XM, EXymmq }, 0 }, 2842 }, 2843 /* EVEX_W_0F13_P_0 */ 2844 { 2845 { "vmovlps", { EXxmm_mq, XMM }, 0 }, 2846 }, 2847 /* EVEX_W_0F13_P_2 */ 2848 { 2849 { Bad_Opcode }, 2850 { "vmovlpd", { EXxmm_mq, XMM }, 0 }, 2851 }, 2852 /* EVEX_W_0F14_P_0 */ 2853 { 2854 { "vunpcklps", { XM, Vex, EXx }, 0 }, 2855 }, 2856 /* EVEX_W_0F14_P_2 */ 2857 { 2858 { Bad_Opcode }, 2859 { "vunpcklpd", { XM, Vex, EXx }, 0 }, 2860 }, 2861 /* EVEX_W_0F15_P_0 */ 2862 { 2863 { "vunpckhps", { XM, Vex, EXx }, 0 }, 2864 }, 2865 /* EVEX_W_0F15_P_2 */ 2866 { 2867 { Bad_Opcode }, 2868 { "vunpckhpd", { XM, Vex, EXx }, 0 }, 2869 }, 2870 /* EVEX_W_0F16_P_0_M_0 */ 2871 { 2872 { "vmovhps", { XMM, Vex, EXxmm_mq }, 0 }, 2873 }, 2874 /* EVEX_W_0F16_P_0_M_1 */ 2875 { 2876 { "vmovlhps", { XMM, Vex, EXx }, 0 }, 2877 }, 2878 /* EVEX_W_0F16_P_1 */ 2879 { 2880 { "vmovshdup", { XM, EXx }, 0 }, 2881 }, 2882 /* EVEX_W_0F16_P_2 */ 2883 { 2884 { Bad_Opcode }, 2885 { "vmovhpd", { XMM, Vex, EXxmm_mq }, 0 }, 2886 }, 2887 /* EVEX_W_0F17_P_0 */ 2888 { 2889 { "vmovhps", { EXxmm_mq, XMM }, 0 }, 2890 }, 2891 /* EVEX_W_0F17_P_2 */ 2892 { 2893 { Bad_Opcode }, 2894 { "vmovhpd", { EXxmm_mq, XMM }, 0 }, 2895 }, 2896 /* EVEX_W_0F28_P_0 */ 2897 { 2898 { "vmovaps", { XM, EXx }, 0 }, 2899 }, 2900 /* EVEX_W_0F28_P_2 */ 2901 { 2902 { Bad_Opcode }, 2903 { "vmovapd", { XM, EXx }, 0 }, 2904 }, 2905 /* EVEX_W_0F29_P_0 */ 2906 { 2907 { "vmovaps", { EXxS, XM }, 0 }, 2908 }, 2909 /* EVEX_W_0F29_P_2 */ 2910 { 2911 { Bad_Opcode }, 2912 { "vmovapd", { EXxS, XM }, 0 }, 2913 }, 2914 /* EVEX_W_0F2A_P_1 */ 2915 { 2916 { "vcvtsi2ss", { XMScalar, VexScalar, EXxEVexR, Ed }, 0 }, 2917 { "vcvtsi2ss", { XMScalar, VexScalar, EXxEVexR, Eq }, 0 }, 2918 }, 2919 /* EVEX_W_0F2A_P_3 */ 2920 { 2921 { "vcvtsi2sd", { XMScalar, VexScalar, Ed }, 0 }, 2922 { "vcvtsi2sd", { XMScalar, VexScalar, EXxEVexR, Eq }, 0 }, 2923 }, 2924 /* EVEX_W_0F2B_P_0 */ 2925 { 2926 { "vmovntps", { EXx, XM }, 0 }, 2927 }, 2928 /* EVEX_W_0F2B_P_2 */ 2929 { 2930 { Bad_Opcode }, 2931 { "vmovntpd", { EXx, XM }, 0 }, 2932 }, 2933 /* EVEX_W_0F2E_P_0 */ 2934 { 2935 { "vucomiss", { XMScalar, EXxmm_md, EXxEVexS }, 0 }, 2936 }, 2937 /* EVEX_W_0F2E_P_2 */ 2938 { 2939 { Bad_Opcode }, 2940 { "vucomisd", { XMScalar, EXxmm_mq, EXxEVexS }, 0 }, 2941 }, 2942 /* EVEX_W_0F2F_P_0 */ 2943 { 2944 { "vcomiss", { XMScalar, EXxmm_md, EXxEVexS }, 0 }, 2945 }, 2946 /* EVEX_W_0F2F_P_2 */ 2947 { 2948 { Bad_Opcode }, 2949 { "vcomisd", { XMScalar, EXxmm_mq, EXxEVexS }, 0 }, 2950 }, 2951 /* EVEX_W_0F51_P_0 */ 2952 { 2953 { "vsqrtps", { XM, EXx, EXxEVexR }, 0 }, 2954 }, 2955 /* EVEX_W_0F51_P_1 */ 2956 { 2957 { "vsqrtss", { XMScalar, VexScalar, EXxmm_md, EXxEVexR }, 0 }, 2958 }, 2959 /* EVEX_W_0F51_P_2 */ 2960 { 2961 { Bad_Opcode }, 2962 { "vsqrtpd", { XM, EXx, EXxEVexR }, 0 }, 2963 }, 2964 /* EVEX_W_0F51_P_3 */ 2965 { 2966 { Bad_Opcode }, 2967 { "vsqrtsd", { XMScalar, VexScalar, EXxmm_mq, EXxEVexR }, 0 }, 2968 }, 2969 /* EVEX_W_0F54_P_0 */ 2970 { 2971 { "vandps", { XM, Vex, EXx }, 0 }, 2972 }, 2973 /* EVEX_W_0F54_P_2 */ 2974 { 2975 { Bad_Opcode }, 2976 { "vandpd", { XM, Vex, EXx }, 0 }, 2977 }, 2978 /* EVEX_W_0F55_P_0 */ 2979 { 2980 { "vandnps", { XM, Vex, EXx }, 0 }, 2981 }, 2982 /* EVEX_W_0F55_P_2 */ 2983 { 2984 { Bad_Opcode }, 2985 { "vandnpd", { XM, Vex, EXx }, 0 }, 2986 }, 2987 /* EVEX_W_0F56_P_0 */ 2988 { 2989 { "vorps", { XM, Vex, EXx }, 0 }, 2990 }, 2991 /* EVEX_W_0F56_P_2 */ 2992 { 2993 { Bad_Opcode }, 2994 { "vorpd", { XM, Vex, EXx }, 0 }, 2995 }, 2996 /* EVEX_W_0F57_P_0 */ 2997 { 2998 { "vxorps", { XM, Vex, EXx }, 0 }, 2999 }, 3000 /* EVEX_W_0F57_P_2 */ 3001 { 3002 { Bad_Opcode }, 3003 { "vxorpd", { XM, Vex, EXx }, 0 }, 3004 }, 3005 /* EVEX_W_0F58_P_0 */ 3006 { 3007 { "vaddps", { XM, Vex, EXx, EXxEVexR }, 0 }, 3008 }, 3009 /* EVEX_W_0F58_P_1 */ 3010 { 3011 { "vaddss", { XMScalar, VexScalar, EXxmm_md, EXxEVexR }, 0 }, 3012 }, 3013 /* EVEX_W_0F58_P_2 */ 3014 { 3015 { Bad_Opcode }, 3016 { "vaddpd", { XM, Vex, EXx, EXxEVexR }, 0 }, 3017 }, 3018 /* EVEX_W_0F58_P_3 */ 3019 { 3020 { Bad_Opcode }, 3021 { "vaddsd", { XMScalar, VexScalar, EXxmm_mq, EXxEVexR }, 0 }, 3022 }, 3023 /* EVEX_W_0F59_P_0 */ 3024 { 3025 { "vmulps", { XM, Vex, EXx, EXxEVexR }, 0 }, 3026 }, 3027 /* EVEX_W_0F59_P_1 */ 3028 { 3029 { "vmulss", { XMScalar, VexScalar, EXxmm_md, EXxEVexR }, 0 }, 3030 }, 3031 /* EVEX_W_0F59_P_2 */ 3032 { 3033 { Bad_Opcode }, 3034 { "vmulpd", { XM, Vex, EXx, EXxEVexR }, 0 }, 3035 }, 3036 /* EVEX_W_0F59_P_3 */ 3037 { 3038 { Bad_Opcode }, 3039 { "vmulsd", { XMScalar, VexScalar, EXxmm_mq, EXxEVexR }, 0 }, 3040 }, 3041 /* EVEX_W_0F5A_P_0 */ 3042 { 3043 { "vcvtps2pd", { XM, EXEvexHalfBcstXmmq, EXxEVexS }, 0 }, 3044 }, 3045 /* EVEX_W_0F5A_P_1 */ 3046 { 3047 { "vcvtss2sd", { XMScalar, VexScalar, EXxmm_md, EXxEVexS }, 0 }, 3048 }, 3049 /* EVEX_W_0F5A_P_2 */ 3050 { 3051 { Bad_Opcode }, 3052 { "vcvtpd2ps%XY", { XMxmmq, EXx, EXxEVexR }, 0 }, 3053 }, 3054 /* EVEX_W_0F5A_P_3 */ 3055 { 3056 { Bad_Opcode }, 3057 { "vcvtsd2ss", { XMScalar, VexScalar, EXxmm_mq, EXxEVexR }, 0 }, 3058 }, 3059 /* EVEX_W_0F5B_P_0 */ 3060 { 3061 { "vcvtdq2ps", { XM, EXx, EXxEVexR }, 0 }, 3062 { "vcvtqq2ps%XY", { XMxmmq, EXx, EXxEVexR }, 0 }, 3063 }, 3064 /* EVEX_W_0F5B_P_1 */ 3065 { 3066 { "vcvttps2dq", { XM, EXx, EXxEVexS }, 0 }, 3067 }, 3068 /* EVEX_W_0F5B_P_2 */ 3069 { 3070 { "vcvtps2dq", { XM, EXx, EXxEVexR }, 0 }, 3071 }, 3072 /* EVEX_W_0F5C_P_0 */ 3073 { 3074 { "vsubps", { XM, Vex, EXx, EXxEVexR }, 0 }, 3075 }, 3076 /* EVEX_W_0F5C_P_1 */ 3077 { 3078 { "vsubss", { XMScalar, VexScalar, EXxmm_md, EXxEVexR }, 0 }, 3079 }, 3080 /* EVEX_W_0F5C_P_2 */ 3081 { 3082 { Bad_Opcode }, 3083 { "vsubpd", { XM, Vex, EXx, EXxEVexR }, 0 }, 3084 }, 3085 /* EVEX_W_0F5C_P_3 */ 3086 { 3087 { Bad_Opcode }, 3088 { "vsubsd", { XMScalar, VexScalar, EXxmm_mq, EXxEVexR }, 0 }, 3089 }, 3090 /* EVEX_W_0F5D_P_0 */ 3091 { 3092 { "vminps", { XM, Vex, EXx, EXxEVexS }, 0 }, 3093 }, 3094 /* EVEX_W_0F5D_P_1 */ 3095 { 3096 { "vminss", { XMScalar, VexScalar, EXxmm_md, EXxEVexS }, 0 }, 3097 }, 3098 /* EVEX_W_0F5D_P_2 */ 3099 { 3100 { Bad_Opcode }, 3101 { "vminpd", { XM, Vex, EXx, EXxEVexS }, 0 }, 3102 }, 3103 /* EVEX_W_0F5D_P_3 */ 3104 { 3105 { Bad_Opcode }, 3106 { "vminsd", { XMScalar, VexScalar, EXxmm_mq, EXxEVexS }, 0 }, 3107 }, 3108 /* EVEX_W_0F5E_P_0 */ 3109 { 3110 { "vdivps", { XM, Vex, EXx, EXxEVexR }, 0 }, 3111 }, 3112 /* EVEX_W_0F5E_P_1 */ 3113 { 3114 { "vdivss", { XMScalar, VexScalar, EXxmm_md, EXxEVexR }, 0 }, 3115 }, 3116 /* EVEX_W_0F5E_P_2 */ 3117 { 3118 { Bad_Opcode }, 3119 { "vdivpd", { XM, Vex, EXx, EXxEVexR }, 0 }, 3120 }, 3121 /* EVEX_W_0F5E_P_3 */ 3122 { 3123 { Bad_Opcode }, 3124 { "vdivsd", { XMScalar, VexScalar, EXxmm_mq, EXxEVexR }, 0 }, 3125 }, 3126 /* EVEX_W_0F5F_P_0 */ 3127 { 3128 { "vmaxps", { XM, Vex, EXx, EXxEVexS }, 0 }, 3129 }, 3130 /* EVEX_W_0F5F_P_1 */ 3131 { 3132 { "vmaxss", { XMScalar, VexScalar, EXxmm_md, EXxEVexS }, 0 }, 3133 }, 3134 /* EVEX_W_0F5F_P_2 */ 3135 { 3136 { Bad_Opcode }, 3137 { "vmaxpd", { XM, Vex, EXx, EXxEVexS }, 0 }, 3138 }, 3139 /* EVEX_W_0F5F_P_3 */ 3140 { 3141 { Bad_Opcode }, 3142 { "vmaxsd", { XMScalar, VexScalar, EXxmm_mq, EXxEVexS }, 0 }, 3143 }, 3144 /* EVEX_W_0F62_P_2 */ 3145 { 3146 { "vpunpckldq", { XM, Vex, EXx }, 0 }, 3147 }, 3148 /* EVEX_W_0F66_P_2 */ 3149 { 3150 { "vpcmpgtd", { XMask, Vex, EXx }, 0 }, 3151 }, 3152 /* EVEX_W_0F6A_P_2 */ 3153 { 3154 { "vpunpckhdq", { XM, Vex, EXx }, 0 }, 3155 }, 3156 /* EVEX_W_0F6B_P_2 */ 3157 { 3158 { "vpackssdw", { XM, Vex, EXx }, 0 }, 3159 }, 3160 /* EVEX_W_0F6C_P_2 */ 3161 { 3162 { Bad_Opcode }, 3163 { "vpunpcklqdq", { XM, Vex, EXx }, 0 }, 3164 }, 3165 /* EVEX_W_0F6D_P_2 */ 3166 { 3167 { Bad_Opcode }, 3168 { "vpunpckhqdq", { XM, Vex, EXx }, 0 }, 3169 }, 3170 /* EVEX_W_0F6E_P_2 */ 3171 { 3172 { "vmovd", { XMScalar, Ed }, 0 }, 3173 { "vmovq", { XMScalar, Eq }, 0 }, 3174 }, 3175 /* EVEX_W_0F6F_P_1 */ 3176 { 3177 { "vmovdqu32", { XM, EXEvexXNoBcst }, 0 }, 3178 { "vmovdqu64", { XM, EXEvexXNoBcst }, 0 }, 3179 }, 3180 /* EVEX_W_0F6F_P_2 */ 3181 { 3182 { "vmovdqa32", { XM, EXEvexXNoBcst }, 0 }, 3183 { "vmovdqa64", { XM, EXEvexXNoBcst }, 0 }, 3184 }, 3185 /* EVEX_W_0F6F_P_3 */ 3186 { 3187 { "vmovdqu8", { XM, EXx }, 0 }, 3188 { "vmovdqu16", { XM, EXx }, 0 }, 3189 }, 3190 /* EVEX_W_0F70_P_2 */ 3191 { 3192 { "vpshufd", { XM, EXx, Ib }, 0 }, 3193 }, 3194 /* EVEX_W_0F72_R_2_P_2 */ 3195 { 3196 { "vpsrld", { Vex, EXx, Ib }, 0 }, 3197 }, 3198 /* EVEX_W_0F72_R_6_P_2 */ 3199 { 3200 { "vpslld", { Vex, EXx, Ib }, 0 }, 3201 }, 3202 /* EVEX_W_0F73_R_2_P_2 */ 3203 { 3204 { Bad_Opcode }, 3205 { "vpsrlq", { Vex, EXx, Ib }, 0 }, 3206 }, 3207 /* EVEX_W_0F73_R_6_P_2 */ 3208 { 3209 { Bad_Opcode }, 3210 { "vpsllq", { Vex, EXx, Ib }, 0 }, 3211 }, 3212 /* EVEX_W_0F76_P_2 */ 3213 { 3214 { "vpcmpeqd", { XMask, Vex, EXx }, 0 }, 3215 }, 3216 /* EVEX_W_0F78_P_0 */ 3217 { 3218 { "vcvttps2udq", { XM, EXx, EXxEVexS }, 0 }, 3219 { "vcvttpd2udq%XY", { XMxmmq, EXx, EXxEVexS }, 0 }, 3220 }, 3221 /* EVEX_W_0F78_P_2 */ 3222 { 3223 { "vcvttps2uqq", { XM, EXEvexHalfBcstXmmq, EXxEVexS }, 0 }, 3224 { "vcvttpd2uqq", { XM, EXx, EXxEVexS }, 0 }, 3225 }, 3226 /* EVEX_W_0F79_P_0 */ 3227 { 3228 { "vcvtps2udq", { XM, EXx, EXxEVexR }, 0 }, 3229 { "vcvtpd2udq%XY", { XMxmmq, EXx, EXxEVexR }, 0 }, 3230 }, 3231 /* EVEX_W_0F79_P_2 */ 3232 { 3233 { "vcvtps2uqq", { XM, EXEvexHalfBcstXmmq, EXxEVexR }, 0 }, 3234 { "vcvtpd2uqq", { XM, EXx, EXxEVexR }, 0 }, 3235 }, 3236 /* EVEX_W_0F7A_P_1 */ 3237 { 3238 { "vcvtudq2pd", { XM, EXEvexHalfBcstXmmq }, 0 }, 3239 { "vcvtuqq2pd", { XM, EXx, EXxEVexR }, 0 }, 3240 }, 3241 /* EVEX_W_0F7A_P_2 */ 3242 { 3243 { "vcvttps2qq", { XM, EXEvexHalfBcstXmmq, EXxEVexS }, 0 }, 3244 { "vcvttpd2qq", { XM, EXx, EXxEVexS }, 0 }, 3245 }, 3246 /* EVEX_W_0F7A_P_3 */ 3247 { 3248 { "vcvtudq2ps", { XM, EXx, EXxEVexR }, 0 }, 3249 { "vcvtuqq2ps%XY", { XMxmmq, EXx, EXxEVexR }, 0 }, 3250 }, 3251 /* EVEX_W_0F7B_P_1 */ 3252 { 3253 { "vcvtusi2ss", { XMScalar, VexScalar, EXxEVexR, Ed }, 0 }, 3254 { "vcvtusi2ss", { XMScalar, VexScalar, EXxEVexR, Eq }, 0 }, 3255 }, 3256 /* EVEX_W_0F7B_P_2 */ 3257 { 3258 { "vcvtps2qq", { XM, EXEvexHalfBcstXmmq, EXxEVexR }, 0 }, 3259 { "vcvtpd2qq", { XM, EXx, EXxEVexR }, 0 }, 3260 }, 3261 /* EVEX_W_0F7B_P_3 */ 3262 { 3263 { "vcvtusi2sd", { XMScalar, VexScalar, Ed }, 0 }, 3264 { "vcvtusi2sd", { XMScalar, VexScalar, EXxEVexR, Eq }, 0 }, 3265 }, 3266 /* EVEX_W_0F7E_P_1 */ 3267 { 3268 { Bad_Opcode }, 3269 { "vmovq", { XMScalar, EXxmm_mq }, 0 }, 3270 }, 3271 /* EVEX_W_0F7E_P_2 */ 3272 { 3273 { "vmovd", { Ed, XMScalar }, 0 }, 3274 { "vmovq", { Eq, XMScalar }, 0 }, 3275 }, 3276 /* EVEX_W_0F7F_P_1 */ 3277 { 3278 { "vmovdqu32", { EXxS, XM }, 0 }, 3279 { "vmovdqu64", { EXxS, XM }, 0 }, 3280 }, 3281 /* EVEX_W_0F7F_P_2 */ 3282 { 3283 { "vmovdqa32", { EXxS, XM }, 0 }, 3284 { "vmovdqa64", { EXxS, XM }, 0 }, 3285 }, 3286 /* EVEX_W_0F7F_P_3 */ 3287 { 3288 { "vmovdqu8", { EXxS, XM }, 0 }, 3289 { "vmovdqu16", { EXxS, XM }, 0 }, 3290 }, 3291 /* EVEX_W_0FC2_P_0 */ 3292 { 3293 { "vcmpps", { XMask, Vex, EXx, EXxEVexS, VCMP }, 0 }, 3294 }, 3295 /* EVEX_W_0FC2_P_1 */ 3296 { 3297 { "vcmpss", { XMask, VexScalar, EXxmm_md, EXxEVexS, VCMP }, 0 }, 3298 }, 3299 /* EVEX_W_0FC2_P_2 */ 3300 { 3301 { Bad_Opcode }, 3302 { "vcmppd", { XMask, Vex, EXx, EXxEVexS, VCMP }, 0 }, 3303 }, 3304 /* EVEX_W_0FC2_P_3 */ 3305 { 3306 { Bad_Opcode }, 3307 { "vcmpsd", { XMask, VexScalar, EXxmm_mq, EXxEVexS, VCMP }, 0 }, 3308 }, 3309 /* EVEX_W_0FC6_P_0 */ 3310 { 3311 { "vshufps", { XM, Vex, EXx, Ib }, 0 }, 3312 }, 3313 /* EVEX_W_0FC6_P_2 */ 3314 { 3315 { Bad_Opcode }, 3316 { "vshufpd", { XM, Vex, EXx, Ib }, 0 }, 3317 }, 3318 /* EVEX_W_0FD2_P_2 */ 3319 { 3320 { "vpsrld", { XM, Vex, EXxmm }, 0 }, 3321 }, 3322 /* EVEX_W_0FD3_P_2 */ 3323 { 3324 { Bad_Opcode }, 3325 { "vpsrlq", { XM, Vex, EXxmm }, 0 }, 3326 }, 3327 /* EVEX_W_0FD4_P_2 */ 3328 { 3329 { Bad_Opcode }, 3330 { "vpaddq", { XM, Vex, EXx }, 0 }, 3331 }, 3332 /* EVEX_W_0FD6_P_2 */ 3333 { 3334 { Bad_Opcode }, 3335 { "vmovq", { EXxmm_mq, XMScalar }, 0 }, 3336 }, 3337 /* EVEX_W_0FE6_P_1 */ 3338 { 3339 { "vcvtdq2pd", { XM, EXEvexHalfBcstXmmq }, 0 }, 3340 { "vcvtqq2pd", { XM, EXx, EXxEVexR }, 0 }, 3341 }, 3342 /* EVEX_W_0FE6_P_2 */ 3343 { 3344 { Bad_Opcode }, 3345 { "vcvttpd2dq%XY", { XMxmmq, EXx, EXxEVexS }, 0 }, 3346 }, 3347 /* EVEX_W_0FE6_P_3 */ 3348 { 3349 { Bad_Opcode }, 3350 { "vcvtpd2dq%XY", { XMxmmq, EXx, EXxEVexR }, 0 }, 3351 }, 3352 /* EVEX_W_0FE7_P_2 */ 3353 { 3354 { "vmovntdq", { EXEvexXNoBcst, XM }, 0 }, 3355 }, 3356 /* EVEX_W_0FF2_P_2 */ 3357 { 3358 { "vpslld", { XM, Vex, EXxmm }, 0 }, 3359 }, 3360 /* EVEX_W_0FF3_P_2 */ 3361 { 3362 { Bad_Opcode }, 3363 { "vpsllq", { XM, Vex, EXxmm }, 0 }, 3364 }, 3365 /* EVEX_W_0FF4_P_2 */ 3366 { 3367 { Bad_Opcode }, 3368 { "vpmuludq", { XM, Vex, EXx }, 0 }, 3369 }, 3370 /* EVEX_W_0FFA_P_2 */ 3371 { 3372 { "vpsubd", { XM, Vex, EXx }, 0 }, 3373 }, 3374 /* EVEX_W_0FFB_P_2 */ 3375 { 3376 { Bad_Opcode }, 3377 { "vpsubq", { XM, Vex, EXx }, 0 }, 3378 }, 3379 /* EVEX_W_0FFE_P_2 */ 3380 { 3381 { "vpaddd", { XM, Vex, EXx }, 0 }, 3382 }, 3383 /* EVEX_W_0F380C_P_2 */ 3384 { 3385 { "vpermilps", { XM, Vex, EXx }, 0 }, 3386 }, 3387 /* EVEX_W_0F380D_P_2 */ 3388 { 3389 { Bad_Opcode }, 3390 { "vpermilpd", { XM, Vex, EXx }, 0 }, 3391 }, 3392 /* EVEX_W_0F3810_P_1 */ 3393 { 3394 { "vpmovuswb", { EXxmmq, XM }, 0 }, 3395 }, 3396 /* EVEX_W_0F3810_P_2 */ 3397 { 3398 { Bad_Opcode }, 3399 { "vpsrlvw", { XM, Vex, EXx }, 0 }, 3400 }, 3401 /* EVEX_W_0F3811_P_1 */ 3402 { 3403 { "vpmovusdb", { EXxmmqd, XM }, 0 }, 3404 }, 3405 /* EVEX_W_0F3811_P_2 */ 3406 { 3407 { Bad_Opcode }, 3408 { "vpsravw", { XM, Vex, EXx }, 0 }, 3409 }, 3410 /* EVEX_W_0F3812_P_1 */ 3411 { 3412 { "vpmovusqb", { EXxmmdw, XM }, 0 }, 3413 }, 3414 /* EVEX_W_0F3812_P_2 */ 3415 { 3416 { Bad_Opcode }, 3417 { "vpsllvw", { XM, Vex, EXx }, 0 }, 3418 }, 3419 /* EVEX_W_0F3813_P_1 */ 3420 { 3421 { "vpmovusdw", { EXxmmq, XM }, 0 }, 3422 }, 3423 /* EVEX_W_0F3813_P_2 */ 3424 { 3425 { "vcvtph2ps", { XM, EXxmmq, EXxEVexS }, 0 }, 3426 }, 3427 /* EVEX_W_0F3814_P_1 */ 3428 { 3429 { "vpmovusqw", { EXxmmqd, XM }, 0 }, 3430 }, 3431 /* EVEX_W_0F3815_P_1 */ 3432 { 3433 { "vpmovusqd", { EXxmmq, XM }, 0 }, 3434 }, 3435 /* EVEX_W_0F3818_P_2 */ 3436 { 3437 { "vbroadcastss", { XM, EXxmm_md }, 0 }, 3438 }, 3439 /* EVEX_W_0F3819_P_2 */ 3440 { 3441 { "vbroadcastf32x2", { XM, EXxmm_mq }, 0 }, 3442 { "vbroadcastsd", { XM, EXxmm_mq }, 0 }, 3443 }, 3444 /* EVEX_W_0F381A_P_2 */ 3445 { 3446 { "vbroadcastf32x4", { XM, EXxmm }, 0 }, 3447 { "vbroadcastf64x2", { XM, EXxmm }, 0 }, 3448 }, 3449 /* EVEX_W_0F381B_P_2 */ 3450 { 3451 { "vbroadcastf32x8", { XM, EXxmmq }, 0 }, 3452 { "vbroadcastf64x4", { XM, EXymm }, 0 }, 3453 }, 3454 /* EVEX_W_0F381E_P_2 */ 3455 { 3456 { "vpabsd", { XM, EXx }, 0 }, 3457 }, 3458 /* EVEX_W_0F381F_P_2 */ 3459 { 3460 { Bad_Opcode }, 3461 { "vpabsq", { XM, EXx }, 0 }, 3462 }, 3463 /* EVEX_W_0F3820_P_1 */ 3464 { 3465 { "vpmovswb", { EXxmmq, XM }, 0 }, 3466 }, 3467 /* EVEX_W_0F3821_P_1 */ 3468 { 3469 { "vpmovsdb", { EXxmmqd, XM }, 0 }, 3470 }, 3471 /* EVEX_W_0F3822_P_1 */ 3472 { 3473 { "vpmovsqb", { EXxmmdw, XM }, 0 }, 3474 }, 3475 /* EVEX_W_0F3823_P_1 */ 3476 { 3477 { "vpmovsdw", { EXxmmq, XM }, 0 }, 3478 }, 3479 /* EVEX_W_0F3824_P_1 */ 3480 { 3481 { "vpmovsqw", { EXxmmqd, XM }, 0 }, 3482 }, 3483 /* EVEX_W_0F3825_P_1 */ 3484 { 3485 { "vpmovsqd", { EXxmmq, XM }, 0 }, 3486 }, 3487 /* EVEX_W_0F3825_P_2 */ 3488 { 3489 { "vpmovsxdq", { XM, EXxmmq }, 0 }, 3490 }, 3491 /* EVEX_W_0F3826_P_1 */ 3492 { 3493 { "vptestnmb", { XMask, Vex, EXx }, 0 }, 3494 { "vptestnmw", { XMask, Vex, EXx }, 0 }, 3495 }, 3496 /* EVEX_W_0F3826_P_2 */ 3497 { 3498 { "vptestmb", { XMask, Vex, EXx }, 0 }, 3499 { "vptestmw", { XMask, Vex, EXx }, 0 }, 3500 }, 3501 /* EVEX_W_0F3828_P_1 */ 3502 { 3503 { "vpmovm2b", { XM, MaskR }, 0 }, 3504 { "vpmovm2w", { XM, MaskR }, 0 }, 3505 }, 3506 /* EVEX_W_0F3828_P_2 */ 3507 { 3508 { Bad_Opcode }, 3509 { "vpmuldq", { XM, Vex, EXx }, 0 }, 3510 }, 3511 /* EVEX_W_0F3829_P_1 */ 3512 { 3513 { "vpmovb2m", { XMask, EXx }, 0 }, 3514 { "vpmovw2m", { XMask, EXx }, 0 }, 3515 }, 3516 /* EVEX_W_0F3829_P_2 */ 3517 { 3518 { Bad_Opcode }, 3519 { "vpcmpeqq", { XMask, Vex, EXx }, 0 }, 3520 }, 3521 /* EVEX_W_0F382A_P_1 */ 3522 { 3523 { Bad_Opcode }, 3524 { "vpbroadcastmb2q", { XM, MaskR }, 0 }, 3525 }, 3526 /* EVEX_W_0F382A_P_2 */ 3527 { 3528 { "vmovntdqa", { XM, EXEvexXNoBcst }, 0 }, 3529 }, 3530 /* EVEX_W_0F382B_P_2 */ 3531 { 3532 { "vpackusdw", { XM, Vex, EXx }, 0 }, 3533 }, 3534 /* EVEX_W_0F3830_P_1 */ 3535 { 3536 { "vpmovwb", { EXxmmq, XM }, 0 }, 3537 }, 3538 /* EVEX_W_0F3831_P_1 */ 3539 { 3540 { "vpmovdb", { EXxmmqd, XM }, 0 }, 3541 }, 3542 /* EVEX_W_0F3832_P_1 */ 3543 { 3544 { "vpmovqb", { EXxmmdw, XM }, 0 }, 3545 }, 3546 /* EVEX_W_0F3833_P_1 */ 3547 { 3548 { "vpmovdw", { EXxmmq, XM }, 0 }, 3549 }, 3550 /* EVEX_W_0F3834_P_1 */ 3551 { 3552 { "vpmovqw", { EXxmmqd, XM }, 0 }, 3553 }, 3554 /* EVEX_W_0F3835_P_1 */ 3555 { 3556 { "vpmovqd", { EXxmmq, XM }, 0 }, 3557 }, 3558 /* EVEX_W_0F3835_P_2 */ 3559 { 3560 { "vpmovzxdq", { XM, EXxmmq }, 0 }, 3561 }, 3562 /* EVEX_W_0F3837_P_2 */ 3563 { 3564 { Bad_Opcode }, 3565 { "vpcmpgtq", { XMask, Vex, EXx }, 0 }, 3566 }, 3567 /* EVEX_W_0F3838_P_1 */ 3568 { 3569 { "vpmovm2d", { XM, MaskR }, 0 }, 3570 { "vpmovm2q", { XM, MaskR }, 0 }, 3571 }, 3572 /* EVEX_W_0F3839_P_1 */ 3573 { 3574 { "vpmovd2m", { XMask, EXx }, 0 }, 3575 { "vpmovq2m", { XMask, EXx }, 0 }, 3576 }, 3577 /* EVEX_W_0F383A_P_1 */ 3578 { 3579 { "vpbroadcastmw2d", { XM, MaskR }, 0 }, 3580 }, 3581 /* EVEX_W_0F3840_P_2 */ 3582 { 3583 { "vpmulld", { XM, Vex, EXx }, 0 }, 3584 { "vpmullq", { XM, Vex, EXx }, 0 }, 3585 }, 3586 /* EVEX_W_0F3855_P_2 */ 3587 { 3588 { "vpopcntd", { XM, EXx }, 0 }, 3589 { "vpopcntq", { XM, EXx }, 0 }, 3590 }, 3591 /* EVEX_W_0F3858_P_2 */ 3592 { 3593 { "vpbroadcastd", { XM, EXxmm_md }, 0 }, 3594 }, 3595 /* EVEX_W_0F3859_P_2 */ 3596 { 3597 { "vbroadcasti32x2", { XM, EXxmm_mq }, 0 }, 3598 { "vpbroadcastq", { XM, EXxmm_mq }, 0 }, 3599 }, 3600 /* EVEX_W_0F385A_P_2 */ 3601 { 3602 { "vbroadcasti32x4", { XM, EXxmm }, 0 }, 3603 { "vbroadcasti64x2", { XM, EXxmm }, 0 }, 3604 }, 3605 /* EVEX_W_0F385B_P_2 */ 3606 { 3607 { "vbroadcasti32x8", { XM, EXxmmq }, 0 }, 3608 { "vbroadcasti64x4", { XM, EXymm }, 0 }, 3609 }, 3610 /* EVEX_W_0F3866_P_2 */ 3611 { 3612 { "vpblendmb", { XM, Vex, EXx }, 0 }, 3613 { "vpblendmw", { XM, Vex, EXx }, 0 }, 3614 }, 3615 /* EVEX_W_0F3875_P_2 */ 3616 { 3617 { "vpermi2b", { XM, Vex, EXx }, 0 }, 3618 { "vpermi2w", { XM, Vex, EXx }, 0 }, 3619 }, 3620 /* EVEX_W_0F3878_P_2 */ 3621 { 3622 { "vpbroadcastb", { XM, EXxmm_mb }, 0 }, 3623 }, 3624 /* EVEX_W_0F3879_P_2 */ 3625 { 3626 { "vpbroadcastw", { XM, EXxmm_mw }, 0 }, 3627 }, 3628 /* EVEX_W_0F387A_P_2 */ 3629 { 3630 { "vpbroadcastb", { XM, Rd }, 0 }, 3631 }, 3632 /* EVEX_W_0F387B_P_2 */ 3633 { 3634 { "vpbroadcastw", { XM, Rd }, 0 }, 3635 }, 3636 /* EVEX_W_0F387D_P_2 */ 3637 { 3638 { "vpermt2b", { XM, Vex, EXx }, 0 }, 3639 { "vpermt2w", { XM, Vex, EXx }, 0 }, 3640 }, 3641 /* EVEX_W_0F3883_P_2 */ 3642 { 3643 { Bad_Opcode }, 3644 { "vpmultishiftqb", { XM, Vex, EXx }, 0 }, 3645 }, 3646 /* EVEX_W_0F388D_P_2 */ 3647 { 3648 { "vpermb", { XM, Vex, EXx }, 0 }, 3649 { "vpermw", { XM, Vex, EXx }, 0 }, 3650 }, 3651 /* EVEX_W_0F3891_P_2 */ 3652 { 3653 { "vpgatherqd", { XMxmmq, MVexVSIBQDWpX }, 0 }, 3654 { "vpgatherqq", { XM, MVexVSIBQWpX }, 0 }, 3655 }, 3656 /* EVEX_W_0F3893_P_2 */ 3657 { 3658 { "vgatherqps", { XMxmmq, MVexVSIBQDWpX }, 0 }, 3659 { "vgatherqpd", { XM, MVexVSIBQWpX }, 0 }, 3660 }, 3661 /* EVEX_W_0F38A1_P_2 */ 3662 { 3663 { "vpscatterqd", { MVexVSIBQDWpX, XMxmmq }, 0 }, 3664 { "vpscatterqq", { MVexVSIBQWpX, XM }, 0 }, 3665 }, 3666 /* EVEX_W_0F38A3_P_2 */ 3667 { 3668 { "vscatterqps", { MVexVSIBQDWpX, XMxmmq }, 0 }, 3669 { "vscatterqpd", { MVexVSIBQWpX, XM }, 0 }, 3670 }, 3671 /* EVEX_W_0F38C7_R_1_P_2 */ 3672 { 3673 { "vgatherpf0qps", { MVexVSIBDQWpX }, 0 }, 3674 { "vgatherpf0qpd", { MVexVSIBQWpX }, 0 }, 3675 }, 3676 /* EVEX_W_0F38C7_R_2_P_2 */ 3677 { 3678 { "vgatherpf1qps", { MVexVSIBDQWpX }, 0 }, 3679 { "vgatherpf1qpd", { MVexVSIBQWpX }, 0 }, 3680 }, 3681 /* EVEX_W_0F38C7_R_5_P_2 */ 3682 { 3683 { "vscatterpf0qps", { MVexVSIBDQWpX }, 0 }, 3684 { "vscatterpf0qpd", { MVexVSIBQWpX }, 0 }, 3685 }, 3686 /* EVEX_W_0F38C7_R_6_P_2 */ 3687 { 3688 { "vscatterpf1qps", { MVexVSIBDQWpX }, 0 }, 3689 { "vscatterpf1qpd", { MVexVSIBQWpX }, 0 }, 3690 }, 3691 /* EVEX_W_0F3A00_P_2 */ 3692 { 3693 { Bad_Opcode }, 3694 { "vpermq", { XM, EXx, Ib }, 0 }, 3695 }, 3696 /* EVEX_W_0F3A01_P_2 */ 3697 { 3698 { Bad_Opcode }, 3699 { "vpermpd", { XM, EXx, Ib }, 0 }, 3700 }, 3701 /* EVEX_W_0F3A04_P_2 */ 3702 { 3703 { "vpermilps", { XM, EXx, Ib }, 0 }, 3704 }, 3705 /* EVEX_W_0F3A05_P_2 */ 3706 { 3707 { Bad_Opcode }, 3708 { "vpermilpd", { XM, EXx, Ib }, 0 }, 3709 }, 3710 /* EVEX_W_0F3A08_P_2 */ 3711 { 3712 { "vrndscaleps", { XM, EXx, EXxEVexS, Ib }, 0 }, 3713 }, 3714 /* EVEX_W_0F3A09_P_2 */ 3715 { 3716 { Bad_Opcode }, 3717 { "vrndscalepd", { XM, EXx, EXxEVexS, Ib }, 0 }, 3718 }, 3719 /* EVEX_W_0F3A0A_P_2 */ 3720 { 3721 { "vrndscaless", { XMScalar, VexScalar, EXxmm_md, EXxEVexS, Ib }, 0 }, 3722 }, 3723 /* EVEX_W_0F3A0B_P_2 */ 3724 { 3725 { Bad_Opcode }, 3726 { "vrndscalesd", { XMScalar, VexScalar, EXxmm_mq, EXxEVexS, Ib }, 0 }, 3727 }, 3728 /* EVEX_W_0F3A16_P_2 */ 3729 { 3730 { "vpextrd", { Edqd, XM, Ib }, 0 }, 3731 { "vpextrq", { Eq, XM, Ib }, 0 }, 3732 }, 3733 /* EVEX_W_0F3A18_P_2 */ 3734 { 3735 { "vinsertf32x4", { XM, Vex, EXxmm, Ib }, 0 }, 3736 { "vinsertf64x2", { XM, Vex, EXxmm, Ib }, 0 }, 3737 }, 3738 /* EVEX_W_0F3A19_P_2 */ 3739 { 3740 { "vextractf32x4", { EXxmm, XM, Ib }, 0 }, 3741 { "vextractf64x2", { EXxmm, XM, Ib }, 0 }, 3742 }, 3743 /* EVEX_W_0F3A1A_P_2 */ 3744 { 3745 { "vinsertf32x8", { XM, Vex, EXxmmq, Ib }, 0 }, 3746 { "vinsertf64x4", { XM, Vex, EXxmmq, Ib }, 0 }, 3747 }, 3748 /* EVEX_W_0F3A1B_P_2 */ 3749 { 3750 { "vextractf32x8", { EXxmmq, XM, Ib }, 0 }, 3751 { "vextractf64x4", { EXxmmq, XM, Ib }, 0 }, 3752 }, 3753 /* EVEX_W_0F3A1D_P_2 */ 3754 { 3755 { "vcvtps2ph", { EXxmmq, XM, EXxEVexS, Ib }, 0 }, 3756 }, 3757 /* EVEX_W_0F3A21_P_2 */ 3758 { 3759 { "vinsertps", { XMM, Vex, EXxmm_md, Ib }, 0 }, 3760 }, 3761 /* EVEX_W_0F3A22_P_2 */ 3762 { 3763 { "vpinsrd", { XM, Vex128, Edqd, Ib }, 0 }, 3764 { "vpinsrq", { XM, Vex128, Eq, Ib }, 0 }, 3765 }, 3766 /* EVEX_W_0F3A23_P_2 */ 3767 { 3768 { "vshuff32x4", { XM, Vex, EXx, Ib }, 0 }, 3769 { "vshuff64x2", { XM, Vex, EXx, Ib }, 0 }, 3770 }, 3771 /* EVEX_W_0F3A38_P_2 */ 3772 { 3773 { "vinserti32x4", { XM, Vex, EXxmm, Ib }, 0 }, 3774 { "vinserti64x2", { XM, Vex, EXxmm, Ib }, 0 }, 3775 }, 3776 /* EVEX_W_0F3A39_P_2 */ 3777 { 3778 { "vextracti32x4", { EXxmm, XM, Ib }, 0 }, 3779 { "vextracti64x2", { EXxmm, XM, Ib }, 0 }, 3780 }, 3781 /* EVEX_W_0F3A3A_P_2 */ 3782 { 3783 { "vinserti32x8", { XM, Vex, EXxmmq, Ib }, 0 }, 3784 { "vinserti64x4", { XM, Vex, EXxmmq, Ib }, 0 }, 3785 }, 3786 /* EVEX_W_0F3A3B_P_2 */ 3787 { 3788 { "vextracti32x8", { EXxmmq, XM, Ib }, 0 }, 3789 { "vextracti64x4", { EXxmmq, XM, Ib }, 0 }, 3790 }, 3791 /* EVEX_W_0F3A3E_P_2 */ 3792 { 3793 { "vpcmpub", { XMask, Vex, EXx, Ib }, 0 }, 3794 { "vpcmpuw", { XMask, Vex, EXx, Ib }, 0 }, 3795 }, 3796 /* EVEX_W_0F3A3F_P_2 */ 3797 { 3798 { "vpcmpb", { XMask, Vex, EXx, Ib }, 0 }, 3799 { "vpcmpw", { XMask, Vex, EXx, Ib }, 0 }, 3800 }, 3801 /* EVEX_W_0F3A42_P_2 */ 3802 { 3803 { "vdbpsadbw", { XM, Vex, EXx, Ib }, 0 }, 3804 }, 3805 /* EVEX_W_0F3A43_P_2 */ 3806 { 3807 { "vshufi32x4", { XM, Vex, EXx, Ib }, 0 }, 3808 { "vshufi64x2", { XM, Vex, EXx, Ib }, 0 }, 3809 }, 3810 /* EVEX_W_0F3A50_P_2 */ 3811 { 3812 { "vrangeps", { XM, Vex, EXx, EXxEVexS, Ib }, 0 }, 3813 { "vrangepd", { XM, Vex, EXx, EXxEVexS, Ib }, 0 }, 3814 }, 3815 /* EVEX_W_0F3A51_P_2 */ 3816 { 3817 { "vrangess", { XMScalar, VexScalar, EXxmm_md, EXxEVexS, Ib }, 0 }, 3818 { "vrangesd", { XMScalar, VexScalar, EXxmm_mq, EXxEVexS, Ib }, 0 }, 3819 }, 3820 /* EVEX_W_0F3A56_P_2 */ 3821 { 3822 { "vreduceps", { XM, EXx, EXxEVexS, Ib }, 0 }, 3823 { "vreducepd", { XM, EXx, EXxEVexS, Ib }, 0 }, 3824 }, 3825 /* EVEX_W_0F3A57_P_2 */ 3826 { 3827 { "vreducess", { XMScalar, VexScalar, EXxmm_md, EXxEVexS, Ib }, 0 }, 3828 { "vreducesd", { XMScalar, VexScalar, EXxmm_mq, EXxEVexS, Ib }, 0 }, 3829 }, 3830 /* EVEX_W_0F3A66_P_2 */ 3831 { 3832 { "vfpclassps%XZ", { XMask, EXx, Ib }, 0 }, 3833 { "vfpclasspd%XZ", { XMask, EXx, Ib }, 0 }, 3834 }, 3835 /* EVEX_W_0F3A67_P_2 */ 3836 { 3837 { "vfpclassss", { XMask, EXxmm_md, Ib }, 0 }, 3838 { "vfpclasssd", { XMask, EXxmm_mq, Ib }, 0 }, 3839 }, 3840#endif /* NEED_VEX_W_TABLE */ 3841#ifdef NEED_MOD_TABLE 3842 { 3843 /* MOD_EVEX_0F10_PREFIX_1 */ 3844 { VEX_W_TABLE (EVEX_W_0F10_P_1_M_0) }, 3845 { VEX_W_TABLE (EVEX_W_0F10_P_1_M_1) }, 3846 }, 3847 { 3848 /* MOD_EVEX_0F10_PREFIX_3 */ 3849 { VEX_W_TABLE (EVEX_W_0F10_P_3_M_0) }, 3850 { VEX_W_TABLE (EVEX_W_0F10_P_3_M_1) }, 3851 }, 3852 { 3853 /* MOD_EVEX_0F11_PREFIX_1 */ 3854 { VEX_W_TABLE (EVEX_W_0F11_P_1_M_0) }, 3855 { VEX_W_TABLE (EVEX_W_0F11_P_1_M_1) }, 3856 }, 3857 { 3858 /* MOD_EVEX_0F11_PREFIX_3 */ 3859 { VEX_W_TABLE (EVEX_W_0F11_P_3_M_0) }, 3860 { VEX_W_TABLE (EVEX_W_0F11_P_3_M_1) }, 3861 }, 3862 { 3863 /* MOD_EVEX_0F12_PREFIX_0 */ 3864 { VEX_W_TABLE (EVEX_W_0F12_P_0_M_0) }, 3865 { VEX_W_TABLE (EVEX_W_0F12_P_0_M_1) }, 3866 }, 3867 { 3868 /* MOD_EVEX_0F16_PREFIX_0 */ 3869 { VEX_W_TABLE (EVEX_W_0F16_P_0_M_0) }, 3870 { VEX_W_TABLE (EVEX_W_0F16_P_0_M_1) }, 3871 }, 3872 { 3873 /* MOD_EVEX_0F38C6_REG_1 */ 3874 { PREFIX_TABLE (PREFIX_EVEX_0F38C6_REG_1) }, 3875 }, 3876 { 3877 /* MOD_EVEX_0F38C6_REG_2 */ 3878 { PREFIX_TABLE (PREFIX_EVEX_0F38C6_REG_2) }, 3879 }, 3880 { 3881 /* MOD_EVEX_0F38C6_REG_5 */ 3882 { PREFIX_TABLE (PREFIX_EVEX_0F38C6_REG_5) }, 3883 }, 3884 { 3885 /* MOD_EVEX_0F38C6_REG_6 */ 3886 { PREFIX_TABLE (PREFIX_EVEX_0F38C6_REG_6) }, 3887 }, 3888 { 3889 /* MOD_EVEX_0F38C7_REG_1 */ 3890 { PREFIX_TABLE (PREFIX_EVEX_0F38C7_REG_1) }, 3891 }, 3892 { 3893 /* MOD_EVEX_0F38C7_REG_2 */ 3894 { PREFIX_TABLE (PREFIX_EVEX_0F38C7_REG_2) }, 3895 }, 3896 { 3897 /* MOD_EVEX_0F38C7_REG_5 */ 3898 { PREFIX_TABLE (PREFIX_EVEX_0F38C7_REG_5) }, 3899 }, 3900 { 3901 /* MOD_EVEX_0F38C7_REG_6 */ 3902 { PREFIX_TABLE (PREFIX_EVEX_0F38C7_REG_6) }, 3903 }, 3904#endif /* NEED_MOD_TABLE */ 3905