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

--- Comment #4 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by H.J. Lu <h...@gcc.gnu.org>:

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

commit r10-6298-gdd9b529f08c3c6064c37234922d298336d78caf7
Author: H.J. Lu <hjl.to...@gmail.com>
Date:   Tue Jan 28 11:32:56 2020 -0800

    i386: Prefer TARGET_AVX over TARGET_SSE_TYPELESS_STORES

    movaps/movups is one byte shorter than movdqa/movdqu.  But it isn't the
    case for AVX nor AVX512.  This patch prefers TARGET_AVX over
    TARGET_SSE_TYPELESS_STORES and adjust vmovups checks in assembly ouputs.

    gcc/

        PR target/91461
        * config/i386/i386.md (*movoi_internal_avx): Remove
        TARGET_SSE_TYPELESS_STORES check.
        (*movti_internal): Prefer TARGET_AVX over
        TARGET_SSE_TYPELESS_STORES.
        (*movtf_internal): Likewise.
        * config/i386/sse.md (mov<mode>_internal): Prefer TARGET_AVX over
        TARGET_SSE_TYPELESS_STORES.  Remove "<MODE_SIZE> == 16" check
        from TARGET_SSE_TYPELESS_STORES.

    gcc/testsuite/

        PR target/91461
        * gcc.target/i386/avx256-unaligned-store-2.c: Don't check
        vmovups.
        * gcc.target/i386/avx256-unaligned-store-3.c: Likewise.
        * gcc.target/i386/pieces-memcpy-4.c: Likewise.
        * gcc.target/i386/pieces-memcpy-5.c: Likewise.
        * gcc.target/i386/pieces-memcpy-6.c: Likewise.
        * gcc.target/i386/pieces-strcpy-2.c: Likewise.
        * gcc.target/i386/pr90980-1.c: Likewise.
        * gcc.target/i386/pr87317-4.c: Check "\tvmovd\t" instead of
        "vmovd" to avoid matching "vmovdqu".
        * gcc.target/i386/pr87317-5.c: Likewise.
        * gcc.target/i386/pr87317-7.c: Likewise.
        * gcc.target/i386/pr91461-1.c: New test.
        * gcc.target/i386/pr91461-2.c: Likewise.
        * gcc.target/i386/pr91461-3.c: Likewise.
        * gcc.target/i386/pr91461-4.c: Likewise.
        * gcc.target/i386/pr91461-5.c: Likewise.

Reply via email to