(check_dbra_loop): Don't assume label must be second part of
authorRichard Kenner <kenner@gcc.gnu.org>
Mon, 23 Sep 1996 20:15:26 +0000 (16:15 -0400)
committerRichard Kenner <kenner@gcc.gnu.org>
Mon, 23 Sep 1996 20:15:26 +0000 (16:15 -0400)
if_then_else in condjump.

From-SVN: r12784

gcc/loop.c

index b3c49a4dd03ceed62c6419d47e908f7e58024269..09ad338f14e78d34237ee49027662a742e81d546 100644 (file)
@@ -6028,6 +6028,8 @@ check_dbra_loop (loop_end, insn_count, loop_start)
              /* Save some info needed to produce the new insns.  */
              reg = bl->biv->dest_reg;
              jump_label = XEXP (SET_SRC (PATTERN (PREV_INSN (loop_end))), 1);
+             if (jump_label == pc_rtx)
+               jump_label = XEXP (SET_SRC (PATTERN (PREV_INSN (loop_end))), 2);
              new_add_val = GEN_INT (- INTVAL (bl->biv->add_val));
 
              final_value = XEXP (comparison, 1);