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

--- Comment #8 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Author: jakub
Date: Fri Mar 22 10:08:40 2019
New Revision: 269868

URL: https://gcc.gnu.org/viewcvs?rev=269868&root=gcc&view=rev
Log:
        PR target/89784
        * config/i386/i386.c (enum ix86_builtins): Remove
        IX86_BUILTIN_VFMSUBSD3_MASK3 and IX86_BUILTIN_VFMSUBSS3_MASK3.
        * config/i386/i386-builtin.def (__builtin_ia32_vfmaddsd3_mask,
        __builtin_ia32_vfmaddsd3_mask3, __builtin_ia32_vfmaddsd3_maskz,
        __builtin_ia32_vfmsubsd3_mask3, __builtin_ia32_vfmaddss3_mask,
        __builtin_ia32_vfmaddss3_mask3, __builtin_ia32_vfmaddss3_maskz,
        __builtin_ia32_vfmsubss3_mask3): New builtins.
        * config/i386/sse.md (avx512f_vmfmadd_<mode>_mask<round_name>,
        avx512f_vmfmadd_<mode>_mask3<round_name>,
        avx512f_vmfmadd_<mode>_maskz_1<round_name>,
        *avx512f_vmfmsub_<mode>_mask<round_name>,
        avx512f_vmfmsub_<mode>_mask3<round_name>,
        *avx512f_vmfmasub_<mode>_maskz_1<round_name>,
        *avx512f_vmfnmadd_<mode>_mask<round_name>,
        *avx512f_vmfnmadd_<mode>_mask3<round_name>,
        *avx512f_vmfnmadd_<mode>_maskz_1<round_name>,
        *avx512f_vmfnmsub_<mode>_mask<round_name>,
        *avx512f_vmfnmsub_<mode>_mask3<round_name>,
        *avx512f_vmfnmasub_<mode>_maskz_1<round_name>): New define_insns.
        (avx512f_vmfmadd_<mode>_maskz<round_expand_name>): New define_expand.
        * config/i386/avx512fintrin.h (_mm_mask_fmadd_sd, _mm_mask_fmadd_ss,
        _mm_mask3_fmadd_sd, _mm_mask3_fmadd_ss, _mm_maskz_fmadd_sd,
        _mm_maskz_fmadd_ss, _mm_mask_fmsub_sd, _mm_mask_fmsub_ss,
        _mm_mask3_fmsub_sd, _mm_mask3_fmsub_ss, _mm_maskz_fmsub_sd,
        _mm_maskz_fmsub_ss, _mm_mask_fnmadd_sd, _mm_mask_fnmadd_ss,
        _mm_mask3_fnmadd_sd, _mm_mask3_fnmadd_ss, _mm_maskz_fnmadd_sd,
        _mm_maskz_fnmadd_ss, _mm_mask_fnmsub_sd, _mm_mask_fnmsub_ss,
        _mm_mask3_fnmsub_sd, _mm_mask3_fnmsub_ss, _mm_maskz_fnmsub_sd,
        _mm_maskz_fnmsub_ss, _mm_mask_fmadd_round_sd, _mm_mask_fmadd_round_ss,
        _mm_mask3_fmadd_round_sd, _mm_mask3_fmadd_round_ss,
        _mm_maskz_fmadd_round_sd, _mm_maskz_fmadd_round_ss,
        _mm_mask_fmsub_round_sd, _mm_mask_fmsub_round_ss,
        _mm_mask3_fmsub_round_sd, _mm_mask3_fmsub_round_ss,
        _mm_maskz_fmsub_round_sd, _mm_maskz_fmsub_round_ss,
        _mm_mask_fnmadd_round_sd, _mm_mask_fnmadd_round_ss,
        _mm_mask3_fnmadd_round_sd, _mm_mask3_fnmadd_round_ss,
        _mm_maskz_fnmadd_round_sd, _mm_maskz_fnmadd_round_ss,
        _mm_mask_fnmsub_round_sd, _mm_mask_fnmsub_round_ss,
        _mm_mask3_fnmsub_round_sd, _mm_mask3_fnmsub_round_ss,
        _mm_maskz_fnmsub_round_sd, _mm_maskz_fnmsub_round_ss): New intrinsics.

        * gcc.target/i386/sse-13.c (__builtin_ia32_vfmaddsd3_mask,
        __builtin_ia32_vfmaddsd3_mask3, __builtin_ia32_vfmaddsd3_maskz,
        __builtin_ia32_vfmsubsd3_mask3, __builtin_ia32_vfmaddss3_mask,
        __builtin_ia32_vfmaddss3_mask3, __builtin_ia32_vfmaddss3_maskz,
        __builtin_ia32_vfmsubss3_mask3): Define.
        * gcc.target/i386/sse-23.c (__builtin_ia32_vfmaddsd3_mask,
        __builtin_ia32_vfmaddsd3_mask3, __builtin_ia32_vfmaddsd3_maskz,
        __builtin_ia32_vfmsubsd3_mask3, __builtin_ia32_vfmaddss3_mask,
        __builtin_ia32_vfmaddss3_mask3, __builtin_ia32_vfmaddss3_maskz,
        __builtin_ia32_vfmsubss3_mask3): Define.
        * gcc.target/i386/avx-1.c (__builtin_ia32_vfmaddsd3_mask,
        __builtin_ia32_vfmaddsd3_mask3, __builtin_ia32_vfmaddsd3_maskz,
        __builtin_ia32_vfmsubsd3_mask3, __builtin_ia32_vfmaddss3_mask,
        __builtin_ia32_vfmaddss3_mask3, __builtin_ia32_vfmaddss3_maskz,
        __builtin_ia32_vfmsubss3_mask3): Define.
        * gcc.target/i386/sse-14.c: Add tests for
        _mm_mask{,3,z}_f{,n}m{add,sub}_round_s{s,d} builtins.
        * gcc.target/i386/sse-22.c: Likewise.

2019-03-22  Hongtao Liu  <hongtao....@intel.com>

        * gcc.target/i386/avx512f-vfmaddXXXsd-1.c (avx512f_test): Add tests
        for _mm_mask{,3,z}_*.
        * gcc.target/i386/avx512f-vfmaddXXXss-1.c (avx512f_test): Likewise.
        * gcc.target/i386/avx512f-vfmsubXXXsd-1.c (avx512f_test): Likewise.
        * gcc.target/i386/avx512f-vfmsubXXXss-1.c (avx512f_test): Likewise.
        * gcc.target/i386/avx512f-vfnmaddXXXsd-1.c (avx512f_test): Likewise.
        * gcc.target/i386/avx512f-vfnmaddXXXss-1.c (avx512f_test): Likewise.
        * gcc.target/i386/avx512f-vfnmsubXXXsd-1.c (avx512f_test): Likewise.
        * gcc.target/i386/avx512f-vfnmsubXXXss-1.c (avx512f_test): Likewise.
        * gcc.target/i386/avx512f-vfmaddXXXsd-2.c: New test.
        * gcc.target/i386/avx512f-vfmaddXXXss-2.c: New test.
        * gcc.target/i386/avx512f-vfmsubXXXsd-2.c: New test.
        * gcc.target/i386/avx512f-vfmsubXXXss-2.c: New test.
        * gcc.target/i386/avx512f-vfnmaddXXXsd-2.c: New test.
        * gcc.target/i386/avx512f-vfnmaddXXXss-2.c: New test.
        * gcc.target/i386/avx512f-vfnmsubXXXsd-2.c: New test.
        * gcc.target/i386/avx512f-vfnmsubXXXss-2.c: New test.

Added:
    trunk/gcc/testsuite/gcc.target/i386/avx512f-vfmaddXXXsd-2.c
    trunk/gcc/testsuite/gcc.target/i386/avx512f-vfmaddXXXss-2.c
    trunk/gcc/testsuite/gcc.target/i386/avx512f-vfmsubXXXsd-2.c
    trunk/gcc/testsuite/gcc.target/i386/avx512f-vfmsubXXXss-2.c
    trunk/gcc/testsuite/gcc.target/i386/avx512f-vfnmaddXXXsd-2.c
    trunk/gcc/testsuite/gcc.target/i386/avx512f-vfnmaddXXXss-2.c
    trunk/gcc/testsuite/gcc.target/i386/avx512f-vfnmsubXXXsd-2.c
    trunk/gcc/testsuite/gcc.target/i386/avx512f-vfnmsubXXXss-2.c
Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/config/i386/avx512fintrin.h
    trunk/gcc/config/i386/i386-builtin.def
    trunk/gcc/config/i386/i386.c
    trunk/gcc/config/i386/sse.md
    trunk/gcc/testsuite/ChangeLog
    trunk/gcc/testsuite/gcc.target/i386/avx-1.c
    trunk/gcc/testsuite/gcc.target/i386/avx512f-vfmaddXXXsd-1.c
    trunk/gcc/testsuite/gcc.target/i386/avx512f-vfmaddXXXss-1.c
    trunk/gcc/testsuite/gcc.target/i386/avx512f-vfmsubXXXsd-1.c
    trunk/gcc/testsuite/gcc.target/i386/avx512f-vfmsubXXXss-1.c
    trunk/gcc/testsuite/gcc.target/i386/avx512f-vfnmaddXXXsd-1.c
    trunk/gcc/testsuite/gcc.target/i386/avx512f-vfnmaddXXXss-1.c
    trunk/gcc/testsuite/gcc.target/i386/avx512f-vfnmsubXXXsd-1.c
    trunk/gcc/testsuite/gcc.target/i386/avx512f-vfnmsubXXXss-1.c
    trunk/gcc/testsuite/gcc.target/i386/sse-13.c
    trunk/gcc/testsuite/gcc.target/i386/sse-14.c
    trunk/gcc/testsuite/gcc.target/i386/sse-22.c
    trunk/gcc/testsuite/gcc.target/i386/sse-23.c

Reply via email to