reload bugfix
Joern Rennecke
amylaar@cygnus.co.uk
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
> #ifdef LOAD_EXTEND_OP
> && (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
non-paradoxical.
More information about the Gcc-patches
mailing list