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

--- Comment #3 from Segher Boessenkool <segher at gcc dot gnu.org> ---
(In reply to Uroš Bizjak from comment #2)
> No, unfortunately the above is not a valid x86 insn. x86 has two-operand
> instructions, so output has to match one of the operands.

But these are pseudos.

> It looks that combine prefers:
> 
>    (subreg:SI (plus:QI
> and 
>    (subreg:QI (zero_extract:SI (... op ...)
> 
> while - according to the existing x86 patterns - in the past the patterns
> were seemingly combined into:
> 
>       (plus:SI
> and
>         (zero_extract:SI (... op ...)

So when did this change?

Combine in general prefers smaller modes.

Reply via email to