OSDN Git Service

* config/sh/sh.c (output_branch): Check the insn length possibly
authorkkojima <kkojima@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 1 Sep 2004 00:28:30 +0000 (00:28 +0000)
committerkkojima <kkojima@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 1 Sep 2004 00:28:30 +0000 (00:28 +0000)
in the delayed slot.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@86858 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/config/sh/sh.c

index d357130..ff6249e 100644 (file)
@@ -1,3 +1,8 @@
+2004-08-31  Kaz Kojima  <kkojima@gcc.gnu.org>
+
+       * config/sh/sh.c (output_branch): Check the insn length possibly
+       in the delayed slot.
+
 2004-08-31  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
 
        * tree-pretty-print.c (dump_generic_node, case CONVERT_EXPR): Add
index 31104e5..087bb7f 100644 (file)
@@ -1379,7 +1379,8 @@ output_branch (int logic, rtx insn, rtx *operands)
             place for it is after the label.  final will do that by default.  */
 
          if (final_sequence
-             && ! INSN_ANNULLED_BRANCH_P (XVECEXP (final_sequence, 0, 0)))
+             && ! INSN_ANNULLED_BRANCH_P (XVECEXP (final_sequence, 0, 0))
+             && get_attr_length (XVECEXP (final_sequence, 0, 1)))
            {
              asm_fprintf (asm_out_file, "\tb%s%ss\t%LLF%d\n", logic ? "f" : "t",
                           ASSEMBLER_DIALECT ? "/" : ".", label);