From c54748b2fae98907b3f86fd2a3b6b46249759ceb Mon Sep 17 00:00:00 2001 From: Jan Beulich Date: Fri, 21 Jul 2023 08:56:49 +0200 Subject: [PATCH] x86: simplify disassembly of LAR/LSL For whatever reason in c9f5b96bdab0 ("x86: correct handling of LAR and LSL") I didn't realize that we can easily use Sv instead of going through mod_table[]. Redo this aspect of that change. --- opcodes/i386-dis.c | 16 ++-------------- 1 file changed, 2 insertions(+), 14 deletions(-) diff --git a/opcodes/i386-dis.c b/opcodes/i386-dis.c index 9905317c110..179612ff0ac 100644 --- a/opcodes/i386-dis.c +++ b/opcodes/i386-dis.c @@ -867,8 +867,6 @@ enum MOD_0F01_REG_3, MOD_0F01_REG_5, MOD_0F01_REG_7, - MOD_0F02, - MOD_0F03, MOD_0F12_PREFIX_0, MOD_0F16_PREFIX_0, MOD_0F18_REG_0, @@ -2018,8 +2016,8 @@ static const struct dis386 dis386_twobyte[] = { /* 00 */ { REG_TABLE (REG_0F00 ) }, { REG_TABLE (REG_0F01 ) }, - { MOD_TABLE (MOD_0F02) }, - { MOD_TABLE (MOD_0F03) }, + { "larS", { Gv, Sv }, 0 }, + { "lslS", { Gv, Sv }, 0 }, { Bad_Opcode }, { "syscall", { XX }, 0 }, { "clts", { XX }, 0 }, @@ -7894,16 +7892,6 @@ static const struct dis386 mod_table[][2] = { { "invlpg", { Mb }, 0 }, { RM_TABLE (RM_0F01_REG_7_MOD_3) }, }, - { - /* MOD_0F02 */ - { "larS", { Gv, Mw }, 0 }, - { "larS", { Gv, Ev }, 0 }, - }, - { - /* MOD_0F03 */ - { "lslS", { Gv, Mw }, 0 }, - { "lslS", { Gv, Ev }, 0 }, - }, { /* MOD_0F12_PREFIX_0 */ { "%XEVmovlpYX", { XM, Vex, EXq }, 0 }, -- 2.30.2