* config/tc-i386.c (parse_register): If not producing code for
authorAlan Modra <amodra@gmail.com>
Thu, 4 Oct 2001 18:01:46 +0000 (18:01 +0000)
committerAlan Modra <amodra@gmail.com>
Thu, 4 Oct 2001 18:01:46 +0000 (18:01 +0000)
x86_64, reject x86_64 register name matches.
(md_assemble): Remove now redundant check for x86_64 regs.

gas/ChangeLog
gas/config/tc-i386.c

index 118bdcd..a74637a 100644 (file)
@@ -1,3 +1,9 @@
+2001-10-05  Alan Modra  <amodra@bigpond.net.au>
+
+       * config/tc-i386.c (parse_register): If not producing code for
+       x86_64, reject x86_64 register name matches.
+       (md_assemble): Remove now redundant check for x86_64 regs.
+
 2001-10-04  Alan Modra  <amodra@bigpond.net.au>
 
        * config/tc-ppc.c (md_assemble <DS relocs>): Test ppc_size as well
index 749d7c4..105bc8e 100644 (file)
@@ -1935,19 +1935,6 @@ md_assemble (line)
          }
       }
 
-    if (i.reg_operands && flag_code < CODE_64BIT)
-      {
-       int op;
-       for (op = i.operands; --op >= 0;)
-         if ((i.types[op] & Reg)
-             && (i.op[op].regs->reg_flags & (RegRex64|RegRex)))
-           {
-             as_bad (_("Extended register `%%%s' available only in 64bit mode."),
-                     i.op[op].regs->reg_name);
-             return;
-           }
-      }
-
     /* If matched instruction specifies an explicit instruction mnemonic
        suffix, use it.  */
     if (i.tm.opcode_modifier & (Size16 | Size32 | Size64))
@@ -4531,6 +4518,13 @@ parse_register (reg_string, end_op)
        }
     }
 
+  if (r != NULL
+      && r->reg_flags & (RegRex64|RegRex)
+      && flag_code != CODE_64BIT)
+    {
+      return (const reg_entry *) NULL;
+    }
+
   return r;
 }
 \f