///////////////////////////////////////////////////////////////////////// // $Id: dis_tables_sse.inc 11878 2013-10-11 20:09:51Z sshwarts $ ///////////////////////////////////////////////////////////////////////// // // Copyright (c) 2005-2013 Stanislav Shwartsman // Written by Stanislav Shwartsman [sshwarts at sourceforge net] // // This library is free software; you can redistribute it and/or // modify it under the terms of the GNU Lesser General Public // License as published by the Free Software Foundation; either // version 2 of the License, or (at your option) any later version. // // This library is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU // Lesser General Public License for more details. // // You should have received a copy of the GNU Lesser General Public // License along with this library; if not, write to the Free Software // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA // ///////////////////////////////////////////////////////////////////////// /* ************************************************************************ */ /* SSE opcodes */ static BxDisasmOpcodeTable_t BxDisasmGroupSSE_ERR[4] = { /* -- */ { 0, &Ia_Invalid }, /* 66 */ { 0, &Ia_Invalid }, /* F3 */ { 0, &Ia_Invalid }, /* F2 */ { 0, &Ia_Invalid } }; static BxDisasmOpcodeTable_t BxDisasmGroupSSE_0f10[4] = { /* -- */ { 0, &Ia_movups_Vps_Wps }, /* 66 */ { 0, &Ia_movupd_Vpd_Wpd }, /* F3 */ { 0, &Ia_movss_Vss_Wss }, /* F2 */ { 0, &Ia_movsd_Vsd_Wsd } }; static BxDisasmOpcodeTable_t BxDisasmGroupSSE_0f11[4] = { /* -- */ { 0, &Ia_movups_Wps_Vps }, /* 66 */ { 0, &Ia_movupd_Wpd_Vpd }, /* F3 */ { 0, &Ia_movss_Wss_Vss }, /* F2 */ { 0, &Ia_movsd_Wsd_Vsd } }; static BxDisasmOpcodeTable_t BxDisasmGroupModMOVHLPS[2] = { /* R */ { 0, &Ia_movhlps_Vps_Udq }, /* M */ { 0, &Ia_movlps_Vps_Mq } }; static BxDisasmOpcodeTable_t BxDisasmGroupSSE_0f12[4] = { /* -- */ { GRPMOD(MOVHLPS) }, /* 66 */ { 0, &Ia_movlpd_Vpd_Mq }, /* F3 */ { 0, &Ia_movsldup_Vdq_Wdq }, /* F2 */ { 0, &Ia_movddup_Vdq_Wq } }; static BxDisasmOpcodeTable_t BxDisasmGroupSSE_0f13[2] = { /* -- */ { 0, &Ia_movlps_Mq_Vps }, /* 66 */ { 0, &Ia_movlpd_Mq_Vpd } }; static BxDisasmOpcodeTable_t BxDisasmGroupSSE_0f14[2] = { /* -- */ { 0, &Ia_unpcklps_Vps_Wps }, /* 66 */ { 0, &Ia_unpcklpd_Vpd_Wpd } }; static BxDisasmOpcodeTable_t BxDisasmGroupSSE_0f15[2] = { /* -- */ { 0, &Ia_unpckhps_Vps_Wps }, /* 66 */ { 0, &Ia_unpckhpd_Vpd_Wpd } }; static BxDisasmOpcodeTable_t BxDisasmGroupModMOVLHPS[2] = { /* R */ { 0, &Ia_movlhps_Vps_Udq }, /* M */ { 0, &Ia_movhps_Vps_Mq } }; static BxDisasmOpcodeTable_t BxDisasmGroupSSE_0f16[4] = { /* -- */ { GRPMOD(MOVLHPS) }, /* 66 */ { 0, &Ia_movhpd_Vpd_Mq }, /* F3 */ { 0, &Ia_movshdup_Vdq_Wdq }, /* F2 */ { 0, &Ia_Invalid } }; static BxDisasmOpcodeTable_t BxDisasmGroupSSE_0f17[2] = { /* -- */ { 0, &Ia_movhps_Mq_Vps }, /* 66 */ { 0, &Ia_movhpd_Mq_Vpd }, }; static BxDisasmOpcodeTable_t BxDisasmGroupSSE_0f28[2] = { /* -- */ { 0, &Ia_movaps_Vps_Wps }, /* 66 */ { 0, &Ia_movapd_Vpd_Wpd } }; static BxDisasmOpcodeTable_t BxDisasmGroupSSE_0f29[2] = { /* -- */ { 0, &Ia_movaps_Wps_Vps }, /* 66 */ { 0, &Ia_movapd_Wpd_Vpd } }; static BxDisasmOpcodeTable_t BxDisasmGroupSSE_0f2a[4] = { /* -- */ { 0, &Ia_cvtpi2ps_Vps_Qq }, /* 66 */ { 0, &Ia_cvtpi2pd_Vpd_Qq }, /* F3 */ { 0, &Ia_cvtsi2ss_Vss_Ey }, /* F2 */ { 0, &Ia_cvtsi2sd_Vsd_Ey } }; static BxDisasmOpcodeTable_t BxDisasmGroupSSE_0f2b[4] = { /* -- */ { 0, &Ia_movntps_Mps_Vps }, /* 66 */ { 0, &Ia_movntpd_Mpd_Vpd }, /* F3 */ { 0, &Ia_movntss_Mss_Vss }, // SSE4A /* F2 */ { 0, &Ia_movntsd_Msd_Vsd } // SSE4A }; static BxDisasmOpcodeTable_t BxDisasmGroupSSE_0f2c[4] = { /* -- */ { 0, &Ia_cvttps2pi_Pq_Wps }, /* 66 */ { 0, &Ia_cvttpd2pi_Pq_Wpd }, /* F3 */ { 0, &Ia_cvttss2si_Gy_Wss }, /* F2 */ { 0, &Ia_cvttsd2si_Gy_Wsd } }; static BxDisasmOpcodeTable_t BxDisasmGroupSSE_0f2d[4] = { /* -- */ { 0, &Ia_cvtps2pi_Pq_Wps }, /* 66 */ { 0, &Ia_cvtpd2pi_Pq_Wpd }, /* F3 */ { 0, &Ia_cvtss2si_Gy_Wss }, /* F2 */ { 0, &Ia_cvtsd2si_Gy_Wsd } }; static BxDisasmOpcodeTable_t BxDisasmGroupSSE_0f2e[2] = { /* -- */ { 0, &Ia_ucomiss_Vss_Wss }, /* 66 */ { 0, &Ia_ucomisd_Vsd_Wsd } }; static BxDisasmOpcodeTable_t BxDisasmGroupSSE_0f2f[2] = { /* -- */ { 0, &Ia_comiss_Vss_Wss }, /* 66 */ { 0, &Ia_comisd_Vsd_Wsd } }; static BxDisasmOpcodeTable_t BxDisasmGroupSSE_0f50[2] = { /* -- */ { 0, &Ia_movmskps_Gd_Ups }, /* 66 */ { 0, &Ia_movmskpd_Gd_Upd } }; static BxDisasmOpcodeTable_t BxDisasmGroupSSE_0f51[4] = { /* -- */ { 0, &Ia_sqrtps_Vps_Wps }, /* 66 */ { 0, &Ia_sqrtpd_Vpd_Wpd }, /* F3 */ { 0, &Ia_sqrtss_Vss_Wss }, /* F2 */ { 0, &Ia_sqrtsd_Vsd_Wsd } }; static BxDisasmOpcodeTable_t BxDisasmGroupSSE_0f52[4] = { /* -- */ { 0, &Ia_rsqrtps_Vps_Wps }, /* 66 */ { 0, &Ia_Invalid }, /* F3 */ { 0, &Ia_rsqrtss_Vss_Wss }, /* F2 */ { 0, &Ia_Invalid } }; static BxDisasmOpcodeTable_t BxDisasmGroupSSE_0f53[4] = { /* -- */ { 0, &Ia_rcpps_Vps_Wps }, /* 66 */ { 0, &Ia_Invalid }, /* F3 */ { 0, &Ia_rcpss_Vss_Wss }, /* F2 */ { 0, &Ia_Invalid } }; static BxDisasmOpcodeTable_t BxDisasmGroupSSE_0f54[2] = { /* -- */ { 0, &Ia_andps_Vps_Wps }, /* 66 */ { 0, &Ia_andpd_Vpd_Wpd } }; static BxDisasmOpcodeTable_t BxDisasmGroupSSE_0f55[2] = { /* -- */ { 0, &Ia_andnps_Vps_Wps }, /* 66 */ { 0, &Ia_andnpd_Vpd_Wpd } }; static BxDisasmOpcodeTable_t BxDisasmGroupSSE_0f56[2] = { /* -- */ { 0, &Ia_orps_Vps_Wps }, /* 66 */ { 0, &Ia_orpd_Vpd_Wpd } }; static BxDisasmOpcodeTable_t BxDisasmGroupSSE_0f57[2] = { /* -- */ { 0, &Ia_xorps_Vps_Wps }, /* 66 */ { 0, &Ia_xorpd_Vpd_Wpd }, }; static BxDisasmOpcodeTable_t BxDisasmGroupSSE_0f58[4] = { /* -- */ { 0, &Ia_addps_Vps_Wps }, /* 66 */ { 0, &Ia_addpd_Vpd_Wpd }, /* F3 */ { 0, &Ia_addss_Vss_Wss }, /* F2 */ { 0, &Ia_addsd_Vsd_Wsd } }; static BxDisasmOpcodeTable_t BxDisasmGroupSSE_0f59[4] = { /* -- */ { 0, &Ia_mulps_Vps_Wps }, /* 66 */ { 0, &Ia_mulpd_Vpd_Wpd }, /* F3 */ { 0, &Ia_mulss_Vss_Wss }, /* F2 */ { 0, &Ia_mulsd_Vsd_Wsd } }; static BxDisasmOpcodeTable_t BxDisasmGroupSSE_0f5a[4] = { /* -- */ { 0, &Ia_cvtps2pd_Vpd_Wps }, /* 66 */ { 0, &Ia_cvtpd2ps_Vps_Wpd }, /* F3 */ { 0, &Ia_cvtss2sd_Vsd_Wss }, /* F2 */ { 0, &Ia_cvtsd2ss_Vss_Wsd } }; static BxDisasmOpcodeTable_t BxDisasmGroupSSE_0f5b[4] = { /* -- */ { 0, &Ia_cvtdq2ps_Vps_Wdq }, /* 66 */ { 0, &Ia_cvtps2dq_Vdq_Wps }, /* F3 */ { 0, &Ia_cvttps2dq_Vdq_Wps }, /* F2 */ { 0, &Ia_Invalid } }; static BxDisasmOpcodeTable_t BxDisasmGroupSSE_0f5c[4] = { /* -- */ { 0, &Ia_subps_Vps_Wps }, /* 66 */ { 0, &Ia_subpd_Vpd_Wpd }, /* F3 */ { 0, &Ia_subss_Vss_Wss }, /* F2 */ { 0, &Ia_subsd_Vsd_Wsd } }; static BxDisasmOpcodeTable_t BxDisasmGroupSSE_0f5d[4] = { /* -- */ { 0, &Ia_minps_Vps_Wps }, /* 66 */ { 0, &Ia_minpd_Vpd_Wpd }, /* F3 */ { 0, &Ia_minss_Vss_Wss }, /* F2 */ { 0, &Ia_minsd_Vsd_Wsd } }; static BxDisasmOpcodeTable_t BxDisasmGroupSSE_0f5e[4] = { /* -- */ { 0, &Ia_divps_Vps_Wps }, /* 66 */ { 0, &Ia_divpd_Vpd_Wpd }, /* F3 */ { 0, &Ia_divss_Vss_Wss }, /* F2 */ { 0, &Ia_divsd_Vsd_Wsd } }; static BxDisasmOpcodeTable_t BxDisasmGroupSSE_0f5f[4] = { /* -- */ { 0, &Ia_maxps_Vps_Wps }, /* 66 */ { 0, &Ia_maxpd_Vpd_Wpd }, /* F3 */ { 0, &Ia_maxss_Vss_Wss }, /* F2 */ { 0, &Ia_maxsd_Vsd_Wsd } }; static BxDisasmOpcodeTable_t BxDisasmGroupSSE_0f60[2] = { /* -- */ { 0, &Ia_punpcklbw_Pq_Qd }, /* 66 */ { 0, &Ia_punpcklbw_Vdq_Wdq } }; static BxDisasmOpcodeTable_t BxDisasmGroupSSE_0f61[2] = { /* -- */ { 0, &Ia_punpcklwd_Pq_Qd }, /* 66 */ { 0, &Ia_punpcklwd_Vdq_Wdq } }; static BxDisasmOpcodeTable_t BxDisasmGroupSSE_0f62[2] = { /* -- */ { 0, &Ia_punpckldq_Pq_Qd }, /* 66 */ { 0, &Ia_punpckldq_Vdq_Wdq } }; static BxDisasmOpcodeTable_t BxDisasmGroupSSE_0f63[2] = { /* -- */ { 0, &Ia_packsswb_Pq_Qq }, /* 66 */ { 0, &Ia_packsswb_Vdq_Wdq } }; static BxDisasmOpcodeTable_t BxDisasmGroupSSE_0f64[2] = { /* -- */ { 0, &Ia_pcmpgtb_Pq_Qq }, /* 66 */ { 0, &Ia_pcmpgtb_Vdq_Wdq } }; static BxDisasmOpcodeTable_t BxDisasmGroupSSE_0f65[2] = { /* -- */ { 0, &Ia_pcmpgtw_Pq_Qq }, /* 66 */ { 0, &Ia_pcmpgtw_Vdq_Wdq } }; static BxDisasmOpcodeTable_t BxDisasmGroupSSE_0f66[2] = { /* -- */ { 0, &Ia_pcmpgtd_Pq_Qq }, /* 66 */ { 0, &Ia_pcmpgtd_Vdq_Wdq } }; static BxDisasmOpcodeTable_t BxDisasmGroupSSE_0f67[2] = { /* -- */ { 0, &Ia_packuswb_Pq_Qq }, /* 66 */ { 0, &Ia_packuswb_Vdq_Wdq } }; static BxDisasmOpcodeTable_t BxDisasmGroupSSE_0f68[2] = { /* -- */ { 0, &Ia_punpckhbw_Pq_Qq }, /* 66 */ { 0, &Ia_punpckhbw_Vdq_Wdq } }; static BxDisasmOpcodeTable_t BxDisasmGroupSSE_0f69[2] = { /* -- */ { 0, &Ia_punpckhwd_Pq_Qq }, /* 66 */ { 0, &Ia_punpckhwd_Vdq_Wdq } }; static BxDisasmOpcodeTable_t BxDisasmGroupSSE_0f6a[2] = { /* -- */ { 0, &Ia_punpckhdq_Pq_Qq }, /* 66 */ { 0, &Ia_punpckhdq_Vdq_Wdq } }; static BxDisasmOpcodeTable_t BxDisasmGroupSSE_0f6b[2] = { /* -- */ { 0, &Ia_packssdw_Pq_Qq }, /* 66 */ { 0, &Ia_packssdw_Vdq_Wdq } }; static BxDisasmOpcodeTable_t BxDisasmGroupSSE_0f6e[2] = { /* -- */ { 0, &Ia_movd_Pq_Ed }, /* 66 */ { 0, &Ia_movd_Vdq_Ed } }; static BxDisasmOpcodeTable_t BxDisasmGroupSSE_0f6eQ[2] = { /* -- */ { 0, &Ia_movq_Pq_Eq }, /* 66 */ { 0, &Ia_movq_Vdq_Eq } }; static BxDisasmOpcodeTable_t BxDisasmGroupSSE_0f6f[4] = { /* -- */ { 0, &Ia_movq_Pq_Qq }, /* 66 */ { 0, &Ia_movdqa_Vdq_Wdq }, /* F3 */ { 0, &Ia_movdqu_Vdq_Wdq }, /* F2 */ { 0, &Ia_Invalid } }; static BxDisasmOpcodeTable_t BxDisasmGroupSSE_0f70[4] = { /* -- */ { 0, &Ia_pshufw_Pq_Qq_Ib }, /* 66 */ { 0, &Ia_pshufd_Vdq_Wdq_Ib }, /* F3 */ { 0, &Ia_pshufhw_Vdq_Wdq_Ib }, /* F2 */ { 0, &Ia_pshuflw_Vdq_Wdq_Ib } }; static BxDisasmOpcodeTable_t BxDisasmGroupSSE_0f74[2] = { /* -- */ { 0, &Ia_pcmpeqb_Pq_Qq }, /* 66 */ { 0, &Ia_pcmpeqb_Vdq_Wdq } }; static BxDisasmOpcodeTable_t BxDisasmGroupSSE_0f75[2] = { /* -- */ { 0, &Ia_pcmpeqw_Pq_Qq }, /* 66 */ { 0, &Ia_pcmpeqw_Vdq_Wdq } }; static BxDisasmOpcodeTable_t BxDisasmGroupSSE_0f76[2] = { /* -- */ { 0, &Ia_pcmpeqd_Pq_Qq }, /* 66 */ { 0, &Ia_pcmpeqd_Vdq_Wdq } }; static BxDisasmOpcodeTable_t BxDisasmGroupSSE4A_G17[8] = { /* 0 */ { 0, &Ia_extrq_Udq_Ib_Ib }, // SSE4A /* 1 */ { 0, &Ia_Invalid }, /* 2 */ { 0, &Ia_Invalid }, /* 3 */ { 0, &Ia_Invalid }, /* 4 */ { 0, &Ia_Invalid }, /* 5 */ { 0, &Ia_Invalid }, /* 6 */ { 0, &Ia_Invalid }, /* 7 */ { 0, &Ia_Invalid } }; static BxDisasmOpcodeTable_t BxDisasmGroupSSE_0f78[4] = { /* -- */ { 0, &Ia_vmread_Ed_Gd }, // VMX /* 66 */ { GRPN(SSE4A_G17) }, // SSE4A /* F3 */ { 0, &Ia_Invalid }, /* F2 */ { 0, &Ia_insertq_Vdq_Uq_Ib_Ib } // SSE4A }; static BxDisasmOpcodeTable_t BxDisasmGroupSSE_0f78Q[4] = { /* -- */ { 0, &Ia_vmread_Eq_Gq }, // VMX /* 66 */ { GRPN(SSE4A_G17) }, // SSE4A /* F3 */ { 0, &Ia_Invalid }, /* F2 */ { 0, &Ia_insertq_Vdq_Uq_Ib_Ib } // SSE4A }; static BxDisasmOpcodeTable_t BxDisasmGroupSSE_0f79[4] = { /* -- */ { 0, &Ia_vmwrite_Gd_Ed }, // VMX /* 66 */ { 0, &Ia_extrq_Vdq_Uq }, // SSE4A /* F3 */ { 0, &Ia_Invalid }, /* F2 */ { 0, &Ia_insertq_Vdq_Udq } // SSE4A }; static BxDisasmOpcodeTable_t BxDisasmGroupSSE_0f79Q[4] = { /* -- */ { 0, &Ia_vmwrite_Gq_Eq }, // VMX /* 66 */ { 0, &Ia_extrq_Vdq_Uq }, // SSE4A /* F3 */ { 0, &Ia_Invalid }, /* F2 */ { 0, &Ia_insertq_Vdq_Udq } // SSE4A }; static BxDisasmOpcodeTable_t BxDisasmGroupSSE_0f7c[4] = { /* -- */ { 0, &Ia_Invalid }, /* 66 */ { 0, &Ia_haddpd_Vpd_Wpd }, /* F3 */ { 0, &Ia_Invalid }, /* F2 */ { 0, &Ia_haddps_Vps_Wps } }; static BxDisasmOpcodeTable_t BxDisasmGroupSSE_0f7d[4] = { /* -- */ { 0, &Ia_Invalid }, /* 66 */ { 0, &Ia_hsubpd_Vpd_Wpd }, /* F3 */ { 0, &Ia_Invalid }, /* F2 */ { 0, &Ia_hsubps_Vps_Wps } }; static BxDisasmOpcodeTable_t BxDisasmGroupSSE_0f7e[4] = { /* -- */ { 0, &Ia_movd_Ed_Pq }, /* 66 */ { 0, &Ia_movd_Ed_Vd }, /* F3 */ { 0, &Ia_movq_Vq_Wq }, /* F2 */ { 0, &Ia_Invalid } }; static BxDisasmOpcodeTable_t BxDisasmGroupSSE_0f7eQ[4] = { /* -- */ { 0, &Ia_movq_Eq_Pq }, /* 66 */ { 0, &Ia_movq_Eq_Vq }, /* F2 */ { 0, &Ia_movq_Vq_Wq }, /* F3 */ { 0, &Ia_Invalid } }; static BxDisasmOpcodeTable_t BxDisasmGroupSSE_0f7f[4] = { /* -- */ { 0, &Ia_movq_Qq_Pq }, /* 66 */ { 0, &Ia_movdqa_Wdq_Vdq }, /* F2 */ { 0, &Ia_movdqu_Wdq_Vdq }, /* F3 */ { 0, &Ia_Invalid } }; static BxDisasmOpcodeTable_t BxDisasmGroupSSE_0fc2[4] = { /* -- */ { 0, &Ia_cmpps_Vps_Wps_Ib }, /* 66 */ { 0, &Ia_cmppd_Vpd_Wpd_Ib }, /* F3 */ { 0, &Ia_cmpss_Vss_Wss_Ib }, /* F2 */ { 0, &Ia_cmpsd_Vsd_Wsd_Ib } }; static BxDisasmOpcodeTable_t BxDisasmGroupSSE_0fc4[2] = { /* -- */ { 0, &Ia_pinsrw_Pq_Ew_Ib }, /* 66 */ { 0, &Ia_pinsrw_Vdq_Ew_Ib } }; static BxDisasmOpcodeTable_t BxDisasmGroupSSE_0fc5[2] = { /* -- */ { 0, &Ia_pextrw_Gd_Nq_Ib }, /* 66 */ { 0, &Ia_pextrw_Gd_Udq_Ib } }; static BxDisasmOpcodeTable_t BxDisasmGroupSSE_0fc6[2] = { /* -- */ { 0, &Ia_shufps_Vps_Wps_Ib }, /* 66 */ { 0, &Ia_shufpd_Vpd_Wpd_Ib } }; static BxDisasmOpcodeTable_t BxDisasmGroupSSE_0fd0[4] = { /* -- */ { 0, &Ia_Invalid }, /* 66 */ { 0, &Ia_addsubpd_Vpd_Wpd }, /* F2 */ { 0, &Ia_Invalid }, /* F3 */ { 0, &Ia_addsubps_Vps_Wps }, }; static BxDisasmOpcodeTable_t BxDisasmGroupSSE_0fd1[2] = { /* -- */ { 0, &Ia_psrlw_Pq_Qq }, /* 66 */ { 0, &Ia_psrlw_Vdq_Wdq } }; static BxDisasmOpcodeTable_t BxDisasmGroupSSE_0fd2[2] = { /* -- */ { 0, &Ia_psrld_Pq_Qq }, /* 66 */ { 0, &Ia_psrld_Vdq_Wdq } }; static BxDisasmOpcodeTable_t BxDisasmGroupSSE_0fd3[2] = { /* -- */ { 0, &Ia_psrlq_Pq_Qq }, /* 66 */ { 0, &Ia_psrlq_Vdq_Wdq } }; static BxDisasmOpcodeTable_t BxDisasmGroupSSE_0fd4[2] = { /* -- */ { 0, &Ia_paddq_Pq_Qq }, /* 66 */ { 0, &Ia_paddq_Vdq_Wdq } }; static BxDisasmOpcodeTable_t BxDisasmGroupSSE_0fd5[2] = { /* -- */ { 0, &Ia_pmullw_Pq_Qq }, /* 66 */ { 0, &Ia_pmullw_Vdq_Wdq } }; static BxDisasmOpcodeTable_t BxDisasmGroupSSE_0fd6[4] = { /* -- */ { 0, &Ia_Invalid }, /* 66 */ { 0, &Ia_movq_Wq_Vq }, /* F3 */ { 0, &Ia_movq2dq_Vdq_Qq }, /* F2 */ { 0, &Ia_movdq2q_Pq_Udq } }; static BxDisasmOpcodeTable_t BxDisasmGroupSSE_0fd7[2] = { /* -- */ { 0, &Ia_pmovmskb_Gd_Nq }, /* 66 */ { 0, &Ia_pmovmskb_Gd_Udq } }; static BxDisasmOpcodeTable_t BxDisasmGroupSSE_0fd8[2] = { /* -- */ { 0, &Ia_psubusb_Pq_Qq }, /* 66 */ { 0, &Ia_psubusb_Vdq_Wdq } }; static BxDisasmOpcodeTable_t BxDisasmGroupSSE_0fd9[2] = { /* -- */ { 0, &Ia_psubusw_Pq_Qq }, /* 66 */ { 0, &Ia_psubusw_Vdq_Wdq } }; static BxDisasmOpcodeTable_t BxDisasmGroupSSE_0fda[2] = { /* -- */ { 0, &Ia_pminub_Pq_Qq }, /* 66 */ { 0, &Ia_pminub_Vdq_Wdq } }; static BxDisasmOpcodeTable_t BxDisasmGroupSSE_0fdb[2] = { /* -- */ { 0, &Ia_pand_Pq_Qq }, /* 66 */ { 0, &Ia_pand_Vdq_Wdq } }; static BxDisasmOpcodeTable_t BxDisasmGroupSSE_0fdc[2] = { /* -- */ { 0, &Ia_paddusb_Pq_Qq }, /* 66 */ { 0, &Ia_paddusb_Vdq_Wdq } }; static BxDisasmOpcodeTable_t BxDisasmGroupSSE_0fdd[2] = { /* -- */ { 0, &Ia_paddusw_Pq_Qq }, /* 66 */ { 0, &Ia_paddusw_Vdq_Wdq } }; static BxDisasmOpcodeTable_t BxDisasmGroupSSE_0fde[2] = { /* -- */ { 0, &Ia_pmaxub_Pq_Qq }, /* 66 */ { 0, &Ia_pmaxub_Vdq_Wdq } }; static BxDisasmOpcodeTable_t BxDisasmGroupSSE_0fdf[2] = { /* -- */ { 0, &Ia_pandn_Pq_Qq }, /* 66 */ { 0, &Ia_pandn_Vdq_Wdq } }; static BxDisasmOpcodeTable_t BxDisasmGroupSSE_0fe0[2] = { /* -- */ { 0, &Ia_pavgb_Pq_Qq }, /* 66 */ { 0, &Ia_pavgb_Vdq_Wdq } }; static BxDisasmOpcodeTable_t BxDisasmGroupSSE_0fe1[2] = { /* -- */ { 0, &Ia_psraw_Pq_Qq }, /* 66 */ { 0, &Ia_psraw_Vdq_Wdq } }; static BxDisasmOpcodeTable_t BxDisasmGroupSSE_0fe2[2] = { /* -- */ { 0, &Ia_psrad_Pq_Qq }, /* 66 */ { 0, &Ia_psrad_Vdq_Wdq } }; static BxDisasmOpcodeTable_t BxDisasmGroupSSE_0fe3[2] = { /* -- */ { 0, &Ia_pavgw_Pq_Qq }, /* 66 */ { 0, &Ia_pavgw_Vdq_Wdq } }; static BxDisasmOpcodeTable_t BxDisasmGroupSSE_0fe4[2] = { /* -- */ { 0, &Ia_pmulhuw_Pq_Qq }, /* 66 */ { 0, &Ia_pmulhuw_Vdq_Wdq } }; static BxDisasmOpcodeTable_t BxDisasmGroupSSE_0fe5[2] = { /* -- */ { 0, &Ia_pmulhw_Pq_Qq }, /* 66 */ { 0, &Ia_pmulhw_Vdq_Wdq } }; static BxDisasmOpcodeTable_t BxDisasmGroupSSE_0fe6[4] = { /* -- */ { 0, &Ia_Invalid }, /* 66 */ { 0, &Ia_cvttpd2dq_Vq_Wpd }, /* F3 */ { 0, &Ia_cvtdq2pd_Vpd_Wq }, /* F2 */ { 0, &Ia_cvtpd2dq_Vq_Wpd } }; static BxDisasmOpcodeTable_t BxDisasmGroupSSE_0fe7[2] = { /* -- */ { 0, &Ia_movntq_Mq_Pq }, /* 66 */ { 0, &Ia_movntdq_Mdq_Vdq } }; static BxDisasmOpcodeTable_t BxDisasmGroupSSE_0fe8[2] = { /* -- */ { 0, &Ia_psubsb_Pq_Qq }, /* 66 */ { 0, &Ia_psubsb_Vdq_Wdq } }; static BxDisasmOpcodeTable_t BxDisasmGroupSSE_0fe9[2] = { /* -- */ { 0, &Ia_psubsw_Pq_Qq }, /* 66 */ { 0, &Ia_psubsw_Vdq_Wdq } }; static BxDisasmOpcodeTable_t BxDisasmGroupSSE_0fea[2] = { /* -- */ { 0, &Ia_pminsw_Pq_Qq }, /* 66 */ { 0, &Ia_pminsw_Vdq_Wdq } }; static BxDisasmOpcodeTable_t BxDisasmGroupSSE_0feb[2] = { /* -- */ { 0, &Ia_por_Pq_Qq }, /* 66 */ { 0, &Ia_por_Vdq_Wdq } }; static BxDisasmOpcodeTable_t BxDisasmGroupSSE_0fec[2] = { /* -- */ { 0, &Ia_paddsb_Pq_Qq }, /* 66 */ { 0, &Ia_paddsb_Vdq_Wdq } }; static BxDisasmOpcodeTable_t BxDisasmGroupSSE_0fed[2] = { /* -- */ { 0, &Ia_paddsw_Pq_Qq }, /* 66 */ { 0, &Ia_paddsw_Vdq_Wdq } }; static BxDisasmOpcodeTable_t BxDisasmGroupSSE_0fee[2] = { /* -- */ { 0, &Ia_pmaxsw_Pq_Qq }, /* 66 */ { 0, &Ia_pmaxsw_Vdq_Wdq } }; static BxDisasmOpcodeTable_t BxDisasmGroupSSE_0fef[2] = { /* -- */ { 0, &Ia_pxor_Pq_Qq }, /* 66 */ { 0, &Ia_pxor_Vdq_Wdq } }; static BxDisasmOpcodeTable_t BxDisasmGroupSSE_0ff1[2] = { /* -- */ { 0, &Ia_psllw_Pq_Qq }, /* 66 */ { 0, &Ia_psllw_Vdq_Wdq } }; static BxDisasmOpcodeTable_t BxDisasmGroupSSE_0ff2[2] = { /* -- */ { 0, &Ia_pslld_Pq_Qq }, /* 66 */ { 0, &Ia_pslld_Vdq_Wdq } }; static BxDisasmOpcodeTable_t BxDisasmGroupSSE_0ff3[2] = { /* -- */ { 0, &Ia_psllq_Pq_Qq }, /* 66 */ { 0, &Ia_psllq_Vdq_Wdq } }; static BxDisasmOpcodeTable_t BxDisasmGroupSSE_0ff4[2] = { /* -- */ { 0, &Ia_pmuludq_Pq_Qq }, /* 66 */ { 0, &Ia_pmuludq_Vdq_Wdq } }; static BxDisasmOpcodeTable_t BxDisasmGroupSSE_0ff5[2] = { /* -- */ { 0, &Ia_pmaddwd_Pq_Qq }, /* 66 */ { 0, &Ia_pmaddwd_Vdq_Wdq } }; static BxDisasmOpcodeTable_t BxDisasmGroupSSE_0ff6[2] = { /* -- */ { 0, &Ia_psadbw_Pq_Qq }, /* 66 */ { 0, &Ia_psadbw_Vdq_Wdq } }; static BxDisasmOpcodeTable_t BxDisasmGroupSSE_0ff7[2] = { /* -- */ { 0, &Ia_maskmovq_Pq_Nq }, /* 66 */ { 0, &Ia_maskmovdqu_Vdq_Udq } }; static BxDisasmOpcodeTable_t BxDisasmGroupSSE_0ff8[2] = { /* -- */ { 0, &Ia_psubb_Pq_Qq }, /* 66 */ { 0, &Ia_psubb_Vdq_Wdq } }; static BxDisasmOpcodeTable_t BxDisasmGroupSSE_0ff9[2] = { /* -- */ { 0, &Ia_psubw_Pq_Qq }, /* 66 */ { 0, &Ia_psubw_Vdq_Wdq } }; static BxDisasmOpcodeTable_t BxDisasmGroupSSE_0ffa[2] = { /* -- */ { 0, &Ia_psubd_Pq_Qq }, /* 66 */ { 0, &Ia_psubd_Vdq_Wdq } }; static BxDisasmOpcodeTable_t BxDisasmGroupSSE_0ffb[2] = { /* -- */ { 0, &Ia_psubq_Pq_Qq }, /* 66 */ { 0, &Ia_psubq_Vdq_Wdq } }; static BxDisasmOpcodeTable_t BxDisasmGroupSSE_0ffc[2] = { /* -- */ { 0, &Ia_paddb_Pq_Qq }, /* 66 */ { 0, &Ia_paddb_Vdq_Wdq } }; static BxDisasmOpcodeTable_t BxDisasmGroupSSE_0ffd[2] = { /* -- */ { 0, &Ia_paddw_Pq_Qq }, /* 66 */ { 0, &Ia_paddw_Vdq_Wdq } }; static BxDisasmOpcodeTable_t BxDisasmGroupSSE_0ffe[2] = { /* -- */ { 0, &Ia_paddd_Pq_Qq }, /* 66 */ { 0, &Ia_paddd_Vdq_Wdq } }; static BxDisasmOpcodeTable_t BxDisasmGroupSSE_G1202[2] = { /* -- */ { 0, &Ia_psrlw_Nq_Ib }, /* 66 */ { 0, &Ia_psrlw_Udq_Ib } }; static BxDisasmOpcodeTable_t BxDisasmGroupSSE_G1204[2] = { /* -- */ { 0, &Ia_psraw_Nq_Ib }, /* 66 */ { 0, &Ia_psraw_Udq_Ib } }; static BxDisasmOpcodeTable_t BxDisasmGroupSSE_G1206[2] = { /* -- */ { 0, &Ia_psllw_Nq_Ib }, /* 66 */ { 0, &Ia_psllw_Udq_Ib } }; static BxDisasmOpcodeTable_t BxDisasmGroupSSE_G1302[2] = { /* -- */ { 0, &Ia_psrld_Nq_Ib }, /* 66 */ { 0, &Ia_psrld_Udq_Ib } }; static BxDisasmOpcodeTable_t BxDisasmGroupSSE_G1304[2] = { /* -- */ { 0, &Ia_psrad_Nq_Ib }, /* 66 */ { 0, &Ia_psrad_Udq_Ib } }; static BxDisasmOpcodeTable_t BxDisasmGroupSSE_G1306[2] = { /* -- */ { 0, &Ia_pslld_Nq_Ib }, /* 66 */ { 0, &Ia_pslld_Udq_Ib } }; static BxDisasmOpcodeTable_t BxDisasmGroupSSE_G1402[2] = { /* -- */ { 0, &Ia_psrlq_Nq_Ib }, /* 66 */ { 0, &Ia_psrlq_Udq_Ib } }; static BxDisasmOpcodeTable_t BxDisasmGroupSSE_G1406[2] = { /* -- */ { 0, &Ia_psllq_Nq_Ib }, /* 66 */ { 0, &Ia_psllq_Udq_Ib } }; static BxDisasmOpcodeTable_t BxDisasmGroupSSE_0f3800[2] = { /* -- */ { 0, &Ia_pshufb_Pq_Qq }, // SSSE3 /* 66 */ { 0, &Ia_pshufb_Vdq_Wdq } }; static BxDisasmOpcodeTable_t BxDisasmGroupSSE_0f3801[2] = { /* -- */ { 0, &Ia_phaddw_Pq_Qq }, // SSSE3 /* 66 */ { 0, &Ia_phaddw_Vdq_Wdq } }; static BxDisasmOpcodeTable_t BxDisasmGroupSSE_0f3802[2] = { /* -- */ { 0, &Ia_phaddd_Pq_Qq }, // SSSE3 /* 66 */ { 0, &Ia_phaddd_Vdq_Wdq } }; static BxDisasmOpcodeTable_t BxDisasmGroupSSE_0f3803[2] = { /* -- */ { 0, &Ia_phaddsw_Pq_Qq }, // SSSE3 /* 66 */ { 0, &Ia_phaddsw_Vdq_Wdq } }; static BxDisasmOpcodeTable_t BxDisasmGroupSSE_0f3804[2] = { /* -- */ { 0, &Ia_pmaddubsw_Pq_Qq }, // SSSE3 /* 66 */ { 0, &Ia_pmaddubsw_Vdq_Wdq } }; static BxDisasmOpcodeTable_t BxDisasmGroupSSE_0f3805[2] = { /* -- */ { 0, &Ia_phsubw_Pq_Qq }, // SSSE3 /* 66 */ { 0, &Ia_phsubw_Vdq_Wdq } }; static BxDisasmOpcodeTable_t BxDisasmGroupSSE_0f3806[2] = { /* -- */ { 0, &Ia_phsubd_Pq_Qq }, // SSSE3 /* 66 */ { 0, &Ia_phsubd_Vdq_Wdq } }; static BxDisasmOpcodeTable_t BxDisasmGroupSSE_0f3807[2] = { /* -- */ { 0, &Ia_phsubsw_Pq_Qq }, // SSSE3 /* 66 */ { 0, &Ia_phsubsw_Vdq_Wdq } }; static BxDisasmOpcodeTable_t BxDisasmGroupSSE_0f3808[2] = { /* -- */ { 0, &Ia_psignb_Pq_Qq }, // SSSE3 /* 66 */ { 0, &Ia_psignb_Vdq_Wdq } }; static BxDisasmOpcodeTable_t BxDisasmGroupSSE_0f3809[2] = { /* -- */ { 0, &Ia_psignw_Pq_Qq }, // SSSE3 /* 66 */ { 0, &Ia_psignw_Vdq_Wdq } }; static BxDisasmOpcodeTable_t BxDisasmGroupSSE_0f380a[2] = { /* -- */ { 0, &Ia_psignd_Pq_Qq }, // SSSE3 /* 66 */ { 0, &Ia_psignd_Vdq_Wdq } }; static BxDisasmOpcodeTable_t BxDisasmGroupSSE_0f380b[2] = { /* -- */ { 0, &Ia_pmulhrsw_Pq_Qq }, // SSSE3 /* 66 */ { 0, &Ia_pmulhrsw_Vdq_Wdq } }; static BxDisasmOpcodeTable_t BxDisasmGroupSSE_0f381c[2] = { /* -- */ { 0, &Ia_pabsb_Pq_Qq }, // SSSE3 /* 66 */ { 0, &Ia_pabsb_Vdq_Wdq } }; static BxDisasmOpcodeTable_t BxDisasmGroupSSE_0f381d[2] = { /* -- */ { 0, &Ia_pabsw_Pq_Qq }, // SSSE3 /* 66 */ { 0, &Ia_pabsw_Vdq_Wdq } }; static BxDisasmOpcodeTable_t BxDisasmGroupSSE_0f381e[2] = { /* -- */ { 0, &Ia_pabsd_Pq_Qq }, // SSSE3 /* 66 */ { 0, &Ia_pabsd_Vdq_Wdq } }; static BxDisasmOpcodeTable_t BxDisasmGroupSSE_0f38f0w[4] = { /* -- */ { 0, &Ia_movbe_Gw_Mw }, /* 66 */ { 0, &Ia_Invalid }, /* F3 */ { 0, &Ia_Invalid }, /* F2 */ { 0, &Ia_crc32_Gd_Eb } }; static BxDisasmOpcodeTable_t BxDisasmGroupSSE_0f38f0d[4] = { /* -- */ { 0, &Ia_movbe_Gd_Md }, /* 66 */ { 0, &Ia_Invalid }, /* F3 */ { 0, &Ia_Invalid }, /* F2 */ { 0, &Ia_crc32_Gd_Eb } }; static BxDisasmOpcodeTable_t BxDisasmGroupSSE_0f38f0q[4] = { /* -- */ { 0, &Ia_movbe_Gq_Mq }, /* 66 */ { 0, &Ia_Invalid }, /* F3 */ { 0, &Ia_Invalid }, /* F2 */ { 0, &Ia_crc32_Gd_Eb } }; static BxDisasmOpcodeTable_t BxDisasmGrpOs64B_0f38f0[3] = { /* 16 */ { GRPSSE(0f38f0w) }, /* 32 */ { GRPSSE(0f38f0d) }, /* 64 */ { GRPSSE(0f38f0q) }, }; static BxDisasmOpcodeTable_t BxDisasmGroupSSE_0f38f1w[4] = { /* -- */ { 0, &Ia_movbe_Mw_Gw }, /* 66 */ { 0, &Ia_Invalid }, /* F3 */ { 0, &Ia_Invalid }, /* F2 */ { 0, &Ia_crc32_Gd_Ew } }; static BxDisasmOpcodeTable_t BxDisasmGroupSSE_0f38f1d[4] = { /* -- */ { 0, &Ia_movbe_Md_Gd }, /* 66 */ { 0, &Ia_Invalid }, /* F3 */ { 0, &Ia_Invalid }, /* F2 */ { 0, &Ia_crc32_Gd_Ed } }; static BxDisasmOpcodeTable_t BxDisasmGroupSSE_0f38f1q[4] = { /* -- */ { 0, &Ia_movbe_Mq_Gq }, /* 66 */ { 0, &Ia_Invalid }, /* F3 */ { 0, &Ia_Invalid }, /* F2 */ { 0, &Ia_crc32_Gd_Eq } }; static BxDisasmOpcodeTable_t BxDisasmGrpOs64B_0f38f1[3] = { /* 16 */ { GRPSSE(0f38f1w) }, /* 32 */ { GRPSSE(0f38f1d) }, /* 64 */ { GRPSSE(0f38f1q) }, }; static BxDisasmOpcodeTable_t BxDisasmGrpOs64B_adcx[3] = { /* 16 */ { 0, &Ia_adcx_Gd_Ed }, /* 32 */ { 0, &Ia_adcx_Gd_Ed }, /* 64 */ { 0, &Ia_adcx_Gq_Eq }, }; static BxDisasmOpcodeTable_t BxDisasmGrpOs64B_adox[3] = { /* 16 */ { 0, &Ia_adox_Gd_Ed }, /* 32 */ { 0, &Ia_adox_Gd_Ed }, /* 64 */ { 0, &Ia_adox_Gq_Eq }, }; static BxDisasmOpcodeTable_t BxDisasmGroupSSE_0f38f6[4] = { /* -- */ { 0, &Ia_Invalid }, /* 66 */ { GR64BIT(adcx) }, /* F3 */ { GR64BIT(adox) }, /* F2 */ { 0, &Ia_Invalid } }; static BxDisasmOpcodeTable_t BxDisasmGroupSSE_0f3a0f[2] = { /* -- */ { 0, &Ia_palignr_Pq_Qq_Ib }, // SSSE3 /* 66 */ { 0, &Ia_palignr_Vdq_Wdq_Ib } }; static BxDisasmOpcodeTable_t BxDisasmGrpOs64B_pextr[3] = { /* 16 */ { 0, &Ia_pextrd_Ed_Vdq_Ib }, /* 32 */ { 0, &Ia_pextrd_Ed_Vdq_Ib }, /* 64 */ { 0, &Ia_pextrq_Eq_Vdq_Ib }, }; static BxDisasmOpcodeTable_t BxDisasmGroupSSE_0f3a16[2] = { /* -- */ { 0, &Ia_Invalid }, /* 66 */ { GR64BIT(pextr) } // SSE4 }; static BxDisasmOpcodeTable_t BxDisasmGrpOs64B_pinsr[3] = { /* 16 */ { 0, &Ia_pinsrd_Vdq_Ed_Ib }, /* 32 */ { 0, &Ia_pinsrd_Vdq_Ed_Ib }, /* 64 */ { 0, &Ia_pinsrq_Vdq_Eq_Ib }, }; static BxDisasmOpcodeTable_t BxDisasmGroupSSE_0f3a22[2] = { /* -- */ { 0, &Ia_Invalid }, /* 66 */ { GR64BIT(pinsr) } // SSE4 }; static BxDisasmOpcodeTable_t BxDisasmGroupSSE_0fbcw[4] = { /* -- */ { 0, &Ia_bsfw_Gw_Ew }, /* 66 */ { 0, &Ia_bsfw_Gw_Ew }, /* F3 */ { 0, &Ia_tzcntw_Gw_Ew }, /* F2 */ { 0, &Ia_bsfw_Gw_Ew } }; static BxDisasmOpcodeTable_t BxDisasmGroupSSE_0fbcd[4] = { /* -- */ { 0, &Ia_bsfl_Gd_Ed }, /* 66 */ { 0, &Ia_bsfl_Gd_Ed }, /* F3 */ { 0, &Ia_tzcntl_Gd_Ed }, /* F2 */ { 0, &Ia_bsfl_Gd_Ed } }; static BxDisasmOpcodeTable_t BxDisasmGroupSSE_0fbcq[4] = { /* -- */ { 0, &Ia_bsfq_Gq_Eq }, /* 66 */ { 0, &Ia_bsfq_Gq_Eq }, /* F3 */ { 0, &Ia_tzcntq_Gq_Eq }, /* F2 */ { 0, &Ia_bsfq_Gq_Eq } }; static BxDisasmOpcodeTable_t BxDisasmGroupSSE_0fbdw[4] = { /* -- */ { 0, &Ia_bsrw_Gw_Ew }, /* 66 */ { 0, &Ia_bsrw_Gw_Ew }, /* F3 */ { 0, &Ia_lzcntw_Gw_Ew }, /* F2 */ { 0, &Ia_bsrw_Gw_Ew } }; static BxDisasmOpcodeTable_t BxDisasmGroupSSE_0fbdd[4] = { /* -- */ { 0, &Ia_bsrl_Gd_Ed }, /* 66 */ { 0, &Ia_bsrl_Gd_Ed }, /* F3 */ { 0, &Ia_lzcntl_Gd_Ed }, /* F2 */ { 0, &Ia_bsrl_Gd_Ed } }; static BxDisasmOpcodeTable_t BxDisasmGroupSSE_0fbdq[4] = { /* -- */ { 0, &Ia_bsrq_Gq_Eq }, /* 66 */ { 0, &Ia_bsrq_Gq_Eq }, /* F3 */ { 0, &Ia_lzcntq_Gq_Eq }, /* F2 */ { 0, &Ia_bsrq_Gq_Eq } }; /* ************************************************************************ */ /* 3-byte opcode table (Table A-4, 0F 38) */ static BxDisasmOpcodeTable_t BxDisasm3ByteOpTable0f38[256] = { /* 00 */ { GRPSSE2(0f3800) }, /* 01 */ { GRPSSE2(0f3801) }, /* 02 */ { GRPSSE2(0f3802) }, /* 03 */ { GRPSSE2(0f3803) }, /* 04 */ { GRPSSE2(0f3804) }, /* 05 */ { GRPSSE2(0f3805) }, /* 06 */ { GRPSSE2(0f3806) }, /* 07 */ { GRPSSE2(0f3807) }, /* 08 */ { GRPSSE2(0f3808) }, /* 09 */ { GRPSSE2(0f3809) }, /* 0A */ { GRPSSE2(0f380a) }, /* 0B */ { GRPSSE2(0f380b) }, /* 0C */ { 0, &Ia_Invalid }, /* 0D */ { 0, &Ia_Invalid }, /* 0E */ { 0, &Ia_Invalid }, /* 0F */ { 0, &Ia_Invalid }, /* 10 */ { GRPSSE66(Ia_pblendvb_Vdq_Wdq) }, /* 11 */ { 0, &Ia_Invalid }, /* 12 */ { 0, &Ia_Invalid }, /* 13 */ { 0, &Ia_Invalid }, /* 14 */ { GRPSSE66(Ia_blendvps_Vps_Wps) }, /* 15 */ { GRPSSE66(Ia_blendvpd_Vpd_Wpd) }, /* 16 */ { 0, &Ia_Invalid }, /* 17 */ { GRPSSE66(Ia_ptest_Vdq_Wdq) }, /* 18 */ { 0, &Ia_Invalid }, /* 19 */ { 0, &Ia_Invalid }, /* 1A */ { 0, &Ia_Invalid }, /* 1B */ { 0, &Ia_Invalid }, /* 1C */ { GRPSSE2(0f381c) }, /* 1D */ { GRPSSE2(0f381d) }, /* 1E */ { GRPSSE2(0f381e) }, /* 1F */ { 0, &Ia_Invalid }, /* 20 */ { GRPSSE66(Ia_pmovsxbw_Vdq_Wq) }, /* 21 */ { GRPSSE66(Ia_pmovsxbd_Vdq_Wd) }, /* 22 */ { GRPSSE66(Ia_pmovsxbq_Vdq_Ww) }, /* 23 */ { GRPSSE66(Ia_pmovsxwd_Vdq_Wq) }, /* 24 */ { GRPSSE66(Ia_pmovsxwq_Vdq_Wd) }, /* 25 */ { GRPSSE66(Ia_pmovsxdq_Vdq_Wq) }, /* 26 */ { 0, &Ia_Invalid }, /* 27 */ { 0, &Ia_Invalid }, /* 28 */ { GRPSSE66(Ia_pmuldq_Vdq_Wdq) }, /* 29 */ { GRPSSE66(Ia_pcmpeqq_Vdq_Wdq) }, /* 2A */ { GRPSSE66(Ia_movntdqa_Vdq_Mdq) }, /* 2B */ { GRPSSE66(Ia_packusdw_Vdq_Wdq) }, /* 2C */ { 0, &Ia_Invalid }, /* 2D */ { 0, &Ia_Invalid }, /* 2E */ { 0, &Ia_Invalid }, /* 2F */ { 0, &Ia_Invalid }, /* 30 */ { GRPSSE66(Ia_pmovzxbw_Vdq_Wq) }, /* 31 */ { GRPSSE66(Ia_pmovzxbd_Vdq_Wd) }, /* 32 */ { GRPSSE66(Ia_pmovzxbq_Vdq_Ww) }, /* 33 */ { GRPSSE66(Ia_pmovzxwd_Vdq_Wq) }, /* 34 */ { GRPSSE66(Ia_pmovzxwq_Vdq_Wd) }, /* 35 */ { GRPSSE66(Ia_pmovzxdq_Vdq_Wq) }, /* 36 */ { 0, &Ia_Invalid }, /* 37 */ { GRPSSE66(Ia_pcmpgtq_Vdq_Wdq) }, /* 38 */ { GRPSSE66(Ia_pminsb_Vdq_Wdq) }, /* 39 */ { GRPSSE66(Ia_pminsd_Vdq_Wdq) }, /* 3A */ { GRPSSE66(Ia_pminuw_Vdq_Wdq) }, /* 3B */ { GRPSSE66(Ia_pminud_Vdq_Wdq) }, /* 3C */ { GRPSSE66(Ia_pmaxsb_Vdq_Wdq) }, /* 3D */ { GRPSSE66(Ia_pmaxsd_Vdq_Wdq) }, /* 3E */ { GRPSSE66(Ia_pmaxuw_Vdq_Wdq) }, /* 3F */ { GRPSSE66(Ia_pmaxud_Vdq_Wdq) }, /* 40 */ { GRPSSE66(Ia_pmulld_Vdq_Wdq) }, /* 41 */ { GRPSSE66(Ia_phminposuw_Vdq_Wdq) }, /* 42 */ { 0, &Ia_Invalid }, /* 43 */ { 0, &Ia_Invalid }, /* 44 */ { 0, &Ia_Invalid }, /* 45 */ { 0, &Ia_Invalid }, /* 46 */ { 0, &Ia_Invalid }, /* 47 */ { 0, &Ia_Invalid }, /* 48 */ { 0, &Ia_Invalid }, /* 49 */ { 0, &Ia_Invalid }, /* 4A */ { 0, &Ia_Invalid }, /* 4B */ { 0, &Ia_Invalid }, /* 4C */ { 0, &Ia_Invalid }, /* 4D */ { 0, &Ia_Invalid }, /* 4E */ { 0, &Ia_Invalid }, /* 4F */ { 0, &Ia_Invalid }, /* 50 */ { 0, &Ia_Invalid }, /* 51 */ { 0, &Ia_Invalid }, /* 52 */ { 0, &Ia_Invalid }, /* 53 */ { 0, &Ia_Invalid }, /* 54 */ { 0, &Ia_Invalid }, /* 55 */ { 0, &Ia_Invalid }, /* 56 */ { 0, &Ia_Invalid }, /* 57 */ { 0, &Ia_Invalid }, /* 58 */ { 0, &Ia_Invalid }, /* 59 */ { 0, &Ia_Invalid }, /* 5A */ { 0, &Ia_Invalid }, /* 5B */ { 0, &Ia_Invalid }, /* 5C */ { 0, &Ia_Invalid }, /* 5D */ { 0, &Ia_Invalid }, /* 5E */ { 0, &Ia_Invalid }, /* 5F */ { 0, &Ia_Invalid }, /* 60 */ { 0, &Ia_Invalid }, /* 61 */ { 0, &Ia_Invalid }, /* 62 */ { 0, &Ia_Invalid }, /* 63 */ { 0, &Ia_Invalid }, /* 64 */ { 0, &Ia_Invalid }, /* 65 */ { 0, &Ia_Invalid }, /* 66 */ { 0, &Ia_Invalid }, /* 67 */ { 0, &Ia_Invalid }, /* 68 */ { 0, &Ia_Invalid }, /* 69 */ { 0, &Ia_Invalid }, /* 6A */ { 0, &Ia_Invalid }, /* 6B */ { 0, &Ia_Invalid }, /* 6C */ { 0, &Ia_Invalid }, /* 6D */ { 0, &Ia_Invalid }, /* 6E */ { 0, &Ia_Invalid }, /* 6F */ { 0, &Ia_Invalid }, /* 70 */ { 0, &Ia_Invalid }, /* 71 */ { 0, &Ia_Invalid }, /* 72 */ { 0, &Ia_Invalid }, /* 73 */ { 0, &Ia_Invalid }, /* 74 */ { 0, &Ia_Invalid }, /* 75 */ { 0, &Ia_Invalid }, /* 76 */ { 0, &Ia_Invalid }, /* 77 */ { 0, &Ia_Invalid }, /* 78 */ { 0, &Ia_Invalid }, /* 79 */ { 0, &Ia_Invalid }, /* 7A */ { 0, &Ia_Invalid }, /* 7B */ { 0, &Ia_Invalid }, /* 7C */ { 0, &Ia_Invalid }, /* 7D */ { 0, &Ia_Invalid }, /* 7E */ { 0, &Ia_Invalid }, /* 7F */ { 0, &Ia_Invalid }, /* 80 */ { GRPSSE66(Ia_invept_Gy_Mdq) }, /* 81 */ { GRPSSE66(Ia_invvpid_Gy_Mdq) }, /* 82 */ { GRPSSE66(Ia_invpcid_Gy_Mdq) }, /* 83 */ { 0, &Ia_Invalid }, /* 84 */ { 0, &Ia_Invalid }, /* 85 */ { 0, &Ia_Invalid }, /* 86 */ { 0, &Ia_Invalid }, /* 87 */ { 0, &Ia_Invalid }, /* 88 */ { 0, &Ia_Invalid }, /* 89 */ { 0, &Ia_Invalid }, /* 8A */ { 0, &Ia_Invalid }, /* 8B */ { 0, &Ia_Invalid }, /* 8C */ { 0, &Ia_Invalid }, /* 8D */ { 0, &Ia_Invalid }, /* 8E */ { 0, &Ia_Invalid }, /* 8F */ { 0, &Ia_Invalid }, /* 90 */ { 0, &Ia_Invalid }, /* 91 */ { 0, &Ia_Invalid }, /* 92 */ { 0, &Ia_Invalid }, /* 93 */ { 0, &Ia_Invalid }, /* 94 */ { 0, &Ia_Invalid }, /* 95 */ { 0, &Ia_Invalid }, /* 96 */ { 0, &Ia_Invalid }, /* 97 */ { 0, &Ia_Invalid }, /* 98 */ { 0, &Ia_Invalid }, /* 99 */ { 0, &Ia_Invalid }, /* 9A */ { 0, &Ia_Invalid }, /* 9B */ { 0, &Ia_Invalid }, /* 9C */ { 0, &Ia_Invalid }, /* 9D */ { 0, &Ia_Invalid }, /* 9E */ { 0, &Ia_Invalid }, /* 9F */ { 0, &Ia_Invalid }, /* A0 */ { 0, &Ia_Invalid }, /* A1 */ { 0, &Ia_Invalid }, /* A2 */ { 0, &Ia_Invalid }, /* A3 */ { 0, &Ia_Invalid }, /* A4 */ { 0, &Ia_Invalid }, /* A5 */ { 0, &Ia_Invalid }, /* A6 */ { 0, &Ia_Invalid }, /* A7 */ { 0, &Ia_Invalid }, /* A8 */ { 0, &Ia_Invalid }, /* A9 */ { 0, &Ia_Invalid }, /* AA */ { 0, &Ia_Invalid }, /* AB */ { 0, &Ia_Invalid }, /* AC */ { 0, &Ia_Invalid }, /* AD */ { 0, &Ia_Invalid }, /* AE */ { 0, &Ia_Invalid }, /* AF */ { 0, &Ia_Invalid }, /* B0 */ { 0, &Ia_Invalid }, /* B1 */ { 0, &Ia_Invalid }, /* B2 */ { 0, &Ia_Invalid }, /* B3 */ { 0, &Ia_Invalid }, /* B4 */ { 0, &Ia_Invalid }, /* B5 */ { 0, &Ia_Invalid }, /* B6 */ { 0, &Ia_Invalid }, /* B7 */ { 0, &Ia_Invalid }, /* B8 */ { 0, &Ia_Invalid }, /* B9 */ { 0, &Ia_Invalid }, /* BA */ { 0, &Ia_Invalid }, /* BB */ { 0, &Ia_Invalid }, /* BC */ { 0, &Ia_Invalid }, /* BD */ { 0, &Ia_Invalid }, /* BE */ { 0, &Ia_Invalid }, /* BF */ { 0, &Ia_Invalid }, /* C0 */ { 0, &Ia_Invalid }, /* C1 */ { 0, &Ia_Invalid }, /* C2 */ { 0, &Ia_Invalid }, /* C3 */ { 0, &Ia_Invalid }, /* C4 */ { 0, &Ia_Invalid }, /* C5 */ { 0, &Ia_Invalid }, /* C6 */ { 0, &Ia_Invalid }, /* C7 */ { 0, &Ia_Invalid }, /* C8 */ { GRPSSENONE(Ia_sha1nexte_Vdq_Wdq) }, /* C9 */ { GRPSSENONE(Ia_sha1msg1_Vdq_Wdq) }, /* CA */ { GRPSSENONE(Ia_sha1msg2_Vdq_Wdq) }, /* CB */ { GRPSSENONE(Ia_sha256rnds2_Vdq_Wdq) }, /* CC */ { GRPSSENONE(Ia_sha256msg1_Vdq_Wdq) }, /* CD */ { GRPSSENONE(Ia_sha256msg2_Vdq_Wdq) }, /* CE */ { 0, &Ia_Invalid }, /* CF */ { 0, &Ia_Invalid }, /* D0 */ { 0, &Ia_Invalid }, /* D1 */ { 0, &Ia_Invalid }, /* D2 */ { 0, &Ia_Invalid }, /* D3 */ { 0, &Ia_Invalid }, /* D4 */ { 0, &Ia_Invalid }, /* D5 */ { 0, &Ia_Invalid }, /* D6 */ { 0, &Ia_Invalid }, /* D7 */ { 0, &Ia_Invalid }, /* D8 */ { 0, &Ia_Invalid }, /* D9 */ { 0, &Ia_Invalid }, /* DA */ { 0, &Ia_Invalid }, /* DB */ { GRPSSE66(Ia_aesimc_Vdq_Wdq) }, /* DC */ { GRPSSE66(Ia_aesenc_Vdq_Wdq) }, /* DD */ { GRPSSE66(Ia_aesenclast_Vdq_Wdq) }, /* DE */ { GRPSSE66(Ia_aesdec_Vdq_Wdq) }, /* DF */ { GRPSSE66(Ia_aesdeclast_Vdq_Wdq) }, /* E0 */ { 0, &Ia_Invalid }, /* E1 */ { 0, &Ia_Invalid }, /* E2 */ { 0, &Ia_Invalid }, /* E3 */ { 0, &Ia_Invalid }, /* E4 */ { 0, &Ia_Invalid }, /* E5 */ { 0, &Ia_Invalid }, /* E6 */ { 0, &Ia_Invalid }, /* E7 */ { 0, &Ia_Invalid }, /* E8 */ { 0, &Ia_Invalid }, /* E9 */ { 0, &Ia_Invalid }, /* EA */ { 0, &Ia_Invalid }, /* EB */ { 0, &Ia_Invalid }, /* EC */ { 0, &Ia_Invalid }, /* ED */ { 0, &Ia_Invalid }, /* EE */ { 0, &Ia_Invalid }, /* EF */ { 0, &Ia_Invalid }, /* F0 */ { GR64BIT(0f38f0) }, /* F1 */ { GR64BIT(0f38f1) }, /* F2 */ { 0, &Ia_Invalid }, /* F3 */ { 0, &Ia_Invalid }, /* F4 */ { 0, &Ia_Invalid }, /* F5 */ { 0, &Ia_Invalid }, /* F6 */ { GRPSSE(0f38f6) }, /* F7 */ { 0, &Ia_Invalid }, /* F8 */ { 0, &Ia_Invalid }, /* F9 */ { 0, &Ia_Invalid }, /* FA */ { 0, &Ia_Invalid }, /* FB */ { 0, &Ia_Invalid }, /* FC */ { 0, &Ia_Invalid }, /* FD */ { 0, &Ia_Invalid }, /* FE */ { 0, &Ia_Invalid }, /* FF */ { 0, &Ia_Invalid } }; /* ************************************************************************ */ /* 3-byte opcode table (Table A-5, 0F 3A) */ static BxDisasmOpcodeTable_t BxDisasm3ByteOpTable0f3a[256] = { /* 00 */ { 0, &Ia_Invalid }, /* 01 */ { 0, &Ia_Invalid }, /* 02 */ { 0, &Ia_Invalid }, /* 03 */ { 0, &Ia_Invalid }, /* 04 */ { 0, &Ia_Invalid }, /* 05 */ { 0, &Ia_Invalid }, /* 06 */ { 0, &Ia_Invalid }, /* 07 */ { 0, &Ia_Invalid }, /* 08 */ { GRPSSE66(Ia_roundps_Vps_Wps_Ib) }, /* 09 */ { GRPSSE66(Ia_roundpd_Vpd_Wpd_Ib) }, /* 0A */ { GRPSSE66(Ia_roundss_Vss_Wss_Ib) }, /* 0B */ { GRPSSE66(Ia_roundsd_Vsd_Wsd_Ib) }, /* 0C */ { GRPSSE66(Ia_blendps_Vps_Wps_Ib) }, /* 0D */ { GRPSSE66(Ia_blendpd_Vpd_Wpd_Ib) }, /* 0E */ { GRPSSE66(Ia_pblendw_Vdq_Wdq_Ib) }, /* 0F */ { GRPSSE2(0f3a0f) }, /* 10 */ { 0, &Ia_Invalid }, /* 11 */ { 0, &Ia_Invalid }, /* 12 */ { 0, &Ia_Invalid }, /* 13 */ { 0, &Ia_Invalid }, /* 14 */ { GRPSSE66(Ia_pextrb_Ebd_Vdq_Ib) }, /* 15 */ { GRPSSE66(Ia_pextrw_Ewd_Vdq_Ib) }, /* 16 */ { GRPSSE2(0f3a16) }, /* 17 */ { GRPSSE66(Ia_extractps_Ed_Vdq_Ib) }, /* 18 */ { 0, &Ia_Invalid }, /* 19 */ { 0, &Ia_Invalid }, /* 1A */ { 0, &Ia_Invalid }, /* 1B */ { 0, &Ia_Invalid }, /* 1C */ { 0, &Ia_Invalid }, /* 1D */ { 0, &Ia_Invalid }, /* 1E */ { 0, &Ia_Invalid }, /* 1F */ { 0, &Ia_Invalid }, /* 20 */ { GRPSSE66(Ia_pinsrb_Vdq_Ew_Ib) }, /* 21 */ { GRPSSE66(Ia_insertps_Vps_Wss_Ib) }, /* 22 */ { GRPSSE2(0f3a22) }, /* 23 */ { 0, &Ia_Invalid }, /* 24 */ { 0, &Ia_Invalid }, /* 25 */ { 0, &Ia_Invalid }, /* 26 */ { 0, &Ia_Invalid }, /* 27 */ { 0, &Ia_Invalid }, /* 28 */ { 0, &Ia_Invalid }, /* 29 */ { 0, &Ia_Invalid }, /* 2A */ { 0, &Ia_Invalid }, /* 2B */ { 0, &Ia_Invalid }, /* 2C */ { 0, &Ia_Invalid }, /* 2D */ { 0, &Ia_Invalid }, /* 2E */ { 0, &Ia_Invalid }, /* 2F */ { 0, &Ia_Invalid }, /* 30 */ { 0, &Ia_Invalid }, /* 31 */ { 0, &Ia_Invalid }, /* 32 */ { 0, &Ia_Invalid }, /* 33 */ { 0, &Ia_Invalid }, /* 34 */ { 0, &Ia_Invalid }, /* 35 */ { 0, &Ia_Invalid }, /* 36 */ { 0, &Ia_Invalid }, /* 37 */ { 0, &Ia_Invalid }, /* 38 */ { 0, &Ia_Invalid }, /* 39 */ { 0, &Ia_Invalid }, /* 3A */ { 0, &Ia_Invalid }, /* 3B */ { 0, &Ia_Invalid }, /* 3C */ { 0, &Ia_Invalid }, /* 3D */ { 0, &Ia_Invalid }, /* 3E */ { 0, &Ia_Invalid }, /* 3F */ { 0, &Ia_Invalid }, /* 40 */ { GRPSSE66(Ia_dpps_Vps_Wps_Ib) }, /* 41 */ { GRPSSE66(Ia_dppd_Vpd_Wpd_Ib) }, /* 42 */ { GRPSSE66(Ia_mpsadbw_Vdq_Wdq_Ib) }, /* 43 */ { 0, &Ia_Invalid }, /* 44 */ { GRPSSE66(Ia_pclmulqdq_Vdq_Wdq_Ib) }, /* 45 */ { 0, &Ia_Invalid }, /* 46 */ { 0, &Ia_Invalid }, /* 47 */ { 0, &Ia_Invalid }, /* 48 */ { 0, &Ia_Invalid }, /* 49 */ { 0, &Ia_Invalid }, /* 4A */ { 0, &Ia_Invalid }, /* 4B */ { 0, &Ia_Invalid }, /* 4C */ { 0, &Ia_Invalid }, /* 4D */ { 0, &Ia_Invalid }, /* 4E */ { 0, &Ia_Invalid }, /* 4F */ { 0, &Ia_Invalid }, /* 50 */ { 0, &Ia_Invalid }, /* 51 */ { 0, &Ia_Invalid }, /* 52 */ { 0, &Ia_Invalid }, /* 53 */ { 0, &Ia_Invalid }, /* 54 */ { 0, &Ia_Invalid }, /* 55 */ { 0, &Ia_Invalid }, /* 56 */ { 0, &Ia_Invalid }, /* 57 */ { 0, &Ia_Invalid }, /* 58 */ { 0, &Ia_Invalid }, /* 59 */ { 0, &Ia_Invalid }, /* 5A */ { 0, &Ia_Invalid }, /* 5B */ { 0, &Ia_Invalid }, /* 5C */ { 0, &Ia_Invalid }, /* 5D */ { 0, &Ia_Invalid }, /* 5E */ { 0, &Ia_Invalid }, /* 5F */ { 0, &Ia_Invalid }, /* 60 */ { GRPSSE66(Ia_pcmpestrm_Vdq_Wdq_Ib) }, /* 61 */ { GRPSSE66(Ia_pcmpestri_Vdq_Wdq_Ib) }, /* 62 */ { GRPSSE66(Ia_pcmpistrm_Vdq_Wdq_Ib) }, /* 63 */ { GRPSSE66(Ia_pcmpistri_Vdq_Wdq_Ib) }, /* 64 */ { 0, &Ia_Invalid }, /* 65 */ { 0, &Ia_Invalid }, /* 66 */ { 0, &Ia_Invalid }, /* 67 */ { 0, &Ia_Invalid }, /* 68 */ { 0, &Ia_Invalid }, /* 69 */ { 0, &Ia_Invalid }, /* 6A */ { 0, &Ia_Invalid }, /* 6B */ { 0, &Ia_Invalid }, /* 6C */ { 0, &Ia_Invalid }, /* 6D */ { 0, &Ia_Invalid }, /* 6E */ { 0, &Ia_Invalid }, /* 6F */ { 0, &Ia_Invalid }, /* 70 */ { 0, &Ia_Invalid }, /* 71 */ { 0, &Ia_Invalid }, /* 72 */ { 0, &Ia_Invalid }, /* 73 */ { 0, &Ia_Invalid }, /* 74 */ { 0, &Ia_Invalid }, /* 75 */ { 0, &Ia_Invalid }, /* 76 */ { 0, &Ia_Invalid }, /* 77 */ { 0, &Ia_Invalid }, /* 78 */ { 0, &Ia_Invalid }, /* 79 */ { 0, &Ia_Invalid }, /* 7A */ { 0, &Ia_Invalid }, /* 7B */ { 0, &Ia_Invalid }, /* 7C */ { 0, &Ia_Invalid }, /* 7D */ { 0, &Ia_Invalid }, /* 7E */ { 0, &Ia_Invalid }, /* 7F */ { 0, &Ia_Invalid }, /* 80 */ { 0, &Ia_Invalid }, /* 81 */ { 0, &Ia_Invalid }, /* 82 */ { 0, &Ia_Invalid }, /* 83 */ { 0, &Ia_Invalid }, /* 84 */ { 0, &Ia_Invalid }, /* 85 */ { 0, &Ia_Invalid }, /* 86 */ { 0, &Ia_Invalid }, /* 87 */ { 0, &Ia_Invalid }, /* 88 */ { 0, &Ia_Invalid }, /* 89 */ { 0, &Ia_Invalid }, /* 8A */ { 0, &Ia_Invalid }, /* 8B */ { 0, &Ia_Invalid }, /* 8C */ { 0, &Ia_Invalid }, /* 8D */ { 0, &Ia_Invalid }, /* 8E */ { 0, &Ia_Invalid }, /* 8F */ { 0, &Ia_Invalid }, /* 90 */ { 0, &Ia_Invalid }, /* 91 */ { 0, &Ia_Invalid }, /* 92 */ { 0, &Ia_Invalid }, /* 93 */ { 0, &Ia_Invalid }, /* 94 */ { 0, &Ia_Invalid }, /* 95 */ { 0, &Ia_Invalid }, /* 96 */ { 0, &Ia_Invalid }, /* 97 */ { 0, &Ia_Invalid }, /* 98 */ { 0, &Ia_Invalid }, /* 99 */ { 0, &Ia_Invalid }, /* 9A */ { 0, &Ia_Invalid }, /* 9B */ { 0, &Ia_Invalid }, /* 9C */ { 0, &Ia_Invalid }, /* 9D */ { 0, &Ia_Invalid }, /* 9E */ { 0, &Ia_Invalid }, /* 9F */ { 0, &Ia_Invalid }, /* A0 */ { 0, &Ia_Invalid }, /* A1 */ { 0, &Ia_Invalid }, /* A2 */ { 0, &Ia_Invalid }, /* A3 */ { 0, &Ia_Invalid }, /* A4 */ { 0, &Ia_Invalid }, /* A5 */ { 0, &Ia_Invalid }, /* A6 */ { 0, &Ia_Invalid }, /* A7 */ { 0, &Ia_Invalid }, /* A8 */ { 0, &Ia_Invalid }, /* A9 */ { 0, &Ia_Invalid }, /* AA */ { 0, &Ia_Invalid }, /* AB */ { 0, &Ia_Invalid }, /* AC */ { 0, &Ia_Invalid }, /* AD */ { 0, &Ia_Invalid }, /* AE */ { 0, &Ia_Invalid }, /* AF */ { 0, &Ia_Invalid }, /* B0 */ { 0, &Ia_Invalid }, /* B1 */ { 0, &Ia_Invalid }, /* B2 */ { 0, &Ia_Invalid }, /* B3 */ { 0, &Ia_Invalid }, /* B4 */ { 0, &Ia_Invalid }, /* B5 */ { 0, &Ia_Invalid }, /* B6 */ { 0, &Ia_Invalid }, /* B7 */ { 0, &Ia_Invalid }, /* B8 */ { 0, &Ia_Invalid }, /* B9 */ { 0, &Ia_Invalid }, /* BA */ { 0, &Ia_Invalid }, /* BB */ { 0, &Ia_Invalid }, /* BC */ { 0, &Ia_Invalid }, /* BD */ { 0, &Ia_Invalid }, /* BE */ { 0, &Ia_Invalid }, /* BF */ { 0, &Ia_Invalid }, /* C0 */ { 0, &Ia_Invalid }, /* C1 */ { 0, &Ia_Invalid }, /* C2 */ { 0, &Ia_Invalid }, /* C3 */ { 0, &Ia_Invalid }, /* C4 */ { 0, &Ia_Invalid }, /* C5 */ { 0, &Ia_Invalid }, /* C6 */ { 0, &Ia_Invalid }, /* C7 */ { 0, &Ia_Invalid }, /* C8 */ { 0, &Ia_Invalid }, /* C9 */ { 0, &Ia_Invalid }, /* CA */ { 0, &Ia_Invalid }, /* CB */ { 0, &Ia_Invalid }, /* CC */ { GRPSSENONE(Ia_sha1rnds4_Vdq_Wdq_Ib) }, /* CD */ { 0, &Ia_Invalid }, /* CE */ { 0, &Ia_Invalid }, /* CF */ { 0, &Ia_Invalid }, /* D0 */ { 0, &Ia_Invalid }, /* D1 */ { 0, &Ia_Invalid }, /* D2 */ { 0, &Ia_Invalid }, /* D3 */ { 0, &Ia_Invalid }, /* D4 */ { 0, &Ia_Invalid }, /* D5 */ { 0, &Ia_Invalid }, /* D6 */ { 0, &Ia_Invalid }, /* D7 */ { 0, &Ia_Invalid }, /* D8 */ { 0, &Ia_Invalid }, /* D9 */ { 0, &Ia_Invalid }, /* DA */ { 0, &Ia_Invalid }, /* DB */ { 0, &Ia_Invalid }, /* DC */ { 0, &Ia_Invalid }, /* DD */ { 0, &Ia_Invalid }, /* DE */ { 0, &Ia_Invalid }, /* DF */ { GRPSSE66(Ia_aeskeygenassist_Vdq_Wdq_Ib) }, /* E0 */ { 0, &Ia_Invalid }, /* E1 */ { 0, &Ia_Invalid }, /* E2 */ { 0, &Ia_Invalid }, /* E3 */ { 0, &Ia_Invalid }, /* E4 */ { 0, &Ia_Invalid }, /* E5 */ { 0, &Ia_Invalid }, /* E6 */ { 0, &Ia_Invalid }, /* E7 */ { 0, &Ia_Invalid }, /* E8 */ { 0, &Ia_Invalid }, /* E9 */ { 0, &Ia_Invalid }, /* EA */ { 0, &Ia_Invalid }, /* EB */ { 0, &Ia_Invalid }, /* EC */ { 0, &Ia_Invalid }, /* ED */ { 0, &Ia_Invalid }, /* EE */ { 0, &Ia_Invalid }, /* EF */ { 0, &Ia_Invalid }, /* F0 */ { 0, &Ia_Invalid }, /* F1 */ { 0, &Ia_Invalid }, /* F2 */ { 0, &Ia_Invalid }, /* F3 */ { 0, &Ia_Invalid }, /* F4 */ { 0, &Ia_Invalid }, /* F5 */ { 0, &Ia_Invalid }, /* F6 */ { 0, &Ia_Invalid }, /* F7 */ { 0, &Ia_Invalid }, /* F8 */ { 0, &Ia_Invalid }, /* F9 */ { 0, &Ia_Invalid }, /* FA */ { 0, &Ia_Invalid }, /* FB */ { 0, &Ia_Invalid }, /* FC */ { 0, &Ia_Invalid }, /* FD */ { 0, &Ia_Invalid }, /* FE */ { 0, &Ia_Invalid }, /* FF */ { 0, &Ia_Invalid } };