On Fri, 20 Nov 2020, Eric Botcazou wrote: > > 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?
Thank you for your input, I'll have a look. Coming from Matt this is the only change of the series I have just merged without looking into it too much, so as not to spend too much time with side issues (there were too many already). It'll take me a couple of days to push the new version through regression testing, and I'll post it once that is complete along with any other updates someone may request. Maciej