summaryrefslogtreecommitdiff
path: root/opcodes/i386-gen.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 /opcodes/i386-gen.c
parent0a6d03060482e8eae207d4be1d6e8f6ff5e4d340 (diff)
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 'opcodes/i386-gen.c')
-rw-r--r--opcodes/i386-gen.c17
1 files changed, 9 insertions, 8 deletions
diff --git a/opcodes/i386-gen.c b/opcodes/i386-gen.c
index 21f600f034..add410b658 100644
--- a/opcodes/i386-gen.c
+++ b/opcodes/i386-gen.c
@@ -1,4 +1,4 @@
-/* Copyright 2007, 2008, 2009, 2010, 2011
+/* Copyright 2007, 2008, 2009, 2010, 2011, 2012
Free Software Foundation, Inc.
This file is part of the GNU opcodes library.
@@ -46,7 +46,7 @@ static initializer cpu_flag_init[] =
"~(CpuL1OM|CpuK1OM)" },
{ "CPU_GENERIC32_FLAGS",
"Cpu186|Cpu286|Cpu386" },
- { "CPU_GENERIC64_FLAGS",
+ { "CPU_GENERIC64_FLAGS",
"Cpu186|Cpu286|Cpu386|Cpu486|Cpu586|Cpu686|CpuClflush|Cpu387|Cpu687|CpuNop|CpuMMX|CpuSSE|CpuSSE2|CpuLM" },
{ "CPU_NONE_FLAGS",
"0" },
@@ -398,6 +398,7 @@ static bitfield opcode_modifiers[] =
BITFIELD (RegKludge),
BITFIELD (FirstXmm0),
BITFIELD (Implicit1stXmm0),
+ BITFIELD (RepPrefixOk),
BITFIELD (HLEPrefixOk),
BITFIELD (ToDword),
BITFIELD (ToQword),
@@ -488,7 +489,7 @@ static void
fail (const char *message, ...)
{
va_list args;
-
+
va_start (args, message);
fprintf (stderr, _("%s: Error: "), program_name);
vfprintf (stderr, message, args);
@@ -566,7 +567,7 @@ next_field (char *str, char sep, char **next, char *last)
*str = '\0';
remove_trailing_whitespaces (p);
- *next = str + 1;
+ *next = str + 1;
if (p >= last)
abort ();
@@ -1055,7 +1056,7 @@ process_i386_opcodes (FILE *table)
process_i386_cpu_flag (table, "0", 0, ",", " ", -1);
process_i386_opcode_modifier (table, "0", -1);
-
+
fprintf (table, " { ");
process_i386_operand_type (table, "0", 0, "\t ", -1);
fprintf (table, " } }\n");
@@ -1181,7 +1182,7 @@ process_i386_initializers (void)
/* Program options. */
#define OPTION_SRCDIR 200
-struct option long_options[] =
+struct option long_options[] =
{
{"srcdir", required_argument, NULL, OPTION_SRCDIR},
{"debug", no_argument, NULL, 'd'},
@@ -1212,7 +1213,7 @@ main (int argc, char **argv)
char *srcdir = NULL;
int c;
FILE *table;
-
+
program_name = *argv;
xmalloc_set_program_name (program_name);
@@ -1240,7 +1241,7 @@ main (int argc, char **argv)
if (optind != argc)
usage (stdout, 1);
- if (srcdir != NULL)
+ if (srcdir != NULL)
if (chdir (srcdir) != 0)
fail (_("unable to change directory to \"%s\", errno = %s\n"),
srcdir, xstrerror (errno));