https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64160

--- Comment #6 from Nick Clifton <nickc at redhat dot com> ---
Hi Ulrich,

>  if (reg_overlap_mentioned_p (operands[3], operands[7])
>      || reg_overlap_mentioned_p (operands[3], operands[8]))
>    FAIL;

Thanks - that is indeed a better solution to the bug.

> B.t.w. is there a particular reason why the target-specific msp430_subreg is
> needed instead of the usual operand_subword?


I am not sure.  According to the comments in msp430.c it is because;
"Simplify_gen_subreg() doesn't handle memory references the way we need it to
below, so we use this function for when we must get a valid subreg in a
'natural' state."  I think that this is all connected with the fact that for
the MSP430 in large mode, pointers are 20-bits long, and that this tends to
confuse gcc.

Cheers
  Nick

Reply via email to