> First posted at: <https://gcc.gnu.org/ml/gcc/2014-06/msg00060.html>.
> gcc/
> PR target/58901
> * reload.c (reload_inner_reg_of_subreg): Also request reloading
> for pseudo registers associated with mode dependent memory
> references.
> (push_reload): Handle pseudo registers.
The handling of this family of reloads is supposed to be done by the block of
code just above though, i.e. at line 1023. Can't we add the test based on
mode_dependent_address_p to this block, e.g. after:
|| (REG_P (SUBREG_REG (in))
&& REGNO (SUBREG_REG (in)) < FIRST_PSEUDO_REGISTER
&& !REG_CAN_CHANGE_MODE_P (REGNO (SUBREG_REG (in)),
GET_MODE (SUBREG_REG
(in)), inmode))))
instead?
--
Eric Botcazou