I guess the best solution is to change the place you modified, but to use a test that checks for autoinc codes. I'll come up with something.
Try this.
Bernd
* reload.c (find_reloads): Only set INC field if we know we have an autoinc reload. * reload.h (struct reload): Update comment to match.
Index: reload.c =================================================================== RCS file: /cvs/gcc/gcc/gcc/reload.c,v retrieving revision 1.268.6.2 diff -c -p -r1.268.6.2 reload.c *** reload.c 7 Apr 2005 11:21:35 -0000 1.268.6.2 --- reload.c 11 Apr 2005 12:33:13 -0000 *************** find_reloads (struct insn_chain *chain, *** 3203,3216 **** && goal_alternative_offmemok[i] && MEM_P (recog_data.operand[i])) { operand_reloadnum[i] = push_reload (XEXP (recog_data.operand[i], 0), NULL_RTX, &XEXP (recog_data.operand[i], 0), (rtx*) 0, MODE_BASE_REG_CLASS (VOIDmode), GET_MODE (XEXP (recog_data.operand[i], 0)), VOIDmode, 0, 0, i, RELOAD_FOR_NONE); ! rld[operand_reloadnum[i]].inc ! = GET_MODE_SIZE (GET_MODE (recog_data.operand[i])); } else if (goal_alternative_matched[i] == -1) { --- 3203,3221 ---- && goal_alternative_offmemok[i] && MEM_P (recog_data.operand[i])) { + struct reload *rl; operand_reloadnum[i] = push_reload (XEXP (recog_data.operand[i], 0), NULL_RTX, &XEXP (recog_data.operand[i], 0), (rtx*) 0, MODE_BASE_REG_CLASS (VOIDmode), GET_MODE (XEXP (recog_data.operand[i], 0)), VOIDmode, 0, 0, i, RELOAD_FOR_NONE); ! rl = rld + operand_reloadnum[i]; ! if (GET_CODE (rl->in_reg) == PRE_INC ! || GET_CODE (rl->in_reg) == PRE_DEC ! || GET_CODE (rl->in_reg) == POST_INC ! || GET_CODE (rl->in_reg) == POST_DEC) ! rl->inc = GET_MODE_SIZE (GET_MODE (recog_data.operand[i])); } else if (goal_alternative_matched[i] == -1) {