[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