From 04bbb0c54c7907baf626fb576536d82a78f7f43d Mon Sep 17 00:00:00 2001 From: Jim Wilson Date: Thu, 22 Oct 1998 22:49:04 +0000 Subject: [PATCH] Fix m68k-aout build failure. Invalid insn abort while compiling newlib. * reload1.c (reload_as_needed): When rewrite POST_INC, verify reg_reloaded_contents matches incremented pseudo. From-SVN: r23235 --- gcc/ChangeLog | 3 +++ gcc/reload1.c | 7 ++++++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index cb9dd65aa47..22c2bd042ef 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,8 @@ Thu Oct 22 22:34:42 1998 Jim Wilson + * reload1.c (reload_as_needed): When rewrite POST_INC, verify + reg_reloaded_contents matches incremented pseudo. + * v850/v850.c (v850_reorg): Call alter_subreg. Delete subreg support. Fri Oct 23 11:11:56 1998 Michael Hayes diff --git a/gcc/reload1.c b/gcc/reload1.c index 74d5ed4f420..a8cc1733804 100644 --- a/gcc/reload1.c +++ b/gcc/reload1.c @@ -4478,7 +4478,12 @@ reload_as_needed (live_known) or we can't use the reload register for inheritance. */ if ((code == POST_INC || code == POST_DEC) && TEST_HARD_REG_BIT (reg_reloaded_valid, - REGNO (reload_reg_rtx[i]))) + REGNO (reload_reg_rtx[i])) + /* Make sure it is the inc/dec pseudo, and not + some other (e.g. output operand) pseudo. */ + && (reg_reloaded_contents[REGNO (reload_reg_rtx[i])] + == REGNO (XEXP (in_reg, 0)))) + { rtx reload_reg = reload_reg_rtx[i]; enum machine_mode mode = GET_MODE (reload_reg); -- 2.30.2