diff options
author | Roland McGrath <roland@gnu.org> | 2012-06-22 16:41:59 +0000 |
---|---|---|
committer | Roland McGrath <roland@gnu.org> | 2012-06-22 16:41:59 +0000 |
commit | fb972bd7aecfb5e6c66d1e7f26ea3bd6dd21689a (patch) | |
tree | f2f516a6f1c20bac14e567191bd123335f9abc52 /gas/config/tc-i386.c | |
parent | f2b713c3c408c62776383c083c9e06d6565fec5b (diff) | |
download | binutils-redhat-fb972bd7aecfb5e6c66d1e7f26ea3bd6dd21689a.tar.gz |
gas/
* config/tc-i386.c (parse_insn): Don't complain about REP prefix
when the template has opcode_modifier.repprefixok set.
* NEWS: Mention the change.
gas/testsuite/
* gas/i386/rep-bsf.d: New file.
* gas/i386/rep-bsf.s: New file.
* gas/i386/i386.exp: Add the new test.
opcodes/
* i386-opc.h (RepPrefixOk): New enum constant.
(i386_opcode_modifier): New bitfield 'repprefixok'.
* i386-gen.c (opcode_modifiers): Add RepPrefixOk.
* i386-opc.tbl: Add RepPrefixOk to bsf, bsr, and to all
instructions that have IsString.
* i386-tbl.h: Regenerate.
Diffstat (limited to 'gas/config/tc-i386.c')
-rw-r--r-- | gas/config/tc-i386.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/gas/config/tc-i386.c b/gas/config/tc-i386.c index d2b492762f..4701e6dbc3 100644 --- a/gas/config/tc-i386.c +++ b/gas/config/tc-i386.c @@ -3528,13 +3528,13 @@ skip: as_warn (_("use .code16 to ensure correct addressing mode")); } - /* Check for rep/repne without a string instruction. */ + /* Check for rep/repne without a string (or other allowed) instruction. */ if (expecting_string_instruction) { static templates override; for (t = current_templates->start; t < current_templates->end; ++t) - if (t->opcode_modifier.isstring) + if (t->opcode_modifier.repprefixok) break; if (t >= current_templates->end) { @@ -3543,7 +3543,7 @@ skip: return NULL; } for (override.start = t; t < current_templates->end; ++t) - if (!t->opcode_modifier.isstring) + if (!t->opcode_modifier.repprefixok) break; override.end = t; current_templates = &override; |