aboutsummaryrefslogtreecommitdiff
path: root/gas/config/tc-i386.c
diff options
context:
space:
mode:
authorRoland McGrath <roland@gnu.org>2012-06-22 16:42:08 +0000
committerRoland McGrath <roland@gnu.org>2012-06-22 16:42:08 +0000
commit29c048b696d4e93fe9f595d59fcb6239270e5a29 (patch)
tree82d345d16980f63360aa7e356b877025255a171f /gas/config/tc-i386.c
parent0a6d03060482e8eae207d4be1d6e8f6ff5e4d340 (diff)
downloadgdb-29c048b696d4e93fe9f595d59fcb6239270e5a29.zip
gdb-29c048b696d4e93fe9f595d59fcb6239270e5a29.tar.gz
gdb-29c048b696d4e93fe9f595d59fcb6239270e5a29.tar.bz2
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.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/gas/config/tc-i386.c b/gas/config/tc-i386.c
index d2b4927..4701e6d 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;