1 1.1 christos /* EVEX_W_0F5B_P_0 */ 2 1.1 christos { 3 1.1.1.2 christos { "%XEvcvtdq2ps", { XM, EXx, EXxEVexR }, 0 }, 4 1.1 christos { "vcvtqq2ps%XY", { XMxmmq, EXx, EXxEVexR }, 0 }, 5 1.1 christos }, 6 1.1 christos /* EVEX_W_0F62 */ 7 1.1 christos { 8 1.1.1.2 christos { "%XEvpunpckldq", { XM, Vex, EXx }, PREFIX_DATA }, 9 1.1 christos }, 10 1.1 christos /* EVEX_W_0F66 */ 11 1.1 christos { 12 1.1.1.2 christos { "vpcmpgtd", { MaskG, Vex, EXx }, PREFIX_DATA }, 13 1.1 christos }, 14 1.1 christos /* EVEX_W_0F6A */ 15 1.1 christos { 16 1.1.1.2 christos { "%XEvpunpckhdq", { XM, Vex, EXx }, PREFIX_DATA }, 17 1.1 christos }, 18 1.1 christos /* EVEX_W_0F6B */ 19 1.1 christos { 20 1.1.1.2 christos { "%XEvpackssdw", { XM, Vex, EXx }, PREFIX_DATA }, 21 1.1 christos }, 22 1.1 christos /* EVEX_W_0F6C */ 23 1.1 christos { 24 1.1 christos { Bad_Opcode }, 25 1.1.1.2 christos { "%XEvpunpcklqdq", { XM, Vex, EXx }, PREFIX_DATA }, 26 1.1 christos }, 27 1.1 christos /* EVEX_W_0F6D */ 28 1.1 christos { 29 1.1 christos { Bad_Opcode }, 30 1.1.1.2 christos { "%XEvpunpckhqdq", { XM, Vex, EXx }, PREFIX_DATA }, 31 1.1 christos }, 32 1.1 christos /* EVEX_W_0F6F_P_1 */ 33 1.1 christos { 34 1.1 christos { "vmovdqu32", { XM, EXEvexXNoBcst }, 0 }, 35 1.1 christos { "vmovdqu64", { XM, EXEvexXNoBcst }, 0 }, 36 1.1 christos }, 37 1.1 christos /* EVEX_W_0F6F_P_2 */ 38 1.1 christos { 39 1.1 christos { "vmovdqa32", { XM, EXEvexXNoBcst }, 0 }, 40 1.1 christos { "vmovdqa64", { XM, EXEvexXNoBcst }, 0 }, 41 1.1 christos }, 42 1.1 christos /* EVEX_W_0F6F_P_3 */ 43 1.1 christos { 44 1.1 christos { "vmovdqu8", { XM, EXx }, 0 }, 45 1.1 christos { "vmovdqu16", { XM, EXx }, 0 }, 46 1.1 christos }, 47 1.1 christos /* EVEX_W_0F70_P_2 */ 48 1.1 christos { 49 1.1.1.2 christos { "%XEvpshufd", { XM, EXx, Ib }, 0 }, 50 1.1 christos }, 51 1.1 christos /* EVEX_W_0F72_R_2 */ 52 1.1 christos { 53 1.1.1.4 christos { "%MEvpsrld", { Vex, EXx, Ib }, PREFIX_DATA }, 54 1.1.1.4 christos }, 55 1.1.1.4 christos /* EVEX_W_0F72_R_4 */ 56 1.1.1.4 christos { 57 1.1.1.4 christos { "%MEvpsrad", { Vex, EXx, Ib }, PREFIX_DATA }, 58 1.1.1.4 christos { "vpsraq", { Vex, EXx, Ib }, PREFIX_DATA }, 59 1.1 christos }, 60 1.1 christos /* EVEX_W_0F72_R_6 */ 61 1.1 christos { 62 1.1.1.4 christos { "%MEvpslld", { Vex, EXx, Ib }, PREFIX_DATA }, 63 1.1 christos }, 64 1.1 christos /* EVEX_W_0F73_R_2 */ 65 1.1 christos { 66 1.1 christos { Bad_Opcode }, 67 1.1.1.4 christos { "%MEvpsrlq", { Vex, EXx, Ib }, PREFIX_DATA }, 68 1.1 christos }, 69 1.1 christos /* EVEX_W_0F73_R_6 */ 70 1.1 christos { 71 1.1 christos { Bad_Opcode }, 72 1.1.1.4 christos { "%MEvpsllq", { Vex, EXx, Ib }, PREFIX_DATA }, 73 1.1 christos }, 74 1.1 christos /* EVEX_W_0F76 */ 75 1.1 christos { 76 1.1.1.2 christos { "vpcmpeqd", { MaskG, Vex, EXx }, PREFIX_DATA }, 77 1.1 christos }, 78 1.1 christos /* EVEX_W_0F78_P_0 */ 79 1.1 christos { 80 1.1 christos { "vcvttps2udq", { XM, EXx, EXxEVexS }, 0 }, 81 1.1 christos { "vcvttpd2udq%XY", { XMxmmq, EXx, EXxEVexS }, 0 }, 82 1.1 christos }, 83 1.1 christos /* EVEX_W_0F78_P_2 */ 84 1.1 christos { 85 1.1 christos { "vcvttps2uqq", { XM, EXEvexHalfBcstXmmq, EXxEVexS }, 0 }, 86 1.1 christos { "vcvttpd2uqq", { XM, EXx, EXxEVexS }, 0 }, 87 1.1 christos }, 88 1.1 christos /* EVEX_W_0F79_P_0 */ 89 1.1 christos { 90 1.1 christos { "vcvtps2udq", { XM, EXx, EXxEVexR }, 0 }, 91 1.1 christos { "vcvtpd2udq%XY", { XMxmmq, EXx, EXxEVexR }, 0 }, 92 1.1 christos }, 93 1.1 christos /* EVEX_W_0F79_P_2 */ 94 1.1 christos { 95 1.1 christos { "vcvtps2uqq", { XM, EXEvexHalfBcstXmmq, EXxEVexR }, 0 }, 96 1.1 christos { "vcvtpd2uqq", { XM, EXx, EXxEVexR }, 0 }, 97 1.1 christos }, 98 1.1 christos /* EVEX_W_0F7A_P_1 */ 99 1.1 christos { 100 1.1 christos { "vcvtudq2pd", { XM, EXEvexHalfBcstXmmq }, 0 }, 101 1.1 christos { "vcvtuqq2pd", { XM, EXx, EXxEVexR }, 0 }, 102 1.1 christos }, 103 1.1 christos /* EVEX_W_0F7A_P_2 */ 104 1.1 christos { 105 1.1 christos { "vcvttps2qq", { XM, EXEvexHalfBcstXmmq, EXxEVexS }, 0 }, 106 1.1 christos { "vcvttpd2qq", { XM, EXx, EXxEVexS }, 0 }, 107 1.1 christos }, 108 1.1 christos /* EVEX_W_0F7A_P_3 */ 109 1.1 christos { 110 1.1 christos { "vcvtudq2ps", { XM, EXx, EXxEVexR }, 0 }, 111 1.1 christos { "vcvtuqq2ps%XY", { XMxmmq, EXx, EXxEVexR }, 0 }, 112 1.1 christos }, 113 1.1 christos /* EVEX_W_0F7B_P_2 */ 114 1.1 christos { 115 1.1 christos { "vcvtps2qq", { XM, EXEvexHalfBcstXmmq, EXxEVexR }, 0 }, 116 1.1 christos { "vcvtpd2qq", { XM, EXx, EXxEVexR }, 0 }, 117 1.1 christos }, 118 1.1 christos /* EVEX_W_0F7E_P_1 */ 119 1.1 christos { 120 1.1.1.4 christos { EVEX_LEN_TABLE (EVEX_LEN_0F7E_P_1_W_0) }, 121 1.1.1.2 christos { VEX_LEN_TABLE (VEX_LEN_0F7E_P_1) }, 122 1.1 christos }, 123 1.1 christos /* EVEX_W_0F7F_P_1 */ 124 1.1 christos { 125 1.1 christos { "vmovdqu32", { EXxS, XM }, 0 }, 126 1.1 christos { "vmovdqu64", { EXxS, XM }, 0 }, 127 1.1 christos }, 128 1.1 christos /* EVEX_W_0F7F_P_2 */ 129 1.1 christos { 130 1.1 christos { "vmovdqa32", { EXxS, XM }, 0 }, 131 1.1 christos { "vmovdqa64", { EXxS, XM }, 0 }, 132 1.1 christos }, 133 1.1 christos /* EVEX_W_0F7F_P_3 */ 134 1.1 christos { 135 1.1 christos { "vmovdqu8", { EXxS, XM }, 0 }, 136 1.1 christos { "vmovdqu16", { EXxS, XM }, 0 }, 137 1.1 christos }, 138 1.1 christos /* EVEX_W_0FD2 */ 139 1.1 christos { 140 1.1.1.2 christos { "%XEvpsrld", { XM, Vex, EXxmm }, PREFIX_DATA }, 141 1.1 christos }, 142 1.1 christos /* EVEX_W_0FD3 */ 143 1.1 christos { 144 1.1 christos { Bad_Opcode }, 145 1.1.1.2 christos { "%XEvpsrlq", { XM, Vex, EXxmm }, PREFIX_DATA }, 146 1.1 christos }, 147 1.1 christos /* EVEX_W_0FD4 */ 148 1.1 christos { 149 1.1 christos { Bad_Opcode }, 150 1.1.1.2 christos { "%XEvpaddq", { XM, Vex, EXx }, PREFIX_DATA }, 151 1.1 christos }, 152 1.1.1.2 christos /* EVEX_W_0FD6 */ 153 1.1 christos { 154 1.1.1.4 christos { EVEX_LEN_TABLE (EVEX_LEN_0FD6_P_2_W_0) }, 155 1.1.1.2 christos { VEX_LEN_TABLE (VEX_LEN_0FD6) }, 156 1.1 christos }, 157 1.1.1.4 christos /* EVEX_W_0FE2 */ 158 1.1.1.4 christos { 159 1.1.1.4 christos { "%XEvpsrad", { XM, Vex, EXxmm }, PREFIX_DATA }, 160 1.1.1.4 christos { "vpsraq", { XM, Vex, EXxmm }, PREFIX_DATA }, 161 1.1.1.4 christos }, 162 1.1 christos /* EVEX_W_0FE6_P_1 */ 163 1.1 christos { 164 1.1.1.2 christos { "%XEvcvtdq2pd", { XM, EXEvexHalfBcstXmmq }, 0 }, 165 1.1 christos { "vcvtqq2pd", { XM, EXx, EXxEVexR }, 0 }, 166 1.1 christos }, 167 1.1 christos /* EVEX_W_0FE7 */ 168 1.1 christos { 169 1.1.1.3 christos { "%XEvmovntdq", { Mx, XM }, PREFIX_DATA }, 170 1.1 christos }, 171 1.1 christos /* EVEX_W_0FF2 */ 172 1.1 christos { 173 1.1.1.2 christos { "%XEvpslld", { XM, Vex, EXxmm }, PREFIX_DATA }, 174 1.1 christos }, 175 1.1 christos /* EVEX_W_0FF3 */ 176 1.1 christos { 177 1.1 christos { Bad_Opcode }, 178 1.1.1.2 christos { "%XEvpsllq", { XM, Vex, EXxmm }, PREFIX_DATA }, 179 1.1 christos }, 180 1.1 christos /* EVEX_W_0FF4 */ 181 1.1 christos { 182 1.1 christos { Bad_Opcode }, 183 1.1.1.2 christos { "%XEvpmuludq", { XM, Vex, EXx }, PREFIX_DATA }, 184 1.1 christos }, 185 1.1 christos /* EVEX_W_0FFA */ 186 1.1 christos { 187 1.1.1.2 christos { "%XEvpsubd", { XM, Vex, EXx }, PREFIX_DATA }, 188 1.1 christos }, 189 1.1 christos /* EVEX_W_0FFB */ 190 1.1 christos { 191 1.1 christos { Bad_Opcode }, 192 1.1.1.2 christos { "%XEvpsubq", { XM, Vex, EXx }, PREFIX_DATA }, 193 1.1 christos }, 194 1.1 christos /* EVEX_W_0FFE */ 195 1.1 christos { 196 1.1.1.2 christos { "%XEvpaddd", { XM, Vex, EXx }, PREFIX_DATA }, 197 1.1 christos }, 198 1.1 christos /* EVEX_W_0F3810_P_1 */ 199 1.1 christos { 200 1.1 christos { "vpmovuswb", { EXxmmq, XM }, 0 }, 201 1.1 christos }, 202 1.1 christos /* EVEX_W_0F3810_P_2 */ 203 1.1 christos { 204 1.1 christos { Bad_Opcode }, 205 1.1 christos { "vpsrlvw", { XM, Vex, EXx }, 0 }, 206 1.1 christos }, 207 1.1 christos /* EVEX_W_0F3811_P_1 */ 208 1.1 christos { 209 1.1 christos { "vpmovusdb", { EXxmmqd, XM }, 0 }, 210 1.1 christos }, 211 1.1 christos /* EVEX_W_0F3811_P_2 */ 212 1.1 christos { 213 1.1 christos { Bad_Opcode }, 214 1.1 christos { "vpsravw", { XM, Vex, EXx }, 0 }, 215 1.1 christos }, 216 1.1 christos /* EVEX_W_0F3812_P_1 */ 217 1.1 christos { 218 1.1 christos { "vpmovusqb", { EXxmmdw, XM }, 0 }, 219 1.1 christos }, 220 1.1 christos /* EVEX_W_0F3812_P_2 */ 221 1.1 christos { 222 1.1 christos { Bad_Opcode }, 223 1.1 christos { "vpsllvw", { XM, Vex, EXx }, 0 }, 224 1.1 christos }, 225 1.1 christos /* EVEX_W_0F3813_P_1 */ 226 1.1 christos { 227 1.1 christos { "vpmovusdw", { EXxmmq, XM }, 0 }, 228 1.1 christos }, 229 1.1 christos /* EVEX_W_0F3814_P_1 */ 230 1.1 christos { 231 1.1 christos { "vpmovusqw", { EXxmmqd, XM }, 0 }, 232 1.1 christos }, 233 1.1 christos /* EVEX_W_0F3815_P_1 */ 234 1.1 christos { 235 1.1 christos { "vpmovusqd", { EXxmmq, XM }, 0 }, 236 1.1 christos }, 237 1.1.1.2 christos /* EVEX_W_0F3819_L_n */ 238 1.1 christos { 239 1.1.1.2 christos { "vbroadcastf32x2", { XM, EXq }, PREFIX_DATA }, 240 1.1.1.2 christos { "%XEvbroadcastsd", { XM, EXq }, PREFIX_DATA }, 241 1.1 christos }, 242 1.1.1.3 christos /* EVEX_W_0F381A_L_n */ 243 1.1 christos { 244 1.1.1.3 christos { "vbroadcastf32x4", { XM, Mxmm }, PREFIX_DATA }, 245 1.1.1.3 christos { "vbroadcastf64x2", { XM, Mxmm }, PREFIX_DATA }, 246 1.1 christos }, 247 1.1.1.3 christos /* EVEX_W_0F381B_L_2 */ 248 1.1 christos { 249 1.1.1.3 christos { "vbroadcastf32x8", { XM, Mymm }, PREFIX_DATA }, 250 1.1.1.3 christos { "vbroadcastf64x4", { XM, Mymm }, PREFIX_DATA }, 251 1.1 christos }, 252 1.1 christos /* EVEX_W_0F381E */ 253 1.1 christos { 254 1.1.1.2 christos { "%XEvpabsd", { XM, EXx }, PREFIX_DATA }, 255 1.1 christos }, 256 1.1 christos /* EVEX_W_0F381F */ 257 1.1 christos { 258 1.1 christos { Bad_Opcode }, 259 1.1 christos { "vpabsq", { XM, EXx }, PREFIX_DATA }, 260 1.1 christos }, 261 1.1 christos /* EVEX_W_0F3820_P_1 */ 262 1.1 christos { 263 1.1 christos { "vpmovswb", { EXxmmq, XM }, 0 }, 264 1.1 christos }, 265 1.1 christos /* EVEX_W_0F3821_P_1 */ 266 1.1 christos { 267 1.1 christos { "vpmovsdb", { EXxmmqd, XM }, 0 }, 268 1.1 christos }, 269 1.1 christos /* EVEX_W_0F3822_P_1 */ 270 1.1 christos { 271 1.1 christos { "vpmovsqb", { EXxmmdw, XM }, 0 }, 272 1.1 christos }, 273 1.1 christos /* EVEX_W_0F3823_P_1 */ 274 1.1 christos { 275 1.1 christos { "vpmovsdw", { EXxmmq, XM }, 0 }, 276 1.1 christos }, 277 1.1 christos /* EVEX_W_0F3824_P_1 */ 278 1.1 christos { 279 1.1 christos { "vpmovsqw", { EXxmmqd, XM }, 0 }, 280 1.1 christos }, 281 1.1 christos /* EVEX_W_0F3825_P_1 */ 282 1.1 christos { 283 1.1 christos { "vpmovsqd", { EXxmmq, XM }, 0 }, 284 1.1 christos }, 285 1.1 christos /* EVEX_W_0F3825_P_2 */ 286 1.1 christos { 287 1.1.1.2 christos { "%XEvpmovsxdq", { XM, EXxmmq }, 0 }, 288 1.1 christos }, 289 1.1 christos /* EVEX_W_0F3828_P_2 */ 290 1.1 christos { 291 1.1 christos { Bad_Opcode }, 292 1.1.1.2 christos { "%XEvpmuldq", { XM, Vex, EXx }, 0 }, 293 1.1 christos }, 294 1.1 christos /* EVEX_W_0F3829_P_2 */ 295 1.1 christos { 296 1.1 christos { Bad_Opcode }, 297 1.1.1.2 christos { "vpcmpeqq", { MaskG, Vex, EXx }, 0 }, 298 1.1 christos }, 299 1.1 christos /* EVEX_W_0F382A_P_1 */ 300 1.1 christos { 301 1.1 christos { Bad_Opcode }, 302 1.1.1.3 christos { "vpbroadcastmb2qY", { XM, MaskR }, 0 }, 303 1.1 christos }, 304 1.1 christos /* EVEX_W_0F382A_P_2 */ 305 1.1 christos { 306 1.1.1.3 christos { "%XEvmovntdqaY", { XM, Mx }, 0 }, 307 1.1 christos }, 308 1.1 christos /* EVEX_W_0F382B */ 309 1.1 christos { 310 1.1.1.2 christos { "%XEvpackusdw", { XM, Vex, EXx }, PREFIX_DATA }, 311 1.1 christos }, 312 1.1 christos /* EVEX_W_0F3830_P_1 */ 313 1.1 christos { 314 1.1 christos { "vpmovwb", { EXxmmq, XM }, 0 }, 315 1.1 christos }, 316 1.1 christos /* EVEX_W_0F3831_P_1 */ 317 1.1 christos { 318 1.1 christos { "vpmovdb", { EXxmmqd, XM }, 0 }, 319 1.1 christos }, 320 1.1 christos /* EVEX_W_0F3832_P_1 */ 321 1.1 christos { 322 1.1 christos { "vpmovqb", { EXxmmdw, XM }, 0 }, 323 1.1 christos }, 324 1.1 christos /* EVEX_W_0F3833_P_1 */ 325 1.1 christos { 326 1.1 christos { "vpmovdw", { EXxmmq, XM }, 0 }, 327 1.1 christos }, 328 1.1 christos /* EVEX_W_0F3834_P_1 */ 329 1.1 christos { 330 1.1 christos { "vpmovqw", { EXxmmqd, XM }, 0 }, 331 1.1 christos }, 332 1.1 christos /* EVEX_W_0F3835_P_1 */ 333 1.1 christos { 334 1.1 christos { "vpmovqd", { EXxmmq, XM }, 0 }, 335 1.1 christos }, 336 1.1 christos /* EVEX_W_0F3835_P_2 */ 337 1.1 christos { 338 1.1.1.2 christos { "%XEvpmovzxdq", { XM, EXxmmq }, 0 }, 339 1.1 christos }, 340 1.1 christos /* EVEX_W_0F3837 */ 341 1.1 christos { 342 1.1 christos { Bad_Opcode }, 343 1.1.1.2 christos { "vpcmpgtq", { MaskG, Vex, EXx }, PREFIX_DATA }, 344 1.1 christos }, 345 1.1 christos /* EVEX_W_0F383A_P_1 */ 346 1.1 christos { 347 1.1.1.3 christos { "vpbroadcastmw2dY", { XM, MaskR }, 0 }, 348 1.1 christos }, 349 1.1 christos /* EVEX_W_0F3859 */ 350 1.1 christos { 351 1.1.1.2 christos { "vbroadcasti32x2", { XM, EXq }, PREFIX_DATA }, 352 1.1.1.2 christos { "%XEvpbroadcastq", { XM, EXq }, PREFIX_DATA }, 353 1.1 christos }, 354 1.1.1.3 christos /* EVEX_W_0F385A_L_n */ 355 1.1 christos { 356 1.1.1.3 christos { "vbroadcasti32x4", { XM, Mxmm }, PREFIX_DATA }, 357 1.1.1.3 christos { "vbroadcasti64x2", { XM, Mxmm }, PREFIX_DATA }, 358 1.1 christos }, 359 1.1.1.3 christos /* EVEX_W_0F385B_L_2 */ 360 1.1 christos { 361 1.1.1.3 christos { "vbroadcasti32x8", { XM, Mymm }, PREFIX_DATA }, 362 1.1.1.3 christos { "vbroadcasti64x4", { XM, Mymm }, PREFIX_DATA }, 363 1.1 christos }, 364 1.1 christos /* EVEX_W_0F3870 */ 365 1.1 christos { 366 1.1 christos { Bad_Opcode }, 367 1.1 christos { "vpshldvw", { XM, Vex, EXx }, PREFIX_DATA }, 368 1.1 christos }, 369 1.1 christos /* EVEX_W_0F3872_P_2 */ 370 1.1 christos { 371 1.1 christos { Bad_Opcode }, 372 1.1 christos { "vpshrdvw", { XM, Vex, EXx }, 0 }, 373 1.1 christos }, 374 1.1 christos /* EVEX_W_0F387A */ 375 1.1 christos { 376 1.1.1.3 christos { "vpbroadcastb", { XM, Rd }, PREFIX_DATA }, 377 1.1 christos }, 378 1.1 christos /* EVEX_W_0F387B */ 379 1.1 christos { 380 1.1.1.3 christos { "vpbroadcastw", { XM, Rd }, PREFIX_DATA }, 381 1.1 christos }, 382 1.1 christos /* EVEX_W_0F3883 */ 383 1.1 christos { 384 1.1 christos { Bad_Opcode }, 385 1.1 christos { "vpmultishiftqb", { XM, Vex, EXx }, PREFIX_DATA }, 386 1.1 christos }, 387 1.1.1.2 christos /* EVEX_W_0F3A18_L_n */ 388 1.1 christos { 389 1.1.1.2 christos { "vinsertf32x4", { XM, Vex, EXxmm, Ib }, PREFIX_DATA }, 390 1.1.1.2 christos { "vinsertf64x2", { XM, Vex, EXxmm, Ib }, PREFIX_DATA }, 391 1.1 christos }, 392 1.1.1.2 christos /* EVEX_W_0F3A19_L_n */ 393 1.1 christos { 394 1.1.1.2 christos { "vextractf32x4", { EXxmm, XM, Ib }, PREFIX_DATA }, 395 1.1.1.2 christos { "vextractf64x2", { EXxmm, XM, Ib }, PREFIX_DATA }, 396 1.1 christos }, 397 1.1.1.2 christos /* EVEX_W_0F3A1A_L_2 */ 398 1.1 christos { 399 1.1.1.2 christos { "vinsertf32x8", { XM, Vex, EXymm, Ib }, PREFIX_DATA }, 400 1.1.1.2 christos { "vinsertf64x4", { XM, Vex, EXymm, Ib }, PREFIX_DATA }, 401 1.1 christos }, 402 1.1.1.2 christos /* EVEX_W_0F3A1B_L_2 */ 403 1.1 christos { 404 1.1.1.2 christos { "vextractf32x8", { EXymm, XM, Ib }, PREFIX_DATA }, 405 1.1.1.2 christos { "vextractf64x4", { EXymm, XM, Ib }, PREFIX_DATA }, 406 1.1 christos }, 407 1.1 christos /* EVEX_W_0F3A21 */ 408 1.1 christos { 409 1.1.1.2 christos { VEX_LEN_TABLE (VEX_LEN_0F3A21) }, 410 1.1 christos }, 411 1.1.1.2 christos /* EVEX_W_0F3A23_L_n */ 412 1.1 christos { 413 1.1.1.2 christos { "vshuff32x4", { XM, Vex, EXx, Ib }, PREFIX_DATA }, 414 1.1.1.2 christos { "vshuff64x2", { XM, Vex, EXx, Ib }, PREFIX_DATA }, 415 1.1 christos }, 416 1.1.1.2 christos /* EVEX_W_0F3A38_L_n */ 417 1.1 christos { 418 1.1.1.2 christos { "vinserti32x4", { XM, Vex, EXxmm, Ib }, PREFIX_DATA }, 419 1.1.1.2 christos { "vinserti64x2", { XM, Vex, EXxmm, Ib }, PREFIX_DATA }, 420 1.1 christos }, 421 1.1.1.2 christos /* EVEX_W_0F3A39_L_n */ 422 1.1 christos { 423 1.1.1.2 christos { "vextracti32x4", { EXxmm, XM, Ib }, PREFIX_DATA }, 424 1.1.1.2 christos { "vextracti64x2", { EXxmm, XM, Ib }, PREFIX_DATA }, 425 1.1 christos }, 426 1.1.1.2 christos /* EVEX_W_0F3A3A_L_2 */ 427 1.1 christos { 428 1.1.1.2 christos { "vinserti32x8", { XM, Vex, EXymm, Ib }, PREFIX_DATA }, 429 1.1.1.2 christos { "vinserti64x4", { XM, Vex, EXymm, Ib }, PREFIX_DATA }, 430 1.1 christos }, 431 1.1.1.2 christos /* EVEX_W_0F3A3B_L_2 */ 432 1.1 christos { 433 1.1.1.2 christos { "vextracti32x8", { EXymm, XM, Ib }, PREFIX_DATA }, 434 1.1.1.2 christos { "vextracti64x4", { EXymm, XM, Ib }, PREFIX_DATA }, 435 1.1 christos }, 436 1.1 christos /* EVEX_W_0F3A42 */ 437 1.1 christos { 438 1.1.1.4 christos { PREFIX_TABLE (PREFIX_EVEX_0F3A42_W_0) }, 439 1.1 christos }, 440 1.1.1.2 christos /* EVEX_W_0F3A43_L_n */ 441 1.1 christos { 442 1.1.1.2 christos { "vshufi32x4", { XM, Vex, EXx, Ib }, PREFIX_DATA }, 443 1.1.1.2 christos { "vshufi64x2", { XM, Vex, EXx, Ib }, PREFIX_DATA }, 444 1.1 christos }, 445 1.1 christos /* EVEX_W_0F3A70 */ 446 1.1 christos { 447 1.1 christos { Bad_Opcode }, 448 1.1 christos { "vpshldw", { XM, Vex, EXx, Ib }, 0 }, 449 1.1 christos }, 450 1.1 christos /* EVEX_W_0F3A72 */ 451 1.1 christos { 452 1.1 christos { Bad_Opcode }, 453 1.1 christos { "vpshrdw", { XM, Vex, EXx, Ib }, 0 }, 454 1.1 christos }, 455 1.1.1.3 christos /* EVEX_W_MAP4_8F_R_0 */ 456 1.1.1.3 christos { 457 1.1.1.3 christos { "pop2", { { PUSH2_POP2_Fixup, q_mode}, Eq }, NO_PREFIX }, 458 1.1.1.3 christos { "pop2p", { { PUSH2_POP2_Fixup, q_mode}, Eq }, NO_PREFIX }, 459 1.1.1.3 christos }, 460 1.1.1.3 christos /* EVEX_W_MAP4_F8_P1_M_1 */ 461 1.1.1.3 christos { 462 1.1.1.3 christos { "uwrmsr", { Gq, Eq }, 0 }, 463 1.1.1.3 christos }, 464 1.1.1.3 christos /* EVEX_W_MAP4_F8_P3_M_1 */ 465 1.1.1.3 christos { 466 1.1.1.3 christos { "urdmsr", { Eq, Gq }, 0 }, 467 1.1.1.3 christos }, 468 1.1.1.3 christos /* EVEX_W_MAP4_FF_R_6 */ 469 1.1.1.3 christos { 470 1.1.1.3 christos { "push2", { { PUSH2_POP2_Fixup, q_mode}, Eq }, 0 }, 471 1.1.1.3 christos { "push2p", { { PUSH2_POP2_Fixup, q_mode}, Eq }, 0 }, 472 1.1.1.3 christos }, 473 1.1.1.2 christos /* EVEX_W_MAP5_5B_P_0 */ 474 1.1.1.2 christos { 475 1.1.1.2 christos { "vcvtdq2ph%XY", { XMxmmq, EXx, EXxEVexR }, 0 }, 476 1.1.1.2 christos { "vcvtqq2ph%XZ", { XMM, EXx, EXxEVexR }, 0 }, 477 1.1.1.2 christos }, 478 1.1.1.4 christos /* EVEX_W_MAP5_6C_P_0 */ 479 1.1.1.4 christos { 480 1.1.1.4 christos { "vcvttps2udqs", { XM, EXx, EXxEVexS }, 0 }, 481 1.1.1.4 christos { "vcvttpd2udqs%XY", { XMxmmq, EXx, EXxEVexS }, 0 }, 482 1.1.1.4 christos }, 483 1.1.1.4 christos /* EVEX_W_MAP5_6C_P_2 */ 484 1.1.1.4 christos { 485 1.1.1.4 christos { "vcvttps2uqqs", { XM, EXEvexHalfBcstXmmq, EXxEVexS }, 0 }, 486 1.1.1.4 christos { "vcvttpd2uqqs", { XM, EXx, EXxEVexS }, 0 }, 487 1.1.1.4 christos }, 488 1.1.1.4 christos /* EVEX_W_MAP5_6D_P_0 */ 489 1.1.1.4 christos { 490 1.1.1.4 christos { "vcvttps2dqs", { XM, EXx, EXxEVexS }, 0 }, 491 1.1.1.4 christos { "vcvttpd2dqs%XY", { XMxmmq, EXx, EXxEVexS }, 0 }, 492 1.1.1.4 christos }, 493 1.1.1.4 christos /* EVEX_W_MAP5_6D_P_2 */ 494 1.1.1.4 christos { 495 1.1.1.4 christos { "vcvttps2qqs", { XM, EXEvexHalfBcstXmmq, EXxEVexS }, 0 }, 496 1.1.1.4 christos { "vcvttpd2qqs", { XM, EXx, EXxEVexS }, 0 }, 497 1.1.1.4 christos }, 498 1.1.1.4 christos /* EVEX_W_MAP5_6E_P_1 */ 499 1.1.1.4 christos { 500 1.1.1.4 christos { "vmovw", { XMScalar, EXw }, 0 }, 501 1.1.1.4 christos }, 502 1.1.1.2 christos /* EVEX_W_MAP5_7A_P_3 */ 503 1.1.1.2 christos { 504 1.1.1.2 christos { "vcvtudq2ph%XY", { XMxmmq, EXx, EXxEVexR }, 0 }, 505 1.1.1.2 christos { "vcvtuqq2ph%XZ", { XMM, EXx, EXxEVexR }, 0 }, 506 1.1.1.2 christos }, 507 1.1.1.4 christos /* EVEX_W_MAP5_7E_P_1 */ 508 1.1.1.4 christos { 509 1.1.1.4 christos { "vmovw", { EXwS, XMScalar }, 0 }, 510 1.1.1.4 christos }, 511