1 static const struct dis386 evex_table[][256] = { 2 /* EVEX_0F */ 3 { 4 /* 00 */ 5 { Bad_Opcode }, 6 { Bad_Opcode }, 7 { Bad_Opcode }, 8 { Bad_Opcode }, 9 { Bad_Opcode }, 10 { Bad_Opcode }, 11 { Bad_Opcode }, 12 { Bad_Opcode }, 13 /* 08 */ 14 { Bad_Opcode }, 15 { Bad_Opcode }, 16 { Bad_Opcode }, 17 { Bad_Opcode }, 18 { Bad_Opcode }, 19 { Bad_Opcode }, 20 { Bad_Opcode }, 21 { Bad_Opcode }, 22 /* 10 */ 23 { PREFIX_TABLE (PREFIX_EVEX_0F10) }, 24 { PREFIX_TABLE (PREFIX_EVEX_0F11) }, 25 { PREFIX_TABLE (PREFIX_EVEX_0F12) }, 26 { PREFIX_TABLE (PREFIX_EVEX_0F13) }, 27 { PREFIX_TABLE (PREFIX_EVEX_0F14) }, 28 { PREFIX_TABLE (PREFIX_EVEX_0F15) }, 29 { PREFIX_TABLE (PREFIX_EVEX_0F16) }, 30 { PREFIX_TABLE (PREFIX_EVEX_0F17) }, 31 /* 18 */ 32 { Bad_Opcode }, 33 { Bad_Opcode }, 34 { Bad_Opcode }, 35 { Bad_Opcode }, 36 { Bad_Opcode }, 37 { Bad_Opcode }, 38 { Bad_Opcode }, 39 { Bad_Opcode }, 40 /* 20 */ 41 { Bad_Opcode }, 42 { Bad_Opcode }, 43 { Bad_Opcode }, 44 { Bad_Opcode }, 45 { Bad_Opcode }, 46 { Bad_Opcode }, 47 { Bad_Opcode }, 48 { Bad_Opcode }, 49 /* 28 */ 50 { PREFIX_TABLE (PREFIX_EVEX_0F28) }, 51 { PREFIX_TABLE (PREFIX_EVEX_0F29) }, 52 { PREFIX_TABLE (PREFIX_EVEX_0F2A) }, 53 { PREFIX_TABLE (PREFIX_EVEX_0F2B) }, 54 { PREFIX_TABLE (PREFIX_EVEX_0F2C) }, 55 { PREFIX_TABLE (PREFIX_EVEX_0F2D) }, 56 { PREFIX_TABLE (PREFIX_EVEX_0F2E) }, 57 { PREFIX_TABLE (PREFIX_EVEX_0F2F) }, 58 /* 30 */ 59 { Bad_Opcode }, 60 { Bad_Opcode }, 61 { Bad_Opcode }, 62 { Bad_Opcode }, 63 { Bad_Opcode }, 64 { Bad_Opcode }, 65 { Bad_Opcode }, 66 { Bad_Opcode }, 67 /* 38 */ 68 { Bad_Opcode }, 69 { Bad_Opcode }, 70 { Bad_Opcode }, 71 { Bad_Opcode }, 72 { Bad_Opcode }, 73 { Bad_Opcode }, 74 { Bad_Opcode }, 75 { Bad_Opcode }, 76 /* 40 */ 77 { Bad_Opcode }, 78 { Bad_Opcode }, 79 { Bad_Opcode }, 80 { Bad_Opcode }, 81 { Bad_Opcode }, 82 { Bad_Opcode }, 83 { Bad_Opcode }, 84 { Bad_Opcode }, 85 /* 48 */ 86 { Bad_Opcode }, 87 { Bad_Opcode }, 88 { Bad_Opcode }, 89 { Bad_Opcode }, 90 { Bad_Opcode }, 91 { Bad_Opcode }, 92 { Bad_Opcode }, 93 { Bad_Opcode }, 94 /* 50 */ 95 { Bad_Opcode }, 96 { PREFIX_TABLE (PREFIX_EVEX_0F51) }, 97 { Bad_Opcode }, 98 { Bad_Opcode }, 99 { PREFIX_TABLE (PREFIX_EVEX_0F54) }, 100 { PREFIX_TABLE (PREFIX_EVEX_0F55) }, 101 { PREFIX_TABLE (PREFIX_EVEX_0F56) }, 102 { PREFIX_TABLE (PREFIX_EVEX_0F57) }, 103 /* 58 */ 104 { PREFIX_TABLE (PREFIX_EVEX_0F58) }, 105 { PREFIX_TABLE (PREFIX_EVEX_0F59) }, 106 { PREFIX_TABLE (PREFIX_EVEX_0F5A) }, 107 { PREFIX_TABLE (PREFIX_EVEX_0F5B) }, 108 { PREFIX_TABLE (PREFIX_EVEX_0F5C) }, 109 { PREFIX_TABLE (PREFIX_EVEX_0F5D) }, 110 { PREFIX_TABLE (PREFIX_EVEX_0F5E) }, 111 { PREFIX_TABLE (PREFIX_EVEX_0F5F) }, 112 /* 60 */ 113 { PREFIX_TABLE (PREFIX_EVEX_0F60) }, 114 { PREFIX_TABLE (PREFIX_EVEX_0F61) }, 115 { PREFIX_TABLE (PREFIX_EVEX_0F62) }, 116 { PREFIX_TABLE (PREFIX_EVEX_0F63) }, 117 { PREFIX_TABLE (PREFIX_EVEX_0F64) }, 118 { PREFIX_TABLE (PREFIX_EVEX_0F65) }, 119 { PREFIX_TABLE (PREFIX_EVEX_0F66) }, 120 { PREFIX_TABLE (PREFIX_EVEX_0F67) }, 121 /* 68 */ 122 { PREFIX_TABLE (PREFIX_EVEX_0F68) }, 123 { PREFIX_TABLE (PREFIX_EVEX_0F69) }, 124 { PREFIX_TABLE (PREFIX_EVEX_0F6A) }, 125 { PREFIX_TABLE (PREFIX_EVEX_0F6B) }, 126 { PREFIX_TABLE (PREFIX_EVEX_0F6C) }, 127 { PREFIX_TABLE (PREFIX_EVEX_0F6D) }, 128 { PREFIX_TABLE (PREFIX_EVEX_0F6E) }, 129 { PREFIX_TABLE (PREFIX_EVEX_0F6F) }, 130 /* 70 */ 131 { PREFIX_TABLE (PREFIX_EVEX_0F70) }, 132 { REG_TABLE (REG_EVEX_0F71) }, 133 { REG_TABLE (REG_EVEX_0F72) }, 134 { REG_TABLE (REG_EVEX_0F73) }, 135 { PREFIX_TABLE (PREFIX_EVEX_0F74) }, 136 { PREFIX_TABLE (PREFIX_EVEX_0F75) }, 137 { PREFIX_TABLE (PREFIX_EVEX_0F76) }, 138 { Bad_Opcode }, 139 /* 78 */ 140 { PREFIX_TABLE (PREFIX_EVEX_0F78) }, 141 { PREFIX_TABLE (PREFIX_EVEX_0F79) }, 142 { PREFIX_TABLE (PREFIX_EVEX_0F7A) }, 143 { PREFIX_TABLE (PREFIX_EVEX_0F7B) }, 144 { Bad_Opcode }, 145 { Bad_Opcode }, 146 { PREFIX_TABLE (PREFIX_EVEX_0F7E) }, 147 { PREFIX_TABLE (PREFIX_EVEX_0F7F) }, 148 /* 80 */ 149 { Bad_Opcode }, 150 { Bad_Opcode }, 151 { Bad_Opcode }, 152 { Bad_Opcode }, 153 { Bad_Opcode }, 154 { Bad_Opcode }, 155 { Bad_Opcode }, 156 { Bad_Opcode }, 157 /* 88 */ 158 { Bad_Opcode }, 159 { Bad_Opcode }, 160 { Bad_Opcode }, 161 { Bad_Opcode }, 162 { Bad_Opcode }, 163 { Bad_Opcode }, 164 { Bad_Opcode }, 165 { Bad_Opcode }, 166 /* 90 */ 167 { Bad_Opcode }, 168 { Bad_Opcode }, 169 { Bad_Opcode }, 170 { Bad_Opcode }, 171 { Bad_Opcode }, 172 { Bad_Opcode }, 173 { Bad_Opcode }, 174 { Bad_Opcode }, 175 /* 98 */ 176 { Bad_Opcode }, 177 { Bad_Opcode }, 178 { Bad_Opcode }, 179 { Bad_Opcode }, 180 { Bad_Opcode }, 181 { Bad_Opcode }, 182 { Bad_Opcode }, 183 { Bad_Opcode }, 184 /* A0 */ 185 { Bad_Opcode }, 186 { Bad_Opcode }, 187 { Bad_Opcode }, 188 { Bad_Opcode }, 189 { Bad_Opcode }, 190 { Bad_Opcode }, 191 { Bad_Opcode }, 192 { Bad_Opcode }, 193 /* A8 */ 194 { Bad_Opcode }, 195 { Bad_Opcode }, 196 { Bad_Opcode }, 197 { Bad_Opcode }, 198 { Bad_Opcode }, 199 { Bad_Opcode }, 200 { Bad_Opcode }, 201 { Bad_Opcode }, 202 /* B0 */ 203 { Bad_Opcode }, 204 { Bad_Opcode }, 205 { Bad_Opcode }, 206 { Bad_Opcode }, 207 { Bad_Opcode }, 208 { Bad_Opcode }, 209 { Bad_Opcode }, 210 { Bad_Opcode }, 211 /* B8 */ 212 { Bad_Opcode }, 213 { Bad_Opcode }, 214 { Bad_Opcode }, 215 { Bad_Opcode }, 216 { Bad_Opcode }, 217 { Bad_Opcode }, 218 { Bad_Opcode }, 219 { Bad_Opcode }, 220 /* C0 */ 221 { Bad_Opcode }, 222 { Bad_Opcode }, 223 { PREFIX_TABLE (PREFIX_EVEX_0FC2) }, 224 { Bad_Opcode }, 225 { PREFIX_TABLE (PREFIX_EVEX_0FC4) }, 226 { PREFIX_TABLE (PREFIX_EVEX_0FC5) }, 227 { PREFIX_TABLE (PREFIX_EVEX_0FC6) }, 228 { Bad_Opcode }, 229 /* C8 */ 230 { Bad_Opcode }, 231 { Bad_Opcode }, 232 { Bad_Opcode }, 233 { Bad_Opcode }, 234 { Bad_Opcode }, 235 { Bad_Opcode }, 236 { Bad_Opcode }, 237 { Bad_Opcode }, 238 /* D0 */ 239 { Bad_Opcode }, 240 { PREFIX_TABLE (PREFIX_EVEX_0FD1) }, 241 { PREFIX_TABLE (PREFIX_EVEX_0FD2) }, 242 { PREFIX_TABLE (PREFIX_EVEX_0FD3) }, 243 { PREFIX_TABLE (PREFIX_EVEX_0FD4) }, 244 { PREFIX_TABLE (PREFIX_EVEX_0FD5) }, 245 { PREFIX_TABLE (PREFIX_EVEX_0FD6) }, 246 { Bad_Opcode }, 247 /* D8 */ 248 { PREFIX_TABLE (PREFIX_EVEX_0FD8) }, 249 { PREFIX_TABLE (PREFIX_EVEX_0FD9) }, 250 { PREFIX_TABLE (PREFIX_EVEX_0FDA) }, 251 { PREFIX_TABLE (PREFIX_EVEX_0FDB) }, 252 { PREFIX_TABLE (PREFIX_EVEX_0FDC) }, 253 { PREFIX_TABLE (PREFIX_EVEX_0FDD) }, 254 { PREFIX_TABLE (PREFIX_EVEX_0FDE) }, 255 { PREFIX_TABLE (PREFIX_EVEX_0FDF) }, 256 /* E0 */ 257 { PREFIX_TABLE (PREFIX_EVEX_0FE0) }, 258 { PREFIX_TABLE (PREFIX_EVEX_0FE1) }, 259 { PREFIX_TABLE (PREFIX_EVEX_0FE2) }, 260 { PREFIX_TABLE (PREFIX_EVEX_0FE3) }, 261 { PREFIX_TABLE (PREFIX_EVEX_0FE4) }, 262 { PREFIX_TABLE (PREFIX_EVEX_0FE5) }, 263 { PREFIX_TABLE (PREFIX_EVEX_0FE6) }, 264 { PREFIX_TABLE (PREFIX_EVEX_0FE7) }, 265 /* E8 */ 266 { PREFIX_TABLE (PREFIX_EVEX_0FE8) }, 267 { PREFIX_TABLE (PREFIX_EVEX_0FE9) }, 268 { PREFIX_TABLE (PREFIX_EVEX_0FEA) }, 269 { PREFIX_TABLE (PREFIX_EVEX_0FEB) }, 270 { PREFIX_TABLE (PREFIX_EVEX_0FEC) }, 271 { PREFIX_TABLE (PREFIX_EVEX_0FED) }, 272 { PREFIX_TABLE (PREFIX_EVEX_0FEE) }, 273 { PREFIX_TABLE (PREFIX_EVEX_0FEF) }, 274 /* F0 */ 275 { Bad_Opcode }, 276 { PREFIX_TABLE (PREFIX_EVEX_0FF1) }, 277 { PREFIX_TABLE (PREFIX_EVEX_0FF2) }, 278 { PREFIX_TABLE (PREFIX_EVEX_0FF3) }, 279 { PREFIX_TABLE (PREFIX_EVEX_0FF4) }, 280 { PREFIX_TABLE (PREFIX_EVEX_0FF5) }, 281 { PREFIX_TABLE (PREFIX_EVEX_0FF6) }, 282 { Bad_Opcode }, 283 /* F8 */ 284 { PREFIX_TABLE (PREFIX_EVEX_0FF8) }, 285 { PREFIX_TABLE (PREFIX_EVEX_0FF9) }, 286 { PREFIX_TABLE (PREFIX_EVEX_0FFA) }, 287 { PREFIX_TABLE (PREFIX_EVEX_0FFB) }, 288 { PREFIX_TABLE (PREFIX_EVEX_0FFC) }, 289 { PREFIX_TABLE (PREFIX_EVEX_0FFD) }, 290 { PREFIX_TABLE (PREFIX_EVEX_0FFE) }, 291 { Bad_Opcode }, 292 }, 293 /* EVEX_0F38 */ 294 { 295 /* 00 */ 296 { PREFIX_TABLE (PREFIX_EVEX_0F3800) }, 297 { Bad_Opcode }, 298 { Bad_Opcode }, 299 { Bad_Opcode }, 300 { PREFIX_TABLE (PREFIX_EVEX_0F3804) }, 301 { Bad_Opcode }, 302 { Bad_Opcode }, 303 { Bad_Opcode }, 304 /* 08 */ 305 { Bad_Opcode }, 306 { Bad_Opcode }, 307 { Bad_Opcode }, 308 { PREFIX_TABLE (PREFIX_EVEX_0F380B) }, 309 { PREFIX_TABLE (PREFIX_EVEX_0F380C) }, 310 { PREFIX_TABLE (PREFIX_EVEX_0F380D) }, 311 { Bad_Opcode }, 312 { Bad_Opcode }, 313 /* 10 */ 314 { PREFIX_TABLE (PREFIX_EVEX_0F3810) }, 315 { PREFIX_TABLE (PREFIX_EVEX_0F3811) }, 316 { PREFIX_TABLE (PREFIX_EVEX_0F3812) }, 317 { PREFIX_TABLE (PREFIX_EVEX_0F3813) }, 318 { PREFIX_TABLE (PREFIX_EVEX_0F3814) }, 319 { PREFIX_TABLE (PREFIX_EVEX_0F3815) }, 320 { PREFIX_TABLE (PREFIX_EVEX_0F3816) }, 321 { Bad_Opcode }, 322 /* 18 */ 323 { PREFIX_TABLE (PREFIX_EVEX_0F3818) }, 324 { PREFIX_TABLE (PREFIX_EVEX_0F3819) }, 325 { PREFIX_TABLE (PREFIX_EVEX_0F381A) }, 326 { PREFIX_TABLE (PREFIX_EVEX_0F381B) }, 327 { PREFIX_TABLE (PREFIX_EVEX_0F381C) }, 328 { PREFIX_TABLE (PREFIX_EVEX_0F381D) }, 329 { PREFIX_TABLE (PREFIX_EVEX_0F381E) }, 330 { PREFIX_TABLE (PREFIX_EVEX_0F381F) }, 331 /* 20 */ 332 { PREFIX_TABLE (PREFIX_EVEX_0F3820) }, 333 { PREFIX_TABLE (PREFIX_EVEX_0F3821) }, 334 { PREFIX_TABLE (PREFIX_EVEX_0F3822) }, 335 { PREFIX_TABLE (PREFIX_EVEX_0F3823) }, 336 { PREFIX_TABLE (PREFIX_EVEX_0F3824) }, 337 { PREFIX_TABLE (PREFIX_EVEX_0F3825) }, 338 { PREFIX_TABLE (PREFIX_EVEX_0F3826) }, 339 { PREFIX_TABLE (PREFIX_EVEX_0F3827) }, 340 /* 28 */ 341 { PREFIX_TABLE (PREFIX_EVEX_0F3828) }, 342 { PREFIX_TABLE (PREFIX_EVEX_0F3829) }, 343 { PREFIX_TABLE (PREFIX_EVEX_0F382A) }, 344 { PREFIX_TABLE (PREFIX_EVEX_0F382B) }, 345 { PREFIX_TABLE (PREFIX_EVEX_0F382C) }, 346 { PREFIX_TABLE (PREFIX_EVEX_0F382D) }, 347 { Bad_Opcode }, 348 { Bad_Opcode }, 349 /* 30 */ 350 { PREFIX_TABLE (PREFIX_EVEX_0F3830) }, 351 { PREFIX_TABLE (PREFIX_EVEX_0F3831) }, 352 { PREFIX_TABLE (PREFIX_EVEX_0F3832) }, 353 { PREFIX_TABLE (PREFIX_EVEX_0F3833) }, 354 { PREFIX_TABLE (PREFIX_EVEX_0F3834) }, 355 { PREFIX_TABLE (PREFIX_EVEX_0F3835) }, 356 { PREFIX_TABLE (PREFIX_EVEX_0F3836) }, 357 { PREFIX_TABLE (PREFIX_EVEX_0F3837) }, 358 /* 38 */ 359 { PREFIX_TABLE (PREFIX_EVEX_0F3838) }, 360 { PREFIX_TABLE (PREFIX_EVEX_0F3839) }, 361 { PREFIX_TABLE (PREFIX_EVEX_0F383A) }, 362 { PREFIX_TABLE (PREFIX_EVEX_0F383B) }, 363 { PREFIX_TABLE (PREFIX_EVEX_0F383C) }, 364 { PREFIX_TABLE (PREFIX_EVEX_0F383D) }, 365 { PREFIX_TABLE (PREFIX_EVEX_0F383E) }, 366 { PREFIX_TABLE (PREFIX_EVEX_0F383F) }, 367 /* 40 */ 368 { PREFIX_TABLE (PREFIX_EVEX_0F3840) }, 369 { Bad_Opcode }, 370 { PREFIX_TABLE (PREFIX_EVEX_0F3842) }, 371 { PREFIX_TABLE (PREFIX_EVEX_0F3843) }, 372 { PREFIX_TABLE (PREFIX_EVEX_0F3844) }, 373 { PREFIX_TABLE (PREFIX_EVEX_0F3845) }, 374 { PREFIX_TABLE (PREFIX_EVEX_0F3846) }, 375 { PREFIX_TABLE (PREFIX_EVEX_0F3847) }, 376 /* 48 */ 377 { Bad_Opcode }, 378 { Bad_Opcode }, 379 { Bad_Opcode }, 380 { Bad_Opcode }, 381 { PREFIX_TABLE (PREFIX_EVEX_0F384C) }, 382 { PREFIX_TABLE (PREFIX_EVEX_0F384D) }, 383 { PREFIX_TABLE (PREFIX_EVEX_0F384E) }, 384 { PREFIX_TABLE (PREFIX_EVEX_0F384F) }, 385 /* 50 */ 386 { PREFIX_TABLE (PREFIX_EVEX_0F3850) }, 387 { PREFIX_TABLE (PREFIX_EVEX_0F3851) }, 388 { PREFIX_TABLE (PREFIX_EVEX_0F3852) }, 389 { PREFIX_TABLE (PREFIX_EVEX_0F3853) }, 390 { PREFIX_TABLE (PREFIX_EVEX_0F3854) }, 391 { PREFIX_TABLE (PREFIX_EVEX_0F3855) }, 392 { Bad_Opcode }, 393 { Bad_Opcode }, 394 /* 58 */ 395 { PREFIX_TABLE (PREFIX_EVEX_0F3858) }, 396 { PREFIX_TABLE (PREFIX_EVEX_0F3859) }, 397 { PREFIX_TABLE (PREFIX_EVEX_0F385A) }, 398 { PREFIX_TABLE (PREFIX_EVEX_0F385B) }, 399 { Bad_Opcode }, 400 { Bad_Opcode }, 401 { Bad_Opcode }, 402 { Bad_Opcode }, 403 /* 60 */ 404 { Bad_Opcode }, 405 { Bad_Opcode }, 406 { PREFIX_TABLE (PREFIX_EVEX_0F3862) }, 407 { PREFIX_TABLE (PREFIX_EVEX_0F3863) }, 408 { PREFIX_TABLE (PREFIX_EVEX_0F3864) }, 409 { PREFIX_TABLE (PREFIX_EVEX_0F3865) }, 410 { PREFIX_TABLE (PREFIX_EVEX_0F3866) }, 411 { Bad_Opcode }, 412 /* 68 */ 413 { PREFIX_TABLE (PREFIX_EVEX_0F3868) }, 414 { Bad_Opcode }, 415 { Bad_Opcode }, 416 { Bad_Opcode }, 417 { Bad_Opcode }, 418 { Bad_Opcode }, 419 { Bad_Opcode }, 420 { Bad_Opcode }, 421 /* 70 */ 422 { PREFIX_TABLE (PREFIX_EVEX_0F3870) }, 423 { PREFIX_TABLE (PREFIX_EVEX_0F3871) }, 424 { PREFIX_TABLE (PREFIX_EVEX_0F3872) }, 425 { PREFIX_TABLE (PREFIX_EVEX_0F3873) }, 426 { Bad_Opcode }, 427 { PREFIX_TABLE (PREFIX_EVEX_0F3875) }, 428 { PREFIX_TABLE (PREFIX_EVEX_0F3876) }, 429 { PREFIX_TABLE (PREFIX_EVEX_0F3877) }, 430 /* 78 */ 431 { PREFIX_TABLE (PREFIX_EVEX_0F3878) }, 432 { PREFIX_TABLE (PREFIX_EVEX_0F3879) }, 433 { PREFIX_TABLE (PREFIX_EVEX_0F387A) }, 434 { PREFIX_TABLE (PREFIX_EVEX_0F387B) }, 435 { PREFIX_TABLE (PREFIX_EVEX_0F387C) }, 436 { PREFIX_TABLE (PREFIX_EVEX_0F387D) }, 437 { PREFIX_TABLE (PREFIX_EVEX_0F387E) }, 438 { PREFIX_TABLE (PREFIX_EVEX_0F387F) }, 439 /* 80 */ 440 { Bad_Opcode }, 441 { Bad_Opcode }, 442 { Bad_Opcode }, 443 { PREFIX_TABLE (PREFIX_EVEX_0F3883) }, 444 { Bad_Opcode }, 445 { Bad_Opcode }, 446 { Bad_Opcode }, 447 { Bad_Opcode }, 448 /* 88 */ 449 { PREFIX_TABLE (PREFIX_EVEX_0F3888) }, 450 { PREFIX_TABLE (PREFIX_EVEX_0F3889) }, 451 { PREFIX_TABLE (PREFIX_EVEX_0F388A) }, 452 { PREFIX_TABLE (PREFIX_EVEX_0F388B) }, 453 { Bad_Opcode }, 454 { PREFIX_TABLE (PREFIX_EVEX_0F388D) }, 455 { Bad_Opcode }, 456 { PREFIX_TABLE (PREFIX_EVEX_0F388F) }, 457 /* 90 */ 458 { PREFIX_TABLE (PREFIX_EVEX_0F3890) }, 459 { PREFIX_TABLE (PREFIX_EVEX_0F3891) }, 460 { PREFIX_TABLE (PREFIX_EVEX_0F3892) }, 461 { PREFIX_TABLE (PREFIX_EVEX_0F3893) }, 462 { Bad_Opcode }, 463 { Bad_Opcode }, 464 { PREFIX_TABLE (PREFIX_EVEX_0F3896) }, 465 { PREFIX_TABLE (PREFIX_EVEX_0F3897) }, 466 /* 98 */ 467 { PREFIX_TABLE (PREFIX_EVEX_0F3898) }, 468 { PREFIX_TABLE (PREFIX_EVEX_0F3899) }, 469 { PREFIX_TABLE (PREFIX_EVEX_0F389A) }, 470 { PREFIX_TABLE (PREFIX_EVEX_0F389B) }, 471 { PREFIX_TABLE (PREFIX_EVEX_0F389C) }, 472 { PREFIX_TABLE (PREFIX_EVEX_0F389D) }, 473 { PREFIX_TABLE (PREFIX_EVEX_0F389E) }, 474 { PREFIX_TABLE (PREFIX_EVEX_0F389F) }, 475 /* A0 */ 476 { PREFIX_TABLE (PREFIX_EVEX_0F38A0) }, 477 { PREFIX_TABLE (PREFIX_EVEX_0F38A1) }, 478 { PREFIX_TABLE (PREFIX_EVEX_0F38A2) }, 479 { PREFIX_TABLE (PREFIX_EVEX_0F38A3) }, 480 { Bad_Opcode }, 481 { Bad_Opcode }, 482 { PREFIX_TABLE (PREFIX_EVEX_0F38A6) }, 483 { PREFIX_TABLE (PREFIX_EVEX_0F38A7) }, 484 /* A8 */ 485 { PREFIX_TABLE (PREFIX_EVEX_0F38A8) }, 486 { PREFIX_TABLE (PREFIX_EVEX_0F38A9) }, 487 { PREFIX_TABLE (PREFIX_EVEX_0F38AA) }, 488 { PREFIX_TABLE (PREFIX_EVEX_0F38AB) }, 489 { PREFIX_TABLE (PREFIX_EVEX_0F38AC) }, 490 { PREFIX_TABLE (PREFIX_EVEX_0F38AD) }, 491 { PREFIX_TABLE (PREFIX_EVEX_0F38AE) }, 492 { PREFIX_TABLE (PREFIX_EVEX_0F38AF) }, 493 /* B0 */ 494 { Bad_Opcode }, 495 { Bad_Opcode }, 496 { Bad_Opcode }, 497 { Bad_Opcode }, 498 { PREFIX_TABLE (PREFIX_EVEX_0F38B4) }, 499 { PREFIX_TABLE (PREFIX_EVEX_0F38B5) }, 500 { PREFIX_TABLE (PREFIX_EVEX_0F38B6) }, 501 { PREFIX_TABLE (PREFIX_EVEX_0F38B7) }, 502 /* B8 */ 503 { PREFIX_TABLE (PREFIX_EVEX_0F38B8) }, 504 { PREFIX_TABLE (PREFIX_EVEX_0F38B9) }, 505 { PREFIX_TABLE (PREFIX_EVEX_0F38BA) }, 506 { PREFIX_TABLE (PREFIX_EVEX_0F38BB) }, 507 { PREFIX_TABLE (PREFIX_EVEX_0F38BC) }, 508 { PREFIX_TABLE (PREFIX_EVEX_0F38BD) }, 509 { PREFIX_TABLE (PREFIX_EVEX_0F38BE) }, 510 { PREFIX_TABLE (PREFIX_EVEX_0F38BF) }, 511 /* C0 */ 512 { Bad_Opcode }, 513 { Bad_Opcode }, 514 { Bad_Opcode }, 515 { Bad_Opcode }, 516 { PREFIX_TABLE (PREFIX_EVEX_0F38C4) }, 517 { Bad_Opcode }, 518 { REG_TABLE (REG_EVEX_0F38C6) }, 519 { REG_TABLE (REG_EVEX_0F38C7) }, 520 /* C8 */ 521 { PREFIX_TABLE (PREFIX_EVEX_0F38C8) }, 522 { Bad_Opcode }, 523 { PREFIX_TABLE (PREFIX_EVEX_0F38CA) }, 524 { PREFIX_TABLE (PREFIX_EVEX_0F38CB) }, 525 { PREFIX_TABLE (PREFIX_EVEX_0F38CC) }, 526 { PREFIX_TABLE (PREFIX_EVEX_0F38CD) }, 527 { Bad_Opcode }, 528 { PREFIX_TABLE (PREFIX_EVEX_0F38CF) }, 529 /* D0 */ 530 { Bad_Opcode }, 531 { Bad_Opcode }, 532 { Bad_Opcode }, 533 { Bad_Opcode }, 534 { Bad_Opcode }, 535 { Bad_Opcode }, 536 { Bad_Opcode }, 537 { Bad_Opcode }, 538 /* D8 */ 539 { Bad_Opcode }, 540 { Bad_Opcode }, 541 { Bad_Opcode }, 542 { Bad_Opcode }, 543 { PREFIX_TABLE (PREFIX_EVEX_0F38DC) }, 544 { PREFIX_TABLE (PREFIX_EVEX_0F38DD) }, 545 { PREFIX_TABLE (PREFIX_EVEX_0F38DE) }, 546 { PREFIX_TABLE (PREFIX_EVEX_0F38DF) }, 547 /* E0 */ 548 { Bad_Opcode }, 549 { Bad_Opcode }, 550 { Bad_Opcode }, 551 { Bad_Opcode }, 552 { Bad_Opcode }, 553 { Bad_Opcode }, 554 { Bad_Opcode }, 555 { Bad_Opcode }, 556 /* E8 */ 557 { Bad_Opcode }, 558 { Bad_Opcode }, 559 { Bad_Opcode }, 560 { Bad_Opcode }, 561 { Bad_Opcode }, 562 { Bad_Opcode }, 563 { Bad_Opcode }, 564 { Bad_Opcode }, 565 /* F0 */ 566 { Bad_Opcode }, 567 { Bad_Opcode }, 568 { Bad_Opcode }, 569 { Bad_Opcode }, 570 { Bad_Opcode }, 571 { Bad_Opcode }, 572 { Bad_Opcode }, 573 { Bad_Opcode }, 574 /* F8 */ 575 { Bad_Opcode }, 576 { Bad_Opcode }, 577 { Bad_Opcode }, 578 { Bad_Opcode }, 579 { Bad_Opcode }, 580 { Bad_Opcode }, 581 { Bad_Opcode }, 582 { Bad_Opcode }, 583 }, 584 /* EVEX_0F3A */ 585 { 586 /* 00 */ 587 { PREFIX_TABLE (PREFIX_EVEX_0F3A00) }, 588 { PREFIX_TABLE (PREFIX_EVEX_0F3A01) }, 589 { Bad_Opcode }, 590 { PREFIX_TABLE (PREFIX_EVEX_0F3A03) }, 591 { PREFIX_TABLE (PREFIX_EVEX_0F3A04) }, 592 { PREFIX_TABLE (PREFIX_EVEX_0F3A05) }, 593 { Bad_Opcode }, 594 { Bad_Opcode }, 595 /* 08 */ 596 { PREFIX_TABLE (PREFIX_EVEX_0F3A08) }, 597 { PREFIX_TABLE (PREFIX_EVEX_0F3A09) }, 598 { PREFIX_TABLE (PREFIX_EVEX_0F3A0A) }, 599 { PREFIX_TABLE (PREFIX_EVEX_0F3A0B) }, 600 { Bad_Opcode }, 601 { Bad_Opcode }, 602 { Bad_Opcode }, 603 { PREFIX_TABLE (PREFIX_EVEX_0F3A0F) }, 604 /* 10 */ 605 { Bad_Opcode }, 606 { Bad_Opcode }, 607 { Bad_Opcode }, 608 { Bad_Opcode }, 609 { PREFIX_TABLE (PREFIX_EVEX_0F3A14) }, 610 { PREFIX_TABLE (PREFIX_EVEX_0F3A15) }, 611 { PREFIX_TABLE (PREFIX_EVEX_0F3A16) }, 612 { PREFIX_TABLE (PREFIX_EVEX_0F3A17) }, 613 /* 18 */ 614 { PREFIX_TABLE (PREFIX_EVEX_0F3A18) }, 615 { PREFIX_TABLE (PREFIX_EVEX_0F3A19) }, 616 { PREFIX_TABLE (PREFIX_EVEX_0F3A1A) }, 617 { PREFIX_TABLE (PREFIX_EVEX_0F3A1B) }, 618 { Bad_Opcode }, 619 { PREFIX_TABLE (PREFIX_EVEX_0F3A1D) }, 620 { PREFIX_TABLE (PREFIX_EVEX_0F3A1E) }, 621 { PREFIX_TABLE (PREFIX_EVEX_0F3A1F) }, 622 /* 20 */ 623 { PREFIX_TABLE (PREFIX_EVEX_0F3A20) }, 624 { PREFIX_TABLE (PREFIX_EVEX_0F3A21) }, 625 { PREFIX_TABLE (PREFIX_EVEX_0F3A22) }, 626 { PREFIX_TABLE (PREFIX_EVEX_0F3A23) }, 627 { Bad_Opcode }, 628 { PREFIX_TABLE (PREFIX_EVEX_0F3A25) }, 629 { PREFIX_TABLE (PREFIX_EVEX_0F3A26) }, 630 { PREFIX_TABLE (PREFIX_EVEX_0F3A27) }, 631 /* 28 */ 632 { Bad_Opcode }, 633 { Bad_Opcode }, 634 { Bad_Opcode }, 635 { Bad_Opcode }, 636 { Bad_Opcode }, 637 { Bad_Opcode }, 638 { Bad_Opcode }, 639 { Bad_Opcode }, 640 /* 30 */ 641 { Bad_Opcode }, 642 { Bad_Opcode }, 643 { Bad_Opcode }, 644 { Bad_Opcode }, 645 { Bad_Opcode }, 646 { Bad_Opcode }, 647 { Bad_Opcode }, 648 { Bad_Opcode }, 649 /* 38 */ 650 { PREFIX_TABLE (PREFIX_EVEX_0F3A38) }, 651 { PREFIX_TABLE (PREFIX_EVEX_0F3A39) }, 652 { PREFIX_TABLE (PREFIX_EVEX_0F3A3A) }, 653 { PREFIX_TABLE (PREFIX_EVEX_0F3A3B) }, 654 { Bad_Opcode }, 655 { Bad_Opcode }, 656 { PREFIX_TABLE (PREFIX_EVEX_0F3A3E) }, 657 { PREFIX_TABLE (PREFIX_EVEX_0F3A3F) }, 658 /* 40 */ 659 { Bad_Opcode }, 660 { Bad_Opcode }, 661 { PREFIX_TABLE (PREFIX_EVEX_0F3A42) }, 662 { PREFIX_TABLE (PREFIX_EVEX_0F3A43) }, 663 { PREFIX_TABLE (PREFIX_EVEX_0F3A44) }, 664 { Bad_Opcode }, 665 { Bad_Opcode }, 666 { Bad_Opcode }, 667 /* 48 */ 668 { Bad_Opcode }, 669 { Bad_Opcode }, 670 { Bad_Opcode }, 671 { Bad_Opcode }, 672 { Bad_Opcode }, 673 { Bad_Opcode }, 674 { Bad_Opcode }, 675 { Bad_Opcode }, 676 /* 50 */ 677 { PREFIX_TABLE (PREFIX_EVEX_0F3A50) }, 678 { PREFIX_TABLE (PREFIX_EVEX_0F3A51) }, 679 { Bad_Opcode }, 680 { Bad_Opcode }, 681 { PREFIX_TABLE (PREFIX_EVEX_0F3A54) }, 682 { PREFIX_TABLE (PREFIX_EVEX_0F3A55) }, 683 { PREFIX_TABLE (PREFIX_EVEX_0F3A56) }, 684 { PREFIX_TABLE (PREFIX_EVEX_0F3A57) }, 685 /* 58 */ 686 { Bad_Opcode }, 687 { Bad_Opcode }, 688 { Bad_Opcode }, 689 { Bad_Opcode }, 690 { Bad_Opcode }, 691 { Bad_Opcode }, 692 { Bad_Opcode }, 693 { Bad_Opcode }, 694 /* 60 */ 695 { Bad_Opcode }, 696 { Bad_Opcode }, 697 { Bad_Opcode }, 698 { Bad_Opcode }, 699 { Bad_Opcode }, 700 { Bad_Opcode }, 701 { PREFIX_TABLE (PREFIX_EVEX_0F3A66) }, 702 { PREFIX_TABLE (PREFIX_EVEX_0F3A67) }, 703 /* 68 */ 704 { Bad_Opcode }, 705 { Bad_Opcode }, 706 { Bad_Opcode }, 707 { Bad_Opcode }, 708 { Bad_Opcode }, 709 { Bad_Opcode }, 710 { Bad_Opcode }, 711 { Bad_Opcode }, 712 /* 70 */ 713 { PREFIX_TABLE (PREFIX_EVEX_0F3A70) }, 714 { PREFIX_TABLE (PREFIX_EVEX_0F3A71) }, 715 { PREFIX_TABLE (PREFIX_EVEX_0F3A72) }, 716 { PREFIX_TABLE (PREFIX_EVEX_0F3A73) }, 717 { Bad_Opcode }, 718 { Bad_Opcode }, 719 { Bad_Opcode }, 720 { Bad_Opcode }, 721 /* 78 */ 722 { Bad_Opcode }, 723 { Bad_Opcode }, 724 { Bad_Opcode }, 725 { Bad_Opcode }, 726 { Bad_Opcode }, 727 { Bad_Opcode }, 728 { Bad_Opcode }, 729 { Bad_Opcode }, 730 /* 80 */ 731 { Bad_Opcode }, 732 { Bad_Opcode }, 733 { Bad_Opcode }, 734 { Bad_Opcode }, 735 { Bad_Opcode }, 736 { Bad_Opcode }, 737 { Bad_Opcode }, 738 { Bad_Opcode }, 739 /* 88 */ 740 { Bad_Opcode }, 741 { Bad_Opcode }, 742 { Bad_Opcode }, 743 { Bad_Opcode }, 744 { Bad_Opcode }, 745 { Bad_Opcode }, 746 { Bad_Opcode }, 747 { Bad_Opcode }, 748 /* 90 */ 749 { Bad_Opcode }, 750 { Bad_Opcode }, 751 { Bad_Opcode }, 752 { Bad_Opcode }, 753 { Bad_Opcode }, 754 { Bad_Opcode }, 755 { Bad_Opcode }, 756 { Bad_Opcode }, 757 /* 98 */ 758 { Bad_Opcode }, 759 { Bad_Opcode }, 760 { Bad_Opcode }, 761 { Bad_Opcode }, 762 { Bad_Opcode }, 763 { Bad_Opcode }, 764 { Bad_Opcode }, 765 { Bad_Opcode }, 766 /* A0 */ 767 { Bad_Opcode }, 768 { Bad_Opcode }, 769 { Bad_Opcode }, 770 { Bad_Opcode }, 771 { Bad_Opcode }, 772 { Bad_Opcode }, 773 { Bad_Opcode }, 774 { Bad_Opcode }, 775 /* A8 */ 776 { Bad_Opcode }, 777 { Bad_Opcode }, 778 { Bad_Opcode }, 779 { Bad_Opcode }, 780 { Bad_Opcode }, 781 { Bad_Opcode }, 782 { Bad_Opcode }, 783 { Bad_Opcode }, 784 /* B0 */ 785 { Bad_Opcode }, 786 { Bad_Opcode }, 787 { Bad_Opcode }, 788 { Bad_Opcode }, 789 { Bad_Opcode }, 790 { Bad_Opcode }, 791 { Bad_Opcode }, 792 { Bad_Opcode }, 793 /* B8 */ 794 { Bad_Opcode }, 795 { Bad_Opcode }, 796 { Bad_Opcode }, 797 { Bad_Opcode }, 798 { Bad_Opcode }, 799 { Bad_Opcode }, 800 { Bad_Opcode }, 801 { Bad_Opcode }, 802 /* C0 */ 803 { Bad_Opcode }, 804 { Bad_Opcode }, 805 { Bad_Opcode }, 806 { Bad_Opcode }, 807 { Bad_Opcode }, 808 { Bad_Opcode }, 809 { Bad_Opcode }, 810 { Bad_Opcode }, 811 /* C8 */ 812 { Bad_Opcode }, 813 { Bad_Opcode }, 814 { Bad_Opcode }, 815 { Bad_Opcode }, 816 { Bad_Opcode }, 817 { Bad_Opcode }, 818 { PREFIX_TABLE (PREFIX_EVEX_0F3ACE) }, 819 { PREFIX_TABLE (PREFIX_EVEX_0F3ACF) }, 820 /* D0 */ 821 { Bad_Opcode }, 822 { Bad_Opcode }, 823 { Bad_Opcode }, 824 { Bad_Opcode }, 825 { Bad_Opcode }, 826 { Bad_Opcode }, 827 { Bad_Opcode }, 828 { Bad_Opcode }, 829 /* D8 */ 830 { Bad_Opcode }, 831 { Bad_Opcode }, 832 { Bad_Opcode }, 833 { Bad_Opcode }, 834 { Bad_Opcode }, 835 { Bad_Opcode }, 836 { Bad_Opcode }, 837 { Bad_Opcode }, 838 /* E0 */ 839 { Bad_Opcode }, 840 { Bad_Opcode }, 841 { Bad_Opcode }, 842 { Bad_Opcode }, 843 { Bad_Opcode }, 844 { Bad_Opcode }, 845 { Bad_Opcode }, 846 { Bad_Opcode }, 847 /* E8 */ 848 { Bad_Opcode }, 849 { Bad_Opcode }, 850 { Bad_Opcode }, 851 { Bad_Opcode }, 852 { Bad_Opcode }, 853 { Bad_Opcode }, 854 { Bad_Opcode }, 855 { Bad_Opcode }, 856 /* F0 */ 857 { Bad_Opcode }, 858 { Bad_Opcode }, 859 { Bad_Opcode }, 860 { Bad_Opcode }, 861 { Bad_Opcode }, 862 { Bad_Opcode }, 863 { Bad_Opcode }, 864 { Bad_Opcode }, 865 /* F8 */ 866 { Bad_Opcode }, 867 { Bad_Opcode }, 868 { Bad_Opcode }, 869 { Bad_Opcode }, 870 { Bad_Opcode }, 871 { Bad_Opcode }, 872 { Bad_Opcode }, 873 { Bad_Opcode }, 874 }, 875 }; 876