LGMT, and as we discussed in another patch[1], I support RVV related stuff to keep merge for this moment and we agreed that it is not ideal but acceptable, so committed to trunku :)
[1] https://patchwork.ozlabs.org/project/gcc/patch/20221128141406.242953-1-juzhe.zh...@rivai.ai/ On Tue, Nov 29, 2022 at 6:55 AM 钟居哲 <juzhe.zh...@rivai.ai> wrote: > > OK. > > > > juzhe.zh...@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.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 > > >