i386: Optimization for mm512_set1_pch.
authorkonglin1 <lingling.kong@intel.com>
Mon, 1 Nov 2021 02:43:34 +0000 (10:43 +0800)
committerliuhongt <hongtao.liu@intel.com>
Wed, 10 Nov 2021 06:36:59 +0000 (14:36 +0800)
commit60e3179b7a33a62f36a143f9168ba2f777e37864
tree0a370fc584d01d91d36a3676cab25d67916c3465
parentb879d40a17ec0409f1a2cd9ab6134bb28f53eea8
i386: Optimization for mm512_set1_pch.

This patch is to support fold _mm512_fmadd_pch (a, _mm512_set1_pch(*(b)), c)
to 1 instruction vfmaddcph (%rsp){1to16}, %zmm1, %zmm2;

gcc/ChangeLog:

* config/i386/sse.md (fma_<complexpairopname>_<mode>_pair):
Add new define_insn.
(fma_<mode>_fmaddc_bcst): Add new define_insn_and_split.
(fma_<mode>_fcmaddc_bcst): Likewise

gcc/testsuite/ChangeLog:

* gcc.target/i386/avx512fp16vl-complex-broadcast-1.c: New test.
gcc/config/i386/sse.md
gcc/testsuite/gcc.target/i386/avx512fp16vl-complex-broadcast-1.c [new file with mode: 0644]