On 11/25/22 09:06, juzhe.zh...@rivai.ai wrote:
From: Ju-Zhe Zhong <juzhe.zh...@rivai.ai>

gcc/ChangeLog:

         * config/riscv/constraints.md (Wdm): New constraint.
         * config/riscv/predicates.md (direct_broadcast_operand): New predicate.
         * config/riscv/riscv-protos.h (RVV_VLMAX): New macro.
         (emit_pred_op): Refine function.
         * config/riscv/riscv-selftests.cc (run_const_vector_selftests): New 
function.
         (run_broadcast_selftests): Ditto.
         (BROADCAST_TEST): New tests.
         (riscv_run_selftests): More tests.
         * config/riscv/riscv-v.cc (emit_pred_move): Refine function.
         (emit_vlmax_vsetvl): Ditto.
         (emit_pred_op): Ditto.
         (expand_const_vector): New function.
         (legitimize_move): Add constant vector support.
         * config/riscv/riscv.cc (riscv_print_operand): New asm print rule for 
const vector.
         * config/riscv/riscv.h (X0_REGNUM): New macro.
         * config/riscv/vector-iterators.md: New attribute.
         * config/riscv/vector.md (vec_duplicate<mode>): New pattern.
         (@pred_broadcast<mode>): New pattern.

gcc/testsuite/ChangeLog:

         * gcc.target/riscv/rvv/base/dup-1.c: New test.
         * gcc.target/riscv/rvv/base/dup-2.c: New test.

I think this should wait for the next stage1 cycle.

jeff


Reply via email to