Fix problem with double-stop-bit after itc.i instruction.
authorJim Wilson <wilson@tuliptree.org>
Fri, 3 Mar 2006 01:10:42 +0000 (01:10 +0000)
committerJim Wilson <wilson@tuliptree.org>
Fri, 3 Mar 2006 01:10:42 +0000 (01:10 +0000)
* config/tc-ia64.c (emit_one_bundle): For IA64_OPCODE_LAST, if we
change the template, then clear md.slot[curr].end_of_insn_group.

gas/ChangeLog
gas/config/tc-ia64.c

index 28f5c53..b9f53e0 100644 (file)
@@ -1,3 +1,8 @@
+2006-03-02  James E Wilson  <wilson@specifix.com>
+
+       * config/tc-ia64.c (emit_one_bundle): For IA64_OPCODE_LAST, if we
+       change the template, then clear md.slot[curr].end_of_insn_group.
+
 2006-02-28  Jan Beulich  <jbeulich@novell.com>
 
        * macro.c (get_any_string): Don't insert quotes for <>-quoted input.
index ec6bd61..426b60f 100644 (file)
@@ -6855,6 +6855,10 @@ emit_one_bundle ()
                 changing NOPs in front of this slot.  */
              for (j = i; j < 3; ++j)
                insn[j] = nop[ia64_templ_desc[required_template].exec_unit[j]];
+
+             /* We just picked a template that includes the stop bit in the
+                middle, so we don't need another one emitted later.  */
+             md.slot[curr].end_of_insn_group = 0;
            }
          template = required_template;
        }