From 57de1fadd1347e1ef67b170b99e8bedfe0accfbb Mon Sep 17 00:00:00 2001 From: Jan Beulich Date: Mon, 18 Jul 2005 06:13:00 +0000 Subject: [PATCH] gas/ 2005-07-18 Jan Beulich * config/tc-i386.c (parse_insn): Reject prefix if unavailable in current mode. --- gas/ChangeLog | 5 +++++ gas/config/tc-i386.c | 9 +++++++++ 2 files changed, 14 insertions(+) diff --git a/gas/ChangeLog b/gas/ChangeLog index 87e89ff31..fb902be67 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,8 @@ +2005-07-18 Jan Beulich + + * config/tc-i386.c (parse_insn): Reject prefix if unavailable in + current mode. + 2005-07-16 John David Anglin * config/tc-hppa.c (pa_ip): Search entire mnemonic before considering diff --git a/gas/config/tc-i386.c b/gas/config/tc-i386.c index f5c42dfcc..3917b8486 100644 --- a/gas/config/tc-i386.c +++ b/gas/config/tc-i386.c @@ -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)) -- 2.11.4.GIT