From 165de32ac8b9a75ababdbd2a8c2802615e47c1b2 Mon Sep 17 00:00:00 2001 From: "H.J. Lu" Date: Thu, 28 Feb 2013 21:08:04 +0000 Subject: Replace have_hle with hle_prefix * config/tc-i386.c (_i386_insn): Replace have_hle with hle_prefix. (check_hle): Updated. (md_assemble): Likewise. (parse_insn): Likewise. --- gas/ChangeLog | 7 +++++++ gas/config/tc-i386.c | 21 +++++++-------------- 2 files changed, 14 insertions(+), 14 deletions(-) diff --git a/gas/ChangeLog b/gas/ChangeLog index 0b9e12e..a547f13 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,5 +1,12 @@ 2013-02-28 H.J. Lu + * config/tc-i386.c (_i386_insn): Replace have_hle with hle_prefix. + (check_hle): Updated. + (md_assemble): Likewise. + (parse_insn): Likewise. + +2013-02-28 H.J. Lu + * config/tc-i386.c (_i386_insn): Add rep_prefix. (md_assemble): Check if REP prefix is OK. (parse_insn): Remove expecting_string_instruction. Set diff --git a/gas/config/tc-i386.c b/gas/config/tc-i386.c index 71155e4..04640d2 100644 --- a/gas/config/tc-i386.c +++ b/gas/config/tc-i386.c @@ -293,8 +293,8 @@ struct _i386_insn /* REP prefix. */ const char *rep_prefix; - /* Have HLE prefix. */ - unsigned int have_hle; + /* HLE prefix. */ + const char *hle_prefix; /* Error message. */ enum i386_error error; @@ -3073,20 +3073,13 @@ check_hle (void) default: abort (); case HLEPrefixNone: - if (i.prefix[HLE_PREFIX] == XACQUIRE_PREFIX_OPCODE) - as_bad (_("invalid instruction `%s' after `xacquire'"), - i.tm.name); - else - as_bad (_("invalid instruction `%s' after `xrelease'"), - i.tm.name); + as_bad (_("invalid instruction `%s' after `%s'"), + i.tm.name, i.hle_prefix); return 0; case HLEPrefixLock: if (i.prefix[LOCK_PREFIX]) return 1; - if (i.prefix[HLE_PREFIX] == XACQUIRE_PREFIX_OPCODE) - as_bad (_("missing `lock' with `xacquire'")); - else - as_bad (_("missing `lock' with `xrelease'")); + as_bad (_("missing `lock' with `%s'"), i.hle_prefix); return 0; case HLEPrefixAny: return 1; @@ -3235,7 +3228,7 @@ md_assemble (char *line) } /* Check if HLE prefix is OK. */ - if (i.have_hle && !check_hle ()) + if (i.hle_prefix && !check_hle ()) return; /* Check string instruction segment overrides. */ @@ -3439,7 +3432,7 @@ parse_insn (char *line, char *mnemonic) return NULL; case PREFIX_REP: if (current_templates->start->cpu_flags.bitfield.cpuhle) - i.have_hle = 1; + i.hle_prefix = current_templates->start->name; else i.rep_prefix = current_templates->start->name; break; -- cgit v1.1