On 21/03/2023 13:35, Andrew Jenner wrote:
I have updated this patch to incorporate the feedback from Andrew Stubbs. Tested on CDNA2 GFX90a.

gcc/ChangeLog:

     * config/gcn/gcn-protos.h (gcn_expand_dpp_swap_pairs_insn)
     (gcn_expand_dpp_distribute_even_insn)
     (gcn_expand_dpp_distribute_odd_insn): Declare.
     * config/gcn/gcn-valu.md (@dpp_swap_pairs<mode>)
     (@dpp_distribute_even<mode>, @dpp_distribute_odd<mode>)
     (cmul<conj_op><mode>3, cml<addsub_as><mode>4, vec_addsub<mode>3)
     (cadd<rot><mode>3, vec_fmaddsub<mode>4, vec_fmsubadd<mode>4)
     (fms<mode>4<exec>, fms<mode>4_negop2<exec>, fms<mode>4)
     (fms<mode>4_negop2): New patterns.
     * config/gcn/gcn.cc (gcn_expand_dpp_swap_pairs_insn)
     (gcn_expand_dpp_distribute_even_insn)
     (gcn_expand_dpp_distribute_odd_insn): New functions.
     * config/gcn/gcn.md: Add entries to unspec enum.

gcc/testsuite/ChangeLog:

     * gcc.target/gcn/complex.c: New test.

OK.

Andrew

Reply via email to