x86: fold duplicate code in MOVSXD_Fixup()
authorJan Beulich <jbeulich@suse.com>
Thu, 22 Jul 2021 11:03:53 +0000 (13:03 +0200)
committerJan Beulich <jbeulich@suse.com>
Thu, 22 Jul 2021 11:03:53 +0000 (13:03 +0200)
There's no need to have two paths printing the "xd" mnemonic suffix.

opcodes/i386-dis.c

index 725b38b1dda8fdb13f4a77035888ed2af59ae8e3..ddb659fb04195dc86bd40ee741bdfe120cec3274 100644 (file)
@@ -13601,31 +13601,25 @@ MOVSXD_Fixup (int bytemode, int sizeflag)
   switch (bytemode)
     {
     case movsxd_mode:
-      if (intel_syntax)
+      if (!intel_syntax)
        {
-         *p++ = 'x';
-         *p++ = 'd';
-         goto skip;
+         USED_REX (REX_W);
+         if (rex & REX_W)
+           {
+             *p++ = 'l';
+             *p++ = 'q';
+             break;
+           }
        }
 
-      USED_REX (REX_W);
-      if (rex & REX_W)
-       {
-         *p++ = 'l';
-         *p++ = 'q';
-       }
-      else
-       {
-         *p++ = 'x';
-         *p++ = 'd';
-       }
+      *p++ = 'x';
+      *p++ = 'd';
       break;
     default:
       oappend (INTERNAL_DISASSEMBLER_ERROR);
       break;
     }
 
- skip:
   mnemonicendp = p;
   *p = '\0';
   OP_E (bytemode, sizeflag);