From 40849d84cbcc7647edf90ab8078d873fab15ffb8 Mon Sep 17 00:00:00 2001 From: Haochen Jiang Date: Mon, 5 Dec 2022 10:32:00 +0800 Subject: [PATCH] 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. --- opcodes/i386-dis.c | 29 ++++++++++++----------------- 1 file changed, 12 insertions(+), 17 deletions(-) diff --git a/opcodes/i386-dis.c b/opcodes/i386-dis.c index e43666af841..e778e919206 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 -- 2.30.2