aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-ssa-dce.c
diff options
context:
space:
mode:
authorkonglin1 <lingling.kong@intel.com>2021-10-19 09:35:30 +0800
committerliuhongt <hongtao.liu@intel.com>2021-10-25 16:01:14 +0800
commit7c20a9b738a2257bed4e2b0593275336d1e2047a (patch)
tree13410731f65a613f153592262c34da0b14053640 /gcc/tree-ssa-dce.c
parent37935c01841ce47e989bbdeb567277b206d4ac76 (diff)
downloadgcc-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