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.