This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
fix issue with Xtensa assembly idioms
- From: Bob Wilson <bwilson at tensilica dot com>
- To: binutils at sources dot redhat dot com
- Date: Mon, 26 Mar 2007 16:02:17 -0700
- Subject: fix issue with Xtensa assembly idioms
This patch from Sterling Augustine fixes a problem with Xtensa assembly idioms
not being recognized inside FLIX (i.e., VLIW) instruction bundles. I've
committed it on the mainline.
gas/
* config/tc-xtensa.c (xg_translate_idioms): Allow assembly idioms
in FLIX instructions.
Index: config/tc-xtensa.c
===================================================================
RCS file: /cvs/src/src/gas/config/tc-xtensa.c,v
retrieving revision 1.77
diff -u -p -r1.77 tc-xtensa.c
--- config/tc-xtensa.c 3 Feb 2007 00:08:22 -0000 1.77
+++ config/tc-xtensa.c 26 Mar 2007 22:58:52 -0000
@@ -2337,9 +2337,6 @@ xg_translate_idioms (char **popname, int
char *opname = *popname;
bfd_boolean has_underbar = FALSE;
- if (cur_vinsn.inside_bundle)
- return 0;
-
if (*opname == '_')
{
has_underbar = TRUE;
@@ -2382,7 +2379,11 @@ xg_translate_idioms (char **popname, int
return 0;
}
- if (xtensa_nop_opcode == XTENSA_UNDEFINED
+ /* Don't do anything special with NOPs inside FLIX instructions. They
+ are handled elsewhere. Real NOP instructions are always available
+ in configurations with FLIX, so this should never be an issue but
+ check for it anyway. */
+ if (!cur_vinsn.inside_bundle && xtensa_nop_opcode == XTENSA_UNDEFINED
&& strcmp (opname, "nop") == 0)
{
if (use_transform () && !has_underbar && density_supported)