From 89c4b810466abcea1ccf7861b627d72e3739345e Mon Sep 17 00:00:00 2001 From: Richard Earnshaw Date: Wed, 15 Jan 2003 16:06:47 +0000 Subject: [PATCH] flow.c (find_auto_inc): Also try to generate a PRE_MODIFY with constant offset. * flow.c (find_auto_inc): Also try to generate a PRE_MODIFY with constant offset. From-SVN: r61333 --- gcc/ChangeLog | 5 +++++ gcc/flow.c | 6 ++++++ 2 files changed, 11 insertions(+) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 282d7187e65..e9c5d2cab64 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2003-01-15 Richard Earnshaw + + * flow.c (find_auto_inc): Also try to generate a PRE_MODIFY with + constant offset. + 2003-01-15 Richard Earnshaw * arm.h (HAVE_PRE_MODIFY_DISP, HAVE_PRE_MODIFY_REG): Define. diff --git a/gcc/flow.c b/gcc/flow.c index d543ba44e8a..0d3107624ec 100644 --- a/gcc/flow.c +++ b/gcc/flow.c @@ -3525,6 +3525,12 @@ find_auto_inc (pbi, x, insn) addr, inc_val)), insn, x, incr, addr); + else if (HAVE_PRE_MODIFY_DISP && offset == INTVAL (inc_val)) + attempt_auto_inc (pbi, gen_rtx_PRE_MODIFY (Pmode, addr, + gen_rtx_PLUS (Pmode, + addr, + inc_val)), + insn, x, incr, addr); } else if (GET_CODE (inc_val) == REG && ! reg_set_between_p (inc_val, PREV_INSN (insn),