On 10/13/2011 02:51 PM, Richard Kenner wrote:
case MEM:
/* Ensure that our address has any ASHIFTs converted to MULT in case
address-recognizing predicates are called later. */
temp = make_compound_operation (XEXP (x, 0), MEM);
SUBST (XEXP (x, 0), temp);
break;
THAT'S the code that should do the transformation that this patch contains.
So I'd suggest doing some debugging and seeing why it isn't. This could
just be a bug in make_compound_operation not handling the SUBREG.
Or being fooled by the 0xfffffffc masking, perhaps.
Paolo