1 #ifdef NEED_OPCODE_TABLE 2 3 static 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 { Bad_Opcode }, 391 { Bad_Opcode }, 392 { Bad_Opcode }, 393 { Bad_Opcode }, 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_0F3858 */ 2009 { 2010 { Bad_Opcode }, 2011 { Bad_Opcode }, 2012 { VEX_W_TABLE (EVEX_W_0F3858_P_2) }, 2013 }, 2014 /* PREFIX_EVEX_0F3859 */ 2015 { 2016 { Bad_Opcode }, 2017 { Bad_Opcode }, 2018 { VEX_W_TABLE (EVEX_W_0F3859_P_2) }, 2019 }, 2020 /* PREFIX_EVEX_0F385A */ 2021 { 2022 { Bad_Opcode }, 2023 { Bad_Opcode }, 2024 { VEX_W_TABLE (EVEX_W_0F385A_P_2) }, 2025 }, 2026 /* PREFIX_EVEX_0F385B */ 2027 { 2028 { Bad_Opcode }, 2029 { Bad_Opcode }, 2030 { VEX_W_TABLE (EVEX_W_0F385B_P_2) }, 2031 }, 2032 /* PREFIX_EVEX_0F3864 */ 2033 { 2034 { Bad_Opcode }, 2035 { Bad_Opcode }, 2036 { "vpblendm%LW", { XM, Vex, EXx }, 0 }, 2037 }, 2038 /* PREFIX_EVEX_0F3865 */ 2039 { 2040 { Bad_Opcode }, 2041 { Bad_Opcode }, 2042 { "vblendmp%XW", { XM, Vex, EXx }, 0 }, 2043 }, 2044 /* PREFIX_EVEX_0F3866 */ 2045 { 2046 { Bad_Opcode }, 2047 { Bad_Opcode }, 2048 { VEX_W_TABLE (EVEX_W_0F3866_P_2) }, 2049 }, 2050 /* PREFIX_EVEX_0F3875 */ 2051 { 2052 { Bad_Opcode }, 2053 { Bad_Opcode }, 2054 { VEX_W_TABLE (EVEX_W_0F3875_P_2) }, 2055 }, 2056 /* PREFIX_EVEX_0F3876 */ 2057 { 2058 { Bad_Opcode }, 2059 { Bad_Opcode }, 2060 { "vpermi2%LW", { XM, Vex, EXx }, 0 }, 2061 }, 2062 /* PREFIX_EVEX_0F3877 */ 2063 { 2064 { Bad_Opcode }, 2065 { Bad_Opcode }, 2066 { "vpermi2p%XW", { XM, Vex, EXx }, 0 }, 2067 }, 2068 /* PREFIX_EVEX_0F3878 */ 2069 { 2070 { Bad_Opcode }, 2071 { Bad_Opcode }, 2072 { VEX_W_TABLE (EVEX_W_0F3878_P_2) }, 2073 }, 2074 /* PREFIX_EVEX_0F3879 */ 2075 { 2076 { Bad_Opcode }, 2077 { Bad_Opcode }, 2078 { VEX_W_TABLE (EVEX_W_0F3879_P_2) }, 2079 }, 2080 /* PREFIX_EVEX_0F387A */ 2081 { 2082 { Bad_Opcode }, 2083 { Bad_Opcode }, 2084 { VEX_W_TABLE (EVEX_W_0F387A_P_2) }, 2085 }, 2086 /* PREFIX_EVEX_0F387B */ 2087 { 2088 { Bad_Opcode }, 2089 { Bad_Opcode }, 2090 { VEX_W_TABLE (EVEX_W_0F387B_P_2) }, 2091 }, 2092 /* PREFIX_EVEX_0F387C */ 2093 { 2094 { Bad_Opcode }, 2095 { Bad_Opcode }, 2096 { "vpbroadcast%LW", { XM, Rdq }, 0 }, 2097 }, 2098 /* PREFIX_EVEX_0F387D */ 2099 { 2100 { Bad_Opcode }, 2101 { Bad_Opcode }, 2102 { VEX_W_TABLE (EVEX_W_0F387D_P_2) }, 2103 }, 2104 /* PREFIX_EVEX_0F387E */ 2105 { 2106 { Bad_Opcode }, 2107 { Bad_Opcode }, 2108 { "vpermt2%LW", { XM, Vex, EXx }, 0 }, 2109 }, 2110 /* PREFIX_EVEX_0F387F */ 2111 { 2112 { Bad_Opcode }, 2113 { Bad_Opcode }, 2114 { "vpermt2p%XW", { XM, Vex, EXx }, 0 }, 2115 }, 2116 /* PREFIX_EVEX_0F3883 */ 2117 { 2118 { Bad_Opcode }, 2119 { Bad_Opcode }, 2120 { VEX_W_TABLE (EVEX_W_0F3883_P_2) }, 2121 }, 2122 /* PREFIX_EVEX_0F3888 */ 2123 { 2124 { Bad_Opcode }, 2125 { Bad_Opcode }, 2126 { "vexpandp%XW", { XM, EXEvexXGscat }, 0 }, 2127 }, 2128 /* PREFIX_EVEX_0F3889 */ 2129 { 2130 { Bad_Opcode }, 2131 { Bad_Opcode }, 2132 { "vpexpand%LW", { XM, EXEvexXGscat }, 0 }, 2133 }, 2134 /* PREFIX_EVEX_0F388A */ 2135 { 2136 { Bad_Opcode }, 2137 { Bad_Opcode }, 2138 { "vcompressp%XW", { EXEvexXGscat, XM }, 0 }, 2139 }, 2140 /* PREFIX_EVEX_0F388B */ 2141 { 2142 { Bad_Opcode }, 2143 { Bad_Opcode }, 2144 { "vpcompress%LW", { EXEvexXGscat, XM }, 0 }, 2145 }, 2146 /* PREFIX_EVEX_0F388D */ 2147 { 2148 { Bad_Opcode }, 2149 { Bad_Opcode }, 2150 { VEX_W_TABLE (EVEX_W_0F388D_P_2) }, 2151 }, 2152 /* PREFIX_EVEX_0F3890 */ 2153 { 2154 { Bad_Opcode }, 2155 { Bad_Opcode }, 2156 { "vpgatherd%LW", { XM, MVexVSIBDWpX }, 0 }, 2157 }, 2158 /* PREFIX_EVEX_0F3891 */ 2159 { 2160 { Bad_Opcode }, 2161 { Bad_Opcode }, 2162 { VEX_W_TABLE (EVEX_W_0F3891_P_2) }, 2163 }, 2164 /* PREFIX_EVEX_0F3892 */ 2165 { 2166 { Bad_Opcode }, 2167 { Bad_Opcode }, 2168 { "vgatherdp%XW", { XM, MVexVSIBDWpX}, 0 }, 2169 }, 2170 /* PREFIX_EVEX_0F3893 */ 2171 { 2172 { Bad_Opcode }, 2173 { Bad_Opcode }, 2174 { VEX_W_TABLE (EVEX_W_0F3893_P_2) }, 2175 }, 2176 /* PREFIX_EVEX_0F3896 */ 2177 { 2178 { Bad_Opcode }, 2179 { Bad_Opcode }, 2180 { "vfmaddsub132p%XW", { XM, Vex, EXx, EXxEVexR }, 0 }, 2181 }, 2182 /* PREFIX_EVEX_0F3897 */ 2183 { 2184 { Bad_Opcode }, 2185 { Bad_Opcode }, 2186 { "vfmsubadd132p%XW", { XM, Vex, EXx, EXxEVexR }, 0 }, 2187 }, 2188 /* PREFIX_EVEX_0F3898 */ 2189 { 2190 { Bad_Opcode }, 2191 { Bad_Opcode }, 2192 { "vfmadd132p%XW", { XM, Vex, EXx, EXxEVexR }, 0 }, 2193 }, 2194 /* PREFIX_EVEX_0F3899 */ 2195 { 2196 { Bad_Opcode }, 2197 { Bad_Opcode }, 2198 { "vfmadd132s%XW", { XMScalar, VexScalar, EXxmm_mdq, EXxEVexR }, 0 }, 2199 }, 2200 /* PREFIX_EVEX_0F389A */ 2201 { 2202 { Bad_Opcode }, 2203 { Bad_Opcode }, 2204 { "vfmsub132p%XW", { XM, Vex, EXx, EXxEVexR }, 0 }, 2205 }, 2206 /* PREFIX_EVEX_0F389B */ 2207 { 2208 { Bad_Opcode }, 2209 { Bad_Opcode }, 2210 { "vfmsub132s%XW", { XMScalar, VexScalar, EXxmm_mdq, EXxEVexR }, 0 }, 2211 }, 2212 /* PREFIX_EVEX_0F389C */ 2213 { 2214 { Bad_Opcode }, 2215 { Bad_Opcode }, 2216 { "vfnmadd132p%XW", { XM, Vex, EXx, EXxEVexR }, 0 }, 2217 }, 2218 /* PREFIX_EVEX_0F389D */ 2219 { 2220 { Bad_Opcode }, 2221 { Bad_Opcode }, 2222 { "vfnmadd132s%XW", { XMScalar, VexScalar, EXxmm_mdq, EXxEVexR }, 0 }, 2223 }, 2224 /* PREFIX_EVEX_0F389E */ 2225 { 2226 { Bad_Opcode }, 2227 { Bad_Opcode }, 2228 { "vfnmsub132p%XW", { XM, Vex, EXx, EXxEVexR }, 0 }, 2229 }, 2230 /* PREFIX_EVEX_0F389F */ 2231 { 2232 { Bad_Opcode }, 2233 { Bad_Opcode }, 2234 { "vfnmsub132s%XW", { XMScalar, VexScalar, EXxmm_mdq, EXxEVexR }, 0 }, 2235 }, 2236 /* PREFIX_EVEX_0F38A0 */ 2237 { 2238 { Bad_Opcode }, 2239 { Bad_Opcode }, 2240 { "vpscatterd%LW", { MVexVSIBDWpX, XM }, 0 }, 2241 }, 2242 /* PREFIX_EVEX_0F38A1 */ 2243 { 2244 { Bad_Opcode }, 2245 { Bad_Opcode }, 2246 { VEX_W_TABLE (EVEX_W_0F38A1_P_2) }, 2247 }, 2248 /* PREFIX_EVEX_0F38A2 */ 2249 { 2250 { Bad_Opcode }, 2251 { Bad_Opcode }, 2252 { "vscatterdp%XW", { MVexVSIBDWpX, XM }, 0 }, 2253 }, 2254 /* PREFIX_EVEX_0F38A3 */ 2255 { 2256 { Bad_Opcode }, 2257 { Bad_Opcode }, 2258 { VEX_W_TABLE (EVEX_W_0F38A3_P_2) }, 2259 }, 2260 /* PREFIX_EVEX_0F38A6 */ 2261 { 2262 { Bad_Opcode }, 2263 { Bad_Opcode }, 2264 { "vfmaddsub213p%XW", { XM, Vex, EXx, EXxEVexR }, 0 }, 2265 }, 2266 /* PREFIX_EVEX_0F38A7 */ 2267 { 2268 { Bad_Opcode }, 2269 { Bad_Opcode }, 2270 { "vfmsubadd213p%XW", { XM, Vex, EXx, EXxEVexR }, 0 }, 2271 }, 2272 /* PREFIX_EVEX_0F38A8 */ 2273 { 2274 { Bad_Opcode }, 2275 { Bad_Opcode }, 2276 { "vfmadd213p%XW", { XM, Vex, EXx, EXxEVexR }, 0 }, 2277 }, 2278 /* PREFIX_EVEX_0F38A9 */ 2279 { 2280 { Bad_Opcode }, 2281 { Bad_Opcode }, 2282 { "vfmadd213s%XW", { XMScalar, VexScalar, EXxmm_mdq, EXxEVexR }, 0 }, 2283 }, 2284 /* PREFIX_EVEX_0F38AA */ 2285 { 2286 { Bad_Opcode }, 2287 { Bad_Opcode }, 2288 { "vfmsub213p%XW", { XM, Vex, EXx, EXxEVexR }, 0 }, 2289 }, 2290 /* PREFIX_EVEX_0F38AB */ 2291 { 2292 { Bad_Opcode }, 2293 { Bad_Opcode }, 2294 { "vfmsub213s%XW", { XMScalar, VexScalar, EXxmm_mdq, EXxEVexR }, 0 }, 2295 }, 2296 /* PREFIX_EVEX_0F38AC */ 2297 { 2298 { Bad_Opcode }, 2299 { Bad_Opcode }, 2300 { "vfnmadd213p%XW", { XM, Vex, EXx, EXxEVexR }, 0 }, 2301 }, 2302 /* PREFIX_EVEX_0F38AD */ 2303 { 2304 { Bad_Opcode }, 2305 { Bad_Opcode }, 2306 { "vfnmadd213s%XW", { XMScalar, VexScalar, EXxmm_mdq, EXxEVexR }, 0 }, 2307 }, 2308 /* PREFIX_EVEX_0F38AE */ 2309 { 2310 { Bad_Opcode }, 2311 { Bad_Opcode }, 2312 { "vfnmsub213p%XW", { XM, Vex, EXx, EXxEVexR }, 0 }, 2313 }, 2314 /* PREFIX_EVEX_0F38AF */ 2315 { 2316 { Bad_Opcode }, 2317 { Bad_Opcode }, 2318 { "vfnmsub213s%XW", { XMScalar, VexScalar, EXxmm_mdq, EXxEVexR }, 0 }, 2319 }, 2320 /* PREFIX_EVEX_0F38B4 */ 2321 { 2322 { Bad_Opcode }, 2323 { Bad_Opcode }, 2324 { "vpmadd52luq", { XM, Vex, EXx }, 0 }, 2325 }, 2326 /* PREFIX_EVEX_0F38B5 */ 2327 { 2328 { Bad_Opcode }, 2329 { Bad_Opcode }, 2330 { "vpmadd52huq", { XM, Vex, EXx }, 0 }, 2331 }, 2332 /* PREFIX_EVEX_0F38B6 */ 2333 { 2334 { Bad_Opcode }, 2335 { Bad_Opcode }, 2336 { "vfmaddsub231p%XW", { XM, Vex, EXx, EXxEVexR }, 0 }, 2337 }, 2338 /* PREFIX_EVEX_0F38B7 */ 2339 { 2340 { Bad_Opcode }, 2341 { Bad_Opcode }, 2342 { "vfmsubadd231p%XW", { XM, Vex, EXx, EXxEVexR }, 0 }, 2343 }, 2344 /* PREFIX_EVEX_0F38B8 */ 2345 { 2346 { Bad_Opcode }, 2347 { Bad_Opcode }, 2348 { "vfmadd231p%XW", { XM, Vex, EXx, EXxEVexR }, 0 }, 2349 }, 2350 /* PREFIX_EVEX_0F38B9 */ 2351 { 2352 { Bad_Opcode }, 2353 { Bad_Opcode }, 2354 { "vfmadd231s%XW", { XMScalar, VexScalar, EXxmm_mdq, EXxEVexR }, 0 }, 2355 }, 2356 /* PREFIX_EVEX_0F38BA */ 2357 { 2358 { Bad_Opcode }, 2359 { Bad_Opcode }, 2360 { "vfmsub231p%XW", { XM, Vex, EXx, EXxEVexR }, 0 }, 2361 }, 2362 /* PREFIX_EVEX_0F38BB */ 2363 { 2364 { Bad_Opcode }, 2365 { Bad_Opcode }, 2366 { "vfmsub231s%XW", { XMScalar, VexScalar, EXxmm_mdq, EXxEVexR }, 0 }, 2367 }, 2368 /* PREFIX_EVEX_0F38BC */ 2369 { 2370 { Bad_Opcode }, 2371 { Bad_Opcode }, 2372 { "vfnmadd231p%XW", { XM, Vex, EXx, EXxEVexR }, 0 }, 2373 }, 2374 /* PREFIX_EVEX_0F38BD */ 2375 { 2376 { Bad_Opcode }, 2377 { Bad_Opcode }, 2378 { "vfnmadd231s%XW", { XMScalar, VexScalar, EXxmm_mdq, EXxEVexR }, 0 }, 2379 }, 2380 /* PREFIX_EVEX_0F38BE */ 2381 { 2382 { Bad_Opcode }, 2383 { Bad_Opcode }, 2384 { "vfnmsub231p%XW", { XM, Vex, EXx, EXxEVexR }, 0 }, 2385 }, 2386 /* PREFIX_EVEX_0F38BF */ 2387 { 2388 { Bad_Opcode }, 2389 { Bad_Opcode }, 2390 { "vfnmsub231s%XW", { XMScalar, VexScalar, EXxmm_mdq, EXxEVexR }, 0 }, 2391 }, 2392 /* PREFIX_EVEX_0F38C4 */ 2393 { 2394 { Bad_Opcode }, 2395 { Bad_Opcode }, 2396 { "vpconflict%LW", { XM, EXx }, 0 }, 2397 }, 2398 /* PREFIX_EVEX_0F38C6_REG_1 */ 2399 { 2400 { Bad_Opcode }, 2401 { Bad_Opcode }, 2402 { "vgatherpf0dp%XW", { MVexVSIBDWpX }, 0 }, 2403 }, 2404 /* PREFIX_EVEX_0F38C6_REG_2 */ 2405 { 2406 { Bad_Opcode }, 2407 { Bad_Opcode }, 2408 { "vgatherpf1dp%XW", { MVexVSIBDWpX }, 0 }, 2409 }, 2410 /* PREFIX_EVEX_0F38C6_REG_5 */ 2411 { 2412 { Bad_Opcode }, 2413 { Bad_Opcode }, 2414 { "vscatterpf0dp%XW", { MVexVSIBDWpX }, 0 }, 2415 }, 2416 /* PREFIX_EVEX_0F38C6_REG_6 */ 2417 { 2418 { Bad_Opcode }, 2419 { Bad_Opcode }, 2420 { "vscatterpf1dp%XW", { MVexVSIBDWpX }, 0 }, 2421 }, 2422 /* PREFIX_EVEX_0F38C7_REG_1 */ 2423 { 2424 { Bad_Opcode }, 2425 { Bad_Opcode }, 2426 { VEX_W_TABLE (EVEX_W_0F38C7_R_1_P_2) }, 2427 }, 2428 /* PREFIX_EVEX_0F38C7_REG_2 */ 2429 { 2430 { Bad_Opcode }, 2431 { Bad_Opcode }, 2432 { VEX_W_TABLE (EVEX_W_0F38C7_R_2_P_2) }, 2433 }, 2434 /* PREFIX_EVEX_0F38C7_REG_5 */ 2435 { 2436 { Bad_Opcode }, 2437 { Bad_Opcode }, 2438 { VEX_W_TABLE (EVEX_W_0F38C7_R_5_P_2) }, 2439 }, 2440 /* PREFIX_EVEX_0F38C7_REG_6 */ 2441 { 2442 { Bad_Opcode }, 2443 { Bad_Opcode }, 2444 { VEX_W_TABLE (EVEX_W_0F38C7_R_6_P_2) }, 2445 }, 2446 /* PREFIX_EVEX_0F38C8 */ 2447 { 2448 { Bad_Opcode }, 2449 { Bad_Opcode }, 2450 { "vexp2p%XW", { XM, EXx, EXxEVexS }, 0 }, 2451 }, 2452 /* PREFIX_EVEX_0F38CA */ 2453 { 2454 { Bad_Opcode }, 2455 { Bad_Opcode }, 2456 { "vrcp28p%XW", { XM, EXx, EXxEVexS }, 0 }, 2457 }, 2458 /* PREFIX_EVEX_0F38CB */ 2459 { 2460 { Bad_Opcode }, 2461 { Bad_Opcode }, 2462 { "vrcp28s%XW", { XMScalar, VexScalar, EXxmm_mdq, EXxEVexS }, 0 }, 2463 }, 2464 /* PREFIX_EVEX_0F38CC */ 2465 { 2466 { Bad_Opcode }, 2467 { Bad_Opcode }, 2468 { "vrsqrt28p%XW", { XM, EXx, EXxEVexS }, 0 }, 2469 }, 2470 /* PREFIX_EVEX_0F38CD */ 2471 { 2472 { Bad_Opcode }, 2473 { Bad_Opcode }, 2474 { "vrsqrt28s%XW", { XMScalar, VexScalar, EXxmm_mdq, EXxEVexS }, 0 }, 2475 }, 2476 /* PREFIX_EVEX_0F3A00 */ 2477 { 2478 { Bad_Opcode }, 2479 { Bad_Opcode }, 2480 { VEX_W_TABLE (EVEX_W_0F3A00_P_2) }, 2481 }, 2482 /* PREFIX_EVEX_0F3A01 */ 2483 { 2484 { Bad_Opcode }, 2485 { Bad_Opcode }, 2486 { VEX_W_TABLE (EVEX_W_0F3A01_P_2) }, 2487 }, 2488 /* PREFIX_EVEX_0F3A03 */ 2489 { 2490 { Bad_Opcode }, 2491 { Bad_Opcode }, 2492 { "valign%LW", { XM, Vex, EXx, Ib }, 0 }, 2493 }, 2494 /* PREFIX_EVEX_0F3A04 */ 2495 { 2496 { Bad_Opcode }, 2497 { Bad_Opcode }, 2498 { VEX_W_TABLE (EVEX_W_0F3A04_P_2) }, 2499 }, 2500 /* PREFIX_EVEX_0F3A05 */ 2501 { 2502 { Bad_Opcode }, 2503 { Bad_Opcode }, 2504 { VEX_W_TABLE (EVEX_W_0F3A05_P_2) }, 2505 }, 2506 /* PREFIX_EVEX_0F3A08 */ 2507 { 2508 { Bad_Opcode }, 2509 { Bad_Opcode }, 2510 { VEX_W_TABLE (EVEX_W_0F3A08_P_2) }, 2511 }, 2512 /* PREFIX_EVEX_0F3A09 */ 2513 { 2514 { Bad_Opcode }, 2515 { Bad_Opcode }, 2516 { VEX_W_TABLE (EVEX_W_0F3A09_P_2) }, 2517 }, 2518 /* PREFIX_EVEX_0F3A0A */ 2519 { 2520 { Bad_Opcode }, 2521 { Bad_Opcode }, 2522 { VEX_W_TABLE (EVEX_W_0F3A0A_P_2) }, 2523 }, 2524 /* PREFIX_EVEX_0F3A0B */ 2525 { 2526 { Bad_Opcode }, 2527 { Bad_Opcode }, 2528 { VEX_W_TABLE (EVEX_W_0F3A0B_P_2) }, 2529 }, 2530 /* PREFIX_EVEX_0F3A0F */ 2531 { 2532 { Bad_Opcode }, 2533 { Bad_Opcode }, 2534 { "vpalignr", { XM, Vex, EXx, Ib }, 0 }, 2535 }, 2536 /* PREFIX_EVEX_0F3A14 */ 2537 { 2538 { Bad_Opcode }, 2539 { Bad_Opcode }, 2540 { "vpextrb", { Edqb, XM, Ib }, 0 }, 2541 }, 2542 /* PREFIX_EVEX_0F3A15 */ 2543 { 2544 { Bad_Opcode }, 2545 { Bad_Opcode }, 2546 { "vpextrw", { EdqwS, XM, Ib }, 0 }, 2547 }, 2548 /* PREFIX_EVEX_0F3A16 */ 2549 { 2550 { Bad_Opcode }, 2551 { Bad_Opcode }, 2552 { VEX_W_TABLE (EVEX_W_0F3A16_P_2) }, 2553 }, 2554 /* PREFIX_EVEX_0F3A17 */ 2555 { 2556 { Bad_Opcode }, 2557 { Bad_Opcode }, 2558 { "vextractps", { Edqd, XMM, Ib }, 0 }, 2559 }, 2560 /* PREFIX_EVEX_0F3A18 */ 2561 { 2562 { Bad_Opcode }, 2563 { Bad_Opcode }, 2564 { VEX_W_TABLE (EVEX_W_0F3A18_P_2) }, 2565 }, 2566 /* PREFIX_EVEX_0F3A19 */ 2567 { 2568 { Bad_Opcode }, 2569 { Bad_Opcode }, 2570 { VEX_W_TABLE (EVEX_W_0F3A19_P_2) }, 2571 }, 2572 /* PREFIX_EVEX_0F3A1A */ 2573 { 2574 { Bad_Opcode }, 2575 { Bad_Opcode }, 2576 { VEX_W_TABLE (EVEX_W_0F3A1A_P_2) }, 2577 }, 2578 /* PREFIX_EVEX_0F3A1B */ 2579 { 2580 { Bad_Opcode }, 2581 { Bad_Opcode }, 2582 { VEX_W_TABLE (EVEX_W_0F3A1B_P_2) }, 2583 }, 2584 /* PREFIX_EVEX_0F3A1D */ 2585 { 2586 { Bad_Opcode }, 2587 { Bad_Opcode }, 2588 { VEX_W_TABLE (EVEX_W_0F3A1D_P_2) }, 2589 }, 2590 /* PREFIX_EVEX_0F3A1E */ 2591 { 2592 { Bad_Opcode }, 2593 { Bad_Opcode }, 2594 { "vpcmpu%LW", { XMask, Vex, EXx, VPCMP }, 0 }, 2595 }, 2596 /* PREFIX_EVEX_0F3A1F */ 2597 { 2598 { Bad_Opcode }, 2599 { Bad_Opcode }, 2600 { "vpcmp%LW", { XMask, Vex, EXx, VPCMP }, 0 }, 2601 }, 2602 /* PREFIX_EVEX_0F3A20 */ 2603 { 2604 { Bad_Opcode }, 2605 { Bad_Opcode }, 2606 { "vpinsrb", { XM, Vex128, Edb, Ib }, 0 }, 2607 }, 2608 /* PREFIX_EVEX_0F3A21 */ 2609 { 2610 { Bad_Opcode }, 2611 { Bad_Opcode }, 2612 { VEX_W_TABLE (EVEX_W_0F3A21_P_2) }, 2613 }, 2614 /* PREFIX_EVEX_0F3A22 */ 2615 { 2616 { Bad_Opcode }, 2617 { Bad_Opcode }, 2618 { VEX_W_TABLE (EVEX_W_0F3A22_P_2) }, 2619 }, 2620 /* PREFIX_EVEX_0F3A23 */ 2621 { 2622 { Bad_Opcode }, 2623 { Bad_Opcode }, 2624 { VEX_W_TABLE (EVEX_W_0F3A23_P_2) }, 2625 }, 2626 /* PREFIX_EVEX_0F3A25 */ 2627 { 2628 { Bad_Opcode }, 2629 { Bad_Opcode }, 2630 { "vpternlog%LW", { XM, Vex, EXx, Ib }, 0 }, 2631 }, 2632 /* PREFIX_EVEX_0F3A26 */ 2633 { 2634 { Bad_Opcode }, 2635 { Bad_Opcode }, 2636 { "vgetmantp%XW", { XM, EXx, EXxEVexS, Ib }, 0 }, 2637 }, 2638 /* PREFIX_EVEX_0F3A27 */ 2639 { 2640 { Bad_Opcode }, 2641 { Bad_Opcode }, 2642 { "vgetmants%XW", { XMScalar, VexScalar, EXxmm_mdq, EXxEVexS, Ib }, 0 }, 2643 }, 2644 /* PREFIX_EVEX_0F3A38 */ 2645 { 2646 { Bad_Opcode }, 2647 { Bad_Opcode }, 2648 { VEX_W_TABLE (EVEX_W_0F3A38_P_2) }, 2649 }, 2650 /* PREFIX_EVEX_0F3A39 */ 2651 { 2652 { Bad_Opcode }, 2653 { Bad_Opcode }, 2654 { VEX_W_TABLE (EVEX_W_0F3A39_P_2) }, 2655 }, 2656 /* PREFIX_EVEX_0F3A3A */ 2657 { 2658 { Bad_Opcode }, 2659 { Bad_Opcode }, 2660 { VEX_W_TABLE (EVEX_W_0F3A3A_P_2) }, 2661 }, 2662 /* PREFIX_EVEX_0F3A3B */ 2663 { 2664 { Bad_Opcode }, 2665 { Bad_Opcode }, 2666 { VEX_W_TABLE (EVEX_W_0F3A3B_P_2) }, 2667 }, 2668 /* PREFIX_EVEX_0F3A3E */ 2669 { 2670 { Bad_Opcode }, 2671 { Bad_Opcode }, 2672 { VEX_W_TABLE (EVEX_W_0F3A3E_P_2) }, 2673 }, 2674 /* PREFIX_EVEX_0F3A3F */ 2675 { 2676 { Bad_Opcode }, 2677 { Bad_Opcode }, 2678 { VEX_W_TABLE (EVEX_W_0F3A3F_P_2) }, 2679 }, 2680 /* PREFIX_EVEX_0F3A42 */ 2681 { 2682 { Bad_Opcode }, 2683 { Bad_Opcode }, 2684 { VEX_W_TABLE (EVEX_W_0F3A42_P_2) }, 2685 }, 2686 /* PREFIX_EVEX_0F3A43 */ 2687 { 2688 { Bad_Opcode }, 2689 { Bad_Opcode }, 2690 { VEX_W_TABLE (EVEX_W_0F3A43_P_2) }, 2691 }, 2692 /* PREFIX_EVEX_0F3A50 */ 2693 { 2694 { Bad_Opcode }, 2695 { Bad_Opcode }, 2696 { VEX_W_TABLE (EVEX_W_0F3A50_P_2) }, 2697 }, 2698 /* PREFIX_EVEX_0F3A51 */ 2699 { 2700 { Bad_Opcode }, 2701 { Bad_Opcode }, 2702 { VEX_W_TABLE (EVEX_W_0F3A51_P_2) }, 2703 }, 2704 /* PREFIX_EVEX_0F3A54 */ 2705 { 2706 { Bad_Opcode }, 2707 { Bad_Opcode }, 2708 { "vfixupimmp%XW", { XM, Vex, EXx, EXxEVexS, Ib }, 0 }, 2709 }, 2710 /* PREFIX_EVEX_0F3A55 */ 2711 { 2712 { Bad_Opcode }, 2713 { Bad_Opcode }, 2714 { "vfixupimms%XW", { XMScalar, VexScalar, EXxmm_mdq, EXxEVexS, Ib }, 0 }, 2715 }, 2716 /* PREFIX_EVEX_0F3A56 */ 2717 { 2718 { Bad_Opcode }, 2719 { Bad_Opcode }, 2720 { VEX_W_TABLE (EVEX_W_0F3A56_P_2) }, 2721 }, 2722 /* PREFIX_EVEX_0F3A57 */ 2723 { 2724 { Bad_Opcode }, 2725 { Bad_Opcode }, 2726 { VEX_W_TABLE (EVEX_W_0F3A57_P_2) }, 2727 }, 2728 /* PREFIX_EVEX_0F3A66 */ 2729 { 2730 { Bad_Opcode }, 2731 { Bad_Opcode }, 2732 { VEX_W_TABLE (EVEX_W_0F3A66_P_2) }, 2733 }, 2734 /* PREFIX_EVEX_0F3A67 */ 2735 { 2736 { Bad_Opcode }, 2737 { Bad_Opcode }, 2738 { VEX_W_TABLE (EVEX_W_0F3A67_P_2) }, 2739 }, 2740 #endif /* NEED_PREFIX_TABLE */ 2741 2742 #ifdef NEED_VEX_W_TABLE 2743 /* EVEX_W_0F10_P_0 */ 2744 { 2745 { "vmovups", { XM, EXEvexXNoBcst }, 0 }, 2746 }, 2747 /* EVEX_W_0F10_P_1_M_0 */ 2748 { 2749 { "vmovss", { XMScalar, EXdScalar }, 0 }, 2750 }, 2751 /* EVEX_W_0F10_P_1_M_1 */ 2752 { 2753 { "vmovss", { XMScalar, VexScalar, EXxmm_md }, 0 }, 2754 }, 2755 /* EVEX_W_0F10_P_2 */ 2756 { 2757 { Bad_Opcode }, 2758 { "vmovupd", { XM, EXEvexXNoBcst }, 0 }, 2759 }, 2760 /* EVEX_W_0F10_P_3_M_0 */ 2761 { 2762 { Bad_Opcode }, 2763 { "vmovsd", { XMScalar, EXqScalar }, 0 }, 2764 }, 2765 /* EVEX_W_0F10_P_3_M_1 */ 2766 { 2767 { Bad_Opcode }, 2768 { "vmovsd", { XMScalar, VexScalar, EXxmm_mq }, 0 }, 2769 }, 2770 /* EVEX_W_0F11_P_0 */ 2771 { 2772 { "vmovups", { EXxS, XM }, 0 }, 2773 }, 2774 /* EVEX_W_0F11_P_1_M_0 */ 2775 { 2776 { "vmovss", { EXdScalarS, XMScalar }, 0 }, 2777 }, 2778 /* EVEX_W_0F11_P_1_M_1 */ 2779 { 2780 { "vmovss", { EXxS, Vex, XMScalar }, 0 }, 2781 }, 2782 /* EVEX_W_0F11_P_2 */ 2783 { 2784 { Bad_Opcode }, 2785 { "vmovupd", { EXxS, XM }, 0 }, 2786 }, 2787 /* EVEX_W_0F11_P_3_M_0 */ 2788 { 2789 { Bad_Opcode }, 2790 { "vmovsd", { EXqScalarS, XMScalar }, 0 }, 2791 }, 2792 /* EVEX_W_0F11_P_3_M_1 */ 2793 { 2794 { Bad_Opcode }, 2795 { "vmovsd", { EXxS, Vex, XMScalar }, 0 }, 2796 }, 2797 /* EVEX_W_0F12_P_0_M_0 */ 2798 { 2799 { "vmovlps", { XMM, Vex, EXxmm_mq }, 0 }, 2800 }, 2801 /* EVEX_W_0F12_P_0_M_1 */ 2802 { 2803 { "vmovhlps", { XMM, Vex, EXxmm_mq }, 0 }, 2804 }, 2805 /* EVEX_W_0F12_P_1 */ 2806 { 2807 { "vmovsldup", { XM, EXEvexXNoBcst }, 0 }, 2808 }, 2809 /* EVEX_W_0F12_P_2 */ 2810 { 2811 { Bad_Opcode }, 2812 { "vmovlpd", { XMM, Vex, EXxmm_mq }, 0 }, 2813 }, 2814 /* EVEX_W_0F12_P_3 */ 2815 { 2816 { Bad_Opcode }, 2817 { "vmovddup", { XM, EXymmq }, 0 }, 2818 }, 2819 /* EVEX_W_0F13_P_0 */ 2820 { 2821 { "vmovlps", { EXxmm_mq, XMM }, 0 }, 2822 }, 2823 /* EVEX_W_0F13_P_2 */ 2824 { 2825 { Bad_Opcode }, 2826 { "vmovlpd", { EXxmm_mq, XMM }, 0 }, 2827 }, 2828 /* EVEX_W_0F14_P_0 */ 2829 { 2830 { "vunpcklps", { XM, Vex, EXx }, 0 }, 2831 }, 2832 /* EVEX_W_0F14_P_2 */ 2833 { 2834 { Bad_Opcode }, 2835 { "vunpcklpd", { XM, Vex, EXx }, 0 }, 2836 }, 2837 /* EVEX_W_0F15_P_0 */ 2838 { 2839 { "vunpckhps", { XM, Vex, EXx }, 0 }, 2840 }, 2841 /* EVEX_W_0F15_P_2 */ 2842 { 2843 { Bad_Opcode }, 2844 { "vunpckhpd", { XM, Vex, EXx }, 0 }, 2845 }, 2846 /* EVEX_W_0F16_P_0_M_0 */ 2847 { 2848 { "vmovhps", { XMM, Vex, EXxmm_mq }, 0 }, 2849 }, 2850 /* EVEX_W_0F16_P_0_M_1 */ 2851 { 2852 { "vmovlhps", { XMM, Vex, EXx }, 0 }, 2853 }, 2854 /* EVEX_W_0F16_P_1 */ 2855 { 2856 { "vmovshdup", { XM, EXx }, 0 }, 2857 }, 2858 /* EVEX_W_0F16_P_2 */ 2859 { 2860 { Bad_Opcode }, 2861 { "vmovhpd", { XMM, Vex, EXxmm_mq }, 0 }, 2862 }, 2863 /* EVEX_W_0F17_P_0 */ 2864 { 2865 { "vmovhps", { EXxmm_mq, XMM }, 0 }, 2866 }, 2867 /* EVEX_W_0F17_P_2 */ 2868 { 2869 { Bad_Opcode }, 2870 { "vmovhpd", { EXxmm_mq, XMM }, 0 }, 2871 }, 2872 /* EVEX_W_0F28_P_0 */ 2873 { 2874 { "vmovaps", { XM, EXx }, 0 }, 2875 }, 2876 /* EVEX_W_0F28_P_2 */ 2877 { 2878 { Bad_Opcode }, 2879 { "vmovapd", { XM, EXx }, 0 }, 2880 }, 2881 /* EVEX_W_0F29_P_0 */ 2882 { 2883 { "vmovaps", { EXxS, XM }, 0 }, 2884 }, 2885 /* EVEX_W_0F29_P_2 */ 2886 { 2887 { Bad_Opcode }, 2888 { "vmovapd", { EXxS, XM }, 0 }, 2889 }, 2890 /* EVEX_W_0F2A_P_1 */ 2891 { 2892 { "vcvtsi2ss", { XMScalar, VexScalar, EXxEVexR, Ed }, 0 }, 2893 { "vcvtsi2ss", { XMScalar, VexScalar, EXxEVexR, Eq }, 0 }, 2894 }, 2895 /* EVEX_W_0F2A_P_3 */ 2896 { 2897 { "vcvtsi2sd", { XMScalar, VexScalar, Ed }, 0 }, 2898 { "vcvtsi2sd", { XMScalar, VexScalar, EXxEVexR, Eq }, 0 }, 2899 }, 2900 /* EVEX_W_0F2B_P_0 */ 2901 { 2902 { "vmovntps", { EXx, XM }, 0 }, 2903 }, 2904 /* EVEX_W_0F2B_P_2 */ 2905 { 2906 { Bad_Opcode }, 2907 { "vmovntpd", { EXx, XM }, 0 }, 2908 }, 2909 /* EVEX_W_0F2E_P_0 */ 2910 { 2911 { "vucomiss", { XMScalar, EXxmm_md, EXxEVexS }, 0 }, 2912 }, 2913 /* EVEX_W_0F2E_P_2 */ 2914 { 2915 { Bad_Opcode }, 2916 { "vucomisd", { XMScalar, EXxmm_mq, EXxEVexS }, 0 }, 2917 }, 2918 /* EVEX_W_0F2F_P_0 */ 2919 { 2920 { "vcomiss", { XMScalar, EXxmm_md, EXxEVexS }, 0 }, 2921 }, 2922 /* EVEX_W_0F2F_P_2 */ 2923 { 2924 { Bad_Opcode }, 2925 { "vcomisd", { XMScalar, EXxmm_mq, EXxEVexS }, 0 }, 2926 }, 2927 /* EVEX_W_0F51_P_0 */ 2928 { 2929 { "vsqrtps", { XM, EXx, EXxEVexR }, 0 }, 2930 }, 2931 /* EVEX_W_0F51_P_1 */ 2932 { 2933 { "vsqrtss", { XMScalar, VexScalar, EXxmm_md, EXxEVexR }, 0 }, 2934 }, 2935 /* EVEX_W_0F51_P_2 */ 2936 { 2937 { Bad_Opcode }, 2938 { "vsqrtpd", { XM, EXx, EXxEVexR }, 0 }, 2939 }, 2940 /* EVEX_W_0F51_P_3 */ 2941 { 2942 { Bad_Opcode }, 2943 { "vsqrtsd", { XMScalar, VexScalar, EXxmm_mq, EXxEVexR }, 0 }, 2944 }, 2945 /* EVEX_W_0F54_P_0 */ 2946 { 2947 { "vandps", { XM, Vex, EXx }, 0 }, 2948 }, 2949 /* EVEX_W_0F54_P_2 */ 2950 { 2951 { Bad_Opcode }, 2952 { "vandpd", { XM, Vex, EXx }, 0 }, 2953 }, 2954 /* EVEX_W_0F55_P_0 */ 2955 { 2956 { "vandnps", { XM, Vex, EXx }, 0 }, 2957 }, 2958 /* EVEX_W_0F55_P_2 */ 2959 { 2960 { Bad_Opcode }, 2961 { "vandnpd", { XM, Vex, EXx }, 0 }, 2962 }, 2963 /* EVEX_W_0F56_P_0 */ 2964 { 2965 { "vorps", { XM, Vex, EXx }, 0 }, 2966 }, 2967 /* EVEX_W_0F56_P_2 */ 2968 { 2969 { Bad_Opcode }, 2970 { "vorpd", { XM, Vex, EXx }, 0 }, 2971 }, 2972 /* EVEX_W_0F57_P_0 */ 2973 { 2974 { "vxorps", { XM, Vex, EXx }, 0 }, 2975 }, 2976 /* EVEX_W_0F57_P_2 */ 2977 { 2978 { Bad_Opcode }, 2979 { "vxorpd", { XM, Vex, EXx }, 0 }, 2980 }, 2981 /* EVEX_W_0F58_P_0 */ 2982 { 2983 { "vaddps", { XM, Vex, EXx, EXxEVexR }, 0 }, 2984 }, 2985 /* EVEX_W_0F58_P_1 */ 2986 { 2987 { "vaddss", { XMScalar, VexScalar, EXxmm_md, EXxEVexR }, 0 }, 2988 }, 2989 /* EVEX_W_0F58_P_2 */ 2990 { 2991 { Bad_Opcode }, 2992 { "vaddpd", { XM, Vex, EXx, EXxEVexR }, 0 }, 2993 }, 2994 /* EVEX_W_0F58_P_3 */ 2995 { 2996 { Bad_Opcode }, 2997 { "vaddsd", { XMScalar, VexScalar, EXxmm_mq, EXxEVexR }, 0 }, 2998 }, 2999 /* EVEX_W_0F59_P_0 */ 3000 { 3001 { "vmulps", { XM, Vex, EXx, EXxEVexR }, 0 }, 3002 }, 3003 /* EVEX_W_0F59_P_1 */ 3004 { 3005 { "vmulss", { XMScalar, VexScalar, EXxmm_md, EXxEVexR }, 0 }, 3006 }, 3007 /* EVEX_W_0F59_P_2 */ 3008 { 3009 { Bad_Opcode }, 3010 { "vmulpd", { XM, Vex, EXx, EXxEVexR }, 0 }, 3011 }, 3012 /* EVEX_W_0F59_P_3 */ 3013 { 3014 { Bad_Opcode }, 3015 { "vmulsd", { XMScalar, VexScalar, EXxmm_mq, EXxEVexR }, 0 }, 3016 }, 3017 /* EVEX_W_0F5A_P_0 */ 3018 { 3019 { "vcvtps2pd", { XM, EXEvexHalfBcstXmmq, EXxEVexS }, 0 }, 3020 }, 3021 /* EVEX_W_0F5A_P_1 */ 3022 { 3023 { "vcvtss2sd", { XMScalar, VexScalar, EXxmm_md, EXxEVexS }, 0 }, 3024 }, 3025 /* EVEX_W_0F5A_P_2 */ 3026 { 3027 { Bad_Opcode }, 3028 { "vcvtpd2ps%XY", { XMxmmq, EXx, EXxEVexR }, 0 }, 3029 }, 3030 /* EVEX_W_0F5A_P_3 */ 3031 { 3032 { Bad_Opcode }, 3033 { "vcvtsd2ss", { XMScalar, VexScalar, EXxmm_mq, EXxEVexR }, 0 }, 3034 }, 3035 /* EVEX_W_0F5B_P_0 */ 3036 { 3037 { "vcvtdq2ps", { XM, EXx, EXxEVexR }, 0 }, 3038 { "vcvtqq2ps%XY", { XMxmmq, EXx, EXxEVexR }, 0 }, 3039 }, 3040 /* EVEX_W_0F5B_P_1 */ 3041 { 3042 { "vcvttps2dq", { XM, EXx, EXxEVexS }, 0 }, 3043 }, 3044 /* EVEX_W_0F5B_P_2 */ 3045 { 3046 { "vcvtps2dq", { XM, EXx, EXxEVexR }, 0 }, 3047 }, 3048 /* EVEX_W_0F5C_P_0 */ 3049 { 3050 { "vsubps", { XM, Vex, EXx, EXxEVexR }, 0 }, 3051 }, 3052 /* EVEX_W_0F5C_P_1 */ 3053 { 3054 { "vsubss", { XMScalar, VexScalar, EXxmm_md, EXxEVexR }, 0 }, 3055 }, 3056 /* EVEX_W_0F5C_P_2 */ 3057 { 3058 { Bad_Opcode }, 3059 { "vsubpd", { XM, Vex, EXx, EXxEVexR }, 0 }, 3060 }, 3061 /* EVEX_W_0F5C_P_3 */ 3062 { 3063 { Bad_Opcode }, 3064 { "vsubsd", { XMScalar, VexScalar, EXxmm_mq, EXxEVexR }, 0 }, 3065 }, 3066 /* EVEX_W_0F5D_P_0 */ 3067 { 3068 { "vminps", { XM, Vex, EXx, EXxEVexS }, 0 }, 3069 }, 3070 /* EVEX_W_0F5D_P_1 */ 3071 { 3072 { "vminss", { XMScalar, VexScalar, EXxmm_md, EXxEVexS }, 0 }, 3073 }, 3074 /* EVEX_W_0F5D_P_2 */ 3075 { 3076 { Bad_Opcode }, 3077 { "vminpd", { XM, Vex, EXx, EXxEVexS }, 0 }, 3078 }, 3079 /* EVEX_W_0F5D_P_3 */ 3080 { 3081 { Bad_Opcode }, 3082 { "vminsd", { XMScalar, VexScalar, EXxmm_mq, EXxEVexS }, 0 }, 3083 }, 3084 /* EVEX_W_0F5E_P_0 */ 3085 { 3086 { "vdivps", { XM, Vex, EXx, EXxEVexR }, 0 }, 3087 }, 3088 /* EVEX_W_0F5E_P_1 */ 3089 { 3090 { "vdivss", { XMScalar, VexScalar, EXxmm_md, EXxEVexR }, 0 }, 3091 }, 3092 /* EVEX_W_0F5E_P_2 */ 3093 { 3094 { Bad_Opcode }, 3095 { "vdivpd", { XM, Vex, EXx, EXxEVexR }, 0 }, 3096 }, 3097 /* EVEX_W_0F5E_P_3 */ 3098 { 3099 { Bad_Opcode }, 3100 { "vdivsd", { XMScalar, VexScalar, EXxmm_mq, EXxEVexR }, 0 }, 3101 }, 3102 /* EVEX_W_0F5F_P_0 */ 3103 { 3104 { "vmaxps", { XM, Vex, EXx, EXxEVexS }, 0 }, 3105 }, 3106 /* EVEX_W_0F5F_P_1 */ 3107 { 3108 { "vmaxss", { XMScalar, VexScalar, EXxmm_md, EXxEVexS }, 0 }, 3109 }, 3110 /* EVEX_W_0F5F_P_2 */ 3111 { 3112 { Bad_Opcode }, 3113 { "vmaxpd", { XM, Vex, EXx, EXxEVexS }, 0 }, 3114 }, 3115 /* EVEX_W_0F5F_P_3 */ 3116 { 3117 { Bad_Opcode }, 3118 { "vmaxsd", { XMScalar, VexScalar, EXxmm_mq, EXxEVexS }, 0 }, 3119 }, 3120 /* EVEX_W_0F62_P_2 */ 3121 { 3122 { "vpunpckldq", { XM, Vex, EXx }, 0 }, 3123 }, 3124 /* EVEX_W_0F66_P_2 */ 3125 { 3126 { "vpcmpgtd", { XMask, Vex, EXx }, 0 }, 3127 }, 3128 /* EVEX_W_0F6A_P_2 */ 3129 { 3130 { "vpunpckhdq", { XM, Vex, EXx }, 0 }, 3131 }, 3132 /* EVEX_W_0F6B_P_2 */ 3133 { 3134 { "vpackssdw", { XM, Vex, EXx }, 0 }, 3135 }, 3136 /* EVEX_W_0F6C_P_2 */ 3137 { 3138 { Bad_Opcode }, 3139 { "vpunpcklqdq", { XM, Vex, EXx }, 0 }, 3140 }, 3141 /* EVEX_W_0F6D_P_2 */ 3142 { 3143 { Bad_Opcode }, 3144 { "vpunpckhqdq", { XM, Vex, EXx }, 0 }, 3145 }, 3146 /* EVEX_W_0F6E_P_2 */ 3147 { 3148 { "vmovd", { XMScalar, Ed }, 0 }, 3149 { "vmovq", { XMScalar, Eq }, 0 }, 3150 }, 3151 /* EVEX_W_0F6F_P_1 */ 3152 { 3153 { "vmovdqu32", { XM, EXEvexXNoBcst }, 0 }, 3154 { "vmovdqu64", { XM, EXEvexXNoBcst }, 0 }, 3155 }, 3156 /* EVEX_W_0F6F_P_2 */ 3157 { 3158 { "vmovdqa32", { XM, EXEvexXNoBcst }, 0 }, 3159 { "vmovdqa64", { XM, EXEvexXNoBcst }, 0 }, 3160 }, 3161 /* EVEX_W_0F6F_P_3 */ 3162 { 3163 { "vmovdqu8", { XM, EXx }, 0 }, 3164 { "vmovdqu16", { XM, EXx }, 0 }, 3165 }, 3166 /* EVEX_W_0F70_P_2 */ 3167 { 3168 { "vpshufd", { XM, EXx, Ib }, 0 }, 3169 }, 3170 /* EVEX_W_0F72_R_2_P_2 */ 3171 { 3172 { "vpsrld", { Vex, EXx, Ib }, 0 }, 3173 }, 3174 /* EVEX_W_0F72_R_6_P_2 */ 3175 { 3176 { "vpslld", { Vex, EXx, Ib }, 0 }, 3177 }, 3178 /* EVEX_W_0F73_R_2_P_2 */ 3179 { 3180 { Bad_Opcode }, 3181 { "vpsrlq", { Vex, EXx, Ib }, 0 }, 3182 }, 3183 /* EVEX_W_0F73_R_6_P_2 */ 3184 { 3185 { Bad_Opcode }, 3186 { "vpsllq", { Vex, EXx, Ib }, 0 }, 3187 }, 3188 /* EVEX_W_0F76_P_2 */ 3189 { 3190 { "vpcmpeqd", { XMask, Vex, EXx }, 0 }, 3191 }, 3192 /* EVEX_W_0F78_P_0 */ 3193 { 3194 { "vcvttps2udq", { XM, EXx, EXxEVexS }, 0 }, 3195 { "vcvttpd2udq%XY", { XMxmmq, EXx, EXxEVexS }, 0 }, 3196 }, 3197 /* EVEX_W_0F78_P_2 */ 3198 { 3199 { "vcvttps2uqq", { XM, EXEvexHalfBcstXmmq, EXxEVexS }, 0 }, 3200 { "vcvttpd2uqq", { XM, EXx, EXxEVexS }, 0 }, 3201 }, 3202 /* EVEX_W_0F79_P_0 */ 3203 { 3204 { "vcvtps2udq", { XM, EXx, EXxEVexR }, 0 }, 3205 { "vcvtpd2udq%XY", { XMxmmq, EXx, EXxEVexR }, 0 }, 3206 }, 3207 /* EVEX_W_0F79_P_2 */ 3208 { 3209 { "vcvtps2uqq", { XM, EXEvexHalfBcstXmmq, EXxEVexR }, 0 }, 3210 { "vcvtpd2uqq", { XM, EXx, EXxEVexR }, 0 }, 3211 }, 3212 /* EVEX_W_0F7A_P_1 */ 3213 { 3214 { "vcvtudq2pd", { XM, EXEvexHalfBcstXmmq }, 0 }, 3215 { "vcvtuqq2pd", { XM, EXx, EXxEVexR }, 0 }, 3216 }, 3217 /* EVEX_W_0F7A_P_2 */ 3218 { 3219 { "vcvttps2qq", { XM, EXEvexHalfBcstXmmq, EXxEVexS }, 0 }, 3220 { "vcvttpd2qq", { XM, EXx, EXxEVexS }, 0 }, 3221 }, 3222 /* EVEX_W_0F7A_P_3 */ 3223 { 3224 { "vcvtudq2ps", { XM, EXx, EXxEVexR }, 0 }, 3225 { "vcvtuqq2ps%XY", { XMxmmq, EXx, EXxEVexR }, 0 }, 3226 }, 3227 /* EVEX_W_0F7B_P_1 */ 3228 { 3229 { "vcvtusi2ss", { XMScalar, VexScalar, EXxEVexR, Ed }, 0 }, 3230 { "vcvtusi2ss", { XMScalar, VexScalar, EXxEVexR, Eq }, 0 }, 3231 }, 3232 /* EVEX_W_0F7B_P_2 */ 3233 { 3234 { "vcvtps2qq", { XM, EXEvexHalfBcstXmmq, EXxEVexR }, 0 }, 3235 { "vcvtpd2qq", { XM, EXx, EXxEVexR }, 0 }, 3236 }, 3237 /* EVEX_W_0F7B_P_3 */ 3238 { 3239 { "vcvtusi2sd", { XMScalar, VexScalar, Ed }, 0 }, 3240 { "vcvtusi2sd", { XMScalar, VexScalar, EXxEVexR, Eq }, 0 }, 3241 }, 3242 /* EVEX_W_0F7E_P_1 */ 3243 { 3244 { Bad_Opcode }, 3245 { "vmovq", { XMScalar, EXxmm_mq }, 0 }, 3246 }, 3247 /* EVEX_W_0F7E_P_2 */ 3248 { 3249 { "vmovd", { Ed, XMScalar }, 0 }, 3250 { "vmovq", { Eq, XMScalar }, 0 }, 3251 }, 3252 /* EVEX_W_0F7F_P_1 */ 3253 { 3254 { "vmovdqu32", { EXxS, XM }, 0 }, 3255 { "vmovdqu64", { EXxS, XM }, 0 }, 3256 }, 3257 /* EVEX_W_0F7F_P_2 */ 3258 { 3259 { "vmovdqa32", { EXxS, XM }, 0 }, 3260 { "vmovdqa64", { EXxS, XM }, 0 }, 3261 }, 3262 /* EVEX_W_0F7F_P_3 */ 3263 { 3264 { "vmovdqu8", { EXxS, XM }, 0 }, 3265 { "vmovdqu16", { EXxS, XM }, 0 }, 3266 }, 3267 /* EVEX_W_0FC2_P_0 */ 3268 { 3269 { "vcmpps", { XMask, Vex, EXx, EXxEVexS, VCMP }, 0 }, 3270 }, 3271 /* EVEX_W_0FC2_P_1 */ 3272 { 3273 { "vcmpss", { XMask, VexScalar, EXxmm_md, EXxEVexS, VCMP }, 0 }, 3274 }, 3275 /* EVEX_W_0FC2_P_2 */ 3276 { 3277 { Bad_Opcode }, 3278 { "vcmppd", { XMask, Vex, EXx, EXxEVexS, VCMP }, 0 }, 3279 }, 3280 /* EVEX_W_0FC2_P_3 */ 3281 { 3282 { Bad_Opcode }, 3283 { "vcmpsd", { XMask, VexScalar, EXxmm_mq, EXxEVexS, VCMP }, 0 }, 3284 }, 3285 /* EVEX_W_0FC6_P_0 */ 3286 { 3287 { "vshufps", { XM, Vex, EXx, Ib }, 0 }, 3288 }, 3289 /* EVEX_W_0FC6_P_2 */ 3290 { 3291 { Bad_Opcode }, 3292 { "vshufpd", { XM, Vex, EXx, Ib }, 0 }, 3293 }, 3294 /* EVEX_W_0FD2_P_2 */ 3295 { 3296 { "vpsrld", { XM, Vex, EXxmm }, 0 }, 3297 }, 3298 /* EVEX_W_0FD3_P_2 */ 3299 { 3300 { Bad_Opcode }, 3301 { "vpsrlq", { XM, Vex, EXxmm }, 0 }, 3302 }, 3303 /* EVEX_W_0FD4_P_2 */ 3304 { 3305 { Bad_Opcode }, 3306 { "vpaddq", { XM, Vex, EXx }, 0 }, 3307 }, 3308 /* EVEX_W_0FD6_P_2 */ 3309 { 3310 { Bad_Opcode }, 3311 { "vmovq", { EXxmm_mq, XMScalar }, 0 }, 3312 }, 3313 /* EVEX_W_0FE6_P_1 */ 3314 { 3315 { "vcvtdq2pd", { XM, EXEvexHalfBcstXmmq }, 0 }, 3316 { "vcvtqq2pd", { XM, EXx, EXxEVexR }, 0 }, 3317 }, 3318 /* EVEX_W_0FE6_P_2 */ 3319 { 3320 { Bad_Opcode }, 3321 { "vcvttpd2dq%XY", { XMxmmq, EXx, EXxEVexS }, 0 }, 3322 }, 3323 /* EVEX_W_0FE6_P_3 */ 3324 { 3325 { Bad_Opcode }, 3326 { "vcvtpd2dq%XY", { XMxmmq, EXx, EXxEVexR }, 0 }, 3327 }, 3328 /* EVEX_W_0FE7_P_2 */ 3329 { 3330 { "vmovntdq", { EXEvexXNoBcst, XM }, 0 }, 3331 }, 3332 /* EVEX_W_0FF2_P_2 */ 3333 { 3334 { "vpslld", { XM, Vex, EXxmm }, 0 }, 3335 }, 3336 /* EVEX_W_0FF3_P_2 */ 3337 { 3338 { Bad_Opcode }, 3339 { "vpsllq", { XM, Vex, EXxmm }, 0 }, 3340 }, 3341 /* EVEX_W_0FF4_P_2 */ 3342 { 3343 { Bad_Opcode }, 3344 { "vpmuludq", { XM, Vex, EXx }, 0 }, 3345 }, 3346 /* EVEX_W_0FFA_P_2 */ 3347 { 3348 { "vpsubd", { XM, Vex, EXx }, 0 }, 3349 }, 3350 /* EVEX_W_0FFB_P_2 */ 3351 { 3352 { Bad_Opcode }, 3353 { "vpsubq", { XM, Vex, EXx }, 0 }, 3354 }, 3355 /* EVEX_W_0FFE_P_2 */ 3356 { 3357 { "vpaddd", { XM, Vex, EXx }, 0 }, 3358 }, 3359 /* EVEX_W_0F380C_P_2 */ 3360 { 3361 { "vpermilps", { XM, Vex, EXx }, 0 }, 3362 }, 3363 /* EVEX_W_0F380D_P_2 */ 3364 { 3365 { Bad_Opcode }, 3366 { "vpermilpd", { XM, Vex, EXx }, 0 }, 3367 }, 3368 /* EVEX_W_0F3810_P_1 */ 3369 { 3370 { "vpmovuswb", { EXxmmq, XM }, 0 }, 3371 }, 3372 /* EVEX_W_0F3810_P_2 */ 3373 { 3374 { Bad_Opcode }, 3375 { "vpsrlvw", { XM, Vex, EXx }, 0 }, 3376 }, 3377 /* EVEX_W_0F3811_P_1 */ 3378 { 3379 { "vpmovusdb", { EXxmmqd, XM }, 0 }, 3380 }, 3381 /* EVEX_W_0F3811_P_2 */ 3382 { 3383 { Bad_Opcode }, 3384 { "vpsravw", { XM, Vex, EXx }, 0 }, 3385 }, 3386 /* EVEX_W_0F3812_P_1 */ 3387 { 3388 { "vpmovusqb", { EXxmmdw, XM }, 0 }, 3389 }, 3390 /* EVEX_W_0F3812_P_2 */ 3391 { 3392 { Bad_Opcode }, 3393 { "vpsllvw", { XM, Vex, EXx }, 0 }, 3394 }, 3395 /* EVEX_W_0F3813_P_1 */ 3396 { 3397 { "vpmovusdw", { EXxmmq, XM }, 0 }, 3398 }, 3399 /* EVEX_W_0F3813_P_2 */ 3400 { 3401 { "vcvtph2ps", { XM, EXxmmq, EXxEVexS }, 0 }, 3402 }, 3403 /* EVEX_W_0F3814_P_1 */ 3404 { 3405 { "vpmovusqw", { EXxmmqd, XM }, 0 }, 3406 }, 3407 /* EVEX_W_0F3815_P_1 */ 3408 { 3409 { "vpmovusqd", { EXxmmq, XM }, 0 }, 3410 }, 3411 /* EVEX_W_0F3818_P_2 */ 3412 { 3413 { "vbroadcastss", { XM, EXxmm_md }, 0 }, 3414 }, 3415 /* EVEX_W_0F3819_P_2 */ 3416 { 3417 { "vbroadcastf32x2", { XM, EXxmm_mq }, 0 }, 3418 { "vbroadcastsd", { XM, EXxmm_mq }, 0 }, 3419 }, 3420 /* EVEX_W_0F381A_P_2 */ 3421 { 3422 { "vbroadcastf32x4", { XM, EXxmm }, 0 }, 3423 { "vbroadcastf64x2", { XM, EXxmm }, 0 }, 3424 }, 3425 /* EVEX_W_0F381B_P_2 */ 3426 { 3427 { "vbroadcastf32x8", { XM, EXxmmq }, 0 }, 3428 { "vbroadcastf64x4", { XM, EXymm }, 0 }, 3429 }, 3430 /* EVEX_W_0F381E_P_2 */ 3431 { 3432 { "vpabsd", { XM, EXx }, 0 }, 3433 }, 3434 /* EVEX_W_0F381F_P_2 */ 3435 { 3436 { Bad_Opcode }, 3437 { "vpabsq", { XM, EXx }, 0 }, 3438 }, 3439 /* EVEX_W_0F3820_P_1 */ 3440 { 3441 { "vpmovswb", { EXxmmq, XM }, 0 }, 3442 }, 3443 /* EVEX_W_0F3821_P_1 */ 3444 { 3445 { "vpmovsdb", { EXxmmqd, XM }, 0 }, 3446 }, 3447 /* EVEX_W_0F3822_P_1 */ 3448 { 3449 { "vpmovsqb", { EXxmmdw, XM }, 0 }, 3450 }, 3451 /* EVEX_W_0F3823_P_1 */ 3452 { 3453 { "vpmovsdw", { EXxmmq, XM }, 0 }, 3454 }, 3455 /* EVEX_W_0F3824_P_1 */ 3456 { 3457 { "vpmovsqw", { EXxmmqd, XM }, 0 }, 3458 }, 3459 /* EVEX_W_0F3825_P_1 */ 3460 { 3461 { "vpmovsqd", { EXxmmq, XM }, 0 }, 3462 }, 3463 /* EVEX_W_0F3825_P_2 */ 3464 { 3465 { "vpmovsxdq", { XM, EXxmmq }, 0 }, 3466 }, 3467 /* EVEX_W_0F3826_P_1 */ 3468 { 3469 { "vptestnmb", { XMask, Vex, EXx }, 0 }, 3470 { "vptestnmw", { XMask, Vex, EXx }, 0 }, 3471 }, 3472 /* EVEX_W_0F3826_P_2 */ 3473 { 3474 { "vptestmb", { XMask, Vex, EXx }, 0 }, 3475 { "vptestmw", { XMask, Vex, EXx }, 0 }, 3476 }, 3477 /* EVEX_W_0F3828_P_1 */ 3478 { 3479 { "vpmovm2b", { XM, MaskR }, 0 }, 3480 { "vpmovm2w", { XM, MaskR }, 0 }, 3481 }, 3482 /* EVEX_W_0F3828_P_2 */ 3483 { 3484 { Bad_Opcode }, 3485 { "vpmuldq", { XM, Vex, EXx }, 0 }, 3486 }, 3487 /* EVEX_W_0F3829_P_1 */ 3488 { 3489 { "vpmovb2m", { XMask, EXx }, 0 }, 3490 { "vpmovw2m", { XMask, EXx }, 0 }, 3491 }, 3492 /* EVEX_W_0F3829_P_2 */ 3493 { 3494 { Bad_Opcode }, 3495 { "vpcmpeqq", { XMask, Vex, EXx }, 0 }, 3496 }, 3497 /* EVEX_W_0F382A_P_1 */ 3498 { 3499 { Bad_Opcode }, 3500 { "vpbroadcastmb2q", { XM, MaskR }, 0 }, 3501 }, 3502 /* EVEX_W_0F382A_P_2 */ 3503 { 3504 { "vmovntdqa", { XM, EXEvexXNoBcst }, 0 }, 3505 }, 3506 /* EVEX_W_0F382B_P_2 */ 3507 { 3508 { "vpackusdw", { XM, Vex, EXx }, 0 }, 3509 }, 3510 /* EVEX_W_0F3830_P_1 */ 3511 { 3512 { "vpmovwb", { EXxmmq, XM }, 0 }, 3513 }, 3514 /* EVEX_W_0F3831_P_1 */ 3515 { 3516 { "vpmovdb", { EXxmmqd, XM }, 0 }, 3517 }, 3518 /* EVEX_W_0F3832_P_1 */ 3519 { 3520 { "vpmovqb", { EXxmmdw, XM }, 0 }, 3521 }, 3522 /* EVEX_W_0F3833_P_1 */ 3523 { 3524 { "vpmovdw", { EXxmmq, XM }, 0 }, 3525 }, 3526 /* EVEX_W_0F3834_P_1 */ 3527 { 3528 { "vpmovqw", { EXxmmqd, XM }, 0 }, 3529 }, 3530 /* EVEX_W_0F3835_P_1 */ 3531 { 3532 { "vpmovqd", { EXxmmq, XM }, 0 }, 3533 }, 3534 /* EVEX_W_0F3835_P_2 */ 3535 { 3536 { "vpmovzxdq", { XM, EXxmmq }, 0 }, 3537 }, 3538 /* EVEX_W_0F3837_P_2 */ 3539 { 3540 { Bad_Opcode }, 3541 { "vpcmpgtq", { XMask, Vex, EXx }, 0 }, 3542 }, 3543 /* EVEX_W_0F3838_P_1 */ 3544 { 3545 { "vpmovm2d", { XM, MaskR }, 0 }, 3546 { "vpmovm2q", { XM, MaskR }, 0 }, 3547 }, 3548 /* EVEX_W_0F3839_P_1 */ 3549 { 3550 { "vpmovd2m", { XMask, EXx }, 0 }, 3551 { "vpmovq2m", { XMask, EXx }, 0 }, 3552 }, 3553 /* EVEX_W_0F383A_P_1 */ 3554 { 3555 { "vpbroadcastmw2d", { XM, MaskR }, 0 }, 3556 }, 3557 /* EVEX_W_0F3840_P_2 */ 3558 { 3559 { "vpmulld", { XM, Vex, EXx }, 0 }, 3560 { "vpmullq", { XM, Vex, EXx }, 0 }, 3561 }, 3562 /* EVEX_W_0F3858_P_2 */ 3563 { 3564 { "vpbroadcastd", { XM, EXxmm_md }, 0 }, 3565 }, 3566 /* EVEX_W_0F3859_P_2 */ 3567 { 3568 { "vbroadcasti32x2", { XM, EXxmm_mq }, 0 }, 3569 { "vpbroadcastq", { XM, EXxmm_mq }, 0 }, 3570 }, 3571 /* EVEX_W_0F385A_P_2 */ 3572 { 3573 { "vbroadcasti32x4", { XM, EXxmm }, 0 }, 3574 { "vbroadcasti64x2", { XM, EXxmm }, 0 }, 3575 }, 3576 /* EVEX_W_0F385B_P_2 */ 3577 { 3578 { "vbroadcasti32x8", { XM, EXxmmq }, 0 }, 3579 { "vbroadcasti64x4", { XM, EXymm }, 0 }, 3580 }, 3581 /* EVEX_W_0F3866_P_2 */ 3582 { 3583 { "vpblendmb", { XM, Vex, EXx }, 0 }, 3584 { "vpblendmw", { XM, Vex, EXx }, 0 }, 3585 }, 3586 /* EVEX_W_0F3875_P_2 */ 3587 { 3588 { "vpermi2b", { XM, Vex, EXx }, 0 }, 3589 { "vpermi2w", { XM, Vex, EXx }, 0 }, 3590 }, 3591 /* EVEX_W_0F3878_P_2 */ 3592 { 3593 { "vpbroadcastb", { XM, EXxmm_mb }, 0 }, 3594 }, 3595 /* EVEX_W_0F3879_P_2 */ 3596 { 3597 { "vpbroadcastw", { XM, EXxmm_mw }, 0 }, 3598 }, 3599 /* EVEX_W_0F387A_P_2 */ 3600 { 3601 { "vpbroadcastb", { XM, Rd }, 0 }, 3602 }, 3603 /* EVEX_W_0F387B_P_2 */ 3604 { 3605 { "vpbroadcastw", { XM, Rd }, 0 }, 3606 }, 3607 /* EVEX_W_0F387D_P_2 */ 3608 { 3609 { "vpermt2b", { XM, Vex, EXx }, 0 }, 3610 { "vpermt2w", { XM, Vex, EXx }, 0 }, 3611 }, 3612 /* EVEX_W_0F3883_P_2 */ 3613 { 3614 { Bad_Opcode }, 3615 { "vpmultishiftqb", { XM, Vex, EXx }, 0 }, 3616 }, 3617 /* EVEX_W_0F388D_P_2 */ 3618 { 3619 { "vpermb", { XM, Vex, EXx }, 0 }, 3620 { "vpermw", { XM, Vex, EXx }, 0 }, 3621 }, 3622 /* EVEX_W_0F3891_P_2 */ 3623 { 3624 { "vpgatherqd", { XMxmmq, MVexVSIBQDWpX }, 0 }, 3625 { "vpgatherqq", { XM, MVexVSIBQWpX }, 0 }, 3626 }, 3627 /* EVEX_W_0F3893_P_2 */ 3628 { 3629 { "vgatherqps", { XMxmmq, MVexVSIBQDWpX }, 0 }, 3630 { "vgatherqpd", { XM, MVexVSIBQWpX }, 0 }, 3631 }, 3632 /* EVEX_W_0F38A1_P_2 */ 3633 { 3634 { "vpscatterqd", { MVexVSIBQDWpX, XMxmmq }, 0 }, 3635 { "vpscatterqq", { MVexVSIBQWpX, XM }, 0 }, 3636 }, 3637 /* EVEX_W_0F38A3_P_2 */ 3638 { 3639 { "vscatterqps", { MVexVSIBQDWpX, XMxmmq }, 0 }, 3640 { "vscatterqpd", { MVexVSIBQWpX, XM }, 0 }, 3641 }, 3642 /* EVEX_W_0F38C7_R_1_P_2 */ 3643 { 3644 { "vgatherpf0qps", { MVexVSIBDQWpX }, 0 }, 3645 { "vgatherpf0qpd", { MVexVSIBQWpX }, 0 }, 3646 }, 3647 /* EVEX_W_0F38C7_R_2_P_2 */ 3648 { 3649 { "vgatherpf1qps", { MVexVSIBDQWpX }, 0 }, 3650 { "vgatherpf1qpd", { MVexVSIBQWpX }, 0 }, 3651 }, 3652 /* EVEX_W_0F38C7_R_5_P_2 */ 3653 { 3654 { "vscatterpf0qps", { MVexVSIBDQWpX }, 0 }, 3655 { "vscatterpf0qpd", { MVexVSIBQWpX }, 0 }, 3656 }, 3657 /* EVEX_W_0F38C7_R_6_P_2 */ 3658 { 3659 { "vscatterpf1qps", { MVexVSIBDQWpX }, 0 }, 3660 { "vscatterpf1qpd", { MVexVSIBQWpX }, 0 }, 3661 }, 3662 /* EVEX_W_0F3A00_P_2 */ 3663 { 3664 { Bad_Opcode }, 3665 { "vpermq", { XM, EXx, Ib }, 0 }, 3666 }, 3667 /* EVEX_W_0F3A01_P_2 */ 3668 { 3669 { Bad_Opcode }, 3670 { "vpermpd", { XM, EXx, Ib }, 0 }, 3671 }, 3672 /* EVEX_W_0F3A04_P_2 */ 3673 { 3674 { "vpermilps", { XM, EXx, Ib }, 0 }, 3675 }, 3676 /* EVEX_W_0F3A05_P_2 */ 3677 { 3678 { Bad_Opcode }, 3679 { "vpermilpd", { XM, EXx, Ib }, 0 }, 3680 }, 3681 /* EVEX_W_0F3A08_P_2 */ 3682 { 3683 { "vrndscaleps", { XM, EXx, EXxEVexS, Ib }, 0 }, 3684 }, 3685 /* EVEX_W_0F3A09_P_2 */ 3686 { 3687 { Bad_Opcode }, 3688 { "vrndscalepd", { XM, EXx, EXxEVexS, Ib }, 0 }, 3689 }, 3690 /* EVEX_W_0F3A0A_P_2 */ 3691 { 3692 { "vrndscaless", { XMScalar, VexScalar, EXxmm_md, EXxEVexS, Ib }, 0 }, 3693 }, 3694 /* EVEX_W_0F3A0B_P_2 */ 3695 { 3696 { Bad_Opcode }, 3697 { "vrndscalesd", { XMScalar, VexScalar, EXxmm_mq, EXxEVexS, Ib }, 0 }, 3698 }, 3699 /* EVEX_W_0F3A16_P_2 */ 3700 { 3701 { "vpextrd", { Edqd, XM, Ib }, 0 }, 3702 { "vpextrq", { Eq, XM, Ib }, 0 }, 3703 }, 3704 /* EVEX_W_0F3A18_P_2 */ 3705 { 3706 { "vinsertf32x4", { XM, Vex, EXxmm, Ib }, 0 }, 3707 { "vinsertf64x2", { XM, Vex, EXxmm, Ib }, 0 }, 3708 }, 3709 /* EVEX_W_0F3A19_P_2 */ 3710 { 3711 { "vextractf32x4", { EXxmm, XM, Ib }, 0 }, 3712 { "vextractf64x2", { EXxmm, XM, Ib }, 0 }, 3713 }, 3714 /* EVEX_W_0F3A1A_P_2 */ 3715 { 3716 { "vinsertf32x8", { XM, Vex, EXxmmq, Ib }, 0 }, 3717 { "vinsertf64x4", { XM, Vex, EXxmmq, Ib }, 0 }, 3718 }, 3719 /* EVEX_W_0F3A1B_P_2 */ 3720 { 3721 { "vextractf32x8", { EXxmmq, XM, Ib }, 0 }, 3722 { "vextractf64x4", { EXxmmq, XM, Ib }, 0 }, 3723 }, 3724 /* EVEX_W_0F3A1D_P_2 */ 3725 { 3726 { "vcvtps2ph", { EXxmmq, XM, EXxEVexS, Ib }, 0 }, 3727 }, 3728 /* EVEX_W_0F3A21_P_2 */ 3729 { 3730 { "vinsertps", { XMM, Vex, EXxmm_md, Ib }, 0 }, 3731 }, 3732 /* EVEX_W_0F3A22_P_2 */ 3733 { 3734 { "vpinsrd", { XM, Vex128, Edqd, Ib }, 0 }, 3735 { "vpinsrq", { XM, Vex128, Eq, Ib }, 0 }, 3736 }, 3737 /* EVEX_W_0F3A23_P_2 */ 3738 { 3739 { "vshuff32x4", { XM, Vex, EXx, Ib }, 0 }, 3740 { "vshuff64x2", { XM, Vex, EXx, Ib }, 0 }, 3741 }, 3742 /* EVEX_W_0F3A38_P_2 */ 3743 { 3744 { "vinserti32x4", { XM, Vex, EXxmm, Ib }, 0 }, 3745 { "vinserti64x2", { XM, Vex, EXxmm, Ib }, 0 }, 3746 }, 3747 /* EVEX_W_0F3A39_P_2 */ 3748 { 3749 { "vextracti32x4", { EXxmm, XM, Ib }, 0 }, 3750 { "vextracti64x2", { EXxmm, XM, Ib }, 0 }, 3751 }, 3752 /* EVEX_W_0F3A3A_P_2 */ 3753 { 3754 { "vinserti32x8", { XM, Vex, EXxmmq, Ib }, 0 }, 3755 { "vinserti64x4", { XM, Vex, EXxmmq, Ib }, 0 }, 3756 }, 3757 /* EVEX_W_0F3A3B_P_2 */ 3758 { 3759 { "vextracti32x8", { EXxmmq, XM, Ib }, 0 }, 3760 { "vextracti64x4", { EXxmmq, XM, Ib }, 0 }, 3761 }, 3762 /* EVEX_W_0F3A3E_P_2 */ 3763 { 3764 { "vpcmpub", { XMask, Vex, EXx, Ib }, 0 }, 3765 { "vpcmpuw", { XMask, Vex, EXx, Ib }, 0 }, 3766 }, 3767 /* EVEX_W_0F3A3F_P_2 */ 3768 { 3769 { "vpcmpb", { XMask, Vex, EXx, Ib }, 0 }, 3770 { "vpcmpw", { XMask, Vex, EXx, Ib }, 0 }, 3771 }, 3772 /* EVEX_W_0F3A42_P_2 */ 3773 { 3774 { "vdbpsadbw", { XM, Vex, EXx, Ib }, 0 }, 3775 }, 3776 /* EVEX_W_0F3A43_P_2 */ 3777 { 3778 { "vshufi32x4", { XM, Vex, EXx, Ib }, 0 }, 3779 { "vshufi64x2", { XM, Vex, EXx, Ib }, 0 }, 3780 }, 3781 /* EVEX_W_0F3A50_P_2 */ 3782 { 3783 { "vrangeps", { XM, Vex, EXx, EXxEVexS, Ib }, 0 }, 3784 { "vrangepd", { XM, Vex, EXx, EXxEVexS, Ib }, 0 }, 3785 }, 3786 /* EVEX_W_0F3A51_P_2 */ 3787 { 3788 { "vrangess", { XMScalar, VexScalar, EXxmm_md, EXxEVexS, Ib }, 0 }, 3789 { "vrangesd", { XMScalar, VexScalar, EXxmm_mq, EXxEVexS, Ib }, 0 }, 3790 }, 3791 /* EVEX_W_0F3A56_P_2 */ 3792 { 3793 { "vreduceps", { XM, EXx, EXxEVexS, Ib }, 0 }, 3794 { "vreducepd", { XM, EXx, EXxEVexS, Ib }, 0 }, 3795 }, 3796 /* EVEX_W_0F3A57_P_2 */ 3797 { 3798 { "vreducess", { XMScalar, VexScalar, EXxmm_md, EXxEVexS, Ib }, 0 }, 3799 { "vreducesd", { XMScalar, VexScalar, EXxmm_mq, EXxEVexS, Ib }, 0 }, 3800 }, 3801 /* EVEX_W_0F3A66_P_2 */ 3802 { 3803 { "vfpclassps%XZ", { XMask, EXx, Ib }, 0 }, 3804 { "vfpclasspd%XZ", { XMask, EXx, Ib }, 0 }, 3805 }, 3806 /* EVEX_W_0F3A67_P_2 */ 3807 { 3808 { "vfpclassss", { XMask, EXxmm_md, Ib }, 0 }, 3809 { "vfpclasssd", { XMask, EXxmm_mq, Ib }, 0 }, 3810 }, 3811 #endif /* NEED_VEX_W_TABLE */ 3812 #ifdef NEED_MOD_TABLE 3813 { 3814 /* MOD_EVEX_0F10_PREFIX_1 */ 3815 { VEX_W_TABLE (EVEX_W_0F10_P_1_M_0) }, 3816 { VEX_W_TABLE (EVEX_W_0F10_P_1_M_1) }, 3817 }, 3818 { 3819 /* MOD_EVEX_0F10_PREFIX_3 */ 3820 { VEX_W_TABLE (EVEX_W_0F10_P_3_M_0) }, 3821 { VEX_W_TABLE (EVEX_W_0F10_P_3_M_1) }, 3822 }, 3823 { 3824 /* MOD_EVEX_0F11_PREFIX_1 */ 3825 { VEX_W_TABLE (EVEX_W_0F11_P_1_M_0) }, 3826 { VEX_W_TABLE (EVEX_W_0F11_P_1_M_1) }, 3827 }, 3828 { 3829 /* MOD_EVEX_0F11_PREFIX_3 */ 3830 { VEX_W_TABLE (EVEX_W_0F11_P_3_M_0) }, 3831 { VEX_W_TABLE (EVEX_W_0F11_P_3_M_1) }, 3832 }, 3833 { 3834 /* MOD_EVEX_0F12_PREFIX_0 */ 3835 { VEX_W_TABLE (EVEX_W_0F12_P_0_M_0) }, 3836 { VEX_W_TABLE (EVEX_W_0F12_P_0_M_1) }, 3837 }, 3838 { 3839 /* MOD_EVEX_0F16_PREFIX_0 */ 3840 { VEX_W_TABLE (EVEX_W_0F16_P_0_M_0) }, 3841 { VEX_W_TABLE (EVEX_W_0F16_P_0_M_1) }, 3842 }, 3843 { 3844 /* MOD_EVEX_0F38C6_REG_1 */ 3845 { PREFIX_TABLE (PREFIX_EVEX_0F38C6_REG_1) }, 3846 }, 3847 { 3848 /* MOD_EVEX_0F38C6_REG_2 */ 3849 { PREFIX_TABLE (PREFIX_EVEX_0F38C6_REG_2) }, 3850 }, 3851 { 3852 /* MOD_EVEX_0F38C6_REG_5 */ 3853 { PREFIX_TABLE (PREFIX_EVEX_0F38C6_REG_5) }, 3854 }, 3855 { 3856 /* MOD_EVEX_0F38C6_REG_6 */ 3857 { PREFIX_TABLE (PREFIX_EVEX_0F38C6_REG_6) }, 3858 }, 3859 { 3860 /* MOD_EVEX_0F38C7_REG_1 */ 3861 { PREFIX_TABLE (PREFIX_EVEX_0F38C7_REG_1) }, 3862 }, 3863 { 3864 /* MOD_EVEX_0F38C7_REG_2 */ 3865 { PREFIX_TABLE (PREFIX_EVEX_0F38C7_REG_2) }, 3866 }, 3867 { 3868 /* MOD_EVEX_0F38C7_REG_5 */ 3869 { PREFIX_TABLE (PREFIX_EVEX_0F38C7_REG_5) }, 3870 }, 3871 { 3872 /* MOD_EVEX_0F38C7_REG_6 */ 3873 { PREFIX_TABLE (PREFIX_EVEX_0F38C7_REG_6) }, 3874 }, 3875 #endif /* NEED_MOD_TABLE */ 3876