[binutils-gdb] x86: Remove unnecessary vex.w check for xh_mode in disassembler

Lili Cui cuilili@sourceware.org
Tue Dec 6 07:55:46 GMT 2022


https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=40849d84cbcc7647edf90ab8078d873fab15ffb8

commit 40849d84cbcc7647edf90ab8078d873fab15ffb8
Author: Haochen Jiang <haochen.jiang@intel.com>
Date:   Mon Dec 5 10:32:00 2022 +0800

    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.

Diff:
---
 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


More information about the Binutils-cvs mailing list