[V5,2/9] Created an empty EVEX_MAP4_ sub-table for EVEX instructions.
Checks
Commit Message
opcode/ChangeLog:
* i386-dis-evex.hi: Added an empty EVEX_MAP4_ sub-table for
legacy insn promote to EVEX insn.
* opcodes/i386-dis-evex.h: Add EVEX_MAP4.
---
opcodes/i386-dis-evex.h | 291 ++++++++++++++++++++++++++++++++++++++++
opcodes/i386-dis.c | 1 +
2 files changed, 292 insertions(+)
Comments
On Thu, Dec 28, 2023 at 01:27:07AM +0000, Cui, Lili wrote:
> opcode/ChangeLog:
>
> * i386-dis-evex.hi: Added an empty EVEX_MAP4_ sub-table for
> legacy insn promote to EVEX insn.
> * opcodes/i386-dis-evex.h: Add EVEX_MAP4.
> ---
> opcodes/i386-dis-evex.h | 291 ++++++++++++++++++++++++++++++++++++++++
> opcodes/i386-dis.c | 1 +
> 2 files changed, 292 insertions(+)
>
> diff --git a/opcodes/i386-dis-evex.h b/opcodes/i386-dis-evex.h
> index e6295119d2b..7ad1edbe72d 100644
> --- a/opcodes/i386-dis-evex.h
> +++ b/opcodes/i386-dis-evex.h
> @@ -872,6 +872,297 @@ static const struct dis386 evex_table[][256] = {
> { Bad_Opcode },
> { Bad_Opcode },
> },
> + /* EVEX_MAP4_ */
> + {
> + /* 00 */
> + { Bad_Opcode },
> + { Bad_Opcode },
> + { Bad_Opcode },
> + { Bad_Opcode },
> + { Bad_Opcode },
> + { Bad_Opcode },
> + { Bad_Opcode },
> + { Bad_Opcode },
> + /* 08 */
> + { Bad_Opcode },
> + { Bad_Opcode },
> + { Bad_Opcode },
> + { Bad_Opcode },
> + { Bad_Opcode },
> + { Bad_Opcode },
> + { Bad_Opcode },
> + { Bad_Opcode },
> + /* 10 */
> + { Bad_Opcode },
> + { Bad_Opcode },
> + { Bad_Opcode },
> + { Bad_Opcode },
> + { Bad_Opcode },
> + { Bad_Opcode },
> + { Bad_Opcode },
> + { Bad_Opcode },
> + /* 18 */
> + { Bad_Opcode },
> + { Bad_Opcode },
> + { Bad_Opcode },
> + { Bad_Opcode },
> + { Bad_Opcode },
> + { Bad_Opcode },
> + { Bad_Opcode },
> + { Bad_Opcode },
> + /* 20 */
> + { Bad_Opcode },
> + { Bad_Opcode },
> + { Bad_Opcode },
> + { Bad_Opcode },
> + { Bad_Opcode },
> + { Bad_Opcode },
> + { Bad_Opcode },
> + { Bad_Opcode },
> + /* 28 */
> + { Bad_Opcode },
> + { Bad_Opcode },
> + { Bad_Opcode },
> + { Bad_Opcode },
> + { Bad_Opcode },
> + { Bad_Opcode },
> + { Bad_Opcode },
> + { Bad_Opcode },
> + /* 30 */
> + { Bad_Opcode },
> + { Bad_Opcode },
> + { Bad_Opcode },
> + { Bad_Opcode },
> + { Bad_Opcode },
> + { Bad_Opcode },
> + { Bad_Opcode },
> + { Bad_Opcode },
> + /* 38 */
> + { Bad_Opcode },
> + { Bad_Opcode },
> + { Bad_Opcode },
> + { Bad_Opcode },
> + { Bad_Opcode },
> + { Bad_Opcode },
> + { Bad_Opcode },
> + { Bad_Opcode },
> + /* 40 */
> + { Bad_Opcode },
> + { Bad_Opcode },
> + { Bad_Opcode },
> + { Bad_Opcode },
> + { Bad_Opcode },
> + { Bad_Opcode },
> + { Bad_Opcode },
> + { Bad_Opcode },
> + /* 48 */
> + { Bad_Opcode },
> + { Bad_Opcode },
> + { Bad_Opcode },
> + { Bad_Opcode },
> + { Bad_Opcode },
> + { Bad_Opcode },
> + { Bad_Opcode },
> + { Bad_Opcode },
> + /* 50 */
> + { Bad_Opcode },
> + { Bad_Opcode },
> + { Bad_Opcode },
> + { Bad_Opcode },
> + { Bad_Opcode },
> + { Bad_Opcode },
> + { Bad_Opcode },
> + { Bad_Opcode },
> + /* 58 */
> + { Bad_Opcode },
> + { Bad_Opcode },
> + { Bad_Opcode },
> + { Bad_Opcode },
> + { Bad_Opcode },
> + { Bad_Opcode },
> + { Bad_Opcode },
> + { Bad_Opcode },
> + /* 60 */
> + { Bad_Opcode },
> + { Bad_Opcode },
> + { Bad_Opcode },
> + { Bad_Opcode },
> + { Bad_Opcode },
> + { Bad_Opcode },
> + { Bad_Opcode },
> + { Bad_Opcode },
> + /* 68 */
> + { Bad_Opcode },
> + { Bad_Opcode },
> + { Bad_Opcode },
> + { Bad_Opcode },
> + { Bad_Opcode },
> + { Bad_Opcode },
> + { Bad_Opcode },
> + { Bad_Opcode },
> + /* 70 */
> + { Bad_Opcode },
> + { Bad_Opcode },
> + { Bad_Opcode },
> + { Bad_Opcode },
> + { Bad_Opcode },
> + { Bad_Opcode },
> + { Bad_Opcode },
> + { Bad_Opcode },
> + /* 78 */
> + { Bad_Opcode },
> + { Bad_Opcode },
> + { Bad_Opcode },
> + { Bad_Opcode },
> + { Bad_Opcode },
> + { Bad_Opcode },
> + { Bad_Opcode },
> + { Bad_Opcode },
> + /* 80 */
> + { Bad_Opcode },
> + { Bad_Opcode },
> + { Bad_Opcode },
> + { Bad_Opcode },
> + { Bad_Opcode },
> + { Bad_Opcode },
> + { Bad_Opcode },
> + { Bad_Opcode },
> + /* 88 */
> + { Bad_Opcode },
> + { Bad_Opcode },
> + { Bad_Opcode },
> + { Bad_Opcode },
> + { Bad_Opcode },
> + { Bad_Opcode },
> + { Bad_Opcode },
> + { Bad_Opcode },
> + /* 90 */
> + { Bad_Opcode },
> + { Bad_Opcode },
> + { Bad_Opcode },
> + { Bad_Opcode },
> + { Bad_Opcode },
> + { Bad_Opcode },
> + { Bad_Opcode },
> + { Bad_Opcode },
> + /* 98 */
> + { Bad_Opcode },
> + { Bad_Opcode },
> + { Bad_Opcode },
> + { Bad_Opcode },
> + { Bad_Opcode },
> + { Bad_Opcode },
> + { Bad_Opcode },
> + { Bad_Opcode },
> + /* A0 */
> + { Bad_Opcode },
> + { Bad_Opcode },
> + { Bad_Opcode },
> + { Bad_Opcode },
> + { Bad_Opcode },
> + { Bad_Opcode },
> + { Bad_Opcode },
> + { Bad_Opcode },
> + /* A8 */
> + { Bad_Opcode },
> + { Bad_Opcode },
> + { Bad_Opcode },
> + { Bad_Opcode },
> + { Bad_Opcode },
> + { Bad_Opcode },
> + { Bad_Opcode },
> + { Bad_Opcode },
> + /* B0 */
> + { Bad_Opcode },
> + { Bad_Opcode },
> + { Bad_Opcode },
> + { Bad_Opcode },
> + { Bad_Opcode },
> + { Bad_Opcode },
> + { Bad_Opcode },
> + { Bad_Opcode },
> + /* B8 */
> + { Bad_Opcode },
> + { Bad_Opcode },
> + { Bad_Opcode },
> + { Bad_Opcode },
> + { Bad_Opcode },
> + { Bad_Opcode },
> + { Bad_Opcode },
> + { Bad_Opcode },
> + /* C0 */
> + { Bad_Opcode },
> + { Bad_Opcode },
> + { Bad_Opcode },
> + { Bad_Opcode },
> + { Bad_Opcode },
> + { Bad_Opcode },
> + { Bad_Opcode },
> + { Bad_Opcode },
> + /* C8 */
> + { Bad_Opcode },
> + { Bad_Opcode },
> + { Bad_Opcode },
> + { Bad_Opcode },
> + { Bad_Opcode },
> + { Bad_Opcode },
> + { Bad_Opcode },
> + { Bad_Opcode },
> + /* D0 */
> + { Bad_Opcode },
> + { Bad_Opcode },
> + { Bad_Opcode },
> + { Bad_Opcode },
> + { Bad_Opcode },
> + { Bad_Opcode },
> + { Bad_Opcode },
> + { Bad_Opcode },
> + /* D8 */
> + { Bad_Opcode },
> + { Bad_Opcode },
> + { Bad_Opcode },
> + { Bad_Opcode },
> + { Bad_Opcode },
> + { Bad_Opcode },
> + { Bad_Opcode },
> + { Bad_Opcode },
> + /* E0 */
> + { Bad_Opcode },
> + { Bad_Opcode },
> + { Bad_Opcode },
> + { Bad_Opcode },
> + { Bad_Opcode },
> + { Bad_Opcode },
> + { Bad_Opcode },
> + { Bad_Opcode },
> + /* E8 */
> + { Bad_Opcode },
> + { Bad_Opcode },
> + { Bad_Opcode },
> + { Bad_Opcode },
> + { Bad_Opcode },
> + { Bad_Opcode },
> + { Bad_Opcode },
> + { Bad_Opcode },
> + /* F0 */
> + { Bad_Opcode },
> + { Bad_Opcode },
> + { Bad_Opcode },
> + { Bad_Opcode },
> + { Bad_Opcode },
> + { Bad_Opcode },
> + { Bad_Opcode },
> + { Bad_Opcode },
> + /* F8 */
> + { Bad_Opcode },
> + { Bad_Opcode },
> + { Bad_Opcode },
> + { Bad_Opcode },
> + { Bad_Opcode },
> + { Bad_Opcode },
> + { Bad_Opcode },
> + { Bad_Opcode },
> + },
> /* EVEX_MAP5_ */
> {
> /* 00 */
> diff --git a/opcodes/i386-dis.c b/opcodes/i386-dis.c
> index 4d6d547b2b6..e006d869258 100644
> --- a/opcodes/i386-dis.c
> +++ b/opcodes/i386-dis.c
> @@ -1296,6 +1296,7 @@ enum
> EVEX_0F = 0,
> EVEX_0F38,
> EVEX_0F3A,
> + EVEX_MAP4,
> EVEX_MAP5,
> EVEX_MAP6,
> };
> --
> 2.25.1
>
OK.
Thanks.
H.J.
@@ -872,6 +872,297 @@ static const struct dis386 evex_table[][256] = {
{ Bad_Opcode },
{ Bad_Opcode },
},
+ /* EVEX_MAP4_ */
+ {
+ /* 00 */
+ { Bad_Opcode },
+ { Bad_Opcode },
+ { Bad_Opcode },
+ { Bad_Opcode },
+ { Bad_Opcode },
+ { Bad_Opcode },
+ { Bad_Opcode },
+ { Bad_Opcode },
+ /* 08 */
+ { Bad_Opcode },
+ { Bad_Opcode },
+ { Bad_Opcode },
+ { Bad_Opcode },
+ { Bad_Opcode },
+ { Bad_Opcode },
+ { Bad_Opcode },
+ { Bad_Opcode },
+ /* 10 */
+ { Bad_Opcode },
+ { Bad_Opcode },
+ { Bad_Opcode },
+ { Bad_Opcode },
+ { Bad_Opcode },
+ { Bad_Opcode },
+ { Bad_Opcode },
+ { Bad_Opcode },
+ /* 18 */
+ { Bad_Opcode },
+ { Bad_Opcode },
+ { Bad_Opcode },
+ { Bad_Opcode },
+ { Bad_Opcode },
+ { Bad_Opcode },
+ { Bad_Opcode },
+ { Bad_Opcode },
+ /* 20 */
+ { Bad_Opcode },
+ { Bad_Opcode },
+ { Bad_Opcode },
+ { Bad_Opcode },
+ { Bad_Opcode },
+ { Bad_Opcode },
+ { Bad_Opcode },
+ { Bad_Opcode },
+ /* 28 */
+ { Bad_Opcode },
+ { Bad_Opcode },
+ { Bad_Opcode },
+ { Bad_Opcode },
+ { Bad_Opcode },
+ { Bad_Opcode },
+ { Bad_Opcode },
+ { Bad_Opcode },
+ /* 30 */
+ { Bad_Opcode },
+ { Bad_Opcode },
+ { Bad_Opcode },
+ { Bad_Opcode },
+ { Bad_Opcode },
+ { Bad_Opcode },
+ { Bad_Opcode },
+ { Bad_Opcode },
+ /* 38 */
+ { Bad_Opcode },
+ { Bad_Opcode },
+ { Bad_Opcode },
+ { Bad_Opcode },
+ { Bad_Opcode },
+ { Bad_Opcode },
+ { Bad_Opcode },
+ { Bad_Opcode },
+ /* 40 */
+ { Bad_Opcode },
+ { Bad_Opcode },
+ { Bad_Opcode },
+ { Bad_Opcode },
+ { Bad_Opcode },
+ { Bad_Opcode },
+ { Bad_Opcode },
+ { Bad_Opcode },
+ /* 48 */
+ { Bad_Opcode },
+ { Bad_Opcode },
+ { Bad_Opcode },
+ { Bad_Opcode },
+ { Bad_Opcode },
+ { Bad_Opcode },
+ { Bad_Opcode },
+ { Bad_Opcode },
+ /* 50 */
+ { Bad_Opcode },
+ { Bad_Opcode },
+ { Bad_Opcode },
+ { Bad_Opcode },
+ { Bad_Opcode },
+ { Bad_Opcode },
+ { Bad_Opcode },
+ { Bad_Opcode },
+ /* 58 */
+ { Bad_Opcode },
+ { Bad_Opcode },
+ { Bad_Opcode },
+ { Bad_Opcode },
+ { Bad_Opcode },
+ { Bad_Opcode },
+ { Bad_Opcode },
+ { Bad_Opcode },
+ /* 60 */
+ { Bad_Opcode },
+ { Bad_Opcode },
+ { Bad_Opcode },
+ { Bad_Opcode },
+ { Bad_Opcode },
+ { Bad_Opcode },
+ { Bad_Opcode },
+ { Bad_Opcode },
+ /* 68 */
+ { Bad_Opcode },
+ { Bad_Opcode },
+ { Bad_Opcode },
+ { Bad_Opcode },
+ { Bad_Opcode },
+ { Bad_Opcode },
+ { Bad_Opcode },
+ { Bad_Opcode },
+ /* 70 */
+ { Bad_Opcode },
+ { Bad_Opcode },
+ { Bad_Opcode },
+ { Bad_Opcode },
+ { Bad_Opcode },
+ { Bad_Opcode },
+ { Bad_Opcode },
+ { Bad_Opcode },
+ /* 78 */
+ { Bad_Opcode },
+ { Bad_Opcode },
+ { Bad_Opcode },
+ { Bad_Opcode },
+ { Bad_Opcode },
+ { Bad_Opcode },
+ { Bad_Opcode },
+ { Bad_Opcode },
+ /* 80 */
+ { Bad_Opcode },
+ { Bad_Opcode },
+ { Bad_Opcode },
+ { Bad_Opcode },
+ { Bad_Opcode },
+ { Bad_Opcode },
+ { Bad_Opcode },
+ { Bad_Opcode },
+ /* 88 */
+ { Bad_Opcode },
+ { Bad_Opcode },
+ { Bad_Opcode },
+ { Bad_Opcode },
+ { Bad_Opcode },
+ { Bad_Opcode },
+ { Bad_Opcode },
+ { Bad_Opcode },
+ /* 90 */
+ { Bad_Opcode },
+ { Bad_Opcode },
+ { Bad_Opcode },
+ { Bad_Opcode },
+ { Bad_Opcode },
+ { Bad_Opcode },
+ { Bad_Opcode },
+ { Bad_Opcode },
+ /* 98 */
+ { Bad_Opcode },
+ { Bad_Opcode },
+ { Bad_Opcode },
+ { Bad_Opcode },
+ { Bad_Opcode },
+ { Bad_Opcode },
+ { Bad_Opcode },
+ { Bad_Opcode },
+ /* A0 */
+ { Bad_Opcode },
+ { Bad_Opcode },
+ { Bad_Opcode },
+ { Bad_Opcode },
+ { Bad_Opcode },
+ { Bad_Opcode },
+ { Bad_Opcode },
+ { Bad_Opcode },
+ /* A8 */
+ { Bad_Opcode },
+ { Bad_Opcode },
+ { Bad_Opcode },
+ { Bad_Opcode },
+ { Bad_Opcode },
+ { Bad_Opcode },
+ { Bad_Opcode },
+ { Bad_Opcode },
+ /* B0 */
+ { Bad_Opcode },
+ { Bad_Opcode },
+ { Bad_Opcode },
+ { Bad_Opcode },
+ { Bad_Opcode },
+ { Bad_Opcode },
+ { Bad_Opcode },
+ { Bad_Opcode },
+ /* B8 */
+ { Bad_Opcode },
+ { Bad_Opcode },
+ { Bad_Opcode },
+ { Bad_Opcode },
+ { Bad_Opcode },
+ { Bad_Opcode },
+ { Bad_Opcode },
+ { Bad_Opcode },
+ /* C0 */
+ { Bad_Opcode },
+ { Bad_Opcode },
+ { Bad_Opcode },
+ { Bad_Opcode },
+ { Bad_Opcode },
+ { Bad_Opcode },
+ { Bad_Opcode },
+ { Bad_Opcode },
+ /* C8 */
+ { Bad_Opcode },
+ { Bad_Opcode },
+ { Bad_Opcode },
+ { Bad_Opcode },
+ { Bad_Opcode },
+ { Bad_Opcode },
+ { Bad_Opcode },
+ { Bad_Opcode },
+ /* D0 */
+ { Bad_Opcode },
+ { Bad_Opcode },
+ { Bad_Opcode },
+ { Bad_Opcode },
+ { Bad_Opcode },
+ { Bad_Opcode },
+ { Bad_Opcode },
+ { Bad_Opcode },
+ /* D8 */
+ { Bad_Opcode },
+ { Bad_Opcode },
+ { Bad_Opcode },
+ { Bad_Opcode },
+ { Bad_Opcode },
+ { Bad_Opcode },
+ { Bad_Opcode },
+ { Bad_Opcode },
+ /* E0 */
+ { Bad_Opcode },
+ { Bad_Opcode },
+ { Bad_Opcode },
+ { Bad_Opcode },
+ { Bad_Opcode },
+ { Bad_Opcode },
+ { Bad_Opcode },
+ { Bad_Opcode },
+ /* E8 */
+ { Bad_Opcode },
+ { Bad_Opcode },
+ { Bad_Opcode },
+ { Bad_Opcode },
+ { Bad_Opcode },
+ { Bad_Opcode },
+ { Bad_Opcode },
+ { Bad_Opcode },
+ /* F0 */
+ { Bad_Opcode },
+ { Bad_Opcode },
+ { Bad_Opcode },
+ { Bad_Opcode },
+ { Bad_Opcode },
+ { Bad_Opcode },
+ { Bad_Opcode },
+ { Bad_Opcode },
+ /* F8 */
+ { Bad_Opcode },
+ { Bad_Opcode },
+ { Bad_Opcode },
+ { Bad_Opcode },
+ { Bad_Opcode },
+ { Bad_Opcode },
+ { Bad_Opcode },
+ { Bad_Opcode },
+ },
/* EVEX_MAP5_ */
{
/* 00 */
@@ -1296,6 +1296,7 @@ enum
EVEX_0F = 0,
EVEX_0F38,
EVEX_0F3A,
+ EVEX_MAP4,
EVEX_MAP5,
EVEX_MAP6,
};