aboutsummaryrefslogtreecommitdiff
path: root/gcc/loop.c
diff options
context:
space:
mode:
authorMichael Hayes <m.hayes@elec.canterbury.ac.nz>1999-01-03 20:43:14 +0000
committerJeff Law <law@gcc.gnu.org>1999-01-03 13:43:14 -0700
commit362cc3d434b402148d579551c6f3ff4d4798a296 (patch)
treef3bee78195ed2ea424f2fed1ca5659020bca3406 /gcc/loop.c
parent1cd0a8edcaa31b8e1b76fc17ae41f3aa268fd5af (diff)
downloadgcc-362cc3d434b402148d579551c6f3ff4d4798a296.zip
gcc-362cc3d434b402148d579551c6f3ff4d4798a296.tar.gz
gcc-362cc3d434b402148d579551c6f3ff4d4798a296.tar.bz2
optabs.c (emit_cmp_insn): Abort if asked to emit non-canonical RTL for a target with HAVE_cc0 defined.
* optabs.c (emit_cmp_insn): Abort if asked to emit non-canonical RTL for a target with HAVE_cc0 defined. (emit_cmp_and_jump_insns): New function. * expr.h (emit_cmp_and_jump_insns): Prototype it. * loop.c (check_dbra_loop): Use it to replace calls to emit_cmp_insn and emit_jump_insn and to canonicalise the comparison if necessary. * unroll.c (unroll_loop): Likewise. From-SVN: r24471
Diffstat (limited to 'gcc/loop.c')
-rw-r--r--gcc/loop.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/gcc/loop.c b/gcc/loop.c
index f1cdd03..fea8287 100644
--- a/gcc/loop.c
+++ b/gcc/loop.c
@@ -7072,10 +7072,9 @@ check_dbra_loop (loop_end, insn_count, loop_start, loop_info)
/* Add new compare/branch insn at end of loop. */
start_sequence ();
- emit_cmp_insn (reg, const0_rtx, cmp_code, NULL_RTX,
- GET_MODE (reg), 0, 0);
- emit_jump_insn ((*bcc_gen_fctn[(int) cmp_code])
- (XEXP (jump_label, 0)));
+ emit_cmp_and_jump_insns (reg, const0_rtx, cmp_code, NULL_RTX,
+ GET_MODE (reg), 0, 0,
+ XEXP (jump_label, 0));
tem = gen_sequence ();
end_sequence ();
emit_jump_insn_before (tem, loop_end);