gas/
authorJan Beulich <jbeulich@novell.com>
Mon, 18 Jul 2005 06:13:00 +0000 (06:13 +0000)
committerJan Beulich <jbeulich@novell.com>
Mon, 18 Jul 2005 06:13:00 +0000 (06:13 +0000)
2005-07-18  Jan Beulich  <jbeulich@novell.com>

* config/tc-i386.c (parse_insn): Reject prefix if unavailable in
current mode.

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

index 87e89ff..fb902be 100644 (file)
@@ -1,3 +1,8 @@
+2005-07-18  Jan Beulich  <jbeulich@novell.com>
+
+       * config/tc-i386.c (parse_insn): Reject prefix if unavailable in
+       current mode.
+
 2005-07-16  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
 
        * config/tc-hppa.c (pa_ip): Search entire mnemonic before considering
index f5c42df..3917b84 100644 (file)
@@ -1644,6 +1644,15 @@ parse_insn (line, mnemonic)
          && current_templates
          && (current_templates->start->opcode_modifier & IsPrefix))
        {
+         if (current_templates->start->cpu_flags
+             & (flag_code != CODE_64BIT ? Cpu64 : CpuNo64))
+           {
+             as_bad ((flag_code != CODE_64BIT
+                      ? _("`%s' is only supported in 64-bit mode")
+                      : _("`%s' is not supported in 64-bit mode")),
+                     current_templates->start->name);
+             return NULL;
+           }
          /* If we are in 16-bit mode, do not allow addr16 or data16.
             Similarly, in 32-bit mode, do not allow addr32 or data32.  */
          if ((current_templates->start->opcode_modifier & (Size16 | Size32))