Hi Yunze:

I thought the T-head vector should just reuse segments load/store
pattern from standard vector instruction is enough and then adjust the
output name at th_asm_output_opcode , do you have a good reason why we
need to add those patterns for T-head vector again? I am really
concerned about this patch set increasing the number of patterns too
much.

On Fri, Jun 6, 2025 at 5:44 PM <yunze...@linux.alibaba.com> wrote:
>
> From: Yunze Zhu <yunze...@linux.alibaba.com>
>
> This series add xtheadvector-specific segment load/store intrinsics support, 
> including:
> [1/4] xtheadvector unit stride segment load/store intrinsics,
> [2/4] xtheadvector stride segment load/store intrinsics,
> [3/4] xtheadvector indexed stride segment load/store intrinsics,
> [4/4] xtheadvector fault-only-first stride segment load intrinsics.
>
> The goal is to enhance support for xtheadvector extension by
> adding generation of xtheadvector-specific segment load/store
> instructions with intrinsics.
> https://github.com/XUANTIE-RV/thead-extension-spec/pull/66
>
>  gcc/config.gcc                                                   |   2 +-
>  gcc/config/riscv/riscv-vector-builtins-shapes.cc                 |  74 
> ++++++++
>  gcc/config/riscv/riscv-vector-builtins-shapes.h                  |   2 +
>  gcc/config/riscv/riscv-vector-builtins-types.def                 |  82 
> ++++++++
>  gcc/config/riscv/riscv-vector-builtins.cc                        |  92 
> +++++++++
>  gcc/config/riscv/t-riscv                                         |  19 ++
>  gcc/config/riscv/thead-vector-builtins-bases.cc                  | 318 
> ++++++++++++++++++++++++++++++++
>  gcc/config/riscv/thead-vector-builtins-bases.h                   |  44 +++++
>  gcc/config/riscv/thead-vector-builtins-functions.def             |  12 ++
>  gcc/config/riscv/thead-vector.md                                 | 267 
> +++++++++++++++++++++++++++
>  gcc/config/riscv/thead.cc                                        |  68 
> ++++---
>  gcc/testsuite/gcc.target/riscv/rvv/xtheadvector/vlseg-vsseg.c    | 118 
> ++++++++++++
>  gcc/testsuite/gcc.target/riscv/rvv/xtheadvector/vlsegff-vsseg.c  | 118 
> ++++++++++++
>  gcc/testsuite/gcc.target/riscv/rvv/xtheadvector/vlsegu-vsseg.c   | 116 
> ++++++++++++
>  gcc/testsuite/gcc.target/riscv/rvv/xtheadvector/vlseguff-vsseg.c | 115 
> ++++++++++++
>  gcc/testsuite/gcc.target/riscv/rvv/xtheadvector/vlsseg-vssseg.c  | 125 
> +++++++++++++
>  gcc/testsuite/gcc.target/riscv/rvv/xtheadvector/vlssegu-vssseg.c | 125 
> +++++++++++++
>  gcc/testsuite/gcc.target/riscv/rvv/xtheadvector/vlxseg-vsxseg.c  | 125 
> +++++++++++++
>  gcc/testsuite/gcc.target/riscv/rvv/xtheadvector/vlxsegu-vsxseg.c | 125 
> +++++++++++++
>  19 files changed, 1922 insertions(+), 25 deletions(-)

Reply via email to