[Bug target/89021] Implement mmintrin.h in SSE

cvs-commit at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Thu Jun 10 21:56:33 GMT 2021


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

--- Comment #56 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Uros Bizjak <uros@gcc.gnu.org>:

https://gcc.gnu.org/g:a325bdd195ee96f826b208c3afb9bed2ec077e12

commit r12-1372-ga325bdd195ee96f826b208c3afb9bed2ec077e12
Author: Peter Bergner <bergner@linux.ibm.com>
Date:   Thu Jun 10 13:54:12 2021 -0500

    i386: Add V8QI and other 64bit vector permutations [PR89021]

    In addition to V8QI permutations, several other missing permutations are
    added for 64bit vector modes for TARGET_SSSE3 and TARGET_SSE4_1 targets.

    2021-06-10  Uroš Bizjak  <ubizjak@gmail.com>

    gcc/
            PR target/89021
            * config/i386/i386-expand.c (ix86_split_mmx_punpck):
            Handle V2SF mode.  Emit SHUFPS to fixup unpack-high for V2SF mode.
            (expand_vec_perm_blend): Handle 64bit modes for TARGET_SSE4_1.
            (expand_vec_perm_pshufb): Handle 64bit modes for TARGET_SSSE3.
            (expand_vec_perm_pblendv): Handle 64bit modes for TARGET_SSE4_1.
            (expand_vec_perm_interleave2): Handle 64bit modes.
            (expand_vec_perm_even_odd_pack): Handle V8QI mode.
            (expand_vec_perm_even_odd_1): Ditto.
            (ix86_vectorize_vec_perm_const): Ditto.
            * config/i386/i386.md (UNSPEC_PSHUFB): Move from ...
            * config/i386/sse.md: ... here.
            * config/i386/mmx.md (*vec_interleave_lowv2sf):
            New insn_and_split pattern.
            (*vec_interleave_highv2sf): Ditto.
            (mmx_pshufbv8qi3): New insn pattern.
            (*mmx_pblendw): Ditto.


More information about the Gcc-bugs mailing list