1///////////////////////////////////////////////////////////////////////// 2// $Id: dis_tables_avx.inc 11878 2013-10-11 20:09:51Z sshwarts $ 3///////////////////////////////////////////////////////////////////////// 4// 5// Copyright (c) 2011 Stanislav Shwartsman 6// Written by Stanislav Shwartsman [sshwarts at sourceforge net] 7// 8// This library is free software; you can redistribute it and/or 9// modify it under the terms of the GNU Lesser General Public 10// License as published by the Free Software Foundation; either 11// version 2 of the License, or (at your option) any later version. 12// 13// This library is distributed in the hope that it will be useful, 14// but WITHOUT ANY WARRANTY; without even the implied warranty of 15// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 16// Lesser General Public License for more details. 17// 18// You should have received a copy of the GNU Lesser General Public 19// License along with this library; if not, write to the Free Software 20// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 21// 22///////////////////////////////////////////////////////////////////////// 23 24/* ************************************************************************ */ 25/* AVX VEX-encoded 0x0F, 0x0F 0x38 and 0x0F 0x3A opcodes */ 26 27static BxDisasmOpcodeTable_t BxDisasmGroupAVX_0f10[4] = { 28 /* -- */ { 0, &Ia_vmovups_Vps_Wps }, 29 /* 66 */ { 0, &Ia_vmovupd_Vpd_Wpd }, 30 /* F3 */ { 0, &Ia_vmovss_Vss_Wss }, 31 /* F2 */ { 0, &Ia_vmovsd_Vsd_Wsd } 32}; 33 34static BxDisasmOpcodeTable_t BxDisasmGroupAVX_0f11[4] = { 35 /* -- */ { 0, &Ia_vmovups_Wps_Vps }, 36 /* 66 */ { 0, &Ia_vmovupd_Wpd_Vpd }, 37 /* F3 */ { 0, &Ia_vmovss_Wss_Vss }, 38 /* F2 */ { 0, &Ia_vmovsd_Wsd_Vsd } 39}; 40 41static BxDisasmOpcodeTable_t BxDisasmGroupModVMOVHLPS[2] = { 42 /* R */ { 0, &Ia_vmovhlps_Vps_Hdq_Udq }, 43 /* M */ { 0, &Ia_vmovlps_Vps_Hdq_Mq } 44}; 45 46static BxDisasmOpcodeTable_t BxDisasmGroupAVX_0f12[4] = { 47 /* -- */ { GRPMOD(VMOVHLPS) }, 48 /* 66 */ { 0, &Ia_vmovlpd_Vpd_Hdq_Mq }, 49 /* F3 */ { 0, &Ia_vmovsldup_Vdq_Wdq }, 50 /* F2 */ { 0, &Ia_vmovddup_Vdq_Wq } 51}; 52 53static BxDisasmOpcodeTable_t BxDisasmGroupAVX_0f13[2] = { 54 /* -- */ { 0, &Ia_vmovlps_Mq_Vps }, 55 /* 66 */ { 0, &Ia_vmovlpd_Mq_Vpd } 56}; 57 58static BxDisasmOpcodeTable_t BxDisasmGroupAVX_0f14[2] = { 59 /* -- */ { 0, &Ia_vunpcklps_Vps_Hps_Wps }, 60 /* 66 */ { 0, &Ia_vunpcklpd_Vpd_Hpd_Wpd } 61}; 62 63static BxDisasmOpcodeTable_t BxDisasmGroupAVX_0f15[2] = { 64 /* -- */ { 0, &Ia_vunpckhps_Vps_Hps_Wps }, 65 /* 66 */ { 0, &Ia_vunpckhpd_Vpd_Hpd_Wpd } 66}; 67 68static BxDisasmOpcodeTable_t BxDisasmGroupModVMOVLHPS[2] = { 69 /* R */ { 0, &Ia_vmovlhps_Vps_Hdq_Udq }, 70 /* M */ { 0, &Ia_vmovhps_Vps_Hdq_Mq } 71}; 72 73static BxDisasmOpcodeTable_t BxDisasmGroupAVX_0f16[4] = { 74 /* -- */ { GRPMOD(VMOVLHPS) }, 75 /* 66 */ { 0, &Ia_vmovhpd_Vpd_Hdq_Mq }, 76 /* F3 */ { 0, &Ia_vmovshdup_Vdq_Wdq }, 77 /* F2 */ { 0, &Ia_Invalid } 78}; 79 80static BxDisasmOpcodeTable_t BxDisasmGroupAVX_0f17[2] = { 81 /* -- */ { 0, &Ia_vmovhps_Mq_Vps }, 82 /* 66 */ { 0, &Ia_vmovhpd_Mq_Vpd } 83}; 84 85static BxDisasmOpcodeTable_t BxDisasmGroupAVX_0f28[2] = { 86 /* -- */ { 0, &Ia_vmovaps_Vps_Wps }, 87 /* 66 */ { 0, &Ia_vmovapd_Vpd_Wpd } 88}; 89 90static BxDisasmOpcodeTable_t BxDisasmGroupAVX_0f29[2] = { 91 /* -- */ { 0, &Ia_vmovaps_Wps_Vps }, 92 /* 66 */ { 0, &Ia_vmovapd_Wpd_Vpd } 93}; 94 95static BxDisasmOpcodeTable_t BxDisasmGroupAVX_0f2a[4] = { 96 /* -- */ { 0, &Ia_Invalid }, 97 /* 66 */ { 0, &Ia_Invalid }, 98 /* F3 */ { 0, &Ia_vcvtsi2ss_Vss_Hps_Ey }, 99 /* F2 */ { 0, &Ia_vcvtsi2sd_Vsd_Hpd_Ey } 100}; 101 102static BxDisasmOpcodeTable_t BxDisasmGroupAVX_0f2b[2] = { 103 /* -- */ { 0, &Ia_vmovntps_Mps_Vps }, 104 /* 66 */ { 0, &Ia_vmovntpd_Mpd_Vpd } 105}; 106 107static BxDisasmOpcodeTable_t BxDisasmGroupAVX_0f2c[4] = { 108 /* -- */ { 0, &Ia_Invalid }, 109 /* 66 */ { 0, &Ia_Invalid }, 110 /* F3 */ { 0, &Ia_vcvttss2si_Gy_Wss }, 111 /* F2 */ { 0, &Ia_vcvttsd2si_Gy_Wsd } 112}; 113 114static BxDisasmOpcodeTable_t BxDisasmGroupAVX_0f2d[4] = { 115 /* -- */ { 0, &Ia_Invalid }, 116 /* 66 */ { 0, &Ia_Invalid }, 117 /* F3 */ { 0, &Ia_vcvtss2si_Gy_Wss }, 118 /* F2 */ { 0, &Ia_vcvtsd2si_Gy_Wsd } 119}; 120 121static BxDisasmOpcodeTable_t BxDisasmGroupAVX_0f2e[2] = { 122 /* -- */ { 0, &Ia_vucomiss_Vss_Wss }, 123 /* 66 */ { 0, &Ia_vucomisd_Vsd_Wsd } 124}; 125 126static BxDisasmOpcodeTable_t BxDisasmGroupAVX_0f2f[2] = { 127 /* -- */ { 0, &Ia_vcomiss_Vss_Wss }, 128 /* 66 */ { 0, &Ia_vcomisd_Vsd_Wsd } 129}; 130 131static BxDisasmOpcodeTable_t BxDisasmGroupAVX_0f50[2] = { 132 /* -- */ { 0, &Ia_vmovmskps_Gd_Ups }, 133 /* 66 */ { 0, &Ia_vmovmskpd_Gd_Upd } 134}; 135 136static BxDisasmOpcodeTable_t BxDisasmGroupAVX_0f51[4] = { 137 /* -- */ { 0, &Ia_vsqrtps_Vps_Wps }, 138 /* 66 */ { 0, &Ia_vsqrtpd_Vpd_Wpd }, 139 /* F3 */ { 0, &Ia_vsqrtss_Vss_Hps_Wss }, 140 /* F2 */ { 0, &Ia_vsqrtsd_Vsd_Hpd_Wsd } 141}; 142 143static BxDisasmOpcodeTable_t BxDisasmGroupAVX_0f52[4] = { 144 /* -- */ { 0, &Ia_vrsqrtps_Vps_Wps }, 145 /* 66 */ { 0, &Ia_Invalid }, 146 /* F3 */ { 0, &Ia_vrsqrtss_Vss_Hps_Wss }, 147 /* F2 */ { 0, &Ia_Invalid } 148}; 149 150static BxDisasmOpcodeTable_t BxDisasmGroupAVX_0f53[4] = { 151 /* -- */ { 0, &Ia_vrcpps_Vps_Wps }, 152 /* 66 */ { 0, &Ia_Invalid }, 153 /* F3 */ { 0, &Ia_vrcpss_Vss_Hps_Wss }, 154 /* F2 */ { 0, &Ia_Invalid } 155}; 156 157static BxDisasmOpcodeTable_t BxDisasmGroupAVX_0f54[2] = { 158 /* -- */ { 0, &Ia_vandps_Vps_Hps_Wps }, 159 /* 66 */ { 0, &Ia_vandpd_Vpd_Hpd_Wpd } 160}; 161 162static BxDisasmOpcodeTable_t BxDisasmGroupAVX_0f55[2] = { 163 /* -- */ { 0, &Ia_vandnps_Vps_Hps_Wps }, 164 /* 66 */ { 0, &Ia_vandnpd_Vpd_Hpd_Wpd } 165}; 166 167static BxDisasmOpcodeTable_t BxDisasmGroupAVX_0f56[2] = { 168 /* -- */ { 0, &Ia_vorps_Vps_Hps_Wps }, 169 /* 66 */ { 0, &Ia_vorpd_Vpd_Hpd_Wpd } 170}; 171 172static BxDisasmOpcodeTable_t BxDisasmGroupAVX_0f57[2] = { 173 /* -- */ { 0, &Ia_vxorps_Vps_Hps_Wps }, 174 /* 66 */ { 0, &Ia_vxorpd_Vpd_Hpd_Wpd } 175}; 176 177static BxDisasmOpcodeTable_t BxDisasmGroupAVX_0f58[4] = { 178 /* -- */ { 0, &Ia_vaddps_Vps_Hps_Wps }, 179 /* 66 */ { 0, &Ia_vaddpd_Vpd_Hpd_Wpd }, 180 /* F3 */ { 0, &Ia_vaddss_Vss_Hps_Wss }, 181 /* F2 */ { 0, &Ia_vaddsd_Vsd_Hpd_Wsd } 182}; 183 184static BxDisasmOpcodeTable_t BxDisasmGroupAVX_0f59[4] = { 185 /* -- */ { 0, &Ia_vmulps_Vps_Hps_Wps }, 186 /* 66 */ { 0, &Ia_vmulpd_Vpd_Hpd_Wpd }, 187 /* F3 */ { 0, &Ia_vmulss_Vss_Hps_Wss }, 188 /* F2 */ { 0, &Ia_vmulsd_Vsd_Hpd_Wsd } 189}; 190 191static BxDisasmOpcodeTable_t BxDisasmGroupAVX_0f5a[4] = { 192 /* -- */ { 0, &Ia_vcvtps2pd_Vpd_Wps }, 193 /* 66 */ { 0, &Ia_vcvtpd2ps_Vps_Wpd }, 194 /* F3 */ { 0, &Ia_vcvtss2sd_Vsd_Hpd_Wss }, 195 /* F2 */ { 0, &Ia_vcvtsd2ss_Vss_Hps_Wsd } 196}; 197 198static BxDisasmOpcodeTable_t BxDisasmGroupAVX_0f5b[4] = { 199 /* -- */ { 0, &Ia_vcvtdq2ps_Vps_Wdq }, 200 /* 66 */ { 0, &Ia_vcvtps2dq_Vdq_Wps }, 201 /* F3 */ { 0, &Ia_vcvttps2dq_Vdq_Wps }, 202 /* F2 */ { 0, &Ia_Invalid } 203}; 204 205static BxDisasmOpcodeTable_t BxDisasmGroupAVX_0f5c[4] = { 206 /* -- */ { 0, &Ia_vsubps_Vps_Hps_Wps }, 207 /* 66 */ { 0, &Ia_vsubpd_Vpd_Hpd_Wpd }, 208 /* F3 */ { 0, &Ia_vsubss_Vss_Hps_Wss }, 209 /* F2 */ { 0, &Ia_vsubsd_Vsd_Hpd_Wsd } 210}; 211 212static BxDisasmOpcodeTable_t BxDisasmGroupAVX_0f5d[4] = { 213 /* -- */ { 0, &Ia_vminps_Vps_Hps_Wps }, 214 /* 66 */ { 0, &Ia_vminpd_Vpd_Hpd_Wpd }, 215 /* F3 */ { 0, &Ia_vminss_Vss_Hps_Wss }, 216 /* F2 */ { 0, &Ia_vminsd_Vsd_Hpd_Wsd } 217}; 218 219static BxDisasmOpcodeTable_t BxDisasmGroupAVX_0f5e[4] = { 220 /* -- */ { 0, &Ia_vdivps_Vps_Hps_Wps }, 221 /* 66 */ { 0, &Ia_vdivpd_Vpd_Hpd_Wpd }, 222 /* F3 */ { 0, &Ia_vdivss_Vss_Hps_Wss }, 223 /* F2 */ { 0, &Ia_vdivsd_Vsd_Hpd_Wsd } 224}; 225 226static BxDisasmOpcodeTable_t BxDisasmGroupAVX_0f5f[4] = { 227 /* -- */ { 0, &Ia_vmaxps_Vps_Hps_Wps }, 228 /* 66 */ { 0, &Ia_vmaxpd_Vpd_Hpd_Wpd }, 229 /* F3 */ { 0, &Ia_vmaxss_Vss_Hps_Wss }, 230 /* F2 */ { 0, &Ia_vmaxsd_Vsd_Hpd_Wsd } 231}; 232 233static BxDisasmOpcodeTable_t BxDisasmGrpVexW_AVX0f6e[3] = { 234 /* 0 */ { GRPSSE66(Ia_vmovd_Vdq_Ed) }, 235 /* 1 */ { GRPSSE66(Ia_vmovq_Vdq_Eq) } 236}; 237 238static BxDisasmOpcodeTable_t BxDisasmGroupAVX_0f6f[4] = { 239 /* -- */ { 0, &Ia_Invalid }, 240 /* 66 */ { 0, &Ia_vmovdqa_Vdq_Wdq }, 241 /* F3 */ { 0, &Ia_vmovdqu_Vdq_Wdq }, 242 /* F2 */ { 0, &Ia_Invalid } 243}; 244 245static BxDisasmOpcodeTable_t BxDisasmGroupAVX_0f70[4] = { 246 /* -- */ { 0, &Ia_Invalid }, 247 /* 66 */ { 0, &Ia_vpshufd_Vdq_Hdq_Wdq_Ib }, 248 /* F3 */ { 0, &Ia_vpshufhw_Vdq_Hdq_Wdq_Ib }, 249 /* F2 */ { 0, &Ia_vpshuflw_Vdq_Hdq_Wdq_Ib } 250}; 251 252static BxDisasmOpcodeTable_t BxDisasmGroupAVX_0f7c[4] = { 253 /* -- */ { 0, &Ia_Invalid }, 254 /* 66 */ { 0, &Ia_vhaddpd_Vpd_Hpd_Wpd }, 255 /* F3 */ { 0, &Ia_Invalid }, 256 /* F2 */ { 0, &Ia_vhaddps_Vps_Hps_Wps } 257}; 258 259static BxDisasmOpcodeTable_t BxDisasmGroupAVX_0f7d[4] = { 260 /* -- */ { 0, &Ia_Invalid }, 261 /* 66 */ { 0, &Ia_vhsubpd_Vpd_Hpd_Wpd }, 262 /* F3 */ { 0, &Ia_Invalid }, 263 /* F2 */ { 0, &Ia_vhsubps_Vps_Hps_Wps } 264}; 265 266static BxDisasmOpcodeTable_t BxDisasmGrpVexW_AVX660f7e[3] = { 267 /* 0 */ { 0, &Ia_vmovd_Ed_Vd }, 268 /* 1 */ { 0, &Ia_vmovq_Eq_Vq } 269}; 270 271static BxDisasmOpcodeTable_t BxDisasmGroupAVX_0f7e[4] = { 272 /* -- */ { 0, &Ia_Invalid }, 273 /* 66 */ { GRPVEXW(AVX660f7e) }, 274 /* F3 */ { 0, &Ia_vmovq_Vq_Wq }, 275 /* F2 */ { 0, &Ia_Invalid } 276}; 277 278static BxDisasmOpcodeTable_t BxDisasmGroupAVX_0f7f[4] = { 279 /* -- */ { 0, &Ia_Invalid }, 280 /* 66 */ { 0, &Ia_vmovdqa_Wdq_Vdq }, 281 /* F3 */ { 0, &Ia_vmovdqu_Wdq_Vdq }, 282 /* F2 */ { 0, &Ia_Invalid } 283}; 284 285static BxDisasmOpcodeTable_t BxDisasmGroupAVX_0fc2[4] = { 286 /* -- */ { 0, &Ia_vcmpps_Vps_Hps_Wps_Ib }, 287 /* 66 */ { 0, &Ia_vcmppd_Vpd_Hpd_Wpd_Ib }, 288 /* F3 */ { 0, &Ia_vcmpss_Vss_Hps_Wss_Ib }, 289 /* F2 */ { 0, &Ia_vcmpsd_Vsd_Hpd_Wsd_Ib } 290}; 291 292static BxDisasmOpcodeTable_t BxDisasmGroupAVX_0fc6[2] = { 293 /* -- */ { 0, &Ia_vshufps_Vps_Hps_Wps_Ib }, 294 /* 66 */ { 0, &Ia_vshufpd_Vpd_Hpd_Wpd_Ib } 295}; 296 297static BxDisasmOpcodeTable_t BxDisasmGroupAVX_0fd0[4] = { 298 /* -- */ { 0, &Ia_Invalid }, 299 /* 66 */ { 0, &Ia_vaddsubpd_Vpd_Hpd_Wpd }, 300 /* F3 */ { 0, &Ia_Invalid }, 301 /* F2 */ { 0, &Ia_vaddsubps_Vps_Hps_Wps } 302}; 303 304static BxDisasmOpcodeTable_t BxDisasmGroupAVX_0fe6[4] = { 305 /* -- */ { 0, &Ia_Invalid }, 306 /* 66 */ { 0, &Ia_vcvttpd2dq_Vq_Wpd }, 307 /* F3 */ { 0, &Ia_vcvtdq2pd_Vpd_Wq }, 308 /* F2 */ { 0, &Ia_vcvtpd2dq_Vq_Wpd } 309}; 310 311/* Group12 */ 312static BxDisasmOpcodeTable_t BxDisasmGroupAVXG12[8] = { 313 /* 0 */ { 0, &Ia_Invalid }, 314 /* 1 */ { 0, &Ia_Invalid }, 315 /* 2 */ { GRPSSE66(Ia_vpsrlw_Hdq_Udq_Ib) }, 316 /* 3 */ { 0, &Ia_Invalid }, 317 /* 4 */ { GRPSSE66(Ia_vpsraw_Hdq_Udq_Ib) }, 318 /* 5 */ { 0, &Ia_Invalid }, 319 /* 6 */ { GRPSSE66(Ia_vpsllw_Hdq_Udq_Ib) }, 320 /* 7 */ { 0, &Ia_Invalid } 321}; 322 323/* Group13 */ 324static BxDisasmOpcodeTable_t BxDisasmGroupAVXG13[8] = { 325 /* 0 */ { 0, &Ia_Invalid }, 326 /* 1 */ { 0, &Ia_Invalid }, 327 /* 2 */ { GRPSSE66(Ia_vpsrld_Hdq_Udq_Ib) }, 328 /* 3 */ { 0, &Ia_Invalid }, 329 /* 4 */ { GRPSSE66(Ia_vpsrad_Hdq_Udq_Ib) }, 330 /* 5 */ { 0, &Ia_Invalid }, 331 /* 6 */ { GRPSSE66(Ia_vpslld_Hdq_Udq_Ib) }, 332 /* 7 */ { 0, &Ia_Invalid } 333}; 334 335/* Group14 */ 336static BxDisasmOpcodeTable_t BxDisasmGroupAVXG14[8] = { 337 /* 0 */ { 0, &Ia_Invalid }, 338 /* 1 */ { 0, &Ia_Invalid }, 339 /* 2 */ { GRPSSE66(Ia_vpsrlq_Hdq_Udq_Ib) }, 340 /* 3 */ { GRPSSE66(Ia_vpsrldq_Hdq_Udq_Ib) }, 341 /* 4 */ { 0, &Ia_Invalid }, 342 /* 5 */ { 0, &Ia_Invalid }, 343 /* 6 */ { GRPSSE66(Ia_vpsllq_Hdq_Udq_Ib) }, 344 /* 7 */ { GRPSSE66(Ia_vpslldq_Hdq_Udq_Ib) } 345}; 346 347/* Group15 */ 348static BxDisasmOpcodeTable_t BxDisasmGroupAVXG15M[8] = { 349 /* 0 */ { 0, &Ia_Invalid }, 350 /* 1 */ { 0, &Ia_Invalid }, 351 /* 2 */ { 0, &Ia_vldmxcsr }, 352 /* 3 */ { 0, &Ia_vstmxcsr }, 353 /* 4 */ { 0, &Ia_Invalid }, 354 /* 5 */ { 0, &Ia_Invalid }, 355 /* 6 */ { 0, &Ia_Invalid }, 356 /* 7 */ { 0, &Ia_Invalid } 357}; 358 359static BxDisasmOpcodeTable_t BxDisasmGroupModAVXG15[2] = { 360 /* R */ { 0, &Ia_Invalid }, 361 /* M */ { GRPN(AVXG15M) } 362}; 363 364static BxDisasmOpcodeTable_t BxDisasmGrpVexW_0f3a16[2] = { 365 /* 0 */ { GRPSSE66(Ia_vpextrd_Ed_Vdq_Ib) }, 366 /* 1 */ { GRPSSE66(Ia_vpextrq_Eq_Vdq_Ib) } 367}; 368 369static BxDisasmOpcodeTable_t BxDisasmGrpVexW_0f3a22[2] = { 370 /* 0 */ { GRPSSE66(Ia_vpinsrd_Vdq_Hdq_Ed_Ib) }, 371 /* 1 */ { GRPSSE66(Ia_vpinsrq_Vdq_Hdq_Eq_Ib) } 372}; 373 374static BxDisasmOpcodeTable_t BxDisasmGrpVexW_0f3a00[2] = { 375 /* 0 */ { 0, &Ia_Invalid }, 376 /* 1 */ { GRPSSE66(Ia_vpermq_Vdq_Wdq_Ib) } 377}; 378 379static BxDisasmOpcodeTable_t BxDisasmGrpVexW_0f3a01[2] = { 380 /* 0 */ { 0, &Ia_Invalid }, 381 /* 1 */ { GRPSSE66(Ia_vpermpd_Vpd_Wpd_Ib) } 382}; 383 384static BxDisasmOpcodeTable_t BxDisasmGrpVexW_0f3845[2] = { 385 /* 0 */ { GRPSSE66(Ia_vpsrlvd_Vdq_Hdq_Wdq) }, 386 /* 1 */ { GRPSSE66(Ia_vpsrlvq_Vdq_Hdq_Wdq) } 387}; 388 389static BxDisasmOpcodeTable_t BxDisasmGrpVexW_0f3847[2] = { 390 /* 0 */ { GRPSSE66(Ia_vpsllvd_Vdq_Hdq_Wdq) }, 391 /* 1 */ { GRPSSE66(Ia_vpsllvq_Vdq_Hdq_Wdq) } 392}; 393 394static BxDisasmOpcodeTable_t BxDisasmGrpVexW_0f388c[2] = { 395 /* 0 */ { GRPSSE66(Ia_vmaskmovd_Vdq_Hdq_Mdq) }, 396 /* 1 */ { GRPSSE66(Ia_vmaskmovq_Vdq_Hdq_Mdq) } 397}; 398 399static BxDisasmOpcodeTable_t BxDisasmGrpVexW_0f388e[2] = { 400 /* 0 */ { GRPSSE66(Ia_vmaskmovd_Mdq_Hdq_Vdq) }, 401 /* 1 */ { GRPSSE66(Ia_vmaskmovq_Mdq_Hdq_Vdq) } 402}; 403 404static BxDisasmOpcodeTable_t BxDisasmGrpVexW_0f3890[2] = { 405 /* 0 */ { GRPSSE66(Ia_vgatherdd_Vdq_VSib_Hdq) }, 406 /* 1 */ { GRPSSE66(Ia_vgatherdq_Vdq_VSib_Hdq) } 407}; 408 409static BxDisasmOpcodeTable_t BxDisasmGrpVexW_0f3891[2] = { 410 /* 0 */ { GRPSSE66(Ia_vgatherqd_Vdq_VSib_Hdq) }, 411 /* 1 */ { GRPSSE66(Ia_vgatherqq_Vdq_VSib_Hdq) } 412}; 413 414static BxDisasmOpcodeTable_t BxDisasmGrpVexW_0f3892[2] = { 415 /* 0 */ { GRPSSE66(Ia_vgatherdps_Vps_VSib_Hps) }, 416 /* 1 */ { GRPSSE66(Ia_vgatherdpd_Vpd_VSib_Hpd) } 417}; 418 419static BxDisasmOpcodeTable_t BxDisasmGrpVexW_0f3893[2] = { 420 /* 0 */ { GRPSSE66(Ia_vgatherqps_Vps_VSib_Hps) }, 421 /* 1 */ { GRPSSE66(Ia_vgatherqpd_Vpd_VSib_Hpd) } 422}; 423 424// FMA 425static BxDisasmOpcodeTable_t BxDisasmGrpVexW_0f3896[2] = { 426 /* 0 */ { GRPSSE66(Ia_vfmaddsub132ps_Vps_Hps_Wps) }, 427 /* 1 */ { GRPSSE66(Ia_vfmaddsub132pd_Vpd_Hpd_Wpd) } 428}; 429 430static BxDisasmOpcodeTable_t BxDisasmGrpVexW_0f3897[2] = { 431 /* 0 */ { GRPSSE66(Ia_vfmsubadd132ps_Vps_Hps_Wps) }, 432 /* 1 */ { GRPSSE66(Ia_vfmsubadd132pd_Vpd_Hpd_Wpd) } 433}; 434 435static BxDisasmOpcodeTable_t BxDisasmGrpVexW_0f3898[2] = { 436 /* 0 */ { GRPSSE66(Ia_vfmadd132ps_Vps_Hps_Wps) }, 437 /* 1 */ { GRPSSE66(Ia_vfmadd132pd_Vpd_Hpd_Wpd) } 438}; 439 440static BxDisasmOpcodeTable_t BxDisasmGrpVexW_0f3899[2] = { 441 /* 0 */ { GRPSSE66(Ia_vfmadd132ss_Vps_Hss_Wss) }, 442 /* 1 */ { GRPSSE66(Ia_vfmadd132sd_Vpd_Hsd_Wsd) } 443}; 444 445static BxDisasmOpcodeTable_t BxDisasmGrpVexW_0f389a[2] = { 446 /* 0 */ { GRPSSE66(Ia_vfmsub132ps_Vps_Hps_Wps) }, 447 /* 1 */ { GRPSSE66(Ia_vfmsub132pd_Vpd_Hpd_Wpd) } 448}; 449 450static BxDisasmOpcodeTable_t BxDisasmGrpVexW_0f389b[2] = { 451 /* 0 */ { GRPSSE66(Ia_vfmsub132ss_Vps_Hss_Wss) }, 452 /* 1 */ { GRPSSE66(Ia_vfmsub132sd_Vpd_Hsd_Wsd) } 453}; 454 455static BxDisasmOpcodeTable_t BxDisasmGrpVexW_0f389c[2] = { 456 /* 0 */ { GRPSSE66(Ia_vfnmadd132ps_Vps_Hps_Wps) }, 457 /* 1 */ { GRPSSE66(Ia_vfnmadd132pd_Vpd_Hpd_Wpd) } 458}; 459 460static BxDisasmOpcodeTable_t BxDisasmGrpVexW_0f389d[2] = { 461 /* 0 */ { GRPSSE66(Ia_vfnmadd132ss_Vps_Hss_Wss) }, 462 /* 1 */ { GRPSSE66(Ia_vfnmadd132sd_Vpd_Hsd_Wsd) } 463}; 464 465static BxDisasmOpcodeTable_t BxDisasmGrpVexW_0f389e[2] = { 466 /* 0 */ { GRPSSE66(Ia_vfnmsub132ps_Vps_Hps_Wps) }, 467 /* 1 */ { GRPSSE66(Ia_vfnmsub132pd_Vpd_Hpd_Wpd) } 468}; 469 470static BxDisasmOpcodeTable_t BxDisasmGrpVexW_0f389f[2] = { 471 /* 0 */ { GRPSSE66(Ia_vfnmsub132ss_Vps_Hss_Wss) }, 472 /* 1 */ { GRPSSE66(Ia_vfnmsub132sd_Vpd_Hsd_Wsd) } 473}; 474 475static BxDisasmOpcodeTable_t BxDisasmGrpVexW_0f38a6[2] = { 476 /* 0 */ { GRPSSE66(Ia_vfmaddsub213ps_Vps_Hps_Wps) }, 477 /* 1 */ { GRPSSE66(Ia_vfmaddsub213pd_Vpd_Hpd_Wpd) } 478}; 479 480static BxDisasmOpcodeTable_t BxDisasmGrpVexW_0f38a7[2] = { 481 /* 0 */ { GRPSSE66(Ia_vfmsubadd213ps_Vps_Hps_Wps) }, 482 /* 1 */ { GRPSSE66(Ia_vfmsubadd213pd_Vpd_Hpd_Wpd) } 483}; 484 485static BxDisasmOpcodeTable_t BxDisasmGrpVexW_0f38a8[2] = { 486 /* 0 */ { GRPSSE66(Ia_vfmadd213ps_Vps_Hps_Wps) }, 487 /* 1 */ { GRPSSE66(Ia_vfmadd213pd_Vpd_Hpd_Wpd) } 488}; 489 490static BxDisasmOpcodeTable_t BxDisasmGrpVexW_0f38a9[2] = { 491 /* 0 */ { GRPSSE66(Ia_vfmadd213ss_Vps_Hss_Wss) }, 492 /* 1 */ { GRPSSE66(Ia_vfmadd213sd_Vpd_Hsd_Wsd) } 493}; 494 495static BxDisasmOpcodeTable_t BxDisasmGrpVexW_0f38aa[2] = { 496 /* 0 */ { GRPSSE66(Ia_vfmsub213ps_Vps_Hps_Wps) }, 497 /* 1 */ { GRPSSE66(Ia_vfmsub213pd_Vpd_Hpd_Wpd) } 498}; 499 500static BxDisasmOpcodeTable_t BxDisasmGrpVexW_0f38ab[2] = { 501 /* 0 */ { GRPSSE66(Ia_vfmsub213ss_Vps_Hss_Wss) }, 502 /* 1 */ { GRPSSE66(Ia_vfmsub213sd_Vpd_Hsd_Wsd) } 503}; 504 505static BxDisasmOpcodeTable_t BxDisasmGrpVexW_0f38ac[2] = { 506 /* 0 */ { GRPSSE66(Ia_vfnmadd213ps_Vps_Hps_Wps) }, 507 /* 1 */ { GRPSSE66(Ia_vfnmadd213pd_Vpd_Hpd_Wpd) } 508}; 509 510static BxDisasmOpcodeTable_t BxDisasmGrpVexW_0f38ad[2] = { 511 /* 0 */ { GRPSSE66(Ia_vfnmadd213ss_Vps_Hss_Wss) }, 512 /* 1 */ { GRPSSE66(Ia_vfnmadd213sd_Vpd_Hsd_Wsd) } 513}; 514 515static BxDisasmOpcodeTable_t BxDisasmGrpVexW_0f38ae[2] = { 516 /* 0 */ { GRPSSE66(Ia_vfnmsub213ps_Vps_Hps_Wps) }, 517 /* 1 */ { GRPSSE66(Ia_vfnmsub213pd_Vpd_Hpd_Wpd) } 518}; 519 520static BxDisasmOpcodeTable_t BxDisasmGrpVexW_0f38af[2] = { 521 /* 0 */ { GRPSSE66(Ia_vfnmsub213ss_Vps_Hss_Wss) }, 522 /* 1 */ { GRPSSE66(Ia_vfnmsub213sd_Vpd_Hsd_Wsd) } 523}; 524 525static BxDisasmOpcodeTable_t BxDisasmGrpVexW_0f38b6[2] = { 526 /* 0 */ { GRPSSE66(Ia_vfmaddsub231ps_Vps_Hps_Wps) }, 527 /* 1 */ { GRPSSE66(Ia_vfmaddsub231pd_Vpd_Hpd_Wpd) } 528}; 529 530static BxDisasmOpcodeTable_t BxDisasmGrpVexW_0f38b7[2] = { 531 /* 0 */ { GRPSSE66(Ia_vfmsubadd231ps_Vps_Hps_Wps) }, 532 /* 1 */ { GRPSSE66(Ia_vfmsubadd231pd_Vpd_Hpd_Wpd) } 533}; 534 535static BxDisasmOpcodeTable_t BxDisasmGrpVexW_0f38b8[2] = { 536 /* 0 */ { GRPSSE66(Ia_vfmadd231ps_Vps_Hps_Wps) }, 537 /* 1 */ { GRPSSE66(Ia_vfmadd231pd_Vpd_Hpd_Wpd) } 538}; 539 540static BxDisasmOpcodeTable_t BxDisasmGrpVexW_0f38b9[2] = { 541 /* 0 */ { GRPSSE66(Ia_vfmadd231ss_Vps_Hss_Wss) }, 542 /* 1 */ { GRPSSE66(Ia_vfmadd231sd_Vpd_Hsd_Wsd) } 543}; 544 545static BxDisasmOpcodeTable_t BxDisasmGrpVexW_0f38ba[2] = { 546 /* 0 */ { GRPSSE66(Ia_vfmsub231ps_Vps_Hps_Wps) }, 547 /* 1 */ { GRPSSE66(Ia_vfmsub231pd_Vpd_Hpd_Wpd) } 548}; 549 550static BxDisasmOpcodeTable_t BxDisasmGrpVexW_0f38bb[2] = { 551 /* 0 */ { GRPSSE66(Ia_vfmsub231ss_Vps_Hss_Wss) }, 552 /* 1 */ { GRPSSE66(Ia_vfmsub231sd_Vpd_Hsd_Wsd) } 553}; 554 555static BxDisasmOpcodeTable_t BxDisasmGrpVexW_0f38bc[2] = { 556 /* 0 */ { GRPSSE66(Ia_vfnmadd231ps_Vps_Hps_Wps) }, 557 /* 1 */ { GRPSSE66(Ia_vfnmadd231pd_Vpd_Hpd_Wpd) } 558}; 559 560static BxDisasmOpcodeTable_t BxDisasmGrpVexW_0f38bd[2] = { 561 /* 0 */ { GRPSSE66(Ia_vfnmadd231ss_Vps_Hss_Wss) }, 562 /* 1 */ { GRPSSE66(Ia_vfnmadd231sd_Vpd_Hsd_Wsd) } 563}; 564 565static BxDisasmOpcodeTable_t BxDisasmGrpVexW_0f38be[2] = { 566 /* 0 */ { GRPSSE66(Ia_vfnmsub231ps_Vps_Hps_Wps) }, 567 /* 1 */ { GRPSSE66(Ia_vfnmsub231pd_Vpd_Hpd_Wpd) } 568}; 569 570static BxDisasmOpcodeTable_t BxDisasmGrpVexW_0f38bf[2] = { 571 /* 0 */ { GRPSSE66(Ia_vfnmsub231ss_Vps_Hss_Wss) }, 572 /* 1 */ { GRPSSE66(Ia_vfnmsub231sd_Vpd_Hsd_Wsd) } 573}; 574// FMA 575 576static BxDisasmOpcodeTable_t BxDisasmGroupAVX_0f38f5[4] = { 577 /* -- */ { 0, &Ia_bzhi_Gy_Ey_By }, 578 /* 66 */ { 0, &Ia_Invalid }, 579 /* F3 */ { 0, &Ia_pext_Gy_By_Ey }, 580 /* F2 */ { 0, &Ia_pdep_Gy_By_Ey } 581}; 582 583static BxDisasmOpcodeTable_t BxDisasmGroupAVX_0f38f7[4] = { 584 /* -- */ { 0, &Ia_bextr_Gy_Ey_By }, 585 /* 66 */ { 0, &Ia_shlx_Gy_Ey_By }, 586 /* F3 */ { 0, &Ia_sarx_Gy_Ey_By }, 587 /* F2 */ { 0, &Ia_shrx_Gy_Ey_By } 588}; 589 590/* Group17 */ 591static BxDisasmOpcodeTable_t BxDisasmGroupAVXG17[8] = { 592 /* 0 */ { 0, &Ia_Invalid }, 593 /* 1 */ { 0, &Ia_blsr_By_Ey }, 594 /* 2 */ { 0, &Ia_blsmsk_By_Ey }, 595 /* 3 */ { 0, &Ia_blsi_By_Ey }, 596 /* 4 */ { 0, &Ia_Invalid }, 597 /* 5 */ { 0, &Ia_Invalid }, 598 /* 6 */ { 0, &Ia_Invalid }, 599 /* 7 */ { 0, &Ia_Invalid } 600}; 601 602// FMA4 (AMD) 603static BxDisasmOpcodeTable_t BxDisasmGrpVexW_0f3a5c[2] = { 604 /* 0 */ { GRPSSE66(Ia_vfmaddsubps_Vps_Hps_Wps_VIb) }, 605 /* 1 */ { GRPSSE66(Ia_vfmaddsubps_Vps_Hps_VIb_Wps) } 606}; 607 608static BxDisasmOpcodeTable_t BxDisasmGrpVexW_0f3a5d[2] = { 609 /* 0 */ { GRPSSE66(Ia_vfmaddsubpd_Vpd_Hpd_Wpd_VIb) }, 610 /* 1 */ { GRPSSE66(Ia_vfmaddsubpd_Vpd_Hpd_VIb_Wpd) } 611}; 612 613static BxDisasmOpcodeTable_t BxDisasmGrpVexW_0f3a5e[2] = { 614 /* 0 */ { GRPSSE66(Ia_vfmsubaddps_Vps_Hps_Wps_VIb) }, 615 /* 1 */ { GRPSSE66(Ia_vfmsubaddps_Vps_Hps_VIb_Wps) } 616}; 617 618static BxDisasmOpcodeTable_t BxDisasmGrpVexW_0f3a5f[2] = { 619 /* 0 */ { GRPSSE66(Ia_vfmsubaddpd_Vpd_Hpd_Wpd_VIb) }, 620 /* 1 */ { GRPSSE66(Ia_vfmsubaddpd_Vpd_Hpd_VIb_Wpd) } 621}; 622 623static BxDisasmOpcodeTable_t BxDisasmGrpVexW_0f3a68[2] = { 624 /* 0 */ { GRPSSE66(Ia_vfmaddps_Vps_Hps_Wps_VIb) }, 625 /* 1 */ { GRPSSE66(Ia_vfmaddps_Vps_Hps_VIb_Wps) } 626}; 627 628static BxDisasmOpcodeTable_t BxDisasmGrpVexW_0f3a69[2] = { 629 /* 0 */ { GRPSSE66(Ia_vfmaddpd_Vpd_Hpd_Wpd_VIb) }, 630 /* 1 */ { GRPSSE66(Ia_vfmaddpd_Vpd_Hpd_VIb_Wpd) } 631}; 632 633static BxDisasmOpcodeTable_t BxDisasmGrpVexW_0f3a6a[2] = { 634 /* 0 */ { GRPSSE66(Ia_vfmaddss_Vss_Hss_Wss_VIb) }, 635 /* 1 */ { GRPSSE66(Ia_vfmaddss_Vss_Hss_VIb_Wss) } 636}; 637 638static BxDisasmOpcodeTable_t BxDisasmGrpVexW_0f3a6b[2] = { 639 /* 0 */ { GRPSSE66(Ia_vfmaddsd_Vsd_Hsd_Wsd_VIb) }, 640 /* 1 */ { GRPSSE66(Ia_vfmaddsd_Vsd_Hsd_VIb_Wsd) } 641}; 642 643static BxDisasmOpcodeTable_t BxDisasmGrpVexW_0f3a6c[2] = { 644 /* 0 */ { GRPSSE66(Ia_vfmsubps_Vps_Hps_Wps_VIb) }, 645 /* 1 */ { GRPSSE66(Ia_vfmsubps_Vps_Hps_VIb_Wps) } 646}; 647 648static BxDisasmOpcodeTable_t BxDisasmGrpVexW_0f3a6d[2] = { 649 /* 0 */ { GRPSSE66(Ia_vfmsubpd_Vpd_Hpd_Wpd_VIb) }, 650 /* 1 */ { GRPSSE66(Ia_vfmsubpd_Vpd_Hpd_VIb_Wpd) } 651}; 652 653static BxDisasmOpcodeTable_t BxDisasmGrpVexW_0f3a6e[2] = { 654 /* 0 */ { GRPSSE66(Ia_vfmsubss_Vss_Hss_Wss_VIb) }, 655 /* 1 */ { GRPSSE66(Ia_vfmsubss_Vss_Hss_VIb_Wss) } 656}; 657 658static BxDisasmOpcodeTable_t BxDisasmGrpVexW_0f3a6f[2] = { 659 /* 0 */ { GRPSSE66(Ia_vfmsubsd_Vsd_Hsd_Wsd_VIb) }, 660 /* 1 */ { GRPSSE66(Ia_vfmsubsd_Vsd_Hsd_VIb_Wsd) } 661}; 662 663static BxDisasmOpcodeTable_t BxDisasmGrpVexW_0f3a78[2] = { 664 /* 0 */ { GRPSSE66(Ia_vfnmaddps_Vps_Hps_Wps_VIb) }, 665 /* 1 */ { GRPSSE66(Ia_vfnmaddps_Vps_Hps_VIb_Wps) } 666}; 667 668static BxDisasmOpcodeTable_t BxDisasmGrpVexW_0f3a79[2] = { 669 /* 0 */ { GRPSSE66(Ia_vfnmaddpd_Vpd_Hpd_Wpd_VIb) }, 670 /* 1 */ { GRPSSE66(Ia_vfnmaddpd_Vpd_Hpd_VIb_Wpd) } 671}; 672 673static BxDisasmOpcodeTable_t BxDisasmGrpVexW_0f3a7a[2] = { 674 /* 0 */ { GRPSSE66(Ia_vfnmaddss_Vss_Hss_Wss_VIb) }, 675 /* 1 */ { GRPSSE66(Ia_vfnmaddss_Vss_Hss_VIb_Wss) } 676}; 677 678static BxDisasmOpcodeTable_t BxDisasmGrpVexW_0f3a7b[2] = { 679 /* 0 */ { GRPSSE66(Ia_vfnmaddsd_Vsd_Hsd_Wsd_VIb) }, 680 /* 1 */ { GRPSSE66(Ia_vfnmaddsd_Vsd_Hsd_VIb_Wsd) } 681}; 682 683static BxDisasmOpcodeTable_t BxDisasmGrpVexW_0f3a7c[2] = { 684 /* 0 */ { GRPSSE66(Ia_vfnmsubps_Vps_Hps_Wps_VIb) }, 685 /* 1 */ { GRPSSE66(Ia_vfnmsubps_Vps_Hps_VIb_Wps) } 686}; 687 688static BxDisasmOpcodeTable_t BxDisasmGrpVexW_0f3a7d[2] = { 689 /* 0 */ { GRPSSE66(Ia_vfnmsubpd_Vpd_Hpd_Wpd_VIb) }, 690 /* 1 */ { GRPSSE66(Ia_vfnmsubpd_Vpd_Hpd_VIb_Wpd) } 691}; 692 693static BxDisasmOpcodeTable_t BxDisasmGrpVexW_0f3a7e[2] = { 694 /* 0 */ { GRPSSE66(Ia_vfnmsubss_Vss_Hss_Wss_VIb) }, 695 /* 1 */ { GRPSSE66(Ia_vfnmsubss_Vss_Hss_VIb_Wss) } 696}; 697 698static BxDisasmOpcodeTable_t BxDisasmGrpVexW_0f3a7f[2] = { 699 /* 0 */ { GRPSSE66(Ia_vfnmsubsd_Vsd_Hsd_Wsd_VIb) }, 700 /* 1 */ { GRPSSE66(Ia_vfnmsubsd_Vsd_Hsd_VIb_Wsd) } 701}; 702// FMA4 (AMD) 703 704static BxDisasmOpcodeTable_t BxDisasmOpcodesAVX[256*3] = { 705 // 256 entries for VEX-encoded 0x0F opcodes 706 /* 00 */ { 0, &Ia_Invalid }, 707 /* 01 */ { 0, &Ia_Invalid }, 708 /* 02 */ { 0, &Ia_Invalid }, 709 /* 03 */ { 0, &Ia_Invalid }, 710 /* 04 */ { 0, &Ia_Invalid }, 711 /* 05 */ { 0, &Ia_Invalid }, 712 /* 06 */ { 0, &Ia_Invalid }, 713 /* 07 */ { 0, &Ia_Invalid }, 714 /* 08 */ { 0, &Ia_Invalid }, 715 /* 09 */ { 0, &Ia_Invalid }, 716 /* 0A */ { 0, &Ia_Invalid }, 717 /* 0B */ { 0, &Ia_Invalid }, 718 /* 0C */ { 0, &Ia_Invalid }, 719 /* 0D */ { 0, &Ia_Invalid }, 720 /* 0E */ { 0, &Ia_Invalid }, 721 /* 0F */ { 0, &Ia_Invalid }, 722 /* 10 */ { GRPAVX(0f10) }, 723 /* 11 */ { GRPAVX(0f11) }, 724 /* 12 */ { GRPAVX(0f12) }, 725 /* 13 */ { GRPAVX2(0f13) }, 726 /* 14 */ { GRPAVX2(0f14) }, 727 /* 15 */ { GRPAVX2(0f15) }, 728 /* 16 */ { GRPAVX(0f16) }, 729 /* 17 */ { GRPAVX2(0f17) }, 730 /* 18 */ { 0, &Ia_Invalid }, 731 /* 19 */ { 0, &Ia_Invalid }, 732 /* 1A */ { 0, &Ia_Invalid }, 733 /* 1B */ { 0, &Ia_Invalid }, 734 /* 1C */ { 0, &Ia_Invalid }, 735 /* 1D */ { 0, &Ia_Invalid }, 736 /* 1E */ { 0, &Ia_Invalid }, 737 /* 1F */ { 0, &Ia_Invalid }, 738 /* 20 */ { 0, &Ia_Invalid }, 739 /* 21 */ { 0, &Ia_Invalid }, 740 /* 22 */ { 0, &Ia_Invalid }, 741 /* 23 */ { 0, &Ia_Invalid }, 742 /* 24 */ { 0, &Ia_Invalid }, 743 /* 25 */ { 0, &Ia_Invalid }, 744 /* 26 */ { 0, &Ia_Invalid }, 745 /* 27 */ { 0, &Ia_Invalid }, 746 /* 28 */ { GRPAVX2(0f28) }, 747 /* 29 */ { GRPAVX2(0f29) }, 748 /* 2A */ { GRPAVX(0f2a) }, 749 /* 2B */ { GRPAVX2(0f2b) }, 750 /* 2C */ { GRPAVX(0f2c) }, 751 /* 2C */ { GRPAVX(0f2d) }, 752 /* 2E */ { GRPAVX2(0f2e) }, 753 /* 2F */ { GRPAVX2(0f2f) }, 754 /* 30 */ { 0, &Ia_Invalid }, 755 /* 31 */ { 0, &Ia_Invalid }, 756 /* 32 */ { 0, &Ia_Invalid }, 757 /* 33 */ { 0, &Ia_Invalid }, 758 /* 34 */ { 0, &Ia_Invalid }, 759 /* 35 */ { 0, &Ia_Invalid }, 760 /* 36 */ { 0, &Ia_Invalid }, 761 /* 37 */ { 0, &Ia_Invalid }, 762 /* 38 */ { 0, &Ia_Invalid }, 763 /* 39 */ { 0, &Ia_Invalid }, 764 /* 3A */ { 0, &Ia_Invalid }, 765 /* 3B */ { 0, &Ia_Invalid }, 766 /* 3C */ { 0, &Ia_Invalid }, 767 /* 3D */ { 0, &Ia_Invalid }, 768 /* 3E */ { 0, &Ia_Invalid }, 769 /* 3F */ { 0, &Ia_Invalid }, 770 /* 40 */ { 0, &Ia_Invalid }, 771 /* 41 */ { 0, &Ia_Invalid }, 772 /* 42 */ { 0, &Ia_Invalid }, 773 /* 43 */ { 0, &Ia_Invalid }, 774 /* 44 */ { 0, &Ia_Invalid }, 775 /* 45 */ { 0, &Ia_Invalid }, 776 /* 46 */ { 0, &Ia_Invalid }, 777 /* 47 */ { 0, &Ia_Invalid }, 778 /* 48 */ { 0, &Ia_Invalid }, 779 /* 49 */ { 0, &Ia_Invalid }, 780 /* 4A */ { 0, &Ia_Invalid }, 781 /* 4B */ { 0, &Ia_Invalid }, 782 /* 4C */ { 0, &Ia_Invalid }, 783 /* 4D */ { 0, &Ia_Invalid }, 784 /* 4E */ { 0, &Ia_Invalid }, 785 /* 4F */ { 0, &Ia_Invalid }, 786 /* 50 */ { GRPAVX2(0f50) }, 787 /* 51 */ { GRPAVX(0f51) }, 788 /* 52 */ { GRPAVX(0f52) }, 789 /* 53 */ { GRPAVX(0f53) }, 790 /* 54 */ { GRPAVX2(0f54) }, 791 /* 55 */ { GRPAVX2(0f55) }, 792 /* 56 */ { GRPAVX2(0f56) }, 793 /* 57 */ { GRPAVX2(0f57) }, 794 /* 58 */ { GRPAVX(0f58) }, 795 /* 59 */ { GRPAVX(0f59) }, 796 /* 5A */ { GRPAVX(0f5a) }, 797 /* 5B */ { GRPAVX(0f5b) }, 798 /* 5C */ { GRPAVX(0f5c) }, 799 /* 5D */ { GRPAVX(0f5d) }, 800 /* 5E */ { GRPAVX(0f5e) }, 801 /* 5F */ { GRPAVX(0f5f) }, 802 /* 60 */ { GRPSSE66(Ia_vpunpcklbw_Vdq_Hdq_Wdq) }, 803 /* 61 */ { GRPSSE66(Ia_vpunpcklwd_Vdq_Hdq_Wdq) }, 804 /* 62 */ { GRPSSE66(Ia_vpunpckldq_Vdq_Hdq_Wdq) }, 805 /* 63 */ { GRPSSE66(Ia_vpacksswb_Vdq_Hdq_Wdq) }, 806 /* 64 */ { GRPSSE66(Ia_vpcmpgtb_Vdq_Hdq_Wdq) }, 807 /* 65 */ { GRPSSE66(Ia_vpcmpgtw_Vdq_Hdq_Wdq) }, 808 /* 66 */ { GRPSSE66(Ia_vpcmpgtd_Vdq_Hdq_Wdq) }, 809 /* 67 */ { GRPSSE66(Ia_vpackuswb_Vdq_Hdq_Wdq) }, 810 /* 68 */ { GRPSSE66(Ia_vpunpckhbw_Vdq_Hdq_Wdq) }, 811 /* 69 */ { GRPSSE66(Ia_vpunpckhwd_Vdq_Hdq_Wdq) }, 812 /* 6A */ { GRPSSE66(Ia_vpunpckhdq_Vdq_Hdq_Wdq) }, 813 /* 6B */ { GRPSSE66(Ia_vpackssdw_Vdq_Hdq_Wdq) }, 814 /* 6C */ { GRPSSE66(Ia_vpunpcklqdq_Vdq_Hdq_Wdq) }, 815 /* 6D */ { GRPSSE66(Ia_vpunpckhqdq_Vdq_Hdq_Wdq) }, 816 /* 6E */ { GRPVEXW(AVX0f6e) }, 817 /* 6F */ { GRPAVX(0f6f) }, 818 /* 70 */ { GRPAVX(0f70) }, 819 /* 71 */ { GRPN(AVXG12) }, 820 /* 72 */ { GRPN(AVXG13) }, 821 /* 73 */ { GRPN(AVXG14) }, 822 /* 74 */ { GRPSSE66(Ia_vpcmpeqb_Vdq_Hdq_Wdq) }, 823 /* 75 */ { GRPSSE66(Ia_vpcmpeqw_Vdq_Hdq_Wdq) }, 824 /* 76 */ { GRPSSE66(Ia_vpcmpeqd_Vdq_Hdq_Wdq) }, 825 /* 77 */ { GRPSSENONE(Ia_vzeroupper) }, 826 /* 78 */ { 0, &Ia_Invalid }, 827 /* 79 */ { 0, &Ia_Invalid }, 828 /* 7A */ { 0, &Ia_Invalid }, 829 /* 7B */ { 0, &Ia_Invalid }, 830 /* 7C */ { GRPAVX(0f7c) }, 831 /* 7D */ { GRPAVX(0f7d) }, 832 /* 7E */ { GRPAVX(0f7e) }, 833 /* 7F */ { GRPAVX(0f7f) }, 834 /* 80 */ { 0, &Ia_Invalid }, 835 /* 81 */ { 0, &Ia_Invalid }, 836 /* 82 */ { 0, &Ia_Invalid }, 837 /* 83 */ { 0, &Ia_Invalid }, 838 /* 84 */ { 0, &Ia_Invalid }, 839 /* 85 */ { 0, &Ia_Invalid }, 840 /* 86 */ { 0, &Ia_Invalid }, 841 /* 87 */ { 0, &Ia_Invalid }, 842 /* 88 */ { 0, &Ia_Invalid }, 843 /* 89 */ { 0, &Ia_Invalid }, 844 /* 8A */ { 0, &Ia_Invalid }, 845 /* 8B */ { 0, &Ia_Invalid }, 846 /* 8C */ { 0, &Ia_Invalid }, 847 /* 8D */ { 0, &Ia_Invalid }, 848 /* 8E */ { 0, &Ia_Invalid }, 849 /* 8F */ { 0, &Ia_Invalid }, 850 /* 90 */ { 0, &Ia_Invalid }, 851 /* 91 */ { 0, &Ia_Invalid }, 852 /* 92 */ { 0, &Ia_Invalid }, 853 /* 93 */ { 0, &Ia_Invalid }, 854 /* 94 */ { 0, &Ia_Invalid }, 855 /* 95 */ { 0, &Ia_Invalid }, 856 /* 96 */ { 0, &Ia_Invalid }, 857 /* 97 */ { 0, &Ia_Invalid }, 858 /* 98 */ { 0, &Ia_Invalid }, 859 /* 99 */ { 0, &Ia_Invalid }, 860 /* 9A */ { 0, &Ia_Invalid }, 861 /* 9B */ { 0, &Ia_Invalid }, 862 /* 9C */ { 0, &Ia_Invalid }, 863 /* 9D */ { 0, &Ia_Invalid }, 864 /* 9E */ { 0, &Ia_Invalid }, 865 /* 9F */ { 0, &Ia_Invalid }, 866 /* A0 */ { 0, &Ia_Invalid }, 867 /* A1 */ { 0, &Ia_Invalid }, 868 /* A2 */ { 0, &Ia_Invalid }, 869 /* A3 */ { 0, &Ia_Invalid }, 870 /* A4 */ { 0, &Ia_Invalid }, 871 /* A5 */ { 0, &Ia_Invalid }, 872 /* A6 */ { 0, &Ia_Invalid }, 873 /* A7 */ { 0, &Ia_Invalid }, 874 /* A8 */ { 0, &Ia_Invalid }, 875 /* A9 */ { 0, &Ia_Invalid }, 876 /* AA */ { 0, &Ia_Invalid }, 877 /* AB */ { 0, &Ia_Invalid }, 878 /* AC */ { 0, &Ia_Invalid }, 879 /* AD */ { 0, &Ia_Invalid }, 880 /* AE */ { GRPMOD(AVXG15) }, 881 /* AF */ { 0, &Ia_Invalid }, 882 /* B0 */ { 0, &Ia_Invalid }, 883 /* B1 */ { 0, &Ia_Invalid }, 884 /* B2 */ { 0, &Ia_Invalid }, 885 /* B3 */ { 0, &Ia_Invalid }, 886 /* B4 */ { 0, &Ia_Invalid }, 887 /* B5 */ { 0, &Ia_Invalid }, 888 /* B6 */ { 0, &Ia_Invalid }, 889 /* B7 */ { 0, &Ia_Invalid }, 890 /* B8 */ { 0, &Ia_Invalid }, 891 /* B9 */ { 0, &Ia_Invalid }, 892 /* BA */ { 0, &Ia_Invalid }, 893 /* BB */ { 0, &Ia_Invalid }, 894 /* BC */ { 0, &Ia_Invalid }, 895 /* BD */ { 0, &Ia_Invalid }, 896 /* BE */ { 0, &Ia_Invalid }, 897 /* BF */ { 0, &Ia_Invalid }, 898 /* C0 */ { 0, &Ia_Invalid }, 899 /* C1 */ { 0, &Ia_Invalid }, 900 /* C2 */ { GRPAVX(0fc2) }, 901 /* C3 */ { 0, &Ia_Invalid }, 902 /* C4 */ { GRPSSE66(Ia_vpinsrw_Vdq_Hdq_Ew_Ib) }, 903 /* C5 */ { GRPSSE66(Ia_vpextrw_Gd_Udq_Ib) }, 904 /* C6 */ { GRPAVX2(0fc6) }, 905 /* C7 */ { 0, &Ia_Invalid }, 906 /* C8 */ { 0, &Ia_Invalid }, 907 /* C9 */ { 0, &Ia_Invalid }, 908 /* CA */ { 0, &Ia_Invalid }, 909 /* CB */ { 0, &Ia_Invalid }, 910 /* CC */ { 0, &Ia_Invalid }, 911 /* CD */ { 0, &Ia_Invalid }, 912 /* CE */ { 0, &Ia_Invalid }, 913 /* CF */ { 0, &Ia_Invalid }, 914 /* D0 */ { GRPAVX(0fd0) }, 915 /* D1 */ { GRPSSE66(Ia_vpsrlw_Vdq_Hdq_Wdq) }, 916 /* D2 */ { GRPSSE66(Ia_vpsrld_Vdq_Hdq_Wdq) }, 917 /* D3 */ { GRPSSE66(Ia_vpsrlq_Vdq_Hdq_Wdq) }, 918 /* D4 */ { GRPSSE66(Ia_vpaddq_Vdq_Hdq_Wdq) }, 919 /* D5 */ { GRPSSE66(Ia_vpmullw_Vdq_Hdq_Wdq) }, 920 /* D6 */ { GRPSSE66(Ia_vmovq_Wq_Vq) }, 921 /* D7 */ { GRPSSE66(Ia_vpmovmskb_Gd_Udq) }, 922 /* D8 */ { GRPSSE66(Ia_vpsubusb_Vdq_Hdq_Wdq) }, 923 /* D9 */ { GRPSSE66(Ia_vpsubusw_Vdq_Hdq_Wdq) }, 924 /* DA */ { GRPSSE66(Ia_vpminub_Vdq_Hdq_Wdq) }, 925 /* DB */ { GRPSSE66(Ia_vpand_Vdq_Hdq_Wdq) }, 926 /* DC */ { GRPSSE66(Ia_vpaddusb_Vdq_Hdq_Wdq) }, 927 /* DD */ { GRPSSE66(Ia_vpaddusw_Vdq_Hdq_Wdq) }, 928 /* DE */ { GRPSSE66(Ia_vpmaxub_Vdq_Hdq_Wdq) }, 929 /* DF */ { GRPSSE66(Ia_vpandn_Vdq_Hdq_Wdq) }, 930 /* E0 */ { GRPSSE66(Ia_vpavgb_Vdq_Hdq_Wdq) }, 931 /* E1 */ { GRPSSE66(Ia_vpsraw_Vdq_Hdq_Wdq) }, 932 /* E2 */ { GRPSSE66(Ia_vpsrad_Vdq_Hdq_Wdq) }, 933 /* E3 */ { GRPSSE66(Ia_vpavgw_Vdq_Hdq_Wdq) }, 934 /* E4 */ { GRPSSE66(Ia_vpmulhuw_Vdq_Hdq_Wdq) }, 935 /* E5 */ { GRPSSE66(Ia_vpmulhw_Vdq_Hdq_Wdq) }, 936 /* E6 */ { GRPAVX(0fe6) }, 937 /* E7 */ { GRPSSE66(Ia_vmovntdq_Mdq_Vdq) }, 938 /* E8 */ { GRPSSE66(Ia_vpsubsb_Vdq_Hdq_Wdq) }, 939 /* E9 */ { GRPSSE66(Ia_vpsubsw_Vdq_Hdq_Wdq) }, 940 /* EA */ { GRPSSE66(Ia_vpminsw_Vdq_Hdq_Wdq) }, 941 /* EB */ { GRPSSE66(Ia_vpor_Vdq_Hdq_Wdq) }, 942 /* EC */ { GRPSSE66(Ia_vpaddsb_Vdq_Hdq_Wdq) }, 943 /* ED */ { GRPSSE66(Ia_vpaddsw_Vdq_Hdq_Wdq) }, 944 /* EE */ { GRPSSE66(Ia_vpmaxsw_Vdq_Hdq_Wdq) }, 945 /* EF */ { GRPSSE66(Ia_vpxor_Vdq_Hdq_Wdq) }, 946 /* F0 */ { GRPSSEF2(Ia_vlddqu_Vdq_Mdq) }, 947 /* F1 */ { GRPSSE66(Ia_vpsllw_Vdq_Hdq_Wdq) }, 948 /* F2 */ { GRPSSE66(Ia_vpslld_Vdq_Hdq_Wdq) }, 949 /* F3 */ { GRPSSE66(Ia_vpsllq_Vdq_Hdq_Wdq) }, 950 /* F4 */ { GRPSSE66(Ia_vpmuludq_Vdq_Hdq_Wdq) }, 951 /* F5 */ { GRPSSE66(Ia_vpmaddwd_Vdq_Hdq_Wdq) }, 952 /* F6 */ { GRPSSE66(Ia_vpsadbw_Vdq_Hdq_Wdq) }, 953 /* F7 */ { GRPSSE66(Ia_vmaskmovdqu_Vdq_Udq) }, 954 /* F8 */ { GRPSSE66(Ia_vpsubb_Vdq_Hdq_Wdq) }, 955 /* F9 */ { GRPSSE66(Ia_vpsubw_Vdq_Hdq_Wdq) }, 956 /* FA */ { GRPSSE66(Ia_vpsubd_Vdq_Hdq_Wdq) }, 957 /* FB */ { GRPSSE66(Ia_vpsubq_Vdq_Hdq_Wdq) }, 958 /* FC */ { GRPSSE66(Ia_vpaddb_Vdq_Hdq_Wdq) }, 959 /* FD */ { GRPSSE66(Ia_vpaddw_Vdq_Hdq_Wdq) }, 960 /* FE */ { GRPSSE66(Ia_vpaddd_Vdq_Hdq_Wdq) }, 961 /* FF */ { 0, &Ia_Invalid }, 962 963 // 256 entries for VEX-encoded 0x0F 0x38 opcodes 964 /* 00 */ { GRPSSE66(Ia_vpshufb_Vdq_Hdq_Wdq) }, 965 /* 01 */ { GRPSSE66(Ia_vphaddw_Vdq_Hdq_Wdq) }, 966 /* 02 */ { GRPSSE66(Ia_vphaddd_Vdq_Hdq_Wdq) }, 967 /* 03 */ { GRPSSE66(Ia_vphaddsw_Vdq_Hdq_Wdq) }, 968 /* 04 */ { GRPSSE66(Ia_vpmaddubsw_Vdq_Hdq_Wdq) }, 969 /* 05 */ { GRPSSE66(Ia_vphsubw_Vdq_Hdq_Wdq) }, 970 /* 06 */ { GRPSSE66(Ia_vphsubd_Vdq_Hdq_Wdq) }, 971 /* 07 */ { GRPSSE66(Ia_vphsubsw_Vdq_Hdq_Wdq) }, 972 /* 08 */ { GRPSSE66(Ia_vpsignb_Vdq_Hdq_Wdq) }, 973 /* 09 */ { GRPSSE66(Ia_vpsignw_Vdq_Hdq_Wdq) }, 974 /* 0A */ { GRPSSE66(Ia_vpsignd_Vdq_Hdq_Wdq) }, 975 /* 0B */ { GRPSSE66(Ia_vpmulhrsw_Vdq_Hdq_Wdq) }, 976 /* 0C */ { GRPSSE66(Ia_vpermilps_Vps_Hps_Wps) }, 977 /* 0D */ { GRPSSE66(Ia_vpermilpd_Vpd_Hpd_Wpd) }, 978 /* 0E */ { GRPSSE66(Ia_vtestps_Vps_Wps) }, 979 /* 0F */ { GRPSSE66(Ia_vtestpd_Vpd_Wpd) }, 980 /* 10 */ { 0, &Ia_Invalid }, 981 /* 11 */ { 0, &Ia_Invalid }, 982 /* 12 */ { 0, &Ia_Invalid }, 983 /* 13 */ { GRPSSE66(Ia_vcvtph2ps_Vps_Wq) }, 984 /* 14 */ { 0, &Ia_Invalid }, 985 /* 15 */ { 0, &Ia_Invalid }, 986 /* 16 */ { GRPSSE66(Ia_vpermps_Vps_Hps_Wps) }, 987 /* 17 */ { GRPSSE66(Ia_vptest_Vdq_Wdq) }, 988 /* 18 */ { GRPSSE66(Ia_vbroadcastss_Vps_Wss) }, 989 /* 19 */ { GRPSSE66(Ia_vbroadcastsd_Vpd_Wsd) }, 990 /* 1A */ { GRPSSE66(Ia_vbroadcastf128_Vdq_Mdq) }, 991 /* 1B */ { 0, &Ia_Invalid }, 992 /* 1C */ { GRPSSE66(Ia_vpabsb_Vdq_Hdq_Wdq) }, 993 /* 1D */ { GRPSSE66(Ia_vpabsw_Vdq_Hdq_Wdq) }, 994 /* 1E */ { GRPSSE66(Ia_vpabsd_Vdq_Hdq_Wdq) }, 995 /* 1F */ { 0, &Ia_Invalid }, 996 /* 20 */ { GRPSSE66(Ia_vpmovsxbw_Vdq_Wq) }, 997 /* 21 */ { GRPSSE66(Ia_vpmovsxbd_Vdq_Wd) }, 998 /* 22 */ { GRPSSE66(Ia_vpmovsxbq_Vdq_Ww) }, 999 /* 23 */ { GRPSSE66(Ia_vpmovsxwd_Vdq_Wq) }, 1000 /* 24 */ { GRPSSE66(Ia_vpmovsxwq_Vdq_Wd) }, 1001 /* 25 */ { GRPSSE66(Ia_vpmovsxdq_Vdq_Wq) }, 1002 /* 26 */ { 0, &Ia_Invalid }, 1003 /* 27 */ { 0, &Ia_Invalid }, 1004 /* 28 */ { GRPSSE66(Ia_vpmuldq_Vdq_Hdq_Wdq) }, 1005 /* 29 */ { GRPSSE66(Ia_vpcmpeqq_Vdq_Hdq_Wdq) }, 1006 /* 2A */ { GRPSSE66(Ia_vmovntdqa_Vdq_Mdq) }, 1007 /* 2B */ { GRPSSE66(Ia_vpackusdw_Vdq_Hdq_Wdq) }, 1008 /* 2C */ { GRPSSE66(Ia_vmaskmovps_Vps_Hps_Mps) }, 1009 /* 2D */ { GRPSSE66(Ia_vmaskmovpd_Vpd_Hpd_Mpd) }, 1010 /* 2E */ { GRPSSE66(Ia_vmaskmovps_Mps_Hps_Vps) }, 1011 /* 2F */ { GRPSSE66(Ia_vmaskmovpd_Mpd_Hpd_Vpd) }, 1012 /* 30 */ { GRPSSE66(Ia_vpmovzxbw_Vdq_Wq) }, 1013 /* 31 */ { GRPSSE66(Ia_vpmovzxbd_Vdq_Wd) }, 1014 /* 32 */ { GRPSSE66(Ia_vpmovzxbq_Vdq_Ww) }, 1015 /* 33 */ { GRPSSE66(Ia_vpmovzxwd_Vdq_Wq) }, 1016 /* 34 */ { GRPSSE66(Ia_vpmovzxwq_Vdq_Wd) }, 1017 /* 35 */ { GRPSSE66(Ia_vpmovzxdq_Vdq_Wq) }, 1018 /* 36 */ { GRPSSE66(Ia_vpermd_Vdq_Hdq_Wdq) }, 1019 /* 37 */ { GRPSSE66(Ia_vpcmpgtq_Vdq_Hdq_Wdq) }, 1020 /* 38 */ { GRPSSE66(Ia_vpminsb_Vdq_Hdq_Wdq) }, 1021 /* 39 */ { GRPSSE66(Ia_vpminsd_Vdq_Hdq_Wdq) }, 1022 /* 3A */ { GRPSSE66(Ia_vpminuw_Vdq_Hdq_Wdq) }, 1023 /* 3B */ { GRPSSE66(Ia_vpminud_Vdq_Hdq_Wdq) }, 1024 /* 3C */ { GRPSSE66(Ia_vpmaxsb_Vdq_Hdq_Wdq) }, 1025 /* 3D */ { GRPSSE66(Ia_vpmaxsd_Vdq_Hdq_Wdq) }, 1026 /* 3E */ { GRPSSE66(Ia_vpmaxuw_Vdq_Hdq_Wdq) }, 1027 /* 3F */ { GRPSSE66(Ia_vpmaxud_Vdq_Hdq_Wdq) }, 1028 /* 40 */ { GRPSSE66(Ia_vpmulld_Vdq_Hdq_Wdq) }, 1029 /* 41 */ { GRPSSE66(Ia_vphminposuw_Vdq_Wdq) }, 1030 /* 42 */ { 0, &Ia_Invalid }, 1031 /* 43 */ { 0, &Ia_Invalid }, 1032 /* 44 */ { 0, &Ia_Invalid }, 1033 /* 45 */ { GRPVEXW(0f3845) }, 1034 /* 46 */ { GRPSSE66(Ia_vpsravd_Vdq_Hdq_Wdq) }, 1035 /* 47 */ { GRPVEXW(0f3847) }, 1036 /* 48 */ { 0, &Ia_Invalid }, 1037 /* 49 */ { 0, &Ia_Invalid }, 1038 /* 4A */ { 0, &Ia_Invalid }, 1039 /* 4B */ { 0, &Ia_Invalid }, 1040 /* 4C */ { 0, &Ia_Invalid }, 1041 /* 4D */ { 0, &Ia_Invalid }, 1042 /* 4E */ { 0, &Ia_Invalid }, 1043 /* 4F */ { 0, &Ia_Invalid }, 1044 /* 50 */ { 0, &Ia_Invalid }, 1045 /* 51 */ { 0, &Ia_Invalid }, 1046 /* 52 */ { 0, &Ia_Invalid }, 1047 /* 53 */ { 0, &Ia_Invalid }, 1048 /* 54 */ { 0, &Ia_Invalid }, 1049 /* 55 */ { 0, &Ia_Invalid }, 1050 /* 56 */ { 0, &Ia_Invalid }, 1051 /* 57 */ { 0, &Ia_Invalid }, 1052 /* 58 */ { GRPSSE66(Ia_vpbroadcastd_Vdq_Wd) }, 1053 /* 59 */ { GRPSSE66(Ia_vpbroadcastq_Vdq_Wq) }, 1054 /* 5A */ { GRPSSE66(Ia_vbroadcasti128_Vdq_Mdq) }, 1055 /* 5B */ { 0, &Ia_Invalid }, 1056 /* 5C */ { 0, &Ia_Invalid }, 1057 /* 5D */ { 0, &Ia_Invalid }, 1058 /* 5E */ { 0, &Ia_Invalid }, 1059 /* 5F */ { 0, &Ia_Invalid }, 1060 /* 60 */ { 0, &Ia_Invalid }, 1061 /* 61 */ { 0, &Ia_Invalid }, 1062 /* 62 */ { 0, &Ia_Invalid }, 1063 /* 63 */ { 0, &Ia_Invalid }, 1064 /* 64 */ { 0, &Ia_Invalid }, 1065 /* 65 */ { 0, &Ia_Invalid }, 1066 /* 66 */ { 0, &Ia_Invalid }, 1067 /* 67 */ { 0, &Ia_Invalid }, 1068 /* 68 */ { 0, &Ia_Invalid }, 1069 /* 69 */ { 0, &Ia_Invalid }, 1070 /* 6A */ { 0, &Ia_Invalid }, 1071 /* 6B */ { 0, &Ia_Invalid }, 1072 /* 6C */ { 0, &Ia_Invalid }, 1073 /* 6D */ { 0, &Ia_Invalid }, 1074 /* 6E */ { 0, &Ia_Invalid }, 1075 /* 6F */ { 0, &Ia_Invalid }, 1076 /* 70 */ { 0, &Ia_Invalid }, 1077 /* 71 */ { 0, &Ia_Invalid }, 1078 /* 72 */ { 0, &Ia_Invalid }, 1079 /* 73 */ { 0, &Ia_Invalid }, 1080 /* 74 */ { 0, &Ia_Invalid }, 1081 /* 75 */ { 0, &Ia_Invalid }, 1082 /* 76 */ { 0, &Ia_Invalid }, 1083 /* 77 */ { 0, &Ia_Invalid }, 1084 /* 78 */ { GRPSSE66(Ia_vpbroadcastb_Vdq_Wb) }, 1085 /* 79 */ { GRPSSE66(Ia_vpbroadcastw_Vdq_Ww) }, 1086 /* 7A */ { 0, &Ia_Invalid }, 1087 /* 7B */ { 0, &Ia_Invalid }, 1088 /* 7C */ { 0, &Ia_Invalid }, 1089 /* 7D */ { 0, &Ia_Invalid }, 1090 /* 7E */ { 0, &Ia_Invalid }, 1091 /* 7F */ { 0, &Ia_Invalid }, 1092 /* 80 */ { 0, &Ia_Invalid }, 1093 /* 81 */ { 0, &Ia_Invalid }, 1094 /* 82 */ { 0, &Ia_Invalid }, 1095 /* 83 */ { 0, &Ia_Invalid }, 1096 /* 84 */ { 0, &Ia_Invalid }, 1097 /* 85 */ { 0, &Ia_Invalid }, 1098 /* 86 */ { 0, &Ia_Invalid }, 1099 /* 87 */ { 0, &Ia_Invalid }, 1100 /* 88 */ { 0, &Ia_Invalid }, 1101 /* 89 */ { 0, &Ia_Invalid }, 1102 /* 8A */ { 0, &Ia_Invalid }, 1103 /* 8B */ { 0, &Ia_Invalid }, 1104 /* 8C */ { GRPVEXW(0f388c) }, 1105 /* 8D */ { 0, &Ia_Invalid }, 1106 /* 8E */ { GRPVEXW(0f388e) }, 1107 /* 8F */ { 0, &Ia_Invalid }, 1108 /* 90 */ { GRPVEXW(0f3890) }, 1109 /* 91 */ { GRPVEXW(0f3891) }, 1110 /* 92 */ { GRPVEXW(0f3892) }, 1111 /* 93 */ { GRPVEXW(0f3893) }, 1112 /* 94 */ { 0, &Ia_Invalid }, 1113 /* 95 */ { 0, &Ia_Invalid }, 1114 /* 96 */ { GRPVEXW(0f3896) }, 1115 /* 97 */ { GRPVEXW(0f3897) }, 1116 /* 98 */ { GRPVEXW(0f3898) }, 1117 /* 99 */ { GRPVEXW(0f3899) }, 1118 /* 9A */ { GRPVEXW(0f389a) }, 1119 /* 9B */ { GRPVEXW(0f389b) }, 1120 /* 9C */ { GRPVEXW(0f389c) }, 1121 /* 9D */ { GRPVEXW(0f389d) }, 1122 /* 9E */ { GRPVEXW(0f389e) }, 1123 /* 9F */ { GRPVEXW(0f389f) }, 1124 /* A0 */ { 0, &Ia_Invalid }, 1125 /* A1 */ { 0, &Ia_Invalid }, 1126 /* A2 */ { 0, &Ia_Invalid }, 1127 /* A3 */ { 0, &Ia_Invalid }, 1128 /* A4 */ { 0, &Ia_Invalid }, 1129 /* A5 */ { 0, &Ia_Invalid }, 1130 /* A6 */ { GRPVEXW(0f38a6) }, 1131 /* A7 */ { GRPVEXW(0f38a7) }, 1132 /* A8 */ { GRPVEXW(0f38a8) }, 1133 /* A9 */ { GRPVEXW(0f38a9) }, 1134 /* AA */ { GRPVEXW(0f38aa) }, 1135 /* AB */ { GRPVEXW(0f38ab) }, 1136 /* AC */ { GRPVEXW(0f38ac) }, 1137 /* AD */ { GRPVEXW(0f38ad) }, 1138 /* AE */ { GRPVEXW(0f38ae) }, 1139 /* AF */ { GRPVEXW(0f38af) }, 1140 /* B0 */ { 0, &Ia_Invalid }, 1141 /* B1 */ { 0, &Ia_Invalid }, 1142 /* B2 */ { 0, &Ia_Invalid }, 1143 /* B3 */ { 0, &Ia_Invalid }, 1144 /* B4 */ { 0, &Ia_Invalid }, 1145 /* B5 */ { 0, &Ia_Invalid }, 1146 /* B6 */ { GRPVEXW(0f38b6) }, 1147 /* B7 */ { GRPVEXW(0f38b7) }, 1148 /* B8 */ { GRPVEXW(0f38b8) }, 1149 /* B9 */ { GRPVEXW(0f38b9) }, 1150 /* BA */ { GRPVEXW(0f38ba) }, 1151 /* BB */ { GRPVEXW(0f38bb) }, 1152 /* BC */ { GRPVEXW(0f38bc) }, 1153 /* BD */ { GRPVEXW(0f38bd) }, 1154 /* BE */ { GRPVEXW(0f38be) }, 1155 /* BF */ { GRPVEXW(0f38bf) }, 1156 /* C0 */ { 0, &Ia_Invalid }, 1157 /* C1 */ { 0, &Ia_Invalid }, 1158 /* C2 */ { 0, &Ia_Invalid }, 1159 /* C3 */ { 0, &Ia_Invalid }, 1160 /* C4 */ { 0, &Ia_Invalid }, 1161 /* C5 */ { 0, &Ia_Invalid }, 1162 /* C6 */ { 0, &Ia_Invalid }, 1163 /* C7 */ { 0, &Ia_Invalid }, 1164 /* C8 */ { 0, &Ia_Invalid }, 1165 /* C9 */ { 0, &Ia_Invalid }, 1166 /* CA */ { 0, &Ia_Invalid }, 1167 /* CB */ { 0, &Ia_Invalid }, 1168 /* CC */ { 0, &Ia_Invalid }, 1169 /* CD */ { 0, &Ia_Invalid }, 1170 /* CE */ { 0, &Ia_Invalid }, 1171 /* CF */ { 0, &Ia_Invalid }, 1172 /* D0 */ { 0, &Ia_Invalid }, 1173 /* D1 */ { 0, &Ia_Invalid }, 1174 /* D2 */ { 0, &Ia_Invalid }, 1175 /* D3 */ { 0, &Ia_Invalid }, 1176 /* D4 */ { 0, &Ia_Invalid }, 1177 /* D5 */ { 0, &Ia_Invalid }, 1178 /* D6 */ { 0, &Ia_Invalid }, 1179 /* D7 */ { 0, &Ia_Invalid }, 1180 /* D8 */ { 0, &Ia_Invalid }, 1181 /* D9 */ { 0, &Ia_Invalid }, 1182 /* DA */ { 0, &Ia_Invalid }, 1183 /* DB */ { GRPSSE66(Ia_vaesimc_Vdq_Wdq) }, 1184 /* DC */ { GRPSSE66(Ia_vaesenc_Vdq_Hdq_Wdq) }, 1185 /* DD */ { GRPSSE66(Ia_vaesenclast_Vdq_Hdq_Wdq) }, 1186 /* DE */ { GRPSSE66(Ia_vaesdec_Vdq_Hdq_Wdq) }, 1187 /* DF */ { GRPSSE66(Ia_vaesdeclast_Vdq_Hdq_Wdq) }, 1188 /* E0 */ { 0, &Ia_Invalid }, 1189 /* E1 */ { 0, &Ia_Invalid }, 1190 /* E2 */ { 0, &Ia_Invalid }, 1191 /* E3 */ { 0, &Ia_Invalid }, 1192 /* E4 */ { 0, &Ia_Invalid }, 1193 /* E5 */ { 0, &Ia_Invalid }, 1194 /* E6 */ { 0, &Ia_Invalid }, 1195 /* E7 */ { 0, &Ia_Invalid }, 1196 /* E8 */ { 0, &Ia_Invalid }, 1197 /* E9 */ { 0, &Ia_Invalid }, 1198 /* EA */ { 0, &Ia_Invalid }, 1199 /* EB */ { 0, &Ia_Invalid }, 1200 /* EC */ { 0, &Ia_Invalid }, 1201 /* ED */ { 0, &Ia_Invalid }, 1202 /* EE */ { 0, &Ia_Invalid }, 1203 /* EF */ { 0, &Ia_Invalid }, 1204 /* F0 */ { 0, &Ia_Invalid }, 1205 /* F1 */ { 0, &Ia_Invalid }, 1206 /* F2 */ { 0, &Ia_andn_Gy_By_Ey }, 1207 /* F3 */ { GRPN(AVXG17) }, 1208 /* F4 */ { 0, &Ia_Invalid }, 1209 /* F5 */ { GRPAVX(0f38f5) }, 1210 /* F6 */ { GRPSSEF2(Ia_mulx_By_Gy_Ey) }, 1211 /* F7 */ { GRPAVX(0f38f7) }, 1212 /* F8 */ { 0, &Ia_Invalid }, 1213 /* F9 */ { 0, &Ia_Invalid }, 1214 /* FA */ { 0, &Ia_Invalid }, 1215 /* FB */ { 0, &Ia_Invalid }, 1216 /* FC */ { 0, &Ia_Invalid }, 1217 /* FD */ { 0, &Ia_Invalid }, 1218 /* FE */ { 0, &Ia_Invalid }, 1219 /* FF */ { 0, &Ia_Invalid }, 1220 1221 // 256 entries for VEX-encoded 0x0F 0x3A opcodes 1222 /* 00 */ { GRPVEXW(0f3a00) }, 1223 /* 01 */ { GRPVEXW(0f3a01) }, 1224 /* 02 */ { GRPSSE66(Ia_vpblendd_Vdq_Hdq_Wdq_Ib) }, 1225 /* 03 */ { 0, &Ia_Invalid }, 1226 /* 04 */ { GRPSSE66(Ia_vpermilps_Vps_Wps_Ib) }, 1227 /* 05 */ { GRPSSE66(Ia_vpermilpd_Vpd_Wpd_Ib) }, 1228 /* 06 */ { GRPSSE66(Ia_vperm2f128_Vdq_Hdq_Wdq_Ib) }, 1229 /* 07 */ { 0, &Ia_Invalid }, 1230 /* 08 */ { GRPSSE66(Ia_vroundps_Vps_Wps_Ib) }, 1231 /* 09 */ { GRPSSE66(Ia_vroundpd_Vpd_Wpd_Ib) }, 1232 /* 0A */ { GRPSSE66(Ia_vroundss_Vss_Hps_Wss_Ib) }, 1233 /* 0B */ { GRPSSE66(Ia_vroundsd_Vsd_Hpd_Wsd_Ib) }, 1234 /* 0C */ { GRPSSE66(Ia_vblendps_Vps_Hps_Wps_Ib) }, 1235 /* 0D */ { GRPSSE66(Ia_vblendpd_Vpd_Hpd_Wpd_Ib) }, 1236 /* 0E */ { GRPSSE66(Ia_vpblendw_Vdq_Hdq_Wdq_Ib) }, 1237 /* 0F */ { GRPSSE66(Ia_vpalignr_Vdq_Hdq_Wdq_Ib) }, 1238 /* 10 */ { 0, &Ia_Invalid }, 1239 /* 11 */ { 0, &Ia_Invalid }, 1240 /* 12 */ { 0, &Ia_Invalid }, 1241 /* 13 */ { 0, &Ia_Invalid }, 1242 /* 14 */ { GRPSSE66(Ia_vpextrb_Ebd_Vdq_Ib) }, 1243 /* 15 */ { GRPSSE66(Ia_vpextrw_Ewd_Vdq_Ib) }, 1244 /* 16 */ { GRPVEXW(0f3a16) }, 1245 /* 17 */ { GRPSSE66(Ia_vextractps_Ed_Vdq_Ib) }, 1246 /* 18 */ { GRPSSE66(Ia_vinsertf128_Vdq_Hdq_Wdq_Ib) }, 1247 /* 19 */ { GRPSSE66(Ia_vextractf128_Wdq_Vdq_Ib) }, 1248 /* 1A */ { 0, &Ia_Invalid }, 1249 /* 1B */ { 0, &Ia_Invalid }, 1250 /* 1C */ { 0, &Ia_Invalid }, 1251 /* 1D */ { GRPSSE66(Ia_vcvtps2ph_Wq_Vps_Ib) }, 1252 /* 1E */ { 0, &Ia_Invalid }, 1253 /* 1F */ { 0, &Ia_Invalid }, 1254 /* 20 */ { GRPSSE66(Ia_vpinsrb_Vdq_Hdq_Ew_Ib) }, 1255 /* 21 */ { GRPSSE66(Ia_vinsertps_Vps_Hps_Wss_Ib) }, 1256 /* 22 */ { GRPVEXW(0f3a22) }, 1257 /* 23 */ { 0, &Ia_Invalid }, 1258 /* 24 */ { 0, &Ia_Invalid }, 1259 /* 25 */ { 0, &Ia_Invalid }, 1260 /* 26 */ { 0, &Ia_Invalid }, 1261 /* 27 */ { 0, &Ia_Invalid }, 1262 /* 28 */ { 0, &Ia_Invalid }, 1263 /* 29 */ { 0, &Ia_Invalid }, 1264 /* 2A */ { 0, &Ia_Invalid }, 1265 /* 2B */ { 0, &Ia_Invalid }, 1266 /* 2C */ { 0, &Ia_Invalid }, 1267 /* 2D */ { 0, &Ia_Invalid }, 1268 /* 2E */ { 0, &Ia_Invalid }, 1269 /* 2F */ { 0, &Ia_Invalid }, 1270 /* 30 */ { 0, &Ia_Invalid }, 1271 /* 31 */ { 0, &Ia_Invalid }, 1272 /* 32 */ { 0, &Ia_Invalid }, 1273 /* 33 */ { 0, &Ia_Invalid }, 1274 /* 34 */ { 0, &Ia_Invalid }, 1275 /* 35 */ { 0, &Ia_Invalid }, 1276 /* 36 */ { 0, &Ia_Invalid }, 1277 /* 37 */ { 0, &Ia_Invalid }, 1278 /* 38 */ { GRPSSE66(Ia_vinserti128_Vdq_Hdq_Wdq_Ib) }, 1279 /* 39 */ { GRPSSE66(Ia_vextracti128_Wdq_Vdq_Ib) }, 1280 /* 3A */ { 0, &Ia_Invalid }, 1281 /* 3B */ { 0, &Ia_Invalid }, 1282 /* 3C */ { 0, &Ia_Invalid }, 1283 /* 3D */ { 0, &Ia_Invalid }, 1284 /* 3E */ { 0, &Ia_Invalid }, 1285 /* 3F */ { 0, &Ia_Invalid }, 1286 /* 40 */ { GRPSSE66(Ia_vdpps_Vps_Hps_Wps_Ib) }, 1287 /* 41 */ { GRPSSE66(Ia_vdppd_Vpd_Hpd_Wpd_Ib) }, 1288 /* 42 */ { GRPSSE66(Ia_vmpsadbw_Vdq_Hdq_Wdq_Ib) }, 1289 /* 43 */ { 0, &Ia_Invalid }, 1290 /* 44 */ { GRPSSE66(Ia_vpclmulqdq_Vdq_Hdq_Wdq_Ib) }, 1291 /* 45 */ { 0, &Ia_Invalid }, 1292 /* 46 */ { GRPSSE66(Ia_vperm2i128_Vdq_Hdq_Wdq_Ib) }, 1293 /* 47 */ { 0, &Ia_Invalid }, 1294 /* 48 */ { 0, &Ia_Invalid }, 1295 /* 49 */ { 0, &Ia_Invalid }, 1296 /* 4A */ { GRPSSE66(Ia_vblendvps_Vps_Hps_Wps_Ib) }, 1297 /* 4B */ { GRPSSE66(Ia_vblendvpd_Vpd_Hpd_Wpd_Ib) }, 1298 /* 4C */ { GRPSSE66(Ia_vpblendvb_Vdq_Hdq_Wdq_Ib) }, 1299 /* 4D */ { 0, &Ia_Invalid }, 1300 /* 4E */ { 0, &Ia_Invalid }, 1301 /* 4F */ { 0, &Ia_Invalid }, 1302 /* 50 */ { 0, &Ia_Invalid }, 1303 /* 51 */ { 0, &Ia_Invalid }, 1304 /* 52 */ { 0, &Ia_Invalid }, 1305 /* 53 */ { 0, &Ia_Invalid }, 1306 /* 54 */ { 0, &Ia_Invalid }, 1307 /* 55 */ { 0, &Ia_Invalid }, 1308 /* 56 */ { 0, &Ia_Invalid }, 1309 /* 57 */ { 0, &Ia_Invalid }, 1310 /* 58 */ { 0, &Ia_Invalid }, 1311 /* 59 */ { 0, &Ia_Invalid }, 1312 /* 5A */ { 0, &Ia_Invalid }, 1313 /* 5B */ { 0, &Ia_Invalid }, 1314 /* 5C */ { GRPVEXW(0f3a5c) }, 1315 /* 5D */ { GRPVEXW(0f3a5d) }, 1316 /* 5E */ { GRPVEXW(0f3a5e) }, 1317 /* 5F */ { GRPVEXW(0f3a5f) }, 1318 /* 60 */ { GRPSSE66(Ia_vpcmpestrm_Vdq_Wdq_Ib) }, 1319 /* 61 */ { GRPSSE66(Ia_vpcmpestri_Vdq_Wdq_Ib) }, 1320 /* 62 */ { GRPSSE66(Ia_vpcmpistrm_Vdq_Wdq_Ib) }, 1321 /* 63 */ { GRPSSE66(Ia_vpcmpistri_Vdq_Wdq_Ib) }, 1322 /* 64 */ { 0, &Ia_Invalid }, 1323 /* 65 */ { 0, &Ia_Invalid }, 1324 /* 66 */ { 0, &Ia_Invalid }, 1325 /* 67 */ { 0, &Ia_Invalid }, 1326 /* 68 */ { GRPVEXW(0f3a68) }, 1327 /* 69 */ { GRPVEXW(0f3a69) }, 1328 /* 6A */ { GRPVEXW(0f3a6a) }, 1329 /* 6B */ { GRPVEXW(0f3a6b) }, 1330 /* 6C */ { GRPVEXW(0f3a6c) }, 1331 /* 6D */ { GRPVEXW(0f3a6d) }, 1332 /* 6E */ { GRPVEXW(0f3a6e) }, 1333 /* 6F */ { GRPVEXW(0f3a6f) }, 1334 /* 70 */ { 0, &Ia_Invalid }, 1335 /* 71 */ { 0, &Ia_Invalid }, 1336 /* 72 */ { 0, &Ia_Invalid }, 1337 /* 73 */ { 0, &Ia_Invalid }, 1338 /* 74 */ { 0, &Ia_Invalid }, 1339 /* 75 */ { 0, &Ia_Invalid }, 1340 /* 76 */ { 0, &Ia_Invalid }, 1341 /* 77 */ { 0, &Ia_Invalid }, 1342 /* 78 */ { GRPVEXW(0f3a78) }, 1343 /* 79 */ { GRPVEXW(0f3a79) }, 1344 /* 7A */ { GRPVEXW(0f3a7a) }, 1345 /* 7B */ { GRPVEXW(0f3a7b) }, 1346 /* 7C */ { GRPVEXW(0f3a7c) }, 1347 /* 7D */ { GRPVEXW(0f3a7d) }, 1348 /* 7E */ { GRPVEXW(0f3a7e) }, 1349 /* 7F */ { GRPVEXW(0f3a7f) }, 1350 /* 80 */ { 0, &Ia_Invalid }, 1351 /* 81 */ { 0, &Ia_Invalid }, 1352 /* 82 */ { 0, &Ia_Invalid }, 1353 /* 83 */ { 0, &Ia_Invalid }, 1354 /* 84 */ { 0, &Ia_Invalid }, 1355 /* 85 */ { 0, &Ia_Invalid }, 1356 /* 86 */ { 0, &Ia_Invalid }, 1357 /* 87 */ { 0, &Ia_Invalid }, 1358 /* 88 */ { 0, &Ia_Invalid }, 1359 /* 89 */ { 0, &Ia_Invalid }, 1360 /* 8A */ { 0, &Ia_Invalid }, 1361 /* 8B */ { 0, &Ia_Invalid }, 1362 /* 8C */ { 0, &Ia_Invalid }, 1363 /* 8D */ { 0, &Ia_Invalid }, 1364 /* 8E */ { 0, &Ia_Invalid }, 1365 /* 8F */ { 0, &Ia_Invalid }, 1366 /* 90 */ { 0, &Ia_Invalid }, 1367 /* 91 */ { 0, &Ia_Invalid }, 1368 /* 92 */ { 0, &Ia_Invalid }, 1369 /* 93 */ { 0, &Ia_Invalid }, 1370 /* 94 */ { 0, &Ia_Invalid }, 1371 /* 95 */ { 0, &Ia_Invalid }, 1372 /* 96 */ { 0, &Ia_Invalid }, 1373 /* 97 */ { 0, &Ia_Invalid }, 1374 /* 98 */ { 0, &Ia_Invalid }, 1375 /* 99 */ { 0, &Ia_Invalid }, 1376 /* 9A */ { 0, &Ia_Invalid }, 1377 /* 9B */ { 0, &Ia_Invalid }, 1378 /* 9C */ { 0, &Ia_Invalid }, 1379 /* 9D */ { 0, &Ia_Invalid }, 1380 /* 9E */ { 0, &Ia_Invalid }, 1381 /* 9F */ { 0, &Ia_Invalid }, 1382 /* A0 */ { 0, &Ia_Invalid }, 1383 /* A1 */ { 0, &Ia_Invalid }, 1384 /* A2 */ { 0, &Ia_Invalid }, 1385 /* A3 */ { 0, &Ia_Invalid }, 1386 /* A4 */ { 0, &Ia_Invalid }, 1387 /* A5 */ { 0, &Ia_Invalid }, 1388 /* A6 */ { 0, &Ia_Invalid }, 1389 /* A7 */ { 0, &Ia_Invalid }, 1390 /* A8 */ { 0, &Ia_Invalid }, 1391 /* A9 */ { 0, &Ia_Invalid }, 1392 /* AA */ { 0, &Ia_Invalid }, 1393 /* AB */ { 0, &Ia_Invalid }, 1394 /* AC */ { 0, &Ia_Invalid }, 1395 /* AD */ { 0, &Ia_Invalid }, 1396 /* AE */ { 0, &Ia_Invalid }, 1397 /* AF */ { 0, &Ia_Invalid }, 1398 /* B0 */ { 0, &Ia_Invalid }, 1399 /* B1 */ { 0, &Ia_Invalid }, 1400 /* B2 */ { 0, &Ia_Invalid }, 1401 /* B3 */ { 0, &Ia_Invalid }, 1402 /* B4 */ { 0, &Ia_Invalid }, 1403 /* B5 */ { 0, &Ia_Invalid }, 1404 /* B6 */ { 0, &Ia_Invalid }, 1405 /* B7 */ { 0, &Ia_Invalid }, 1406 /* B8 */ { 0, &Ia_Invalid }, 1407 /* B9 */ { 0, &Ia_Invalid }, 1408 /* BA */ { 0, &Ia_Invalid }, 1409 /* BB */ { 0, &Ia_Invalid }, 1410 /* BC */ { 0, &Ia_Invalid }, 1411 /* BD */ { 0, &Ia_Invalid }, 1412 /* BE */ { 0, &Ia_Invalid }, 1413 /* BF */ { 0, &Ia_Invalid }, 1414 /* C0 */ { 0, &Ia_Invalid }, 1415 /* C1 */ { 0, &Ia_Invalid }, 1416 /* C2 */ { 0, &Ia_Invalid }, 1417 /* C3 */ { 0, &Ia_Invalid }, 1418 /* C4 */ { 0, &Ia_Invalid }, 1419 /* C5 */ { 0, &Ia_Invalid }, 1420 /* C6 */ { 0, &Ia_Invalid }, 1421 /* C7 */ { 0, &Ia_Invalid }, 1422 /* C8 */ { 0, &Ia_Invalid }, 1423 /* C9 */ { 0, &Ia_Invalid }, 1424 /* CA */ { 0, &Ia_Invalid }, 1425 /* CB */ { 0, &Ia_Invalid }, 1426 /* CC */ { 0, &Ia_Invalid }, 1427 /* CD */ { 0, &Ia_Invalid }, 1428 /* CE */ { 0, &Ia_Invalid }, 1429 /* CF */ { 0, &Ia_Invalid }, 1430 /* D0 */ { 0, &Ia_Invalid }, 1431 /* D1 */ { 0, &Ia_Invalid }, 1432 /* D2 */ { 0, &Ia_Invalid }, 1433 /* D3 */ { 0, &Ia_Invalid }, 1434 /* D4 */ { 0, &Ia_Invalid }, 1435 /* D5 */ { 0, &Ia_Invalid }, 1436 /* D6 */ { 0, &Ia_Invalid }, 1437 /* D7 */ { 0, &Ia_Invalid }, 1438 /* D8 */ { 0, &Ia_Invalid }, 1439 /* D9 */ { 0, &Ia_Invalid }, 1440 /* DA */ { 0, &Ia_Invalid }, 1441 /* DB */ { 0, &Ia_Invalid }, 1442 /* DC */ { 0, &Ia_Invalid }, 1443 /* DD */ { 0, &Ia_Invalid }, 1444 /* DE */ { 0, &Ia_Invalid }, 1445 /* DF */ { GRPSSE66(Ia_vaeskeygenassist_Vdq_Wdq_Ib) }, 1446 /* E0 */ { 0, &Ia_Invalid }, 1447 /* E1 */ { 0, &Ia_Invalid }, 1448 /* E2 */ { 0, &Ia_Invalid }, 1449 /* E3 */ { 0, &Ia_Invalid }, 1450 /* E4 */ { 0, &Ia_Invalid }, 1451 /* E5 */ { 0, &Ia_Invalid }, 1452 /* E6 */ { 0, &Ia_Invalid }, 1453 /* E7 */ { 0, &Ia_Invalid }, 1454 /* E8 */ { 0, &Ia_Invalid }, 1455 /* E9 */ { 0, &Ia_Invalid }, 1456 /* EA */ { 0, &Ia_Invalid }, 1457 /* EB */ { 0, &Ia_Invalid }, 1458 /* EC */ { 0, &Ia_Invalid }, 1459 /* ED */ { 0, &Ia_Invalid }, 1460 /* EE */ { 0, &Ia_Invalid }, 1461 /* EF */ { 0, &Ia_Invalid }, 1462 /* F0 */ { 0, &Ia_rorx_Gy_Ey_Ib }, 1463 /* F1 */ { 0, &Ia_Invalid }, 1464 /* F2 */ { 0, &Ia_Invalid }, 1465 /* F3 */ { 0, &Ia_Invalid }, 1466 /* F4 */ { 0, &Ia_Invalid }, 1467 /* F5 */ { 0, &Ia_Invalid }, 1468 /* F6 */ { 0, &Ia_Invalid }, 1469 /* F7 */ { 0, &Ia_Invalid }, 1470 /* F8 */ { 0, &Ia_Invalid }, 1471 /* F9 */ { 0, &Ia_Invalid }, 1472 /* FA */ { 0, &Ia_Invalid }, 1473 /* FB */ { 0, &Ia_Invalid }, 1474 /* FC */ { 0, &Ia_Invalid }, 1475 /* FD */ { 0, &Ia_Invalid }, 1476 /* FE */ { 0, &Ia_Invalid }, 1477 /* FF */ { 0, &Ia_Invalid } 1478}; 1479