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

--- Comment #3 from Marc Glisse <glisse at gcc dot gnu.org> ---
(In reply to Richard Biener from comment #2)
> This means using GCC vector extensions in the header for the intrinsic was
> a bad idea in this particular case.

Yes, the simplest fix is to revert to using the builtin for this particular
intrinsic (the builtins haven't been removed, so this is just changing one line
in smmintrin.h). Of course this will regress other code, and we are missing out
on automatic vectorization opportunities for the same reason, expand should
really be fixed (but that's indeed harder).
I am a bit surprised we didn't have a testcase in the testsuite to discover
that. Although I did manually test most intrinsics when I converted them, I
didn't do it with the minimal flags, so there might be one or two others in the
same situation as _mm_cmpeq_epi64...

Reply via email to