http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57623
--- Comment #1 from Jakub Jelinek <jakub at gcc dot gnu.org> --- Created attachment 30307 --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=30307&action=edit gcc49-pr57623.patch The fix for the compiler is easy, but at least the AVX2 spec documents that _bextr_u{32,64} intrinsics actually take 3 arguments (source, start and length), with the latter two always unsigned int, while our intrinsic has only two arguments (where the latter is expected to be (start & 255) | (length << 8)). Not sure if we want to change this, and if so, just for 4.9+, or also for 4.8.2+ and 4.7.4+?