Re: Re: [PATCH] RISC-V: Add duplicate vector support.

2022-12-01 Thread Kito Cheng via Gcc-patches
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.

2022-11-28 Thread 钟居哲
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.

2022-11-28 Thread Jeff Law via Gcc-patches



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