diff options
author | Roland McGrath <roland@gnu.org> | 2012-06-22 16:42:08 +0000 |
---|---|---|
committer | Roland McGrath <roland@gnu.org> | 2012-06-22 16:42:08 +0000 |
commit | 29c048b696d4e93fe9f595d59fcb6239270e5a29 (patch) | |
tree | 82d345d16980f63360aa7e356b877025255a171f /opcodes/i386-gen.c | |
parent | 0a6d03060482e8eae207d4be1d6e8f6ff5e4d340 (diff) | |
download | gdb-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 'opcodes/i386-gen.c')
-rw-r--r-- | opcodes/i386-gen.c | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/opcodes/i386-gen.c b/opcodes/i386-gen.c index 21f600f..add410b 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)); |