Hi Ulrich.
A further question.
I put some debugging on here:
op0 = XEXP (operands[0], 0);
if (GET_CODE (op0) == REG
|| (GET_CODE (op0) == PLUS && GET_CODE (XEXP (op0, 0)) == REG
&& GET_CODE (XEXP (op0, 1)) == CONST_INT
&& (unsigned) INTVAL (XEXP (op0, 1)) < 4096))
{
op0 = operands[0];
fprintf(stderr, \"used as-is\n\");
}
else
{
op0 = replace_equiv_address (operands[0], copy_to_mode_reg (SImode,
op0));
fprintf(stderr, \"replaced\n\");
}
And I found out that op0 is already being "replaced". Shouldn't this
replacement eliminate the index register and just have a base
register, so that I don't need the hack further down?
Thanks. Paul.