2006-11-09 H.J. Lu <hongjiu.lu@intel.com>
authorH.J. Lu <hjl.tools@gmail.com>
Fri, 10 Nov 2006 03:54:11 +0000 (03:54 +0000)
committerH.J. Lu <hjl.tools@gmail.com>
Fri, 10 Nov 2006 03:54:11 +0000 (03:54 +0000)
* i386-dis.c (print_insn): Check PREFIX_REPNZ before
PREFIX_DATA when prefix user table is used.

opcodes/ChangeLog
opcodes/i386-dis.c

index 6499aea..727170e 100644 (file)
@@ -1,5 +1,10 @@
 2006-11-09  H.J. Lu  <hongjiu.lu@intel.com>
 
+       * i386-dis.c (print_insn): Check PREFIX_REPNZ before
+       PREFIX_DATA when prefix user table is used.
+
+2006-11-09  H.J. Lu  <hongjiu.lu@intel.com>
+
        * i386-dis.c (twobyte_uses_SSE_prefix): Renamed to ...
        (twobyte_uses_DATA_prefix): This.
        (twobyte_uses_REPNZ_prefix): New.
index 0da2446..caac903 100644 (file)
@@ -3139,14 +3139,16 @@ print_insn (bfd_vma pc, disassemble_info *info)
                index = 1;
              else
                {
-                 used_prefixes |= (prefixes & PREFIX_DATA);
-                 if (prefixes & PREFIX_DATA)
-                   index = 2;
+                 /* We should check PREFIX_REPNZ and PREFIX_REPZ
+                    before PREFIX_DATA.  */
+                 used_prefixes |= (prefixes & PREFIX_REPNZ);
+                 if (prefixes & PREFIX_REPNZ)
+                   index = 3;
                  else
                    {
-                     used_prefixes |= (prefixes & PREFIX_REPNZ);
-                     if (prefixes & PREFIX_REPNZ)
-                       index = 3;
+                     used_prefixes |= (prefixes & PREFIX_DATA);
+                     if (prefixes & PREFIX_DATA)
+                       index = 2;
                    }
                }
              dp = &prefix_user_table[dp->bytemode2][index];