aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2013-02-28 21:08:04 +0000
committerH.J. Lu <hjl.tools@gmail.com>2013-02-28 21:08:04 +0000
commit165de32ac8b9a75ababdbd2a8c2802615e47c1b2 (patch)
treec63a2300dcb84b35f84d809c19b824332e7f4d7b
parentd5de92cf93a7ab93344b88c6bb54d1ebeadaa900 (diff)
downloadgdb-165de32ac8b9a75ababdbd2a8c2802615e47c1b2.zip
gdb-165de32ac8b9a75ababdbd2a8c2802615e47c1b2.tar.gz
gdb-165de32ac8b9a75ababdbd2a8c2802615e47c1b2.tar.bz2
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.
-rw-r--r--gas/ChangeLog7
-rw-r--r--gas/config/tc-i386.c21
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 <hongjiu.lu@intel.com>
+ * 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 <hongjiu.lu@intel.com>
+
* 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;