reload bugfix

Joern Rennecke
Sun Feb 28 18:15:00 GMT 1999

> There is a comment just above the code you commonized:
>          For machines that extend byte loads, we must not reload using
>          a wider mode if we have a paradoxical SUBREG.  find_reloads will
>          force a reload in that case.  So we should not do anything here.  */
> [ ... ]
>       else if (regno >= FIRST_PSEUDO_REGISTER
>                && (GET_MODE_SIZE (GET_MODE (x))
>                    <= GET_MODE_SIZE (GET_MODE (SUBREG_REG (x))))
> #endif
> [ ... ]
> Do you need to take that same condition into consideration at the second
> call site to find_reloads_subreg_address?  If not, why?

At the second call site, we reload from a subreg that is larger than the
class size of the register class we reload into.  This can only work
when the SUBREG is smaller than the SUBREG_REG, and thus the SUBREG is

More information about the Gcc-patches mailing list