aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2008-12-20 18:20:16 +0000
committerH.J. Lu <hjl.tools@gmail.com>2008-12-20 18:20:16 +0000
commit30a55f88b1e7c07ee714119a8ef53a847fe4b864 (patch)
treeaa5bb33ee8dab0ddb51c576b96f783180cdef21b
parentb6169b206a513cc5be8027dd7eb4b26039d76a4f (diff)
downloadgdb-30a55f88b1e7c07ee714119a8ef53a847fe4b864.zip
gdb-30a55f88b1e7c07ee714119a8ef53a847fe4b864.tar.gz
gdb-30a55f88b1e7c07ee714119a8ef53a847fe4b864.tar.bz2
2008-12-20 H.J. Lu <hongjiu.lu@intel.com>
* config/tc-i386.c (parse_insn): Optimize ".s" handling.
-rw-r--r--gas/ChangeLog4
-rw-r--r--gas/config/tc-i386.c21
2 files changed, 13 insertions, 12 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog
index 4d9c5a0..8e6d86c 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -1,5 +1,9 @@
2008-12-20 H.J. Lu <hongjiu.lu@intel.com>
+ * config/tc-i386.c (parse_insn): Optimize ".s" handling.
+
+2008-12-20 H.J. Lu <hongjiu.lu@intel.com>
+
* config/tc-i386.c (_i386_insn): Add swap_operand.
(parse_insn): Handle ".s".
(match_template): Handle swap_operand.
diff --git a/gas/config/tc-i386.c b/gas/config/tc-i386.c
index d74c1c6..5505d5c 100644
--- a/gas/config/tc-i386.c
+++ b/gas/config/tc-i386.c
@@ -2994,19 +2994,16 @@ parse_insn (char *line, char *mnemonic)
break;
}
- if (!current_templates && dot_p)
+ if (!current_templates)
{
- if (mnem_p - 2 == dot_p)
- {
- /* Check if we should swap operand in encoding. */
- if (dot_p[1] == 's')
- i.swap_operand = 1;
- else
- goto check_suffix;
- mnem_p = dot_p;
- *dot_p = '\0';
- current_templates = hash_find (op_hash, mnemonic);
- }
+ /* Check if we should swap operand in encoding. */
+ if (mnem_p - 2 == dot_p && dot_p[1] == 's')
+ i.swap_operand = 1;
+ else
+ goto check_suffix;
+ mnem_p = dot_p;
+ *dot_p = '\0';
+ current_templates = hash_find (op_hash, mnemonic);
}
if (!current_templates)