1 1.1 christos static const struct dis386 evex_table[][256] = { 2 1.1 christos /* EVEX_0F */ 3 1.1 christos { 4 1.1 christos /* 00 */ 5 1.1 christos { Bad_Opcode }, 6 1.1 christos { Bad_Opcode }, 7 1.1 christos { Bad_Opcode }, 8 1.1 christos { Bad_Opcode }, 9 1.1 christos { Bad_Opcode }, 10 1.1 christos { Bad_Opcode }, 11 1.1 christos { Bad_Opcode }, 12 1.1 christos { Bad_Opcode }, 13 1.1 christos /* 08 */ 14 1.1 christos { Bad_Opcode }, 15 1.1 christos { Bad_Opcode }, 16 1.1 christos { Bad_Opcode }, 17 1.1 christos { Bad_Opcode }, 18 1.1 christos { Bad_Opcode }, 19 1.1 christos { Bad_Opcode }, 20 1.1 christos { Bad_Opcode }, 21 1.1 christos { Bad_Opcode }, 22 1.1 christos /* 10 */ 23 1.7 christos { PREFIX_TABLE (PREFIX_0F10) }, 24 1.7 christos { PREFIX_TABLE (PREFIX_0F11) }, 25 1.6 christos { PREFIX_TABLE (PREFIX_VEX_0F12) }, 26 1.7 christos { VEX_LEN_TABLE (VEX_LEN_0F13) }, 27 1.7 christos { "%XEvunpcklpX", { XM, Vex, EXx }, PREFIX_OPCODE }, 28 1.7 christos { "%XEvunpckhpX", { XM, Vex, EXx }, PREFIX_OPCODE }, 29 1.6 christos { PREFIX_TABLE (PREFIX_VEX_0F16) }, 30 1.7 christos { VEX_LEN_TABLE (VEX_LEN_0F17) }, 31 1.1 christos /* 18 */ 32 1.1 christos { Bad_Opcode }, 33 1.1 christos { Bad_Opcode }, 34 1.1 christos { Bad_Opcode }, 35 1.1 christos { Bad_Opcode }, 36 1.1 christos { Bad_Opcode }, 37 1.1 christos { Bad_Opcode }, 38 1.1 christos { Bad_Opcode }, 39 1.1 christos { Bad_Opcode }, 40 1.1 christos /* 20 */ 41 1.1 christos { Bad_Opcode }, 42 1.1 christos { Bad_Opcode }, 43 1.1 christos { Bad_Opcode }, 44 1.1 christos { Bad_Opcode }, 45 1.1 christos { Bad_Opcode }, 46 1.1 christos { Bad_Opcode }, 47 1.1 christos { Bad_Opcode }, 48 1.1 christos { Bad_Opcode }, 49 1.1 christos /* 28 */ 50 1.7 christos { "%XEvmovapX", { XM, EXx }, PREFIX_OPCODE }, 51 1.7 christos { "%XEvmovapX", { EXxS, XM }, PREFIX_OPCODE }, 52 1.6 christos { PREFIX_TABLE (PREFIX_VEX_0F2A) }, 53 1.7 christos { "%XEvmovntpX", { Mx, XM }, PREFIX_OPCODE }, 54 1.6 christos { PREFIX_TABLE (PREFIX_VEX_0F2C) }, 55 1.6 christos { PREFIX_TABLE (PREFIX_VEX_0F2D) }, 56 1.8 christos { PREFIX_TABLE (PREFIX_EVEX_0F2E) }, 57 1.8 christos { PREFIX_TABLE (PREFIX_EVEX_0F2F) }, 58 1.1 christos /* 30 */ 59 1.1 christos { Bad_Opcode }, 60 1.1 christos { Bad_Opcode }, 61 1.1 christos { Bad_Opcode }, 62 1.1 christos { Bad_Opcode }, 63 1.1 christos { Bad_Opcode }, 64 1.1 christos { Bad_Opcode }, 65 1.1 christos { Bad_Opcode }, 66 1.1 christos { Bad_Opcode }, 67 1.1 christos /* 38 */ 68 1.1 christos { Bad_Opcode }, 69 1.1 christos { Bad_Opcode }, 70 1.1 christos { Bad_Opcode }, 71 1.1 christos { Bad_Opcode }, 72 1.1 christos { Bad_Opcode }, 73 1.1 christos { Bad_Opcode }, 74 1.1 christos { Bad_Opcode }, 75 1.1 christos { Bad_Opcode }, 76 1.1 christos /* 40 */ 77 1.1 christos { Bad_Opcode }, 78 1.1 christos { Bad_Opcode }, 79 1.1 christos { Bad_Opcode }, 80 1.1 christos { Bad_Opcode }, 81 1.1 christos { Bad_Opcode }, 82 1.1 christos { Bad_Opcode }, 83 1.1 christos { Bad_Opcode }, 84 1.1 christos { Bad_Opcode }, 85 1.1 christos /* 48 */ 86 1.1 christos { Bad_Opcode }, 87 1.1 christos { Bad_Opcode }, 88 1.1 christos { Bad_Opcode }, 89 1.1 christos { Bad_Opcode }, 90 1.1 christos { Bad_Opcode }, 91 1.1 christos { Bad_Opcode }, 92 1.1 christos { Bad_Opcode }, 93 1.1 christos { Bad_Opcode }, 94 1.1 christos /* 50 */ 95 1.1 christos { Bad_Opcode }, 96 1.7 christos { PREFIX_TABLE (PREFIX_0F51) }, 97 1.1 christos { Bad_Opcode }, 98 1.1 christos { Bad_Opcode }, 99 1.7 christos { "%XEvandpX", { XM, Vex, EXx }, PREFIX_OPCODE }, 100 1.7 christos { "%XEvandnpX", { XM, Vex, EXx }, PREFIX_OPCODE }, 101 1.7 christos { "%XEvorpX", { XM, Vex, EXx }, PREFIX_OPCODE }, 102 1.7 christos { "%XEvxorpX", { XM, Vex, EXx }, PREFIX_OPCODE }, 103 1.1 christos /* 58 */ 104 1.7 christos { PREFIX_TABLE (PREFIX_0F58) }, 105 1.7 christos { PREFIX_TABLE (PREFIX_0F59) }, 106 1.7 christos { PREFIX_TABLE (PREFIX_0F5A) }, 107 1.1 christos { PREFIX_TABLE (PREFIX_EVEX_0F5B) }, 108 1.7 christos { PREFIX_TABLE (PREFIX_0F5C) }, 109 1.7 christos { PREFIX_TABLE (PREFIX_0F5D) }, 110 1.7 christos { PREFIX_TABLE (PREFIX_0F5E) }, 111 1.7 christos { PREFIX_TABLE (PREFIX_0F5F) }, 112 1.1 christos /* 60 */ 113 1.7 christos { "%XEvpunpcklbw", { XM, Vex, EXx }, PREFIX_DATA }, 114 1.7 christos { "%XEvpunpcklwd", { XM, Vex, EXx }, PREFIX_DATA }, 115 1.6 christos { VEX_W_TABLE (EVEX_W_0F62) }, 116 1.7 christos { "%XEvpacksswb", { XM, Vex, EXx }, PREFIX_DATA }, 117 1.6 christos { "vpcmpgtb", { MaskG, Vex, EXx }, PREFIX_DATA }, 118 1.6 christos { "vpcmpgtw", { MaskG, Vex, EXx }, PREFIX_DATA }, 119 1.6 christos { VEX_W_TABLE (EVEX_W_0F66) }, 120 1.7 christos { "%XEvpackuswb", { XM, Vex, EXx }, PREFIX_DATA }, 121 1.1 christos /* 68 */ 122 1.7 christos { "%XEvpunpckhbw", { XM, Vex, EXx }, PREFIX_DATA }, 123 1.7 christos { "%XEvpunpckhwd", { XM, Vex, EXx }, PREFIX_DATA }, 124 1.6 christos { VEX_W_TABLE (EVEX_W_0F6A) }, 125 1.6 christos { VEX_W_TABLE (EVEX_W_0F6B) }, 126 1.6 christos { VEX_W_TABLE (EVEX_W_0F6C) }, 127 1.6 christos { VEX_W_TABLE (EVEX_W_0F6D) }, 128 1.6 christos { VEX_LEN_TABLE (VEX_LEN_0F6E) }, 129 1.1 christos { PREFIX_TABLE (PREFIX_EVEX_0F6F) }, 130 1.1 christos /* 70 */ 131 1.1 christos { PREFIX_TABLE (PREFIX_EVEX_0F70) }, 132 1.1 christos { REG_TABLE (REG_EVEX_0F71) }, 133 1.1 christos { REG_TABLE (REG_EVEX_0F72) }, 134 1.1 christos { REG_TABLE (REG_EVEX_0F73) }, 135 1.6 christos { "vpcmpeqb", { MaskG, Vex, EXx }, PREFIX_DATA }, 136 1.6 christos { "vpcmpeqw", { MaskG, Vex, EXx }, PREFIX_DATA }, 137 1.6 christos { VEX_W_TABLE (EVEX_W_0F76) }, 138 1.1 christos { Bad_Opcode }, 139 1.1 christos /* 78 */ 140 1.1 christos { PREFIX_TABLE (PREFIX_EVEX_0F78) }, 141 1.1 christos { PREFIX_TABLE (PREFIX_EVEX_0F79) }, 142 1.1 christos { PREFIX_TABLE (PREFIX_EVEX_0F7A) }, 143 1.1 christos { PREFIX_TABLE (PREFIX_EVEX_0F7B) }, 144 1.1 christos { Bad_Opcode }, 145 1.1 christos { Bad_Opcode }, 146 1.1 christos { PREFIX_TABLE (PREFIX_EVEX_0F7E) }, 147 1.1 christos { PREFIX_TABLE (PREFIX_EVEX_0F7F) }, 148 1.1 christos /* 80 */ 149 1.1 christos { Bad_Opcode }, 150 1.1 christos { Bad_Opcode }, 151 1.1 christos { Bad_Opcode }, 152 1.1 christos { Bad_Opcode }, 153 1.1 christos { Bad_Opcode }, 154 1.1 christos { Bad_Opcode }, 155 1.1 christos { Bad_Opcode }, 156 1.1 christos { Bad_Opcode }, 157 1.1 christos /* 88 */ 158 1.1 christos { Bad_Opcode }, 159 1.1 christos { Bad_Opcode }, 160 1.1 christos { Bad_Opcode }, 161 1.1 christos { Bad_Opcode }, 162 1.1 christos { Bad_Opcode }, 163 1.1 christos { Bad_Opcode }, 164 1.1 christos { Bad_Opcode }, 165 1.1 christos { Bad_Opcode }, 166 1.1 christos /* 90 */ 167 1.8 christos { X86_64_EVEX_W_TABLE (VEX_W_0F90_L_0) }, 168 1.8 christos { X86_64_EVEX_W_TABLE (VEX_W_0F91_L_0) }, 169 1.8 christos { X86_64_EVEX_W_TABLE (VEX_W_0F92_L_0) }, 170 1.8 christos { X86_64_EVEX_W_TABLE (VEX_W_0F93_L_0) }, 171 1.1 christos { Bad_Opcode }, 172 1.1 christos { Bad_Opcode }, 173 1.1 christos { Bad_Opcode }, 174 1.1 christos { Bad_Opcode }, 175 1.1 christos /* 98 */ 176 1.1 christos { Bad_Opcode }, 177 1.1 christos { Bad_Opcode }, 178 1.1 christos { Bad_Opcode }, 179 1.1 christos { Bad_Opcode }, 180 1.1 christos { Bad_Opcode }, 181 1.1 christos { Bad_Opcode }, 182 1.1 christos { Bad_Opcode }, 183 1.1 christos { Bad_Opcode }, 184 1.1 christos /* A0 */ 185 1.1 christos { Bad_Opcode }, 186 1.1 christos { Bad_Opcode }, 187 1.1 christos { Bad_Opcode }, 188 1.1 christos { Bad_Opcode }, 189 1.1 christos { Bad_Opcode }, 190 1.1 christos { Bad_Opcode }, 191 1.1 christos { Bad_Opcode }, 192 1.1 christos { Bad_Opcode }, 193 1.1 christos /* A8 */ 194 1.1 christos { Bad_Opcode }, 195 1.1 christos { Bad_Opcode }, 196 1.1 christos { Bad_Opcode }, 197 1.1 christos { Bad_Opcode }, 198 1.1 christos { Bad_Opcode }, 199 1.1 christos { Bad_Opcode }, 200 1.1 christos { Bad_Opcode }, 201 1.1 christos { Bad_Opcode }, 202 1.1 christos /* B0 */ 203 1.1 christos { Bad_Opcode }, 204 1.1 christos { Bad_Opcode }, 205 1.1 christos { Bad_Opcode }, 206 1.1 christos { Bad_Opcode }, 207 1.1 christos { Bad_Opcode }, 208 1.1 christos { Bad_Opcode }, 209 1.1 christos { Bad_Opcode }, 210 1.1 christos { Bad_Opcode }, 211 1.1 christos /* B8 */ 212 1.1 christos { Bad_Opcode }, 213 1.1 christos { Bad_Opcode }, 214 1.1 christos { Bad_Opcode }, 215 1.1 christos { Bad_Opcode }, 216 1.1 christos { Bad_Opcode }, 217 1.1 christos { Bad_Opcode }, 218 1.1 christos { Bad_Opcode }, 219 1.1 christos { Bad_Opcode }, 220 1.1 christos /* C0 */ 221 1.1 christos { Bad_Opcode }, 222 1.1 christos { Bad_Opcode }, 223 1.1 christos { PREFIX_TABLE (PREFIX_EVEX_0FC2) }, 224 1.1 christos { Bad_Opcode }, 225 1.6 christos { VEX_LEN_TABLE (VEX_LEN_0FC4) }, 226 1.7 christos { "%XEvpextrw", { Gd, Uxmm, Ib }, PREFIX_DATA }, 227 1.7 christos { "%XEvshufpX", { XM, Vex, EXx, Ib }, PREFIX_OPCODE }, 228 1.1 christos { Bad_Opcode }, 229 1.1 christos /* C8 */ 230 1.1 christos { Bad_Opcode }, 231 1.1 christos { Bad_Opcode }, 232 1.1 christos { Bad_Opcode }, 233 1.1 christos { Bad_Opcode }, 234 1.1 christos { Bad_Opcode }, 235 1.1 christos { Bad_Opcode }, 236 1.1 christos { Bad_Opcode }, 237 1.1 christos { Bad_Opcode }, 238 1.1 christos /* D0 */ 239 1.1 christos { Bad_Opcode }, 240 1.7 christos { "%XEvpsrlw", { XM, Vex, EXxmm }, PREFIX_DATA }, 241 1.6 christos { VEX_W_TABLE (EVEX_W_0FD2) }, 242 1.6 christos { VEX_W_TABLE (EVEX_W_0FD3) }, 243 1.6 christos { VEX_W_TABLE (EVEX_W_0FD4) }, 244 1.7 christos { "%XEvpmullw", { XM, Vex, EXx }, PREFIX_DATA }, 245 1.6 christos { VEX_W_TABLE (EVEX_W_0FD6) }, 246 1.1 christos { Bad_Opcode }, 247 1.1 christos /* D8 */ 248 1.7 christos { "%XEvpsubusb", { XM, Vex, EXx }, PREFIX_DATA }, 249 1.7 christos { "%XEvpsubusw", { XM, Vex, EXx }, PREFIX_DATA }, 250 1.7 christos { "%XEvpminub", { XM, Vex, EXx }, PREFIX_DATA }, 251 1.6 christos { "vpand%DQ", { XM, Vex, EXx }, PREFIX_DATA }, 252 1.7 christos { "%XEvpaddusb", { XM, Vex, EXx }, PREFIX_DATA }, 253 1.7 christos { "%XEvpaddusw", { XM, Vex, EXx }, PREFIX_DATA }, 254 1.7 christos { "%XEvpmaxub", { XM, Vex, EXx }, PREFIX_DATA }, 255 1.6 christos { "vpandn%DQ", { XM, Vex, EXx }, PREFIX_DATA }, 256 1.1 christos /* E0 */ 257 1.7 christos { "%XEvpavgb", { XM, Vex, EXx }, PREFIX_DATA }, 258 1.7 christos { "%XEvpsraw", { XM, Vex, EXxmm }, PREFIX_DATA }, 259 1.8 christos { VEX_W_TABLE (EVEX_W_0FE2) }, 260 1.7 christos { "%XEvpavgw", { XM, Vex, EXx }, PREFIX_DATA }, 261 1.7 christos { "%XEvpmulhuw", { XM, Vex, EXx }, PREFIX_DATA }, 262 1.7 christos { "%XEvpmulhw", { XM, Vex, EXx }, PREFIX_DATA }, 263 1.1 christos { PREFIX_TABLE (PREFIX_EVEX_0FE6) }, 264 1.6 christos { VEX_W_TABLE (EVEX_W_0FE7) }, 265 1.1 christos /* E8 */ 266 1.7 christos { "%XEvpsubsb", { XM, Vex, EXx }, PREFIX_DATA }, 267 1.7 christos { "%XEvpsubsw", { XM, Vex, EXx }, PREFIX_DATA }, 268 1.7 christos { "%XEvpminsw", { XM, Vex, EXx }, PREFIX_DATA }, 269 1.6 christos { "vpor%DQ", { XM, Vex, EXx }, PREFIX_DATA }, 270 1.7 christos { "%XEvpaddsb", { XM, Vex, EXx }, PREFIX_DATA }, 271 1.7 christos { "%XEvpaddsw", { XM, Vex, EXx }, PREFIX_DATA }, 272 1.7 christos { "%XEvpmaxsw", { XM, Vex, EXx }, PREFIX_DATA }, 273 1.6 christos { "vpxor%DQ", { XM, Vex, EXx }, PREFIX_DATA }, 274 1.1 christos /* F0 */ 275 1.1 christos { Bad_Opcode }, 276 1.7 christos { "%XEvpsllw", { XM, Vex, EXxmm }, PREFIX_DATA }, 277 1.6 christos { VEX_W_TABLE (EVEX_W_0FF2) }, 278 1.6 christos { VEX_W_TABLE (EVEX_W_0FF3) }, 279 1.6 christos { VEX_W_TABLE (EVEX_W_0FF4) }, 280 1.7 christos { "%XEvpmaddwd", { XM, Vex, EXx }, PREFIX_DATA }, 281 1.7 christos { "%XEvpsadbwY", { XM, Vex, EXx }, PREFIX_DATA }, 282 1.1 christos { Bad_Opcode }, 283 1.1 christos /* F8 */ 284 1.7 christos { "%XEvpsubb", { XM, Vex, EXx }, PREFIX_DATA }, 285 1.7 christos { "%XEvpsubw", { XM, Vex, EXx }, PREFIX_DATA }, 286 1.6 christos { VEX_W_TABLE (EVEX_W_0FFA) }, 287 1.6 christos { VEX_W_TABLE (EVEX_W_0FFB) }, 288 1.7 christos { "%XEvpaddb", { XM, Vex, EXx }, PREFIX_DATA }, 289 1.7 christos { "%XEvpaddw", { XM, Vex, EXx }, PREFIX_DATA }, 290 1.6 christos { VEX_W_TABLE (EVEX_W_0FFE) }, 291 1.1 christos { Bad_Opcode }, 292 1.1 christos }, 293 1.1 christos /* EVEX_0F38 */ 294 1.1 christos { 295 1.1 christos /* 00 */ 296 1.7 christos { "%XEvpshufb", { XM, Vex, EXx }, PREFIX_DATA }, 297 1.1 christos { Bad_Opcode }, 298 1.1 christos { Bad_Opcode }, 299 1.1 christos { Bad_Opcode }, 300 1.7 christos { "%XEvpmaddubsw", { XM, Vex, EXx }, PREFIX_DATA }, 301 1.1 christos { Bad_Opcode }, 302 1.1 christos { Bad_Opcode }, 303 1.1 christos { Bad_Opcode }, 304 1.1 christos /* 08 */ 305 1.1 christos { Bad_Opcode }, 306 1.1 christos { Bad_Opcode }, 307 1.1 christos { Bad_Opcode }, 308 1.7 christos { "%XEvpmulhrsw", { XM, Vex, EXx }, PREFIX_DATA }, 309 1.6 christos { VEX_W_TABLE (VEX_W_0F380C) }, 310 1.7 christos { "%XEvpermilp%XD", { XM, Vex, EXx }, PREFIX_DATA }, 311 1.1 christos { Bad_Opcode }, 312 1.1 christos { Bad_Opcode }, 313 1.1 christos /* 10 */ 314 1.1 christos { PREFIX_TABLE (PREFIX_EVEX_0F3810) }, 315 1.1 christos { PREFIX_TABLE (PREFIX_EVEX_0F3811) }, 316 1.1 christos { PREFIX_TABLE (PREFIX_EVEX_0F3812) }, 317 1.1 christos { PREFIX_TABLE (PREFIX_EVEX_0F3813) }, 318 1.1 christos { PREFIX_TABLE (PREFIX_EVEX_0F3814) }, 319 1.1 christos { PREFIX_TABLE (PREFIX_EVEX_0F3815) }, 320 1.6 christos { EVEX_LEN_TABLE (EVEX_LEN_0F3816) }, 321 1.1 christos { Bad_Opcode }, 322 1.1 christos /* 18 */ 323 1.6 christos { VEX_W_TABLE (VEX_W_0F3818) }, 324 1.6 christos { EVEX_LEN_TABLE (EVEX_LEN_0F3819) }, 325 1.7 christos { EVEX_LEN_TABLE (EVEX_LEN_0F381A) }, 326 1.7 christos { EVEX_LEN_TABLE (EVEX_LEN_0F381B) }, 327 1.7 christos { "%XEvpabsb", { XM, EXx }, PREFIX_DATA }, 328 1.7 christos { "%XEvpabsw", { XM, EXx }, PREFIX_DATA }, 329 1.6 christos { VEX_W_TABLE (EVEX_W_0F381E) }, 330 1.6 christos { VEX_W_TABLE (EVEX_W_0F381F) }, 331 1.1 christos /* 20 */ 332 1.1 christos { PREFIX_TABLE (PREFIX_EVEX_0F3820) }, 333 1.1 christos { PREFIX_TABLE (PREFIX_EVEX_0F3821) }, 334 1.1 christos { PREFIX_TABLE (PREFIX_EVEX_0F3822) }, 335 1.1 christos { PREFIX_TABLE (PREFIX_EVEX_0F3823) }, 336 1.1 christos { PREFIX_TABLE (PREFIX_EVEX_0F3824) }, 337 1.1 christos { PREFIX_TABLE (PREFIX_EVEX_0F3825) }, 338 1.1 christos { PREFIX_TABLE (PREFIX_EVEX_0F3826) }, 339 1.1 christos { PREFIX_TABLE (PREFIX_EVEX_0F3827) }, 340 1.1 christos /* 28 */ 341 1.1 christos { PREFIX_TABLE (PREFIX_EVEX_0F3828) }, 342 1.1 christos { PREFIX_TABLE (PREFIX_EVEX_0F3829) }, 343 1.1 christos { PREFIX_TABLE (PREFIX_EVEX_0F382A) }, 344 1.6 christos { VEX_W_TABLE (EVEX_W_0F382B) }, 345 1.6 christos { "vscalefp%XW", { XM, Vex, EXx, EXxEVexR }, PREFIX_DATA }, 346 1.6 christos { "vscalefs%XW", { XMScalar, VexScalar, EXdq, EXxEVexR }, PREFIX_DATA }, 347 1.1 christos { Bad_Opcode }, 348 1.1 christos { Bad_Opcode }, 349 1.1 christos /* 30 */ 350 1.1 christos { PREFIX_TABLE (PREFIX_EVEX_0F3830) }, 351 1.1 christos { PREFIX_TABLE (PREFIX_EVEX_0F3831) }, 352 1.1 christos { PREFIX_TABLE (PREFIX_EVEX_0F3832) }, 353 1.1 christos { PREFIX_TABLE (PREFIX_EVEX_0F3833) }, 354 1.1 christos { PREFIX_TABLE (PREFIX_EVEX_0F3834) }, 355 1.1 christos { PREFIX_TABLE (PREFIX_EVEX_0F3835) }, 356 1.6 christos { EVEX_LEN_TABLE (EVEX_LEN_0F3836) }, 357 1.6 christos { VEX_W_TABLE (EVEX_W_0F3837) }, 358 1.1 christos /* 38 */ 359 1.1 christos { PREFIX_TABLE (PREFIX_EVEX_0F3838) }, 360 1.1 christos { PREFIX_TABLE (PREFIX_EVEX_0F3839) }, 361 1.1 christos { PREFIX_TABLE (PREFIX_EVEX_0F383A) }, 362 1.7 christos { "%XEvpminu%DQ", { XM, Vex, EXx }, PREFIX_DATA }, 363 1.7 christos { "%XEvpmaxsb", { XM, Vex, EXx }, PREFIX_DATA }, 364 1.7 christos { "%XEvpmaxs%DQ", { XM, Vex, EXx }, PREFIX_DATA }, 365 1.7 christos { "%XEvpmaxuw", { XM, Vex, EXx }, PREFIX_DATA }, 366 1.7 christos { "%XEvpmaxu%DQ", { XM, Vex, EXx }, PREFIX_DATA }, 367 1.1 christos /* 40 */ 368 1.7 christos { "%XEvpmull%DQ", { XM, Vex, EXx }, PREFIX_DATA }, 369 1.1 christos { Bad_Opcode }, 370 1.6 christos { "vgetexpp%XW", { XM, EXx, EXxEVexS }, PREFIX_DATA }, 371 1.6 christos { "vgetexps%XW", { XMScalar, VexScalar, EXdq, EXxEVexS }, PREFIX_DATA }, 372 1.6 christos { "vplzcnt%DQ", { XM, EXx }, PREFIX_DATA }, 373 1.6 christos { "vpsrlv%DQ", { XM, Vex, EXx }, PREFIX_DATA }, 374 1.6 christos { "vpsrav%DQ", { XM, Vex, EXx }, PREFIX_DATA }, 375 1.6 christos { "vpsllv%DQ", { XM, Vex, EXx }, PREFIX_DATA }, 376 1.1 christos /* 48 */ 377 1.1 christos { Bad_Opcode }, 378 1.8 christos { X86_64_EVEX_MEM_W_TABLE (VEX_W_0F3849_X86_64_L_0) }, 379 1.8 christos { X86_64_TABLE (X86_64_EVEX_0F384A) }, 380 1.8 christos { X86_64_EVEX_MEM_W_TABLE (VEX_W_0F384B_X86_64_L_0) }, 381 1.6 christos { "vrcp14p%XW", { XM, EXx }, PREFIX_DATA }, 382 1.6 christos { "vrcp14s%XW", { XMScalar, VexScalar, EXdq }, PREFIX_DATA }, 383 1.6 christos { "vrsqrt14p%XW", { XM, EXx }, 0 }, 384 1.6 christos { "vrsqrt14s%XW", { XMScalar, VexScalar, EXdq }, PREFIX_DATA }, 385 1.1 christos /* 50 */ 386 1.7 christos { VEX_W_TABLE (VEX_W_0F3850) }, 387 1.7 christos { VEX_W_TABLE (VEX_W_0F3851) }, 388 1.4 christos { PREFIX_TABLE (PREFIX_EVEX_0F3852) }, 389 1.4 christos { PREFIX_TABLE (PREFIX_EVEX_0F3853) }, 390 1.6 christos { "vpopcnt%BW", { XM, EXx }, PREFIX_DATA }, 391 1.6 christos { "vpopcnt%DQ", { XM, EXx }, PREFIX_DATA }, 392 1.1 christos { Bad_Opcode }, 393 1.1 christos { Bad_Opcode }, 394 1.1 christos /* 58 */ 395 1.6 christos { VEX_W_TABLE (VEX_W_0F3858) }, 396 1.6 christos { VEX_W_TABLE (EVEX_W_0F3859) }, 397 1.7 christos { EVEX_LEN_TABLE (EVEX_LEN_0F385A) }, 398 1.7 christos { EVEX_LEN_TABLE (EVEX_LEN_0F385B) }, 399 1.1 christos { Bad_Opcode }, 400 1.1 christos { Bad_Opcode }, 401 1.1 christos { Bad_Opcode }, 402 1.1 christos { Bad_Opcode }, 403 1.1 christos /* 60 */ 404 1.1 christos { Bad_Opcode }, 405 1.1 christos { Bad_Opcode }, 406 1.6 christos { "vpexpand%BW", { XM, EXbwUnit }, PREFIX_DATA }, 407 1.6 christos { "vpcompress%BW", { EXbwUnit, XM }, PREFIX_DATA }, 408 1.6 christos { "vpblendm%DQ", { XM, Vex, EXx }, PREFIX_DATA }, 409 1.6 christos { "vblendmp%XW", { XM, Vex, EXx }, PREFIX_DATA }, 410 1.6 christos { "vpblendm%BW", { XM, Vex, EXx }, PREFIX_DATA }, 411 1.8 christos { "vcvt2p%XS2phx", { XM, Vex, EXx, EXxEVexR }, PREFIX_DATA }, 412 1.1 christos /* 68 */ 413 1.5 christos { PREFIX_TABLE (PREFIX_EVEX_0F3868) }, 414 1.1 christos { Bad_Opcode }, 415 1.1 christos { Bad_Opcode }, 416 1.1 christos { Bad_Opcode }, 417 1.1 christos { Bad_Opcode }, 418 1.8 christos { X86_64_TABLE (X86_64_EVEX_0F386D) }, 419 1.8 christos { X86_64_EVEX_FROM_VEX_TABLE (X86_64_VEX_0F386E) }, 420 1.8 christos { X86_64_EVEX_FROM_VEX_TABLE (X86_64_VEX_0F386F) }, 421 1.1 christos /* 70 */ 422 1.6 christos { VEX_W_TABLE (EVEX_W_0F3870) }, 423 1.6 christos { "vpshldv%DQ", { XM, Vex, EXx }, PREFIX_DATA }, 424 1.4 christos { PREFIX_TABLE (PREFIX_EVEX_0F3872) }, 425 1.6 christos { "vpshrdv%DQ", { XM, Vex, EXx }, PREFIX_DATA }, 426 1.8 christos { PREFIX_TABLE (PREFIX_EVEX_0F3874) }, 427 1.6 christos { "vpermi2%BW", { XM, Vex, EXx }, PREFIX_DATA }, 428 1.6 christos { "vpermi2%DQ", { XM, Vex, EXx }, PREFIX_DATA }, 429 1.6 christos { "vpermi2p%XW", { XM, Vex, EXx }, PREFIX_DATA }, 430 1.1 christos /* 78 */ 431 1.6 christos { VEX_W_TABLE (VEX_W_0F3878) }, 432 1.6 christos { VEX_W_TABLE (VEX_W_0F3879) }, 433 1.6 christos { VEX_W_TABLE (EVEX_W_0F387A) }, 434 1.6 christos { VEX_W_TABLE (EVEX_W_0F387B) }, 435 1.7 christos { "vpbroadcastK", { XM, Rdq }, PREFIX_DATA }, 436 1.6 christos { "vpermt2%BW", { XM, Vex, EXx }, PREFIX_DATA }, 437 1.6 christos { "vpermt2%DQ", { XM, Vex, EXx }, PREFIX_DATA }, 438 1.6 christos { "vpermt2p%XW", { XM, Vex, EXx }, PREFIX_DATA }, 439 1.1 christos /* 80 */ 440 1.1 christos { Bad_Opcode }, 441 1.1 christos { Bad_Opcode }, 442 1.1 christos { Bad_Opcode }, 443 1.6 christos { VEX_W_TABLE (EVEX_W_0F3883) }, 444 1.1 christos { Bad_Opcode }, 445 1.1 christos { Bad_Opcode }, 446 1.1 christos { Bad_Opcode }, 447 1.1 christos { Bad_Opcode }, 448 1.1 christos /* 88 */ 449 1.6 christos { "vexpandp%XW", { XM, EXEvexXGscat }, PREFIX_DATA }, 450 1.6 christos { "vpexpand%DQ", { XM, EXEvexXGscat }, PREFIX_DATA }, 451 1.6 christos { "vcompressp%XW", { EXEvexXGscat, XM }, PREFIX_DATA }, 452 1.6 christos { "vpcompress%DQ", { EXEvexXGscat, XM }, PREFIX_DATA }, 453 1.1 christos { Bad_Opcode }, 454 1.6 christos { "vperm%BW", { XM, Vex, EXx }, PREFIX_DATA }, 455 1.1 christos { Bad_Opcode }, 456 1.6 christos { "vpshufbitqmb", { MaskG, Vex, EXx }, PREFIX_DATA }, 457 1.1 christos /* 90 */ 458 1.6 christos { "vpgatherd%DQ", { XMGatherD, MVexVSIBDWpX }, PREFIX_DATA }, 459 1.6 christos { "vpgatherq%DQ", { XMGatherQ, MVexVSIBQWpX }, PREFIX_DATA }, 460 1.6 christos { "vgatherdp%XW", { XMGatherD, MVexVSIBDWpX }, PREFIX_DATA }, 461 1.6 christos { "vgatherqp%XW", { XMGatherQ, MVexVSIBQWpX }, PREFIX_DATA }, 462 1.1 christos { Bad_Opcode }, 463 1.1 christos { Bad_Opcode }, 464 1.7 christos { "%XEvfmaddsub132p%XW", { XM, Vex, EXx, EXxEVexR }, PREFIX_DATA }, 465 1.7 christos { "%XEvfmsubadd132p%XW", { XM, Vex, EXx, EXxEVexR }, PREFIX_DATA }, 466 1.1 christos /* 98 */ 467 1.7 christos { "%XEvfmadd132p%XW", { XM, Vex, EXx, EXxEVexR }, PREFIX_DATA }, 468 1.7 christos { "%XEvfmadd132s%XW", { XMScalar, VexScalar, EXdq, EXxEVexR }, PREFIX_DATA }, 469 1.1 christos { PREFIX_TABLE (PREFIX_EVEX_0F389A) }, 470 1.1 christos { PREFIX_TABLE (PREFIX_EVEX_0F389B) }, 471 1.7 christos { "%XEvfnmadd132p%XW", { XM, Vex, EXx, EXxEVexR }, PREFIX_DATA }, 472 1.7 christos { "%XEvfnmadd132s%XW", { XMScalar, VexScalar, EXdq, EXxEVexR }, PREFIX_DATA }, 473 1.7 christos { "%XEvfnmsub132p%XW", { XM, Vex, EXx, EXxEVexR }, PREFIX_DATA }, 474 1.7 christos { "%XEvfnmsub132s%XW", { XMScalar, VexScalar, EXdq, EXxEVexR }, PREFIX_DATA }, 475 1.1 christos /* A0 */ 476 1.6 christos { "vpscatterd%DQ", { MVexVSIBDWpX, XM }, PREFIX_DATA }, 477 1.6 christos { "vpscatterq%DQ", { MVexVSIBQWpX, XMGatherQ }, PREFIX_DATA }, 478 1.6 christos { "vscatterdp%XW", { MVexVSIBDWpX, XM }, PREFIX_DATA }, 479 1.6 christos { "vscatterqp%XW", { MVexVSIBQWpX, XMGatherQ }, PREFIX_DATA }, 480 1.1 christos { Bad_Opcode }, 481 1.1 christos { Bad_Opcode }, 482 1.7 christos { "%XEvfmaddsub213p%XW", { XM, Vex, EXx, EXxEVexR }, PREFIX_DATA }, 483 1.7 christos { "%XEvfmsubadd213p%XW", { XM, Vex, EXx, EXxEVexR }, PREFIX_DATA }, 484 1.1 christos /* A8 */ 485 1.7 christos { "%XEvfmadd213p%XW", { XM, Vex, EXx, EXxEVexR }, PREFIX_DATA }, 486 1.7 christos { "%XEvfmadd213s%XW", { XMScalar, VexScalar, EXdq, EXxEVexR }, PREFIX_DATA }, 487 1.1 christos { PREFIX_TABLE (PREFIX_EVEX_0F38AA) }, 488 1.1 christos { PREFIX_TABLE (PREFIX_EVEX_0F38AB) }, 489 1.7 christos { "%XEvfnmadd213p%XW", { XM, Vex, EXx, EXxEVexR }, PREFIX_DATA }, 490 1.7 christos { "%XEvfnmadd213s%XW", { XMScalar, VexScalar, EXdq, EXxEVexR }, PREFIX_DATA }, 491 1.7 christos { "%XEvfnmsub213p%XW", { XM, Vex, EXx, EXxEVexR }, PREFIX_DATA }, 492 1.7 christos { "%XEvfnmsub213s%XW", { XMScalar, VexScalar, EXdq, EXxEVexR }, PREFIX_DATA }, 493 1.1 christos /* B0 */ 494 1.1 christos { Bad_Opcode }, 495 1.1 christos { Bad_Opcode }, 496 1.1 christos { Bad_Opcode }, 497 1.1 christos { Bad_Opcode }, 498 1.7 christos { VEX_W_TABLE (VEX_W_0F38B4) }, 499 1.7 christos { VEX_W_TABLE (VEX_W_0F38B5) }, 500 1.7 christos { "%XEvfmaddsub231p%XW", { XM, Vex, EXx, EXxEVexR }, PREFIX_DATA }, 501 1.7 christos { "%XEvfmsubadd231p%XW", { XM, Vex, EXx, EXxEVexR }, PREFIX_DATA }, 502 1.1 christos /* B8 */ 503 1.7 christos { "%XEvfmadd231p%XW", { XM, Vex, EXx, EXxEVexR }, PREFIX_DATA }, 504 1.7 christos { "%XEvfmadd231s%XW", { XMScalar, VexScalar, EXdq, EXxEVexR }, PREFIX_DATA }, 505 1.7 christos { "%XEvfmsub231p%XW", { XM, Vex, EXx, EXxEVexR }, PREFIX_DATA }, 506 1.7 christos { "%XEvfmsub231s%XW", { XMScalar, VexScalar, EXdq, EXxEVexR }, PREFIX_DATA }, 507 1.7 christos { "%XEvfnmadd231p%XW", { XM, Vex, EXx, EXxEVexR }, PREFIX_DATA }, 508 1.7 christos { "%XEvfnmadd231s%XW", { XMScalar, VexScalar, EXdq, EXxEVexR }, PREFIX_DATA }, 509 1.7 christos { "%XEvfnmsub231p%XW", { XM, Vex, EXx, EXxEVexR }, PREFIX_DATA }, 510 1.7 christos { "%XEvfnmsub231s%XW", { XMScalar, VexScalar, EXdq, EXxEVexR }, PREFIX_DATA }, 511 1.1 christos /* C0 */ 512 1.1 christos { Bad_Opcode }, 513 1.1 christos { Bad_Opcode }, 514 1.1 christos { Bad_Opcode }, 515 1.1 christos { Bad_Opcode }, 516 1.6 christos { "vpconflict%DQ", { XM, EXx }, PREFIX_DATA }, 517 1.1 christos { Bad_Opcode }, 518 1.7 christos { EVEX_LEN_TABLE (EVEX_LEN_0F38C6) }, 519 1.7 christos { EVEX_LEN_TABLE (EVEX_LEN_0F38C7) }, 520 1.1 christos /* C8 */ 521 1.6 christos { "vexp2p%XW", { XM, EXx, EXxEVexS }, PREFIX_DATA }, 522 1.1 christos { Bad_Opcode }, 523 1.6 christos { "vrcp28p%XW", { XM, EXx, EXxEVexS }, PREFIX_DATA }, 524 1.6 christos { "vrcp28s%XW", { XMScalar, VexScalar, EXdq, EXxEVexS }, PREFIX_DATA }, 525 1.6 christos { "vrsqrt28p%XW", { XM, EXx, EXxEVexS }, PREFIX_DATA }, 526 1.6 christos { "vrsqrt28s%XW", { XMScalar, VexScalar, EXdq, EXxEVexS }, PREFIX_DATA }, 527 1.1 christos { Bad_Opcode }, 528 1.6 christos { VEX_W_TABLE (VEX_W_0F38CF) }, 529 1.1 christos /* D0 */ 530 1.1 christos { Bad_Opcode }, 531 1.1 christos { Bad_Opcode }, 532 1.8 christos { VEX_W_TABLE (VEX_W_0F38D2) }, 533 1.8 christos { VEX_W_TABLE (VEX_W_0F38D3) }, 534 1.1 christos { Bad_Opcode }, 535 1.1 christos { Bad_Opcode }, 536 1.1 christos { Bad_Opcode }, 537 1.1 christos { Bad_Opcode }, 538 1.1 christos /* D8 */ 539 1.1 christos { Bad_Opcode }, 540 1.1 christos { Bad_Opcode }, 541 1.8 christos { VEX_W_TABLE (VEX_W_0F38DA) }, 542 1.1 christos { Bad_Opcode }, 543 1.7 christos { "%XEvaesencY", { XM, Vex, EXx }, PREFIX_DATA }, 544 1.7 christos { "%XEvaesenclastY", { XM, Vex, EXx }, PREFIX_DATA }, 545 1.7 christos { "%XEvaesdecY", { XM, Vex, EXx }, PREFIX_DATA }, 546 1.7 christos { "%XEvaesdeclastY", { XM, Vex, EXx }, PREFIX_DATA }, 547 1.1 christos /* E0 */ 548 1.8 christos { X86_64_EVEX_FROM_VEX_TABLE (X86_64_VEX_0F38Ex) }, 549 1.8 christos { X86_64_EVEX_FROM_VEX_TABLE (X86_64_VEX_0F38Ex) }, 550 1.8 christos { X86_64_EVEX_FROM_VEX_TABLE (X86_64_VEX_0F38Ex) }, 551 1.8 christos { X86_64_EVEX_FROM_VEX_TABLE (X86_64_VEX_0F38Ex) }, 552 1.8 christos { X86_64_EVEX_FROM_VEX_TABLE (X86_64_VEX_0F38Ex) }, 553 1.8 christos { X86_64_EVEX_FROM_VEX_TABLE (X86_64_VEX_0F38Ex) }, 554 1.8 christos { X86_64_EVEX_FROM_VEX_TABLE (X86_64_VEX_0F38Ex) }, 555 1.8 christos { X86_64_EVEX_FROM_VEX_TABLE (X86_64_VEX_0F38Ex) }, 556 1.1 christos /* E8 */ 557 1.8 christos { X86_64_EVEX_FROM_VEX_TABLE (X86_64_VEX_0F38Ex) }, 558 1.8 christos { X86_64_EVEX_FROM_VEX_TABLE (X86_64_VEX_0F38Ex) }, 559 1.8 christos { X86_64_EVEX_FROM_VEX_TABLE (X86_64_VEX_0F38Ex) }, 560 1.8 christos { X86_64_EVEX_FROM_VEX_TABLE (X86_64_VEX_0F38Ex) }, 561 1.8 christos { X86_64_EVEX_FROM_VEX_TABLE (X86_64_VEX_0F38Ex) }, 562 1.8 christos { X86_64_EVEX_FROM_VEX_TABLE (X86_64_VEX_0F38Ex) }, 563 1.8 christos { X86_64_EVEX_FROM_VEX_TABLE (X86_64_VEX_0F38Ex) }, 564 1.8 christos { X86_64_EVEX_FROM_VEX_TABLE (X86_64_VEX_0F38Ex) }, 565 1.1 christos /* F0 */ 566 1.1 christos { Bad_Opcode }, 567 1.1 christos { Bad_Opcode }, 568 1.8 christos { X86_64_EVEX_PFX_TABLE (PREFIX_VEX_0F38F2_L_0) }, 569 1.8 christos { X86_64_EVEX_PFX_TABLE (PREFIX_VEX_0F38F3_L_0) }, 570 1.1 christos { Bad_Opcode }, 571 1.8 christos { X86_64_EVEX_PFX_TABLE (PREFIX_VEX_0F38F5_L_0) }, 572 1.8 christos { X86_64_EVEX_PFX_TABLE (PREFIX_VEX_0F38F6_L_0) }, 573 1.8 christos { X86_64_EVEX_PFX_TABLE (PREFIX_VEX_0F38F7_L_0) }, 574 1.1 christos /* F8 */ 575 1.1 christos { Bad_Opcode }, 576 1.1 christos { Bad_Opcode }, 577 1.1 christos { Bad_Opcode }, 578 1.1 christos { Bad_Opcode }, 579 1.1 christos { Bad_Opcode }, 580 1.1 christos { Bad_Opcode }, 581 1.1 christos { Bad_Opcode }, 582 1.1 christos { Bad_Opcode }, 583 1.1 christos }, 584 1.1 christos /* EVEX_0F3A */ 585 1.1 christos { 586 1.1 christos /* 00 */ 587 1.6 christos { EVEX_LEN_TABLE (EVEX_LEN_0F3A00) }, 588 1.6 christos { EVEX_LEN_TABLE (EVEX_LEN_0F3A01) }, 589 1.1 christos { Bad_Opcode }, 590 1.6 christos { "valign%DQ", { XM, Vex, EXx, Ib }, PREFIX_DATA }, 591 1.6 christos { VEX_W_TABLE (VEX_W_0F3A04) }, 592 1.7 christos { "%XEvpermilp%XD", { XM, EXx, Ib }, PREFIX_DATA }, 593 1.1 christos { Bad_Opcode }, 594 1.8 christos { X86_64_TABLE (X86_64_EVEX_0F3A07) }, 595 1.1 christos /* 08 */ 596 1.1 christos { PREFIX_TABLE (PREFIX_EVEX_0F3A08) }, 597 1.6 christos { "vrndscalep%XD", { XM, EXx, EXxEVexS, Ib }, PREFIX_DATA }, 598 1.1 christos { PREFIX_TABLE (PREFIX_EVEX_0F3A0A) }, 599 1.6 christos { "vrndscales%XD", { XMScalar, VexScalar, EXq, EXxEVexS, Ib }, PREFIX_DATA }, 600 1.1 christos { Bad_Opcode }, 601 1.1 christos { Bad_Opcode }, 602 1.1 christos { Bad_Opcode }, 603 1.7 christos { "%XEvpalignr", { XM, Vex, EXx, Ib }, PREFIX_DATA }, 604 1.1 christos /* 10 */ 605 1.1 christos { Bad_Opcode }, 606 1.1 christos { Bad_Opcode }, 607 1.1 christos { Bad_Opcode }, 608 1.1 christos { Bad_Opcode }, 609 1.6 christos { VEX_LEN_TABLE (VEX_LEN_0F3A14) }, 610 1.6 christos { VEX_LEN_TABLE (VEX_LEN_0F3A15) }, 611 1.6 christos { VEX_LEN_TABLE (VEX_LEN_0F3A16) }, 612 1.6 christos { VEX_LEN_TABLE (VEX_LEN_0F3A17) }, 613 1.1 christos /* 18 */ 614 1.6 christos { EVEX_LEN_TABLE (EVEX_LEN_0F3A18) }, 615 1.6 christos { EVEX_LEN_TABLE (EVEX_LEN_0F3A19) }, 616 1.6 christos { EVEX_LEN_TABLE (EVEX_LEN_0F3A1A) }, 617 1.6 christos { EVEX_LEN_TABLE (EVEX_LEN_0F3A1B) }, 618 1.6 christos { Bad_Opcode }, 619 1.6 christos { VEX_W_TABLE (VEX_W_0F3A1D) }, 620 1.6 christos { "vpcmpu%DQ", { MaskG, Vex, EXx, VPCMP }, PREFIX_DATA }, 621 1.6 christos { "vpcmp%DQ", { MaskG, Vex, EXx, VPCMP }, PREFIX_DATA }, 622 1.1 christos /* 20 */ 623 1.6 christos { VEX_LEN_TABLE (VEX_LEN_0F3A20) }, 624 1.6 christos { VEX_W_TABLE (EVEX_W_0F3A21) }, 625 1.6 christos { VEX_LEN_TABLE (VEX_LEN_0F3A22) }, 626 1.6 christos { EVEX_LEN_TABLE (EVEX_LEN_0F3A23) }, 627 1.1 christos { Bad_Opcode }, 628 1.6 christos { "vpternlog%DQ", { XM, Vex, EXx, Ib }, PREFIX_DATA }, 629 1.1 christos { PREFIX_TABLE (PREFIX_EVEX_0F3A26) }, 630 1.1 christos { PREFIX_TABLE (PREFIX_EVEX_0F3A27) }, 631 1.1 christos /* 28 */ 632 1.1 christos { Bad_Opcode }, 633 1.1 christos { Bad_Opcode }, 634 1.1 christos { Bad_Opcode }, 635 1.1 christos { Bad_Opcode }, 636 1.1 christos { Bad_Opcode }, 637 1.1 christos { Bad_Opcode }, 638 1.1 christos { Bad_Opcode }, 639 1.1 christos { Bad_Opcode }, 640 1.1 christos /* 30 */ 641 1.1 christos { Bad_Opcode }, 642 1.1 christos { Bad_Opcode }, 643 1.1 christos { Bad_Opcode }, 644 1.1 christos { Bad_Opcode }, 645 1.1 christos { Bad_Opcode }, 646 1.1 christos { Bad_Opcode }, 647 1.1 christos { Bad_Opcode }, 648 1.1 christos { Bad_Opcode }, 649 1.1 christos /* 38 */ 650 1.6 christos { EVEX_LEN_TABLE (EVEX_LEN_0F3A38) }, 651 1.6 christos { EVEX_LEN_TABLE (EVEX_LEN_0F3A39) }, 652 1.6 christos { EVEX_LEN_TABLE (EVEX_LEN_0F3A3A) }, 653 1.6 christos { EVEX_LEN_TABLE (EVEX_LEN_0F3A3B) }, 654 1.1 christos { Bad_Opcode }, 655 1.1 christos { Bad_Opcode }, 656 1.6 christos { "vpcmpu%BW", { MaskG, Vex, EXx, VPCMP }, PREFIX_DATA }, 657 1.6 christos { "vpcmp%BW", { MaskG, Vex, EXx, VPCMP }, PREFIX_DATA }, 658 1.1 christos /* 40 */ 659 1.1 christos { Bad_Opcode }, 660 1.1 christos { Bad_Opcode }, 661 1.6 christos { VEX_W_TABLE (EVEX_W_0F3A42) }, 662 1.6 christos { EVEX_LEN_TABLE (EVEX_LEN_0F3A43) }, 663 1.7 christos { "%XEvpclmulqdqY", { XM, Vex, EXx, PCLMUL }, PREFIX_DATA }, 664 1.1 christos { Bad_Opcode }, 665 1.1 christos { Bad_Opcode }, 666 1.1 christos { Bad_Opcode }, 667 1.1 christos /* 48 */ 668 1.1 christos { Bad_Opcode }, 669 1.1 christos { Bad_Opcode }, 670 1.1 christos { Bad_Opcode }, 671 1.1 christos { Bad_Opcode }, 672 1.1 christos { Bad_Opcode }, 673 1.1 christos { Bad_Opcode }, 674 1.1 christos { Bad_Opcode }, 675 1.1 christos { Bad_Opcode }, 676 1.1 christos /* 50 */ 677 1.6 christos { "vrangep%XW", { XM, Vex, EXx, EXxEVexS, Ib }, PREFIX_DATA }, 678 1.6 christos { "vranges%XW", { XMScalar, VexScalar, EXdq, EXxEVexS, Ib }, PREFIX_DATA }, 679 1.8 christos { PREFIX_TABLE (PREFIX_EVEX_0F3A52) }, 680 1.8 christos { PREFIX_TABLE (PREFIX_EVEX_0F3A53) }, 681 1.6 christos { "vfixupimmp%XW", { XM, Vex, EXx, EXxEVexS, Ib }, PREFIX_DATA }, 682 1.6 christos { "vfixupimms%XW", { XMScalar, VexScalar, EXdq, EXxEVexS, Ib }, PREFIX_DATA }, 683 1.1 christos { PREFIX_TABLE (PREFIX_EVEX_0F3A56) }, 684 1.1 christos { PREFIX_TABLE (PREFIX_EVEX_0F3A57) }, 685 1.1 christos /* 58 */ 686 1.1 christos { Bad_Opcode }, 687 1.1 christos { Bad_Opcode }, 688 1.1 christos { Bad_Opcode }, 689 1.1 christos { Bad_Opcode }, 690 1.1 christos { Bad_Opcode }, 691 1.1 christos { Bad_Opcode }, 692 1.1 christos { Bad_Opcode }, 693 1.1 christos { Bad_Opcode }, 694 1.1 christos /* 60 */ 695 1.1 christos { Bad_Opcode }, 696 1.1 christos { Bad_Opcode }, 697 1.1 christos { Bad_Opcode }, 698 1.1 christos { Bad_Opcode }, 699 1.1 christos { Bad_Opcode }, 700 1.1 christos { Bad_Opcode }, 701 1.1 christos { PREFIX_TABLE (PREFIX_EVEX_0F3A66) }, 702 1.1 christos { PREFIX_TABLE (PREFIX_EVEX_0F3A67) }, 703 1.1 christos /* 68 */ 704 1.1 christos { Bad_Opcode }, 705 1.1 christos { Bad_Opcode }, 706 1.1 christos { Bad_Opcode }, 707 1.1 christos { Bad_Opcode }, 708 1.1 christos { Bad_Opcode }, 709 1.1 christos { Bad_Opcode }, 710 1.1 christos { Bad_Opcode }, 711 1.1 christos { Bad_Opcode }, 712 1.1 christos /* 70 */ 713 1.6 christos { VEX_W_TABLE (EVEX_W_0F3A70) }, 714 1.6 christos { "vpshld%DQ", { XM, Vex, EXx, Ib }, PREFIX_DATA }, 715 1.6 christos { VEX_W_TABLE (EVEX_W_0F3A72) }, 716 1.6 christos { "vpshrd%DQ", { XM, Vex, EXx, Ib }, PREFIX_DATA }, 717 1.1 christos { Bad_Opcode }, 718 1.1 christos { Bad_Opcode }, 719 1.1 christos { Bad_Opcode }, 720 1.8 christos { X86_64_TABLE (X86_64_EVEX_0F3A77) }, 721 1.1 christos /* 78 */ 722 1.1 christos { Bad_Opcode }, 723 1.1 christos { Bad_Opcode }, 724 1.1 christos { Bad_Opcode }, 725 1.1 christos { Bad_Opcode }, 726 1.1 christos { Bad_Opcode }, 727 1.1 christos { Bad_Opcode }, 728 1.1 christos { Bad_Opcode }, 729 1.1 christos { Bad_Opcode }, 730 1.1 christos /* 80 */ 731 1.1 christos { Bad_Opcode }, 732 1.1 christos { Bad_Opcode }, 733 1.1 christos { Bad_Opcode }, 734 1.1 christos { Bad_Opcode }, 735 1.1 christos { Bad_Opcode }, 736 1.1 christos { Bad_Opcode }, 737 1.1 christos { Bad_Opcode }, 738 1.1 christos { Bad_Opcode }, 739 1.1 christos /* 88 */ 740 1.1 christos { Bad_Opcode }, 741 1.1 christos { Bad_Opcode }, 742 1.1 christos { Bad_Opcode }, 743 1.1 christos { Bad_Opcode }, 744 1.1 christos { Bad_Opcode }, 745 1.1 christos { Bad_Opcode }, 746 1.1 christos { Bad_Opcode }, 747 1.1 christos { Bad_Opcode }, 748 1.1 christos /* 90 */ 749 1.1 christos { Bad_Opcode }, 750 1.1 christos { Bad_Opcode }, 751 1.1 christos { Bad_Opcode }, 752 1.1 christos { Bad_Opcode }, 753 1.1 christos { Bad_Opcode }, 754 1.1 christos { Bad_Opcode }, 755 1.1 christos { Bad_Opcode }, 756 1.1 christos { Bad_Opcode }, 757 1.1 christos /* 98 */ 758 1.1 christos { Bad_Opcode }, 759 1.1 christos { Bad_Opcode }, 760 1.1 christos { Bad_Opcode }, 761 1.1 christos { Bad_Opcode }, 762 1.1 christos { Bad_Opcode }, 763 1.1 christos { Bad_Opcode }, 764 1.1 christos { Bad_Opcode }, 765 1.1 christos { Bad_Opcode }, 766 1.1 christos /* A0 */ 767 1.1 christos { Bad_Opcode }, 768 1.1 christos { Bad_Opcode }, 769 1.1 christos { Bad_Opcode }, 770 1.1 christos { Bad_Opcode }, 771 1.1 christos { Bad_Opcode }, 772 1.1 christos { Bad_Opcode }, 773 1.1 christos { Bad_Opcode }, 774 1.1 christos { Bad_Opcode }, 775 1.1 christos /* A8 */ 776 1.1 christos { Bad_Opcode }, 777 1.1 christos { Bad_Opcode }, 778 1.1 christos { Bad_Opcode }, 779 1.1 christos { Bad_Opcode }, 780 1.1 christos { Bad_Opcode }, 781 1.1 christos { Bad_Opcode }, 782 1.1 christos { Bad_Opcode }, 783 1.1 christos { Bad_Opcode }, 784 1.1 christos /* B0 */ 785 1.1 christos { Bad_Opcode }, 786 1.1 christos { Bad_Opcode }, 787 1.1 christos { Bad_Opcode }, 788 1.1 christos { Bad_Opcode }, 789 1.1 christos { Bad_Opcode }, 790 1.1 christos { Bad_Opcode }, 791 1.1 christos { Bad_Opcode }, 792 1.1 christos { Bad_Opcode }, 793 1.1 christos /* B8 */ 794 1.1 christos { Bad_Opcode }, 795 1.1 christos { Bad_Opcode }, 796 1.1 christos { Bad_Opcode }, 797 1.1 christos { Bad_Opcode }, 798 1.1 christos { Bad_Opcode }, 799 1.1 christos { Bad_Opcode }, 800 1.1 christos { Bad_Opcode }, 801 1.1 christos { Bad_Opcode }, 802 1.1 christos /* C0 */ 803 1.1 christos { Bad_Opcode }, 804 1.1 christos { Bad_Opcode }, 805 1.6 christos { PREFIX_TABLE (PREFIX_EVEX_0F3AC2) }, 806 1.6 christos { Bad_Opcode }, 807 1.6 christos { Bad_Opcode }, 808 1.6 christos { Bad_Opcode }, 809 1.6 christos { Bad_Opcode }, 810 1.6 christos { Bad_Opcode }, 811 1.6 christos /* C8 */ 812 1.6 christos { Bad_Opcode }, 813 1.6 christos { Bad_Opcode }, 814 1.6 christos { Bad_Opcode }, 815 1.6 christos { Bad_Opcode }, 816 1.6 christos { Bad_Opcode }, 817 1.6 christos { Bad_Opcode }, 818 1.6 christos { VEX_W_TABLE (VEX_W_0F3ACE) }, 819 1.6 christos { VEX_W_TABLE (VEX_W_0F3ACF) }, 820 1.6 christos /* D0 */ 821 1.6 christos { Bad_Opcode }, 822 1.6 christos { Bad_Opcode }, 823 1.6 christos { Bad_Opcode }, 824 1.6 christos { Bad_Opcode }, 825 1.6 christos { Bad_Opcode }, 826 1.6 christos { Bad_Opcode }, 827 1.6 christos { Bad_Opcode }, 828 1.6 christos { Bad_Opcode }, 829 1.6 christos /* D8 */ 830 1.6 christos { Bad_Opcode }, 831 1.6 christos { Bad_Opcode }, 832 1.6 christos { Bad_Opcode }, 833 1.6 christos { Bad_Opcode }, 834 1.6 christos { Bad_Opcode }, 835 1.6 christos { Bad_Opcode }, 836 1.6 christos { Bad_Opcode }, 837 1.6 christos { Bad_Opcode }, 838 1.6 christos /* E0 */ 839 1.6 christos { Bad_Opcode }, 840 1.6 christos { Bad_Opcode }, 841 1.6 christos { Bad_Opcode }, 842 1.6 christos { Bad_Opcode }, 843 1.6 christos { Bad_Opcode }, 844 1.6 christos { Bad_Opcode }, 845 1.6 christos { Bad_Opcode }, 846 1.6 christos { Bad_Opcode }, 847 1.6 christos /* E8 */ 848 1.6 christos { Bad_Opcode }, 849 1.6 christos { Bad_Opcode }, 850 1.6 christos { Bad_Opcode }, 851 1.6 christos { Bad_Opcode }, 852 1.6 christos { Bad_Opcode }, 853 1.6 christos { Bad_Opcode }, 854 1.6 christos { Bad_Opcode }, 855 1.6 christos { Bad_Opcode }, 856 1.6 christos /* F0 */ 857 1.8 christos { X86_64_EVEX_PFX_TABLE (PREFIX_VEX_0F3AF0_L_0) }, 858 1.7 christos { Bad_Opcode }, 859 1.7 christos { Bad_Opcode }, 860 1.7 christos { Bad_Opcode }, 861 1.7 christos { Bad_Opcode }, 862 1.7 christos { Bad_Opcode }, 863 1.7 christos { Bad_Opcode }, 864 1.7 christos { Bad_Opcode }, 865 1.7 christos /* F8 */ 866 1.7 christos { Bad_Opcode }, 867 1.7 christos { Bad_Opcode }, 868 1.7 christos { Bad_Opcode }, 869 1.7 christos { Bad_Opcode }, 870 1.7 christos { Bad_Opcode }, 871 1.7 christos { Bad_Opcode }, 872 1.7 christos { Bad_Opcode }, 873 1.7 christos { Bad_Opcode }, 874 1.7 christos }, 875 1.7 christos /* EVEX_MAP4_ */ 876 1.7 christos { 877 1.7 christos /* 00 */ 878 1.8 christos { "%NFaddB", { VexGb, Eb, Gb }, NO_PREFIX }, 879 1.8 christos { "%NFaddS", { VexGv, Ev, Gv }, PREFIX_NP_OR_DATA }, 880 1.8 christos { "%NFaddB", { VexGb, Gb, EbS }, NO_PREFIX }, 881 1.8 christos { "%NFaddS", { VexGv, Gv, EvS }, PREFIX_NP_OR_DATA }, 882 1.7 christos { Bad_Opcode }, 883 1.7 christos { Bad_Opcode }, 884 1.7 christos { Bad_Opcode }, 885 1.7 christos { Bad_Opcode }, 886 1.7 christos /* 08 */ 887 1.8 christos { "%NForB", { VexGb, Eb, Gb }, NO_PREFIX }, 888 1.8 christos { "%NForS", { VexGv, Ev, Gv }, PREFIX_NP_OR_DATA }, 889 1.8 christos { "%NForB", { VexGb, Gb, EbS }, NO_PREFIX }, 890 1.8 christos { "%NForS", { VexGv, Gv, EvS }, PREFIX_NP_OR_DATA }, 891 1.7 christos { Bad_Opcode }, 892 1.7 christos { Bad_Opcode }, 893 1.7 christos { Bad_Opcode }, 894 1.7 christos { Bad_Opcode }, 895 1.7 christos /* 10 */ 896 1.8 christos { "adcB", { VexGb, Eb, Gb }, NO_PREFIX }, 897 1.8 christos { "adcS", { VexGv, Ev, Gv }, PREFIX_NP_OR_DATA }, 898 1.8 christos { "adcB", { VexGb, Gb, EbS }, NO_PREFIX }, 899 1.8 christos { "adcS", { VexGv, Gv, EvS }, PREFIX_NP_OR_DATA }, 900 1.7 christos { Bad_Opcode }, 901 1.7 christos { Bad_Opcode }, 902 1.7 christos { Bad_Opcode }, 903 1.7 christos { Bad_Opcode }, 904 1.7 christos /* 18 */ 905 1.8 christos { "sbbB", { VexGb, Eb, Gb }, NO_PREFIX }, 906 1.8 christos { "sbbS", { VexGv, Ev, Gv }, PREFIX_NP_OR_DATA }, 907 1.8 christos { "sbbB", { VexGb, Gb, EbS }, NO_PREFIX }, 908 1.8 christos { "sbbS", { VexGv, Gv, EvS }, PREFIX_NP_OR_DATA }, 909 1.7 christos { Bad_Opcode }, 910 1.7 christos { Bad_Opcode }, 911 1.7 christos { Bad_Opcode }, 912 1.7 christos { Bad_Opcode }, 913 1.7 christos /* 20 */ 914 1.8 christos { "%NFandB", { VexGb, Eb, Gb }, NO_PREFIX }, 915 1.8 christos { "%NFandS", { VexGv, Ev, Gv }, PREFIX_NP_OR_DATA }, 916 1.8 christos { "%NFandB", { VexGb, Gb, EbS }, NO_PREFIX }, 917 1.8 christos { "%NFandS", { VexGv, Gv, EvS }, PREFIX_NP_OR_DATA }, 918 1.8 christos { "%NFshldS", { VexGv, Ev, Gv, Ib }, PREFIX_NP_OR_DATA }, 919 1.7 christos { Bad_Opcode }, 920 1.7 christos { Bad_Opcode }, 921 1.7 christos { Bad_Opcode }, 922 1.7 christos /* 28 */ 923 1.8 christos { "%NFsubB", { VexGb, Eb, Gb }, NO_PREFIX }, 924 1.8 christos { "%NFsubS", { VexGv, Ev, Gv }, PREFIX_NP_OR_DATA }, 925 1.8 christos { "%NFsubB", { VexGb, Gb, EbS }, NO_PREFIX }, 926 1.8 christos { "%NFsubS", { VexGv, Gv, EvS }, PREFIX_NP_OR_DATA }, 927 1.8 christos { "%NFshrdS", { VexGv, Ev, Gv, Ib }, PREFIX_NP_OR_DATA }, 928 1.7 christos { Bad_Opcode }, 929 1.7 christos { Bad_Opcode }, 930 1.7 christos { Bad_Opcode }, 931 1.7 christos /* 30 */ 932 1.8 christos { "%NFxorB", { VexGb, Eb, Gb }, NO_PREFIX }, 933 1.8 christos { "%NFxorS", { VexGv, Ev, Gv }, PREFIX_NP_OR_DATA }, 934 1.8 christos { "%NFxorB", { VexGb, Gb, EbS }, NO_PREFIX }, 935 1.8 christos { "%NFxorS", { VexGv, Gv, EvS }, PREFIX_NP_OR_DATA }, 936 1.7 christos { Bad_Opcode }, 937 1.7 christos { Bad_Opcode }, 938 1.7 christos { Bad_Opcode }, 939 1.7 christos { Bad_Opcode }, 940 1.7 christos /* 38 */ 941 1.8 christos { "%NEccmp%SCB%DF", { Eb, Gb }, 0 }, 942 1.8 christos { "%NEccmp%SCS%DF", { Ev, Gv }, PREFIX_NP_OR_DATA }, 943 1.8 christos { "%NEccmp%SCB%DF", { Gb, EbS }, 0 }, 944 1.8 christos { "%NEccmp%SCS%DF", { Gv, EvS }, PREFIX_NP_OR_DATA }, 945 1.7 christos { Bad_Opcode }, 946 1.7 christos { Bad_Opcode }, 947 1.7 christos { Bad_Opcode }, 948 1.7 christos { Bad_Opcode }, 949 1.7 christos /* 40 */ 950 1.8 christos { PREFIX_TABLE (PREFIX_EVEX_MAP4_4x) }, 951 1.8 christos { PREFIX_TABLE (PREFIX_EVEX_MAP4_4x) }, 952 1.8 christos { PREFIX_TABLE (PREFIX_EVEX_MAP4_4x) }, 953 1.8 christos { PREFIX_TABLE (PREFIX_EVEX_MAP4_4x) }, 954 1.8 christos { PREFIX_TABLE (PREFIX_EVEX_MAP4_4x) }, 955 1.8 christos { PREFIX_TABLE (PREFIX_EVEX_MAP4_4x) }, 956 1.8 christos { PREFIX_TABLE (PREFIX_EVEX_MAP4_4x) }, 957 1.8 christos { PREFIX_TABLE (PREFIX_EVEX_MAP4_4x) }, 958 1.7 christos /* 48 */ 959 1.8 christos { PREFIX_TABLE (PREFIX_EVEX_MAP4_4x) }, 960 1.8 christos { PREFIX_TABLE (PREFIX_EVEX_MAP4_4x) }, 961 1.8 christos { PREFIX_TABLE (PREFIX_EVEX_MAP4_4x) }, 962 1.8 christos { PREFIX_TABLE (PREFIX_EVEX_MAP4_4x) }, 963 1.8 christos { PREFIX_TABLE (PREFIX_EVEX_MAP4_4x) }, 964 1.8 christos { PREFIX_TABLE (PREFIX_EVEX_MAP4_4x) }, 965 1.8 christos { PREFIX_TABLE (PREFIX_EVEX_MAP4_4x) }, 966 1.8 christos { PREFIX_TABLE (PREFIX_EVEX_MAP4_4x) }, 967 1.7 christos /* 50 */ 968 1.7 christos { Bad_Opcode }, 969 1.7 christos { Bad_Opcode }, 970 1.7 christos { Bad_Opcode }, 971 1.7 christos { Bad_Opcode }, 972 1.7 christos { Bad_Opcode }, 973 1.7 christos { Bad_Opcode }, 974 1.7 christos { Bad_Opcode }, 975 1.7 christos { Bad_Opcode }, 976 1.7 christos /* 58 */ 977 1.7 christos { Bad_Opcode }, 978 1.7 christos { Bad_Opcode }, 979 1.7 christos { Bad_Opcode }, 980 1.7 christos { Bad_Opcode }, 981 1.7 christos { Bad_Opcode }, 982 1.7 christos { Bad_Opcode }, 983 1.7 christos { Bad_Opcode }, 984 1.7 christos { Bad_Opcode }, 985 1.7 christos /* 60 */ 986 1.8 christos { MOD_TABLE (MOD_EVEX_MAP4_60) }, 987 1.8 christos { MOD_TABLE (MOD_EVEX_MAP4_61) }, 988 1.7 christos { Bad_Opcode }, 989 1.7 christos { Bad_Opcode }, 990 1.7 christos { Bad_Opcode }, 991 1.7 christos { "wrussK", { M, Gdq }, PREFIX_DATA }, 992 1.7 christos { PREFIX_TABLE (PREFIX_0F38F6) }, 993 1.7 christos { Bad_Opcode }, 994 1.7 christos /* 68 */ 995 1.7 christos { Bad_Opcode }, 996 1.8 christos { "%NFimul%ZUS", { Gv, Ev, Iv }, PREFIX_NP_OR_DATA }, 997 1.7 christos { Bad_Opcode }, 998 1.8 christos { "%NFimul%ZUS", { Gv, Ev, sIb }, PREFIX_NP_OR_DATA }, 999 1.7 christos { Bad_Opcode }, 1000 1.6 christos { Bad_Opcode }, 1001 1.6 christos { Bad_Opcode }, 1002 1.6 christos { Bad_Opcode }, 1003 1.7 christos /* 70 */ 1004 1.7 christos { Bad_Opcode }, 1005 1.7 christos { Bad_Opcode }, 1006 1.7 christos { Bad_Opcode }, 1007 1.7 christos { Bad_Opcode }, 1008 1.7 christos { Bad_Opcode }, 1009 1.7 christos { Bad_Opcode }, 1010 1.7 christos { Bad_Opcode }, 1011 1.7 christos { Bad_Opcode }, 1012 1.7 christos /* 78 */ 1013 1.7 christos { Bad_Opcode }, 1014 1.7 christos { Bad_Opcode }, 1015 1.7 christos { Bad_Opcode }, 1016 1.7 christos { Bad_Opcode }, 1017 1.7 christos { Bad_Opcode }, 1018 1.7 christos { Bad_Opcode }, 1019 1.7 christos { Bad_Opcode }, 1020 1.7 christos { Bad_Opcode }, 1021 1.7 christos /* 80 */ 1022 1.7 christos { REG_TABLE (REG_EVEX_MAP4_80) }, 1023 1.7 christos { REG_TABLE (REG_EVEX_MAP4_81) }, 1024 1.7 christos { Bad_Opcode }, 1025 1.7 christos { REG_TABLE (REG_EVEX_MAP4_83) }, 1026 1.8 christos { "%NEctest%SCB%DF", { Eb, Gb }, NO_PREFIX }, 1027 1.8 christos { "%NEctest%SCS%DF", { Ev, Gv }, PREFIX_NP_OR_DATA }, 1028 1.7 christos { Bad_Opcode }, 1029 1.7 christos { Bad_Opcode }, 1030 1.7 christos /* 88 */ 1031 1.8 christos { "%NFpopcntS", { Gv, Ev }, PREFIX_NP_OR_DATA }, 1032 1.7 christos { Bad_Opcode }, 1033 1.8 christos { "movrsB", { Gb, Mb }, NO_PREFIX }, 1034 1.8 christos { "movrsS", { Gv, Mv }, PREFIX_NP_OR_DATA }, 1035 1.7 christos { Bad_Opcode }, 1036 1.7 christos { Bad_Opcode }, 1037 1.7 christos { Bad_Opcode }, 1038 1.7 christos { REG_TABLE (REG_EVEX_MAP4_8F) }, 1039 1.7 christos /* 90 */ 1040 1.7 christos { Bad_Opcode }, 1041 1.7 christos { Bad_Opcode }, 1042 1.7 christos { Bad_Opcode }, 1043 1.7 christos { Bad_Opcode }, 1044 1.7 christos { Bad_Opcode }, 1045 1.7 christos { Bad_Opcode }, 1046 1.7 christos { Bad_Opcode }, 1047 1.7 christos { Bad_Opcode }, 1048 1.7 christos /* 98 */ 1049 1.7 christos { Bad_Opcode }, 1050 1.7 christos { Bad_Opcode }, 1051 1.7 christos { Bad_Opcode }, 1052 1.7 christos { Bad_Opcode }, 1053 1.7 christos { Bad_Opcode }, 1054 1.7 christos { Bad_Opcode }, 1055 1.7 christos { Bad_Opcode }, 1056 1.7 christos { Bad_Opcode }, 1057 1.7 christos /* A0 */ 1058 1.7 christos { Bad_Opcode }, 1059 1.7 christos { Bad_Opcode }, 1060 1.7 christos { Bad_Opcode }, 1061 1.7 christos { Bad_Opcode }, 1062 1.7 christos { Bad_Opcode }, 1063 1.8 christos { "%NFshldS", { VexGv, Ev, Gv, CL }, PREFIX_NP_OR_DATA }, 1064 1.7 christos { Bad_Opcode }, 1065 1.7 christos { Bad_Opcode }, 1066 1.7 christos /* A8 */ 1067 1.7 christos { Bad_Opcode }, 1068 1.7 christos { Bad_Opcode }, 1069 1.7 christos { Bad_Opcode }, 1070 1.7 christos { Bad_Opcode }, 1071 1.7 christos { Bad_Opcode }, 1072 1.8 christos { "%NFshrdS", { VexGv, Ev, Gv, CL }, PREFIX_NP_OR_DATA }, 1073 1.7 christos { Bad_Opcode }, 1074 1.8 christos { "%NFimulS", { VexGv, Gv, Ev }, PREFIX_NP_OR_DATA }, 1075 1.7 christos /* B0 */ 1076 1.7 christos { Bad_Opcode }, 1077 1.7 christos { Bad_Opcode }, 1078 1.7 christos { Bad_Opcode }, 1079 1.7 christos { Bad_Opcode }, 1080 1.7 christos { Bad_Opcode }, 1081 1.7 christos { Bad_Opcode }, 1082 1.7 christos { Bad_Opcode }, 1083 1.7 christos { Bad_Opcode }, 1084 1.7 christos /* B8 */ 1085 1.7 christos { Bad_Opcode }, 1086 1.7 christos { Bad_Opcode }, 1087 1.7 christos { Bad_Opcode }, 1088 1.7 christos { Bad_Opcode }, 1089 1.7 christos { Bad_Opcode }, 1090 1.7 christos { Bad_Opcode }, 1091 1.7 christos { Bad_Opcode }, 1092 1.7 christos { Bad_Opcode }, 1093 1.7 christos /* C0 */ 1094 1.7 christos { REG_TABLE (REG_C0) }, 1095 1.7 christos { REG_TABLE (REG_C1) }, 1096 1.7 christos { Bad_Opcode }, 1097 1.7 christos { Bad_Opcode }, 1098 1.7 christos { Bad_Opcode }, 1099 1.7 christos { Bad_Opcode }, 1100 1.7 christos { Bad_Opcode }, 1101 1.7 christos { Bad_Opcode }, 1102 1.7 christos /* C8 */ 1103 1.7 christos { Bad_Opcode }, 1104 1.7 christos { Bad_Opcode }, 1105 1.7 christos { Bad_Opcode }, 1106 1.7 christos { Bad_Opcode }, 1107 1.7 christos { Bad_Opcode }, 1108 1.7 christos { Bad_Opcode }, 1109 1.7 christos { Bad_Opcode }, 1110 1.7 christos { Bad_Opcode }, 1111 1.7 christos /* D0 */ 1112 1.7 christos { REG_TABLE (REG_D0) }, 1113 1.7 christos { REG_TABLE (REG_D1) }, 1114 1.7 christos { REG_TABLE (REG_D2) }, 1115 1.7 christos { REG_TABLE (REG_D3) }, 1116 1.8 christos { Bad_Opcode }, 1117 1.7 christos { Bad_Opcode }, 1118 1.7 christos { Bad_Opcode }, 1119 1.7 christos { Bad_Opcode }, 1120 1.7 christos /* D8 */ 1121 1.8 christos { Bad_Opcode }, 1122 1.8 christos { Bad_Opcode }, 1123 1.8 christos { Bad_Opcode }, 1124 1.8 christos { Bad_Opcode }, 1125 1.8 christos { Bad_Opcode }, 1126 1.8 christos { Bad_Opcode }, 1127 1.8 christos { Bad_Opcode }, 1128 1.8 christos { Bad_Opcode }, 1129 1.7 christos /* E0 */ 1130 1.7 christos { Bad_Opcode }, 1131 1.7 christos { Bad_Opcode }, 1132 1.7 christos { Bad_Opcode }, 1133 1.7 christos { Bad_Opcode }, 1134 1.7 christos { Bad_Opcode }, 1135 1.7 christos { Bad_Opcode }, 1136 1.7 christos { Bad_Opcode }, 1137 1.7 christos { Bad_Opcode }, 1138 1.7 christos /* E8 */ 1139 1.7 christos { Bad_Opcode }, 1140 1.6 christos { Bad_Opcode }, 1141 1.6 christos { Bad_Opcode }, 1142 1.6 christos { Bad_Opcode }, 1143 1.6 christos { Bad_Opcode }, 1144 1.6 christos { Bad_Opcode }, 1145 1.6 christos { Bad_Opcode }, 1146 1.6 christos { Bad_Opcode }, 1147 1.7 christos /* F0 */ 1148 1.7 christos { PREFIX_TABLE (PREFIX_EVEX_MAP4_F0) }, 1149 1.7 christos { PREFIX_TABLE (PREFIX_EVEX_MAP4_F1) }, 1150 1.7 christos { PREFIX_TABLE (PREFIX_EVEX_MAP4_F2) }, 1151 1.6 christos { Bad_Opcode }, 1152 1.8 christos { "%NFtzcntS", { Gv, Ev }, PREFIX_NP_OR_DATA }, 1153 1.8 christos { "%NFlzcntS", { Gv, Ev }, PREFIX_NP_OR_DATA }, 1154 1.7 christos { REG_TABLE (REG_EVEX_MAP4_F6) }, 1155 1.7 christos { REG_TABLE (REG_EVEX_MAP4_F7) }, 1156 1.7 christos /* F8 */ 1157 1.7 christos { PREFIX_TABLE (PREFIX_EVEX_MAP4_F8) }, 1158 1.7 christos { "movdiri", { Mdq, Gdq }, NO_PREFIX }, 1159 1.6 christos { Bad_Opcode }, 1160 1.6 christos { Bad_Opcode }, 1161 1.7 christos { PREFIX_TABLE (PREFIX_0F38FC) }, 1162 1.6 christos { Bad_Opcode }, 1163 1.7 christos { REG_TABLE (REG_EVEX_MAP4_FE) }, 1164 1.7 christos { REG_TABLE (REG_EVEX_MAP4_FF) }, 1165 1.6 christos }, 1166 1.6 christos /* EVEX_MAP5_ */ 1167 1.6 christos { 1168 1.6 christos /* 00 */ 1169 1.6 christos { Bad_Opcode }, 1170 1.6 christos { Bad_Opcode }, 1171 1.6 christos { Bad_Opcode }, 1172 1.6 christos { Bad_Opcode }, 1173 1.6 christos { Bad_Opcode }, 1174 1.6 christos { Bad_Opcode }, 1175 1.6 christos { Bad_Opcode }, 1176 1.6 christos { Bad_Opcode }, 1177 1.6 christos /* 08 */ 1178 1.6 christos { Bad_Opcode }, 1179 1.6 christos { Bad_Opcode }, 1180 1.6 christos { Bad_Opcode }, 1181 1.6 christos { Bad_Opcode }, 1182 1.6 christos { Bad_Opcode }, 1183 1.6 christos { Bad_Opcode }, 1184 1.6 christos { Bad_Opcode }, 1185 1.6 christos { Bad_Opcode }, 1186 1.6 christos /* 10 */ 1187 1.6 christos { PREFIX_TABLE (PREFIX_EVEX_MAP5_10) }, 1188 1.6 christos { PREFIX_TABLE (PREFIX_EVEX_MAP5_11) }, 1189 1.6 christos { Bad_Opcode }, 1190 1.6 christos { Bad_Opcode }, 1191 1.6 christos { Bad_Opcode }, 1192 1.6 christos { Bad_Opcode }, 1193 1.6 christos { Bad_Opcode }, 1194 1.6 christos { Bad_Opcode }, 1195 1.6 christos /* 18 */ 1196 1.8 christos { PREFIX_TABLE (PREFIX_EVEX_MAP5_18) }, 1197 1.6 christos { Bad_Opcode }, 1198 1.6 christos { Bad_Opcode }, 1199 1.8 christos { PREFIX_TABLE (PREFIX_EVEX_MAP5_1B) }, 1200 1.6 christos { Bad_Opcode }, 1201 1.6 christos { PREFIX_TABLE (PREFIX_EVEX_MAP5_1D) }, 1202 1.8 christos { PREFIX_TABLE (PREFIX_EVEX_MAP5_1E) }, 1203 1.6 christos { Bad_Opcode }, 1204 1.6 christos /* 20 */ 1205 1.6 christos { Bad_Opcode }, 1206 1.6 christos { Bad_Opcode }, 1207 1.6 christos { Bad_Opcode }, 1208 1.6 christos { Bad_Opcode }, 1209 1.6 christos { Bad_Opcode }, 1210 1.6 christos { Bad_Opcode }, 1211 1.6 christos { Bad_Opcode }, 1212 1.6 christos { Bad_Opcode }, 1213 1.6 christos /* 28 */ 1214 1.6 christos { Bad_Opcode }, 1215 1.6 christos { Bad_Opcode }, 1216 1.6 christos { PREFIX_TABLE (PREFIX_EVEX_MAP5_2A) }, 1217 1.6 christos { Bad_Opcode }, 1218 1.6 christos { PREFIX_TABLE (PREFIX_EVEX_MAP5_2C) }, 1219 1.6 christos { PREFIX_TABLE (PREFIX_EVEX_MAP5_2D) }, 1220 1.6 christos { PREFIX_TABLE (PREFIX_EVEX_MAP5_2E) }, 1221 1.6 christos { PREFIX_TABLE (PREFIX_EVEX_MAP5_2F) }, 1222 1.6 christos /* 30 */ 1223 1.6 christos { Bad_Opcode }, 1224 1.6 christos { Bad_Opcode }, 1225 1.6 christos { Bad_Opcode }, 1226 1.6 christos { Bad_Opcode }, 1227 1.6 christos { Bad_Opcode }, 1228 1.6 christos { Bad_Opcode }, 1229 1.6 christos { Bad_Opcode }, 1230 1.6 christos { Bad_Opcode }, 1231 1.6 christos /* 38 */ 1232 1.6 christos { Bad_Opcode }, 1233 1.6 christos { Bad_Opcode }, 1234 1.6 christos { Bad_Opcode }, 1235 1.6 christos { Bad_Opcode }, 1236 1.6 christos { Bad_Opcode }, 1237 1.6 christos { Bad_Opcode }, 1238 1.6 christos { Bad_Opcode }, 1239 1.6 christos { Bad_Opcode }, 1240 1.6 christos /* 40 */ 1241 1.6 christos { Bad_Opcode }, 1242 1.6 christos { Bad_Opcode }, 1243 1.6 christos { Bad_Opcode }, 1244 1.6 christos { Bad_Opcode }, 1245 1.6 christos { Bad_Opcode }, 1246 1.6 christos { Bad_Opcode }, 1247 1.6 christos { Bad_Opcode }, 1248 1.6 christos { Bad_Opcode }, 1249 1.6 christos /* 48 */ 1250 1.6 christos { Bad_Opcode }, 1251 1.6 christos { Bad_Opcode }, 1252 1.6 christos { Bad_Opcode }, 1253 1.6 christos { Bad_Opcode }, 1254 1.6 christos { Bad_Opcode }, 1255 1.6 christos { Bad_Opcode }, 1256 1.6 christos { Bad_Opcode }, 1257 1.6 christos { Bad_Opcode }, 1258 1.6 christos /* 50 */ 1259 1.6 christos { Bad_Opcode }, 1260 1.6 christos { PREFIX_TABLE (PREFIX_EVEX_MAP5_51) }, 1261 1.6 christos { Bad_Opcode }, 1262 1.6 christos { Bad_Opcode }, 1263 1.6 christos { Bad_Opcode }, 1264 1.6 christos { Bad_Opcode }, 1265 1.6 christos { Bad_Opcode }, 1266 1.6 christos { Bad_Opcode }, 1267 1.6 christos /* 58 */ 1268 1.6 christos { PREFIX_TABLE (PREFIX_EVEX_MAP5_58) }, 1269 1.6 christos { PREFIX_TABLE (PREFIX_EVEX_MAP5_59) }, 1270 1.6 christos { PREFIX_TABLE (PREFIX_EVEX_MAP5_5A) }, 1271 1.6 christos { PREFIX_TABLE (PREFIX_EVEX_MAP5_5B) }, 1272 1.6 christos { PREFIX_TABLE (PREFIX_EVEX_MAP5_5C) }, 1273 1.6 christos { PREFIX_TABLE (PREFIX_EVEX_MAP5_5D) }, 1274 1.6 christos { PREFIX_TABLE (PREFIX_EVEX_MAP5_5E) }, 1275 1.6 christos { PREFIX_TABLE (PREFIX_EVEX_MAP5_5F) }, 1276 1.6 christos /* 60 */ 1277 1.6 christos { Bad_Opcode }, 1278 1.6 christos { Bad_Opcode }, 1279 1.6 christos { Bad_Opcode }, 1280 1.6 christos { Bad_Opcode }, 1281 1.6 christos { Bad_Opcode }, 1282 1.6 christos { Bad_Opcode }, 1283 1.6 christos { Bad_Opcode }, 1284 1.6 christos { Bad_Opcode }, 1285 1.6 christos /* 68 */ 1286 1.8 christos { PREFIX_TABLE (PREFIX_EVEX_MAP5_68) }, 1287 1.8 christos { PREFIX_TABLE (PREFIX_EVEX_MAP5_69) }, 1288 1.8 christos { PREFIX_TABLE (PREFIX_EVEX_MAP5_6A) }, 1289 1.8 christos { PREFIX_TABLE (PREFIX_EVEX_MAP5_6B) }, 1290 1.8 christos { PREFIX_TABLE (PREFIX_EVEX_MAP5_6C) }, 1291 1.8 christos { PREFIX_TABLE (PREFIX_EVEX_MAP5_6D) }, 1292 1.8 christos { EVEX_LEN_TABLE (EVEX_LEN_MAP5_6E) }, 1293 1.8 christos { X86_64_TABLE (X86_64_EVEX_MAP5_6F) }, 1294 1.6 christos /* 70 */ 1295 1.6 christos { Bad_Opcode }, 1296 1.6 christos { Bad_Opcode }, 1297 1.6 christos { Bad_Opcode }, 1298 1.6 christos { Bad_Opcode }, 1299 1.8 christos { PREFIX_TABLE (PREFIX_EVEX_MAP5_74) }, 1300 1.6 christos { Bad_Opcode }, 1301 1.6 christos { Bad_Opcode }, 1302 1.6 christos { Bad_Opcode }, 1303 1.6 christos /* 78 */ 1304 1.6 christos { PREFIX_TABLE (PREFIX_EVEX_MAP5_78) }, 1305 1.6 christos { PREFIX_TABLE (PREFIX_EVEX_MAP5_79) }, 1306 1.6 christos { PREFIX_TABLE (PREFIX_EVEX_MAP5_7A) }, 1307 1.6 christos { PREFIX_TABLE (PREFIX_EVEX_MAP5_7B) }, 1308 1.6 christos { PREFIX_TABLE (PREFIX_EVEX_MAP5_7C) }, 1309 1.6 christos { PREFIX_TABLE (PREFIX_EVEX_MAP5_7D) }, 1310 1.8 christos { EVEX_LEN_TABLE (EVEX_LEN_MAP5_7E) }, 1311 1.6 christos { Bad_Opcode }, 1312 1.6 christos /* 80 */ 1313 1.6 christos { Bad_Opcode }, 1314 1.6 christos { Bad_Opcode }, 1315 1.6 christos { Bad_Opcode }, 1316 1.6 christos { Bad_Opcode }, 1317 1.6 christos { Bad_Opcode }, 1318 1.6 christos { Bad_Opcode }, 1319 1.6 christos { Bad_Opcode }, 1320 1.6 christos { Bad_Opcode }, 1321 1.6 christos /* 88 */ 1322 1.6 christos { Bad_Opcode }, 1323 1.6 christos { Bad_Opcode }, 1324 1.6 christos { Bad_Opcode }, 1325 1.6 christos { Bad_Opcode }, 1326 1.6 christos { Bad_Opcode }, 1327 1.6 christos { Bad_Opcode }, 1328 1.6 christos { Bad_Opcode }, 1329 1.6 christos { Bad_Opcode }, 1330 1.6 christos /* 90 */ 1331 1.6 christos { Bad_Opcode }, 1332 1.6 christos { Bad_Opcode }, 1333 1.6 christos { Bad_Opcode }, 1334 1.6 christos { Bad_Opcode }, 1335 1.6 christos { Bad_Opcode }, 1336 1.6 christos { Bad_Opcode }, 1337 1.6 christos { Bad_Opcode }, 1338 1.6 christos { Bad_Opcode }, 1339 1.6 christos /* 98 */ 1340 1.6 christos { Bad_Opcode }, 1341 1.6 christos { Bad_Opcode }, 1342 1.6 christos { Bad_Opcode }, 1343 1.6 christos { Bad_Opcode }, 1344 1.6 christos { Bad_Opcode }, 1345 1.6 christos { Bad_Opcode }, 1346 1.6 christos { Bad_Opcode }, 1347 1.6 christos { Bad_Opcode }, 1348 1.6 christos /* A0 */ 1349 1.6 christos { Bad_Opcode }, 1350 1.6 christos { Bad_Opcode }, 1351 1.6 christos { Bad_Opcode }, 1352 1.6 christos { Bad_Opcode }, 1353 1.6 christos { Bad_Opcode }, 1354 1.6 christos { Bad_Opcode }, 1355 1.6 christos { Bad_Opcode }, 1356 1.6 christos { Bad_Opcode }, 1357 1.6 christos /* A8 */ 1358 1.6 christos { Bad_Opcode }, 1359 1.6 christos { Bad_Opcode }, 1360 1.6 christos { Bad_Opcode }, 1361 1.6 christos { Bad_Opcode }, 1362 1.6 christos { Bad_Opcode }, 1363 1.6 christos { Bad_Opcode }, 1364 1.6 christos { Bad_Opcode }, 1365 1.6 christos { Bad_Opcode }, 1366 1.6 christos /* B0 */ 1367 1.6 christos { Bad_Opcode }, 1368 1.6 christos { Bad_Opcode }, 1369 1.6 christos { Bad_Opcode }, 1370 1.6 christos { Bad_Opcode }, 1371 1.6 christos { Bad_Opcode }, 1372 1.6 christos { Bad_Opcode }, 1373 1.6 christos { Bad_Opcode }, 1374 1.6 christos { Bad_Opcode }, 1375 1.6 christos /* B8 */ 1376 1.6 christos { Bad_Opcode }, 1377 1.6 christos { Bad_Opcode }, 1378 1.6 christos { Bad_Opcode }, 1379 1.6 christos { Bad_Opcode }, 1380 1.6 christos { Bad_Opcode }, 1381 1.6 christos { Bad_Opcode }, 1382 1.6 christos { Bad_Opcode }, 1383 1.6 christos { Bad_Opcode }, 1384 1.6 christos /* C0 */ 1385 1.6 christos { Bad_Opcode }, 1386 1.6 christos { Bad_Opcode }, 1387 1.1 christos { Bad_Opcode }, 1388 1.1 christos { Bad_Opcode }, 1389 1.1 christos { Bad_Opcode }, 1390 1.1 christos { Bad_Opcode }, 1391 1.1 christos { Bad_Opcode }, 1392 1.1 christos { Bad_Opcode }, 1393 1.1 christos /* C8 */ 1394 1.1 christos { Bad_Opcode }, 1395 1.1 christos { Bad_Opcode }, 1396 1.1 christos { Bad_Opcode }, 1397 1.1 christos { Bad_Opcode }, 1398 1.1 christos { Bad_Opcode }, 1399 1.1 christos { Bad_Opcode }, 1400 1.6 christos { Bad_Opcode }, 1401 1.6 christos { Bad_Opcode }, 1402 1.1 christos /* D0 */ 1403 1.1 christos { Bad_Opcode }, 1404 1.1 christos { Bad_Opcode }, 1405 1.1 christos { Bad_Opcode }, 1406 1.1 christos { Bad_Opcode }, 1407 1.1 christos { Bad_Opcode }, 1408 1.1 christos { Bad_Opcode }, 1409 1.1 christos { Bad_Opcode }, 1410 1.1 christos { Bad_Opcode }, 1411 1.1 christos /* D8 */ 1412 1.1 christos { Bad_Opcode }, 1413 1.1 christos { Bad_Opcode }, 1414 1.1 christos { Bad_Opcode }, 1415 1.1 christos { Bad_Opcode }, 1416 1.1 christos { Bad_Opcode }, 1417 1.1 christos { Bad_Opcode }, 1418 1.1 christos { Bad_Opcode }, 1419 1.1 christos { Bad_Opcode }, 1420 1.1 christos /* E0 */ 1421 1.1 christos { Bad_Opcode }, 1422 1.1 christos { Bad_Opcode }, 1423 1.1 christos { Bad_Opcode }, 1424 1.1 christos { Bad_Opcode }, 1425 1.1 christos { Bad_Opcode }, 1426 1.1 christos { Bad_Opcode }, 1427 1.1 christos { Bad_Opcode }, 1428 1.1 christos { Bad_Opcode }, 1429 1.1 christos /* E8 */ 1430 1.1 christos { Bad_Opcode }, 1431 1.1 christos { Bad_Opcode }, 1432 1.1 christos { Bad_Opcode }, 1433 1.1 christos { Bad_Opcode }, 1434 1.1 christos { Bad_Opcode }, 1435 1.1 christos { Bad_Opcode }, 1436 1.1 christos { Bad_Opcode }, 1437 1.1 christos { Bad_Opcode }, 1438 1.1 christos /* F0 */ 1439 1.1 christos { Bad_Opcode }, 1440 1.1 christos { Bad_Opcode }, 1441 1.1 christos { Bad_Opcode }, 1442 1.1 christos { Bad_Opcode }, 1443 1.1 christos { Bad_Opcode }, 1444 1.1 christos { Bad_Opcode }, 1445 1.1 christos { Bad_Opcode }, 1446 1.1 christos { Bad_Opcode }, 1447 1.1 christos /* F8 */ 1448 1.8 christos { X86_64_EVEX_FROM_VEX_TABLE (X86_64_VEX_MAP5_F8) }, 1449 1.8 christos { X86_64_EVEX_FROM_VEX_TABLE (X86_64_VEX_MAP5_F9) }, 1450 1.1 christos { Bad_Opcode }, 1451 1.1 christos { Bad_Opcode }, 1452 1.1 christos { Bad_Opcode }, 1453 1.1 christos { Bad_Opcode }, 1454 1.1 christos { Bad_Opcode }, 1455 1.1 christos { Bad_Opcode }, 1456 1.1 christos }, 1457 1.6 christos /* EVEX_MAP6_ */ 1458 1.6 christos { 1459 1.6 christos /* 00 */ 1460 1.6 christos { Bad_Opcode }, 1461 1.6 christos { Bad_Opcode }, 1462 1.6 christos { Bad_Opcode }, 1463 1.6 christos { Bad_Opcode }, 1464 1.6 christos { Bad_Opcode }, 1465 1.6 christos { Bad_Opcode }, 1466 1.6 christos { Bad_Opcode }, 1467 1.6 christos { Bad_Opcode }, 1468 1.6 christos /* 08 */ 1469 1.6 christos { Bad_Opcode }, 1470 1.6 christos { Bad_Opcode }, 1471 1.6 christos { Bad_Opcode }, 1472 1.6 christos { Bad_Opcode }, 1473 1.6 christos { Bad_Opcode }, 1474 1.6 christos { Bad_Opcode }, 1475 1.6 christos { Bad_Opcode }, 1476 1.6 christos { Bad_Opcode }, 1477 1.6 christos /* 10 */ 1478 1.6 christos { Bad_Opcode }, 1479 1.6 christos { Bad_Opcode }, 1480 1.6 christos { Bad_Opcode }, 1481 1.6 christos { PREFIX_TABLE (PREFIX_EVEX_MAP6_13) }, 1482 1.6 christos { Bad_Opcode }, 1483 1.6 christos { Bad_Opcode }, 1484 1.6 christos { Bad_Opcode }, 1485 1.6 christos { Bad_Opcode }, 1486 1.6 christos /* 18 */ 1487 1.6 christos { Bad_Opcode }, 1488 1.6 christos { Bad_Opcode }, 1489 1.6 christos { Bad_Opcode }, 1490 1.6 christos { Bad_Opcode }, 1491 1.6 christos { Bad_Opcode }, 1492 1.6 christos { Bad_Opcode }, 1493 1.6 christos { Bad_Opcode }, 1494 1.6 christos { Bad_Opcode }, 1495 1.6 christos /* 20 */ 1496 1.6 christos { Bad_Opcode }, 1497 1.6 christos { Bad_Opcode }, 1498 1.6 christos { Bad_Opcode }, 1499 1.6 christos { Bad_Opcode }, 1500 1.6 christos { Bad_Opcode }, 1501 1.6 christos { Bad_Opcode }, 1502 1.6 christos { Bad_Opcode }, 1503 1.6 christos { Bad_Opcode }, 1504 1.6 christos /* 28 */ 1505 1.6 christos { Bad_Opcode }, 1506 1.6 christos { Bad_Opcode }, 1507 1.6 christos { Bad_Opcode }, 1508 1.6 christos { Bad_Opcode }, 1509 1.8 christos { PREFIX_TABLE (PREFIX_EVEX_MAP6_2C) }, 1510 1.6 christos { "vscalefs%XH", { XMScalar, VexScalar, EXw, EXxEVexR }, PREFIX_DATA }, 1511 1.6 christos { Bad_Opcode }, 1512 1.6 christos { Bad_Opcode }, 1513 1.6 christos /* 30 */ 1514 1.6 christos { Bad_Opcode }, 1515 1.6 christos { Bad_Opcode }, 1516 1.6 christos { Bad_Opcode }, 1517 1.6 christos { Bad_Opcode }, 1518 1.6 christos { Bad_Opcode }, 1519 1.6 christos { Bad_Opcode }, 1520 1.6 christos { Bad_Opcode }, 1521 1.6 christos { Bad_Opcode }, 1522 1.6 christos /* 38 */ 1523 1.6 christos { Bad_Opcode }, 1524 1.6 christos { Bad_Opcode }, 1525 1.6 christos { Bad_Opcode }, 1526 1.6 christos { Bad_Opcode }, 1527 1.6 christos { Bad_Opcode }, 1528 1.6 christos { Bad_Opcode }, 1529 1.6 christos { Bad_Opcode }, 1530 1.6 christos { Bad_Opcode }, 1531 1.6 christos /* 40 */ 1532 1.6 christos { Bad_Opcode }, 1533 1.6 christos { Bad_Opcode }, 1534 1.8 christos { PREFIX_TABLE (PREFIX_EVEX_MAP6_42) }, 1535 1.6 christos { "vgetexps%XH", { XMScalar, VexScalar, EXw, EXxEVexS }, PREFIX_DATA }, 1536 1.6 christos { Bad_Opcode }, 1537 1.6 christos { Bad_Opcode }, 1538 1.6 christos { Bad_Opcode }, 1539 1.6 christos { Bad_Opcode }, 1540 1.6 christos /* 48 */ 1541 1.6 christos { Bad_Opcode }, 1542 1.6 christos { Bad_Opcode }, 1543 1.6 christos { Bad_Opcode }, 1544 1.6 christos { Bad_Opcode }, 1545 1.8 christos { PREFIX_TABLE (PREFIX_EVEX_MAP6_4C) }, 1546 1.6 christos { "vrcps%XH", { XMScalar, VexScalar, EXw }, PREFIX_DATA }, 1547 1.8 christos { PREFIX_TABLE (PREFIX_EVEX_MAP6_4E) }, 1548 1.6 christos { "vrsqrts%XH", { XMScalar, VexScalar, EXw }, PREFIX_DATA }, 1549 1.6 christos /* 50 */ 1550 1.6 christos { Bad_Opcode }, 1551 1.6 christos { Bad_Opcode }, 1552 1.6 christos { Bad_Opcode }, 1553 1.6 christos { Bad_Opcode }, 1554 1.6 christos { Bad_Opcode }, 1555 1.6 christos { Bad_Opcode }, 1556 1.6 christos { PREFIX_TABLE (PREFIX_EVEX_MAP6_56) }, 1557 1.6 christos { PREFIX_TABLE (PREFIX_EVEX_MAP6_57) }, 1558 1.6 christos /* 58 */ 1559 1.6 christos { Bad_Opcode }, 1560 1.6 christos { Bad_Opcode }, 1561 1.6 christos { Bad_Opcode }, 1562 1.6 christos { Bad_Opcode }, 1563 1.6 christos { Bad_Opcode }, 1564 1.6 christos { Bad_Opcode }, 1565 1.6 christos { Bad_Opcode }, 1566 1.6 christos { Bad_Opcode }, 1567 1.6 christos /* 60 */ 1568 1.6 christos { Bad_Opcode }, 1569 1.6 christos { Bad_Opcode }, 1570 1.6 christos { Bad_Opcode }, 1571 1.6 christos { Bad_Opcode }, 1572 1.6 christos { Bad_Opcode }, 1573 1.6 christos { Bad_Opcode }, 1574 1.6 christos { Bad_Opcode }, 1575 1.6 christos { Bad_Opcode }, 1576 1.6 christos /* 68 */ 1577 1.6 christos { Bad_Opcode }, 1578 1.6 christos { Bad_Opcode }, 1579 1.6 christos { Bad_Opcode }, 1580 1.6 christos { Bad_Opcode }, 1581 1.6 christos { Bad_Opcode }, 1582 1.6 christos { Bad_Opcode }, 1583 1.6 christos { Bad_Opcode }, 1584 1.6 christos { Bad_Opcode }, 1585 1.6 christos /* 70 */ 1586 1.6 christos { Bad_Opcode }, 1587 1.6 christos { Bad_Opcode }, 1588 1.6 christos { Bad_Opcode }, 1589 1.6 christos { Bad_Opcode }, 1590 1.6 christos { Bad_Opcode }, 1591 1.6 christos { Bad_Opcode }, 1592 1.6 christos { Bad_Opcode }, 1593 1.6 christos { Bad_Opcode }, 1594 1.6 christos /* 78 */ 1595 1.6 christos { Bad_Opcode }, 1596 1.6 christos { Bad_Opcode }, 1597 1.6 christos { Bad_Opcode }, 1598 1.6 christos { Bad_Opcode }, 1599 1.6 christos { Bad_Opcode }, 1600 1.6 christos { Bad_Opcode }, 1601 1.6 christos { Bad_Opcode }, 1602 1.6 christos { Bad_Opcode }, 1603 1.6 christos /* 80 */ 1604 1.6 christos { Bad_Opcode }, 1605 1.6 christos { Bad_Opcode }, 1606 1.6 christos { Bad_Opcode }, 1607 1.6 christos { Bad_Opcode }, 1608 1.6 christos { Bad_Opcode }, 1609 1.6 christos { Bad_Opcode }, 1610 1.6 christos { Bad_Opcode }, 1611 1.6 christos { Bad_Opcode }, 1612 1.6 christos /* 88 */ 1613 1.6 christos { Bad_Opcode }, 1614 1.6 christos { Bad_Opcode }, 1615 1.6 christos { Bad_Opcode }, 1616 1.6 christos { Bad_Opcode }, 1617 1.6 christos { Bad_Opcode }, 1618 1.6 christos { Bad_Opcode }, 1619 1.6 christos { Bad_Opcode }, 1620 1.6 christos { Bad_Opcode }, 1621 1.6 christos /* 90 */ 1622 1.6 christos { Bad_Opcode }, 1623 1.6 christos { Bad_Opcode }, 1624 1.6 christos { Bad_Opcode }, 1625 1.6 christos { Bad_Opcode }, 1626 1.6 christos { Bad_Opcode }, 1627 1.6 christos { Bad_Opcode }, 1628 1.6 christos { "vfmaddsub132p%XH", { XM, Vex, EXxh, EXxEVexR }, PREFIX_DATA }, 1629 1.6 christos { "vfmsubadd132p%XH", { XM, Vex, EXxh, EXxEVexR }, PREFIX_DATA }, 1630 1.6 christos /* 98 */ 1631 1.8 christos { PREFIX_TABLE (PREFIX_EVEX_MAP6_98) }, 1632 1.6 christos { "vfmadd132s%XH", { XMScalar, VexScalar, EXw, EXxEVexR }, PREFIX_DATA }, 1633 1.8 christos { PREFIX_TABLE (PREFIX_EVEX_MAP6_9A) }, 1634 1.6 christos { "vfmsub132s%XH", { XMScalar, VexScalar, EXw, EXxEVexR }, PREFIX_DATA }, 1635 1.8 christos { PREFIX_TABLE (PREFIX_EVEX_MAP6_9C) }, 1636 1.6 christos { "vfnmadd132s%XH", { XMScalar, VexScalar, EXw, EXxEVexR }, PREFIX_DATA }, 1637 1.8 christos { PREFIX_TABLE (PREFIX_EVEX_MAP6_9E) }, 1638 1.6 christos { "vfnmsub132s%XH", { XMScalar, VexScalar, EXw, EXxEVexR }, PREFIX_DATA }, 1639 1.6 christos /* A0 */ 1640 1.6 christos { Bad_Opcode }, 1641 1.6 christos { Bad_Opcode }, 1642 1.6 christos { Bad_Opcode }, 1643 1.6 christos { Bad_Opcode }, 1644 1.6 christos { Bad_Opcode }, 1645 1.6 christos { Bad_Opcode }, 1646 1.6 christos { "vfmaddsub213p%XH", { XM, Vex, EXxh, EXxEVexR }, PREFIX_DATA }, 1647 1.6 christos { "vfmsubadd213p%XH", { XM, Vex, EXxh, EXxEVexR }, PREFIX_DATA }, 1648 1.6 christos /* A8 */ 1649 1.8 christos { PREFIX_TABLE (PREFIX_EVEX_MAP6_A8) }, 1650 1.6 christos { "vfmadd213s%XH", { XMScalar, VexScalar, EXw, EXxEVexR }, PREFIX_DATA }, 1651 1.8 christos { PREFIX_TABLE (PREFIX_EVEX_MAP6_AA) }, 1652 1.6 christos { "vfmsub213s%XH", { XMScalar, VexScalar, EXw, EXxEVexR }, PREFIX_DATA }, 1653 1.8 christos { PREFIX_TABLE (PREFIX_EVEX_MAP6_AC) }, 1654 1.6 christos { "vfnmadd213s%XH", { XMScalar, VexScalar, EXw, EXxEVexR }, PREFIX_DATA }, 1655 1.8 christos { PREFIX_TABLE (PREFIX_EVEX_MAP6_AE) }, 1656 1.6 christos { "vfnmsub213s%XH", { XMScalar, VexScalar, EXw, EXxEVexR }, PREFIX_DATA }, 1657 1.6 christos /* B0 */ 1658 1.6 christos { Bad_Opcode }, 1659 1.6 christos { Bad_Opcode }, 1660 1.6 christos { Bad_Opcode }, 1661 1.6 christos { Bad_Opcode }, 1662 1.6 christos { Bad_Opcode }, 1663 1.6 christos { Bad_Opcode }, 1664 1.6 christos { "vfmaddsub231p%XH", { XM, Vex, EXxh, EXxEVexR }, PREFIX_DATA }, 1665 1.6 christos { "vfmsubadd231p%XH", { XM, Vex, EXxh, EXxEVexR }, PREFIX_DATA }, 1666 1.6 christos /* B8 */ 1667 1.8 christos { PREFIX_TABLE (PREFIX_EVEX_MAP6_B8) }, 1668 1.6 christos { "vfmadd231s%XH", { XMScalar, VexScalar, EXw, EXxEVexR }, PREFIX_DATA }, 1669 1.8 christos { PREFIX_TABLE (PREFIX_EVEX_MAP6_BA) }, 1670 1.6 christos { "vfmsub231s%XH", { XMScalar, VexScalar, EXw, EXxEVexR }, PREFIX_DATA }, 1671 1.8 christos { PREFIX_TABLE (PREFIX_EVEX_MAP6_BC) }, 1672 1.6 christos { "vfnmadd231s%XH", { XMScalar, VexScalar, EXw, EXxEVexR }, PREFIX_DATA }, 1673 1.8 christos { PREFIX_TABLE (PREFIX_EVEX_MAP6_BE) }, 1674 1.6 christos { "vfnmsub231s%XH", { XMScalar, VexScalar, EXw, EXxEVexR }, PREFIX_DATA }, 1675 1.6 christos /* C0 */ 1676 1.6 christos { Bad_Opcode }, 1677 1.6 christos { Bad_Opcode }, 1678 1.6 christos { Bad_Opcode }, 1679 1.6 christos { Bad_Opcode }, 1680 1.6 christos { Bad_Opcode }, 1681 1.6 christos { Bad_Opcode }, 1682 1.6 christos { Bad_Opcode }, 1683 1.6 christos { Bad_Opcode }, 1684 1.6 christos /* C8 */ 1685 1.6 christos { Bad_Opcode }, 1686 1.6 christos { Bad_Opcode }, 1687 1.6 christos { Bad_Opcode }, 1688 1.6 christos { Bad_Opcode }, 1689 1.6 christos { Bad_Opcode }, 1690 1.6 christos { Bad_Opcode }, 1691 1.6 christos { Bad_Opcode }, 1692 1.6 christos { Bad_Opcode }, 1693 1.6 christos /* D0 */ 1694 1.6 christos { Bad_Opcode }, 1695 1.6 christos { Bad_Opcode }, 1696 1.6 christos { Bad_Opcode }, 1697 1.6 christos { Bad_Opcode }, 1698 1.6 christos { Bad_Opcode }, 1699 1.6 christos { Bad_Opcode }, 1700 1.6 christos { PREFIX_TABLE (PREFIX_EVEX_MAP6_D6) }, 1701 1.6 christos { PREFIX_TABLE (PREFIX_EVEX_MAP6_D7) }, 1702 1.6 christos /* D8 */ 1703 1.6 christos { Bad_Opcode }, 1704 1.6 christos { Bad_Opcode }, 1705 1.6 christos { Bad_Opcode }, 1706 1.6 christos { Bad_Opcode }, 1707 1.6 christos { Bad_Opcode }, 1708 1.6 christos { Bad_Opcode }, 1709 1.6 christos { Bad_Opcode }, 1710 1.6 christos { Bad_Opcode }, 1711 1.6 christos /* E0 */ 1712 1.6 christos { Bad_Opcode }, 1713 1.6 christos { Bad_Opcode }, 1714 1.6 christos { Bad_Opcode }, 1715 1.6 christos { Bad_Opcode }, 1716 1.6 christos { Bad_Opcode }, 1717 1.6 christos { Bad_Opcode }, 1718 1.6 christos { Bad_Opcode }, 1719 1.6 christos { Bad_Opcode }, 1720 1.6 christos /* E8 */ 1721 1.6 christos { Bad_Opcode }, 1722 1.6 christos { Bad_Opcode }, 1723 1.6 christos { Bad_Opcode }, 1724 1.6 christos { Bad_Opcode }, 1725 1.6 christos { Bad_Opcode }, 1726 1.6 christos { Bad_Opcode }, 1727 1.6 christos { Bad_Opcode }, 1728 1.6 christos { Bad_Opcode }, 1729 1.6 christos /* F0 */ 1730 1.6 christos { Bad_Opcode }, 1731 1.6 christos { Bad_Opcode }, 1732 1.6 christos { Bad_Opcode }, 1733 1.6 christos { Bad_Opcode }, 1734 1.6 christos { Bad_Opcode }, 1735 1.6 christos { Bad_Opcode }, 1736 1.6 christos { Bad_Opcode }, 1737 1.6 christos { Bad_Opcode }, 1738 1.6 christos /* F8 */ 1739 1.6 christos { Bad_Opcode }, 1740 1.6 christos { Bad_Opcode }, 1741 1.6 christos { Bad_Opcode }, 1742 1.6 christos { Bad_Opcode }, 1743 1.6 christos { Bad_Opcode }, 1744 1.6 christos { Bad_Opcode }, 1745 1.6 christos { Bad_Opcode }, 1746 1.6 christos { Bad_Opcode }, 1747 1.6 christos }, 1748 1.1 christos }; 1749