+2007-09-05  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * config/tc-i386.c (i386_index_check): Don't use RegRex
+       on the reg_type field.
+       (parse_real_register): Use `||' instead of `|'.
+
 2007-09-04  H.J. Lu  <hongjiu.lu@intel.com>
 
        * config/tc-i386.c (process_operands): Remove segment override
 
        {
          /* 16bit checks.  */
          if ((i.base_reg
-              && ((i.base_reg->reg_type & (Reg16 | BaseIndex | RegRex))
+              && ((i.base_reg->reg_type & (Reg16 | BaseIndex))
                   != (Reg16 | BaseIndex)))
              || (i.index_reg
                  && (((i.index_reg->reg_type & (Reg16 | BaseIndex))
        {
          /* 32bit checks.  */
          if ((i.base_reg
-              && (i.base_reg->reg_type & (Reg32 | RegRex)) != Reg32)
+              && (i.base_reg->reg_type & Reg32) != Reg32)
              || (i.index_reg
-                 && ((i.index_reg->reg_type & (Reg32 | BaseIndex | RegRex))
+                 && ((i.index_reg->reg_type & (Reg32 | BaseIndex))
                      != (Reg32 | BaseIndex))))
            ok = 0;
        }
     }
 
   if (r != NULL
-      && ((r->reg_flags & (RegRex64 | RegRex)) | (r->reg_type & Reg64)) != 0
+      && ((r->reg_flags & (RegRex64 | RegRex))
+         || (r->reg_type & Reg64))
       && (r->reg_type != Control || !(cpu_arch_flags & CpuSledgehammer))
       && flag_code != CODE_64BIT)
     return (const reg_entry *) NULL;