Re: Re: [PATCH] RISC-V: Basic VLS code gen for RISC-V

2023-05-30 Thread 钟居哲
_ATTRIBUTE) + (set_attr "vl_op_idx" const_int 2) +(set (attr "ta") (symbol_ref "riscv_vector::TAIL_ANY")) +(set (attr "ma") (symbol_ref "riscv_vector::MASK_ANY")) + (set (attr "avl_type") (symbol_ref "riscv_vector::VLS_AVL&q

Re: Re: [PATCH] RISC-V: Basic VLS code gen for RISC-V

2023-05-30 Thread Kito Cheng via Gcc-patches
It's long mail but I think this should explain most high level concept why I did this: I guess I skipped too much story about the VLS-mode support; VLS-mode support can be split into the middle-end and back-end. # Middle-end As Richard mentioned, those VLS types can be held by VLA-modes; for exam

Re: Re: [PATCH] RISC-V: Basic VLS code gen for RISC-V

2023-05-30 Thread juzhe.zh...@rivai.ai
RGET_MIN_VLEN >= 128") (VNx1DI "TARGET_VECTOR_ELEN_64 && TARGET_MIN_VLEN < 128") (VNx2DI "TARGET_VECTOR_ELEN_64") (VNx4DI "TARGET_VECTOR_ELEN_64") (VNx8DI "TARGET_VECTOR_ELEN_64") (VNx16DI "TARGET_VECTOR_ELEN_64 && TARG

Re: Re: [PATCH] RISC-V: Basic VLS code gen for RISC-V

2023-05-30 Thread juzhe.zh...@rivai.ai
effreyalaw; pan2.li Subject: Re: Re: [PATCH] RISC-V: Basic VLS code gen for RISC-V On Tue, May 30, 2023 at 11:17 AM juzhe.zh...@rivai.ai wrote: > > In the future, we will definitely mixing VLA and VLS-vlmin together in a > codegen and it will not cause any issues. > For VLS-vlmin,

Re: Re: [PATCH] RISC-V: Basic VLS code gen for RISC-V

2023-05-30 Thread Richard Biener via Gcc-patches
On Tue, May 30, 2023 at 11:17 AM juzhe.zh...@rivai.ai wrote: > > In the future, we will definitely mixing VLA and VLS-vlmin together in a > codegen and it will not cause any issues. > For VLS-vlmin, I prefer it is used in length style auto-vectorization (I am > not sure since my SELECT_VL patch

Re: Re: [PATCH] RISC-V: Basic VLS code gen for RISC-V

2023-05-30 Thread juzhe.zh...@rivai.ai
In the future, we will definitely mixing VLA and VLS-vlmin together in a codegen and it will not cause any issues. For VLS-vlmin, I prefer it is used in length style auto-vectorization (I am not sure since my SELECT_VL patch is not finished, I will check if can work when I am working in SELECT_VL

Re: Re: [PATCH] RISC-V: Basic VLS code gen for RISC-V

2023-05-30 Thread juzhe.zh...@rivai.ai
Hi, Richi. >> but ideally the user would be able to specify -mrvv-size=32 for an >> implementation with 32 byte vectors and then vector lowering would make use >> of vectors up to 32 bytes? Actually, we don't want to specify -mrvv-size = 32 to enable vectorization on GNU vectors. You can take a

Re: Re: [PATCH] RISC-V: Basic VLS code gen for RISC-V

2023-05-30 Thread juzhe.zh...@rivai.ai
>> why is the conversion after register allocation always >> safe? I do worry about this issue too. I just notice : + case MEM: + operands[i] = change_address (operands[i], vla_mode, NULL_RTX); I am not sure whether it is safe. >> Couldn't we "lower" the fixed-length vectors to VL

Re: Re: [PATCH] RISC-V: Basic VLS code gen for RISC-V

2023-05-30 Thread juzhe.zh...@rivai.ai
Ok. LGTM as long as you change the patch as I suggested. Thanks. juzhe.zh...@rivai.ai From: Kito Cheng Date: 2023-05-30 14:51 To: juzhe.zh...@rivai.ai CC: gcc-patches; palmer; kito.cheng; jeffreyalaw; Robin Dapp; pan2.li Subject: Re: [PATCH] RISC-V: Basic VLS code gen for RISC-V > >> /* Retur