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

--- Comment #4 from Uroš Bizjak <ubizjak at gmail dot com> ---
(In reply to Segher Boessenkool from comment #3)
> combine creates a clobber of const_int 0 to make sure a pattern will
> not match.  That is valid RTL, but further patterns constructed from
> that are not (clobber on a rhs).
> 
> The upper bits of a paradoxical subregs are defined in many cases,
> see SUBREG_PROMOTED_VAR_P; does that apply here?

It looks to me that "ZERO_EXTEND:SI (reg:QI)" is substituted with "AND:SI
(reg:SI, 0xff)", and some simplification involving XOR and AND RTXes generates
"AND (reg, 0xffffff00)".

Reply via email to