1static 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_0F10) }, 24 { PREFIX_TABLE (PREFIX_0F11) }, 25 { PREFIX_TABLE (PREFIX_VEX_0F12) }, 26 { VEX_LEN_TABLE (VEX_LEN_0F13) }, 27 { "%XEvunpcklpX", { XM, Vex, EXx }, PREFIX_OPCODE }, 28 { "%XEvunpckhpX", { XM, Vex, EXx }, PREFIX_OPCODE }, 29 { PREFIX_TABLE (PREFIX_VEX_0F16) }, 30 { VEX_LEN_TABLE (VEX_LEN_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 { "%XEvmovapX", { XM, EXx }, PREFIX_OPCODE }, 51 { "%XEvmovapX", { EXxS, XM }, PREFIX_OPCODE }, 52 { PREFIX_TABLE (PREFIX_VEX_0F2A) }, 53 { "%XEvmovntpX", { Mx, XM }, PREFIX_OPCODE }, 54 { PREFIX_TABLE (PREFIX_VEX_0F2C) }, 55 { PREFIX_TABLE (PREFIX_VEX_0F2D) }, 56 { PREFIX_TABLE (PREFIX_0F2E) }, 57 { PREFIX_TABLE (PREFIX_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_0F51) }, 97 { Bad_Opcode }, 98 { Bad_Opcode }, 99 { "%XEvandpX", { XM, Vex, EXx }, PREFIX_OPCODE }, 100 { "%XEvandnpX", { XM, Vex, EXx }, PREFIX_OPCODE }, 101 { "%XEvorpX", { XM, Vex, EXx }, PREFIX_OPCODE }, 102 { "%XEvxorpX", { XM, Vex, EXx }, PREFIX_OPCODE }, 103 /* 58 */ 104 { PREFIX_TABLE (PREFIX_0F58) }, 105 { PREFIX_TABLE (PREFIX_0F59) }, 106 { PREFIX_TABLE (PREFIX_0F5A) }, 107 { PREFIX_TABLE (PREFIX_EVEX_0F5B) }, 108 { PREFIX_TABLE (PREFIX_0F5C) }, 109 { PREFIX_TABLE (PREFIX_0F5D) }, 110 { PREFIX_TABLE (PREFIX_0F5E) }, 111 { PREFIX_TABLE (PREFIX_0F5F) }, 112 /* 60 */ 113 { "%XEvpunpcklbw", { XM, Vex, EXx }, PREFIX_DATA }, 114 { "%XEvpunpcklwd", { XM, Vex, EXx }, PREFIX_DATA }, 115 { VEX_W_TABLE (EVEX_W_0F62) }, 116 { "%XEvpacksswb", { XM, Vex, EXx }, PREFIX_DATA }, 117 { "vpcmpgtb", { MaskG, Vex, EXx }, PREFIX_DATA }, 118 { "vpcmpgtw", { MaskG, Vex, EXx }, PREFIX_DATA }, 119 { VEX_W_TABLE (EVEX_W_0F66) }, 120 { "%XEvpackuswb", { XM, Vex, EXx }, PREFIX_DATA }, 121 /* 68 */ 122 { "%XEvpunpckhbw", { XM, Vex, EXx }, PREFIX_DATA }, 123 { "%XEvpunpckhwd", { XM, Vex, EXx }, PREFIX_DATA }, 124 { VEX_W_TABLE (EVEX_W_0F6A) }, 125 { VEX_W_TABLE (EVEX_W_0F6B) }, 126 { VEX_W_TABLE (EVEX_W_0F6C) }, 127 { VEX_W_TABLE (EVEX_W_0F6D) }, 128 { VEX_LEN_TABLE (VEX_LEN_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 { "vpcmpeqb", { MaskG, Vex, EXx }, PREFIX_DATA }, 136 { "vpcmpeqw", { MaskG, Vex, EXx }, PREFIX_DATA }, 137 { VEX_W_TABLE (EVEX_W_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 { X86_64_EVEX_FROM_VEX_TABLE (X86_64_EVEX_0F90) }, 168 { X86_64_EVEX_FROM_VEX_TABLE (X86_64_EVEX_0F91) }, 169 { X86_64_EVEX_FROM_VEX_TABLE (X86_64_EVEX_0F92) }, 170 { X86_64_EVEX_FROM_VEX_TABLE (X86_64_EVEX_0F93) }, 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 { VEX_LEN_TABLE (VEX_LEN_0FC4) }, 226 { "%XEvpextrw", { Gd, Uxmm, Ib }, PREFIX_DATA }, 227 { "%XEvshufpX", { XM, Vex, EXx, Ib }, PREFIX_OPCODE }, 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 { "%XEvpsrlw", { XM, Vex, EXxmm }, PREFIX_DATA }, 241 { VEX_W_TABLE (EVEX_W_0FD2) }, 242 { VEX_W_TABLE (EVEX_W_0FD3) }, 243 { VEX_W_TABLE (EVEX_W_0FD4) }, 244 { "%XEvpmullw", { XM, Vex, EXx }, PREFIX_DATA }, 245 { VEX_W_TABLE (EVEX_W_0FD6) }, 246 { Bad_Opcode }, 247 /* D8 */ 248 { "%XEvpsubusb", { XM, Vex, EXx }, PREFIX_DATA }, 249 { "%XEvpsubusw", { XM, Vex, EXx }, PREFIX_DATA }, 250 { "%XEvpminub", { XM, Vex, EXx }, PREFIX_DATA }, 251 { "vpand%DQ", { XM, Vex, EXx }, PREFIX_DATA }, 252 { "%XEvpaddusb", { XM, Vex, EXx }, PREFIX_DATA }, 253 { "%XEvpaddusw", { XM, Vex, EXx }, PREFIX_DATA }, 254 { "%XEvpmaxub", { XM, Vex, EXx }, PREFIX_DATA }, 255 { "vpandn%DQ", { XM, Vex, EXx }, PREFIX_DATA }, 256 /* E0 */ 257 { "%XEvpavgb", { XM, Vex, EXx }, PREFIX_DATA }, 258 { "%XEvpsraw", { XM, Vex, EXxmm }, PREFIX_DATA }, 259 { "%XEvpsra%DQ", { XM, Vex, EXxmm }, PREFIX_DATA }, 260 { "%XEvpavgw", { XM, Vex, EXx }, PREFIX_DATA }, 261 { "%XEvpmulhuw", { XM, Vex, EXx }, PREFIX_DATA }, 262 { "%XEvpmulhw", { XM, Vex, EXx }, PREFIX_DATA }, 263 { PREFIX_TABLE (PREFIX_EVEX_0FE6) }, 264 { VEX_W_TABLE (EVEX_W_0FE7) }, 265 /* E8 */ 266 { "%XEvpsubsb", { XM, Vex, EXx }, PREFIX_DATA }, 267 { "%XEvpsubsw", { XM, Vex, EXx }, PREFIX_DATA }, 268 { "%XEvpminsw", { XM, Vex, EXx }, PREFIX_DATA }, 269 { "vpor%DQ", { XM, Vex, EXx }, PREFIX_DATA }, 270 { "%XEvpaddsb", { XM, Vex, EXx }, PREFIX_DATA }, 271 { "%XEvpaddsw", { XM, Vex, EXx }, PREFIX_DATA }, 272 { "%XEvpmaxsw", { XM, Vex, EXx }, PREFIX_DATA }, 273 { "vpxor%DQ", { XM, Vex, EXx }, PREFIX_DATA }, 274 /* F0 */ 275 { Bad_Opcode }, 276 { "%XEvpsllw", { XM, Vex, EXxmm }, PREFIX_DATA }, 277 { VEX_W_TABLE (EVEX_W_0FF2) }, 278 { VEX_W_TABLE (EVEX_W_0FF3) }, 279 { VEX_W_TABLE (EVEX_W_0FF4) }, 280 { "%XEvpmaddwd", { XM, Vex, EXx }, PREFIX_DATA }, 281 { "%XEvpsadbwY", { XM, Vex, EXx }, PREFIX_DATA }, 282 { Bad_Opcode }, 283 /* F8 */ 284 { "%XEvpsubb", { XM, Vex, EXx }, PREFIX_DATA }, 285 { "%XEvpsubw", { XM, Vex, EXx }, PREFIX_DATA }, 286 { VEX_W_TABLE (EVEX_W_0FFA) }, 287 { VEX_W_TABLE (EVEX_W_0FFB) }, 288 { "%XEvpaddb", { XM, Vex, EXx }, PREFIX_DATA }, 289 { "%XEvpaddw", { XM, Vex, EXx }, PREFIX_DATA }, 290 { VEX_W_TABLE (EVEX_W_0FFE) }, 291 { Bad_Opcode }, 292 }, 293 /* EVEX_0F38 */ 294 { 295 /* 00 */ 296 { "%XEvpshufb", { XM, Vex, EXx }, PREFIX_DATA }, 297 { Bad_Opcode }, 298 { Bad_Opcode }, 299 { Bad_Opcode }, 300 { "%XEvpmaddubsw", { XM, Vex, EXx }, PREFIX_DATA }, 301 { Bad_Opcode }, 302 { Bad_Opcode }, 303 { Bad_Opcode }, 304 /* 08 */ 305 { Bad_Opcode }, 306 { Bad_Opcode }, 307 { Bad_Opcode }, 308 { "%XEvpmulhrsw", { XM, Vex, EXx }, PREFIX_DATA }, 309 { VEX_W_TABLE (VEX_W_0F380C) }, 310 { "%XEvpermilp%XD", { XM, Vex, EXx }, PREFIX_DATA }, 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 { EVEX_LEN_TABLE (EVEX_LEN_0F3816) }, 321 { Bad_Opcode }, 322 /* 18 */ 323 { VEX_W_TABLE (VEX_W_0F3818) }, 324 { EVEX_LEN_TABLE (EVEX_LEN_0F3819) }, 325 { EVEX_LEN_TABLE (EVEX_LEN_0F381A) }, 326 { EVEX_LEN_TABLE (EVEX_LEN_0F381B) }, 327 { "%XEvpabsb", { XM, EXx }, PREFIX_DATA }, 328 { "%XEvpabsw", { XM, EXx }, PREFIX_DATA }, 329 { VEX_W_TABLE (EVEX_W_0F381E) }, 330 { VEX_W_TABLE (EVEX_W_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 { VEX_W_TABLE (EVEX_W_0F382B) }, 345 { "vscalefp%XW", { XM, Vex, EXx, EXxEVexR }, PREFIX_DATA }, 346 { "vscalefs%XW", { XMScalar, VexScalar, EXdq, EXxEVexR }, PREFIX_DATA }, 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 { EVEX_LEN_TABLE (EVEX_LEN_0F3836) }, 357 { VEX_W_TABLE (EVEX_W_0F3837) }, 358 /* 38 */ 359 { PREFIX_TABLE (PREFIX_EVEX_0F3838) }, 360 { PREFIX_TABLE (PREFIX_EVEX_0F3839) }, 361 { PREFIX_TABLE (PREFIX_EVEX_0F383A) }, 362 { "%XEvpminu%DQ", { XM, Vex, EXx }, PREFIX_DATA }, 363 { "%XEvpmaxsb", { XM, Vex, EXx }, PREFIX_DATA }, 364 { "%XEvpmaxs%DQ", { XM, Vex, EXx }, PREFIX_DATA }, 365 { "%XEvpmaxuw", { XM, Vex, EXx }, PREFIX_DATA }, 366 { "%XEvpmaxu%DQ", { XM, Vex, EXx }, PREFIX_DATA }, 367 /* 40 */ 368 { "%XEvpmull%DQ", { XM, Vex, EXx }, PREFIX_DATA }, 369 { Bad_Opcode }, 370 { "vgetexpp%XW", { XM, EXx, EXxEVexS }, PREFIX_DATA }, 371 { "vgetexps%XW", { XMScalar, VexScalar, EXdq, EXxEVexS }, PREFIX_DATA }, 372 { "vplzcnt%DQ", { XM, EXx }, PREFIX_DATA }, 373 { "vpsrlv%DQ", { XM, Vex, EXx }, PREFIX_DATA }, 374 { "vpsrav%DQ", { XM, Vex, EXx }, PREFIX_DATA }, 375 { "vpsllv%DQ", { XM, Vex, EXx }, PREFIX_DATA }, 376 /* 48 */ 377 { Bad_Opcode }, 378 { X86_64_EVEX_FROM_VEX_TABLE (X86_64_VEX_0F3849) }, 379 { Bad_Opcode }, 380 { X86_64_EVEX_FROM_VEX_TABLE (X86_64_VEX_0F384B) }, 381 { "vrcp14p%XW", { XM, EXx }, PREFIX_DATA }, 382 { "vrcp14s%XW", { XMScalar, VexScalar, EXdq }, PREFIX_DATA }, 383 { "vrsqrt14p%XW", { XM, EXx }, 0 }, 384 { "vrsqrt14s%XW", { XMScalar, VexScalar, EXdq }, PREFIX_DATA }, 385 /* 50 */ 386 { VEX_W_TABLE (VEX_W_0F3850) }, 387 { VEX_W_TABLE (VEX_W_0F3851) }, 388 { PREFIX_TABLE (PREFIX_EVEX_0F3852) }, 389 { PREFIX_TABLE (PREFIX_EVEX_0F3853) }, 390 { "vpopcnt%BW", { XM, EXx }, PREFIX_DATA }, 391 { "vpopcnt%DQ", { XM, EXx }, PREFIX_DATA }, 392 { Bad_Opcode }, 393 { Bad_Opcode }, 394 /* 58 */ 395 { VEX_W_TABLE (VEX_W_0F3858) }, 396 { VEX_W_TABLE (EVEX_W_0F3859) }, 397 { EVEX_LEN_TABLE (EVEX_LEN_0F385A) }, 398 { EVEX_LEN_TABLE (EVEX_LEN_0F385B) }, 399 { Bad_Opcode }, 400 { Bad_Opcode }, 401 { Bad_Opcode }, 402 { Bad_Opcode }, 403 /* 60 */ 404 { Bad_Opcode }, 405 { Bad_Opcode }, 406 { "vpexpand%BW", { XM, EXbwUnit }, PREFIX_DATA }, 407 { "vpcompress%BW", { EXbwUnit, XM }, PREFIX_DATA }, 408 { "vpblendm%DQ", { XM, Vex, EXx }, PREFIX_DATA }, 409 { "vblendmp%XW", { XM, Vex, EXx }, PREFIX_DATA }, 410 { "vpblendm%BW", { XM, Vex, EXx }, PREFIX_DATA }, 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 { VEX_W_TABLE (EVEX_W_0F3870) }, 423 { "vpshldv%DQ", { XM, Vex, EXx }, PREFIX_DATA }, 424 { PREFIX_TABLE (PREFIX_EVEX_0F3872) }, 425 { "vpshrdv%DQ", { XM, Vex, EXx }, PREFIX_DATA }, 426 { Bad_Opcode }, 427 { "vpermi2%BW", { XM, Vex, EXx }, PREFIX_DATA }, 428 { "vpermi2%DQ", { XM, Vex, EXx }, PREFIX_DATA }, 429 { "vpermi2p%XW", { XM, Vex, EXx }, PREFIX_DATA }, 430 /* 78 */ 431 { VEX_W_TABLE (VEX_W_0F3878) }, 432 { VEX_W_TABLE (VEX_W_0F3879) }, 433 { VEX_W_TABLE (EVEX_W_0F387A) }, 434 { VEX_W_TABLE (EVEX_W_0F387B) }, 435 { "vpbroadcastK", { XM, Rdq }, PREFIX_DATA }, 436 { "vpermt2%BW", { XM, Vex, EXx }, PREFIX_DATA }, 437 { "vpermt2%DQ", { XM, Vex, EXx }, PREFIX_DATA }, 438 { "vpermt2p%XW", { XM, Vex, EXx }, PREFIX_DATA }, 439 /* 80 */ 440 { Bad_Opcode }, 441 { Bad_Opcode }, 442 { Bad_Opcode }, 443 { VEX_W_TABLE (EVEX_W_0F3883) }, 444 { Bad_Opcode }, 445 { Bad_Opcode }, 446 { Bad_Opcode }, 447 { Bad_Opcode }, 448 /* 88 */ 449 { "vexpandp%XW", { XM, EXEvexXGscat }, PREFIX_DATA }, 450 { "vpexpand%DQ", { XM, EXEvexXGscat }, PREFIX_DATA }, 451 { "vcompressp%XW", { EXEvexXGscat, XM }, PREFIX_DATA }, 452 { "vpcompress%DQ", { EXEvexXGscat, XM }, PREFIX_DATA }, 453 { Bad_Opcode }, 454 { "vperm%BW", { XM, Vex, EXx }, PREFIX_DATA }, 455 { Bad_Opcode }, 456 { "vpshufbitqmb", { MaskG, Vex, EXx }, PREFIX_DATA }, 457 /* 90 */ 458 { "vpgatherd%DQ", { XMGatherD, MVexVSIBDWpX }, PREFIX_DATA }, 459 { "vpgatherq%DQ", { XMGatherQ, MVexVSIBQWpX }, PREFIX_DATA }, 460 { "vgatherdp%XW", { XMGatherD, MVexVSIBDWpX }, PREFIX_DATA }, 461 { "vgatherqp%XW", { XMGatherQ, MVexVSIBQWpX }, PREFIX_DATA }, 462 { Bad_Opcode }, 463 { Bad_Opcode }, 464 { "%XEvfmaddsub132p%XW", { XM, Vex, EXx, EXxEVexR }, PREFIX_DATA }, 465 { "%XEvfmsubadd132p%XW", { XM, Vex, EXx, EXxEVexR }, PREFIX_DATA }, 466 /* 98 */ 467 { "%XEvfmadd132p%XW", { XM, Vex, EXx, EXxEVexR }, PREFIX_DATA }, 468 { "%XEvfmadd132s%XW", { XMScalar, VexScalar, EXdq, EXxEVexR }, PREFIX_DATA }, 469 { PREFIX_TABLE (PREFIX_EVEX_0F389A) }, 470 { PREFIX_TABLE (PREFIX_EVEX_0F389B) }, 471 { "%XEvfnmadd132p%XW", { XM, Vex, EXx, EXxEVexR }, PREFIX_DATA }, 472 { "%XEvfnmadd132s%XW", { XMScalar, VexScalar, EXdq, EXxEVexR }, PREFIX_DATA }, 473 { "%XEvfnmsub132p%XW", { XM, Vex, EXx, EXxEVexR }, PREFIX_DATA }, 474 { "%XEvfnmsub132s%XW", { XMScalar, VexScalar, EXdq, EXxEVexR }, PREFIX_DATA }, 475 /* A0 */ 476 { "vpscatterd%DQ", { MVexVSIBDWpX, XM }, PREFIX_DATA }, 477 { "vpscatterq%DQ", { MVexVSIBQWpX, XMGatherQ }, PREFIX_DATA }, 478 { "vscatterdp%XW", { MVexVSIBDWpX, XM }, PREFIX_DATA }, 479 { "vscatterqp%XW", { MVexVSIBQWpX, XMGatherQ }, PREFIX_DATA }, 480 { Bad_Opcode }, 481 { Bad_Opcode }, 482 { "%XEvfmaddsub213p%XW", { XM, Vex, EXx, EXxEVexR }, PREFIX_DATA }, 483 { "%XEvfmsubadd213p%XW", { XM, Vex, EXx, EXxEVexR }, PREFIX_DATA }, 484 /* A8 */ 485 { "%XEvfmadd213p%XW", { XM, Vex, EXx, EXxEVexR }, PREFIX_DATA }, 486 { "%XEvfmadd213s%XW", { XMScalar, VexScalar, EXdq, EXxEVexR }, PREFIX_DATA }, 487 { PREFIX_TABLE (PREFIX_EVEX_0F38AA) }, 488 { PREFIX_TABLE (PREFIX_EVEX_0F38AB) }, 489 { "%XEvfnmadd213p%XW", { XM, Vex, EXx, EXxEVexR }, PREFIX_DATA }, 490 { "%XEvfnmadd213s%XW", { XMScalar, VexScalar, EXdq, EXxEVexR }, PREFIX_DATA }, 491 { "%XEvfnmsub213p%XW", { XM, Vex, EXx, EXxEVexR }, PREFIX_DATA }, 492 { "%XEvfnmsub213s%XW", { XMScalar, VexScalar, EXdq, EXxEVexR }, PREFIX_DATA }, 493 /* B0 */ 494 { Bad_Opcode }, 495 { Bad_Opcode }, 496 { Bad_Opcode }, 497 { Bad_Opcode }, 498 { VEX_W_TABLE (VEX_W_0F38B4) }, 499 { VEX_W_TABLE (VEX_W_0F38B5) }, 500 { "%XEvfmaddsub231p%XW", { XM, Vex, EXx, EXxEVexR }, PREFIX_DATA }, 501 { "%XEvfmsubadd231p%XW", { XM, Vex, EXx, EXxEVexR }, PREFIX_DATA }, 502 /* B8 */ 503 { "%XEvfmadd231p%XW", { XM, Vex, EXx, EXxEVexR }, PREFIX_DATA }, 504 { "%XEvfmadd231s%XW", { XMScalar, VexScalar, EXdq, EXxEVexR }, PREFIX_DATA }, 505 { "%XEvfmsub231p%XW", { XM, Vex, EXx, EXxEVexR }, PREFIX_DATA }, 506 { "%XEvfmsub231s%XW", { XMScalar, VexScalar, EXdq, EXxEVexR }, PREFIX_DATA }, 507 { "%XEvfnmadd231p%XW", { XM, Vex, EXx, EXxEVexR }, PREFIX_DATA }, 508 { "%XEvfnmadd231s%XW", { XMScalar, VexScalar, EXdq, EXxEVexR }, PREFIX_DATA }, 509 { "%XEvfnmsub231p%XW", { XM, Vex, EXx, EXxEVexR }, PREFIX_DATA }, 510 { "%XEvfnmsub231s%XW", { XMScalar, VexScalar, EXdq, EXxEVexR }, PREFIX_DATA }, 511 /* C0 */ 512 { Bad_Opcode }, 513 { Bad_Opcode }, 514 { Bad_Opcode }, 515 { Bad_Opcode }, 516 { "vpconflict%DQ", { XM, EXx }, PREFIX_DATA }, 517 { Bad_Opcode }, 518 { EVEX_LEN_TABLE (EVEX_LEN_0F38C6) }, 519 { EVEX_LEN_TABLE (EVEX_LEN_0F38C7) }, 520 /* C8 */ 521 { "vexp2p%XW", { XM, EXx, EXxEVexS }, PREFIX_DATA }, 522 { Bad_Opcode }, 523 { "vrcp28p%XW", { XM, EXx, EXxEVexS }, PREFIX_DATA }, 524 { "vrcp28s%XW", { XMScalar, VexScalar, EXdq, EXxEVexS }, PREFIX_DATA }, 525 { "vrsqrt28p%XW", { XM, EXx, EXxEVexS }, PREFIX_DATA }, 526 { "vrsqrt28s%XW", { XMScalar, VexScalar, EXdq, EXxEVexS }, PREFIX_DATA }, 527 { Bad_Opcode }, 528 { VEX_W_TABLE (VEX_W_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 { "%XEvaesencY", { XM, Vex, EXx }, PREFIX_DATA }, 544 { "%XEvaesenclastY", { XM, Vex, EXx }, PREFIX_DATA }, 545 { "%XEvaesdecY", { XM, Vex, EXx }, PREFIX_DATA }, 546 { "%XEvaesdeclastY", { XM, Vex, EXx }, PREFIX_DATA }, 547 /* E0 */ 548 { X86_64_EVEX_FROM_VEX_TABLE (X86_64_VEX_0F38E0) }, 549 { X86_64_EVEX_FROM_VEX_TABLE (X86_64_VEX_0F38E1) }, 550 { X86_64_EVEX_FROM_VEX_TABLE (X86_64_VEX_0F38E2) }, 551 { X86_64_EVEX_FROM_VEX_TABLE (X86_64_VEX_0F38E3) }, 552 { X86_64_EVEX_FROM_VEX_TABLE (X86_64_VEX_0F38E4) }, 553 { X86_64_EVEX_FROM_VEX_TABLE (X86_64_VEX_0F38E5) }, 554 { X86_64_EVEX_FROM_VEX_TABLE (X86_64_VEX_0F38E6) }, 555 { X86_64_EVEX_FROM_VEX_TABLE (X86_64_VEX_0F38E7) }, 556 /* E8 */ 557 { X86_64_EVEX_FROM_VEX_TABLE (X86_64_VEX_0F38E8) }, 558 { X86_64_EVEX_FROM_VEX_TABLE (X86_64_VEX_0F38E9) }, 559 { X86_64_EVEX_FROM_VEX_TABLE (X86_64_VEX_0F38EA) }, 560 { X86_64_EVEX_FROM_VEX_TABLE (X86_64_VEX_0F38EB) }, 561 { X86_64_EVEX_FROM_VEX_TABLE (X86_64_VEX_0F38EC) }, 562 { X86_64_EVEX_FROM_VEX_TABLE (X86_64_VEX_0F38ED) }, 563 { X86_64_EVEX_FROM_VEX_TABLE (X86_64_VEX_0F38EE) }, 564 { X86_64_EVEX_FROM_VEX_TABLE (X86_64_VEX_0F38EF) }, 565 /* F0 */ 566 { Bad_Opcode }, 567 { Bad_Opcode }, 568 { X86_64_EVEX_FROM_VEX_TABLE (X86_64_EVEX_0F38F2) }, 569 { X86_64_EVEX_FROM_VEX_TABLE (X86_64_EVEX_0F38F3) }, 570 { Bad_Opcode }, 571 { X86_64_EVEX_FROM_VEX_TABLE (X86_64_EVEX_0F38F5) }, 572 { X86_64_EVEX_FROM_VEX_TABLE (X86_64_EVEX_0F38F6) }, 573 { X86_64_EVEX_FROM_VEX_TABLE (X86_64_EVEX_0F38F7) }, 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 { EVEX_LEN_TABLE (EVEX_LEN_0F3A00) }, 588 { EVEX_LEN_TABLE (EVEX_LEN_0F3A01) }, 589 { Bad_Opcode }, 590 { "valign%DQ", { XM, Vex, EXx, Ib }, PREFIX_DATA }, 591 { VEX_W_TABLE (VEX_W_0F3A04) }, 592 { "%XEvpermilp%XD", { XM, EXx, Ib }, PREFIX_DATA }, 593 { Bad_Opcode }, 594 { Bad_Opcode }, 595 /* 08 */ 596 { PREFIX_TABLE (PREFIX_EVEX_0F3A08) }, 597 { "vrndscalep%XD", { XM, EXx, EXxEVexS, Ib }, PREFIX_DATA }, 598 { PREFIX_TABLE (PREFIX_EVEX_0F3A0A) }, 599 { "vrndscales%XD", { XMScalar, VexScalar, EXq, EXxEVexS, Ib }, PREFIX_DATA }, 600 { Bad_Opcode }, 601 { Bad_Opcode }, 602 { Bad_Opcode }, 603 { "%XEvpalignr", { XM, Vex, EXx, Ib }, PREFIX_DATA }, 604 /* 10 */ 605 { Bad_Opcode }, 606 { Bad_Opcode }, 607 { Bad_Opcode }, 608 { Bad_Opcode }, 609 { VEX_LEN_TABLE (VEX_LEN_0F3A14) }, 610 { VEX_LEN_TABLE (VEX_LEN_0F3A15) }, 611 { VEX_LEN_TABLE (VEX_LEN_0F3A16) }, 612 { VEX_LEN_TABLE (VEX_LEN_0F3A17) }, 613 /* 18 */ 614 { EVEX_LEN_TABLE (EVEX_LEN_0F3A18) }, 615 { EVEX_LEN_TABLE (EVEX_LEN_0F3A19) }, 616 { EVEX_LEN_TABLE (EVEX_LEN_0F3A1A) }, 617 { EVEX_LEN_TABLE (EVEX_LEN_0F3A1B) }, 618 { Bad_Opcode }, 619 { VEX_W_TABLE (VEX_W_0F3A1D) }, 620 { "vpcmpu%DQ", { MaskG, Vex, EXx, VPCMP }, PREFIX_DATA }, 621 { "vpcmp%DQ", { MaskG, Vex, EXx, VPCMP }, PREFIX_DATA }, 622 /* 20 */ 623 { VEX_LEN_TABLE (VEX_LEN_0F3A20) }, 624 { VEX_W_TABLE (EVEX_W_0F3A21) }, 625 { VEX_LEN_TABLE (VEX_LEN_0F3A22) }, 626 { EVEX_LEN_TABLE (EVEX_LEN_0F3A23) }, 627 { Bad_Opcode }, 628 { "vpternlog%DQ", { XM, Vex, EXx, Ib }, PREFIX_DATA }, 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 { EVEX_LEN_TABLE (EVEX_LEN_0F3A38) }, 651 { EVEX_LEN_TABLE (EVEX_LEN_0F3A39) }, 652 { EVEX_LEN_TABLE (EVEX_LEN_0F3A3A) }, 653 { EVEX_LEN_TABLE (EVEX_LEN_0F3A3B) }, 654 { Bad_Opcode }, 655 { Bad_Opcode }, 656 { "vpcmpu%BW", { MaskG, Vex, EXx, VPCMP }, PREFIX_DATA }, 657 { "vpcmp%BW", { MaskG, Vex, EXx, VPCMP }, PREFIX_DATA }, 658 /* 40 */ 659 { Bad_Opcode }, 660 { Bad_Opcode }, 661 { VEX_W_TABLE (EVEX_W_0F3A42) }, 662 { EVEX_LEN_TABLE (EVEX_LEN_0F3A43) }, 663 { "%XEvpclmulqdqY", { XM, Vex, EXx, PCLMUL }, PREFIX_DATA }, 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 { "vrangep%XW", { XM, Vex, EXx, EXxEVexS, Ib }, PREFIX_DATA }, 678 { "vranges%XW", { XMScalar, VexScalar, EXdq, EXxEVexS, Ib }, PREFIX_DATA }, 679 { Bad_Opcode }, 680 { Bad_Opcode }, 681 { "vfixupimmp%XW", { XM, Vex, EXx, EXxEVexS, Ib }, PREFIX_DATA }, 682 { "vfixupimms%XW", { XMScalar, VexScalar, EXdq, EXxEVexS, Ib }, PREFIX_DATA }, 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 { VEX_W_TABLE (EVEX_W_0F3A70) }, 714 { "vpshld%DQ", { XM, Vex, EXx, Ib }, PREFIX_DATA }, 715 { VEX_W_TABLE (EVEX_W_0F3A72) }, 716 { "vpshrd%DQ", { XM, Vex, EXx, Ib }, PREFIX_DATA }, 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 { PREFIX_TABLE (PREFIX_EVEX_0F3AC2) }, 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 { VEX_W_TABLE (VEX_W_0F3ACE) }, 819 { VEX_W_TABLE (VEX_W_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 { X86_64_EVEX_FROM_VEX_TABLE (X86_64_EVEX_0F3AF0) }, 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 /* EVEX_MAP4_ */ 876 { 877 /* 00 */ 878 { "addB", { VexGb, Eb, Gb }, NO_PREFIX }, 879 { "addS", { VexGv, Ev, Gv }, PREFIX_NP_OR_DATA }, 880 { "addB", { VexGb, Gb, EbS }, NO_PREFIX }, 881 { "addS", { VexGv, Gv, EvS }, PREFIX_NP_OR_DATA }, 882 { Bad_Opcode }, 883 { Bad_Opcode }, 884 { Bad_Opcode }, 885 { Bad_Opcode }, 886 /* 08 */ 887 { "orB", { VexGb, Eb, Gb }, NO_PREFIX }, 888 { "orS", { VexGv, Ev, Gv }, PREFIX_NP_OR_DATA }, 889 { "orB", { VexGb, Gb, EbS }, NO_PREFIX }, 890 { "orS", { VexGv, Gv, EvS }, PREFIX_NP_OR_DATA }, 891 { Bad_Opcode }, 892 { Bad_Opcode }, 893 { Bad_Opcode }, 894 { Bad_Opcode }, 895 /* 10 */ 896 { "adcB", { VexGb, Eb, Gb }, NO_PREFIX }, 897 { "adcS", { VexGv, Ev, Gv }, PREFIX_NP_OR_DATA }, 898 { "adcB", { VexGb, Gb, EbS }, NO_PREFIX }, 899 { "adcS", { VexGv, Gv, EvS }, PREFIX_NP_OR_DATA }, 900 { Bad_Opcode }, 901 { Bad_Opcode }, 902 { Bad_Opcode }, 903 { Bad_Opcode }, 904 /* 18 */ 905 { "sbbB", { VexGb, Eb, Gb }, NO_PREFIX }, 906 { "sbbS", { VexGv, Ev, Gv }, PREFIX_NP_OR_DATA }, 907 { "sbbB", { VexGb, Gb, EbS }, NO_PREFIX }, 908 { "sbbS", { VexGv, Gv, EvS }, PREFIX_NP_OR_DATA }, 909 { Bad_Opcode }, 910 { Bad_Opcode }, 911 { Bad_Opcode }, 912 { Bad_Opcode }, 913 /* 20 */ 914 { "andB", { VexGb, Eb, Gb }, NO_PREFIX }, 915 { "andS", { VexGv, Ev, Gv }, PREFIX_NP_OR_DATA }, 916 { "andB", { VexGb, Gb, EbS }, NO_PREFIX }, 917 { "andS", { VexGv, Gv, EvS }, PREFIX_NP_OR_DATA }, 918 { "shldS", { VexGv, Ev, Gv, Ib }, PREFIX_NP_OR_DATA }, 919 { Bad_Opcode }, 920 { Bad_Opcode }, 921 { Bad_Opcode }, 922 /* 28 */ 923 { "subB", { VexGb, Eb, Gb }, NO_PREFIX }, 924 { "subS", { VexGv, Ev, Gv }, PREFIX_NP_OR_DATA }, 925 { "subB", { VexGb, Gb, EbS }, NO_PREFIX }, 926 { "subS", { VexGv, Gv, EvS }, PREFIX_NP_OR_DATA }, 927 { "shrdS", { VexGv, Ev, Gv, Ib }, PREFIX_NP_OR_DATA }, 928 { Bad_Opcode }, 929 { Bad_Opcode }, 930 { Bad_Opcode }, 931 /* 30 */ 932 { "xorB", { VexGb, Eb, Gb }, NO_PREFIX }, 933 { "xorS", { VexGv, Ev, Gv }, PREFIX_NP_OR_DATA }, 934 { "xorB", { VexGb, Gb, EbS }, NO_PREFIX }, 935 { "xorS", { VexGv, Gv, EvS }, PREFIX_NP_OR_DATA }, 936 { Bad_Opcode }, 937 { Bad_Opcode }, 938 { Bad_Opcode }, 939 { Bad_Opcode }, 940 /* 38 */ 941 { Bad_Opcode }, 942 { Bad_Opcode }, 943 { Bad_Opcode }, 944 { Bad_Opcode }, 945 { Bad_Opcode }, 946 { Bad_Opcode }, 947 { Bad_Opcode }, 948 { Bad_Opcode }, 949 /* 40 */ 950 { "%CFcmovoS", { VexGv, Gv, Ev }, PREFIX_NP_OR_DATA }, 951 { "%CFcmovnoS", { VexGv, Gv, Ev }, PREFIX_NP_OR_DATA }, 952 { "%CFcmovbS", { VexGv, Gv, Ev }, PREFIX_NP_OR_DATA }, 953 { "%CFcmovaeS", { VexGv, Gv, Ev }, PREFIX_NP_OR_DATA }, 954 { "%CFcmoveS", { VexGv, Gv, Ev }, PREFIX_NP_OR_DATA }, 955 { "%CFcmovneS", { VexGv, Gv, Ev }, PREFIX_NP_OR_DATA }, 956 { "%CFcmovbeS", { VexGv, Gv, Ev }, PREFIX_NP_OR_DATA }, 957 { "%CFcmovaS", { VexGv, Gv, Ev }, PREFIX_NP_OR_DATA }, 958 /* 48 */ 959 { "%CFcmovsS", { VexGv, Gv, Ev }, PREFIX_NP_OR_DATA }, 960 { "%CFcmovnsS", { VexGv, Gv, Ev }, PREFIX_NP_OR_DATA }, 961 { "%CFcmovpS", { VexGv, Gv, Ev }, PREFIX_NP_OR_DATA }, 962 { "%CFcmovnpS", { VexGv, Gv, Ev }, PREFIX_NP_OR_DATA }, 963 { "%CFcmovlS", { VexGv, Gv, Ev }, PREFIX_NP_OR_DATA }, 964 { "%CFcmovgeS", { VexGv, Gv, Ev }, PREFIX_NP_OR_DATA }, 965 { "%CFcmovleS", { VexGv, Gv, Ev }, PREFIX_NP_OR_DATA }, 966 { "%CFcmovgS", { VexGv, Gv, Ev }, PREFIX_NP_OR_DATA }, 967 /* 50 */ 968 { Bad_Opcode }, 969 { Bad_Opcode }, 970 { Bad_Opcode }, 971 { Bad_Opcode }, 972 { Bad_Opcode }, 973 { Bad_Opcode }, 974 { Bad_Opcode }, 975 { Bad_Opcode }, 976 /* 58 */ 977 { Bad_Opcode }, 978 { Bad_Opcode }, 979 { Bad_Opcode }, 980 { Bad_Opcode }, 981 { Bad_Opcode }, 982 { Bad_Opcode }, 983 { Bad_Opcode }, 984 { Bad_Opcode }, 985 /* 60 */ 986 { "movbeS", { Gv, Ev }, PREFIX_NP_OR_DATA }, 987 { "movbeS", { Ev, Gv }, PREFIX_NP_OR_DATA }, 988 { Bad_Opcode }, 989 { Bad_Opcode }, 990 { Bad_Opcode }, 991 { "wrussK", { M, Gdq }, PREFIX_DATA }, 992 { PREFIX_TABLE (PREFIX_0F38F6) }, 993 { Bad_Opcode }, 994 /* 68 */ 995 { Bad_Opcode }, 996 { Bad_Opcode }, 997 { Bad_Opcode }, 998 { Bad_Opcode }, 999 { Bad_Opcode }, 1000 { Bad_Opcode }, 1001 { Bad_Opcode }, 1002 { Bad_Opcode }, 1003 /* 70 */ 1004 { Bad_Opcode }, 1005 { Bad_Opcode }, 1006 { Bad_Opcode }, 1007 { Bad_Opcode }, 1008 { Bad_Opcode }, 1009 { Bad_Opcode }, 1010 { Bad_Opcode }, 1011 { Bad_Opcode }, 1012 /* 78 */ 1013 { Bad_Opcode }, 1014 { Bad_Opcode }, 1015 { Bad_Opcode }, 1016 { Bad_Opcode }, 1017 { Bad_Opcode }, 1018 { Bad_Opcode }, 1019 { Bad_Opcode }, 1020 { Bad_Opcode }, 1021 /* 80 */ 1022 { REG_TABLE (REG_EVEX_MAP4_80) }, 1023 { REG_TABLE (REG_EVEX_MAP4_81) }, 1024 { Bad_Opcode }, 1025 { REG_TABLE (REG_EVEX_MAP4_83) }, 1026 { Bad_Opcode }, 1027 { Bad_Opcode }, 1028 { Bad_Opcode }, 1029 { Bad_Opcode }, 1030 /* 88 */ 1031 { Bad_Opcode }, 1032 { Bad_Opcode }, 1033 { Bad_Opcode }, 1034 { Bad_Opcode }, 1035 { Bad_Opcode }, 1036 { Bad_Opcode }, 1037 { Bad_Opcode }, 1038 { REG_TABLE (REG_EVEX_MAP4_8F) }, 1039 /* 90 */ 1040 { Bad_Opcode }, 1041 { Bad_Opcode }, 1042 { Bad_Opcode }, 1043 { Bad_Opcode }, 1044 { Bad_Opcode }, 1045 { Bad_Opcode }, 1046 { Bad_Opcode }, 1047 { Bad_Opcode }, 1048 /* 98 */ 1049 { Bad_Opcode }, 1050 { Bad_Opcode }, 1051 { Bad_Opcode }, 1052 { Bad_Opcode }, 1053 { Bad_Opcode }, 1054 { Bad_Opcode }, 1055 { Bad_Opcode }, 1056 { Bad_Opcode }, 1057 /* A0 */ 1058 { Bad_Opcode }, 1059 { Bad_Opcode }, 1060 { Bad_Opcode }, 1061 { Bad_Opcode }, 1062 { Bad_Opcode }, 1063 { "shldS", { VexGv, Ev, Gv, CL }, PREFIX_NP_OR_DATA }, 1064 { Bad_Opcode }, 1065 { Bad_Opcode }, 1066 /* A8 */ 1067 { Bad_Opcode }, 1068 { Bad_Opcode }, 1069 { Bad_Opcode }, 1070 { Bad_Opcode }, 1071 { Bad_Opcode }, 1072 { "shrdS", { VexGv, Ev, Gv, CL }, PREFIX_NP_OR_DATA }, 1073 { Bad_Opcode }, 1074 { "imulS", { VexGv, Gv, Ev }, PREFIX_NP_OR_DATA }, 1075 /* B0 */ 1076 { Bad_Opcode }, 1077 { Bad_Opcode }, 1078 { Bad_Opcode }, 1079 { Bad_Opcode }, 1080 { Bad_Opcode }, 1081 { Bad_Opcode }, 1082 { Bad_Opcode }, 1083 { Bad_Opcode }, 1084 /* B8 */ 1085 { Bad_Opcode }, 1086 { Bad_Opcode }, 1087 { Bad_Opcode }, 1088 { Bad_Opcode }, 1089 { Bad_Opcode }, 1090 { Bad_Opcode }, 1091 { Bad_Opcode }, 1092 { Bad_Opcode }, 1093 /* C0 */ 1094 { REG_TABLE (REG_C0) }, 1095 { REG_TABLE (REG_C1) }, 1096 { Bad_Opcode }, 1097 { Bad_Opcode }, 1098 { Bad_Opcode }, 1099 { Bad_Opcode }, 1100 { Bad_Opcode }, 1101 { Bad_Opcode }, 1102 /* C8 */ 1103 { Bad_Opcode }, 1104 { Bad_Opcode }, 1105 { Bad_Opcode }, 1106 { Bad_Opcode }, 1107 { Bad_Opcode }, 1108 { Bad_Opcode }, 1109 { Bad_Opcode }, 1110 { Bad_Opcode }, 1111 /* D0 */ 1112 { REG_TABLE (REG_D0) }, 1113 { REG_TABLE (REG_D1) }, 1114 { REG_TABLE (REG_D2) }, 1115 { REG_TABLE (REG_D3) }, 1116 { "sha1rnds4", { XM, EXxmm, Ib }, NO_PREFIX }, 1117 { Bad_Opcode }, 1118 { Bad_Opcode }, 1119 { Bad_Opcode }, 1120 /* D8 */ 1121 { PREFIX_TABLE (PREFIX_EVEX_MAP4_D8) }, 1122 { "sha1msg1", { XM, EXxmm }, NO_PREFIX }, 1123 { PREFIX_TABLE (PREFIX_EVEX_MAP4_DA) }, 1124 { PREFIX_TABLE (PREFIX_EVEX_MAP4_DB) }, 1125 { PREFIX_TABLE (PREFIX_EVEX_MAP4_DC) }, 1126 { PREFIX_TABLE (PREFIX_EVEX_MAP4_DD) }, 1127 { PREFIX_TABLE (PREFIX_EVEX_MAP4_DE) }, 1128 { PREFIX_TABLE (PREFIX_EVEX_MAP4_DF) }, 1129 /* E0 */ 1130 { Bad_Opcode }, 1131 { Bad_Opcode }, 1132 { Bad_Opcode }, 1133 { Bad_Opcode }, 1134 { Bad_Opcode }, 1135 { Bad_Opcode }, 1136 { Bad_Opcode }, 1137 { Bad_Opcode }, 1138 /* E8 */ 1139 { Bad_Opcode }, 1140 { Bad_Opcode }, 1141 { Bad_Opcode }, 1142 { Bad_Opcode }, 1143 { Bad_Opcode }, 1144 { Bad_Opcode }, 1145 { Bad_Opcode }, 1146 { Bad_Opcode }, 1147 /* F0 */ 1148 { PREFIX_TABLE (PREFIX_EVEX_MAP4_F0) }, 1149 { PREFIX_TABLE (PREFIX_EVEX_MAP4_F1) }, 1150 { PREFIX_TABLE (PREFIX_EVEX_MAP4_F2) }, 1151 { Bad_Opcode }, 1152 { Bad_Opcode }, 1153 { Bad_Opcode }, 1154 { REG_TABLE (REG_EVEX_MAP4_F6) }, 1155 { REG_TABLE (REG_EVEX_MAP4_F7) }, 1156 /* F8 */ 1157 { PREFIX_TABLE (PREFIX_EVEX_MAP4_F8) }, 1158 { "movdiri", { Mdq, Gdq }, NO_PREFIX }, 1159 { Bad_Opcode }, 1160 { Bad_Opcode }, 1161 { PREFIX_TABLE (PREFIX_0F38FC) }, 1162 { Bad_Opcode }, 1163 { REG_TABLE (REG_EVEX_MAP4_FE) }, 1164 { REG_TABLE (REG_EVEX_MAP4_FF) }, 1165 }, 1166 /* EVEX_MAP5_ */ 1167 { 1168 /* 00 */ 1169 { Bad_Opcode }, 1170 { Bad_Opcode }, 1171 { Bad_Opcode }, 1172 { Bad_Opcode }, 1173 { Bad_Opcode }, 1174 { Bad_Opcode }, 1175 { Bad_Opcode }, 1176 { Bad_Opcode }, 1177 /* 08 */ 1178 { Bad_Opcode }, 1179 { Bad_Opcode }, 1180 { Bad_Opcode }, 1181 { Bad_Opcode }, 1182 { Bad_Opcode }, 1183 { Bad_Opcode }, 1184 { Bad_Opcode }, 1185 { Bad_Opcode }, 1186 /* 10 */ 1187 { PREFIX_TABLE (PREFIX_EVEX_MAP5_10) }, 1188 { PREFIX_TABLE (PREFIX_EVEX_MAP5_11) }, 1189 { Bad_Opcode }, 1190 { Bad_Opcode }, 1191 { Bad_Opcode }, 1192 { Bad_Opcode }, 1193 { Bad_Opcode }, 1194 { Bad_Opcode }, 1195 /* 18 */ 1196 { Bad_Opcode }, 1197 { Bad_Opcode }, 1198 { Bad_Opcode }, 1199 { Bad_Opcode }, 1200 { Bad_Opcode }, 1201 { PREFIX_TABLE (PREFIX_EVEX_MAP5_1D) }, 1202 { Bad_Opcode }, 1203 { Bad_Opcode }, 1204 /* 20 */ 1205 { Bad_Opcode }, 1206 { Bad_Opcode }, 1207 { Bad_Opcode }, 1208 { Bad_Opcode }, 1209 { Bad_Opcode }, 1210 { Bad_Opcode }, 1211 { Bad_Opcode }, 1212 { Bad_Opcode }, 1213 /* 28 */ 1214 { Bad_Opcode }, 1215 { Bad_Opcode }, 1216 { PREFIX_TABLE (PREFIX_EVEX_MAP5_2A) }, 1217 { Bad_Opcode }, 1218 { PREFIX_TABLE (PREFIX_EVEX_MAP5_2C) }, 1219 { PREFIX_TABLE (PREFIX_EVEX_MAP5_2D) }, 1220 { PREFIX_TABLE (PREFIX_EVEX_MAP5_2E) }, 1221 { PREFIX_TABLE (PREFIX_EVEX_MAP5_2F) }, 1222 /* 30 */ 1223 { Bad_Opcode }, 1224 { Bad_Opcode }, 1225 { Bad_Opcode }, 1226 { Bad_Opcode }, 1227 { Bad_Opcode }, 1228 { Bad_Opcode }, 1229 { Bad_Opcode }, 1230 { Bad_Opcode }, 1231 /* 38 */ 1232 { Bad_Opcode }, 1233 { Bad_Opcode }, 1234 { Bad_Opcode }, 1235 { Bad_Opcode }, 1236 { Bad_Opcode }, 1237 { Bad_Opcode }, 1238 { Bad_Opcode }, 1239 { Bad_Opcode }, 1240 /* 40 */ 1241 { Bad_Opcode }, 1242 { Bad_Opcode }, 1243 { Bad_Opcode }, 1244 { Bad_Opcode }, 1245 { Bad_Opcode }, 1246 { Bad_Opcode }, 1247 { Bad_Opcode }, 1248 { Bad_Opcode }, 1249 /* 48 */ 1250 { Bad_Opcode }, 1251 { Bad_Opcode }, 1252 { Bad_Opcode }, 1253 { Bad_Opcode }, 1254 { Bad_Opcode }, 1255 { Bad_Opcode }, 1256 { Bad_Opcode }, 1257 { Bad_Opcode }, 1258 /* 50 */ 1259 { Bad_Opcode }, 1260 { PREFIX_TABLE (PREFIX_EVEX_MAP5_51) }, 1261 { Bad_Opcode }, 1262 { Bad_Opcode }, 1263 { Bad_Opcode }, 1264 { Bad_Opcode }, 1265 { Bad_Opcode }, 1266 { Bad_Opcode }, 1267 /* 58 */ 1268 { PREFIX_TABLE (PREFIX_EVEX_MAP5_58) }, 1269 { PREFIX_TABLE (PREFIX_EVEX_MAP5_59) }, 1270 { PREFIX_TABLE (PREFIX_EVEX_MAP5_5A) }, 1271 { PREFIX_TABLE (PREFIX_EVEX_MAP5_5B) }, 1272 { PREFIX_TABLE (PREFIX_EVEX_MAP5_5C) }, 1273 { PREFIX_TABLE (PREFIX_EVEX_MAP5_5D) }, 1274 { PREFIX_TABLE (PREFIX_EVEX_MAP5_5E) }, 1275 { PREFIX_TABLE (PREFIX_EVEX_MAP5_5F) }, 1276 /* 60 */ 1277 { Bad_Opcode }, 1278 { Bad_Opcode }, 1279 { Bad_Opcode }, 1280 { Bad_Opcode }, 1281 { Bad_Opcode }, 1282 { Bad_Opcode }, 1283 { Bad_Opcode }, 1284 { Bad_Opcode }, 1285 /* 68 */ 1286 { Bad_Opcode }, 1287 { Bad_Opcode }, 1288 { Bad_Opcode }, 1289 { Bad_Opcode }, 1290 { Bad_Opcode }, 1291 { Bad_Opcode }, 1292 { "vmovwY", { XMScalar, Edw }, PREFIX_DATA }, 1293 { Bad_Opcode }, 1294 /* 70 */ 1295 { Bad_Opcode }, 1296 { Bad_Opcode }, 1297 { Bad_Opcode }, 1298 { Bad_Opcode }, 1299 { Bad_Opcode }, 1300 { Bad_Opcode }, 1301 { Bad_Opcode }, 1302 { Bad_Opcode }, 1303 /* 78 */ 1304 { PREFIX_TABLE (PREFIX_EVEX_MAP5_78) }, 1305 { PREFIX_TABLE (PREFIX_EVEX_MAP5_79) }, 1306 { PREFIX_TABLE (PREFIX_EVEX_MAP5_7A) }, 1307 { PREFIX_TABLE (PREFIX_EVEX_MAP5_7B) }, 1308 { PREFIX_TABLE (PREFIX_EVEX_MAP5_7C) }, 1309 { PREFIX_TABLE (PREFIX_EVEX_MAP5_7D) }, 1310 { "vmovw", { Edw, XMScalar }, PREFIX_DATA }, 1311 { Bad_Opcode }, 1312 /* 80 */ 1313 { Bad_Opcode }, 1314 { Bad_Opcode }, 1315 { Bad_Opcode }, 1316 { Bad_Opcode }, 1317 { Bad_Opcode }, 1318 { Bad_Opcode }, 1319 { Bad_Opcode }, 1320 { Bad_Opcode }, 1321 /* 88 */ 1322 { Bad_Opcode }, 1323 { Bad_Opcode }, 1324 { Bad_Opcode }, 1325 { Bad_Opcode }, 1326 { Bad_Opcode }, 1327 { Bad_Opcode }, 1328 { Bad_Opcode }, 1329 { Bad_Opcode }, 1330 /* 90 */ 1331 { Bad_Opcode }, 1332 { Bad_Opcode }, 1333 { Bad_Opcode }, 1334 { Bad_Opcode }, 1335 { Bad_Opcode }, 1336 { Bad_Opcode }, 1337 { Bad_Opcode }, 1338 { Bad_Opcode }, 1339 /* 98 */ 1340 { Bad_Opcode }, 1341 { Bad_Opcode }, 1342 { Bad_Opcode }, 1343 { Bad_Opcode }, 1344 { Bad_Opcode }, 1345 { Bad_Opcode }, 1346 { Bad_Opcode }, 1347 { Bad_Opcode }, 1348 /* A0 */ 1349 { Bad_Opcode }, 1350 { Bad_Opcode }, 1351 { Bad_Opcode }, 1352 { Bad_Opcode }, 1353 { Bad_Opcode }, 1354 { Bad_Opcode }, 1355 { Bad_Opcode }, 1356 { Bad_Opcode }, 1357 /* A8 */ 1358 { Bad_Opcode }, 1359 { Bad_Opcode }, 1360 { Bad_Opcode }, 1361 { Bad_Opcode }, 1362 { Bad_Opcode }, 1363 { Bad_Opcode }, 1364 { Bad_Opcode }, 1365 { Bad_Opcode }, 1366 /* B0 */ 1367 { Bad_Opcode }, 1368 { Bad_Opcode }, 1369 { Bad_Opcode }, 1370 { Bad_Opcode }, 1371 { Bad_Opcode }, 1372 { Bad_Opcode }, 1373 { Bad_Opcode }, 1374 { Bad_Opcode }, 1375 /* B8 */ 1376 { Bad_Opcode }, 1377 { Bad_Opcode }, 1378 { Bad_Opcode }, 1379 { Bad_Opcode }, 1380 { Bad_Opcode }, 1381 { Bad_Opcode }, 1382 { Bad_Opcode }, 1383 { Bad_Opcode }, 1384 /* C0 */ 1385 { Bad_Opcode }, 1386 { Bad_Opcode }, 1387 { Bad_Opcode }, 1388 { Bad_Opcode }, 1389 { Bad_Opcode }, 1390 { Bad_Opcode }, 1391 { Bad_Opcode }, 1392 { Bad_Opcode }, 1393 /* C8 */ 1394 { Bad_Opcode }, 1395 { Bad_Opcode }, 1396 { Bad_Opcode }, 1397 { Bad_Opcode }, 1398 { Bad_Opcode }, 1399 { Bad_Opcode }, 1400 { Bad_Opcode }, 1401 { Bad_Opcode }, 1402 /* D0 */ 1403 { Bad_Opcode }, 1404 { Bad_Opcode }, 1405 { Bad_Opcode }, 1406 { Bad_Opcode }, 1407 { Bad_Opcode }, 1408 { Bad_Opcode }, 1409 { Bad_Opcode }, 1410 { Bad_Opcode }, 1411 /* D8 */ 1412 { Bad_Opcode }, 1413 { Bad_Opcode }, 1414 { Bad_Opcode }, 1415 { Bad_Opcode }, 1416 { Bad_Opcode }, 1417 { Bad_Opcode }, 1418 { Bad_Opcode }, 1419 { Bad_Opcode }, 1420 /* E0 */ 1421 { Bad_Opcode }, 1422 { Bad_Opcode }, 1423 { Bad_Opcode }, 1424 { Bad_Opcode }, 1425 { Bad_Opcode }, 1426 { Bad_Opcode }, 1427 { Bad_Opcode }, 1428 { Bad_Opcode }, 1429 /* E8 */ 1430 { Bad_Opcode }, 1431 { Bad_Opcode }, 1432 { Bad_Opcode }, 1433 { Bad_Opcode }, 1434 { Bad_Opcode }, 1435 { Bad_Opcode }, 1436 { Bad_Opcode }, 1437 { Bad_Opcode }, 1438 /* F0 */ 1439 { Bad_Opcode }, 1440 { Bad_Opcode }, 1441 { Bad_Opcode }, 1442 { Bad_Opcode }, 1443 { Bad_Opcode }, 1444 { Bad_Opcode }, 1445 { Bad_Opcode }, 1446 { Bad_Opcode }, 1447 /* F8 */ 1448 { Bad_Opcode }, 1449 { Bad_Opcode }, 1450 { Bad_Opcode }, 1451 { Bad_Opcode }, 1452 { Bad_Opcode }, 1453 { Bad_Opcode }, 1454 { Bad_Opcode }, 1455 { Bad_Opcode }, 1456 }, 1457 /* EVEX_MAP6_ */ 1458 { 1459 /* 00 */ 1460 { Bad_Opcode }, 1461 { Bad_Opcode }, 1462 { Bad_Opcode }, 1463 { Bad_Opcode }, 1464 { Bad_Opcode }, 1465 { Bad_Opcode }, 1466 { Bad_Opcode }, 1467 { Bad_Opcode }, 1468 /* 08 */ 1469 { Bad_Opcode }, 1470 { Bad_Opcode }, 1471 { Bad_Opcode }, 1472 { Bad_Opcode }, 1473 { Bad_Opcode }, 1474 { Bad_Opcode }, 1475 { Bad_Opcode }, 1476 { Bad_Opcode }, 1477 /* 10 */ 1478 { Bad_Opcode }, 1479 { Bad_Opcode }, 1480 { Bad_Opcode }, 1481 { PREFIX_TABLE (PREFIX_EVEX_MAP6_13) }, 1482 { Bad_Opcode }, 1483 { Bad_Opcode }, 1484 { Bad_Opcode }, 1485 { Bad_Opcode }, 1486 /* 18 */ 1487 { Bad_Opcode }, 1488 { Bad_Opcode }, 1489 { Bad_Opcode }, 1490 { Bad_Opcode }, 1491 { Bad_Opcode }, 1492 { Bad_Opcode }, 1493 { Bad_Opcode }, 1494 { Bad_Opcode }, 1495 /* 20 */ 1496 { Bad_Opcode }, 1497 { Bad_Opcode }, 1498 { Bad_Opcode }, 1499 { Bad_Opcode }, 1500 { Bad_Opcode }, 1501 { Bad_Opcode }, 1502 { Bad_Opcode }, 1503 { Bad_Opcode }, 1504 /* 28 */ 1505 { Bad_Opcode }, 1506 { Bad_Opcode }, 1507 { Bad_Opcode }, 1508 { Bad_Opcode }, 1509 { "vscalefp%XH", { XM, Vex, EXxh, EXxEVexR }, PREFIX_DATA }, 1510 { "vscalefs%XH", { XMScalar, VexScalar, EXw, EXxEVexR }, PREFIX_DATA }, 1511 { Bad_Opcode }, 1512 { Bad_Opcode }, 1513 /* 30 */ 1514 { Bad_Opcode }, 1515 { Bad_Opcode }, 1516 { Bad_Opcode }, 1517 { Bad_Opcode }, 1518 { Bad_Opcode }, 1519 { Bad_Opcode }, 1520 { Bad_Opcode }, 1521 { Bad_Opcode }, 1522 /* 38 */ 1523 { Bad_Opcode }, 1524 { Bad_Opcode }, 1525 { Bad_Opcode }, 1526 { Bad_Opcode }, 1527 { Bad_Opcode }, 1528 { Bad_Opcode }, 1529 { Bad_Opcode }, 1530 { Bad_Opcode }, 1531 /* 40 */ 1532 { Bad_Opcode }, 1533 { Bad_Opcode }, 1534 { "vgetexpp%XH", { XM, EXxh, EXxEVexS }, PREFIX_DATA }, 1535 { "vgetexps%XH", { XMScalar, VexScalar, EXw, EXxEVexS }, PREFIX_DATA }, 1536 { Bad_Opcode }, 1537 { Bad_Opcode }, 1538 { Bad_Opcode }, 1539 { Bad_Opcode }, 1540 /* 48 */ 1541 { Bad_Opcode }, 1542 { Bad_Opcode }, 1543 { Bad_Opcode }, 1544 { Bad_Opcode }, 1545 { "vrcpp%XH", { XM, EXxh }, PREFIX_DATA }, 1546 { "vrcps%XH", { XMScalar, VexScalar, EXw }, PREFIX_DATA }, 1547 { "vrsqrtp%XH", { XM, EXxh }, PREFIX_DATA }, 1548 { "vrsqrts%XH", { XMScalar, VexScalar, EXw }, PREFIX_DATA }, 1549 /* 50 */ 1550 { Bad_Opcode }, 1551 { Bad_Opcode }, 1552 { Bad_Opcode }, 1553 { Bad_Opcode }, 1554 { Bad_Opcode }, 1555 { Bad_Opcode }, 1556 { PREFIX_TABLE (PREFIX_EVEX_MAP6_56) }, 1557 { PREFIX_TABLE (PREFIX_EVEX_MAP6_57) }, 1558 /* 58 */ 1559 { Bad_Opcode }, 1560 { Bad_Opcode }, 1561 { Bad_Opcode }, 1562 { Bad_Opcode }, 1563 { Bad_Opcode }, 1564 { Bad_Opcode }, 1565 { Bad_Opcode }, 1566 { Bad_Opcode }, 1567 /* 60 */ 1568 { Bad_Opcode }, 1569 { Bad_Opcode }, 1570 { Bad_Opcode }, 1571 { Bad_Opcode }, 1572 { Bad_Opcode }, 1573 { Bad_Opcode }, 1574 { Bad_Opcode }, 1575 { Bad_Opcode }, 1576 /* 68 */ 1577 { Bad_Opcode }, 1578 { Bad_Opcode }, 1579 { Bad_Opcode }, 1580 { Bad_Opcode }, 1581 { Bad_Opcode }, 1582 { Bad_Opcode }, 1583 { Bad_Opcode }, 1584 { Bad_Opcode }, 1585 /* 70 */ 1586 { Bad_Opcode }, 1587 { Bad_Opcode }, 1588 { Bad_Opcode }, 1589 { Bad_Opcode }, 1590 { Bad_Opcode }, 1591 { Bad_Opcode }, 1592 { Bad_Opcode }, 1593 { Bad_Opcode }, 1594 /* 78 */ 1595 { Bad_Opcode }, 1596 { Bad_Opcode }, 1597 { Bad_Opcode }, 1598 { Bad_Opcode }, 1599 { Bad_Opcode }, 1600 { Bad_Opcode }, 1601 { Bad_Opcode }, 1602 { Bad_Opcode }, 1603 /* 80 */ 1604 { Bad_Opcode }, 1605 { Bad_Opcode }, 1606 { Bad_Opcode }, 1607 { Bad_Opcode }, 1608 { Bad_Opcode }, 1609 { Bad_Opcode }, 1610 { Bad_Opcode }, 1611 { Bad_Opcode }, 1612 /* 88 */ 1613 { Bad_Opcode }, 1614 { Bad_Opcode }, 1615 { Bad_Opcode }, 1616 { Bad_Opcode }, 1617 { Bad_Opcode }, 1618 { Bad_Opcode }, 1619 { Bad_Opcode }, 1620 { Bad_Opcode }, 1621 /* 90 */ 1622 { Bad_Opcode }, 1623 { Bad_Opcode }, 1624 { Bad_Opcode }, 1625 { Bad_Opcode }, 1626 { Bad_Opcode }, 1627 { Bad_Opcode }, 1628 { "vfmaddsub132p%XH", { XM, Vex, EXxh, EXxEVexR }, PREFIX_DATA }, 1629 { "vfmsubadd132p%XH", { XM, Vex, EXxh, EXxEVexR }, PREFIX_DATA }, 1630 /* 98 */ 1631 { "vfmadd132p%XH", { XM, Vex, EXxh, EXxEVexR }, PREFIX_DATA }, 1632 { "vfmadd132s%XH", { XMScalar, VexScalar, EXw, EXxEVexR }, PREFIX_DATA }, 1633 { "vfmsub132p%XH", { XM, Vex, EXxh, EXxEVexR }, PREFIX_DATA }, 1634 { "vfmsub132s%XH", { XMScalar, VexScalar, EXw, EXxEVexR }, PREFIX_DATA }, 1635 { "vfnmadd132p%XH", { XM, Vex, EXxh, EXxEVexR }, PREFIX_DATA }, 1636 { "vfnmadd132s%XH", { XMScalar, VexScalar, EXw, EXxEVexR }, PREFIX_DATA }, 1637 { "vfnmsub132p%XH", { XM, Vex, EXxh, EXxEVexR }, PREFIX_DATA }, 1638 { "vfnmsub132s%XH", { XMScalar, VexScalar, EXw, EXxEVexR }, PREFIX_DATA }, 1639 /* A0 */ 1640 { Bad_Opcode }, 1641 { Bad_Opcode }, 1642 { Bad_Opcode }, 1643 { Bad_Opcode }, 1644 { Bad_Opcode }, 1645 { Bad_Opcode }, 1646 { "vfmaddsub213p%XH", { XM, Vex, EXxh, EXxEVexR }, PREFIX_DATA }, 1647 { "vfmsubadd213p%XH", { XM, Vex, EXxh, EXxEVexR }, PREFIX_DATA }, 1648 /* A8 */ 1649 { "vfmadd213p%XH", { XM, Vex, EXxh, EXxEVexR }, PREFIX_DATA }, 1650 { "vfmadd213s%XH", { XMScalar, VexScalar, EXw, EXxEVexR }, PREFIX_DATA }, 1651 { "vfmsub213p%XH", { XM, Vex, EXxh, EXxEVexR }, PREFIX_DATA }, 1652 { "vfmsub213s%XH", { XMScalar, VexScalar, EXw, EXxEVexR }, PREFIX_DATA }, 1653 { "vfnmadd213p%XH", { XM, Vex, EXxh, EXxEVexR }, PREFIX_DATA }, 1654 { "vfnmadd213s%XH", { XMScalar, VexScalar, EXw, EXxEVexR }, PREFIX_DATA }, 1655 { "vfnmsub213p%XH", { XM, Vex, EXxh, EXxEVexR }, PREFIX_DATA }, 1656 { "vfnmsub213s%XH", { XMScalar, VexScalar, EXw, EXxEVexR }, PREFIX_DATA }, 1657 /* B0 */ 1658 { Bad_Opcode }, 1659 { Bad_Opcode }, 1660 { Bad_Opcode }, 1661 { Bad_Opcode }, 1662 { Bad_Opcode }, 1663 { Bad_Opcode }, 1664 { "vfmaddsub231p%XH", { XM, Vex, EXxh, EXxEVexR }, PREFIX_DATA }, 1665 { "vfmsubadd231p%XH", { XM, Vex, EXxh, EXxEVexR }, PREFIX_DATA }, 1666 /* B8 */ 1667 { "vfmadd231p%XH", { XM, Vex, EXxh, EXxEVexR }, PREFIX_DATA }, 1668 { "vfmadd231s%XH", { XMScalar, VexScalar, EXw, EXxEVexR }, PREFIX_DATA }, 1669 { "vfmsub231p%XH", { XM, Vex, EXxh, EXxEVexR }, PREFIX_DATA }, 1670 { "vfmsub231s%XH", { XMScalar, VexScalar, EXw, EXxEVexR }, PREFIX_DATA }, 1671 { "vfnmadd231p%XH", { XM, Vex, EXxh, EXxEVexR }, PREFIX_DATA }, 1672 { "vfnmadd231s%XH", { XMScalar, VexScalar, EXw, EXxEVexR }, PREFIX_DATA }, 1673 { "vfnmsub231p%XH", { XM, Vex, EXxh, EXxEVexR }, PREFIX_DATA }, 1674 { "vfnmsub231s%XH", { XMScalar, VexScalar, EXw, EXxEVexR }, PREFIX_DATA }, 1675 /* C0 */ 1676 { Bad_Opcode }, 1677 { Bad_Opcode }, 1678 { Bad_Opcode }, 1679 { Bad_Opcode }, 1680 { Bad_Opcode }, 1681 { Bad_Opcode }, 1682 { Bad_Opcode }, 1683 { Bad_Opcode }, 1684 /* C8 */ 1685 { Bad_Opcode }, 1686 { Bad_Opcode }, 1687 { Bad_Opcode }, 1688 { Bad_Opcode }, 1689 { Bad_Opcode }, 1690 { Bad_Opcode }, 1691 { Bad_Opcode }, 1692 { Bad_Opcode }, 1693 /* D0 */ 1694 { Bad_Opcode }, 1695 { Bad_Opcode }, 1696 { Bad_Opcode }, 1697 { Bad_Opcode }, 1698 { Bad_Opcode }, 1699 { Bad_Opcode }, 1700 { PREFIX_TABLE (PREFIX_EVEX_MAP6_D6) }, 1701 { PREFIX_TABLE (PREFIX_EVEX_MAP6_D7) }, 1702 /* D8 */ 1703 { Bad_Opcode }, 1704 { Bad_Opcode }, 1705 { Bad_Opcode }, 1706 { Bad_Opcode }, 1707 { Bad_Opcode }, 1708 { Bad_Opcode }, 1709 { Bad_Opcode }, 1710 { Bad_Opcode }, 1711 /* E0 */ 1712 { Bad_Opcode }, 1713 { Bad_Opcode }, 1714 { Bad_Opcode }, 1715 { Bad_Opcode }, 1716 { Bad_Opcode }, 1717 { Bad_Opcode }, 1718 { Bad_Opcode }, 1719 { Bad_Opcode }, 1720 /* E8 */ 1721 { Bad_Opcode }, 1722 { Bad_Opcode }, 1723 { Bad_Opcode }, 1724 { Bad_Opcode }, 1725 { Bad_Opcode }, 1726 { Bad_Opcode }, 1727 { Bad_Opcode }, 1728 { Bad_Opcode }, 1729 /* F0 */ 1730 { Bad_Opcode }, 1731 { Bad_Opcode }, 1732 { Bad_Opcode }, 1733 { Bad_Opcode }, 1734 { Bad_Opcode }, 1735 { Bad_Opcode }, 1736 { Bad_Opcode }, 1737 { Bad_Opcode }, 1738 /* F8 */ 1739 { Bad_Opcode }, 1740 { Bad_Opcode }, 1741 { Bad_Opcode }, 1742 { Bad_Opcode }, 1743 { Bad_Opcode }, 1744 { Bad_Opcode }, 1745 { Bad_Opcode }, 1746 { Bad_Opcode }, 1747 }, 1748}; 1749