From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 7804) id D1E093858D20; Wed, 17 Apr 2024 05:58:47 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org D1E093858D20 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1713333527; bh=sWdaUXtOopsELmuvFhL5fQm1siuDENIiM8apLhQOixw=; h=From:To:Subject:Date:From; b=l4FrYAWt4y5N18NmFjcscO6EW5ksmTKjd9SwHtZGPOI/SUF9Ej1R0Tshm6Ab+OhQ7 VsfV8+7mMHYIbhvNpXLv4gnA2ByudJOG3LxZxqtvrHOOBIQOCS5KXzv5NGSUhqcM/A 7z18cUbdVLhL/7fd8dbJNeEGbgzdHQ/goSZJ/WPI= Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable From: Lili Cui To: binutils-cvs@sourceware.org Subject: [binutils-gdb] Add W table for USER_MSR under MAP4. X-Act-Checkin: binutils-gdb X-Git-Author: Hu, Lin1 X-Git-Refname: refs/heads/master X-Git-Oldrev: c2fbf57864a2da2ceda81706a54d125ef3fce0a7 X-Git-Newrev: e59144c6edc425653836e1f9fb138799ee419889 Message-Id: <20240417055847.D1E093858D20@sourceware.org> Date: Wed, 17 Apr 2024 05:58:47 +0000 (GMT) List-Id: https://sourceware.org/git/gitweb.cgi?p=3Dbinutils-gdb.git;h=3De59144c6edc4= 25653836e1f9fb138799ee419889 commit e59144c6edc425653836e1f9fb138799ee419889 Author: Hu, Lin1 Date: Wed Apr 17 13:57:50 2024 +0800 Add W table for USER_MSR under MAP4. =20 opcodes/ChangeLog: =20 * i386-dis-evex-mod.h: Modify MOD_EVEX_MAP4_F8_P1, MOD_EVEX_MAP4_F8_P3. * i386-dis-evex-w.h (EVEX_W_MAP4_F8_P1_M_1): New. (EVEX_W_MAP4_F8_P3_M_1): Ditto. * i386-dis.c (vex_w_table): Add EVEX_W_MAP4_F8_P1_M_1, EVEX_W_MAP4_F8_P3_M_1. * i386-opc.tbl: Remove redundant '|'. Diff: --- opcodes/i386-dis-evex-mod.h | 4 ++-- opcodes/i386-dis-evex-w.h | 8 ++++++++ opcodes/i386-dis.c | 2 ++ opcodes/i386-opc.tbl | 2 +- 4 files changed, 13 insertions(+), 3 deletions(-) diff --git a/opcodes/i386-dis-evex-mod.h b/opcodes/i386-dis-evex-mod.h index e793b24a6f8..879c91f3b76 100644 --- a/opcodes/i386-dis-evex-mod.h +++ b/opcodes/i386-dis-evex-mod.h @@ -1,10 +1,10 @@ /* MOD_EVEX_MAP4_F8_P1 */ { { "enqcmds", { Gva, M }, 0 }, - { "uwrmsr", { Gq, Eq }, 0 }, + { VEX_W_TABLE (EVEX_W_MAP4_F8_P1_M_1) }, }, /* MOD_EVEX_MAP4_F8_P3 */ { { "enqcmd", { Gva, M }, 0 }, - { "urdmsr", { Eq, Gq }, 0 }, + { VEX_W_TABLE (EVEX_W_MAP4_F8_P3_M_1) }, }, diff --git a/opcodes/i386-dis-evex-w.h b/opcodes/i386-dis-evex-w.h index 12ab29544bb..24c0c23f23e 100644 --- a/opcodes/i386-dis-evex-w.h +++ b/opcodes/i386-dis-evex-w.h @@ -447,6 +447,14 @@ { "pop2", { { PUSH2_POP2_Fixup, q_mode}, Eq }, NO_PREFIX }, { "pop2p", { { PUSH2_POP2_Fixup, q_mode}, Eq }, NO_PREFIX }, }, + /* EVEX_W_MAP4_F8_P1_M_1 */ + { + { "uwrmsr", { Gq, Eq }, 0 }, + }, + /* EVEX_W_MAP4_F8_P3_M_1 */ + { + { "urdmsr", { Eq, Gq }, 0 }, + }, /* EVEX_W_MAP4_FF_R_6 */ { { "push2", { { PUSH2_POP2_Fixup, q_mode}, Eq }, 0 }, diff --git a/opcodes/i386-dis.c b/opcodes/i386-dis.c index 3efe65af940..b9fdda1b578 100644 --- a/opcodes/i386-dis.c +++ b/opcodes/i386-dis.c @@ -1739,6 +1739,8 @@ enum EVEX_W_0F3A72, =20 EVEX_W_MAP4_8F_R_0, + EVEX_W_MAP4_F8_P1_M_1, + EVEX_W_MAP4_F8_P3_M_1, EVEX_W_MAP4_FF_R_6, =20 EVEX_W_MAP5_5B_P_0, diff --git a/opcodes/i386-opc.tbl b/opcodes/i386-opc.tbl index fb2e9e91f05..7d248f64bbd 100644 --- a/opcodes/i386-opc.tbl +++ b/opcodes/i386-opc.tbl @@ -3416,7 +3416,7 @@ urdmsr, 0xf20f38f8, USER_MSR, RegMem|NoSuf|NoRex64, {= Reg64, Reg64 } urdmsr, 0xf2f8, USER_MSR&APX_F, RegMem|EVexMap4|VexW0|NoSuf, { Reg64, Reg6= 4 } urdmsr, 0xf2f8/0, APX_F(USER_MSR), Modrm|Vex128|VexMap7|EVex128|VexW0|NoSu= f, { Imm32, Reg64 } uwrmsr, 0xf30f38f8, USER_MSR, Modrm|NoSuf|NoRex64, { Reg64, Reg64 } -uwrmsr, 0xf3f8, USER_MSR&APX_F, Modrm||EVexMap4|VexW0|NoSuf, { Reg64, Reg6= 4 } +uwrmsr, 0xf3f8, USER_MSR&APX_F, Modrm|EVexMap4|VexW0|NoSuf, { Reg64, Reg64= } // Immediates want to be first; md_assemble() takes care of swapping opera= nds // accordingly. uwrmsr, 0xf3f8/0, APX_F(USER_MSR), Modrm|Vex128|VexMap7|EVex128|VexW0|NoSu= f, { Imm32, Reg64 }