diff options
author | Michael Hayes <m.hayes@elec.canterbury.ac.nz> | 1999-01-03 20:43:14 +0000 |
---|---|---|
committer | Jeff Law <law@gcc.gnu.org> | 1999-01-03 13:43:14 -0700 |
commit | 362cc3d434b402148d579551c6f3ff4d4798a296 (patch) | |
tree | f3bee78195ed2ea424f2fed1ca5659020bca3406 /gcc/expr.h | |
parent | 1cd0a8edcaa31b8e1b76fc17ae41f3aa268fd5af (diff) | |
download | gcc-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/expr.h')
-rw-r--r-- | gcc/expr.h | 5 |
1 files changed, 5 insertions, 0 deletions
@@ -614,6 +614,11 @@ extern void emit_0_to_1_insn PROTO((rtx)); extern void emit_cmp_insn PROTO((rtx, rtx, enum rtx_code, rtx, enum machine_mode, int, int)); +/* Emit a pair of rtl insns to compare two rtx's and to jump + to a label if the comparison is true. */ +extern void emit_cmp_and_jump_insns PROTO((rtx, rtx, enum rtx_code, rtx, + enum machine_mode, int, int, rtx)); + /* Nonzero if a compare of mode MODE can be done straightforwardly (without splitting it into pieces). */ extern int can_compare_p PROTO((enum machine_mode)); |