* config/tc-xtensa.c (finish_vinsn): Include the last instruction slot
authorBob Wilson <bob.wilson@acm.org>
Fri, 11 Mar 2005 00:14:15 +0000 (00:14 +0000)
committerBob Wilson <bob.wilson@acm.org>
Fri, 11 Mar 2005 00:14:15 +0000 (00:14 +0000)
        when checking if xg_resolve_literals needs to be called.
        * config/tc-xtensa.h: Fix spelling typo in a comment.

gas/ChangeLog
gas/config/tc-xtensa.c
gas/config/tc-xtensa.h

index 57a9b9437d589f8a1749dd5677fde2aeb1580267..5849d33d989b7e394d37613d71e8e5c480f7d3fd 100644 (file)
@@ -1,3 +1,9 @@
+2005-03-10  Bob Wilson  <bob.wilson@acm.org>
+
+       * config/tc-xtensa.c (finish_vinsn): Include the last instruction slot
+       when checking if xg_resolve_literals needs to be called.
+       * config/tc-xtensa.h: Fix spelling typo in a comment.
+
 2005-03-10  Jan Beulich  <jbeulich@novell.com>
 
        * config/tc-tic54x.h (tic54x_macro_info): Change parameter type.
index 34fdc2cdf7022dfad3d8a835cc9ee33b73ec15d7..9d20a6b048ba141518d7f65db04956b9e617d0a9 100644 (file)
@@ -6145,7 +6145,7 @@ finish_vinsn (vliw_insn *vinsn)
              return;
            }
 
-         for (j = 0; j < slotstack.ninsn - 1; j++)
+         for (j = 0; j < slotstack.ninsn; j++)
            {
              TInsn *insn = &slotstack.insn[j];
              if (insn->insn_type == ITYPE_LITERAL)
@@ -6155,9 +6155,11 @@ finish_vinsn (vliw_insn *vinsn)
                }
              else
                {
+                 assert (insn->insn_type == ITYPE_INSN);
                  if (lit_sym)
                    xg_resolve_literals (insn, lit_sym);
-                 emit_single_op (insn);
+                 if (j != slotstack.ninsn - 1)
+                   emit_single_op (insn);
                }
            }
 
index 585f1ce3412dbcb3721ad5bcb921d9800235a9e1..47436176f83956c634f50a67555b6e00bf7cd636 100644 (file)
@@ -201,7 +201,7 @@ struct xtensa_frag_type
      first time through a relaxation....  */
   unsigned int relax_seen : 1;
 
-  /* Infomation that is needed in the object file and set when known.  */
+  /* Information that is needed in the object file and set when known.  */
   unsigned int is_literal : 1;
   unsigned int is_loop_target : 1;
   unsigned int is_branch_target : 1;