Check dp->prefix_requirement instead
authorH.J. Lu <hjl.tools@gmail.com>
Wed, 15 Apr 2015 18:28:16 +0000 (11:28 -0700)
committerH.J. Lu <hjl.tools@gmail.com>
Wed, 15 Apr 2015 18:28:16 +0000 (11:28 -0700)
This patch removes prefix_requirement and checks dp->prefix_requirement
instead.

* i386-dis.c (prefix_requirement): Removed.
(print_insn): Don't set prefix_requirement.  Check
dp->prefix_requirement instead of prefix_requirement.

opcodes/ChangeLog
opcodes/i386-dis.c

index b46c861032592c03baf2bf4e96222063c0487b2f..0742cccce179005554e165384e71f10577157bdb 100644 (file)
@@ -1,3 +1,9 @@
+2015-04-15  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * i386-dis.c (prefix_requirement): Removed.
+       (print_insn): Don't set prefix_requirement.  Check
+       dp->prefix_requirement instead of prefix_requirement.
+
 2015-04-15  H.J. Lu  <hongjiu.lu@intel.com>
 
        PR binutils/17898
index 76ecb5a78bb94cab935faf7565625060625aa7db..ca9ea2deb4e327117101392171c58bd0c95dd295 100644 (file)
@@ -3082,8 +3082,6 @@ static int last_addr_prefix;
 static int last_rex_prefix;
 static int last_seg_prefix;
 static int fwait_prefix;
-/* The PREFIX_REPZ/PREFIX_REPNZ/PREFIX_DATA prefix is mandatory.  */
-static int prefix_requirement;
 /* The active segment register prefix.  */
 static int active_seg_prefix;
 #define MAX_CODE_LENGTH 15
@@ -13053,14 +13051,12 @@ print_insn (bfd_vma pc, disassemble_info *info)
       threebyte = *++codep;
       dp = &dis386_twobyte[threebyte];
       need_modrm = twobyte_has_modrm[*codep];
-      prefix_requirement = dp->prefix_requirement;
       codep++;
     }
   else
     {
       dp = &dis386[*codep];
       need_modrm = onebyte_has_modrm[*codep];
-      prefix_requirement = 0;
       codep++;
     }
 
@@ -13160,7 +13156,7 @@ print_insn (bfd_vma pc, disassemble_info *info)
      used by putop and MMX/SSE operand and may be overriden by the
      PREFIX_REPZ/PREFIX_REPNZ fix, we check the PREFIX_DATA prefix
      separately.  */
-  if (prefix_requirement == PREFIX_OPCODE
+  if (dp->prefix_requirement == PREFIX_OPCODE
       && dp != &bad_opcode
       && (((prefixes
            & (PREFIX_REPZ | PREFIX_REPNZ)) != 0