+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
 
 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
       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++;
     }
 
      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