1*a9fa9459Szrj #ifdef NEED_OPCODE_TABLE 2*a9fa9459Szrj 3*a9fa9459Szrj static const struct dis386 evex_table[][256] = { 4*a9fa9459Szrj /* EVEX_0F */ 5*a9fa9459Szrj { 6*a9fa9459Szrj /* 00 */ 7*a9fa9459Szrj { Bad_Opcode }, 8*a9fa9459Szrj { Bad_Opcode }, 9*a9fa9459Szrj { Bad_Opcode }, 10*a9fa9459Szrj { Bad_Opcode }, 11*a9fa9459Szrj { Bad_Opcode }, 12*a9fa9459Szrj { Bad_Opcode }, 13*a9fa9459Szrj { Bad_Opcode }, 14*a9fa9459Szrj { Bad_Opcode }, 15*a9fa9459Szrj /* 08 */ 16*a9fa9459Szrj { Bad_Opcode }, 17*a9fa9459Szrj { Bad_Opcode }, 18*a9fa9459Szrj { Bad_Opcode }, 19*a9fa9459Szrj { Bad_Opcode }, 20*a9fa9459Szrj { Bad_Opcode }, 21*a9fa9459Szrj { Bad_Opcode }, 22*a9fa9459Szrj { Bad_Opcode }, 23*a9fa9459Szrj { Bad_Opcode }, 24*a9fa9459Szrj /* 10 */ 25*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F10) }, 26*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F11) }, 27*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F12) }, 28*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F13) }, 29*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F14) }, 30*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F15) }, 31*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F16) }, 32*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F17) }, 33*a9fa9459Szrj /* 18 */ 34*a9fa9459Szrj { Bad_Opcode }, 35*a9fa9459Szrj { Bad_Opcode }, 36*a9fa9459Szrj { Bad_Opcode }, 37*a9fa9459Szrj { Bad_Opcode }, 38*a9fa9459Szrj { Bad_Opcode }, 39*a9fa9459Szrj { Bad_Opcode }, 40*a9fa9459Szrj { Bad_Opcode }, 41*a9fa9459Szrj { Bad_Opcode }, 42*a9fa9459Szrj /* 20 */ 43*a9fa9459Szrj { Bad_Opcode }, 44*a9fa9459Szrj { Bad_Opcode }, 45*a9fa9459Szrj { Bad_Opcode }, 46*a9fa9459Szrj { Bad_Opcode }, 47*a9fa9459Szrj { Bad_Opcode }, 48*a9fa9459Szrj { Bad_Opcode }, 49*a9fa9459Szrj { Bad_Opcode }, 50*a9fa9459Szrj { Bad_Opcode }, 51*a9fa9459Szrj /* 28 */ 52*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F28) }, 53*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F29) }, 54*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F2A) }, 55*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F2B) }, 56*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F2C) }, 57*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F2D) }, 58*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F2E) }, 59*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F2F) }, 60*a9fa9459Szrj /* 30 */ 61*a9fa9459Szrj { Bad_Opcode }, 62*a9fa9459Szrj { Bad_Opcode }, 63*a9fa9459Szrj { Bad_Opcode }, 64*a9fa9459Szrj { Bad_Opcode }, 65*a9fa9459Szrj { Bad_Opcode }, 66*a9fa9459Szrj { Bad_Opcode }, 67*a9fa9459Szrj { Bad_Opcode }, 68*a9fa9459Szrj { Bad_Opcode }, 69*a9fa9459Szrj /* 38 */ 70*a9fa9459Szrj { Bad_Opcode }, 71*a9fa9459Szrj { Bad_Opcode }, 72*a9fa9459Szrj { Bad_Opcode }, 73*a9fa9459Szrj { Bad_Opcode }, 74*a9fa9459Szrj { Bad_Opcode }, 75*a9fa9459Szrj { Bad_Opcode }, 76*a9fa9459Szrj { Bad_Opcode }, 77*a9fa9459Szrj { Bad_Opcode }, 78*a9fa9459Szrj /* 40 */ 79*a9fa9459Szrj { Bad_Opcode }, 80*a9fa9459Szrj { Bad_Opcode }, 81*a9fa9459Szrj { Bad_Opcode }, 82*a9fa9459Szrj { Bad_Opcode }, 83*a9fa9459Szrj { Bad_Opcode }, 84*a9fa9459Szrj { Bad_Opcode }, 85*a9fa9459Szrj { Bad_Opcode }, 86*a9fa9459Szrj { Bad_Opcode }, 87*a9fa9459Szrj /* 48 */ 88*a9fa9459Szrj { Bad_Opcode }, 89*a9fa9459Szrj { Bad_Opcode }, 90*a9fa9459Szrj { Bad_Opcode }, 91*a9fa9459Szrj { Bad_Opcode }, 92*a9fa9459Szrj { Bad_Opcode }, 93*a9fa9459Szrj { Bad_Opcode }, 94*a9fa9459Szrj { Bad_Opcode }, 95*a9fa9459Szrj { Bad_Opcode }, 96*a9fa9459Szrj /* 50 */ 97*a9fa9459Szrj { Bad_Opcode }, 98*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F51) }, 99*a9fa9459Szrj { Bad_Opcode }, 100*a9fa9459Szrj { Bad_Opcode }, 101*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F54) }, 102*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F55) }, 103*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F56) }, 104*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F57) }, 105*a9fa9459Szrj /* 58 */ 106*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F58) }, 107*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F59) }, 108*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F5A) }, 109*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F5B) }, 110*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F5C) }, 111*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F5D) }, 112*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F5E) }, 113*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F5F) }, 114*a9fa9459Szrj /* 60 */ 115*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F60) }, 116*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F61) }, 117*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F62) }, 118*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F63) }, 119*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F64) }, 120*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F65) }, 121*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F66) }, 122*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F67) }, 123*a9fa9459Szrj /* 68 */ 124*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F68) }, 125*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F69) }, 126*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F6A) }, 127*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F6B) }, 128*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F6C) }, 129*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F6D) }, 130*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F6E) }, 131*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F6F) }, 132*a9fa9459Szrj /* 70 */ 133*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F70) }, 134*a9fa9459Szrj { REG_TABLE (REG_EVEX_0F71) }, 135*a9fa9459Szrj { REG_TABLE (REG_EVEX_0F72) }, 136*a9fa9459Szrj { REG_TABLE (REG_EVEX_0F73) }, 137*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F74) }, 138*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F75) }, 139*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F76) }, 140*a9fa9459Szrj { Bad_Opcode }, 141*a9fa9459Szrj /* 78 */ 142*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F78) }, 143*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F79) }, 144*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F7A) }, 145*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F7B) }, 146*a9fa9459Szrj { Bad_Opcode }, 147*a9fa9459Szrj { Bad_Opcode }, 148*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F7E) }, 149*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F7F) }, 150*a9fa9459Szrj /* 80 */ 151*a9fa9459Szrj { Bad_Opcode }, 152*a9fa9459Szrj { Bad_Opcode }, 153*a9fa9459Szrj { Bad_Opcode }, 154*a9fa9459Szrj { Bad_Opcode }, 155*a9fa9459Szrj { Bad_Opcode }, 156*a9fa9459Szrj { Bad_Opcode }, 157*a9fa9459Szrj { Bad_Opcode }, 158*a9fa9459Szrj { Bad_Opcode }, 159*a9fa9459Szrj /* 88 */ 160*a9fa9459Szrj { Bad_Opcode }, 161*a9fa9459Szrj { Bad_Opcode }, 162*a9fa9459Szrj { Bad_Opcode }, 163*a9fa9459Szrj { Bad_Opcode }, 164*a9fa9459Szrj { Bad_Opcode }, 165*a9fa9459Szrj { Bad_Opcode }, 166*a9fa9459Szrj { Bad_Opcode }, 167*a9fa9459Szrj { Bad_Opcode }, 168*a9fa9459Szrj /* 90 */ 169*a9fa9459Szrj { Bad_Opcode }, 170*a9fa9459Szrj { Bad_Opcode }, 171*a9fa9459Szrj { Bad_Opcode }, 172*a9fa9459Szrj { Bad_Opcode }, 173*a9fa9459Szrj { Bad_Opcode }, 174*a9fa9459Szrj { Bad_Opcode }, 175*a9fa9459Szrj { Bad_Opcode }, 176*a9fa9459Szrj { Bad_Opcode }, 177*a9fa9459Szrj /* 98 */ 178*a9fa9459Szrj { Bad_Opcode }, 179*a9fa9459Szrj { Bad_Opcode }, 180*a9fa9459Szrj { Bad_Opcode }, 181*a9fa9459Szrj { Bad_Opcode }, 182*a9fa9459Szrj { Bad_Opcode }, 183*a9fa9459Szrj { Bad_Opcode }, 184*a9fa9459Szrj { Bad_Opcode }, 185*a9fa9459Szrj { Bad_Opcode }, 186*a9fa9459Szrj /* A0 */ 187*a9fa9459Szrj { Bad_Opcode }, 188*a9fa9459Szrj { Bad_Opcode }, 189*a9fa9459Szrj { Bad_Opcode }, 190*a9fa9459Szrj { Bad_Opcode }, 191*a9fa9459Szrj { Bad_Opcode }, 192*a9fa9459Szrj { Bad_Opcode }, 193*a9fa9459Szrj { Bad_Opcode }, 194*a9fa9459Szrj { Bad_Opcode }, 195*a9fa9459Szrj /* A8 */ 196*a9fa9459Szrj { Bad_Opcode }, 197*a9fa9459Szrj { Bad_Opcode }, 198*a9fa9459Szrj { Bad_Opcode }, 199*a9fa9459Szrj { Bad_Opcode }, 200*a9fa9459Szrj { Bad_Opcode }, 201*a9fa9459Szrj { Bad_Opcode }, 202*a9fa9459Szrj { Bad_Opcode }, 203*a9fa9459Szrj { Bad_Opcode }, 204*a9fa9459Szrj /* B0 */ 205*a9fa9459Szrj { Bad_Opcode }, 206*a9fa9459Szrj { Bad_Opcode }, 207*a9fa9459Szrj { Bad_Opcode }, 208*a9fa9459Szrj { Bad_Opcode }, 209*a9fa9459Szrj { Bad_Opcode }, 210*a9fa9459Szrj { Bad_Opcode }, 211*a9fa9459Szrj { Bad_Opcode }, 212*a9fa9459Szrj { Bad_Opcode }, 213*a9fa9459Szrj /* B8 */ 214*a9fa9459Szrj { Bad_Opcode }, 215*a9fa9459Szrj { Bad_Opcode }, 216*a9fa9459Szrj { Bad_Opcode }, 217*a9fa9459Szrj { Bad_Opcode }, 218*a9fa9459Szrj { Bad_Opcode }, 219*a9fa9459Szrj { Bad_Opcode }, 220*a9fa9459Szrj { Bad_Opcode }, 221*a9fa9459Szrj { Bad_Opcode }, 222*a9fa9459Szrj /* C0 */ 223*a9fa9459Szrj { Bad_Opcode }, 224*a9fa9459Szrj { Bad_Opcode }, 225*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0FC2) }, 226*a9fa9459Szrj { Bad_Opcode }, 227*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0FC4) }, 228*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0FC5) }, 229*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0FC6) }, 230*a9fa9459Szrj { Bad_Opcode }, 231*a9fa9459Szrj /* C8 */ 232*a9fa9459Szrj { Bad_Opcode }, 233*a9fa9459Szrj { Bad_Opcode }, 234*a9fa9459Szrj { Bad_Opcode }, 235*a9fa9459Szrj { Bad_Opcode }, 236*a9fa9459Szrj { Bad_Opcode }, 237*a9fa9459Szrj { Bad_Opcode }, 238*a9fa9459Szrj { Bad_Opcode }, 239*a9fa9459Szrj { Bad_Opcode }, 240*a9fa9459Szrj /* D0 */ 241*a9fa9459Szrj { Bad_Opcode }, 242*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0FD1) }, 243*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0FD2) }, 244*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0FD3) }, 245*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0FD4) }, 246*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0FD5) }, 247*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0FD6) }, 248*a9fa9459Szrj { Bad_Opcode }, 249*a9fa9459Szrj /* D8 */ 250*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0FD8) }, 251*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0FD9) }, 252*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0FDA) }, 253*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0FDB) }, 254*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0FDC) }, 255*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0FDD) }, 256*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0FDE) }, 257*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0FDF) }, 258*a9fa9459Szrj /* E0 */ 259*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0FE0) }, 260*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0FE1) }, 261*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0FE2) }, 262*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0FE3) }, 263*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0FE4) }, 264*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0FE5) }, 265*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0FE6) }, 266*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0FE7) }, 267*a9fa9459Szrj /* E8 */ 268*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0FE8) }, 269*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0FE9) }, 270*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0FEA) }, 271*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0FEB) }, 272*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0FEC) }, 273*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0FED) }, 274*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0FEE) }, 275*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0FEF) }, 276*a9fa9459Szrj /* F0 */ 277*a9fa9459Szrj { Bad_Opcode }, 278*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0FF1) }, 279*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0FF2) }, 280*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0FF3) }, 281*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0FF4) }, 282*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0FF5) }, 283*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0FF6) }, 284*a9fa9459Szrj { Bad_Opcode }, 285*a9fa9459Szrj /* F8 */ 286*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0FF8) }, 287*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0FF9) }, 288*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0FFA) }, 289*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0FFB) }, 290*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0FFC) }, 291*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0FFD) }, 292*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0FFE) }, 293*a9fa9459Szrj { Bad_Opcode }, 294*a9fa9459Szrj }, 295*a9fa9459Szrj /* EVEX_0F38 */ 296*a9fa9459Szrj { 297*a9fa9459Szrj /* 00 */ 298*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F3800) }, 299*a9fa9459Szrj { Bad_Opcode }, 300*a9fa9459Szrj { Bad_Opcode }, 301*a9fa9459Szrj { Bad_Opcode }, 302*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F3804) }, 303*a9fa9459Szrj { Bad_Opcode }, 304*a9fa9459Szrj { Bad_Opcode }, 305*a9fa9459Szrj { Bad_Opcode }, 306*a9fa9459Szrj /* 08 */ 307*a9fa9459Szrj { Bad_Opcode }, 308*a9fa9459Szrj { Bad_Opcode }, 309*a9fa9459Szrj { Bad_Opcode }, 310*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F380B) }, 311*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F380C) }, 312*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F380D) }, 313*a9fa9459Szrj { Bad_Opcode }, 314*a9fa9459Szrj { Bad_Opcode }, 315*a9fa9459Szrj /* 10 */ 316*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F3810) }, 317*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F3811) }, 318*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F3812) }, 319*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F3813) }, 320*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F3814) }, 321*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F3815) }, 322*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F3816) }, 323*a9fa9459Szrj { Bad_Opcode }, 324*a9fa9459Szrj /* 18 */ 325*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F3818) }, 326*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F3819) }, 327*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F381A) }, 328*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F381B) }, 329*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F381C) }, 330*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F381D) }, 331*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F381E) }, 332*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F381F) }, 333*a9fa9459Szrj /* 20 */ 334*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F3820) }, 335*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F3821) }, 336*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F3822) }, 337*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F3823) }, 338*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F3824) }, 339*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F3825) }, 340*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F3826) }, 341*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F3827) }, 342*a9fa9459Szrj /* 28 */ 343*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F3828) }, 344*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F3829) }, 345*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F382A) }, 346*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F382B) }, 347*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F382C) }, 348*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F382D) }, 349*a9fa9459Szrj { Bad_Opcode }, 350*a9fa9459Szrj { Bad_Opcode }, 351*a9fa9459Szrj /* 30 */ 352*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F3830) }, 353*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F3831) }, 354*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F3832) }, 355*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F3833) }, 356*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F3834) }, 357*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F3835) }, 358*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F3836) }, 359*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F3837) }, 360*a9fa9459Szrj /* 38 */ 361*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F3838) }, 362*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F3839) }, 363*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F383A) }, 364*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F383B) }, 365*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F383C) }, 366*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F383D) }, 367*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F383E) }, 368*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F383F) }, 369*a9fa9459Szrj /* 40 */ 370*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F3840) }, 371*a9fa9459Szrj { Bad_Opcode }, 372*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F3842) }, 373*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F3843) }, 374*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F3844) }, 375*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F3845) }, 376*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F3846) }, 377*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F3847) }, 378*a9fa9459Szrj /* 48 */ 379*a9fa9459Szrj { Bad_Opcode }, 380*a9fa9459Szrj { Bad_Opcode }, 381*a9fa9459Szrj { Bad_Opcode }, 382*a9fa9459Szrj { Bad_Opcode }, 383*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F384C) }, 384*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F384D) }, 385*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F384E) }, 386*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F384F) }, 387*a9fa9459Szrj /* 50 */ 388*a9fa9459Szrj { Bad_Opcode }, 389*a9fa9459Szrj { Bad_Opcode }, 390*a9fa9459Szrj { Bad_Opcode }, 391*a9fa9459Szrj { Bad_Opcode }, 392*a9fa9459Szrj { Bad_Opcode }, 393*a9fa9459Szrj { Bad_Opcode }, 394*a9fa9459Szrj { Bad_Opcode }, 395*a9fa9459Szrj { Bad_Opcode }, 396*a9fa9459Szrj /* 58 */ 397*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F3858) }, 398*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F3859) }, 399*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F385A) }, 400*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F385B) }, 401*a9fa9459Szrj { Bad_Opcode }, 402*a9fa9459Szrj { Bad_Opcode }, 403*a9fa9459Szrj { Bad_Opcode }, 404*a9fa9459Szrj { Bad_Opcode }, 405*a9fa9459Szrj /* 60 */ 406*a9fa9459Szrj { Bad_Opcode }, 407*a9fa9459Szrj { Bad_Opcode }, 408*a9fa9459Szrj { Bad_Opcode }, 409*a9fa9459Szrj { Bad_Opcode }, 410*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F3864) }, 411*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F3865) }, 412*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F3866) }, 413*a9fa9459Szrj { Bad_Opcode }, 414*a9fa9459Szrj /* 68 */ 415*a9fa9459Szrj { Bad_Opcode }, 416*a9fa9459Szrj { Bad_Opcode }, 417*a9fa9459Szrj { Bad_Opcode }, 418*a9fa9459Szrj { Bad_Opcode }, 419*a9fa9459Szrj { Bad_Opcode }, 420*a9fa9459Szrj { Bad_Opcode }, 421*a9fa9459Szrj { Bad_Opcode }, 422*a9fa9459Szrj { Bad_Opcode }, 423*a9fa9459Szrj /* 70 */ 424*a9fa9459Szrj { Bad_Opcode }, 425*a9fa9459Szrj { Bad_Opcode }, 426*a9fa9459Szrj { Bad_Opcode }, 427*a9fa9459Szrj { Bad_Opcode }, 428*a9fa9459Szrj { Bad_Opcode }, 429*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F3875) }, 430*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F3876) }, 431*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F3877) }, 432*a9fa9459Szrj /* 78 */ 433*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F3878) }, 434*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F3879) }, 435*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F387A) }, 436*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F387B) }, 437*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F387C) }, 438*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F387D) }, 439*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F387E) }, 440*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F387F) }, 441*a9fa9459Szrj /* 80 */ 442*a9fa9459Szrj { Bad_Opcode }, 443*a9fa9459Szrj { Bad_Opcode }, 444*a9fa9459Szrj { Bad_Opcode }, 445*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F3883) }, 446*a9fa9459Szrj { Bad_Opcode }, 447*a9fa9459Szrj { Bad_Opcode }, 448*a9fa9459Szrj { Bad_Opcode }, 449*a9fa9459Szrj { Bad_Opcode }, 450*a9fa9459Szrj /* 88 */ 451*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F3888) }, 452*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F3889) }, 453*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F388A) }, 454*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F388B) }, 455*a9fa9459Szrj { Bad_Opcode }, 456*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F388D) }, 457*a9fa9459Szrj { Bad_Opcode }, 458*a9fa9459Szrj { Bad_Opcode }, 459*a9fa9459Szrj /* 90 */ 460*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F3890) }, 461*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F3891) }, 462*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F3892) }, 463*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F3893) }, 464*a9fa9459Szrj { Bad_Opcode }, 465*a9fa9459Szrj { Bad_Opcode }, 466*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F3896) }, 467*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F3897) }, 468*a9fa9459Szrj /* 98 */ 469*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F3898) }, 470*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F3899) }, 471*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F389A) }, 472*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F389B) }, 473*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F389C) }, 474*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F389D) }, 475*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F389E) }, 476*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F389F) }, 477*a9fa9459Szrj /* A0 */ 478*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F38A0) }, 479*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F38A1) }, 480*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F38A2) }, 481*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F38A3) }, 482*a9fa9459Szrj { Bad_Opcode }, 483*a9fa9459Szrj { Bad_Opcode }, 484*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F38A6) }, 485*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F38A7) }, 486*a9fa9459Szrj /* A8 */ 487*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F38A8) }, 488*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F38A9) }, 489*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F38AA) }, 490*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F38AB) }, 491*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F38AC) }, 492*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F38AD) }, 493*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F38AE) }, 494*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F38AF) }, 495*a9fa9459Szrj /* B0 */ 496*a9fa9459Szrj { Bad_Opcode }, 497*a9fa9459Szrj { Bad_Opcode }, 498*a9fa9459Szrj { Bad_Opcode }, 499*a9fa9459Szrj { Bad_Opcode }, 500*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F38B4) }, 501*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F38B5) }, 502*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F38B6) }, 503*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F38B7) }, 504*a9fa9459Szrj /* B8 */ 505*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F38B8) }, 506*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F38B9) }, 507*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F38BA) }, 508*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F38BB) }, 509*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F38BC) }, 510*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F38BD) }, 511*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F38BE) }, 512*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F38BF) }, 513*a9fa9459Szrj /* C0 */ 514*a9fa9459Szrj { Bad_Opcode }, 515*a9fa9459Szrj { Bad_Opcode }, 516*a9fa9459Szrj { Bad_Opcode }, 517*a9fa9459Szrj { Bad_Opcode }, 518*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F38C4) }, 519*a9fa9459Szrj { Bad_Opcode }, 520*a9fa9459Szrj { REG_TABLE (REG_EVEX_0F38C6) }, 521*a9fa9459Szrj { REG_TABLE (REG_EVEX_0F38C7) }, 522*a9fa9459Szrj /* C8 */ 523*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F38C8) }, 524*a9fa9459Szrj { Bad_Opcode }, 525*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F38CA) }, 526*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F38CB) }, 527*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F38CC) }, 528*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F38CD) }, 529*a9fa9459Szrj { Bad_Opcode }, 530*a9fa9459Szrj { Bad_Opcode }, 531*a9fa9459Szrj /* D0 */ 532*a9fa9459Szrj { Bad_Opcode }, 533*a9fa9459Szrj { Bad_Opcode }, 534*a9fa9459Szrj { Bad_Opcode }, 535*a9fa9459Szrj { Bad_Opcode }, 536*a9fa9459Szrj { Bad_Opcode }, 537*a9fa9459Szrj { Bad_Opcode }, 538*a9fa9459Szrj { Bad_Opcode }, 539*a9fa9459Szrj { Bad_Opcode }, 540*a9fa9459Szrj /* D8 */ 541*a9fa9459Szrj { Bad_Opcode }, 542*a9fa9459Szrj { Bad_Opcode }, 543*a9fa9459Szrj { Bad_Opcode }, 544*a9fa9459Szrj { Bad_Opcode }, 545*a9fa9459Szrj { Bad_Opcode }, 546*a9fa9459Szrj { Bad_Opcode }, 547*a9fa9459Szrj { Bad_Opcode }, 548*a9fa9459Szrj { Bad_Opcode }, 549*a9fa9459Szrj /* E0 */ 550*a9fa9459Szrj { Bad_Opcode }, 551*a9fa9459Szrj { Bad_Opcode }, 552*a9fa9459Szrj { Bad_Opcode }, 553*a9fa9459Szrj { Bad_Opcode }, 554*a9fa9459Szrj { Bad_Opcode }, 555*a9fa9459Szrj { Bad_Opcode }, 556*a9fa9459Szrj { Bad_Opcode }, 557*a9fa9459Szrj { Bad_Opcode }, 558*a9fa9459Szrj /* E8 */ 559*a9fa9459Szrj { Bad_Opcode }, 560*a9fa9459Szrj { Bad_Opcode }, 561*a9fa9459Szrj { Bad_Opcode }, 562*a9fa9459Szrj { Bad_Opcode }, 563*a9fa9459Szrj { Bad_Opcode }, 564*a9fa9459Szrj { Bad_Opcode }, 565*a9fa9459Szrj { Bad_Opcode }, 566*a9fa9459Szrj { Bad_Opcode }, 567*a9fa9459Szrj /* F0 */ 568*a9fa9459Szrj { Bad_Opcode }, 569*a9fa9459Szrj { Bad_Opcode }, 570*a9fa9459Szrj { Bad_Opcode }, 571*a9fa9459Szrj { Bad_Opcode }, 572*a9fa9459Szrj { Bad_Opcode }, 573*a9fa9459Szrj { Bad_Opcode }, 574*a9fa9459Szrj { Bad_Opcode }, 575*a9fa9459Szrj { Bad_Opcode }, 576*a9fa9459Szrj /* F8 */ 577*a9fa9459Szrj { Bad_Opcode }, 578*a9fa9459Szrj { Bad_Opcode }, 579*a9fa9459Szrj { Bad_Opcode }, 580*a9fa9459Szrj { Bad_Opcode }, 581*a9fa9459Szrj { Bad_Opcode }, 582*a9fa9459Szrj { Bad_Opcode }, 583*a9fa9459Szrj { Bad_Opcode }, 584*a9fa9459Szrj { Bad_Opcode }, 585*a9fa9459Szrj }, 586*a9fa9459Szrj /* EVEX_0F3A */ 587*a9fa9459Szrj { 588*a9fa9459Szrj /* 00 */ 589*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F3A00) }, 590*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F3A01) }, 591*a9fa9459Szrj { Bad_Opcode }, 592*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F3A03) }, 593*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F3A04) }, 594*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F3A05) }, 595*a9fa9459Szrj { Bad_Opcode }, 596*a9fa9459Szrj { Bad_Opcode }, 597*a9fa9459Szrj /* 08 */ 598*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F3A08) }, 599*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F3A09) }, 600*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F3A0A) }, 601*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F3A0B) }, 602*a9fa9459Szrj { Bad_Opcode }, 603*a9fa9459Szrj { Bad_Opcode }, 604*a9fa9459Szrj { Bad_Opcode }, 605*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F3A0F) }, 606*a9fa9459Szrj /* 10 */ 607*a9fa9459Szrj { Bad_Opcode }, 608*a9fa9459Szrj { Bad_Opcode }, 609*a9fa9459Szrj { Bad_Opcode }, 610*a9fa9459Szrj { Bad_Opcode }, 611*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F3A14) }, 612*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F3A15) }, 613*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F3A16) }, 614*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F3A17) }, 615*a9fa9459Szrj /* 18 */ 616*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F3A18) }, 617*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F3A19) }, 618*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F3A1A) }, 619*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F3A1B) }, 620*a9fa9459Szrj { Bad_Opcode }, 621*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F3A1D) }, 622*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F3A1E) }, 623*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F3A1F) }, 624*a9fa9459Szrj /* 20 */ 625*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F3A20) }, 626*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F3A21) }, 627*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F3A22) }, 628*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F3A23) }, 629*a9fa9459Szrj { Bad_Opcode }, 630*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F3A25) }, 631*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F3A26) }, 632*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F3A27) }, 633*a9fa9459Szrj /* 28 */ 634*a9fa9459Szrj { Bad_Opcode }, 635*a9fa9459Szrj { Bad_Opcode }, 636*a9fa9459Szrj { Bad_Opcode }, 637*a9fa9459Szrj { Bad_Opcode }, 638*a9fa9459Szrj { Bad_Opcode }, 639*a9fa9459Szrj { Bad_Opcode }, 640*a9fa9459Szrj { Bad_Opcode }, 641*a9fa9459Szrj { Bad_Opcode }, 642*a9fa9459Szrj /* 30 */ 643*a9fa9459Szrj { Bad_Opcode }, 644*a9fa9459Szrj { Bad_Opcode }, 645*a9fa9459Szrj { Bad_Opcode }, 646*a9fa9459Szrj { Bad_Opcode }, 647*a9fa9459Szrj { Bad_Opcode }, 648*a9fa9459Szrj { Bad_Opcode }, 649*a9fa9459Szrj { Bad_Opcode }, 650*a9fa9459Szrj { Bad_Opcode }, 651*a9fa9459Szrj /* 38 */ 652*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F3A38) }, 653*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F3A39) }, 654*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F3A3A) }, 655*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F3A3B) }, 656*a9fa9459Szrj { Bad_Opcode }, 657*a9fa9459Szrj { Bad_Opcode }, 658*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F3A3E) }, 659*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F3A3F) }, 660*a9fa9459Szrj /* 40 */ 661*a9fa9459Szrj { Bad_Opcode }, 662*a9fa9459Szrj { Bad_Opcode }, 663*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F3A42) }, 664*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F3A43) }, 665*a9fa9459Szrj { Bad_Opcode }, 666*a9fa9459Szrj { Bad_Opcode }, 667*a9fa9459Szrj { Bad_Opcode }, 668*a9fa9459Szrj { Bad_Opcode }, 669*a9fa9459Szrj /* 48 */ 670*a9fa9459Szrj { Bad_Opcode }, 671*a9fa9459Szrj { Bad_Opcode }, 672*a9fa9459Szrj { Bad_Opcode }, 673*a9fa9459Szrj { Bad_Opcode }, 674*a9fa9459Szrj { Bad_Opcode }, 675*a9fa9459Szrj { Bad_Opcode }, 676*a9fa9459Szrj { Bad_Opcode }, 677*a9fa9459Szrj { Bad_Opcode }, 678*a9fa9459Szrj /* 50 */ 679*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F3A50) }, 680*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F3A51) }, 681*a9fa9459Szrj { Bad_Opcode }, 682*a9fa9459Szrj { Bad_Opcode }, 683*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F3A54) }, 684*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F3A55) }, 685*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F3A56) }, 686*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F3A57) }, 687*a9fa9459Szrj /* 58 */ 688*a9fa9459Szrj { Bad_Opcode }, 689*a9fa9459Szrj { Bad_Opcode }, 690*a9fa9459Szrj { Bad_Opcode }, 691*a9fa9459Szrj { Bad_Opcode }, 692*a9fa9459Szrj { Bad_Opcode }, 693*a9fa9459Szrj { Bad_Opcode }, 694*a9fa9459Szrj { Bad_Opcode }, 695*a9fa9459Szrj { Bad_Opcode }, 696*a9fa9459Szrj /* 60 */ 697*a9fa9459Szrj { Bad_Opcode }, 698*a9fa9459Szrj { Bad_Opcode }, 699*a9fa9459Szrj { Bad_Opcode }, 700*a9fa9459Szrj { Bad_Opcode }, 701*a9fa9459Szrj { Bad_Opcode }, 702*a9fa9459Szrj { Bad_Opcode }, 703*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F3A66) }, 704*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F3A67) }, 705*a9fa9459Szrj /* 68 */ 706*a9fa9459Szrj { Bad_Opcode }, 707*a9fa9459Szrj { Bad_Opcode }, 708*a9fa9459Szrj { Bad_Opcode }, 709*a9fa9459Szrj { Bad_Opcode }, 710*a9fa9459Szrj { Bad_Opcode }, 711*a9fa9459Szrj { Bad_Opcode }, 712*a9fa9459Szrj { Bad_Opcode }, 713*a9fa9459Szrj { Bad_Opcode }, 714*a9fa9459Szrj /* 70 */ 715*a9fa9459Szrj { Bad_Opcode }, 716*a9fa9459Szrj { Bad_Opcode }, 717*a9fa9459Szrj { Bad_Opcode }, 718*a9fa9459Szrj { Bad_Opcode }, 719*a9fa9459Szrj { Bad_Opcode }, 720*a9fa9459Szrj { Bad_Opcode }, 721*a9fa9459Szrj { Bad_Opcode }, 722*a9fa9459Szrj { Bad_Opcode }, 723*a9fa9459Szrj /* 78 */ 724*a9fa9459Szrj { Bad_Opcode }, 725*a9fa9459Szrj { Bad_Opcode }, 726*a9fa9459Szrj { Bad_Opcode }, 727*a9fa9459Szrj { Bad_Opcode }, 728*a9fa9459Szrj { Bad_Opcode }, 729*a9fa9459Szrj { Bad_Opcode }, 730*a9fa9459Szrj { Bad_Opcode }, 731*a9fa9459Szrj { Bad_Opcode }, 732*a9fa9459Szrj /* 80 */ 733*a9fa9459Szrj { Bad_Opcode }, 734*a9fa9459Szrj { Bad_Opcode }, 735*a9fa9459Szrj { Bad_Opcode }, 736*a9fa9459Szrj { Bad_Opcode }, 737*a9fa9459Szrj { Bad_Opcode }, 738*a9fa9459Szrj { Bad_Opcode }, 739*a9fa9459Szrj { Bad_Opcode }, 740*a9fa9459Szrj { Bad_Opcode }, 741*a9fa9459Szrj /* 88 */ 742*a9fa9459Szrj { Bad_Opcode }, 743*a9fa9459Szrj { Bad_Opcode }, 744*a9fa9459Szrj { Bad_Opcode }, 745*a9fa9459Szrj { Bad_Opcode }, 746*a9fa9459Szrj { Bad_Opcode }, 747*a9fa9459Szrj { Bad_Opcode }, 748*a9fa9459Szrj { Bad_Opcode }, 749*a9fa9459Szrj { Bad_Opcode }, 750*a9fa9459Szrj /* 90 */ 751*a9fa9459Szrj { Bad_Opcode }, 752*a9fa9459Szrj { Bad_Opcode }, 753*a9fa9459Szrj { Bad_Opcode }, 754*a9fa9459Szrj { Bad_Opcode }, 755*a9fa9459Szrj { Bad_Opcode }, 756*a9fa9459Szrj { Bad_Opcode }, 757*a9fa9459Szrj { Bad_Opcode }, 758*a9fa9459Szrj { Bad_Opcode }, 759*a9fa9459Szrj /* 98 */ 760*a9fa9459Szrj { Bad_Opcode }, 761*a9fa9459Szrj { Bad_Opcode }, 762*a9fa9459Szrj { Bad_Opcode }, 763*a9fa9459Szrj { Bad_Opcode }, 764*a9fa9459Szrj { Bad_Opcode }, 765*a9fa9459Szrj { Bad_Opcode }, 766*a9fa9459Szrj { Bad_Opcode }, 767*a9fa9459Szrj { Bad_Opcode }, 768*a9fa9459Szrj /* A0 */ 769*a9fa9459Szrj { Bad_Opcode }, 770*a9fa9459Szrj { Bad_Opcode }, 771*a9fa9459Szrj { Bad_Opcode }, 772*a9fa9459Szrj { Bad_Opcode }, 773*a9fa9459Szrj { Bad_Opcode }, 774*a9fa9459Szrj { Bad_Opcode }, 775*a9fa9459Szrj { Bad_Opcode }, 776*a9fa9459Szrj { Bad_Opcode }, 777*a9fa9459Szrj /* A8 */ 778*a9fa9459Szrj { Bad_Opcode }, 779*a9fa9459Szrj { Bad_Opcode }, 780*a9fa9459Szrj { Bad_Opcode }, 781*a9fa9459Szrj { Bad_Opcode }, 782*a9fa9459Szrj { Bad_Opcode }, 783*a9fa9459Szrj { Bad_Opcode }, 784*a9fa9459Szrj { Bad_Opcode }, 785*a9fa9459Szrj { Bad_Opcode }, 786*a9fa9459Szrj /* B0 */ 787*a9fa9459Szrj { Bad_Opcode }, 788*a9fa9459Szrj { Bad_Opcode }, 789*a9fa9459Szrj { Bad_Opcode }, 790*a9fa9459Szrj { Bad_Opcode }, 791*a9fa9459Szrj { Bad_Opcode }, 792*a9fa9459Szrj { Bad_Opcode }, 793*a9fa9459Szrj { Bad_Opcode }, 794*a9fa9459Szrj { Bad_Opcode }, 795*a9fa9459Szrj /* B8 */ 796*a9fa9459Szrj { Bad_Opcode }, 797*a9fa9459Szrj { Bad_Opcode }, 798*a9fa9459Szrj { Bad_Opcode }, 799*a9fa9459Szrj { Bad_Opcode }, 800*a9fa9459Szrj { Bad_Opcode }, 801*a9fa9459Szrj { Bad_Opcode }, 802*a9fa9459Szrj { Bad_Opcode }, 803*a9fa9459Szrj { Bad_Opcode }, 804*a9fa9459Szrj /* C0 */ 805*a9fa9459Szrj { Bad_Opcode }, 806*a9fa9459Szrj { Bad_Opcode }, 807*a9fa9459Szrj { Bad_Opcode }, 808*a9fa9459Szrj { Bad_Opcode }, 809*a9fa9459Szrj { Bad_Opcode }, 810*a9fa9459Szrj { Bad_Opcode }, 811*a9fa9459Szrj { Bad_Opcode }, 812*a9fa9459Szrj { Bad_Opcode }, 813*a9fa9459Szrj /* C8 */ 814*a9fa9459Szrj { Bad_Opcode }, 815*a9fa9459Szrj { Bad_Opcode }, 816*a9fa9459Szrj { Bad_Opcode }, 817*a9fa9459Szrj { Bad_Opcode }, 818*a9fa9459Szrj { Bad_Opcode }, 819*a9fa9459Szrj { Bad_Opcode }, 820*a9fa9459Szrj { Bad_Opcode }, 821*a9fa9459Szrj { Bad_Opcode }, 822*a9fa9459Szrj /* D0 */ 823*a9fa9459Szrj { Bad_Opcode }, 824*a9fa9459Szrj { Bad_Opcode }, 825*a9fa9459Szrj { Bad_Opcode }, 826*a9fa9459Szrj { Bad_Opcode }, 827*a9fa9459Szrj { Bad_Opcode }, 828*a9fa9459Szrj { Bad_Opcode }, 829*a9fa9459Szrj { Bad_Opcode }, 830*a9fa9459Szrj { Bad_Opcode }, 831*a9fa9459Szrj /* D8 */ 832*a9fa9459Szrj { Bad_Opcode }, 833*a9fa9459Szrj { Bad_Opcode }, 834*a9fa9459Szrj { Bad_Opcode }, 835*a9fa9459Szrj { Bad_Opcode }, 836*a9fa9459Szrj { Bad_Opcode }, 837*a9fa9459Szrj { Bad_Opcode }, 838*a9fa9459Szrj { Bad_Opcode }, 839*a9fa9459Szrj { Bad_Opcode }, 840*a9fa9459Szrj /* E0 */ 841*a9fa9459Szrj { Bad_Opcode }, 842*a9fa9459Szrj { Bad_Opcode }, 843*a9fa9459Szrj { Bad_Opcode }, 844*a9fa9459Szrj { Bad_Opcode }, 845*a9fa9459Szrj { Bad_Opcode }, 846*a9fa9459Szrj { Bad_Opcode }, 847*a9fa9459Szrj { Bad_Opcode }, 848*a9fa9459Szrj { Bad_Opcode }, 849*a9fa9459Szrj /* E8 */ 850*a9fa9459Szrj { Bad_Opcode }, 851*a9fa9459Szrj { Bad_Opcode }, 852*a9fa9459Szrj { Bad_Opcode }, 853*a9fa9459Szrj { Bad_Opcode }, 854*a9fa9459Szrj { Bad_Opcode }, 855*a9fa9459Szrj { Bad_Opcode }, 856*a9fa9459Szrj { Bad_Opcode }, 857*a9fa9459Szrj { Bad_Opcode }, 858*a9fa9459Szrj /* F0 */ 859*a9fa9459Szrj { Bad_Opcode }, 860*a9fa9459Szrj { Bad_Opcode }, 861*a9fa9459Szrj { Bad_Opcode }, 862*a9fa9459Szrj { Bad_Opcode }, 863*a9fa9459Szrj { Bad_Opcode }, 864*a9fa9459Szrj { Bad_Opcode }, 865*a9fa9459Szrj { Bad_Opcode }, 866*a9fa9459Szrj { Bad_Opcode }, 867*a9fa9459Szrj /* F8 */ 868*a9fa9459Szrj { Bad_Opcode }, 869*a9fa9459Szrj { Bad_Opcode }, 870*a9fa9459Szrj { Bad_Opcode }, 871*a9fa9459Szrj { Bad_Opcode }, 872*a9fa9459Szrj { Bad_Opcode }, 873*a9fa9459Szrj { Bad_Opcode }, 874*a9fa9459Szrj { Bad_Opcode }, 875*a9fa9459Szrj { Bad_Opcode }, 876*a9fa9459Szrj }, 877*a9fa9459Szrj }; 878*a9fa9459Szrj #endif /* NEED_OPCODE_TABLE */ 879*a9fa9459Szrj 880*a9fa9459Szrj #ifdef NEED_REG_TABLE 881*a9fa9459Szrj /* REG_EVEX_0F71 */ 882*a9fa9459Szrj { 883*a9fa9459Szrj { Bad_Opcode }, 884*a9fa9459Szrj { Bad_Opcode }, 885*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F71_REG_2) }, 886*a9fa9459Szrj { Bad_Opcode }, 887*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F71_REG_4) }, 888*a9fa9459Szrj { Bad_Opcode }, 889*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F71_REG_6) }, 890*a9fa9459Szrj }, 891*a9fa9459Szrj /* REG_EVEX_0F72 */ 892*a9fa9459Szrj { 893*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F72_REG_0) }, 894*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F72_REG_1) }, 895*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F72_REG_2) }, 896*a9fa9459Szrj { Bad_Opcode }, 897*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F72_REG_4) }, 898*a9fa9459Szrj { Bad_Opcode }, 899*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F72_REG_6) }, 900*a9fa9459Szrj }, 901*a9fa9459Szrj /* REG_EVEX_0F73 */ 902*a9fa9459Szrj { 903*a9fa9459Szrj { Bad_Opcode }, 904*a9fa9459Szrj { Bad_Opcode }, 905*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F73_REG_2) }, 906*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F73_REG_3) }, 907*a9fa9459Szrj { Bad_Opcode }, 908*a9fa9459Szrj { Bad_Opcode }, 909*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F73_REG_6) }, 910*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F73_REG_7) }, 911*a9fa9459Szrj }, 912*a9fa9459Szrj /* REG_EVEX_0F38C6 */ 913*a9fa9459Szrj { 914*a9fa9459Szrj { Bad_Opcode }, 915*a9fa9459Szrj { MOD_TABLE (MOD_EVEX_0F38C6_REG_1) }, 916*a9fa9459Szrj { MOD_TABLE (MOD_EVEX_0F38C6_REG_2) }, 917*a9fa9459Szrj { Bad_Opcode }, 918*a9fa9459Szrj { Bad_Opcode }, 919*a9fa9459Szrj { MOD_TABLE (MOD_EVEX_0F38C6_REG_5) }, 920*a9fa9459Szrj { MOD_TABLE (MOD_EVEX_0F38C6_REG_6) }, 921*a9fa9459Szrj }, 922*a9fa9459Szrj /* REG_EVEX_0F38C7 */ 923*a9fa9459Szrj { 924*a9fa9459Szrj { Bad_Opcode }, 925*a9fa9459Szrj { MOD_TABLE (MOD_EVEX_0F38C7_REG_1) }, 926*a9fa9459Szrj { MOD_TABLE (MOD_EVEX_0F38C7_REG_2) }, 927*a9fa9459Szrj { Bad_Opcode }, 928*a9fa9459Szrj { Bad_Opcode }, 929*a9fa9459Szrj { MOD_TABLE (MOD_EVEX_0F38C7_REG_5) }, 930*a9fa9459Szrj { MOD_TABLE (MOD_EVEX_0F38C7_REG_6) }, 931*a9fa9459Szrj }, 932*a9fa9459Szrj #endif /* NEED_REG_TABLE */ 933*a9fa9459Szrj 934*a9fa9459Szrj #ifdef NEED_PREFIX_TABLE 935*a9fa9459Szrj /* PREFIX_EVEX_0F10 */ 936*a9fa9459Szrj { 937*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0F10_P_0) }, 938*a9fa9459Szrj { MOD_TABLE (MOD_EVEX_0F10_PREFIX_1) }, 939*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0F10_P_2) }, 940*a9fa9459Szrj { MOD_TABLE (MOD_EVEX_0F10_PREFIX_3) }, 941*a9fa9459Szrj }, 942*a9fa9459Szrj /* PREFIX_EVEX_0F11 */ 943*a9fa9459Szrj { 944*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0F11_P_0) }, 945*a9fa9459Szrj { MOD_TABLE (MOD_EVEX_0F11_PREFIX_1) }, 946*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0F11_P_2) }, 947*a9fa9459Szrj { MOD_TABLE (MOD_EVEX_0F11_PREFIX_3) }, 948*a9fa9459Szrj }, 949*a9fa9459Szrj /* PREFIX_EVEX_0F12 */ 950*a9fa9459Szrj { 951*a9fa9459Szrj { MOD_TABLE (MOD_EVEX_0F12_PREFIX_0) }, 952*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0F12_P_1) }, 953*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0F12_P_2) }, 954*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0F12_P_3) }, 955*a9fa9459Szrj }, 956*a9fa9459Szrj /* PREFIX_EVEX_0F13 */ 957*a9fa9459Szrj { 958*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0F13_P_0) }, 959*a9fa9459Szrj { Bad_Opcode }, 960*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0F13_P_2) }, 961*a9fa9459Szrj }, 962*a9fa9459Szrj /* PREFIX_EVEX_0F14 */ 963*a9fa9459Szrj { 964*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0F14_P_0) }, 965*a9fa9459Szrj { Bad_Opcode }, 966*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0F14_P_2) }, 967*a9fa9459Szrj }, 968*a9fa9459Szrj /* PREFIX_EVEX_0F15 */ 969*a9fa9459Szrj { 970*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0F15_P_0) }, 971*a9fa9459Szrj { Bad_Opcode }, 972*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0F15_P_2) }, 973*a9fa9459Szrj }, 974*a9fa9459Szrj /* PREFIX_EVEX_0F16 */ 975*a9fa9459Szrj { 976*a9fa9459Szrj { MOD_TABLE (MOD_EVEX_0F16_PREFIX_0) }, 977*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0F16_P_1) }, 978*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0F16_P_2) }, 979*a9fa9459Szrj }, 980*a9fa9459Szrj /* PREFIX_EVEX_0F17 */ 981*a9fa9459Szrj { 982*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0F17_P_0) }, 983*a9fa9459Szrj { Bad_Opcode }, 984*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0F17_P_2) }, 985*a9fa9459Szrj }, 986*a9fa9459Szrj /* PREFIX_EVEX_0F28 */ 987*a9fa9459Szrj { 988*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0F28_P_0) }, 989*a9fa9459Szrj { Bad_Opcode }, 990*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0F28_P_2) }, 991*a9fa9459Szrj }, 992*a9fa9459Szrj /* PREFIX_EVEX_0F29 */ 993*a9fa9459Szrj { 994*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0F29_P_0) }, 995*a9fa9459Szrj { Bad_Opcode }, 996*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0F29_P_2) }, 997*a9fa9459Szrj }, 998*a9fa9459Szrj /* PREFIX_EVEX_0F2A */ 999*a9fa9459Szrj { 1000*a9fa9459Szrj { Bad_Opcode }, 1001*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0F2A_P_1) }, 1002*a9fa9459Szrj { Bad_Opcode }, 1003*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0F2A_P_3) }, 1004*a9fa9459Szrj }, 1005*a9fa9459Szrj /* PREFIX_EVEX_0F2B */ 1006*a9fa9459Szrj { 1007*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0F2B_P_0) }, 1008*a9fa9459Szrj { Bad_Opcode }, 1009*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0F2B_P_2) }, 1010*a9fa9459Szrj }, 1011*a9fa9459Szrj /* PREFIX_EVEX_0F2C */ 1012*a9fa9459Szrj { 1013*a9fa9459Szrj { Bad_Opcode }, 1014*a9fa9459Szrj { "vcvttss2si", { Gdq, EXxmm_md, EXxEVexS }, 0 }, 1015*a9fa9459Szrj { Bad_Opcode }, 1016*a9fa9459Szrj { "vcvttsd2si", { Gdq, EXxmm_mq, EXxEVexS }, 0 }, 1017*a9fa9459Szrj }, 1018*a9fa9459Szrj /* PREFIX_EVEX_0F2D */ 1019*a9fa9459Szrj { 1020*a9fa9459Szrj { Bad_Opcode }, 1021*a9fa9459Szrj { "vcvtss2si", { Gdq, EXxmm_md, EXxEVexR }, 0 }, 1022*a9fa9459Szrj { Bad_Opcode }, 1023*a9fa9459Szrj { "vcvtsd2si", { Gdq, EXxmm_mq, EXxEVexR }, 0 }, 1024*a9fa9459Szrj }, 1025*a9fa9459Szrj /* PREFIX_EVEX_0F2E */ 1026*a9fa9459Szrj { 1027*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0F2E_P_0) }, 1028*a9fa9459Szrj { Bad_Opcode }, 1029*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0F2E_P_2) }, 1030*a9fa9459Szrj }, 1031*a9fa9459Szrj /* PREFIX_EVEX_0F2F */ 1032*a9fa9459Szrj { 1033*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0F2F_P_0) }, 1034*a9fa9459Szrj { Bad_Opcode }, 1035*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0F2F_P_2) }, 1036*a9fa9459Szrj }, 1037*a9fa9459Szrj /* PREFIX_EVEX_0F51 */ 1038*a9fa9459Szrj { 1039*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0F51_P_0) }, 1040*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0F51_P_1) }, 1041*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0F51_P_2) }, 1042*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0F51_P_3) }, 1043*a9fa9459Szrj }, 1044*a9fa9459Szrj /* PREFIX_EVEX_0F54 */ 1045*a9fa9459Szrj { 1046*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0F54_P_0) }, 1047*a9fa9459Szrj { Bad_Opcode }, 1048*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0F54_P_2) }, 1049*a9fa9459Szrj }, 1050*a9fa9459Szrj /* PREFIX_EVEX_0F55 */ 1051*a9fa9459Szrj { 1052*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0F55_P_0) }, 1053*a9fa9459Szrj { Bad_Opcode }, 1054*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0F55_P_2) }, 1055*a9fa9459Szrj }, 1056*a9fa9459Szrj /* PREFIX_EVEX_0F56 */ 1057*a9fa9459Szrj { 1058*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0F56_P_0) }, 1059*a9fa9459Szrj { Bad_Opcode }, 1060*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0F56_P_2) }, 1061*a9fa9459Szrj }, 1062*a9fa9459Szrj /* PREFIX_EVEX_0F57 */ 1063*a9fa9459Szrj { 1064*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0F57_P_0) }, 1065*a9fa9459Szrj { Bad_Opcode }, 1066*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0F57_P_2) }, 1067*a9fa9459Szrj }, 1068*a9fa9459Szrj /* PREFIX_EVEX_0F58 */ 1069*a9fa9459Szrj { 1070*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0F58_P_0) }, 1071*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0F58_P_1) }, 1072*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0F58_P_2) }, 1073*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0F58_P_3) }, 1074*a9fa9459Szrj }, 1075*a9fa9459Szrj /* PREFIX_EVEX_0F59 */ 1076*a9fa9459Szrj { 1077*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0F59_P_0) }, 1078*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0F59_P_1) }, 1079*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0F59_P_2) }, 1080*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0F59_P_3) }, 1081*a9fa9459Szrj }, 1082*a9fa9459Szrj /* PREFIX_EVEX_0F5A */ 1083*a9fa9459Szrj { 1084*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0F5A_P_0) }, 1085*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0F5A_P_1) }, 1086*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0F5A_P_2) }, 1087*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0F5A_P_3) }, 1088*a9fa9459Szrj }, 1089*a9fa9459Szrj /* PREFIX_EVEX_0F5B */ 1090*a9fa9459Szrj { 1091*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0F5B_P_0) }, 1092*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0F5B_P_1) }, 1093*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0F5B_P_2) }, 1094*a9fa9459Szrj }, 1095*a9fa9459Szrj /* PREFIX_EVEX_0F5C */ 1096*a9fa9459Szrj { 1097*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0F5C_P_0) }, 1098*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0F5C_P_1) }, 1099*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0F5C_P_2) }, 1100*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0F5C_P_3) }, 1101*a9fa9459Szrj }, 1102*a9fa9459Szrj /* PREFIX_EVEX_0F5D */ 1103*a9fa9459Szrj { 1104*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0F5D_P_0) }, 1105*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0F5D_P_1) }, 1106*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0F5D_P_2) }, 1107*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0F5D_P_3) }, 1108*a9fa9459Szrj }, 1109*a9fa9459Szrj /* PREFIX_EVEX_0F5E */ 1110*a9fa9459Szrj { 1111*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0F5E_P_0) }, 1112*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0F5E_P_1) }, 1113*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0F5E_P_2) }, 1114*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0F5E_P_3) }, 1115*a9fa9459Szrj }, 1116*a9fa9459Szrj /* PREFIX_EVEX_0F5F */ 1117*a9fa9459Szrj { 1118*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0F5F_P_0) }, 1119*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0F5F_P_1) }, 1120*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0F5F_P_2) }, 1121*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0F5F_P_3) }, 1122*a9fa9459Szrj }, 1123*a9fa9459Szrj /* PREFIX_EVEX_0F60 */ 1124*a9fa9459Szrj { 1125*a9fa9459Szrj { Bad_Opcode }, 1126*a9fa9459Szrj { Bad_Opcode }, 1127*a9fa9459Szrj { "vpunpcklbw", { XM, Vex, EXx }, 0 }, 1128*a9fa9459Szrj }, 1129*a9fa9459Szrj /* PREFIX_EVEX_0F61 */ 1130*a9fa9459Szrj { 1131*a9fa9459Szrj { Bad_Opcode }, 1132*a9fa9459Szrj { Bad_Opcode }, 1133*a9fa9459Szrj { "vpunpcklwd", { XM, Vex, EXx }, 0 }, 1134*a9fa9459Szrj }, 1135*a9fa9459Szrj /* PREFIX_EVEX_0F62 */ 1136*a9fa9459Szrj { 1137*a9fa9459Szrj { Bad_Opcode }, 1138*a9fa9459Szrj { Bad_Opcode }, 1139*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0F62_P_2) }, 1140*a9fa9459Szrj }, 1141*a9fa9459Szrj /* PREFIX_EVEX_0F63 */ 1142*a9fa9459Szrj { 1143*a9fa9459Szrj { Bad_Opcode }, 1144*a9fa9459Szrj { Bad_Opcode }, 1145*a9fa9459Szrj { "vpacksswb", { XM, Vex, EXx }, 0 }, 1146*a9fa9459Szrj }, 1147*a9fa9459Szrj /* PREFIX_EVEX_0F64 */ 1148*a9fa9459Szrj { 1149*a9fa9459Szrj { Bad_Opcode }, 1150*a9fa9459Szrj { Bad_Opcode }, 1151*a9fa9459Szrj { "vpcmpgtb", { XMask, Vex, EXx }, 0 }, 1152*a9fa9459Szrj }, 1153*a9fa9459Szrj /* PREFIX_EVEX_0F65 */ 1154*a9fa9459Szrj { 1155*a9fa9459Szrj { Bad_Opcode }, 1156*a9fa9459Szrj { Bad_Opcode }, 1157*a9fa9459Szrj { "vpcmpgtw", { XMask, Vex, EXx }, 0 }, 1158*a9fa9459Szrj }, 1159*a9fa9459Szrj /* PREFIX_EVEX_0F66 */ 1160*a9fa9459Szrj { 1161*a9fa9459Szrj { Bad_Opcode }, 1162*a9fa9459Szrj { Bad_Opcode }, 1163*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0F66_P_2) }, 1164*a9fa9459Szrj }, 1165*a9fa9459Szrj /* PREFIX_EVEX_0F67 */ 1166*a9fa9459Szrj { 1167*a9fa9459Szrj { Bad_Opcode }, 1168*a9fa9459Szrj { Bad_Opcode }, 1169*a9fa9459Szrj { "vpackuswb", { XM, Vex, EXx }, 0 }, 1170*a9fa9459Szrj }, 1171*a9fa9459Szrj /* PREFIX_EVEX_0F68 */ 1172*a9fa9459Szrj { 1173*a9fa9459Szrj { Bad_Opcode }, 1174*a9fa9459Szrj { Bad_Opcode }, 1175*a9fa9459Szrj { "vpunpckhbw", { XM, Vex, EXx }, 0 }, 1176*a9fa9459Szrj }, 1177*a9fa9459Szrj /* PREFIX_EVEX_0F69 */ 1178*a9fa9459Szrj { 1179*a9fa9459Szrj { Bad_Opcode }, 1180*a9fa9459Szrj { Bad_Opcode }, 1181*a9fa9459Szrj { "vpunpckhwd", { XM, Vex, EXx }, 0 }, 1182*a9fa9459Szrj }, 1183*a9fa9459Szrj /* PREFIX_EVEX_0F6A */ 1184*a9fa9459Szrj { 1185*a9fa9459Szrj { Bad_Opcode }, 1186*a9fa9459Szrj { Bad_Opcode }, 1187*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0F6A_P_2) }, 1188*a9fa9459Szrj }, 1189*a9fa9459Szrj /* PREFIX_EVEX_0F6B */ 1190*a9fa9459Szrj { 1191*a9fa9459Szrj { Bad_Opcode }, 1192*a9fa9459Szrj { Bad_Opcode }, 1193*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0F6B_P_2) }, 1194*a9fa9459Szrj }, 1195*a9fa9459Szrj /* PREFIX_EVEX_0F6C */ 1196*a9fa9459Szrj { 1197*a9fa9459Szrj { Bad_Opcode }, 1198*a9fa9459Szrj { Bad_Opcode }, 1199*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0F6C_P_2) }, 1200*a9fa9459Szrj }, 1201*a9fa9459Szrj /* PREFIX_EVEX_0F6D */ 1202*a9fa9459Szrj { 1203*a9fa9459Szrj { Bad_Opcode }, 1204*a9fa9459Szrj { Bad_Opcode }, 1205*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0F6D_P_2) }, 1206*a9fa9459Szrj }, 1207*a9fa9459Szrj /* PREFIX_EVEX_0F6E */ 1208*a9fa9459Szrj { 1209*a9fa9459Szrj { Bad_Opcode }, 1210*a9fa9459Szrj { Bad_Opcode }, 1211*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0F6E_P_2) }, 1212*a9fa9459Szrj }, 1213*a9fa9459Szrj /* PREFIX_EVEX_0F6F */ 1214*a9fa9459Szrj { 1215*a9fa9459Szrj { Bad_Opcode }, 1216*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0F6F_P_1) }, 1217*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0F6F_P_2) }, 1218*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0F6F_P_3) }, 1219*a9fa9459Szrj }, 1220*a9fa9459Szrj /* PREFIX_EVEX_0F70 */ 1221*a9fa9459Szrj { 1222*a9fa9459Szrj { Bad_Opcode }, 1223*a9fa9459Szrj { "vpshufhw", { XM, EXx, Ib }, 0 }, 1224*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0F70_P_2) }, 1225*a9fa9459Szrj { "vpshuflw", { XM, EXx, Ib }, 0 }, 1226*a9fa9459Szrj }, 1227*a9fa9459Szrj /* PREFIX_EVEX_0F71_REG_2 */ 1228*a9fa9459Szrj { 1229*a9fa9459Szrj { Bad_Opcode }, 1230*a9fa9459Szrj { Bad_Opcode }, 1231*a9fa9459Szrj { "vpsrlw", { Vex, EXx, Ib }, 0 }, 1232*a9fa9459Szrj }, 1233*a9fa9459Szrj /* PREFIX_EVEX_0F71_REG_4 */ 1234*a9fa9459Szrj { 1235*a9fa9459Szrj { Bad_Opcode }, 1236*a9fa9459Szrj { Bad_Opcode }, 1237*a9fa9459Szrj { "vpsraw", { Vex, EXx, Ib }, 0 }, 1238*a9fa9459Szrj }, 1239*a9fa9459Szrj /* PREFIX_EVEX_0F71_REG_6 */ 1240*a9fa9459Szrj { 1241*a9fa9459Szrj { Bad_Opcode }, 1242*a9fa9459Szrj { Bad_Opcode }, 1243*a9fa9459Szrj { "vpsllw", { Vex, EXx, Ib }, 0 }, 1244*a9fa9459Szrj }, 1245*a9fa9459Szrj /* PREFIX_EVEX_0F72_REG_0 */ 1246*a9fa9459Szrj { 1247*a9fa9459Szrj { Bad_Opcode }, 1248*a9fa9459Szrj { Bad_Opcode }, 1249*a9fa9459Szrj { "vpror%LW", { Vex, EXx, Ib }, 0 }, 1250*a9fa9459Szrj }, 1251*a9fa9459Szrj /* PREFIX_EVEX_0F72_REG_1 */ 1252*a9fa9459Szrj { 1253*a9fa9459Szrj { Bad_Opcode }, 1254*a9fa9459Szrj { Bad_Opcode }, 1255*a9fa9459Szrj { "vprol%LW", { Vex, EXx, Ib }, 0 }, 1256*a9fa9459Szrj }, 1257*a9fa9459Szrj /* PREFIX_EVEX_0F72_REG_2 */ 1258*a9fa9459Szrj { 1259*a9fa9459Szrj { Bad_Opcode }, 1260*a9fa9459Szrj { Bad_Opcode }, 1261*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0F72_R_2_P_2) }, 1262*a9fa9459Szrj }, 1263*a9fa9459Szrj /* PREFIX_EVEX_0F72_REG_4 */ 1264*a9fa9459Szrj { 1265*a9fa9459Szrj { Bad_Opcode }, 1266*a9fa9459Szrj { Bad_Opcode }, 1267*a9fa9459Szrj { "vpsra%LW", { Vex, EXx, Ib }, 0 }, 1268*a9fa9459Szrj }, 1269*a9fa9459Szrj /* PREFIX_EVEX_0F72_REG_6 */ 1270*a9fa9459Szrj { 1271*a9fa9459Szrj { Bad_Opcode }, 1272*a9fa9459Szrj { Bad_Opcode }, 1273*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0F72_R_6_P_2) }, 1274*a9fa9459Szrj }, 1275*a9fa9459Szrj /* PREFIX_EVEX_0F73_REG_2 */ 1276*a9fa9459Szrj { 1277*a9fa9459Szrj { Bad_Opcode }, 1278*a9fa9459Szrj { Bad_Opcode }, 1279*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0F73_R_2_P_2) }, 1280*a9fa9459Szrj }, 1281*a9fa9459Szrj /* PREFIX_EVEX_0F73_REG_3 */ 1282*a9fa9459Szrj { 1283*a9fa9459Szrj { Bad_Opcode }, 1284*a9fa9459Szrj { Bad_Opcode }, 1285*a9fa9459Szrj { "vpsrldq", { Vex, EXx, Ib }, 0 }, 1286*a9fa9459Szrj }, 1287*a9fa9459Szrj /* PREFIX_EVEX_0F73_REG_6 */ 1288*a9fa9459Szrj { 1289*a9fa9459Szrj { Bad_Opcode }, 1290*a9fa9459Szrj { Bad_Opcode }, 1291*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0F73_R_6_P_2) }, 1292*a9fa9459Szrj }, 1293*a9fa9459Szrj /* PREFIX_EVEX_0F73_REG_7 */ 1294*a9fa9459Szrj { 1295*a9fa9459Szrj { Bad_Opcode }, 1296*a9fa9459Szrj { Bad_Opcode }, 1297*a9fa9459Szrj { "vpslldq", { Vex, EXx, Ib }, 0 }, 1298*a9fa9459Szrj }, 1299*a9fa9459Szrj /* PREFIX_EVEX_0F74 */ 1300*a9fa9459Szrj { 1301*a9fa9459Szrj { Bad_Opcode }, 1302*a9fa9459Szrj { Bad_Opcode }, 1303*a9fa9459Szrj { "vpcmpeqb", { XMask, Vex, EXx }, 0 }, 1304*a9fa9459Szrj }, 1305*a9fa9459Szrj /* PREFIX_EVEX_0F75 */ 1306*a9fa9459Szrj { 1307*a9fa9459Szrj { Bad_Opcode }, 1308*a9fa9459Szrj { Bad_Opcode }, 1309*a9fa9459Szrj { "vpcmpeqw", { XMask, Vex, EXx }, 0 }, 1310*a9fa9459Szrj }, 1311*a9fa9459Szrj /* PREFIX_EVEX_0F76 */ 1312*a9fa9459Szrj { 1313*a9fa9459Szrj { Bad_Opcode }, 1314*a9fa9459Szrj { Bad_Opcode }, 1315*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0F76_P_2) }, 1316*a9fa9459Szrj }, 1317*a9fa9459Szrj /* PREFIX_EVEX_0F78 */ 1318*a9fa9459Szrj { 1319*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0F78_P_0) }, 1320*a9fa9459Szrj { "vcvttss2usi", { Gdq, EXxmm_md, EXxEVexS }, 0 }, 1321*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0F78_P_2) }, 1322*a9fa9459Szrj { "vcvttsd2usi", { Gdq, EXxmm_mq, EXxEVexS }, 0 }, 1323*a9fa9459Szrj }, 1324*a9fa9459Szrj /* PREFIX_EVEX_0F79 */ 1325*a9fa9459Szrj { 1326*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0F79_P_0) }, 1327*a9fa9459Szrj { "vcvtss2usi", { Gdq, EXxmm_md, EXxEVexR }, 0 }, 1328*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0F79_P_2) }, 1329*a9fa9459Szrj { "vcvtsd2usi", { Gdq, EXxmm_mq, EXxEVexR }, 0 }, 1330*a9fa9459Szrj }, 1331*a9fa9459Szrj /* PREFIX_EVEX_0F7A */ 1332*a9fa9459Szrj { 1333*a9fa9459Szrj { Bad_Opcode }, 1334*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0F7A_P_1) }, 1335*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0F7A_P_2) }, 1336*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0F7A_P_3) }, 1337*a9fa9459Szrj }, 1338*a9fa9459Szrj /* PREFIX_EVEX_0F7B */ 1339*a9fa9459Szrj { 1340*a9fa9459Szrj { Bad_Opcode }, 1341*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0F7B_P_1) }, 1342*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0F7B_P_2) }, 1343*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0F7B_P_3) }, 1344*a9fa9459Szrj }, 1345*a9fa9459Szrj /* PREFIX_EVEX_0F7E */ 1346*a9fa9459Szrj { 1347*a9fa9459Szrj { Bad_Opcode }, 1348*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0F7E_P_1) }, 1349*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0F7E_P_2) }, 1350*a9fa9459Szrj }, 1351*a9fa9459Szrj /* PREFIX_EVEX_0F7F */ 1352*a9fa9459Szrj { 1353*a9fa9459Szrj { Bad_Opcode }, 1354*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0F7F_P_1) }, 1355*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0F7F_P_2) }, 1356*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0F7F_P_3) }, 1357*a9fa9459Szrj }, 1358*a9fa9459Szrj /* PREFIX_EVEX_0FC2 */ 1359*a9fa9459Szrj { 1360*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0FC2_P_0) }, 1361*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0FC2_P_1) }, 1362*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0FC2_P_2) }, 1363*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0FC2_P_3) }, 1364*a9fa9459Szrj }, 1365*a9fa9459Szrj /* PREFIX_EVEX_0FC4 */ 1366*a9fa9459Szrj { 1367*a9fa9459Szrj { Bad_Opcode }, 1368*a9fa9459Szrj { Bad_Opcode }, 1369*a9fa9459Szrj { "vpinsrw", { XM, Vex128, Edw, Ib }, 0 }, 1370*a9fa9459Szrj }, 1371*a9fa9459Szrj /* PREFIX_EVEX_0FC5 */ 1372*a9fa9459Szrj { 1373*a9fa9459Szrj { Bad_Opcode }, 1374*a9fa9459Szrj { Bad_Opcode }, 1375*a9fa9459Szrj { "vpextrw", { Gdq, XS, Ib }, 0 }, 1376*a9fa9459Szrj }, 1377*a9fa9459Szrj /* PREFIX_EVEX_0FC6 */ 1378*a9fa9459Szrj { 1379*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0FC6_P_0) }, 1380*a9fa9459Szrj { Bad_Opcode }, 1381*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0FC6_P_2) }, 1382*a9fa9459Szrj }, 1383*a9fa9459Szrj /* PREFIX_EVEX_0FD1 */ 1384*a9fa9459Szrj { 1385*a9fa9459Szrj { Bad_Opcode }, 1386*a9fa9459Szrj { Bad_Opcode }, 1387*a9fa9459Szrj { "vpsrlw", { XM, Vex, EXxmm }, 0 }, 1388*a9fa9459Szrj }, 1389*a9fa9459Szrj /* PREFIX_EVEX_0FD2 */ 1390*a9fa9459Szrj { 1391*a9fa9459Szrj { Bad_Opcode }, 1392*a9fa9459Szrj { Bad_Opcode }, 1393*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0FD2_P_2) }, 1394*a9fa9459Szrj }, 1395*a9fa9459Szrj /* PREFIX_EVEX_0FD3 */ 1396*a9fa9459Szrj { 1397*a9fa9459Szrj { Bad_Opcode }, 1398*a9fa9459Szrj { Bad_Opcode }, 1399*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0FD3_P_2) }, 1400*a9fa9459Szrj }, 1401*a9fa9459Szrj /* PREFIX_EVEX_0FD4 */ 1402*a9fa9459Szrj { 1403*a9fa9459Szrj { Bad_Opcode }, 1404*a9fa9459Szrj { Bad_Opcode }, 1405*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0FD4_P_2) }, 1406*a9fa9459Szrj }, 1407*a9fa9459Szrj /* PREFIX_EVEX_0FD5 */ 1408*a9fa9459Szrj { 1409*a9fa9459Szrj { Bad_Opcode }, 1410*a9fa9459Szrj { Bad_Opcode }, 1411*a9fa9459Szrj { "vpmullw", { XM, Vex, EXx }, 0 }, 1412*a9fa9459Szrj }, 1413*a9fa9459Szrj /* PREFIX_EVEX_0FD6 */ 1414*a9fa9459Szrj { 1415*a9fa9459Szrj { Bad_Opcode }, 1416*a9fa9459Szrj { Bad_Opcode }, 1417*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0FD6_P_2) }, 1418*a9fa9459Szrj }, 1419*a9fa9459Szrj /* PREFIX_EVEX_0FD8 */ 1420*a9fa9459Szrj { 1421*a9fa9459Szrj { Bad_Opcode }, 1422*a9fa9459Szrj { Bad_Opcode }, 1423*a9fa9459Szrj { "vpsubusb", { XM, Vex, EXx }, 0 }, 1424*a9fa9459Szrj }, 1425*a9fa9459Szrj /* PREFIX_EVEX_0FD9 */ 1426*a9fa9459Szrj { 1427*a9fa9459Szrj { Bad_Opcode }, 1428*a9fa9459Szrj { Bad_Opcode }, 1429*a9fa9459Szrj { "vpsubusw", { XM, Vex, EXx }, 0 }, 1430*a9fa9459Szrj }, 1431*a9fa9459Szrj /* PREFIX_EVEX_0FDA */ 1432*a9fa9459Szrj { 1433*a9fa9459Szrj { Bad_Opcode }, 1434*a9fa9459Szrj { Bad_Opcode }, 1435*a9fa9459Szrj { "vpminub", { XM, Vex, EXx }, 0 }, 1436*a9fa9459Szrj }, 1437*a9fa9459Szrj /* PREFIX_EVEX_0FDB */ 1438*a9fa9459Szrj { 1439*a9fa9459Szrj { Bad_Opcode }, 1440*a9fa9459Szrj { Bad_Opcode }, 1441*a9fa9459Szrj { "vpand%LW", { XM, Vex, EXx }, 0 }, 1442*a9fa9459Szrj }, 1443*a9fa9459Szrj /* PREFIX_EVEX_0FDC */ 1444*a9fa9459Szrj { 1445*a9fa9459Szrj { Bad_Opcode }, 1446*a9fa9459Szrj { Bad_Opcode }, 1447*a9fa9459Szrj { "vpaddusb", { XM, Vex, EXx }, 0 }, 1448*a9fa9459Szrj }, 1449*a9fa9459Szrj /* PREFIX_EVEX_0FDD */ 1450*a9fa9459Szrj { 1451*a9fa9459Szrj { Bad_Opcode }, 1452*a9fa9459Szrj { Bad_Opcode }, 1453*a9fa9459Szrj { "vpaddusw", { XM, Vex, EXx }, 0 }, 1454*a9fa9459Szrj }, 1455*a9fa9459Szrj /* PREFIX_EVEX_0FDE */ 1456*a9fa9459Szrj { 1457*a9fa9459Szrj { Bad_Opcode }, 1458*a9fa9459Szrj { Bad_Opcode }, 1459*a9fa9459Szrj { "vpmaxub", { XM, Vex, EXx }, 0 }, 1460*a9fa9459Szrj }, 1461*a9fa9459Szrj /* PREFIX_EVEX_0FDF */ 1462*a9fa9459Szrj { 1463*a9fa9459Szrj { Bad_Opcode }, 1464*a9fa9459Szrj { Bad_Opcode }, 1465*a9fa9459Szrj { "vpandn%LW", { XM, Vex, EXx }, 0 }, 1466*a9fa9459Szrj }, 1467*a9fa9459Szrj /* PREFIX_EVEX_0FE0 */ 1468*a9fa9459Szrj { 1469*a9fa9459Szrj { Bad_Opcode }, 1470*a9fa9459Szrj { Bad_Opcode }, 1471*a9fa9459Szrj { "vpavgb", { XM, Vex, EXx }, 0 }, 1472*a9fa9459Szrj }, 1473*a9fa9459Szrj /* PREFIX_EVEX_0FE1 */ 1474*a9fa9459Szrj { 1475*a9fa9459Szrj { Bad_Opcode }, 1476*a9fa9459Szrj { Bad_Opcode }, 1477*a9fa9459Szrj { "vpsraw", { XM, Vex, EXxmm }, 0 }, 1478*a9fa9459Szrj }, 1479*a9fa9459Szrj /* PREFIX_EVEX_0FE2 */ 1480*a9fa9459Szrj { 1481*a9fa9459Szrj { Bad_Opcode }, 1482*a9fa9459Szrj { Bad_Opcode }, 1483*a9fa9459Szrj { "vpsra%LW", { XM, Vex, EXxmm }, 0 }, 1484*a9fa9459Szrj }, 1485*a9fa9459Szrj /* PREFIX_EVEX_0FE3 */ 1486*a9fa9459Szrj { 1487*a9fa9459Szrj { Bad_Opcode }, 1488*a9fa9459Szrj { Bad_Opcode }, 1489*a9fa9459Szrj { "vpavgw", { XM, Vex, EXx }, 0 }, 1490*a9fa9459Szrj }, 1491*a9fa9459Szrj /* PREFIX_EVEX_0FE4 */ 1492*a9fa9459Szrj { 1493*a9fa9459Szrj { Bad_Opcode }, 1494*a9fa9459Szrj { Bad_Opcode }, 1495*a9fa9459Szrj { "vpmulhuw", { XM, Vex, EXx }, 0 }, 1496*a9fa9459Szrj }, 1497*a9fa9459Szrj /* PREFIX_EVEX_0FE5 */ 1498*a9fa9459Szrj { 1499*a9fa9459Szrj { Bad_Opcode }, 1500*a9fa9459Szrj { Bad_Opcode }, 1501*a9fa9459Szrj { "vpmulhw", { XM, Vex, EXx }, 0 }, 1502*a9fa9459Szrj }, 1503*a9fa9459Szrj /* PREFIX_EVEX_0FE6 */ 1504*a9fa9459Szrj { 1505*a9fa9459Szrj { Bad_Opcode }, 1506*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0FE6_P_1) }, 1507*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0FE6_P_2) }, 1508*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0FE6_P_3) }, 1509*a9fa9459Szrj }, 1510*a9fa9459Szrj /* PREFIX_EVEX_0FE7 */ 1511*a9fa9459Szrj { 1512*a9fa9459Szrj { Bad_Opcode }, 1513*a9fa9459Szrj { Bad_Opcode }, 1514*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0FE7_P_2) }, 1515*a9fa9459Szrj }, 1516*a9fa9459Szrj /* PREFIX_EVEX_0FE8 */ 1517*a9fa9459Szrj { 1518*a9fa9459Szrj { Bad_Opcode }, 1519*a9fa9459Szrj { Bad_Opcode }, 1520*a9fa9459Szrj { "vpsubsb", { XM, Vex, EXx }, 0 }, 1521*a9fa9459Szrj }, 1522*a9fa9459Szrj /* PREFIX_EVEX_0FE9 */ 1523*a9fa9459Szrj { 1524*a9fa9459Szrj { Bad_Opcode }, 1525*a9fa9459Szrj { Bad_Opcode }, 1526*a9fa9459Szrj { "vpsubsw", { XM, Vex, EXx }, 0 }, 1527*a9fa9459Szrj }, 1528*a9fa9459Szrj /* PREFIX_EVEX_0FEA */ 1529*a9fa9459Szrj { 1530*a9fa9459Szrj { Bad_Opcode }, 1531*a9fa9459Szrj { Bad_Opcode }, 1532*a9fa9459Szrj { "vpminsw", { XM, Vex, EXx }, 0 }, 1533*a9fa9459Szrj }, 1534*a9fa9459Szrj /* PREFIX_EVEX_0FEB */ 1535*a9fa9459Szrj { 1536*a9fa9459Szrj { Bad_Opcode }, 1537*a9fa9459Szrj { Bad_Opcode }, 1538*a9fa9459Szrj { "vpor%LW", { XM, Vex, EXx }, 0 }, 1539*a9fa9459Szrj }, 1540*a9fa9459Szrj /* PREFIX_EVEX_0FEC */ 1541*a9fa9459Szrj { 1542*a9fa9459Szrj { Bad_Opcode }, 1543*a9fa9459Szrj { Bad_Opcode }, 1544*a9fa9459Szrj { "vpaddsb", { XM, Vex, EXx }, 0 }, 1545*a9fa9459Szrj }, 1546*a9fa9459Szrj /* PREFIX_EVEX_0FED */ 1547*a9fa9459Szrj { 1548*a9fa9459Szrj { Bad_Opcode }, 1549*a9fa9459Szrj { Bad_Opcode }, 1550*a9fa9459Szrj { "vpaddsw", { XM, Vex, EXx }, 0 }, 1551*a9fa9459Szrj }, 1552*a9fa9459Szrj /* PREFIX_EVEX_0FEE */ 1553*a9fa9459Szrj { 1554*a9fa9459Szrj { Bad_Opcode }, 1555*a9fa9459Szrj { Bad_Opcode }, 1556*a9fa9459Szrj { "vpmaxsw", { XM, Vex, EXx }, 0 }, 1557*a9fa9459Szrj }, 1558*a9fa9459Szrj /* PREFIX_EVEX_0FEF */ 1559*a9fa9459Szrj { 1560*a9fa9459Szrj { Bad_Opcode }, 1561*a9fa9459Szrj { Bad_Opcode }, 1562*a9fa9459Szrj { "vpxor%LW", { XM, Vex, EXx }, 0 }, 1563*a9fa9459Szrj }, 1564*a9fa9459Szrj /* PREFIX_EVEX_0FF1 */ 1565*a9fa9459Szrj { 1566*a9fa9459Szrj { Bad_Opcode }, 1567*a9fa9459Szrj { Bad_Opcode }, 1568*a9fa9459Szrj { "vpsllw", { XM, Vex, EXxmm }, 0 }, 1569*a9fa9459Szrj }, 1570*a9fa9459Szrj /* PREFIX_EVEX_0FF2 */ 1571*a9fa9459Szrj { 1572*a9fa9459Szrj { Bad_Opcode }, 1573*a9fa9459Szrj { Bad_Opcode }, 1574*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0FF2_P_2) }, 1575*a9fa9459Szrj }, 1576*a9fa9459Szrj /* PREFIX_EVEX_0FF3 */ 1577*a9fa9459Szrj { 1578*a9fa9459Szrj { Bad_Opcode }, 1579*a9fa9459Szrj { Bad_Opcode }, 1580*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0FF3_P_2) }, 1581*a9fa9459Szrj }, 1582*a9fa9459Szrj /* PREFIX_EVEX_0FF4 */ 1583*a9fa9459Szrj { 1584*a9fa9459Szrj { Bad_Opcode }, 1585*a9fa9459Szrj { Bad_Opcode }, 1586*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0FF4_P_2) }, 1587*a9fa9459Szrj }, 1588*a9fa9459Szrj /* PREFIX_EVEX_0FF5 */ 1589*a9fa9459Szrj { 1590*a9fa9459Szrj { Bad_Opcode }, 1591*a9fa9459Szrj { Bad_Opcode }, 1592*a9fa9459Szrj { "vpmaddwd", { XM, Vex, EXx }, 0 }, 1593*a9fa9459Szrj }, 1594*a9fa9459Szrj /* PREFIX_EVEX_0FF6 */ 1595*a9fa9459Szrj { 1596*a9fa9459Szrj { Bad_Opcode }, 1597*a9fa9459Szrj { Bad_Opcode }, 1598*a9fa9459Szrj { "vpsadbw", { XM, Vex, EXx }, 0 }, 1599*a9fa9459Szrj }, 1600*a9fa9459Szrj /* PREFIX_EVEX_0FF8 */ 1601*a9fa9459Szrj { 1602*a9fa9459Szrj { Bad_Opcode }, 1603*a9fa9459Szrj { Bad_Opcode }, 1604*a9fa9459Szrj { "vpsubb", { XM, Vex, EXx }, 0 }, 1605*a9fa9459Szrj }, 1606*a9fa9459Szrj /* PREFIX_EVEX_0FF9 */ 1607*a9fa9459Szrj { 1608*a9fa9459Szrj { Bad_Opcode }, 1609*a9fa9459Szrj { Bad_Opcode }, 1610*a9fa9459Szrj { "vpsubw", { XM, Vex, EXx }, 0 }, 1611*a9fa9459Szrj }, 1612*a9fa9459Szrj /* PREFIX_EVEX_0FFA */ 1613*a9fa9459Szrj { 1614*a9fa9459Szrj { Bad_Opcode }, 1615*a9fa9459Szrj { Bad_Opcode }, 1616*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0FFA_P_2) }, 1617*a9fa9459Szrj }, 1618*a9fa9459Szrj /* PREFIX_EVEX_0FFB */ 1619*a9fa9459Szrj { 1620*a9fa9459Szrj { Bad_Opcode }, 1621*a9fa9459Szrj { Bad_Opcode }, 1622*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0FFB_P_2) }, 1623*a9fa9459Szrj }, 1624*a9fa9459Szrj /* PREFIX_EVEX_0FFC */ 1625*a9fa9459Szrj { 1626*a9fa9459Szrj { Bad_Opcode }, 1627*a9fa9459Szrj { Bad_Opcode }, 1628*a9fa9459Szrj { "vpaddb", { XM, Vex, EXx }, 0 }, 1629*a9fa9459Szrj }, 1630*a9fa9459Szrj /* PREFIX_EVEX_0FFD */ 1631*a9fa9459Szrj { 1632*a9fa9459Szrj { Bad_Opcode }, 1633*a9fa9459Szrj { Bad_Opcode }, 1634*a9fa9459Szrj { "vpaddw", { XM, Vex, EXx }, 0 }, 1635*a9fa9459Szrj }, 1636*a9fa9459Szrj /* PREFIX_EVEX_0FFE */ 1637*a9fa9459Szrj { 1638*a9fa9459Szrj { Bad_Opcode }, 1639*a9fa9459Szrj { Bad_Opcode }, 1640*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0FFE_P_2) }, 1641*a9fa9459Szrj }, 1642*a9fa9459Szrj /* PREFIX_EVEX_0F3800 */ 1643*a9fa9459Szrj { 1644*a9fa9459Szrj { Bad_Opcode }, 1645*a9fa9459Szrj { Bad_Opcode }, 1646*a9fa9459Szrj { "vpshufb", { XM, Vex, EXx }, 0 }, 1647*a9fa9459Szrj }, 1648*a9fa9459Szrj /* PREFIX_EVEX_0F3804 */ 1649*a9fa9459Szrj { 1650*a9fa9459Szrj { Bad_Opcode }, 1651*a9fa9459Szrj { Bad_Opcode }, 1652*a9fa9459Szrj { "vpmaddubsw", { XM, Vex, EXx }, 0 }, 1653*a9fa9459Szrj }, 1654*a9fa9459Szrj /* PREFIX_EVEX_0F380B */ 1655*a9fa9459Szrj { 1656*a9fa9459Szrj { Bad_Opcode }, 1657*a9fa9459Szrj { Bad_Opcode }, 1658*a9fa9459Szrj { "vpmulhrsw", { XM, Vex, EXx }, 0 }, 1659*a9fa9459Szrj }, 1660*a9fa9459Szrj /* PREFIX_EVEX_0F380C */ 1661*a9fa9459Szrj { 1662*a9fa9459Szrj { Bad_Opcode }, 1663*a9fa9459Szrj { Bad_Opcode }, 1664*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0F380C_P_2) }, 1665*a9fa9459Szrj }, 1666*a9fa9459Szrj /* PREFIX_EVEX_0F380D */ 1667*a9fa9459Szrj { 1668*a9fa9459Szrj { Bad_Opcode }, 1669*a9fa9459Szrj { Bad_Opcode }, 1670*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0F380D_P_2) }, 1671*a9fa9459Szrj }, 1672*a9fa9459Szrj /* PREFIX_EVEX_0F3810 */ 1673*a9fa9459Szrj { 1674*a9fa9459Szrj { Bad_Opcode }, 1675*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0F3810_P_1) }, 1676*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0F3810_P_2) }, 1677*a9fa9459Szrj }, 1678*a9fa9459Szrj /* PREFIX_EVEX_0F3811 */ 1679*a9fa9459Szrj { 1680*a9fa9459Szrj { Bad_Opcode }, 1681*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0F3811_P_1) }, 1682*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0F3811_P_2) }, 1683*a9fa9459Szrj }, 1684*a9fa9459Szrj /* PREFIX_EVEX_0F3812 */ 1685*a9fa9459Szrj { 1686*a9fa9459Szrj { Bad_Opcode }, 1687*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0F3812_P_1) }, 1688*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0F3812_P_2) }, 1689*a9fa9459Szrj }, 1690*a9fa9459Szrj /* PREFIX_EVEX_0F3813 */ 1691*a9fa9459Szrj { 1692*a9fa9459Szrj { Bad_Opcode }, 1693*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0F3813_P_1) }, 1694*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0F3813_P_2) }, 1695*a9fa9459Szrj }, 1696*a9fa9459Szrj /* PREFIX_EVEX_0F3814 */ 1697*a9fa9459Szrj { 1698*a9fa9459Szrj { Bad_Opcode }, 1699*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0F3814_P_1) }, 1700*a9fa9459Szrj { "vprorv%LW", { XM, Vex, EXx }, 0 }, 1701*a9fa9459Szrj }, 1702*a9fa9459Szrj /* PREFIX_EVEX_0F3815 */ 1703*a9fa9459Szrj { 1704*a9fa9459Szrj { Bad_Opcode }, 1705*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0F3815_P_1) }, 1706*a9fa9459Szrj { "vprolv%LW", { XM, Vex, EXx }, 0 }, 1707*a9fa9459Szrj }, 1708*a9fa9459Szrj /* PREFIX_EVEX_0F3816 */ 1709*a9fa9459Szrj { 1710*a9fa9459Szrj { Bad_Opcode }, 1711*a9fa9459Szrj { Bad_Opcode }, 1712*a9fa9459Szrj { "vpermp%XW", { XM, Vex, EXx }, 0 }, 1713*a9fa9459Szrj }, 1714*a9fa9459Szrj /* PREFIX_EVEX_0F3818 */ 1715*a9fa9459Szrj { 1716*a9fa9459Szrj { Bad_Opcode }, 1717*a9fa9459Szrj { Bad_Opcode }, 1718*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0F3818_P_2) }, 1719*a9fa9459Szrj }, 1720*a9fa9459Szrj /* PREFIX_EVEX_0F3819 */ 1721*a9fa9459Szrj { 1722*a9fa9459Szrj { Bad_Opcode }, 1723*a9fa9459Szrj { Bad_Opcode }, 1724*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0F3819_P_2) }, 1725*a9fa9459Szrj }, 1726*a9fa9459Szrj /* PREFIX_EVEX_0F381A */ 1727*a9fa9459Szrj { 1728*a9fa9459Szrj { Bad_Opcode }, 1729*a9fa9459Szrj { Bad_Opcode }, 1730*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0F381A_P_2) }, 1731*a9fa9459Szrj }, 1732*a9fa9459Szrj /* PREFIX_EVEX_0F381B */ 1733*a9fa9459Szrj { 1734*a9fa9459Szrj { Bad_Opcode }, 1735*a9fa9459Szrj { Bad_Opcode }, 1736*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0F381B_P_2) }, 1737*a9fa9459Szrj }, 1738*a9fa9459Szrj /* PREFIX_EVEX_0F381C */ 1739*a9fa9459Szrj { 1740*a9fa9459Szrj { Bad_Opcode }, 1741*a9fa9459Szrj { Bad_Opcode }, 1742*a9fa9459Szrj { "vpabsb", { XM, EXx }, 0 }, 1743*a9fa9459Szrj }, 1744*a9fa9459Szrj /* PREFIX_EVEX_0F381D */ 1745*a9fa9459Szrj { 1746*a9fa9459Szrj { Bad_Opcode }, 1747*a9fa9459Szrj { Bad_Opcode }, 1748*a9fa9459Szrj { "vpabsw", { XM, EXx }, 0 }, 1749*a9fa9459Szrj }, 1750*a9fa9459Szrj /* PREFIX_EVEX_0F381E */ 1751*a9fa9459Szrj { 1752*a9fa9459Szrj { Bad_Opcode }, 1753*a9fa9459Szrj { Bad_Opcode }, 1754*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0F381E_P_2) }, 1755*a9fa9459Szrj }, 1756*a9fa9459Szrj /* PREFIX_EVEX_0F381F */ 1757*a9fa9459Szrj { 1758*a9fa9459Szrj { Bad_Opcode }, 1759*a9fa9459Szrj { Bad_Opcode }, 1760*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0F381F_P_2) }, 1761*a9fa9459Szrj }, 1762*a9fa9459Szrj /* PREFIX_EVEX_0F3820 */ 1763*a9fa9459Szrj { 1764*a9fa9459Szrj { Bad_Opcode }, 1765*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0F3820_P_1) }, 1766*a9fa9459Szrj { "vpmovsxbw", { XM, EXxmmq }, 0 }, 1767*a9fa9459Szrj }, 1768*a9fa9459Szrj /* PREFIX_EVEX_0F3821 */ 1769*a9fa9459Szrj { 1770*a9fa9459Szrj { Bad_Opcode }, 1771*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0F3821_P_1) }, 1772*a9fa9459Szrj { "vpmovsxbd", { XM, EXxmmqd }, 0 }, 1773*a9fa9459Szrj }, 1774*a9fa9459Szrj /* PREFIX_EVEX_0F3822 */ 1775*a9fa9459Szrj { 1776*a9fa9459Szrj { Bad_Opcode }, 1777*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0F3822_P_1) }, 1778*a9fa9459Szrj { "vpmovsxbq", { XM, EXxmmdw }, 0 }, 1779*a9fa9459Szrj }, 1780*a9fa9459Szrj /* PREFIX_EVEX_0F3823 */ 1781*a9fa9459Szrj { 1782*a9fa9459Szrj { Bad_Opcode }, 1783*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0F3823_P_1) }, 1784*a9fa9459Szrj { "vpmovsxwd", { XM, EXxmmq }, 0 }, 1785*a9fa9459Szrj }, 1786*a9fa9459Szrj /* PREFIX_EVEX_0F3824 */ 1787*a9fa9459Szrj { 1788*a9fa9459Szrj { Bad_Opcode }, 1789*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0F3824_P_1) }, 1790*a9fa9459Szrj { "vpmovsxwq", { XM, EXxmmqd }, 0 }, 1791*a9fa9459Szrj }, 1792*a9fa9459Szrj /* PREFIX_EVEX_0F3825 */ 1793*a9fa9459Szrj { 1794*a9fa9459Szrj { Bad_Opcode }, 1795*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0F3825_P_1) }, 1796*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0F3825_P_2) }, 1797*a9fa9459Szrj }, 1798*a9fa9459Szrj /* PREFIX_EVEX_0F3826 */ 1799*a9fa9459Szrj { 1800*a9fa9459Szrj { Bad_Opcode }, 1801*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0F3826_P_1) }, 1802*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0F3826_P_2) }, 1803*a9fa9459Szrj }, 1804*a9fa9459Szrj /* PREFIX_EVEX_0F3827 */ 1805*a9fa9459Szrj { 1806*a9fa9459Szrj { Bad_Opcode }, 1807*a9fa9459Szrj { "vptestnm%LW", { XMask, Vex, EXx }, 0 }, 1808*a9fa9459Szrj { "vptestm%LW", { XMask, Vex, EXx }, 0 }, 1809*a9fa9459Szrj }, 1810*a9fa9459Szrj /* PREFIX_EVEX_0F3828 */ 1811*a9fa9459Szrj { 1812*a9fa9459Szrj { Bad_Opcode }, 1813*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0F3828_P_1) }, 1814*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0F3828_P_2) }, 1815*a9fa9459Szrj }, 1816*a9fa9459Szrj /* PREFIX_EVEX_0F3829 */ 1817*a9fa9459Szrj { 1818*a9fa9459Szrj { Bad_Opcode }, 1819*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0F3829_P_1) }, 1820*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0F3829_P_2) }, 1821*a9fa9459Szrj }, 1822*a9fa9459Szrj /* PREFIX_EVEX_0F382A */ 1823*a9fa9459Szrj { 1824*a9fa9459Szrj { Bad_Opcode }, 1825*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0F382A_P_1) }, 1826*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0F382A_P_2) }, 1827*a9fa9459Szrj }, 1828*a9fa9459Szrj /* PREFIX_EVEX_0F382B */ 1829*a9fa9459Szrj { 1830*a9fa9459Szrj { Bad_Opcode }, 1831*a9fa9459Szrj { Bad_Opcode }, 1832*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0F382B_P_2) }, 1833*a9fa9459Szrj }, 1834*a9fa9459Szrj /* PREFIX_EVEX_0F382C */ 1835*a9fa9459Szrj { 1836*a9fa9459Szrj { Bad_Opcode }, 1837*a9fa9459Szrj { Bad_Opcode }, 1838*a9fa9459Szrj { "vscalefp%XW", { XM, Vex, EXx, EXxEVexR }, 0 }, 1839*a9fa9459Szrj }, 1840*a9fa9459Szrj /* PREFIX_EVEX_0F382D */ 1841*a9fa9459Szrj { 1842*a9fa9459Szrj { Bad_Opcode }, 1843*a9fa9459Szrj { Bad_Opcode }, 1844*a9fa9459Szrj { "vscalefs%XW", { XMScalar, VexScalar, EXxmm_mdq, EXxEVexR }, 0 }, 1845*a9fa9459Szrj }, 1846*a9fa9459Szrj /* PREFIX_EVEX_0F3830 */ 1847*a9fa9459Szrj { 1848*a9fa9459Szrj { Bad_Opcode }, 1849*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0F3830_P_1) }, 1850*a9fa9459Szrj { "vpmovzxbw", { XM, EXxmmq }, 0 }, 1851*a9fa9459Szrj }, 1852*a9fa9459Szrj /* PREFIX_EVEX_0F3831 */ 1853*a9fa9459Szrj { 1854*a9fa9459Szrj { Bad_Opcode }, 1855*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0F3831_P_1) }, 1856*a9fa9459Szrj { "vpmovzxbd", { XM, EXxmmqd }, 0 }, 1857*a9fa9459Szrj }, 1858*a9fa9459Szrj /* PREFIX_EVEX_0F3832 */ 1859*a9fa9459Szrj { 1860*a9fa9459Szrj { Bad_Opcode }, 1861*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0F3832_P_1) }, 1862*a9fa9459Szrj { "vpmovzxbq", { XM, EXxmmdw }, 0 }, 1863*a9fa9459Szrj }, 1864*a9fa9459Szrj /* PREFIX_EVEX_0F3833 */ 1865*a9fa9459Szrj { 1866*a9fa9459Szrj { Bad_Opcode }, 1867*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0F3833_P_1) }, 1868*a9fa9459Szrj { "vpmovzxwd", { XM, EXxmmq }, 0 }, 1869*a9fa9459Szrj }, 1870*a9fa9459Szrj /* PREFIX_EVEX_0F3834 */ 1871*a9fa9459Szrj { 1872*a9fa9459Szrj { Bad_Opcode }, 1873*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0F3834_P_1) }, 1874*a9fa9459Szrj { "vpmovzxwq", { XM, EXxmmqd }, 0 }, 1875*a9fa9459Szrj }, 1876*a9fa9459Szrj /* PREFIX_EVEX_0F3835 */ 1877*a9fa9459Szrj { 1878*a9fa9459Szrj { Bad_Opcode }, 1879*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0F3835_P_1) }, 1880*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0F3835_P_2) }, 1881*a9fa9459Szrj }, 1882*a9fa9459Szrj /* PREFIX_EVEX_0F3836 */ 1883*a9fa9459Szrj { 1884*a9fa9459Szrj { Bad_Opcode }, 1885*a9fa9459Szrj { Bad_Opcode }, 1886*a9fa9459Szrj { "vperm%LW", { XM, Vex, EXx }, 0 }, 1887*a9fa9459Szrj }, 1888*a9fa9459Szrj /* PREFIX_EVEX_0F3837 */ 1889*a9fa9459Szrj { 1890*a9fa9459Szrj { Bad_Opcode }, 1891*a9fa9459Szrj { Bad_Opcode }, 1892*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0F3837_P_2) }, 1893*a9fa9459Szrj }, 1894*a9fa9459Szrj /* PREFIX_EVEX_0F3838 */ 1895*a9fa9459Szrj { 1896*a9fa9459Szrj { Bad_Opcode }, 1897*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0F3838_P_1) }, 1898*a9fa9459Szrj { "vpminsb", { XM, Vex, EXx }, 0 }, 1899*a9fa9459Szrj }, 1900*a9fa9459Szrj /* PREFIX_EVEX_0F3839 */ 1901*a9fa9459Szrj { 1902*a9fa9459Szrj { Bad_Opcode }, 1903*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0F3839_P_1) }, 1904*a9fa9459Szrj { "vpmins%LW", { XM, Vex, EXx }, 0 }, 1905*a9fa9459Szrj }, 1906*a9fa9459Szrj /* PREFIX_EVEX_0F383A */ 1907*a9fa9459Szrj { 1908*a9fa9459Szrj { Bad_Opcode }, 1909*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0F383A_P_1) }, 1910*a9fa9459Szrj { "vpminuw", { XM, Vex, EXx }, 0 }, 1911*a9fa9459Szrj }, 1912*a9fa9459Szrj /* PREFIX_EVEX_0F383B */ 1913*a9fa9459Szrj { 1914*a9fa9459Szrj { Bad_Opcode }, 1915*a9fa9459Szrj { Bad_Opcode }, 1916*a9fa9459Szrj { "vpminu%LW", { XM, Vex, EXx }, 0 }, 1917*a9fa9459Szrj }, 1918*a9fa9459Szrj /* PREFIX_EVEX_0F383C */ 1919*a9fa9459Szrj { 1920*a9fa9459Szrj { Bad_Opcode }, 1921*a9fa9459Szrj { Bad_Opcode }, 1922*a9fa9459Szrj { "vpmaxsb", { XM, Vex, EXx }, 0 }, 1923*a9fa9459Szrj }, 1924*a9fa9459Szrj /* PREFIX_EVEX_0F383D */ 1925*a9fa9459Szrj { 1926*a9fa9459Szrj { Bad_Opcode }, 1927*a9fa9459Szrj { Bad_Opcode }, 1928*a9fa9459Szrj { "vpmaxs%LW", { XM, Vex, EXx }, 0 }, 1929*a9fa9459Szrj }, 1930*a9fa9459Szrj /* PREFIX_EVEX_0F383E */ 1931*a9fa9459Szrj { 1932*a9fa9459Szrj { Bad_Opcode }, 1933*a9fa9459Szrj { Bad_Opcode }, 1934*a9fa9459Szrj { "vpmaxuw", { XM, Vex, EXx }, 0 }, 1935*a9fa9459Szrj }, 1936*a9fa9459Szrj /* PREFIX_EVEX_0F383F */ 1937*a9fa9459Szrj { 1938*a9fa9459Szrj { Bad_Opcode }, 1939*a9fa9459Szrj { Bad_Opcode }, 1940*a9fa9459Szrj { "vpmaxu%LW", { XM, Vex, EXx }, 0 }, 1941*a9fa9459Szrj }, 1942*a9fa9459Szrj /* PREFIX_EVEX_0F3840 */ 1943*a9fa9459Szrj { 1944*a9fa9459Szrj { Bad_Opcode }, 1945*a9fa9459Szrj { Bad_Opcode }, 1946*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0F3840_P_2) }, 1947*a9fa9459Szrj }, 1948*a9fa9459Szrj /* PREFIX_EVEX_0F3842 */ 1949*a9fa9459Szrj { 1950*a9fa9459Szrj { Bad_Opcode }, 1951*a9fa9459Szrj { Bad_Opcode }, 1952*a9fa9459Szrj { "vgetexpp%XW", { XM, EXx, EXxEVexS }, 0 }, 1953*a9fa9459Szrj }, 1954*a9fa9459Szrj /* PREFIX_EVEX_0F3843 */ 1955*a9fa9459Szrj { 1956*a9fa9459Szrj { Bad_Opcode }, 1957*a9fa9459Szrj { Bad_Opcode }, 1958*a9fa9459Szrj { "vgetexps%XW", { XMScalar, VexScalar, EXxmm_mdq, EXxEVexS }, 0 }, 1959*a9fa9459Szrj }, 1960*a9fa9459Szrj /* PREFIX_EVEX_0F3844 */ 1961*a9fa9459Szrj { 1962*a9fa9459Szrj { Bad_Opcode }, 1963*a9fa9459Szrj { Bad_Opcode }, 1964*a9fa9459Szrj { "vplzcnt%LW", { XM, EXx }, 0 }, 1965*a9fa9459Szrj }, 1966*a9fa9459Szrj /* PREFIX_EVEX_0F3845 */ 1967*a9fa9459Szrj { 1968*a9fa9459Szrj { Bad_Opcode }, 1969*a9fa9459Szrj { Bad_Opcode }, 1970*a9fa9459Szrj { "vpsrlv%LW", { XM, Vex, EXx }, 0 }, 1971*a9fa9459Szrj }, 1972*a9fa9459Szrj /* PREFIX_EVEX_0F3846 */ 1973*a9fa9459Szrj { 1974*a9fa9459Szrj { Bad_Opcode }, 1975*a9fa9459Szrj { Bad_Opcode }, 1976*a9fa9459Szrj { "vpsrav%LW", { XM, Vex, EXx }, 0 }, 1977*a9fa9459Szrj }, 1978*a9fa9459Szrj /* PREFIX_EVEX_0F3847 */ 1979*a9fa9459Szrj { 1980*a9fa9459Szrj { Bad_Opcode }, 1981*a9fa9459Szrj { Bad_Opcode }, 1982*a9fa9459Szrj { "vpsllv%LW", { XM, Vex, EXx }, 0 }, 1983*a9fa9459Szrj }, 1984*a9fa9459Szrj /* PREFIX_EVEX_0F384C */ 1985*a9fa9459Szrj { 1986*a9fa9459Szrj { Bad_Opcode }, 1987*a9fa9459Szrj { Bad_Opcode }, 1988*a9fa9459Szrj { "vrcp14p%XW", { XM, EXx }, 0 }, 1989*a9fa9459Szrj }, 1990*a9fa9459Szrj /* PREFIX_EVEX_0F384D */ 1991*a9fa9459Szrj { 1992*a9fa9459Szrj { Bad_Opcode }, 1993*a9fa9459Szrj { Bad_Opcode }, 1994*a9fa9459Szrj { "vrcp14s%XW", { XMScalar, VexScalar, EXxmm_mdq }, 0 }, 1995*a9fa9459Szrj }, 1996*a9fa9459Szrj /* PREFIX_EVEX_0F384E */ 1997*a9fa9459Szrj { 1998*a9fa9459Szrj { Bad_Opcode }, 1999*a9fa9459Szrj { Bad_Opcode }, 2000*a9fa9459Szrj { "vrsqrt14p%XW", { XM, EXx }, 0 }, 2001*a9fa9459Szrj }, 2002*a9fa9459Szrj /* PREFIX_EVEX_0F384F */ 2003*a9fa9459Szrj { 2004*a9fa9459Szrj { Bad_Opcode }, 2005*a9fa9459Szrj { Bad_Opcode }, 2006*a9fa9459Szrj { "vrsqrt14s%XW", { XMScalar, VexScalar, EXxmm_mdq }, 0 }, 2007*a9fa9459Szrj }, 2008*a9fa9459Szrj /* PREFIX_EVEX_0F3858 */ 2009*a9fa9459Szrj { 2010*a9fa9459Szrj { Bad_Opcode }, 2011*a9fa9459Szrj { Bad_Opcode }, 2012*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0F3858_P_2) }, 2013*a9fa9459Szrj }, 2014*a9fa9459Szrj /* PREFIX_EVEX_0F3859 */ 2015*a9fa9459Szrj { 2016*a9fa9459Szrj { Bad_Opcode }, 2017*a9fa9459Szrj { Bad_Opcode }, 2018*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0F3859_P_2) }, 2019*a9fa9459Szrj }, 2020*a9fa9459Szrj /* PREFIX_EVEX_0F385A */ 2021*a9fa9459Szrj { 2022*a9fa9459Szrj { Bad_Opcode }, 2023*a9fa9459Szrj { Bad_Opcode }, 2024*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0F385A_P_2) }, 2025*a9fa9459Szrj }, 2026*a9fa9459Szrj /* PREFIX_EVEX_0F385B */ 2027*a9fa9459Szrj { 2028*a9fa9459Szrj { Bad_Opcode }, 2029*a9fa9459Szrj { Bad_Opcode }, 2030*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0F385B_P_2) }, 2031*a9fa9459Szrj }, 2032*a9fa9459Szrj /* PREFIX_EVEX_0F3864 */ 2033*a9fa9459Szrj { 2034*a9fa9459Szrj { Bad_Opcode }, 2035*a9fa9459Szrj { Bad_Opcode }, 2036*a9fa9459Szrj { "vpblendm%LW", { XM, Vex, EXx }, 0 }, 2037*a9fa9459Szrj }, 2038*a9fa9459Szrj /* PREFIX_EVEX_0F3865 */ 2039*a9fa9459Szrj { 2040*a9fa9459Szrj { Bad_Opcode }, 2041*a9fa9459Szrj { Bad_Opcode }, 2042*a9fa9459Szrj { "vblendmp%XW", { XM, Vex, EXx }, 0 }, 2043*a9fa9459Szrj }, 2044*a9fa9459Szrj /* PREFIX_EVEX_0F3866 */ 2045*a9fa9459Szrj { 2046*a9fa9459Szrj { Bad_Opcode }, 2047*a9fa9459Szrj { Bad_Opcode }, 2048*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0F3866_P_2) }, 2049*a9fa9459Szrj }, 2050*a9fa9459Szrj /* PREFIX_EVEX_0F3875 */ 2051*a9fa9459Szrj { 2052*a9fa9459Szrj { Bad_Opcode }, 2053*a9fa9459Szrj { Bad_Opcode }, 2054*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0F3875_P_2) }, 2055*a9fa9459Szrj }, 2056*a9fa9459Szrj /* PREFIX_EVEX_0F3876 */ 2057*a9fa9459Szrj { 2058*a9fa9459Szrj { Bad_Opcode }, 2059*a9fa9459Szrj { Bad_Opcode }, 2060*a9fa9459Szrj { "vpermi2%LW", { XM, Vex, EXx }, 0 }, 2061*a9fa9459Szrj }, 2062*a9fa9459Szrj /* PREFIX_EVEX_0F3877 */ 2063*a9fa9459Szrj { 2064*a9fa9459Szrj { Bad_Opcode }, 2065*a9fa9459Szrj { Bad_Opcode }, 2066*a9fa9459Szrj { "vpermi2p%XW", { XM, Vex, EXx }, 0 }, 2067*a9fa9459Szrj }, 2068*a9fa9459Szrj /* PREFIX_EVEX_0F3878 */ 2069*a9fa9459Szrj { 2070*a9fa9459Szrj { Bad_Opcode }, 2071*a9fa9459Szrj { Bad_Opcode }, 2072*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0F3878_P_2) }, 2073*a9fa9459Szrj }, 2074*a9fa9459Szrj /* PREFIX_EVEX_0F3879 */ 2075*a9fa9459Szrj { 2076*a9fa9459Szrj { Bad_Opcode }, 2077*a9fa9459Szrj { Bad_Opcode }, 2078*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0F3879_P_2) }, 2079*a9fa9459Szrj }, 2080*a9fa9459Szrj /* PREFIX_EVEX_0F387A */ 2081*a9fa9459Szrj { 2082*a9fa9459Szrj { Bad_Opcode }, 2083*a9fa9459Szrj { Bad_Opcode }, 2084*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0F387A_P_2) }, 2085*a9fa9459Szrj }, 2086*a9fa9459Szrj /* PREFIX_EVEX_0F387B */ 2087*a9fa9459Szrj { 2088*a9fa9459Szrj { Bad_Opcode }, 2089*a9fa9459Szrj { Bad_Opcode }, 2090*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0F387B_P_2) }, 2091*a9fa9459Szrj }, 2092*a9fa9459Szrj /* PREFIX_EVEX_0F387C */ 2093*a9fa9459Szrj { 2094*a9fa9459Szrj { Bad_Opcode }, 2095*a9fa9459Szrj { Bad_Opcode }, 2096*a9fa9459Szrj { "vpbroadcast%LW", { XM, Rdq }, 0 }, 2097*a9fa9459Szrj }, 2098*a9fa9459Szrj /* PREFIX_EVEX_0F387D */ 2099*a9fa9459Szrj { 2100*a9fa9459Szrj { Bad_Opcode }, 2101*a9fa9459Szrj { Bad_Opcode }, 2102*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0F387D_P_2) }, 2103*a9fa9459Szrj }, 2104*a9fa9459Szrj /* PREFIX_EVEX_0F387E */ 2105*a9fa9459Szrj { 2106*a9fa9459Szrj { Bad_Opcode }, 2107*a9fa9459Szrj { Bad_Opcode }, 2108*a9fa9459Szrj { "vpermt2%LW", { XM, Vex, EXx }, 0 }, 2109*a9fa9459Szrj }, 2110*a9fa9459Szrj /* PREFIX_EVEX_0F387F */ 2111*a9fa9459Szrj { 2112*a9fa9459Szrj { Bad_Opcode }, 2113*a9fa9459Szrj { Bad_Opcode }, 2114*a9fa9459Szrj { "vpermt2p%XW", { XM, Vex, EXx }, 0 }, 2115*a9fa9459Szrj }, 2116*a9fa9459Szrj /* PREFIX_EVEX_0F3883 */ 2117*a9fa9459Szrj { 2118*a9fa9459Szrj { Bad_Opcode }, 2119*a9fa9459Szrj { Bad_Opcode }, 2120*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0F3883_P_2) }, 2121*a9fa9459Szrj }, 2122*a9fa9459Szrj /* PREFIX_EVEX_0F3888 */ 2123*a9fa9459Szrj { 2124*a9fa9459Szrj { Bad_Opcode }, 2125*a9fa9459Szrj { Bad_Opcode }, 2126*a9fa9459Szrj { "vexpandp%XW", { XM, EXEvexXGscat }, 0 }, 2127*a9fa9459Szrj }, 2128*a9fa9459Szrj /* PREFIX_EVEX_0F3889 */ 2129*a9fa9459Szrj { 2130*a9fa9459Szrj { Bad_Opcode }, 2131*a9fa9459Szrj { Bad_Opcode }, 2132*a9fa9459Szrj { "vpexpand%LW", { XM, EXEvexXGscat }, 0 }, 2133*a9fa9459Szrj }, 2134*a9fa9459Szrj /* PREFIX_EVEX_0F388A */ 2135*a9fa9459Szrj { 2136*a9fa9459Szrj { Bad_Opcode }, 2137*a9fa9459Szrj { Bad_Opcode }, 2138*a9fa9459Szrj { "vcompressp%XW", { EXEvexXGscat, XM }, 0 }, 2139*a9fa9459Szrj }, 2140*a9fa9459Szrj /* PREFIX_EVEX_0F388B */ 2141*a9fa9459Szrj { 2142*a9fa9459Szrj { Bad_Opcode }, 2143*a9fa9459Szrj { Bad_Opcode }, 2144*a9fa9459Szrj { "vpcompress%LW", { EXEvexXGscat, XM }, 0 }, 2145*a9fa9459Szrj }, 2146*a9fa9459Szrj /* PREFIX_EVEX_0F388D */ 2147*a9fa9459Szrj { 2148*a9fa9459Szrj { Bad_Opcode }, 2149*a9fa9459Szrj { Bad_Opcode }, 2150*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0F388D_P_2) }, 2151*a9fa9459Szrj }, 2152*a9fa9459Szrj /* PREFIX_EVEX_0F3890 */ 2153*a9fa9459Szrj { 2154*a9fa9459Szrj { Bad_Opcode }, 2155*a9fa9459Szrj { Bad_Opcode }, 2156*a9fa9459Szrj { "vpgatherd%LW", { XM, MVexVSIBDWpX }, 0 }, 2157*a9fa9459Szrj }, 2158*a9fa9459Szrj /* PREFIX_EVEX_0F3891 */ 2159*a9fa9459Szrj { 2160*a9fa9459Szrj { Bad_Opcode }, 2161*a9fa9459Szrj { Bad_Opcode }, 2162*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0F3891_P_2) }, 2163*a9fa9459Szrj }, 2164*a9fa9459Szrj /* PREFIX_EVEX_0F3892 */ 2165*a9fa9459Szrj { 2166*a9fa9459Szrj { Bad_Opcode }, 2167*a9fa9459Szrj { Bad_Opcode }, 2168*a9fa9459Szrj { "vgatherdp%XW", { XM, MVexVSIBDWpX}, 0 }, 2169*a9fa9459Szrj }, 2170*a9fa9459Szrj /* PREFIX_EVEX_0F3893 */ 2171*a9fa9459Szrj { 2172*a9fa9459Szrj { Bad_Opcode }, 2173*a9fa9459Szrj { Bad_Opcode }, 2174*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0F3893_P_2) }, 2175*a9fa9459Szrj }, 2176*a9fa9459Szrj /* PREFIX_EVEX_0F3896 */ 2177*a9fa9459Szrj { 2178*a9fa9459Szrj { Bad_Opcode }, 2179*a9fa9459Szrj { Bad_Opcode }, 2180*a9fa9459Szrj { "vfmaddsub132p%XW", { XM, Vex, EXx, EXxEVexR }, 0 }, 2181*a9fa9459Szrj }, 2182*a9fa9459Szrj /* PREFIX_EVEX_0F3897 */ 2183*a9fa9459Szrj { 2184*a9fa9459Szrj { Bad_Opcode }, 2185*a9fa9459Szrj { Bad_Opcode }, 2186*a9fa9459Szrj { "vfmsubadd132p%XW", { XM, Vex, EXx, EXxEVexR }, 0 }, 2187*a9fa9459Szrj }, 2188*a9fa9459Szrj /* PREFIX_EVEX_0F3898 */ 2189*a9fa9459Szrj { 2190*a9fa9459Szrj { Bad_Opcode }, 2191*a9fa9459Szrj { Bad_Opcode }, 2192*a9fa9459Szrj { "vfmadd132p%XW", { XM, Vex, EXx, EXxEVexR }, 0 }, 2193*a9fa9459Szrj }, 2194*a9fa9459Szrj /* PREFIX_EVEX_0F3899 */ 2195*a9fa9459Szrj { 2196*a9fa9459Szrj { Bad_Opcode }, 2197*a9fa9459Szrj { Bad_Opcode }, 2198*a9fa9459Szrj { "vfmadd132s%XW", { XMScalar, VexScalar, EXxmm_mdq, EXxEVexR }, 0 }, 2199*a9fa9459Szrj }, 2200*a9fa9459Szrj /* PREFIX_EVEX_0F389A */ 2201*a9fa9459Szrj { 2202*a9fa9459Szrj { Bad_Opcode }, 2203*a9fa9459Szrj { Bad_Opcode }, 2204*a9fa9459Szrj { "vfmsub132p%XW", { XM, Vex, EXx, EXxEVexR }, 0 }, 2205*a9fa9459Szrj }, 2206*a9fa9459Szrj /* PREFIX_EVEX_0F389B */ 2207*a9fa9459Szrj { 2208*a9fa9459Szrj { Bad_Opcode }, 2209*a9fa9459Szrj { Bad_Opcode }, 2210*a9fa9459Szrj { "vfmsub132s%XW", { XMScalar, VexScalar, EXxmm_mdq, EXxEVexR }, 0 }, 2211*a9fa9459Szrj }, 2212*a9fa9459Szrj /* PREFIX_EVEX_0F389C */ 2213*a9fa9459Szrj { 2214*a9fa9459Szrj { Bad_Opcode }, 2215*a9fa9459Szrj { Bad_Opcode }, 2216*a9fa9459Szrj { "vfnmadd132p%XW", { XM, Vex, EXx, EXxEVexR }, 0 }, 2217*a9fa9459Szrj }, 2218*a9fa9459Szrj /* PREFIX_EVEX_0F389D */ 2219*a9fa9459Szrj { 2220*a9fa9459Szrj { Bad_Opcode }, 2221*a9fa9459Szrj { Bad_Opcode }, 2222*a9fa9459Szrj { "vfnmadd132s%XW", { XMScalar, VexScalar, EXxmm_mdq, EXxEVexR }, 0 }, 2223*a9fa9459Szrj }, 2224*a9fa9459Szrj /* PREFIX_EVEX_0F389E */ 2225*a9fa9459Szrj { 2226*a9fa9459Szrj { Bad_Opcode }, 2227*a9fa9459Szrj { Bad_Opcode }, 2228*a9fa9459Szrj { "vfnmsub132p%XW", { XM, Vex, EXx, EXxEVexR }, 0 }, 2229*a9fa9459Szrj }, 2230*a9fa9459Szrj /* PREFIX_EVEX_0F389F */ 2231*a9fa9459Szrj { 2232*a9fa9459Szrj { Bad_Opcode }, 2233*a9fa9459Szrj { Bad_Opcode }, 2234*a9fa9459Szrj { "vfnmsub132s%XW", { XMScalar, VexScalar, EXxmm_mdq, EXxEVexR }, 0 }, 2235*a9fa9459Szrj }, 2236*a9fa9459Szrj /* PREFIX_EVEX_0F38A0 */ 2237*a9fa9459Szrj { 2238*a9fa9459Szrj { Bad_Opcode }, 2239*a9fa9459Szrj { Bad_Opcode }, 2240*a9fa9459Szrj { "vpscatterd%LW", { MVexVSIBDWpX, XM }, 0 }, 2241*a9fa9459Szrj }, 2242*a9fa9459Szrj /* PREFIX_EVEX_0F38A1 */ 2243*a9fa9459Szrj { 2244*a9fa9459Szrj { Bad_Opcode }, 2245*a9fa9459Szrj { Bad_Opcode }, 2246*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0F38A1_P_2) }, 2247*a9fa9459Szrj }, 2248*a9fa9459Szrj /* PREFIX_EVEX_0F38A2 */ 2249*a9fa9459Szrj { 2250*a9fa9459Szrj { Bad_Opcode }, 2251*a9fa9459Szrj { Bad_Opcode }, 2252*a9fa9459Szrj { "vscatterdp%XW", { MVexVSIBDWpX, XM }, 0 }, 2253*a9fa9459Szrj }, 2254*a9fa9459Szrj /* PREFIX_EVEX_0F38A3 */ 2255*a9fa9459Szrj { 2256*a9fa9459Szrj { Bad_Opcode }, 2257*a9fa9459Szrj { Bad_Opcode }, 2258*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0F38A3_P_2) }, 2259*a9fa9459Szrj }, 2260*a9fa9459Szrj /* PREFIX_EVEX_0F38A6 */ 2261*a9fa9459Szrj { 2262*a9fa9459Szrj { Bad_Opcode }, 2263*a9fa9459Szrj { Bad_Opcode }, 2264*a9fa9459Szrj { "vfmaddsub213p%XW", { XM, Vex, EXx, EXxEVexR }, 0 }, 2265*a9fa9459Szrj }, 2266*a9fa9459Szrj /* PREFIX_EVEX_0F38A7 */ 2267*a9fa9459Szrj { 2268*a9fa9459Szrj { Bad_Opcode }, 2269*a9fa9459Szrj { Bad_Opcode }, 2270*a9fa9459Szrj { "vfmsubadd213p%XW", { XM, Vex, EXx, EXxEVexR }, 0 }, 2271*a9fa9459Szrj }, 2272*a9fa9459Szrj /* PREFIX_EVEX_0F38A8 */ 2273*a9fa9459Szrj { 2274*a9fa9459Szrj { Bad_Opcode }, 2275*a9fa9459Szrj { Bad_Opcode }, 2276*a9fa9459Szrj { "vfmadd213p%XW", { XM, Vex, EXx, EXxEVexR }, 0 }, 2277*a9fa9459Szrj }, 2278*a9fa9459Szrj /* PREFIX_EVEX_0F38A9 */ 2279*a9fa9459Szrj { 2280*a9fa9459Szrj { Bad_Opcode }, 2281*a9fa9459Szrj { Bad_Opcode }, 2282*a9fa9459Szrj { "vfmadd213s%XW", { XMScalar, VexScalar, EXxmm_mdq, EXxEVexR }, 0 }, 2283*a9fa9459Szrj }, 2284*a9fa9459Szrj /* PREFIX_EVEX_0F38AA */ 2285*a9fa9459Szrj { 2286*a9fa9459Szrj { Bad_Opcode }, 2287*a9fa9459Szrj { Bad_Opcode }, 2288*a9fa9459Szrj { "vfmsub213p%XW", { XM, Vex, EXx, EXxEVexR }, 0 }, 2289*a9fa9459Szrj }, 2290*a9fa9459Szrj /* PREFIX_EVEX_0F38AB */ 2291*a9fa9459Szrj { 2292*a9fa9459Szrj { Bad_Opcode }, 2293*a9fa9459Szrj { Bad_Opcode }, 2294*a9fa9459Szrj { "vfmsub213s%XW", { XMScalar, VexScalar, EXxmm_mdq, EXxEVexR }, 0 }, 2295*a9fa9459Szrj }, 2296*a9fa9459Szrj /* PREFIX_EVEX_0F38AC */ 2297*a9fa9459Szrj { 2298*a9fa9459Szrj { Bad_Opcode }, 2299*a9fa9459Szrj { Bad_Opcode }, 2300*a9fa9459Szrj { "vfnmadd213p%XW", { XM, Vex, EXx, EXxEVexR }, 0 }, 2301*a9fa9459Szrj }, 2302*a9fa9459Szrj /* PREFIX_EVEX_0F38AD */ 2303*a9fa9459Szrj { 2304*a9fa9459Szrj { Bad_Opcode }, 2305*a9fa9459Szrj { Bad_Opcode }, 2306*a9fa9459Szrj { "vfnmadd213s%XW", { XMScalar, VexScalar, EXxmm_mdq, EXxEVexR }, 0 }, 2307*a9fa9459Szrj }, 2308*a9fa9459Szrj /* PREFIX_EVEX_0F38AE */ 2309*a9fa9459Szrj { 2310*a9fa9459Szrj { Bad_Opcode }, 2311*a9fa9459Szrj { Bad_Opcode }, 2312*a9fa9459Szrj { "vfnmsub213p%XW", { XM, Vex, EXx, EXxEVexR }, 0 }, 2313*a9fa9459Szrj }, 2314*a9fa9459Szrj /* PREFIX_EVEX_0F38AF */ 2315*a9fa9459Szrj { 2316*a9fa9459Szrj { Bad_Opcode }, 2317*a9fa9459Szrj { Bad_Opcode }, 2318*a9fa9459Szrj { "vfnmsub213s%XW", { XMScalar, VexScalar, EXxmm_mdq, EXxEVexR }, 0 }, 2319*a9fa9459Szrj }, 2320*a9fa9459Szrj /* PREFIX_EVEX_0F38B4 */ 2321*a9fa9459Szrj { 2322*a9fa9459Szrj { Bad_Opcode }, 2323*a9fa9459Szrj { Bad_Opcode }, 2324*a9fa9459Szrj { "vpmadd52luq", { XM, Vex, EXx }, 0 }, 2325*a9fa9459Szrj }, 2326*a9fa9459Szrj /* PREFIX_EVEX_0F38B5 */ 2327*a9fa9459Szrj { 2328*a9fa9459Szrj { Bad_Opcode }, 2329*a9fa9459Szrj { Bad_Opcode }, 2330*a9fa9459Szrj { "vpmadd52huq", { XM, Vex, EXx }, 0 }, 2331*a9fa9459Szrj }, 2332*a9fa9459Szrj /* PREFIX_EVEX_0F38B6 */ 2333*a9fa9459Szrj { 2334*a9fa9459Szrj { Bad_Opcode }, 2335*a9fa9459Szrj { Bad_Opcode }, 2336*a9fa9459Szrj { "vfmaddsub231p%XW", { XM, Vex, EXx, EXxEVexR }, 0 }, 2337*a9fa9459Szrj }, 2338*a9fa9459Szrj /* PREFIX_EVEX_0F38B7 */ 2339*a9fa9459Szrj { 2340*a9fa9459Szrj { Bad_Opcode }, 2341*a9fa9459Szrj { Bad_Opcode }, 2342*a9fa9459Szrj { "vfmsubadd231p%XW", { XM, Vex, EXx, EXxEVexR }, 0 }, 2343*a9fa9459Szrj }, 2344*a9fa9459Szrj /* PREFIX_EVEX_0F38B8 */ 2345*a9fa9459Szrj { 2346*a9fa9459Szrj { Bad_Opcode }, 2347*a9fa9459Szrj { Bad_Opcode }, 2348*a9fa9459Szrj { "vfmadd231p%XW", { XM, Vex, EXx, EXxEVexR }, 0 }, 2349*a9fa9459Szrj }, 2350*a9fa9459Szrj /* PREFIX_EVEX_0F38B9 */ 2351*a9fa9459Szrj { 2352*a9fa9459Szrj { Bad_Opcode }, 2353*a9fa9459Szrj { Bad_Opcode }, 2354*a9fa9459Szrj { "vfmadd231s%XW", { XMScalar, VexScalar, EXxmm_mdq, EXxEVexR }, 0 }, 2355*a9fa9459Szrj }, 2356*a9fa9459Szrj /* PREFIX_EVEX_0F38BA */ 2357*a9fa9459Szrj { 2358*a9fa9459Szrj { Bad_Opcode }, 2359*a9fa9459Szrj { Bad_Opcode }, 2360*a9fa9459Szrj { "vfmsub231p%XW", { XM, Vex, EXx, EXxEVexR }, 0 }, 2361*a9fa9459Szrj }, 2362*a9fa9459Szrj /* PREFIX_EVEX_0F38BB */ 2363*a9fa9459Szrj { 2364*a9fa9459Szrj { Bad_Opcode }, 2365*a9fa9459Szrj { Bad_Opcode }, 2366*a9fa9459Szrj { "vfmsub231s%XW", { XMScalar, VexScalar, EXxmm_mdq, EXxEVexR }, 0 }, 2367*a9fa9459Szrj }, 2368*a9fa9459Szrj /* PREFIX_EVEX_0F38BC */ 2369*a9fa9459Szrj { 2370*a9fa9459Szrj { Bad_Opcode }, 2371*a9fa9459Szrj { Bad_Opcode }, 2372*a9fa9459Szrj { "vfnmadd231p%XW", { XM, Vex, EXx, EXxEVexR }, 0 }, 2373*a9fa9459Szrj }, 2374*a9fa9459Szrj /* PREFIX_EVEX_0F38BD */ 2375*a9fa9459Szrj { 2376*a9fa9459Szrj { Bad_Opcode }, 2377*a9fa9459Szrj { Bad_Opcode }, 2378*a9fa9459Szrj { "vfnmadd231s%XW", { XMScalar, VexScalar, EXxmm_mdq, EXxEVexR }, 0 }, 2379*a9fa9459Szrj }, 2380*a9fa9459Szrj /* PREFIX_EVEX_0F38BE */ 2381*a9fa9459Szrj { 2382*a9fa9459Szrj { Bad_Opcode }, 2383*a9fa9459Szrj { Bad_Opcode }, 2384*a9fa9459Szrj { "vfnmsub231p%XW", { XM, Vex, EXx, EXxEVexR }, 0 }, 2385*a9fa9459Szrj }, 2386*a9fa9459Szrj /* PREFIX_EVEX_0F38BF */ 2387*a9fa9459Szrj { 2388*a9fa9459Szrj { Bad_Opcode }, 2389*a9fa9459Szrj { Bad_Opcode }, 2390*a9fa9459Szrj { "vfnmsub231s%XW", { XMScalar, VexScalar, EXxmm_mdq, EXxEVexR }, 0 }, 2391*a9fa9459Szrj }, 2392*a9fa9459Szrj /* PREFIX_EVEX_0F38C4 */ 2393*a9fa9459Szrj { 2394*a9fa9459Szrj { Bad_Opcode }, 2395*a9fa9459Szrj { Bad_Opcode }, 2396*a9fa9459Szrj { "vpconflict%LW", { XM, EXx }, 0 }, 2397*a9fa9459Szrj }, 2398*a9fa9459Szrj /* PREFIX_EVEX_0F38C6_REG_1 */ 2399*a9fa9459Szrj { 2400*a9fa9459Szrj { Bad_Opcode }, 2401*a9fa9459Szrj { Bad_Opcode }, 2402*a9fa9459Szrj { "vgatherpf0dp%XW", { MVexVSIBDWpX }, 0 }, 2403*a9fa9459Szrj }, 2404*a9fa9459Szrj /* PREFIX_EVEX_0F38C6_REG_2 */ 2405*a9fa9459Szrj { 2406*a9fa9459Szrj { Bad_Opcode }, 2407*a9fa9459Szrj { Bad_Opcode }, 2408*a9fa9459Szrj { "vgatherpf1dp%XW", { MVexVSIBDWpX }, 0 }, 2409*a9fa9459Szrj }, 2410*a9fa9459Szrj /* PREFIX_EVEX_0F38C6_REG_5 */ 2411*a9fa9459Szrj { 2412*a9fa9459Szrj { Bad_Opcode }, 2413*a9fa9459Szrj { Bad_Opcode }, 2414*a9fa9459Szrj { "vscatterpf0dp%XW", { MVexVSIBDWpX }, 0 }, 2415*a9fa9459Szrj }, 2416*a9fa9459Szrj /* PREFIX_EVEX_0F38C6_REG_6 */ 2417*a9fa9459Szrj { 2418*a9fa9459Szrj { Bad_Opcode }, 2419*a9fa9459Szrj { Bad_Opcode }, 2420*a9fa9459Szrj { "vscatterpf1dp%XW", { MVexVSIBDWpX }, 0 }, 2421*a9fa9459Szrj }, 2422*a9fa9459Szrj /* PREFIX_EVEX_0F38C7_REG_1 */ 2423*a9fa9459Szrj { 2424*a9fa9459Szrj { Bad_Opcode }, 2425*a9fa9459Szrj { Bad_Opcode }, 2426*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0F38C7_R_1_P_2) }, 2427*a9fa9459Szrj }, 2428*a9fa9459Szrj /* PREFIX_EVEX_0F38C7_REG_2 */ 2429*a9fa9459Szrj { 2430*a9fa9459Szrj { Bad_Opcode }, 2431*a9fa9459Szrj { Bad_Opcode }, 2432*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0F38C7_R_2_P_2) }, 2433*a9fa9459Szrj }, 2434*a9fa9459Szrj /* PREFIX_EVEX_0F38C7_REG_5 */ 2435*a9fa9459Szrj { 2436*a9fa9459Szrj { Bad_Opcode }, 2437*a9fa9459Szrj { Bad_Opcode }, 2438*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0F38C7_R_5_P_2) }, 2439*a9fa9459Szrj }, 2440*a9fa9459Szrj /* PREFIX_EVEX_0F38C7_REG_6 */ 2441*a9fa9459Szrj { 2442*a9fa9459Szrj { Bad_Opcode }, 2443*a9fa9459Szrj { Bad_Opcode }, 2444*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0F38C7_R_6_P_2) }, 2445*a9fa9459Szrj }, 2446*a9fa9459Szrj /* PREFIX_EVEX_0F38C8 */ 2447*a9fa9459Szrj { 2448*a9fa9459Szrj { Bad_Opcode }, 2449*a9fa9459Szrj { Bad_Opcode }, 2450*a9fa9459Szrj { "vexp2p%XW", { XM, EXx, EXxEVexS }, 0 }, 2451*a9fa9459Szrj }, 2452*a9fa9459Szrj /* PREFIX_EVEX_0F38CA */ 2453*a9fa9459Szrj { 2454*a9fa9459Szrj { Bad_Opcode }, 2455*a9fa9459Szrj { Bad_Opcode }, 2456*a9fa9459Szrj { "vrcp28p%XW", { XM, EXx, EXxEVexS }, 0 }, 2457*a9fa9459Szrj }, 2458*a9fa9459Szrj /* PREFIX_EVEX_0F38CB */ 2459*a9fa9459Szrj { 2460*a9fa9459Szrj { Bad_Opcode }, 2461*a9fa9459Szrj { Bad_Opcode }, 2462*a9fa9459Szrj { "vrcp28s%XW", { XMScalar, VexScalar, EXxmm_mdq, EXxEVexS }, 0 }, 2463*a9fa9459Szrj }, 2464*a9fa9459Szrj /* PREFIX_EVEX_0F38CC */ 2465*a9fa9459Szrj { 2466*a9fa9459Szrj { Bad_Opcode }, 2467*a9fa9459Szrj { Bad_Opcode }, 2468*a9fa9459Szrj { "vrsqrt28p%XW", { XM, EXx, EXxEVexS }, 0 }, 2469*a9fa9459Szrj }, 2470*a9fa9459Szrj /* PREFIX_EVEX_0F38CD */ 2471*a9fa9459Szrj { 2472*a9fa9459Szrj { Bad_Opcode }, 2473*a9fa9459Szrj { Bad_Opcode }, 2474*a9fa9459Szrj { "vrsqrt28s%XW", { XMScalar, VexScalar, EXxmm_mdq, EXxEVexS }, 0 }, 2475*a9fa9459Szrj }, 2476*a9fa9459Szrj /* PREFIX_EVEX_0F3A00 */ 2477*a9fa9459Szrj { 2478*a9fa9459Szrj { Bad_Opcode }, 2479*a9fa9459Szrj { Bad_Opcode }, 2480*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0F3A00_P_2) }, 2481*a9fa9459Szrj }, 2482*a9fa9459Szrj /* PREFIX_EVEX_0F3A01 */ 2483*a9fa9459Szrj { 2484*a9fa9459Szrj { Bad_Opcode }, 2485*a9fa9459Szrj { Bad_Opcode }, 2486*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0F3A01_P_2) }, 2487*a9fa9459Szrj }, 2488*a9fa9459Szrj /* PREFIX_EVEX_0F3A03 */ 2489*a9fa9459Szrj { 2490*a9fa9459Szrj { Bad_Opcode }, 2491*a9fa9459Szrj { Bad_Opcode }, 2492*a9fa9459Szrj { "valign%LW", { XM, Vex, EXx, Ib }, 0 }, 2493*a9fa9459Szrj }, 2494*a9fa9459Szrj /* PREFIX_EVEX_0F3A04 */ 2495*a9fa9459Szrj { 2496*a9fa9459Szrj { Bad_Opcode }, 2497*a9fa9459Szrj { Bad_Opcode }, 2498*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0F3A04_P_2) }, 2499*a9fa9459Szrj }, 2500*a9fa9459Szrj /* PREFIX_EVEX_0F3A05 */ 2501*a9fa9459Szrj { 2502*a9fa9459Szrj { Bad_Opcode }, 2503*a9fa9459Szrj { Bad_Opcode }, 2504*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0F3A05_P_2) }, 2505*a9fa9459Szrj }, 2506*a9fa9459Szrj /* PREFIX_EVEX_0F3A08 */ 2507*a9fa9459Szrj { 2508*a9fa9459Szrj { Bad_Opcode }, 2509*a9fa9459Szrj { Bad_Opcode }, 2510*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0F3A08_P_2) }, 2511*a9fa9459Szrj }, 2512*a9fa9459Szrj /* PREFIX_EVEX_0F3A09 */ 2513*a9fa9459Szrj { 2514*a9fa9459Szrj { Bad_Opcode }, 2515*a9fa9459Szrj { Bad_Opcode }, 2516*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0F3A09_P_2) }, 2517*a9fa9459Szrj }, 2518*a9fa9459Szrj /* PREFIX_EVEX_0F3A0A */ 2519*a9fa9459Szrj { 2520*a9fa9459Szrj { Bad_Opcode }, 2521*a9fa9459Szrj { Bad_Opcode }, 2522*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0F3A0A_P_2) }, 2523*a9fa9459Szrj }, 2524*a9fa9459Szrj /* PREFIX_EVEX_0F3A0B */ 2525*a9fa9459Szrj { 2526*a9fa9459Szrj { Bad_Opcode }, 2527*a9fa9459Szrj { Bad_Opcode }, 2528*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0F3A0B_P_2) }, 2529*a9fa9459Szrj }, 2530*a9fa9459Szrj /* PREFIX_EVEX_0F3A0F */ 2531*a9fa9459Szrj { 2532*a9fa9459Szrj { Bad_Opcode }, 2533*a9fa9459Szrj { Bad_Opcode }, 2534*a9fa9459Szrj { "vpalignr", { XM, Vex, EXx, Ib }, 0 }, 2535*a9fa9459Szrj }, 2536*a9fa9459Szrj /* PREFIX_EVEX_0F3A14 */ 2537*a9fa9459Szrj { 2538*a9fa9459Szrj { Bad_Opcode }, 2539*a9fa9459Szrj { Bad_Opcode }, 2540*a9fa9459Szrj { "vpextrb", { Edqb, XM, Ib }, 0 }, 2541*a9fa9459Szrj }, 2542*a9fa9459Szrj /* PREFIX_EVEX_0F3A15 */ 2543*a9fa9459Szrj { 2544*a9fa9459Szrj { Bad_Opcode }, 2545*a9fa9459Szrj { Bad_Opcode }, 2546*a9fa9459Szrj { "vpextrw", { EdqwS, XM, Ib }, 0 }, 2547*a9fa9459Szrj }, 2548*a9fa9459Szrj /* PREFIX_EVEX_0F3A16 */ 2549*a9fa9459Szrj { 2550*a9fa9459Szrj { Bad_Opcode }, 2551*a9fa9459Szrj { Bad_Opcode }, 2552*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0F3A16_P_2) }, 2553*a9fa9459Szrj }, 2554*a9fa9459Szrj /* PREFIX_EVEX_0F3A17 */ 2555*a9fa9459Szrj { 2556*a9fa9459Szrj { Bad_Opcode }, 2557*a9fa9459Szrj { Bad_Opcode }, 2558*a9fa9459Szrj { "vextractps", { Edqd, XMM, Ib }, 0 }, 2559*a9fa9459Szrj }, 2560*a9fa9459Szrj /* PREFIX_EVEX_0F3A18 */ 2561*a9fa9459Szrj { 2562*a9fa9459Szrj { Bad_Opcode }, 2563*a9fa9459Szrj { Bad_Opcode }, 2564*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0F3A18_P_2) }, 2565*a9fa9459Szrj }, 2566*a9fa9459Szrj /* PREFIX_EVEX_0F3A19 */ 2567*a9fa9459Szrj { 2568*a9fa9459Szrj { Bad_Opcode }, 2569*a9fa9459Szrj { Bad_Opcode }, 2570*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0F3A19_P_2) }, 2571*a9fa9459Szrj }, 2572*a9fa9459Szrj /* PREFIX_EVEX_0F3A1A */ 2573*a9fa9459Szrj { 2574*a9fa9459Szrj { Bad_Opcode }, 2575*a9fa9459Szrj { Bad_Opcode }, 2576*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0F3A1A_P_2) }, 2577*a9fa9459Szrj }, 2578*a9fa9459Szrj /* PREFIX_EVEX_0F3A1B */ 2579*a9fa9459Szrj { 2580*a9fa9459Szrj { Bad_Opcode }, 2581*a9fa9459Szrj { Bad_Opcode }, 2582*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0F3A1B_P_2) }, 2583*a9fa9459Szrj }, 2584*a9fa9459Szrj /* PREFIX_EVEX_0F3A1D */ 2585*a9fa9459Szrj { 2586*a9fa9459Szrj { Bad_Opcode }, 2587*a9fa9459Szrj { Bad_Opcode }, 2588*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0F3A1D_P_2) }, 2589*a9fa9459Szrj }, 2590*a9fa9459Szrj /* PREFIX_EVEX_0F3A1E */ 2591*a9fa9459Szrj { 2592*a9fa9459Szrj { Bad_Opcode }, 2593*a9fa9459Szrj { Bad_Opcode }, 2594*a9fa9459Szrj { "vpcmpu%LW", { XMask, Vex, EXx, VPCMP }, 0 }, 2595*a9fa9459Szrj }, 2596*a9fa9459Szrj /* PREFIX_EVEX_0F3A1F */ 2597*a9fa9459Szrj { 2598*a9fa9459Szrj { Bad_Opcode }, 2599*a9fa9459Szrj { Bad_Opcode }, 2600*a9fa9459Szrj { "vpcmp%LW", { XMask, Vex, EXx, VPCMP }, 0 }, 2601*a9fa9459Szrj }, 2602*a9fa9459Szrj /* PREFIX_EVEX_0F3A20 */ 2603*a9fa9459Szrj { 2604*a9fa9459Szrj { Bad_Opcode }, 2605*a9fa9459Szrj { Bad_Opcode }, 2606*a9fa9459Szrj { "vpinsrb", { XM, Vex128, Edb, Ib }, 0 }, 2607*a9fa9459Szrj }, 2608*a9fa9459Szrj /* PREFIX_EVEX_0F3A21 */ 2609*a9fa9459Szrj { 2610*a9fa9459Szrj { Bad_Opcode }, 2611*a9fa9459Szrj { Bad_Opcode }, 2612*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0F3A21_P_2) }, 2613*a9fa9459Szrj }, 2614*a9fa9459Szrj /* PREFIX_EVEX_0F3A22 */ 2615*a9fa9459Szrj { 2616*a9fa9459Szrj { Bad_Opcode }, 2617*a9fa9459Szrj { Bad_Opcode }, 2618*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0F3A22_P_2) }, 2619*a9fa9459Szrj }, 2620*a9fa9459Szrj /* PREFIX_EVEX_0F3A23 */ 2621*a9fa9459Szrj { 2622*a9fa9459Szrj { Bad_Opcode }, 2623*a9fa9459Szrj { Bad_Opcode }, 2624*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0F3A23_P_2) }, 2625*a9fa9459Szrj }, 2626*a9fa9459Szrj /* PREFIX_EVEX_0F3A25 */ 2627*a9fa9459Szrj { 2628*a9fa9459Szrj { Bad_Opcode }, 2629*a9fa9459Szrj { Bad_Opcode }, 2630*a9fa9459Szrj { "vpternlog%LW", { XM, Vex, EXx, Ib }, 0 }, 2631*a9fa9459Szrj }, 2632*a9fa9459Szrj /* PREFIX_EVEX_0F3A26 */ 2633*a9fa9459Szrj { 2634*a9fa9459Szrj { Bad_Opcode }, 2635*a9fa9459Szrj { Bad_Opcode }, 2636*a9fa9459Szrj { "vgetmantp%XW", { XM, EXx, EXxEVexS, Ib }, 0 }, 2637*a9fa9459Szrj }, 2638*a9fa9459Szrj /* PREFIX_EVEX_0F3A27 */ 2639*a9fa9459Szrj { 2640*a9fa9459Szrj { Bad_Opcode }, 2641*a9fa9459Szrj { Bad_Opcode }, 2642*a9fa9459Szrj { "vgetmants%XW", { XMScalar, VexScalar, EXxmm_mdq, EXxEVexS, Ib }, 0 }, 2643*a9fa9459Szrj }, 2644*a9fa9459Szrj /* PREFIX_EVEX_0F3A38 */ 2645*a9fa9459Szrj { 2646*a9fa9459Szrj { Bad_Opcode }, 2647*a9fa9459Szrj { Bad_Opcode }, 2648*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0F3A38_P_2) }, 2649*a9fa9459Szrj }, 2650*a9fa9459Szrj /* PREFIX_EVEX_0F3A39 */ 2651*a9fa9459Szrj { 2652*a9fa9459Szrj { Bad_Opcode }, 2653*a9fa9459Szrj { Bad_Opcode }, 2654*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0F3A39_P_2) }, 2655*a9fa9459Szrj }, 2656*a9fa9459Szrj /* PREFIX_EVEX_0F3A3A */ 2657*a9fa9459Szrj { 2658*a9fa9459Szrj { Bad_Opcode }, 2659*a9fa9459Szrj { Bad_Opcode }, 2660*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0F3A3A_P_2) }, 2661*a9fa9459Szrj }, 2662*a9fa9459Szrj /* PREFIX_EVEX_0F3A3B */ 2663*a9fa9459Szrj { 2664*a9fa9459Szrj { Bad_Opcode }, 2665*a9fa9459Szrj { Bad_Opcode }, 2666*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0F3A3B_P_2) }, 2667*a9fa9459Szrj }, 2668*a9fa9459Szrj /* PREFIX_EVEX_0F3A3E */ 2669*a9fa9459Szrj { 2670*a9fa9459Szrj { Bad_Opcode }, 2671*a9fa9459Szrj { Bad_Opcode }, 2672*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0F3A3E_P_2) }, 2673*a9fa9459Szrj }, 2674*a9fa9459Szrj /* PREFIX_EVEX_0F3A3F */ 2675*a9fa9459Szrj { 2676*a9fa9459Szrj { Bad_Opcode }, 2677*a9fa9459Szrj { Bad_Opcode }, 2678*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0F3A3F_P_2) }, 2679*a9fa9459Szrj }, 2680*a9fa9459Szrj /* PREFIX_EVEX_0F3A42 */ 2681*a9fa9459Szrj { 2682*a9fa9459Szrj { Bad_Opcode }, 2683*a9fa9459Szrj { Bad_Opcode }, 2684*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0F3A42_P_2) }, 2685*a9fa9459Szrj }, 2686*a9fa9459Szrj /* PREFIX_EVEX_0F3A43 */ 2687*a9fa9459Szrj { 2688*a9fa9459Szrj { Bad_Opcode }, 2689*a9fa9459Szrj { Bad_Opcode }, 2690*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0F3A43_P_2) }, 2691*a9fa9459Szrj }, 2692*a9fa9459Szrj /* PREFIX_EVEX_0F3A50 */ 2693*a9fa9459Szrj { 2694*a9fa9459Szrj { Bad_Opcode }, 2695*a9fa9459Szrj { Bad_Opcode }, 2696*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0F3A50_P_2) }, 2697*a9fa9459Szrj }, 2698*a9fa9459Szrj /* PREFIX_EVEX_0F3A51 */ 2699*a9fa9459Szrj { 2700*a9fa9459Szrj { Bad_Opcode }, 2701*a9fa9459Szrj { Bad_Opcode }, 2702*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0F3A51_P_2) }, 2703*a9fa9459Szrj }, 2704*a9fa9459Szrj /* PREFIX_EVEX_0F3A54 */ 2705*a9fa9459Szrj { 2706*a9fa9459Szrj { Bad_Opcode }, 2707*a9fa9459Szrj { Bad_Opcode }, 2708*a9fa9459Szrj { "vfixupimmp%XW", { XM, Vex, EXx, EXxEVexS, Ib }, 0 }, 2709*a9fa9459Szrj }, 2710*a9fa9459Szrj /* PREFIX_EVEX_0F3A55 */ 2711*a9fa9459Szrj { 2712*a9fa9459Szrj { Bad_Opcode }, 2713*a9fa9459Szrj { Bad_Opcode }, 2714*a9fa9459Szrj { "vfixupimms%XW", { XMScalar, VexScalar, EXxmm_mdq, EXxEVexS, Ib }, 0 }, 2715*a9fa9459Szrj }, 2716*a9fa9459Szrj /* PREFIX_EVEX_0F3A56 */ 2717*a9fa9459Szrj { 2718*a9fa9459Szrj { Bad_Opcode }, 2719*a9fa9459Szrj { Bad_Opcode }, 2720*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0F3A56_P_2) }, 2721*a9fa9459Szrj }, 2722*a9fa9459Szrj /* PREFIX_EVEX_0F3A57 */ 2723*a9fa9459Szrj { 2724*a9fa9459Szrj { Bad_Opcode }, 2725*a9fa9459Szrj { Bad_Opcode }, 2726*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0F3A57_P_2) }, 2727*a9fa9459Szrj }, 2728*a9fa9459Szrj /* PREFIX_EVEX_0F3A66 */ 2729*a9fa9459Szrj { 2730*a9fa9459Szrj { Bad_Opcode }, 2731*a9fa9459Szrj { Bad_Opcode }, 2732*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0F3A66_P_2) }, 2733*a9fa9459Szrj }, 2734*a9fa9459Szrj /* PREFIX_EVEX_0F3A67 */ 2735*a9fa9459Szrj { 2736*a9fa9459Szrj { Bad_Opcode }, 2737*a9fa9459Szrj { Bad_Opcode }, 2738*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0F3A67_P_2) }, 2739*a9fa9459Szrj }, 2740*a9fa9459Szrj #endif /* NEED_PREFIX_TABLE */ 2741*a9fa9459Szrj 2742*a9fa9459Szrj #ifdef NEED_VEX_W_TABLE 2743*a9fa9459Szrj /* EVEX_W_0F10_P_0 */ 2744*a9fa9459Szrj { 2745*a9fa9459Szrj { "vmovups", { XM, EXEvexXNoBcst }, 0 }, 2746*a9fa9459Szrj }, 2747*a9fa9459Szrj /* EVEX_W_0F10_P_1_M_0 */ 2748*a9fa9459Szrj { 2749*a9fa9459Szrj { "vmovss", { XMScalar, EXdScalar }, 0 }, 2750*a9fa9459Szrj }, 2751*a9fa9459Szrj /* EVEX_W_0F10_P_1_M_1 */ 2752*a9fa9459Szrj { 2753*a9fa9459Szrj { "vmovss", { XMScalar, VexScalar, EXxmm_md }, 0 }, 2754*a9fa9459Szrj }, 2755*a9fa9459Szrj /* EVEX_W_0F10_P_2 */ 2756*a9fa9459Szrj { 2757*a9fa9459Szrj { Bad_Opcode }, 2758*a9fa9459Szrj { "vmovupd", { XM, EXEvexXNoBcst }, 0 }, 2759*a9fa9459Szrj }, 2760*a9fa9459Szrj /* EVEX_W_0F10_P_3_M_0 */ 2761*a9fa9459Szrj { 2762*a9fa9459Szrj { Bad_Opcode }, 2763*a9fa9459Szrj { "vmovsd", { XMScalar, EXqScalar }, 0 }, 2764*a9fa9459Szrj }, 2765*a9fa9459Szrj /* EVEX_W_0F10_P_3_M_1 */ 2766*a9fa9459Szrj { 2767*a9fa9459Szrj { Bad_Opcode }, 2768*a9fa9459Szrj { "vmovsd", { XMScalar, VexScalar, EXxmm_mq }, 0 }, 2769*a9fa9459Szrj }, 2770*a9fa9459Szrj /* EVEX_W_0F11_P_0 */ 2771*a9fa9459Szrj { 2772*a9fa9459Szrj { "vmovups", { EXxS, XM }, 0 }, 2773*a9fa9459Szrj }, 2774*a9fa9459Szrj /* EVEX_W_0F11_P_1_M_0 */ 2775*a9fa9459Szrj { 2776*a9fa9459Szrj { "vmovss", { EXdScalarS, XMScalar }, 0 }, 2777*a9fa9459Szrj }, 2778*a9fa9459Szrj /* EVEX_W_0F11_P_1_M_1 */ 2779*a9fa9459Szrj { 2780*a9fa9459Szrj { "vmovss", { EXxS, Vex, XMScalar }, 0 }, 2781*a9fa9459Szrj }, 2782*a9fa9459Szrj /* EVEX_W_0F11_P_2 */ 2783*a9fa9459Szrj { 2784*a9fa9459Szrj { Bad_Opcode }, 2785*a9fa9459Szrj { "vmovupd", { EXxS, XM }, 0 }, 2786*a9fa9459Szrj }, 2787*a9fa9459Szrj /* EVEX_W_0F11_P_3_M_0 */ 2788*a9fa9459Szrj { 2789*a9fa9459Szrj { Bad_Opcode }, 2790*a9fa9459Szrj { "vmovsd", { EXqScalarS, XMScalar }, 0 }, 2791*a9fa9459Szrj }, 2792*a9fa9459Szrj /* EVEX_W_0F11_P_3_M_1 */ 2793*a9fa9459Szrj { 2794*a9fa9459Szrj { Bad_Opcode }, 2795*a9fa9459Szrj { "vmovsd", { EXxS, Vex, XMScalar }, 0 }, 2796*a9fa9459Szrj }, 2797*a9fa9459Szrj /* EVEX_W_0F12_P_0_M_0 */ 2798*a9fa9459Szrj { 2799*a9fa9459Szrj { "vmovlps", { XMM, Vex, EXxmm_mq }, 0 }, 2800*a9fa9459Szrj }, 2801*a9fa9459Szrj /* EVEX_W_0F12_P_0_M_1 */ 2802*a9fa9459Szrj { 2803*a9fa9459Szrj { "vmovhlps", { XMM, Vex, EXxmm_mq }, 0 }, 2804*a9fa9459Szrj }, 2805*a9fa9459Szrj /* EVEX_W_0F12_P_1 */ 2806*a9fa9459Szrj { 2807*a9fa9459Szrj { "vmovsldup", { XM, EXEvexXNoBcst }, 0 }, 2808*a9fa9459Szrj }, 2809*a9fa9459Szrj /* EVEX_W_0F12_P_2 */ 2810*a9fa9459Szrj { 2811*a9fa9459Szrj { Bad_Opcode }, 2812*a9fa9459Szrj { "vmovlpd", { XMM, Vex, EXxmm_mq }, 0 }, 2813*a9fa9459Szrj }, 2814*a9fa9459Szrj /* EVEX_W_0F12_P_3 */ 2815*a9fa9459Szrj { 2816*a9fa9459Szrj { Bad_Opcode }, 2817*a9fa9459Szrj { "vmovddup", { XM, EXymmq }, 0 }, 2818*a9fa9459Szrj }, 2819*a9fa9459Szrj /* EVEX_W_0F13_P_0 */ 2820*a9fa9459Szrj { 2821*a9fa9459Szrj { "vmovlps", { EXxmm_mq, XMM }, 0 }, 2822*a9fa9459Szrj }, 2823*a9fa9459Szrj /* EVEX_W_0F13_P_2 */ 2824*a9fa9459Szrj { 2825*a9fa9459Szrj { Bad_Opcode }, 2826*a9fa9459Szrj { "vmovlpd", { EXxmm_mq, XMM }, 0 }, 2827*a9fa9459Szrj }, 2828*a9fa9459Szrj /* EVEX_W_0F14_P_0 */ 2829*a9fa9459Szrj { 2830*a9fa9459Szrj { "vunpcklps", { XM, Vex, EXx }, 0 }, 2831*a9fa9459Szrj }, 2832*a9fa9459Szrj /* EVEX_W_0F14_P_2 */ 2833*a9fa9459Szrj { 2834*a9fa9459Szrj { Bad_Opcode }, 2835*a9fa9459Szrj { "vunpcklpd", { XM, Vex, EXx }, 0 }, 2836*a9fa9459Szrj }, 2837*a9fa9459Szrj /* EVEX_W_0F15_P_0 */ 2838*a9fa9459Szrj { 2839*a9fa9459Szrj { "vunpckhps", { XM, Vex, EXx }, 0 }, 2840*a9fa9459Szrj }, 2841*a9fa9459Szrj /* EVEX_W_0F15_P_2 */ 2842*a9fa9459Szrj { 2843*a9fa9459Szrj { Bad_Opcode }, 2844*a9fa9459Szrj { "vunpckhpd", { XM, Vex, EXx }, 0 }, 2845*a9fa9459Szrj }, 2846*a9fa9459Szrj /* EVEX_W_0F16_P_0_M_0 */ 2847*a9fa9459Szrj { 2848*a9fa9459Szrj { "vmovhps", { XMM, Vex, EXxmm_mq }, 0 }, 2849*a9fa9459Szrj }, 2850*a9fa9459Szrj /* EVEX_W_0F16_P_0_M_1 */ 2851*a9fa9459Szrj { 2852*a9fa9459Szrj { "vmovlhps", { XMM, Vex, EXx }, 0 }, 2853*a9fa9459Szrj }, 2854*a9fa9459Szrj /* EVEX_W_0F16_P_1 */ 2855*a9fa9459Szrj { 2856*a9fa9459Szrj { "vmovshdup", { XM, EXx }, 0 }, 2857*a9fa9459Szrj }, 2858*a9fa9459Szrj /* EVEX_W_0F16_P_2 */ 2859*a9fa9459Szrj { 2860*a9fa9459Szrj { Bad_Opcode }, 2861*a9fa9459Szrj { "vmovhpd", { XMM, Vex, EXxmm_mq }, 0 }, 2862*a9fa9459Szrj }, 2863*a9fa9459Szrj /* EVEX_W_0F17_P_0 */ 2864*a9fa9459Szrj { 2865*a9fa9459Szrj { "vmovhps", { EXxmm_mq, XMM }, 0 }, 2866*a9fa9459Szrj }, 2867*a9fa9459Szrj /* EVEX_W_0F17_P_2 */ 2868*a9fa9459Szrj { 2869*a9fa9459Szrj { Bad_Opcode }, 2870*a9fa9459Szrj { "vmovhpd", { EXxmm_mq, XMM }, 0 }, 2871*a9fa9459Szrj }, 2872*a9fa9459Szrj /* EVEX_W_0F28_P_0 */ 2873*a9fa9459Szrj { 2874*a9fa9459Szrj { "vmovaps", { XM, EXx }, 0 }, 2875*a9fa9459Szrj }, 2876*a9fa9459Szrj /* EVEX_W_0F28_P_2 */ 2877*a9fa9459Szrj { 2878*a9fa9459Szrj { Bad_Opcode }, 2879*a9fa9459Szrj { "vmovapd", { XM, EXx }, 0 }, 2880*a9fa9459Szrj }, 2881*a9fa9459Szrj /* EVEX_W_0F29_P_0 */ 2882*a9fa9459Szrj { 2883*a9fa9459Szrj { "vmovaps", { EXxS, XM }, 0 }, 2884*a9fa9459Szrj }, 2885*a9fa9459Szrj /* EVEX_W_0F29_P_2 */ 2886*a9fa9459Szrj { 2887*a9fa9459Szrj { Bad_Opcode }, 2888*a9fa9459Szrj { "vmovapd", { EXxS, XM }, 0 }, 2889*a9fa9459Szrj }, 2890*a9fa9459Szrj /* EVEX_W_0F2A_P_1 */ 2891*a9fa9459Szrj { 2892*a9fa9459Szrj { "vcvtsi2ss", { XMScalar, VexScalar, EXxEVexR, Ed }, 0 }, 2893*a9fa9459Szrj { "vcvtsi2ss", { XMScalar, VexScalar, EXxEVexR, Eq }, 0 }, 2894*a9fa9459Szrj }, 2895*a9fa9459Szrj /* EVEX_W_0F2A_P_3 */ 2896*a9fa9459Szrj { 2897*a9fa9459Szrj { "vcvtsi2sd", { XMScalar, VexScalar, Ed }, 0 }, 2898*a9fa9459Szrj { "vcvtsi2sd", { XMScalar, VexScalar, EXxEVexR, Eq }, 0 }, 2899*a9fa9459Szrj }, 2900*a9fa9459Szrj /* EVEX_W_0F2B_P_0 */ 2901*a9fa9459Szrj { 2902*a9fa9459Szrj { "vmovntps", { EXx, XM }, 0 }, 2903*a9fa9459Szrj }, 2904*a9fa9459Szrj /* EVEX_W_0F2B_P_2 */ 2905*a9fa9459Szrj { 2906*a9fa9459Szrj { Bad_Opcode }, 2907*a9fa9459Szrj { "vmovntpd", { EXx, XM }, 0 }, 2908*a9fa9459Szrj }, 2909*a9fa9459Szrj /* EVEX_W_0F2E_P_0 */ 2910*a9fa9459Szrj { 2911*a9fa9459Szrj { "vucomiss", { XMScalar, EXxmm_md, EXxEVexS }, 0 }, 2912*a9fa9459Szrj }, 2913*a9fa9459Szrj /* EVEX_W_0F2E_P_2 */ 2914*a9fa9459Szrj { 2915*a9fa9459Szrj { Bad_Opcode }, 2916*a9fa9459Szrj { "vucomisd", { XMScalar, EXxmm_mq, EXxEVexS }, 0 }, 2917*a9fa9459Szrj }, 2918*a9fa9459Szrj /* EVEX_W_0F2F_P_0 */ 2919*a9fa9459Szrj { 2920*a9fa9459Szrj { "vcomiss", { XMScalar, EXxmm_md, EXxEVexS }, 0 }, 2921*a9fa9459Szrj }, 2922*a9fa9459Szrj /* EVEX_W_0F2F_P_2 */ 2923*a9fa9459Szrj { 2924*a9fa9459Szrj { Bad_Opcode }, 2925*a9fa9459Szrj { "vcomisd", { XMScalar, EXxmm_mq, EXxEVexS }, 0 }, 2926*a9fa9459Szrj }, 2927*a9fa9459Szrj /* EVEX_W_0F51_P_0 */ 2928*a9fa9459Szrj { 2929*a9fa9459Szrj { "vsqrtps", { XM, EXx, EXxEVexR }, 0 }, 2930*a9fa9459Szrj }, 2931*a9fa9459Szrj /* EVEX_W_0F51_P_1 */ 2932*a9fa9459Szrj { 2933*a9fa9459Szrj { "vsqrtss", { XMScalar, VexScalar, EXxmm_md, EXxEVexR }, 0 }, 2934*a9fa9459Szrj }, 2935*a9fa9459Szrj /* EVEX_W_0F51_P_2 */ 2936*a9fa9459Szrj { 2937*a9fa9459Szrj { Bad_Opcode }, 2938*a9fa9459Szrj { "vsqrtpd", { XM, EXx, EXxEVexR }, 0 }, 2939*a9fa9459Szrj }, 2940*a9fa9459Szrj /* EVEX_W_0F51_P_3 */ 2941*a9fa9459Szrj { 2942*a9fa9459Szrj { Bad_Opcode }, 2943*a9fa9459Szrj { "vsqrtsd", { XMScalar, VexScalar, EXxmm_mq, EXxEVexR }, 0 }, 2944*a9fa9459Szrj }, 2945*a9fa9459Szrj /* EVEX_W_0F54_P_0 */ 2946*a9fa9459Szrj { 2947*a9fa9459Szrj { "vandps", { XM, Vex, EXx }, 0 }, 2948*a9fa9459Szrj }, 2949*a9fa9459Szrj /* EVEX_W_0F54_P_2 */ 2950*a9fa9459Szrj { 2951*a9fa9459Szrj { Bad_Opcode }, 2952*a9fa9459Szrj { "vandpd", { XM, Vex, EXx }, 0 }, 2953*a9fa9459Szrj }, 2954*a9fa9459Szrj /* EVEX_W_0F55_P_0 */ 2955*a9fa9459Szrj { 2956*a9fa9459Szrj { "vandnps", { XM, Vex, EXx }, 0 }, 2957*a9fa9459Szrj }, 2958*a9fa9459Szrj /* EVEX_W_0F55_P_2 */ 2959*a9fa9459Szrj { 2960*a9fa9459Szrj { Bad_Opcode }, 2961*a9fa9459Szrj { "vandnpd", { XM, Vex, EXx }, 0 }, 2962*a9fa9459Szrj }, 2963*a9fa9459Szrj /* EVEX_W_0F56_P_0 */ 2964*a9fa9459Szrj { 2965*a9fa9459Szrj { "vorps", { XM, Vex, EXx }, 0 }, 2966*a9fa9459Szrj }, 2967*a9fa9459Szrj /* EVEX_W_0F56_P_2 */ 2968*a9fa9459Szrj { 2969*a9fa9459Szrj { Bad_Opcode }, 2970*a9fa9459Szrj { "vorpd", { XM, Vex, EXx }, 0 }, 2971*a9fa9459Szrj }, 2972*a9fa9459Szrj /* EVEX_W_0F57_P_0 */ 2973*a9fa9459Szrj { 2974*a9fa9459Szrj { "vxorps", { XM, Vex, EXx }, 0 }, 2975*a9fa9459Szrj }, 2976*a9fa9459Szrj /* EVEX_W_0F57_P_2 */ 2977*a9fa9459Szrj { 2978*a9fa9459Szrj { Bad_Opcode }, 2979*a9fa9459Szrj { "vxorpd", { XM, Vex, EXx }, 0 }, 2980*a9fa9459Szrj }, 2981*a9fa9459Szrj /* EVEX_W_0F58_P_0 */ 2982*a9fa9459Szrj { 2983*a9fa9459Szrj { "vaddps", { XM, Vex, EXx, EXxEVexR }, 0 }, 2984*a9fa9459Szrj }, 2985*a9fa9459Szrj /* EVEX_W_0F58_P_1 */ 2986*a9fa9459Szrj { 2987*a9fa9459Szrj { "vaddss", { XMScalar, VexScalar, EXxmm_md, EXxEVexR }, 0 }, 2988*a9fa9459Szrj }, 2989*a9fa9459Szrj /* EVEX_W_0F58_P_2 */ 2990*a9fa9459Szrj { 2991*a9fa9459Szrj { Bad_Opcode }, 2992*a9fa9459Szrj { "vaddpd", { XM, Vex, EXx, EXxEVexR }, 0 }, 2993*a9fa9459Szrj }, 2994*a9fa9459Szrj /* EVEX_W_0F58_P_3 */ 2995*a9fa9459Szrj { 2996*a9fa9459Szrj { Bad_Opcode }, 2997*a9fa9459Szrj { "vaddsd", { XMScalar, VexScalar, EXxmm_mq, EXxEVexR }, 0 }, 2998*a9fa9459Szrj }, 2999*a9fa9459Szrj /* EVEX_W_0F59_P_0 */ 3000*a9fa9459Szrj { 3001*a9fa9459Szrj { "vmulps", { XM, Vex, EXx, EXxEVexR }, 0 }, 3002*a9fa9459Szrj }, 3003*a9fa9459Szrj /* EVEX_W_0F59_P_1 */ 3004*a9fa9459Szrj { 3005*a9fa9459Szrj { "vmulss", { XMScalar, VexScalar, EXxmm_md, EXxEVexR }, 0 }, 3006*a9fa9459Szrj }, 3007*a9fa9459Szrj /* EVEX_W_0F59_P_2 */ 3008*a9fa9459Szrj { 3009*a9fa9459Szrj { Bad_Opcode }, 3010*a9fa9459Szrj { "vmulpd", { XM, Vex, EXx, EXxEVexR }, 0 }, 3011*a9fa9459Szrj }, 3012*a9fa9459Szrj /* EVEX_W_0F59_P_3 */ 3013*a9fa9459Szrj { 3014*a9fa9459Szrj { Bad_Opcode }, 3015*a9fa9459Szrj { "vmulsd", { XMScalar, VexScalar, EXxmm_mq, EXxEVexR }, 0 }, 3016*a9fa9459Szrj }, 3017*a9fa9459Szrj /* EVEX_W_0F5A_P_0 */ 3018*a9fa9459Szrj { 3019*a9fa9459Szrj { "vcvtps2pd", { XM, EXEvexHalfBcstXmmq, EXxEVexS }, 0 }, 3020*a9fa9459Szrj }, 3021*a9fa9459Szrj /* EVEX_W_0F5A_P_1 */ 3022*a9fa9459Szrj { 3023*a9fa9459Szrj { "vcvtss2sd", { XMScalar, VexScalar, EXxmm_md, EXxEVexS }, 0 }, 3024*a9fa9459Szrj }, 3025*a9fa9459Szrj /* EVEX_W_0F5A_P_2 */ 3026*a9fa9459Szrj { 3027*a9fa9459Szrj { Bad_Opcode }, 3028*a9fa9459Szrj { "vcvtpd2ps%XY", { XMxmmq, EXx, EXxEVexR }, 0 }, 3029*a9fa9459Szrj }, 3030*a9fa9459Szrj /* EVEX_W_0F5A_P_3 */ 3031*a9fa9459Szrj { 3032*a9fa9459Szrj { Bad_Opcode }, 3033*a9fa9459Szrj { "vcvtsd2ss", { XMScalar, VexScalar, EXxmm_mq, EXxEVexR }, 0 }, 3034*a9fa9459Szrj }, 3035*a9fa9459Szrj /* EVEX_W_0F5B_P_0 */ 3036*a9fa9459Szrj { 3037*a9fa9459Szrj { "vcvtdq2ps", { XM, EXx, EXxEVexR }, 0 }, 3038*a9fa9459Szrj { "vcvtqq2ps%XY", { XMxmmq, EXx, EXxEVexR }, 0 }, 3039*a9fa9459Szrj }, 3040*a9fa9459Szrj /* EVEX_W_0F5B_P_1 */ 3041*a9fa9459Szrj { 3042*a9fa9459Szrj { "vcvttps2dq", { XM, EXx, EXxEVexS }, 0 }, 3043*a9fa9459Szrj }, 3044*a9fa9459Szrj /* EVEX_W_0F5B_P_2 */ 3045*a9fa9459Szrj { 3046*a9fa9459Szrj { "vcvtps2dq", { XM, EXx, EXxEVexR }, 0 }, 3047*a9fa9459Szrj }, 3048*a9fa9459Szrj /* EVEX_W_0F5C_P_0 */ 3049*a9fa9459Szrj { 3050*a9fa9459Szrj { "vsubps", { XM, Vex, EXx, EXxEVexR }, 0 }, 3051*a9fa9459Szrj }, 3052*a9fa9459Szrj /* EVEX_W_0F5C_P_1 */ 3053*a9fa9459Szrj { 3054*a9fa9459Szrj { "vsubss", { XMScalar, VexScalar, EXxmm_md, EXxEVexR }, 0 }, 3055*a9fa9459Szrj }, 3056*a9fa9459Szrj /* EVEX_W_0F5C_P_2 */ 3057*a9fa9459Szrj { 3058*a9fa9459Szrj { Bad_Opcode }, 3059*a9fa9459Szrj { "vsubpd", { XM, Vex, EXx, EXxEVexR }, 0 }, 3060*a9fa9459Szrj }, 3061*a9fa9459Szrj /* EVEX_W_0F5C_P_3 */ 3062*a9fa9459Szrj { 3063*a9fa9459Szrj { Bad_Opcode }, 3064*a9fa9459Szrj { "vsubsd", { XMScalar, VexScalar, EXxmm_mq, EXxEVexR }, 0 }, 3065*a9fa9459Szrj }, 3066*a9fa9459Szrj /* EVEX_W_0F5D_P_0 */ 3067*a9fa9459Szrj { 3068*a9fa9459Szrj { "vminps", { XM, Vex, EXx, EXxEVexS }, 0 }, 3069*a9fa9459Szrj }, 3070*a9fa9459Szrj /* EVEX_W_0F5D_P_1 */ 3071*a9fa9459Szrj { 3072*a9fa9459Szrj { "vminss", { XMScalar, VexScalar, EXxmm_md, EXxEVexS }, 0 }, 3073*a9fa9459Szrj }, 3074*a9fa9459Szrj /* EVEX_W_0F5D_P_2 */ 3075*a9fa9459Szrj { 3076*a9fa9459Szrj { Bad_Opcode }, 3077*a9fa9459Szrj { "vminpd", { XM, Vex, EXx, EXxEVexS }, 0 }, 3078*a9fa9459Szrj }, 3079*a9fa9459Szrj /* EVEX_W_0F5D_P_3 */ 3080*a9fa9459Szrj { 3081*a9fa9459Szrj { Bad_Opcode }, 3082*a9fa9459Szrj { "vminsd", { XMScalar, VexScalar, EXxmm_mq, EXxEVexS }, 0 }, 3083*a9fa9459Szrj }, 3084*a9fa9459Szrj /* EVEX_W_0F5E_P_0 */ 3085*a9fa9459Szrj { 3086*a9fa9459Szrj { "vdivps", { XM, Vex, EXx, EXxEVexR }, 0 }, 3087*a9fa9459Szrj }, 3088*a9fa9459Szrj /* EVEX_W_0F5E_P_1 */ 3089*a9fa9459Szrj { 3090*a9fa9459Szrj { "vdivss", { XMScalar, VexScalar, EXxmm_md, EXxEVexR }, 0 }, 3091*a9fa9459Szrj }, 3092*a9fa9459Szrj /* EVEX_W_0F5E_P_2 */ 3093*a9fa9459Szrj { 3094*a9fa9459Szrj { Bad_Opcode }, 3095*a9fa9459Szrj { "vdivpd", { XM, Vex, EXx, EXxEVexR }, 0 }, 3096*a9fa9459Szrj }, 3097*a9fa9459Szrj /* EVEX_W_0F5E_P_3 */ 3098*a9fa9459Szrj { 3099*a9fa9459Szrj { Bad_Opcode }, 3100*a9fa9459Szrj { "vdivsd", { XMScalar, VexScalar, EXxmm_mq, EXxEVexR }, 0 }, 3101*a9fa9459Szrj }, 3102*a9fa9459Szrj /* EVEX_W_0F5F_P_0 */ 3103*a9fa9459Szrj { 3104*a9fa9459Szrj { "vmaxps", { XM, Vex, EXx, EXxEVexS }, 0 }, 3105*a9fa9459Szrj }, 3106*a9fa9459Szrj /* EVEX_W_0F5F_P_1 */ 3107*a9fa9459Szrj { 3108*a9fa9459Szrj { "vmaxss", { XMScalar, VexScalar, EXxmm_md, EXxEVexS }, 0 }, 3109*a9fa9459Szrj }, 3110*a9fa9459Szrj /* EVEX_W_0F5F_P_2 */ 3111*a9fa9459Szrj { 3112*a9fa9459Szrj { Bad_Opcode }, 3113*a9fa9459Szrj { "vmaxpd", { XM, Vex, EXx, EXxEVexS }, 0 }, 3114*a9fa9459Szrj }, 3115*a9fa9459Szrj /* EVEX_W_0F5F_P_3 */ 3116*a9fa9459Szrj { 3117*a9fa9459Szrj { Bad_Opcode }, 3118*a9fa9459Szrj { "vmaxsd", { XMScalar, VexScalar, EXxmm_mq, EXxEVexS }, 0 }, 3119*a9fa9459Szrj }, 3120*a9fa9459Szrj /* EVEX_W_0F62_P_2 */ 3121*a9fa9459Szrj { 3122*a9fa9459Szrj { "vpunpckldq", { XM, Vex, EXx }, 0 }, 3123*a9fa9459Szrj }, 3124*a9fa9459Szrj /* EVEX_W_0F66_P_2 */ 3125*a9fa9459Szrj { 3126*a9fa9459Szrj { "vpcmpgtd", { XMask, Vex, EXx }, 0 }, 3127*a9fa9459Szrj }, 3128*a9fa9459Szrj /* EVEX_W_0F6A_P_2 */ 3129*a9fa9459Szrj { 3130*a9fa9459Szrj { "vpunpckhdq", { XM, Vex, EXx }, 0 }, 3131*a9fa9459Szrj }, 3132*a9fa9459Szrj /* EVEX_W_0F6B_P_2 */ 3133*a9fa9459Szrj { 3134*a9fa9459Szrj { "vpackssdw", { XM, Vex, EXx }, 0 }, 3135*a9fa9459Szrj }, 3136*a9fa9459Szrj /* EVEX_W_0F6C_P_2 */ 3137*a9fa9459Szrj { 3138*a9fa9459Szrj { Bad_Opcode }, 3139*a9fa9459Szrj { "vpunpcklqdq", { XM, Vex, EXx }, 0 }, 3140*a9fa9459Szrj }, 3141*a9fa9459Szrj /* EVEX_W_0F6D_P_2 */ 3142*a9fa9459Szrj { 3143*a9fa9459Szrj { Bad_Opcode }, 3144*a9fa9459Szrj { "vpunpckhqdq", { XM, Vex, EXx }, 0 }, 3145*a9fa9459Szrj }, 3146*a9fa9459Szrj /* EVEX_W_0F6E_P_2 */ 3147*a9fa9459Szrj { 3148*a9fa9459Szrj { "vmovd", { XMScalar, Ed }, 0 }, 3149*a9fa9459Szrj { "vmovq", { XMScalar, Eq }, 0 }, 3150*a9fa9459Szrj }, 3151*a9fa9459Szrj /* EVEX_W_0F6F_P_1 */ 3152*a9fa9459Szrj { 3153*a9fa9459Szrj { "vmovdqu32", { XM, EXEvexXNoBcst }, 0 }, 3154*a9fa9459Szrj { "vmovdqu64", { XM, EXEvexXNoBcst }, 0 }, 3155*a9fa9459Szrj }, 3156*a9fa9459Szrj /* EVEX_W_0F6F_P_2 */ 3157*a9fa9459Szrj { 3158*a9fa9459Szrj { "vmovdqa32", { XM, EXEvexXNoBcst }, 0 }, 3159*a9fa9459Szrj { "vmovdqa64", { XM, EXEvexXNoBcst }, 0 }, 3160*a9fa9459Szrj }, 3161*a9fa9459Szrj /* EVEX_W_0F6F_P_3 */ 3162*a9fa9459Szrj { 3163*a9fa9459Szrj { "vmovdqu8", { XM, EXx }, 0 }, 3164*a9fa9459Szrj { "vmovdqu16", { XM, EXx }, 0 }, 3165*a9fa9459Szrj }, 3166*a9fa9459Szrj /* EVEX_W_0F70_P_2 */ 3167*a9fa9459Szrj { 3168*a9fa9459Szrj { "vpshufd", { XM, EXx, Ib }, 0 }, 3169*a9fa9459Szrj }, 3170*a9fa9459Szrj /* EVEX_W_0F72_R_2_P_2 */ 3171*a9fa9459Szrj { 3172*a9fa9459Szrj { "vpsrld", { Vex, EXx, Ib }, 0 }, 3173*a9fa9459Szrj }, 3174*a9fa9459Szrj /* EVEX_W_0F72_R_6_P_2 */ 3175*a9fa9459Szrj { 3176*a9fa9459Szrj { "vpslld", { Vex, EXx, Ib }, 0 }, 3177*a9fa9459Szrj }, 3178*a9fa9459Szrj /* EVEX_W_0F73_R_2_P_2 */ 3179*a9fa9459Szrj { 3180*a9fa9459Szrj { Bad_Opcode }, 3181*a9fa9459Szrj { "vpsrlq", { Vex, EXx, Ib }, 0 }, 3182*a9fa9459Szrj }, 3183*a9fa9459Szrj /* EVEX_W_0F73_R_6_P_2 */ 3184*a9fa9459Szrj { 3185*a9fa9459Szrj { Bad_Opcode }, 3186*a9fa9459Szrj { "vpsllq", { Vex, EXx, Ib }, 0 }, 3187*a9fa9459Szrj }, 3188*a9fa9459Szrj /* EVEX_W_0F76_P_2 */ 3189*a9fa9459Szrj { 3190*a9fa9459Szrj { "vpcmpeqd", { XMask, Vex, EXx }, 0 }, 3191*a9fa9459Szrj }, 3192*a9fa9459Szrj /* EVEX_W_0F78_P_0 */ 3193*a9fa9459Szrj { 3194*a9fa9459Szrj { "vcvttps2udq", { XM, EXx, EXxEVexS }, 0 }, 3195*a9fa9459Szrj { "vcvttpd2udq%XY", { XMxmmq, EXx, EXxEVexS }, 0 }, 3196*a9fa9459Szrj }, 3197*a9fa9459Szrj /* EVEX_W_0F78_P_2 */ 3198*a9fa9459Szrj { 3199*a9fa9459Szrj { "vcvttps2uqq", { XM, EXEvexHalfBcstXmmq, EXxEVexS }, 0 }, 3200*a9fa9459Szrj { "vcvttpd2uqq", { XM, EXx, EXxEVexS }, 0 }, 3201*a9fa9459Szrj }, 3202*a9fa9459Szrj /* EVEX_W_0F79_P_0 */ 3203*a9fa9459Szrj { 3204*a9fa9459Szrj { "vcvtps2udq", { XM, EXx, EXxEVexR }, 0 }, 3205*a9fa9459Szrj { "vcvtpd2udq%XY", { XMxmmq, EXx, EXxEVexR }, 0 }, 3206*a9fa9459Szrj }, 3207*a9fa9459Szrj /* EVEX_W_0F79_P_2 */ 3208*a9fa9459Szrj { 3209*a9fa9459Szrj { "vcvtps2uqq", { XM, EXEvexHalfBcstXmmq, EXxEVexR }, 0 }, 3210*a9fa9459Szrj { "vcvtpd2uqq", { XM, EXx, EXxEVexR }, 0 }, 3211*a9fa9459Szrj }, 3212*a9fa9459Szrj /* EVEX_W_0F7A_P_1 */ 3213*a9fa9459Szrj { 3214*a9fa9459Szrj { "vcvtudq2pd", { XM, EXEvexHalfBcstXmmq }, 0 }, 3215*a9fa9459Szrj { "vcvtuqq2pd", { XM, EXx, EXxEVexR }, 0 }, 3216*a9fa9459Szrj }, 3217*a9fa9459Szrj /* EVEX_W_0F7A_P_2 */ 3218*a9fa9459Szrj { 3219*a9fa9459Szrj { "vcvttps2qq", { XM, EXEvexHalfBcstXmmq, EXxEVexS }, 0 }, 3220*a9fa9459Szrj { "vcvttpd2qq", { XM, EXx, EXxEVexS }, 0 }, 3221*a9fa9459Szrj }, 3222*a9fa9459Szrj /* EVEX_W_0F7A_P_3 */ 3223*a9fa9459Szrj { 3224*a9fa9459Szrj { "vcvtudq2ps", { XM, EXx, EXxEVexR }, 0 }, 3225*a9fa9459Szrj { "vcvtuqq2ps%XY", { XMxmmq, EXx, EXxEVexR }, 0 }, 3226*a9fa9459Szrj }, 3227*a9fa9459Szrj /* EVEX_W_0F7B_P_1 */ 3228*a9fa9459Szrj { 3229*a9fa9459Szrj { "vcvtusi2ss", { XMScalar, VexScalar, EXxEVexR, Ed }, 0 }, 3230*a9fa9459Szrj { "vcvtusi2ss", { XMScalar, VexScalar, EXxEVexR, Eq }, 0 }, 3231*a9fa9459Szrj }, 3232*a9fa9459Szrj /* EVEX_W_0F7B_P_2 */ 3233*a9fa9459Szrj { 3234*a9fa9459Szrj { "vcvtps2qq", { XM, EXEvexHalfBcstXmmq, EXxEVexR }, 0 }, 3235*a9fa9459Szrj { "vcvtpd2qq", { XM, EXx, EXxEVexR }, 0 }, 3236*a9fa9459Szrj }, 3237*a9fa9459Szrj /* EVEX_W_0F7B_P_3 */ 3238*a9fa9459Szrj { 3239*a9fa9459Szrj { "vcvtusi2sd", { XMScalar, VexScalar, Ed }, 0 }, 3240*a9fa9459Szrj { "vcvtusi2sd", { XMScalar, VexScalar, EXxEVexR, Eq }, 0 }, 3241*a9fa9459Szrj }, 3242*a9fa9459Szrj /* EVEX_W_0F7E_P_1 */ 3243*a9fa9459Szrj { 3244*a9fa9459Szrj { Bad_Opcode }, 3245*a9fa9459Szrj { "vmovq", { XMScalar, EXxmm_mq }, 0 }, 3246*a9fa9459Szrj }, 3247*a9fa9459Szrj /* EVEX_W_0F7E_P_2 */ 3248*a9fa9459Szrj { 3249*a9fa9459Szrj { "vmovd", { Ed, XMScalar }, 0 }, 3250*a9fa9459Szrj { "vmovq", { Eq, XMScalar }, 0 }, 3251*a9fa9459Szrj }, 3252*a9fa9459Szrj /* EVEX_W_0F7F_P_1 */ 3253*a9fa9459Szrj { 3254*a9fa9459Szrj { "vmovdqu32", { EXxS, XM }, 0 }, 3255*a9fa9459Szrj { "vmovdqu64", { EXxS, XM }, 0 }, 3256*a9fa9459Szrj }, 3257*a9fa9459Szrj /* EVEX_W_0F7F_P_2 */ 3258*a9fa9459Szrj { 3259*a9fa9459Szrj { "vmovdqa32", { EXxS, XM }, 0 }, 3260*a9fa9459Szrj { "vmovdqa64", { EXxS, XM }, 0 }, 3261*a9fa9459Szrj }, 3262*a9fa9459Szrj /* EVEX_W_0F7F_P_3 */ 3263*a9fa9459Szrj { 3264*a9fa9459Szrj { "vmovdqu8", { EXxS, XM }, 0 }, 3265*a9fa9459Szrj { "vmovdqu16", { EXxS, XM }, 0 }, 3266*a9fa9459Szrj }, 3267*a9fa9459Szrj /* EVEX_W_0FC2_P_0 */ 3268*a9fa9459Szrj { 3269*a9fa9459Szrj { "vcmpps", { XMask, Vex, EXx, EXxEVexS, VCMP }, 0 }, 3270*a9fa9459Szrj }, 3271*a9fa9459Szrj /* EVEX_W_0FC2_P_1 */ 3272*a9fa9459Szrj { 3273*a9fa9459Szrj { "vcmpss", { XMask, VexScalar, EXxmm_md, EXxEVexS, VCMP }, 0 }, 3274*a9fa9459Szrj }, 3275*a9fa9459Szrj /* EVEX_W_0FC2_P_2 */ 3276*a9fa9459Szrj { 3277*a9fa9459Szrj { Bad_Opcode }, 3278*a9fa9459Szrj { "vcmppd", { XMask, Vex, EXx, EXxEVexS, VCMP }, 0 }, 3279*a9fa9459Szrj }, 3280*a9fa9459Szrj /* EVEX_W_0FC2_P_3 */ 3281*a9fa9459Szrj { 3282*a9fa9459Szrj { Bad_Opcode }, 3283*a9fa9459Szrj { "vcmpsd", { XMask, VexScalar, EXxmm_mq, EXxEVexS, VCMP }, 0 }, 3284*a9fa9459Szrj }, 3285*a9fa9459Szrj /* EVEX_W_0FC6_P_0 */ 3286*a9fa9459Szrj { 3287*a9fa9459Szrj { "vshufps", { XM, Vex, EXx, Ib }, 0 }, 3288*a9fa9459Szrj }, 3289*a9fa9459Szrj /* EVEX_W_0FC6_P_2 */ 3290*a9fa9459Szrj { 3291*a9fa9459Szrj { Bad_Opcode }, 3292*a9fa9459Szrj { "vshufpd", { XM, Vex, EXx, Ib }, 0 }, 3293*a9fa9459Szrj }, 3294*a9fa9459Szrj /* EVEX_W_0FD2_P_2 */ 3295*a9fa9459Szrj { 3296*a9fa9459Szrj { "vpsrld", { XM, Vex, EXxmm }, 0 }, 3297*a9fa9459Szrj }, 3298*a9fa9459Szrj /* EVEX_W_0FD3_P_2 */ 3299*a9fa9459Szrj { 3300*a9fa9459Szrj { Bad_Opcode }, 3301*a9fa9459Szrj { "vpsrlq", { XM, Vex, EXxmm }, 0 }, 3302*a9fa9459Szrj }, 3303*a9fa9459Szrj /* EVEX_W_0FD4_P_2 */ 3304*a9fa9459Szrj { 3305*a9fa9459Szrj { Bad_Opcode }, 3306*a9fa9459Szrj { "vpaddq", { XM, Vex, EXx }, 0 }, 3307*a9fa9459Szrj }, 3308*a9fa9459Szrj /* EVEX_W_0FD6_P_2 */ 3309*a9fa9459Szrj { 3310*a9fa9459Szrj { Bad_Opcode }, 3311*a9fa9459Szrj { "vmovq", { EXxmm_mq, XMScalar }, 0 }, 3312*a9fa9459Szrj }, 3313*a9fa9459Szrj /* EVEX_W_0FE6_P_1 */ 3314*a9fa9459Szrj { 3315*a9fa9459Szrj { "vcvtdq2pd", { XM, EXEvexHalfBcstXmmq }, 0 }, 3316*a9fa9459Szrj { "vcvtqq2pd", { XM, EXx, EXxEVexR }, 0 }, 3317*a9fa9459Szrj }, 3318*a9fa9459Szrj /* EVEX_W_0FE6_P_2 */ 3319*a9fa9459Szrj { 3320*a9fa9459Szrj { Bad_Opcode }, 3321*a9fa9459Szrj { "vcvttpd2dq%XY", { XMxmmq, EXx, EXxEVexS }, 0 }, 3322*a9fa9459Szrj }, 3323*a9fa9459Szrj /* EVEX_W_0FE6_P_3 */ 3324*a9fa9459Szrj { 3325*a9fa9459Szrj { Bad_Opcode }, 3326*a9fa9459Szrj { "vcvtpd2dq%XY", { XMxmmq, EXx, EXxEVexR }, 0 }, 3327*a9fa9459Szrj }, 3328*a9fa9459Szrj /* EVEX_W_0FE7_P_2 */ 3329*a9fa9459Szrj { 3330*a9fa9459Szrj { "vmovntdq", { EXEvexXNoBcst, XM }, 0 }, 3331*a9fa9459Szrj }, 3332*a9fa9459Szrj /* EVEX_W_0FF2_P_2 */ 3333*a9fa9459Szrj { 3334*a9fa9459Szrj { "vpslld", { XM, Vex, EXxmm }, 0 }, 3335*a9fa9459Szrj }, 3336*a9fa9459Szrj /* EVEX_W_0FF3_P_2 */ 3337*a9fa9459Szrj { 3338*a9fa9459Szrj { Bad_Opcode }, 3339*a9fa9459Szrj { "vpsllq", { XM, Vex, EXxmm }, 0 }, 3340*a9fa9459Szrj }, 3341*a9fa9459Szrj /* EVEX_W_0FF4_P_2 */ 3342*a9fa9459Szrj { 3343*a9fa9459Szrj { Bad_Opcode }, 3344*a9fa9459Szrj { "vpmuludq", { XM, Vex, EXx }, 0 }, 3345*a9fa9459Szrj }, 3346*a9fa9459Szrj /* EVEX_W_0FFA_P_2 */ 3347*a9fa9459Szrj { 3348*a9fa9459Szrj { "vpsubd", { XM, Vex, EXx }, 0 }, 3349*a9fa9459Szrj }, 3350*a9fa9459Szrj /* EVEX_W_0FFB_P_2 */ 3351*a9fa9459Szrj { 3352*a9fa9459Szrj { Bad_Opcode }, 3353*a9fa9459Szrj { "vpsubq", { XM, Vex, EXx }, 0 }, 3354*a9fa9459Szrj }, 3355*a9fa9459Szrj /* EVEX_W_0FFE_P_2 */ 3356*a9fa9459Szrj { 3357*a9fa9459Szrj { "vpaddd", { XM, Vex, EXx }, 0 }, 3358*a9fa9459Szrj }, 3359*a9fa9459Szrj /* EVEX_W_0F380C_P_2 */ 3360*a9fa9459Szrj { 3361*a9fa9459Szrj { "vpermilps", { XM, Vex, EXx }, 0 }, 3362*a9fa9459Szrj }, 3363*a9fa9459Szrj /* EVEX_W_0F380D_P_2 */ 3364*a9fa9459Szrj { 3365*a9fa9459Szrj { Bad_Opcode }, 3366*a9fa9459Szrj { "vpermilpd", { XM, Vex, EXx }, 0 }, 3367*a9fa9459Szrj }, 3368*a9fa9459Szrj /* EVEX_W_0F3810_P_1 */ 3369*a9fa9459Szrj { 3370*a9fa9459Szrj { "vpmovuswb", { EXxmmq, XM }, 0 }, 3371*a9fa9459Szrj }, 3372*a9fa9459Szrj /* EVEX_W_0F3810_P_2 */ 3373*a9fa9459Szrj { 3374*a9fa9459Szrj { Bad_Opcode }, 3375*a9fa9459Szrj { "vpsrlvw", { XM, Vex, EXx }, 0 }, 3376*a9fa9459Szrj }, 3377*a9fa9459Szrj /* EVEX_W_0F3811_P_1 */ 3378*a9fa9459Szrj { 3379*a9fa9459Szrj { "vpmovusdb", { EXxmmqd, XM }, 0 }, 3380*a9fa9459Szrj }, 3381*a9fa9459Szrj /* EVEX_W_0F3811_P_2 */ 3382*a9fa9459Szrj { 3383*a9fa9459Szrj { Bad_Opcode }, 3384*a9fa9459Szrj { "vpsravw", { XM, Vex, EXx }, 0 }, 3385*a9fa9459Szrj }, 3386*a9fa9459Szrj /* EVEX_W_0F3812_P_1 */ 3387*a9fa9459Szrj { 3388*a9fa9459Szrj { "vpmovusqb", { EXxmmdw, XM }, 0 }, 3389*a9fa9459Szrj }, 3390*a9fa9459Szrj /* EVEX_W_0F3812_P_2 */ 3391*a9fa9459Szrj { 3392*a9fa9459Szrj { Bad_Opcode }, 3393*a9fa9459Szrj { "vpsllvw", { XM, Vex, EXx }, 0 }, 3394*a9fa9459Szrj }, 3395*a9fa9459Szrj /* EVEX_W_0F3813_P_1 */ 3396*a9fa9459Szrj { 3397*a9fa9459Szrj { "vpmovusdw", { EXxmmq, XM }, 0 }, 3398*a9fa9459Szrj }, 3399*a9fa9459Szrj /* EVEX_W_0F3813_P_2 */ 3400*a9fa9459Szrj { 3401*a9fa9459Szrj { "vcvtph2ps", { XM, EXxmmq, EXxEVexS }, 0 }, 3402*a9fa9459Szrj }, 3403*a9fa9459Szrj /* EVEX_W_0F3814_P_1 */ 3404*a9fa9459Szrj { 3405*a9fa9459Szrj { "vpmovusqw", { EXxmmqd, XM }, 0 }, 3406*a9fa9459Szrj }, 3407*a9fa9459Szrj /* EVEX_W_0F3815_P_1 */ 3408*a9fa9459Szrj { 3409*a9fa9459Szrj { "vpmovusqd", { EXxmmq, XM }, 0 }, 3410*a9fa9459Szrj }, 3411*a9fa9459Szrj /* EVEX_W_0F3818_P_2 */ 3412*a9fa9459Szrj { 3413*a9fa9459Szrj { "vbroadcastss", { XM, EXxmm_md }, 0 }, 3414*a9fa9459Szrj }, 3415*a9fa9459Szrj /* EVEX_W_0F3819_P_2 */ 3416*a9fa9459Szrj { 3417*a9fa9459Szrj { "vbroadcastf32x2", { XM, EXxmm_mq }, 0 }, 3418*a9fa9459Szrj { "vbroadcastsd", { XM, EXxmm_mq }, 0 }, 3419*a9fa9459Szrj }, 3420*a9fa9459Szrj /* EVEX_W_0F381A_P_2 */ 3421*a9fa9459Szrj { 3422*a9fa9459Szrj { "vbroadcastf32x4", { XM, EXxmm }, 0 }, 3423*a9fa9459Szrj { "vbroadcastf64x2", { XM, EXxmm }, 0 }, 3424*a9fa9459Szrj }, 3425*a9fa9459Szrj /* EVEX_W_0F381B_P_2 */ 3426*a9fa9459Szrj { 3427*a9fa9459Szrj { "vbroadcastf32x8", { XM, EXxmmq }, 0 }, 3428*a9fa9459Szrj { "vbroadcastf64x4", { XM, EXymm }, 0 }, 3429*a9fa9459Szrj }, 3430*a9fa9459Szrj /* EVEX_W_0F381E_P_2 */ 3431*a9fa9459Szrj { 3432*a9fa9459Szrj { "vpabsd", { XM, EXx }, 0 }, 3433*a9fa9459Szrj }, 3434*a9fa9459Szrj /* EVEX_W_0F381F_P_2 */ 3435*a9fa9459Szrj { 3436*a9fa9459Szrj { Bad_Opcode }, 3437*a9fa9459Szrj { "vpabsq", { XM, EXx }, 0 }, 3438*a9fa9459Szrj }, 3439*a9fa9459Szrj /* EVEX_W_0F3820_P_1 */ 3440*a9fa9459Szrj { 3441*a9fa9459Szrj { "vpmovswb", { EXxmmq, XM }, 0 }, 3442*a9fa9459Szrj }, 3443*a9fa9459Szrj /* EVEX_W_0F3821_P_1 */ 3444*a9fa9459Szrj { 3445*a9fa9459Szrj { "vpmovsdb", { EXxmmqd, XM }, 0 }, 3446*a9fa9459Szrj }, 3447*a9fa9459Szrj /* EVEX_W_0F3822_P_1 */ 3448*a9fa9459Szrj { 3449*a9fa9459Szrj { "vpmovsqb", { EXxmmdw, XM }, 0 }, 3450*a9fa9459Szrj }, 3451*a9fa9459Szrj /* EVEX_W_0F3823_P_1 */ 3452*a9fa9459Szrj { 3453*a9fa9459Szrj { "vpmovsdw", { EXxmmq, XM }, 0 }, 3454*a9fa9459Szrj }, 3455*a9fa9459Szrj /* EVEX_W_0F3824_P_1 */ 3456*a9fa9459Szrj { 3457*a9fa9459Szrj { "vpmovsqw", { EXxmmqd, XM }, 0 }, 3458*a9fa9459Szrj }, 3459*a9fa9459Szrj /* EVEX_W_0F3825_P_1 */ 3460*a9fa9459Szrj { 3461*a9fa9459Szrj { "vpmovsqd", { EXxmmq, XM }, 0 }, 3462*a9fa9459Szrj }, 3463*a9fa9459Szrj /* EVEX_W_0F3825_P_2 */ 3464*a9fa9459Szrj { 3465*a9fa9459Szrj { "vpmovsxdq", { XM, EXxmmq }, 0 }, 3466*a9fa9459Szrj }, 3467*a9fa9459Szrj /* EVEX_W_0F3826_P_1 */ 3468*a9fa9459Szrj { 3469*a9fa9459Szrj { "vptestnmb", { XMask, Vex, EXx }, 0 }, 3470*a9fa9459Szrj { "vptestnmw", { XMask, Vex, EXx }, 0 }, 3471*a9fa9459Szrj }, 3472*a9fa9459Szrj /* EVEX_W_0F3826_P_2 */ 3473*a9fa9459Szrj { 3474*a9fa9459Szrj { "vptestmb", { XMask, Vex, EXx }, 0 }, 3475*a9fa9459Szrj { "vptestmw", { XMask, Vex, EXx }, 0 }, 3476*a9fa9459Szrj }, 3477*a9fa9459Szrj /* EVEX_W_0F3828_P_1 */ 3478*a9fa9459Szrj { 3479*a9fa9459Szrj { "vpmovm2b", { XM, MaskR }, 0 }, 3480*a9fa9459Szrj { "vpmovm2w", { XM, MaskR }, 0 }, 3481*a9fa9459Szrj }, 3482*a9fa9459Szrj /* EVEX_W_0F3828_P_2 */ 3483*a9fa9459Szrj { 3484*a9fa9459Szrj { Bad_Opcode }, 3485*a9fa9459Szrj { "vpmuldq", { XM, Vex, EXx }, 0 }, 3486*a9fa9459Szrj }, 3487*a9fa9459Szrj /* EVEX_W_0F3829_P_1 */ 3488*a9fa9459Szrj { 3489*a9fa9459Szrj { "vpmovb2m", { XMask, EXx }, 0 }, 3490*a9fa9459Szrj { "vpmovw2m", { XMask, EXx }, 0 }, 3491*a9fa9459Szrj }, 3492*a9fa9459Szrj /* EVEX_W_0F3829_P_2 */ 3493*a9fa9459Szrj { 3494*a9fa9459Szrj { Bad_Opcode }, 3495*a9fa9459Szrj { "vpcmpeqq", { XMask, Vex, EXx }, 0 }, 3496*a9fa9459Szrj }, 3497*a9fa9459Szrj /* EVEX_W_0F382A_P_1 */ 3498*a9fa9459Szrj { 3499*a9fa9459Szrj { Bad_Opcode }, 3500*a9fa9459Szrj { "vpbroadcastmb2q", { XM, MaskR }, 0 }, 3501*a9fa9459Szrj }, 3502*a9fa9459Szrj /* EVEX_W_0F382A_P_2 */ 3503*a9fa9459Szrj { 3504*a9fa9459Szrj { "vmovntdqa", { XM, EXEvexXNoBcst }, 0 }, 3505*a9fa9459Szrj }, 3506*a9fa9459Szrj /* EVEX_W_0F382B_P_2 */ 3507*a9fa9459Szrj { 3508*a9fa9459Szrj { "vpackusdw", { XM, Vex, EXx }, 0 }, 3509*a9fa9459Szrj }, 3510*a9fa9459Szrj /* EVEX_W_0F3830_P_1 */ 3511*a9fa9459Szrj { 3512*a9fa9459Szrj { "vpmovwb", { EXxmmq, XM }, 0 }, 3513*a9fa9459Szrj }, 3514*a9fa9459Szrj /* EVEX_W_0F3831_P_1 */ 3515*a9fa9459Szrj { 3516*a9fa9459Szrj { "vpmovdb", { EXxmmqd, XM }, 0 }, 3517*a9fa9459Szrj }, 3518*a9fa9459Szrj /* EVEX_W_0F3832_P_1 */ 3519*a9fa9459Szrj { 3520*a9fa9459Szrj { "vpmovqb", { EXxmmdw, XM }, 0 }, 3521*a9fa9459Szrj }, 3522*a9fa9459Szrj /* EVEX_W_0F3833_P_1 */ 3523*a9fa9459Szrj { 3524*a9fa9459Szrj { "vpmovdw", { EXxmmq, XM }, 0 }, 3525*a9fa9459Szrj }, 3526*a9fa9459Szrj /* EVEX_W_0F3834_P_1 */ 3527*a9fa9459Szrj { 3528*a9fa9459Szrj { "vpmovqw", { EXxmmqd, XM }, 0 }, 3529*a9fa9459Szrj }, 3530*a9fa9459Szrj /* EVEX_W_0F3835_P_1 */ 3531*a9fa9459Szrj { 3532*a9fa9459Szrj { "vpmovqd", { EXxmmq, XM }, 0 }, 3533*a9fa9459Szrj }, 3534*a9fa9459Szrj /* EVEX_W_0F3835_P_2 */ 3535*a9fa9459Szrj { 3536*a9fa9459Szrj { "vpmovzxdq", { XM, EXxmmq }, 0 }, 3537*a9fa9459Szrj }, 3538*a9fa9459Szrj /* EVEX_W_0F3837_P_2 */ 3539*a9fa9459Szrj { 3540*a9fa9459Szrj { Bad_Opcode }, 3541*a9fa9459Szrj { "vpcmpgtq", { XMask, Vex, EXx }, 0 }, 3542*a9fa9459Szrj }, 3543*a9fa9459Szrj /* EVEX_W_0F3838_P_1 */ 3544*a9fa9459Szrj { 3545*a9fa9459Szrj { "vpmovm2d", { XM, MaskR }, 0 }, 3546*a9fa9459Szrj { "vpmovm2q", { XM, MaskR }, 0 }, 3547*a9fa9459Szrj }, 3548*a9fa9459Szrj /* EVEX_W_0F3839_P_1 */ 3549*a9fa9459Szrj { 3550*a9fa9459Szrj { "vpmovd2m", { XMask, EXx }, 0 }, 3551*a9fa9459Szrj { "vpmovq2m", { XMask, EXx }, 0 }, 3552*a9fa9459Szrj }, 3553*a9fa9459Szrj /* EVEX_W_0F383A_P_1 */ 3554*a9fa9459Szrj { 3555*a9fa9459Szrj { "vpbroadcastmw2d", { XM, MaskR }, 0 }, 3556*a9fa9459Szrj }, 3557*a9fa9459Szrj /* EVEX_W_0F3840_P_2 */ 3558*a9fa9459Szrj { 3559*a9fa9459Szrj { "vpmulld", { XM, Vex, EXx }, 0 }, 3560*a9fa9459Szrj { "vpmullq", { XM, Vex, EXx }, 0 }, 3561*a9fa9459Szrj }, 3562*a9fa9459Szrj /* EVEX_W_0F3858_P_2 */ 3563*a9fa9459Szrj { 3564*a9fa9459Szrj { "vpbroadcastd", { XM, EXxmm_md }, 0 }, 3565*a9fa9459Szrj }, 3566*a9fa9459Szrj /* EVEX_W_0F3859_P_2 */ 3567*a9fa9459Szrj { 3568*a9fa9459Szrj { "vbroadcasti32x2", { XM, EXxmm_mq }, 0 }, 3569*a9fa9459Szrj { "vpbroadcastq", { XM, EXxmm_mq }, 0 }, 3570*a9fa9459Szrj }, 3571*a9fa9459Szrj /* EVEX_W_0F385A_P_2 */ 3572*a9fa9459Szrj { 3573*a9fa9459Szrj { "vbroadcasti32x4", { XM, EXxmm }, 0 }, 3574*a9fa9459Szrj { "vbroadcasti64x2", { XM, EXxmm }, 0 }, 3575*a9fa9459Szrj }, 3576*a9fa9459Szrj /* EVEX_W_0F385B_P_2 */ 3577*a9fa9459Szrj { 3578*a9fa9459Szrj { "vbroadcasti32x8", { XM, EXxmmq }, 0 }, 3579*a9fa9459Szrj { "vbroadcasti64x4", { XM, EXymm }, 0 }, 3580*a9fa9459Szrj }, 3581*a9fa9459Szrj /* EVEX_W_0F3866_P_2 */ 3582*a9fa9459Szrj { 3583*a9fa9459Szrj { "vpblendmb", { XM, Vex, EXx }, 0 }, 3584*a9fa9459Szrj { "vpblendmw", { XM, Vex, EXx }, 0 }, 3585*a9fa9459Szrj }, 3586*a9fa9459Szrj /* EVEX_W_0F3875_P_2 */ 3587*a9fa9459Szrj { 3588*a9fa9459Szrj { "vpermi2b", { XM, Vex, EXx }, 0 }, 3589*a9fa9459Szrj { "vpermi2w", { XM, Vex, EXx }, 0 }, 3590*a9fa9459Szrj }, 3591*a9fa9459Szrj /* EVEX_W_0F3878_P_2 */ 3592*a9fa9459Szrj { 3593*a9fa9459Szrj { "vpbroadcastb", { XM, EXxmm_mb }, 0 }, 3594*a9fa9459Szrj }, 3595*a9fa9459Szrj /* EVEX_W_0F3879_P_2 */ 3596*a9fa9459Szrj { 3597*a9fa9459Szrj { "vpbroadcastw", { XM, EXxmm_mw }, 0 }, 3598*a9fa9459Szrj }, 3599*a9fa9459Szrj /* EVEX_W_0F387A_P_2 */ 3600*a9fa9459Szrj { 3601*a9fa9459Szrj { "vpbroadcastb", { XM, Rd }, 0 }, 3602*a9fa9459Szrj }, 3603*a9fa9459Szrj /* EVEX_W_0F387B_P_2 */ 3604*a9fa9459Szrj { 3605*a9fa9459Szrj { "vpbroadcastw", { XM, Rd }, 0 }, 3606*a9fa9459Szrj }, 3607*a9fa9459Szrj /* EVEX_W_0F387D_P_2 */ 3608*a9fa9459Szrj { 3609*a9fa9459Szrj { "vpermt2b", { XM, Vex, EXx }, 0 }, 3610*a9fa9459Szrj { "vpermt2w", { XM, Vex, EXx }, 0 }, 3611*a9fa9459Szrj }, 3612*a9fa9459Szrj /* EVEX_W_0F3883_P_2 */ 3613*a9fa9459Szrj { 3614*a9fa9459Szrj { Bad_Opcode }, 3615*a9fa9459Szrj { "vpmultishiftqb", { XM, Vex, EXx }, 0 }, 3616*a9fa9459Szrj }, 3617*a9fa9459Szrj /* EVEX_W_0F388D_P_2 */ 3618*a9fa9459Szrj { 3619*a9fa9459Szrj { "vpermb", { XM, Vex, EXx }, 0 }, 3620*a9fa9459Szrj { "vpermw", { XM, Vex, EXx }, 0 }, 3621*a9fa9459Szrj }, 3622*a9fa9459Szrj /* EVEX_W_0F3891_P_2 */ 3623*a9fa9459Szrj { 3624*a9fa9459Szrj { "vpgatherqd", { XMxmmq, MVexVSIBQDWpX }, 0 }, 3625*a9fa9459Szrj { "vpgatherqq", { XM, MVexVSIBQWpX }, 0 }, 3626*a9fa9459Szrj }, 3627*a9fa9459Szrj /* EVEX_W_0F3893_P_2 */ 3628*a9fa9459Szrj { 3629*a9fa9459Szrj { "vgatherqps", { XMxmmq, MVexVSIBQDWpX }, 0 }, 3630*a9fa9459Szrj { "vgatherqpd", { XM, MVexVSIBQWpX }, 0 }, 3631*a9fa9459Szrj }, 3632*a9fa9459Szrj /* EVEX_W_0F38A1_P_2 */ 3633*a9fa9459Szrj { 3634*a9fa9459Szrj { "vpscatterqd", { MVexVSIBQDWpX, XMxmmq }, 0 }, 3635*a9fa9459Szrj { "vpscatterqq", { MVexVSIBQWpX, XM }, 0 }, 3636*a9fa9459Szrj }, 3637*a9fa9459Szrj /* EVEX_W_0F38A3_P_2 */ 3638*a9fa9459Szrj { 3639*a9fa9459Szrj { "vscatterqps", { MVexVSIBQDWpX, XMxmmq }, 0 }, 3640*a9fa9459Szrj { "vscatterqpd", { MVexVSIBQWpX, XM }, 0 }, 3641*a9fa9459Szrj }, 3642*a9fa9459Szrj /* EVEX_W_0F38C7_R_1_P_2 */ 3643*a9fa9459Szrj { 3644*a9fa9459Szrj { "vgatherpf0qps", { MVexVSIBDQWpX }, 0 }, 3645*a9fa9459Szrj { "vgatherpf0qpd", { MVexVSIBQWpX }, 0 }, 3646*a9fa9459Szrj }, 3647*a9fa9459Szrj /* EVEX_W_0F38C7_R_2_P_2 */ 3648*a9fa9459Szrj { 3649*a9fa9459Szrj { "vgatherpf1qps", { MVexVSIBDQWpX }, 0 }, 3650*a9fa9459Szrj { "vgatherpf1qpd", { MVexVSIBQWpX }, 0 }, 3651*a9fa9459Szrj }, 3652*a9fa9459Szrj /* EVEX_W_0F38C7_R_5_P_2 */ 3653*a9fa9459Szrj { 3654*a9fa9459Szrj { "vscatterpf0qps", { MVexVSIBDQWpX }, 0 }, 3655*a9fa9459Szrj { "vscatterpf0qpd", { MVexVSIBQWpX }, 0 }, 3656*a9fa9459Szrj }, 3657*a9fa9459Szrj /* EVEX_W_0F38C7_R_6_P_2 */ 3658*a9fa9459Szrj { 3659*a9fa9459Szrj { "vscatterpf1qps", { MVexVSIBDQWpX }, 0 }, 3660*a9fa9459Szrj { "vscatterpf1qpd", { MVexVSIBQWpX }, 0 }, 3661*a9fa9459Szrj }, 3662*a9fa9459Szrj /* EVEX_W_0F3A00_P_2 */ 3663*a9fa9459Szrj { 3664*a9fa9459Szrj { Bad_Opcode }, 3665*a9fa9459Szrj { "vpermq", { XM, EXx, Ib }, 0 }, 3666*a9fa9459Szrj }, 3667*a9fa9459Szrj /* EVEX_W_0F3A01_P_2 */ 3668*a9fa9459Szrj { 3669*a9fa9459Szrj { Bad_Opcode }, 3670*a9fa9459Szrj { "vpermpd", { XM, EXx, Ib }, 0 }, 3671*a9fa9459Szrj }, 3672*a9fa9459Szrj /* EVEX_W_0F3A04_P_2 */ 3673*a9fa9459Szrj { 3674*a9fa9459Szrj { "vpermilps", { XM, EXx, Ib }, 0 }, 3675*a9fa9459Szrj }, 3676*a9fa9459Szrj /* EVEX_W_0F3A05_P_2 */ 3677*a9fa9459Szrj { 3678*a9fa9459Szrj { Bad_Opcode }, 3679*a9fa9459Szrj { "vpermilpd", { XM, EXx, Ib }, 0 }, 3680*a9fa9459Szrj }, 3681*a9fa9459Szrj /* EVEX_W_0F3A08_P_2 */ 3682*a9fa9459Szrj { 3683*a9fa9459Szrj { "vrndscaleps", { XM, EXx, EXxEVexS, Ib }, 0 }, 3684*a9fa9459Szrj }, 3685*a9fa9459Szrj /* EVEX_W_0F3A09_P_2 */ 3686*a9fa9459Szrj { 3687*a9fa9459Szrj { Bad_Opcode }, 3688*a9fa9459Szrj { "vrndscalepd", { XM, EXx, EXxEVexS, Ib }, 0 }, 3689*a9fa9459Szrj }, 3690*a9fa9459Szrj /* EVEX_W_0F3A0A_P_2 */ 3691*a9fa9459Szrj { 3692*a9fa9459Szrj { "vrndscaless", { XMScalar, VexScalar, EXxmm_md, EXxEVexS, Ib }, 0 }, 3693*a9fa9459Szrj }, 3694*a9fa9459Szrj /* EVEX_W_0F3A0B_P_2 */ 3695*a9fa9459Szrj { 3696*a9fa9459Szrj { Bad_Opcode }, 3697*a9fa9459Szrj { "vrndscalesd", { XMScalar, VexScalar, EXxmm_mq, EXxEVexS, Ib }, 0 }, 3698*a9fa9459Szrj }, 3699*a9fa9459Szrj /* EVEX_W_0F3A16_P_2 */ 3700*a9fa9459Szrj { 3701*a9fa9459Szrj { "vpextrd", { Edqd, XM, Ib }, 0 }, 3702*a9fa9459Szrj { "vpextrq", { Eq, XM, Ib }, 0 }, 3703*a9fa9459Szrj }, 3704*a9fa9459Szrj /* EVEX_W_0F3A18_P_2 */ 3705*a9fa9459Szrj { 3706*a9fa9459Szrj { "vinsertf32x4", { XM, Vex, EXxmm, Ib }, 0 }, 3707*a9fa9459Szrj { "vinsertf64x2", { XM, Vex, EXxmm, Ib }, 0 }, 3708*a9fa9459Szrj }, 3709*a9fa9459Szrj /* EVEX_W_0F3A19_P_2 */ 3710*a9fa9459Szrj { 3711*a9fa9459Szrj { "vextractf32x4", { EXxmm, XM, Ib }, 0 }, 3712*a9fa9459Szrj { "vextractf64x2", { EXxmm, XM, Ib }, 0 }, 3713*a9fa9459Szrj }, 3714*a9fa9459Szrj /* EVEX_W_0F3A1A_P_2 */ 3715*a9fa9459Szrj { 3716*a9fa9459Szrj { "vinsertf32x8", { XM, Vex, EXxmmq, Ib }, 0 }, 3717*a9fa9459Szrj { "vinsertf64x4", { XM, Vex, EXxmmq, Ib }, 0 }, 3718*a9fa9459Szrj }, 3719*a9fa9459Szrj /* EVEX_W_0F3A1B_P_2 */ 3720*a9fa9459Szrj { 3721*a9fa9459Szrj { "vextractf32x8", { EXxmmq, XM, Ib }, 0 }, 3722*a9fa9459Szrj { "vextractf64x4", { EXxmmq, XM, Ib }, 0 }, 3723*a9fa9459Szrj }, 3724*a9fa9459Szrj /* EVEX_W_0F3A1D_P_2 */ 3725*a9fa9459Szrj { 3726*a9fa9459Szrj { "vcvtps2ph", { EXxmmq, XM, EXxEVexS, Ib }, 0 }, 3727*a9fa9459Szrj }, 3728*a9fa9459Szrj /* EVEX_W_0F3A21_P_2 */ 3729*a9fa9459Szrj { 3730*a9fa9459Szrj { "vinsertps", { XMM, Vex, EXxmm_md, Ib }, 0 }, 3731*a9fa9459Szrj }, 3732*a9fa9459Szrj /* EVEX_W_0F3A22_P_2 */ 3733*a9fa9459Szrj { 3734*a9fa9459Szrj { "vpinsrd", { XM, Vex128, Edqd, Ib }, 0 }, 3735*a9fa9459Szrj { "vpinsrq", { XM, Vex128, Eq, Ib }, 0 }, 3736*a9fa9459Szrj }, 3737*a9fa9459Szrj /* EVEX_W_0F3A23_P_2 */ 3738*a9fa9459Szrj { 3739*a9fa9459Szrj { "vshuff32x4", { XM, Vex, EXx, Ib }, 0 }, 3740*a9fa9459Szrj { "vshuff64x2", { XM, Vex, EXx, Ib }, 0 }, 3741*a9fa9459Szrj }, 3742*a9fa9459Szrj /* EVEX_W_0F3A38_P_2 */ 3743*a9fa9459Szrj { 3744*a9fa9459Szrj { "vinserti32x4", { XM, Vex, EXxmm, Ib }, 0 }, 3745*a9fa9459Szrj { "vinserti64x2", { XM, Vex, EXxmm, Ib }, 0 }, 3746*a9fa9459Szrj }, 3747*a9fa9459Szrj /* EVEX_W_0F3A39_P_2 */ 3748*a9fa9459Szrj { 3749*a9fa9459Szrj { "vextracti32x4", { EXxmm, XM, Ib }, 0 }, 3750*a9fa9459Szrj { "vextracti64x2", { EXxmm, XM, Ib }, 0 }, 3751*a9fa9459Szrj }, 3752*a9fa9459Szrj /* EVEX_W_0F3A3A_P_2 */ 3753*a9fa9459Szrj { 3754*a9fa9459Szrj { "vinserti32x8", { XM, Vex, EXxmmq, Ib }, 0 }, 3755*a9fa9459Szrj { "vinserti64x4", { XM, Vex, EXxmmq, Ib }, 0 }, 3756*a9fa9459Szrj }, 3757*a9fa9459Szrj /* EVEX_W_0F3A3B_P_2 */ 3758*a9fa9459Szrj { 3759*a9fa9459Szrj { "vextracti32x8", { EXxmmq, XM, Ib }, 0 }, 3760*a9fa9459Szrj { "vextracti64x4", { EXxmmq, XM, Ib }, 0 }, 3761*a9fa9459Szrj }, 3762*a9fa9459Szrj /* EVEX_W_0F3A3E_P_2 */ 3763*a9fa9459Szrj { 3764*a9fa9459Szrj { "vpcmpub", { XMask, Vex, EXx, Ib }, 0 }, 3765*a9fa9459Szrj { "vpcmpuw", { XMask, Vex, EXx, Ib }, 0 }, 3766*a9fa9459Szrj }, 3767*a9fa9459Szrj /* EVEX_W_0F3A3F_P_2 */ 3768*a9fa9459Szrj { 3769*a9fa9459Szrj { "vpcmpb", { XMask, Vex, EXx, Ib }, 0 }, 3770*a9fa9459Szrj { "vpcmpw", { XMask, Vex, EXx, Ib }, 0 }, 3771*a9fa9459Szrj }, 3772*a9fa9459Szrj /* EVEX_W_0F3A42_P_2 */ 3773*a9fa9459Szrj { 3774*a9fa9459Szrj { "vdbpsadbw", { XM, Vex, EXx, Ib }, 0 }, 3775*a9fa9459Szrj }, 3776*a9fa9459Szrj /* EVEX_W_0F3A43_P_2 */ 3777*a9fa9459Szrj { 3778*a9fa9459Szrj { "vshufi32x4", { XM, Vex, EXx, Ib }, 0 }, 3779*a9fa9459Szrj { "vshufi64x2", { XM, Vex, EXx, Ib }, 0 }, 3780*a9fa9459Szrj }, 3781*a9fa9459Szrj /* EVEX_W_0F3A50_P_2 */ 3782*a9fa9459Szrj { 3783*a9fa9459Szrj { "vrangeps", { XM, Vex, EXx, EXxEVexS, Ib }, 0 }, 3784*a9fa9459Szrj { "vrangepd", { XM, Vex, EXx, EXxEVexS, Ib }, 0 }, 3785*a9fa9459Szrj }, 3786*a9fa9459Szrj /* EVEX_W_0F3A51_P_2 */ 3787*a9fa9459Szrj { 3788*a9fa9459Szrj { "vrangess", { XMScalar, VexScalar, EXxmm_md, EXxEVexS, Ib }, 0 }, 3789*a9fa9459Szrj { "vrangesd", { XMScalar, VexScalar, EXxmm_mq, EXxEVexS, Ib }, 0 }, 3790*a9fa9459Szrj }, 3791*a9fa9459Szrj /* EVEX_W_0F3A56_P_2 */ 3792*a9fa9459Szrj { 3793*a9fa9459Szrj { "vreduceps", { XM, EXx, EXxEVexS, Ib }, 0 }, 3794*a9fa9459Szrj { "vreducepd", { XM, EXx, EXxEVexS, Ib }, 0 }, 3795*a9fa9459Szrj }, 3796*a9fa9459Szrj /* EVEX_W_0F3A57_P_2 */ 3797*a9fa9459Szrj { 3798*a9fa9459Szrj { "vreducess", { XMScalar, VexScalar, EXxmm_md, EXxEVexS, Ib }, 0 }, 3799*a9fa9459Szrj { "vreducesd", { XMScalar, VexScalar, EXxmm_mq, EXxEVexS, Ib }, 0 }, 3800*a9fa9459Szrj }, 3801*a9fa9459Szrj /* EVEX_W_0F3A66_P_2 */ 3802*a9fa9459Szrj { 3803*a9fa9459Szrj { "vfpclassps%XZ", { XMask, EXx, Ib }, 0 }, 3804*a9fa9459Szrj { "vfpclasspd%XZ", { XMask, EXx, Ib }, 0 }, 3805*a9fa9459Szrj }, 3806*a9fa9459Szrj /* EVEX_W_0F3A67_P_2 */ 3807*a9fa9459Szrj { 3808*a9fa9459Szrj { "vfpclassss", { XMask, EXxmm_md, Ib }, 0 }, 3809*a9fa9459Szrj { "vfpclasssd", { XMask, EXxmm_mq, Ib }, 0 }, 3810*a9fa9459Szrj }, 3811*a9fa9459Szrj #endif /* NEED_VEX_W_TABLE */ 3812*a9fa9459Szrj #ifdef NEED_MOD_TABLE 3813*a9fa9459Szrj { 3814*a9fa9459Szrj /* MOD_EVEX_0F10_PREFIX_1 */ 3815*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0F10_P_1_M_0) }, 3816*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0F10_P_1_M_1) }, 3817*a9fa9459Szrj }, 3818*a9fa9459Szrj { 3819*a9fa9459Szrj /* MOD_EVEX_0F10_PREFIX_3 */ 3820*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0F10_P_3_M_0) }, 3821*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0F10_P_3_M_1) }, 3822*a9fa9459Szrj }, 3823*a9fa9459Szrj { 3824*a9fa9459Szrj /* MOD_EVEX_0F11_PREFIX_1 */ 3825*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0F11_P_1_M_0) }, 3826*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0F11_P_1_M_1) }, 3827*a9fa9459Szrj }, 3828*a9fa9459Szrj { 3829*a9fa9459Szrj /* MOD_EVEX_0F11_PREFIX_3 */ 3830*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0F11_P_3_M_0) }, 3831*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0F11_P_3_M_1) }, 3832*a9fa9459Szrj }, 3833*a9fa9459Szrj { 3834*a9fa9459Szrj /* MOD_EVEX_0F12_PREFIX_0 */ 3835*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0F12_P_0_M_0) }, 3836*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0F12_P_0_M_1) }, 3837*a9fa9459Szrj }, 3838*a9fa9459Szrj { 3839*a9fa9459Szrj /* MOD_EVEX_0F16_PREFIX_0 */ 3840*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0F16_P_0_M_0) }, 3841*a9fa9459Szrj { VEX_W_TABLE (EVEX_W_0F16_P_0_M_1) }, 3842*a9fa9459Szrj }, 3843*a9fa9459Szrj { 3844*a9fa9459Szrj /* MOD_EVEX_0F38C6_REG_1 */ 3845*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F38C6_REG_1) }, 3846*a9fa9459Szrj }, 3847*a9fa9459Szrj { 3848*a9fa9459Szrj /* MOD_EVEX_0F38C6_REG_2 */ 3849*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F38C6_REG_2) }, 3850*a9fa9459Szrj }, 3851*a9fa9459Szrj { 3852*a9fa9459Szrj /* MOD_EVEX_0F38C6_REG_5 */ 3853*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F38C6_REG_5) }, 3854*a9fa9459Szrj }, 3855*a9fa9459Szrj { 3856*a9fa9459Szrj /* MOD_EVEX_0F38C6_REG_6 */ 3857*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F38C6_REG_6) }, 3858*a9fa9459Szrj }, 3859*a9fa9459Szrj { 3860*a9fa9459Szrj /* MOD_EVEX_0F38C7_REG_1 */ 3861*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F38C7_REG_1) }, 3862*a9fa9459Szrj }, 3863*a9fa9459Szrj { 3864*a9fa9459Szrj /* MOD_EVEX_0F38C7_REG_2 */ 3865*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F38C7_REG_2) }, 3866*a9fa9459Szrj }, 3867*a9fa9459Szrj { 3868*a9fa9459Szrj /* MOD_EVEX_0F38C7_REG_5 */ 3869*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F38C7_REG_5) }, 3870*a9fa9459Szrj }, 3871*a9fa9459Szrj { 3872*a9fa9459Szrj /* MOD_EVEX_0F38C7_REG_6 */ 3873*a9fa9459Szrj { PREFIX_TABLE (PREFIX_EVEX_0F38C7_REG_6) }, 3874*a9fa9459Szrj }, 3875*a9fa9459Szrj #endif /* NEED_MOD_TABLE */ 3876