https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66369
Richard Biener <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Target| |x86_64-*-*, i?86-*-* --- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> --- v = (long ) _mm256_movemask_epi8( _mm256_cmpeq_epi8(regchx256,regset256) ); isn't this because there maybe isn't an intrinsic producing a 64bit value? If so the backend probably misses a pattern for it and thus combine doesn't generate it.