Re: Re: [PATCH] RISC-V: Add duplicate vector support.
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 钟居哲 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 > > > > 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 > > >
Re: Re: [PATCH] RISC-V: Add duplicate vector support.
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 > > 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
Re: [PATCH] RISC-V: Add duplicate vector support.
On 11/25/22 09:06, juzhe.zh...@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