On Fri, 20 May 2016, Andi Kleen wrote:

Richard Biener <rguent...@suse.de> writes:

The following patch adds BIT_FIELD_INSERT, an operation to
facilitate doing bitfield inserts on registers (as opposed
to currently where we'd have a BIT_FIELD_REF store).

I wonder if these patches would make it easier to use the Haswell
bit manipulations instructions on x86 (which act on registers).

I found that gcc makes significantly less use of them than LLVM,
sometimes leading to much bigger code.

Could you point at some bugzilla entries? I don't really see which BMI* instruction could be helped by BIT_FIELD_INSERT (PDEP seems too hard). There is one BMI1 instruction we don't use much, bextr (only defined with an UNSPEC in i386.md, unlike the TBM version), but it is about extracting.

--
Marc Glisse

Reply via email to