diff options
author | konglin1 <lingling.kong@intel.com> | 2021-10-19 09:35:30 +0800 |
---|---|---|
committer | liuhongt <hongtao.liu@intel.com> | 2021-10-25 16:01:14 +0800 |
commit | 7c20a9b738a2257bed4e2b0593275336d1e2047a (patch) | |
tree | 13410731f65a613f153592262c34da0b14053640 /gcc/tree-ssa-dce.c | |
parent | 37935c01841ce47e989bbdeb567277b206d4ac76 (diff) | |
download | gcc-7c20a9b738a2257bed4e2b0593275336d1e2047a.zip gcc-7c20a9b738a2257bed4e2b0593275336d1e2047a.tar.gz gcc-7c20a9b738a2257bed4e2b0593275336d1e2047a.tar.bz2 |
Combine the FADD(A, FMA(B, C, 0)) to FMA(B, C, A) and combine FADD(A, FMUL(B, C)) to FMA(B, C, A).
This patch is to support transform in fast-math something like
_mm512_add_ph(x1, _mm512_fmadd_pch(a, b, _mm512_setzero_ph())) to
_mm512_fmadd_pch(a, b, x1).
And support transform _mm512_add_ph(x1, _mm512_fmul_pch(a, b))
to _mm512_fmadd_pch(a, b, x1).
gcc/ChangeLog:
* config/i386/sse.md (fma_<mode>_fadd_fmul): Add new
define_insn_and_split.
(fma_<mode>_fadd_fcmul):Likewise
(fma_<complexopname>_<mode>_fma_zero):Likewise
gcc/testsuite/ChangeLog:
* gcc.target/i386/avx512fp16-complex-fma.c: New test.
Diffstat (limited to 'gcc/tree-ssa-dce.c')
0 files changed, 0 insertions, 0 deletions