x86: simplify disassembly of LAR/LSL
authorJan Beulich <jbeulich@suse.com>
Fri, 21 Jul 2023 06:56:49 +0000 (08:56 +0200)
committerJan Beulich <jbeulich@suse.com>
Fri, 21 Jul 2023 06:56:49 +0000 (08:56 +0200)
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

index 9905317c1108893a62e9dbf80d8c7199310f6e9d..179612ff0ac0b3ae7aeef43f66ea2affdd996c80 100644 (file)
@@ -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 },