* loop.c (check_dbra_loop): Make change from July 17, 2000 work
on targets which need more than one insn for a compare/cbranch
operation.
From-SVN: r35404
+Mon Jul 31 22:19:24 2000 Jeffrey A Law (law@cygnus.com)
+
+ * loop.c (check_dbra_loop): Make change from July 17, 2000 work
+ on targets which need more than one insn for a compare/cbranch
+ operation.
+
2000-07-31 Jim Wilson <wilson@cygnus.com>
* config/ia64/ia64.c (ia64_function_arg): Use alignment not size
{
/* If more than one condition is present to control the loop, then
do not proceed, as this function does not know how to rewrite
- loop tests with more than one condition. */
+ loop tests with more than one condition.
+
+ Look backwards from the first insn in the last comparison
+ sequence and see if we've got another comparison sequence. */
rtx jump1;
- if ((jump1 = prev_nonnote_insn (jump)) != loop->cont)
+ if ((jump1 = prev_nonnote_insn (first_compare)) != loop->cont)
if (GET_CODE (jump1) == JUMP_INSN)
return 0;
}