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

Eric Botcazou <ebotcazou at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |ebotcazou at gcc dot gnu.org

--- Comment #4 from Eric Botcazou <ebotcazou at gcc dot gnu.org> ---
> The paradoxical register in the insn 78 means the upper bits are
> undefined, but we really use the upper bits later on (fully 32-bit
> comparison).  Either it should have propagated the constant down, or it
> can't assume anything about the paradoxical subreg bits (if they must not be
> ignored), because the RA can stick the different pseudos into different
> registers, rather than setting a single hw register to 0xff and then having
> the upper bits always zero.

The RA (reload/LRA) has special provisions for WORD_REGISTER_OPERATIONS targets
though to make sure that only full words are reloaded, so that the combiner can
make such assumptions.  I can have a closer look at the PR if you want.

Reply via email to