[Bug target/72782] AVX512: No support for scalar broadcasts

hjl at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Thu Oct 18 20:39:00 GMT 2018


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

--- Comment #4 from hjl at gcc dot gnu.org <hjl at gcc dot gnu.org> ---
Author: hjl
Date: Thu Oct 18 20:38:41 2018
New Revision: 265288

URL: https://gcc.gnu.org/viewcvs?rev=265288&root=gcc&view=rev
Log:
i386: Enable AVX512 memory broadcast for FMA

Many AVX512 vector operations can broadcast from a scalar memory source.
This patch enables memory broadcast for FMA operations.

gcc/

        PR target/72782
        * config/i386/sse.md (VF_AVX512): New.
        (avx512bcst): Likewise.
        (*<sd_mask_codefor>fma_fmadd_<mode><sd_maskz_name>_bcst_1):
        Likewise.
        (*<sd_mask_codefor>fma_fmadd_<mode><sd_maskz_name>_bcst_2):
        Likewise.
        (*<sd_mask_codefor>fma_fmadd_<mode><sd_maskz_name>_bcst_3):
        Likewise.

gcc/testsuite/

        PR target/72782
        * gcc.target/i386/avx512-fma-1.h: New file.
        * gcc.target/i386/avx512-fma-2.h: Likewise.
        * gcc.target/i386/avx512-fma-3.h: Likewise.
        * gcc.target/i386/avx512-fma-4.h: Likewise.
        * gcc.target/i386/avx512-fma-5.h: Likewise.
        * gcc.target/i386/avx512-fma-6.h: Likewise.
        * gcc.target/i386/avx512-fma-7.h: Likewise.
        * gcc.target/i386/avx512-fma-8.h: Likewise.
        * gcc.target/i386/avx512f-fmadd-df-zmm-1.c: Likewise.
        * gcc.target/i386/avx512f-fmadd-sf-zmm-1.c: Likewise.
        * gcc.target/i386/avx512f-fmadd-sf-zmm-2.c: Likewise.
        * gcc.target/i386/avx512f-fmadd-sf-zmm-3.c: Likewise.
        * gcc.target/i386/avx512f-fmadd-sf-zmm-4.c: Likewise.
        * gcc.target/i386/avx512f-fmadd-sf-zmm-5.c: Likewise.
        * gcc.target/i386/avx512f-fmadd-sf-zmm-6.c: Likewise.
        * gcc.target/i386/avx512f-fmadd-sf-zmm-7.c: Likewise.
        * gcc.target/i386/avx512f-fmadd-sf-zmm-8.c: Likewise.
        * gcc.target/i386/avx512vl-fmadd-sf-xmm-1.c: Likewise.
        * gcc.target/i386/avx512vl-fmadd-sf-ymm-1.c: Likewise.

Added:
    trunk/gcc/testsuite/gcc.target/i386/avx512-fma-1.h
    trunk/gcc/testsuite/gcc.target/i386/avx512-fma-2.h
    trunk/gcc/testsuite/gcc.target/i386/avx512-fma-3.h
    trunk/gcc/testsuite/gcc.target/i386/avx512-fma-4.h
    trunk/gcc/testsuite/gcc.target/i386/avx512-fma-5.h
    trunk/gcc/testsuite/gcc.target/i386/avx512-fma-6.h
    trunk/gcc/testsuite/gcc.target/i386/avx512-fma-7.h
    trunk/gcc/testsuite/gcc.target/i386/avx512-fma-8.h
    trunk/gcc/testsuite/gcc.target/i386/avx512f-fmadd-df-zmm-1.c
    trunk/gcc/testsuite/gcc.target/i386/avx512f-fmadd-sf-zmm-1.c
    trunk/gcc/testsuite/gcc.target/i386/avx512f-fmadd-sf-zmm-2.c
    trunk/gcc/testsuite/gcc.target/i386/avx512f-fmadd-sf-zmm-3.c
    trunk/gcc/testsuite/gcc.target/i386/avx512f-fmadd-sf-zmm-4.c
    trunk/gcc/testsuite/gcc.target/i386/avx512f-fmadd-sf-zmm-5.c
    trunk/gcc/testsuite/gcc.target/i386/avx512f-fmadd-sf-zmm-6.c
    trunk/gcc/testsuite/gcc.target/i386/avx512f-fmadd-sf-zmm-7.c
    trunk/gcc/testsuite/gcc.target/i386/avx512f-fmadd-sf-zmm-8.c
    trunk/gcc/testsuite/gcc.target/i386/avx512vl-fmadd-sf-xmm-1.c
    trunk/gcc/testsuite/gcc.target/i386/avx512vl-fmadd-sf-ymm-1.c
Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/config/i386/sse.md
    trunk/gcc/testsuite/ChangeLog


More information about the Gcc-bugs mailing list