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.

Reply via email to