From: Pan Li <[email protected]> Like v[sz]ext.vf8, we continue the support for vwadd[u].wv.
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 vwadd[u].wv RISC-V: Add test cases for vwadd.wv reg overlap RISC-V: Add test cases for vwaddu.wv reg overlap RISC-V: Adjust test case due to allow vwadd[u].wv overlap gcc/config/riscv/riscv-v.cc | 2 +- gcc/config/riscv/vector.md | 18 +- .../costmodel/riscv/rvv/dynamic-lmul8-11.c | 2 +- .../rvv/autovec/group_overlap/group_overlap.h | 154 ++++++++++++++++++ .../autovec/group_overlap/vwadd_wv-i16-m1.c | 18 ++ .../autovec/group_overlap/vwadd_wv-i16-m2.c | 18 ++ .../autovec/group_overlap/vwadd_wv-i16-m4.c | 18 ++ .../autovec/group_overlap/vwadd_wv-i16-mf2.c | 32 ++++ .../autovec/group_overlap/vwadd_wv-i16-mf4.c | 32 ++++ .../autovec/group_overlap/vwadd_wv-i32-m1.c | 18 ++ .../autovec/group_overlap/vwadd_wv-i32-m2.c | 18 ++ .../autovec/group_overlap/vwadd_wv-i32-m4.c | 18 ++ .../autovec/group_overlap/vwadd_wv-i32-mf2.c | 32 ++++ .../autovec/group_overlap/vwadd_wv-i8-m1.c | 18 ++ .../autovec/group_overlap/vwadd_wv-i8-m2.c | 18 ++ .../autovec/group_overlap/vwadd_wv-i8-m4.c | 18 ++ .../autovec/group_overlap/vwadd_wv-i8-mf2.c | 32 ++++ .../autovec/group_overlap/vwadd_wv-i8-mf4.c | 32 ++++ .../autovec/group_overlap/vwadd_wv-i8-mf8.c | 32 ++++ .../autovec/group_overlap/vwaddu_wv-u16-m1.c | 18 ++ .../autovec/group_overlap/vwaddu_wv-u16-m2.c | 18 ++ .../autovec/group_overlap/vwaddu_wv-u16-m4.c | 18 ++ .../autovec/group_overlap/vwaddu_wv-u16-mf2.c | 32 ++++ .../autovec/group_overlap/vwaddu_wv-u16-mf4.c | 32 ++++ .../autovec/group_overlap/vwaddu_wv-u32-m1.c | 18 ++ .../autovec/group_overlap/vwaddu_wv-u32-m2.c | 18 ++ .../autovec/group_overlap/vwaddu_wv-u32-m4.c | 18 ++ .../autovec/group_overlap/vwaddu_wv-u32-mf2.c | 32 ++++ .../autovec/group_overlap/vwaddu_wv-u8-m1.c | 18 ++ .../autovec/group_overlap/vwaddu_wv-u8-m2.c | 18 ++ .../autovec/group_overlap/vwaddu_wv-u8-m4.c | 18 ++ .../autovec/group_overlap/vwaddu_wv-u8-mf2.c | 32 ++++ .../autovec/group_overlap/vwaddu_wv-u8-mf4.c | 32 ++++ .../autovec/group_overlap/vwaddu_wv-u8-mf8.c | 32 ++++ 34 files changed, 873 insertions(+), 11 deletions(-) create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/group_overlap/vwadd_wv-i16-m1.c create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/group_overlap/vwadd_wv-i16-m2.c create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/group_overlap/vwadd_wv-i16-m4.c create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/group_overlap/vwadd_wv-i16-mf2.c create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/group_overlap/vwadd_wv-i16-mf4.c create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/group_overlap/vwadd_wv-i32-m1.c create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/group_overlap/vwadd_wv-i32-m2.c create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/group_overlap/vwadd_wv-i32-m4.c create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/group_overlap/vwadd_wv-i32-mf2.c create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/group_overlap/vwadd_wv-i8-m1.c create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/group_overlap/vwadd_wv-i8-m2.c create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/group_overlap/vwadd_wv-i8-m4.c create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/group_overlap/vwadd_wv-i8-mf2.c create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/group_overlap/vwadd_wv-i8-mf4.c create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/group_overlap/vwadd_wv-i8-mf8.c create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/group_overlap/vwaddu_wv-u16-m1.c create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/group_overlap/vwaddu_wv-u16-m2.c create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/group_overlap/vwaddu_wv-u16-m4.c create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/group_overlap/vwaddu_wv-u16-mf2.c create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/group_overlap/vwaddu_wv-u16-mf4.c create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/group_overlap/vwaddu_wv-u32-m1.c create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/group_overlap/vwaddu_wv-u32-m2.c create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/group_overlap/vwaddu_wv-u32-m4.c create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/group_overlap/vwaddu_wv-u32-mf2.c create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/group_overlap/vwaddu_wv-u8-m1.c create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/group_overlap/vwaddu_wv-u8-m2.c create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/group_overlap/vwaddu_wv-u8-m4.c create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/group_overlap/vwaddu_wv-u8-mf2.c create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/group_overlap/vwaddu_wv-u8-mf4.c create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/group_overlap/vwaddu_wv-u8-mf8.c -- 2.43.0
