[PATCH v1 0/4] Support RVV register overlap for vwadd[u].vv

[email protected]
Newsgroups gmane.comp.gcc.patches
Message-ID <[email protected]>
From: Pan Li <[email protected]>

Like v[sz]ext.vf8, we continue the support for vwadd[u].vv.

The below test suites are passed for this patch:
1. The rv64gcv fully regression tests.

Pan Li (4):
  RISC-V: Allow RVV register overlap for vw{add,sub,mul}[u].vv
  RISC-V: Add test cases for vwadd.vv reg overlap
  RISC-V: Add test cases for vwaddu.vv reg overlap
  RISC-V: Add one more test case for vwadd.vv

 gcc/config/riscv/vector.md                    |  18 +-
 .../rvv/autovec/group_overlap/group_overlap.h | 154 ++++++++++++++++++
 .../autovec/group_overlap/vwadd_vv-i16-m1.c   |  17 ++
 .../autovec/group_overlap/vwadd_vv-i16-m2.c   |  17 ++
 .../autovec/group_overlap/vwadd_vv-i16-m4.c   |  17 ++
 .../autovec/group_overlap/vwadd_vv-i16-mf2.c  |  19 +++
 .../autovec/group_overlap/vwadd_vv-i16-mf4.c  |  19 +++
 .../autovec/group_overlap/vwadd_vv-i32-m1.c   |  17 ++
 .../autovec/group_overlap/vwadd_vv-i32-m2.c   |  17 ++
 .../autovec/group_overlap/vwadd_vv-i32-m4.c   |  17 ++
 .../autovec/group_overlap/vwadd_vv-i32-mf2.c  |  19 +++
 .../autovec/group_overlap/vwadd_vv-i8-m1.c    |  17 ++
 .../autovec/group_overlap/vwadd_vv-i8-m2.c    |  17 ++
 .../autovec/group_overlap/vwadd_vv-i8-m4.c    |  17 ++
 .../autovec/group_overlap/vwadd_vv-i8-mf2.c   |  19 +++
 .../autovec/group_overlap/vwadd_vv-i8-mf4.c   |  19 +++
 .../autovec/group_overlap/vwadd_vv-i8-mf8.c   |  19 +++
 .../autovec/group_overlap/vwaddu_vv-u16-m1.c  |  17 ++
 .../autovec/group_overlap/vwaddu_vv-u16-m2.c  |  17 ++
 .../autovec/group_overlap/vwaddu_vv-u16-m4.c  |  17 ++
 .../autovec/group_overlap/vwaddu_vv-u16-mf2.c |  19 +++
 .../autovec/group_overlap/vwaddu_vv-u16-mf4.c |  19 +++
 .../autovec/group_overlap/vwaddu_vv-u32-m1.c  |  17 ++
 .../autovec/group_overlap/vwaddu_vv-u32-m2.c  |  17 ++
 .../autovec/group_overlap/vwaddu_vv-u32-m4.c  |  17 ++
 .../autovec/group_overlap/vwaddu_vv-u32-mf2.c |  19 +++
 .../autovec/group_overlap/vwaddu_vv-u8-m1.c   |  17 ++
 .../autovec/group_overlap/vwaddu_vv-u8-m2.c   |  17 ++
 .../autovec/group_overlap/vwaddu_vv-u8-m4.c   |  17 ++
 .../autovec/group_overlap/vwaddu_vv-u8-mf2.c  |  19 +++
 .../autovec/group_overlap/vwaddu_vv-u8-mf4.c  |  19 +++
 .../autovec/group_overlap/vwaddu_vv-u8-mf8.c  |  19 +++
 .../gcc.target/riscv/rvv/base/pr112431-43.c   |  59 +++++++
 33 files changed, 756 insertions(+), 9 deletions(-)
 create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/group_overlap/vwadd_vv-i16-m1.c
 create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/group_overlap/vwadd_vv-i16-m2.c
 create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/group_overlap/vwadd_vv-i16-m4.c
 create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/group_overlap/vwadd_vv-i16-mf2.c
 create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/group_overlap/vwadd_vv-i16-mf4.c
 create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/group_overlap/vwadd_vv-i32-m1.c
 create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/group_overlap/vwadd_vv-i32-m2.c
 create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/group_overlap/vwadd_vv-i32-m4.c
 create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/group_overlap/vwadd_vv-i32-mf2.c
 create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/group_overlap/vwadd_vv-i8-m1.c
 create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/group_overlap/vwadd_vv-i8-m2.c
 create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/group_overlap/vwadd_vv-i8-m4.c
 create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/group_overlap/vwadd_vv-i8-mf2.c
 create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/group_overlap/vwadd_vv-i8-mf4.c
 create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/group_overlap/vwadd_vv-i8-mf8.c
 create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/group_overlap/vwaddu_vv-u16-m1.c
 create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/group_overlap/vwaddu_vv-u16-m2.c
 create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/group_overlap/vwaddu_vv-u16-m4.c
 create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/group_overlap/vwaddu_vv-u16-mf2.c
 create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/group_overlap/vwaddu_vv-u16-mf4.c
 create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/group_overlap/vwaddu_vv-u32-m1.c
 create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/group_overlap/vwaddu_vv-u32-m2.c
 create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/group_overlap/vwaddu_vv-u32-m4.c
 create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/group_overlap/vwaddu_vv-u32-mf2.c
 create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/group_overlap/vwaddu_vv-u8-m1.c
 create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/group_overlap/vwaddu_vv-u8-m2.c
 create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/group_overlap/vwaddu_vv-u8-m4.c
 create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/group_overlap/vwaddu_vv-u8-mf2.c
 create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/group_overlap/vwaddu_vv-u8-mf4.c
 create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/group_overlap/vwaddu_vv-u8-mf8.c
 create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/base/pr112431-43.c

-- 
2.43.0
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.