OK. juzhe.zhong@rivai.ai From: Jeff Law Date: 2022-11-29 00:49 To: juzhe.zhong; gcc-patches CC: kito.cheng Subject: Re: [PATCH] RISC-V: Add duplicate vector support. On 11/25/22 09:06, juzhe.zhong@rivai.ai wrote: > From: Ju-Zhe Zhong > > 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): New pattern. > (@pred_broadcast): 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