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

--- Comment #5 from Uroš Bizjak <ubizjak at gmail dot com> ---
(In reply to Jakub Jelinek from comment #3)
> For zero_extract RTL we require that the POS and LEN arguments are in the
> right ranges, while bextr allows any values, and either uses 0 for bits
> outside of the original operand and for LEN uses umin (len, <bitsize>).

Ah, thanks, this explains my question from Comment #4.

Speculating a bit further, is BZHI just a special case of BEXTR, where start =
0 (I'm referring to [1]). It would be nice to make these insn as general as
possible, so combine will have a chance here.

[1] http://en.wikipedia.org/wiki/Bit_Manipulation_Instruction_Sets

Reply via email to