mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2024-12-27 04:52:05 +08:00
fc681dd6a1
The order of decodes influences the overall number of table entries.
Reduce table size quite a bit by first decoding few-alternatives
attributes common to all valid leaves.
This also adds a PREFIX_DATA 7531c61332
("x86: simplify decode of
opcodes valid with (embedded) 66 prefix only") missed to apply to
vbroadcastf64x4.
90 lines
1.9 KiB
C
90 lines
1.9 KiB
C
{
|
|
/* MOD_EVEX_0F12_PREFIX_0 */
|
|
{ "vmovlpX", { XMM, Vex, EXxmm_mq }, PREFIX_OPCODE },
|
|
{ VEX_W_TABLE (EVEX_W_0F12_P_0_M_1) },
|
|
},
|
|
{
|
|
/* MOD_EVEX_0F12_PREFIX_2 */
|
|
{ "vmovlpX", { XMM, Vex, EXxmm_mq }, PREFIX_OPCODE },
|
|
},
|
|
{
|
|
/* MOD_EVEX_0F13 */
|
|
{ "vmovlpX", { EXxmm_mq, XMM }, PREFIX_OPCODE },
|
|
},
|
|
{
|
|
/* MOD_EVEX_0F16_PREFIX_0 */
|
|
{ "vmovhpX", { XMM, Vex, EXxmm_mq }, PREFIX_OPCODE },
|
|
{ VEX_W_TABLE (EVEX_W_0F16_P_0_M_1) },
|
|
},
|
|
{
|
|
/* MOD_EVEX_0F16_PREFIX_2 */
|
|
{ "vmovhpX", { XMM, Vex, EXxmm_mq }, PREFIX_OPCODE },
|
|
},
|
|
{
|
|
/* MOD_EVEX_0F17 */
|
|
{ "vmovhpX", { EXxmm_mq, XMM }, PREFIX_OPCODE },
|
|
},
|
|
{
|
|
/* MOD_EVEX_0F2B */
|
|
{ "vmovntpX", { EXx, XM }, PREFIX_OPCODE },
|
|
},
|
|
/* MOD_EVEX_0F381A */
|
|
{
|
|
{ EVEX_LEN_TABLE (EVEX_LEN_0F381A_M_0) },
|
|
},
|
|
/* MOD_EVEX_0F381B */
|
|
{
|
|
{ EVEX_LEN_TABLE (EVEX_LEN_0F381B_M_0) },
|
|
},
|
|
/* MOD_EVEX_0F3828_P_1 */
|
|
{
|
|
{ Bad_Opcode },
|
|
{ "vpmovm2%BW", { XM, MaskE }, 0 },
|
|
},
|
|
/* MOD_EVEX_0F382A_P_1_W_1 */
|
|
{
|
|
{ Bad_Opcode },
|
|
{ "vpbroadcastmb2q", { XM, MaskE }, 0 },
|
|
},
|
|
/* MOD_EVEX_0F3838_P_1 */
|
|
{
|
|
{ Bad_Opcode },
|
|
{ "vpmovm2%DQ", { XM, MaskE }, 0 },
|
|
},
|
|
/* MOD_EVEX_0F383A_P_1_W_0 */
|
|
{
|
|
{ Bad_Opcode },
|
|
{ "vpbroadcastmw2d", { XM, MaskE }, 0 },
|
|
},
|
|
/* MOD_EVEX_0F385A */
|
|
{
|
|
{ EVEX_LEN_TABLE (EVEX_LEN_0F385A_M_0) },
|
|
},
|
|
/* MOD_EVEX_0F385B */
|
|
{
|
|
{ EVEX_LEN_TABLE (EVEX_LEN_0F385B_M_0) },
|
|
},
|
|
/* MOD_EVEX_0F387A_W_0 */
|
|
{
|
|
{ Bad_Opcode },
|
|
{ "vpbroadcastb", { XM, Ed }, PREFIX_DATA },
|
|
},
|
|
/* MOD_EVEX_0F387B_W_0 */
|
|
{
|
|
{ Bad_Opcode },
|
|
{ "vpbroadcastw", { XM, Ed }, PREFIX_DATA },
|
|
},
|
|
/* MOD_EVEX_0F387C */
|
|
{
|
|
{ Bad_Opcode },
|
|
{ "vpbroadcastK", { XM, Edq }, PREFIX_DATA },
|
|
},
|
|
{
|
|
/* MOD_EVEX_0F38C6 */
|
|
{ EVEX_LEN_TABLE (EVEX_LEN_0F38C6_M_0) },
|
|
},
|
|
{
|
|
/* MOD_EVEX_0F38C7 */
|
|
{ EVEX_LEN_TABLE (EVEX_LEN_0F38C7_M_0) },
|
|
},
|