aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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)