opcodes/
authorJan Beulich <jbeulich@novell.com>
Wed, 25 May 2005 06:47:58 +0000 (06:47 +0000)
committerJan Beulich <jbeulich@novell.com>
Wed, 25 May 2005 06:47:58 +0000 (06:47 +0000)
2005-05-25  Jan Beulich  <jbeulich@novell.com>

* i386-dis.c (prefix_name): Remove pointless mode_64bit check.
(OP_E): Remove redundant REX_EXTZ handling. Remove pointless
masking of 'rm' in 16-bit memory address handling.

opcodes/ChangeLog
opcodes/i386-dis.c

index a34ca0a2aa95f18a5cdfea714ed1122b486d793b..7b57e5b7388df2413d076022ad85510a81df69f8 100644 (file)
@@ -1,3 +1,9 @@
+2005-05-25  Jan Beulich  <jbeulich@novell.com>
+
+       * i386-dis.c (prefix_name): Remove pointless mode_64bit check.
+       (OP_E): Remove redundant REX_EXTZ handling. Remove pointless
+       masking of 'rm' in 16-bit memory address handling.
+
 2005-05-19  Anton Blanchard  <anton@samba.org>
 
        * ppc-dis.c (powerpc_dialect): Handle "-Mpower5".
index 15f43c30b25761679145c6d29d2211908fc717db..9a8b73f48cf3da7b90912d2304d482d9047001bc 100644 (file)
@@ -1895,7 +1895,7 @@ prefix_name (int pref, int sizeflag)
       if (mode_64bit)
        return (sizeflag & AFLAG) ? "addr32" : "addr64";
       else
-       return ((sizeflag & AFLAG) && !mode_64bit) ? "addr16" : "addr32";
+       return (sizeflag & AFLAG) ? "addr16" : "addr32";
     case FWAIT_OPCODE:
       return "fwait";
     default:
@@ -3214,13 +3214,11 @@ OP_E (int bytemode, int sizeflag)
            scale = (*codep >> 6) & 3;
          base = *codep & 7;
          USED_REX (REX_EXTY);
-         USED_REX (REX_EXTZ);
          if (rex & REX_EXTY)
            index += 8;
-         if (rex & REX_EXTZ)
-           base += 8;
          codep++;
        }
+      base += add;
 
       switch (mod)
        {
@@ -3316,9 +3314,6 @@ OP_E (int bytemode, int sizeflag)
          if (intel_syntax && riprel)
            oappend ("rip + ");
          *obufp = '\0';
-         USED_REX (REX_EXTZ);
-         if (!havesib && (rex & REX_EXTZ))
-           base += 8;
          if (havebase)
            oappend (mode_64bit && (sizeflag & AFLAG)
                     ? names64[base] : names32[base]);
@@ -3384,7 +3379,7 @@ OP_E (int bytemode, int sizeflag)
       switch (mod)
        {
        case 0:
-         if ((rm & 7) == 6)
+         if (rm == 6)
            {
              disp = get16 ();
              if ((disp & 0x8000) != 0)
@@ -3405,13 +3400,13 @@ OP_E (int bytemode, int sizeflag)
        }
 
       if (!intel_syntax)
-       if (mod != 0 || (rm & 7) == 6)
+       if (mod != 0 || rm == 6)
          {
            print_operand_value (scratchbuf, 0, disp);
            oappend (scratchbuf);
          }
 
-      if (mod != 0 || (rm & 7) != 6)
+      if (mod != 0 || rm != 6)
        {
          *obufp++ = open_char;
          *obufp = '\0';