aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHaochen Jiang <haochen.jiang@intel.com>2022-12-05 10:32:00 +0800
committerCui,Lili <lili.cui@intel.com>2022-12-06 15:49:40 +0800
commit40849d84cbcc7647edf90ab8078d873fab15ffb8 (patch)
treef2c04c607d4618f20ed93cc10a838bdcc708ddb0
parentda16cc96f3f29e8e3eacf25c5ad56ff15974c8dc (diff)
downloadgdb-40849d84cbcc7647edf90ab8078d873fab15ffb8.zip
gdb-40849d84cbcc7647edf90ab8078d873fab15ffb8.tar.gz
gdb-40849d84cbcc7647edf90ab8078d873fab15ffb8.tar.bz2
x86: Remove unnecessary vex.w check for xh_mode in disassembler
For all the xh_mode usage in table, they are all using %XH, which will print "{bad}" while EVEX.W=1. This makes this vex.w check unnecessary. opcodes/ChangeLog: * i386-dis.c (OP_E_memory): Remove vex.w check for xh_mode.
-rw-r--r--opcodes/i386-dis.c29
1 files changed, 12 insertions, 17 deletions
diff --git a/opcodes/i386-dis.c b/opcodes/i386-dis.c
index e43666a..e778e91 100644
--- a/opcodes/i386-dis.c
+++ b/opcodes/i386-dis.c
@@ -12206,24 +12206,19 @@ OP_E_memory (instr_info *ins, int bytemode, int sizeflag)
{
if (bytemode == xh_mode)
{
- if (ins->vex.w)
- oappend (ins, "{bad}");
- else
+ switch (ins->vex.length)
{
- switch (ins->vex.length)
- {
- case 128:
- oappend (ins, "{1to8}");
- break;
- case 256:
- oappend (ins, "{1to16}");
- break;
- case 512:
- oappend (ins, "{1to32}");
- break;
- default:
- abort ();
- }
+ case 128:
+ oappend (ins, "{1to8}");
+ break;
+ case 256:
+ oappend (ins, "{1to16}");
+ break;
+ case 512:
+ oappend (ins, "{1to32}");
+ break;
+ default:
+ abort ();
}
}
else if (bytemode == q_mode