From: Pan Li <[email protected]>

This patch would like to introduce the combine of vec_dup + vmslt.wv
into vmslt.wx on the cost value of GR2VR.  The late-combine will
take place if the cost of GR2VRlike 1, 2, 15 in test.

From:
 |   ...
 |   vmv.v.x
 | L1:
 |   vmslt.vv
 |   J L1
 |   ...

To:
 |   ...
 | L1:
 |   vmslt.vx
 |   J L1
 |   ...

The below test suites are passed for this patch series.
* The rv64gcv fully regression test.

Pan Li (2):
  RISC-V: Combine vec_duplicate + vmslt.vv to vmslt.vx on GR2VR cost
  RISC-V: Add test for vec_duplicate + vmslt.vv combine with GR2VR cost 0, 1 
and 15

 gcc/config/riscv/predicates.md                |   2 +-
 gcc/config/riscv/riscv-v.cc                   |   2 +
 .../riscv/rvv/autovec/vx_vf/vx-1-i16.c        |   1 +
 .../riscv/rvv/autovec/vx_vf/vx-1-i32.c        |   1 +
 .../riscv/rvv/autovec/vx_vf/vx-1-i64.c        |   1 +
 .../riscv/rvv/autovec/vx_vf/vx-1-i8.c         |   1 +
 .../riscv/rvv/autovec/vx_vf/vx-2-i16.c        |   1 +
 .../riscv/rvv/autovec/vx_vf/vx-2-i32.c        |   1 +
 .../riscv/rvv/autovec/vx_vf/vx-2-i64.c        |   1 +
 .../riscv/rvv/autovec/vx_vf/vx-2-i8.c         |   1 +
 .../riscv/rvv/autovec/vx_vf/vx-3-i16.c        |   1 +
 .../riscv/rvv/autovec/vx_vf/vx-3-i32.c        |   1 +
 .../riscv/rvv/autovec/vx_vf/vx-3-i64.c        |   1 +
 .../riscv/rvv/autovec/vx_vf/vx-3-i8.c         |   1 +
 .../riscv/rvv/autovec/vx_vf/vx_binary.h       |   1 +
 .../riscv/rvv/autovec/vx_vf/vx_binary_data.h  | 136 ++++++++++++++++++
 .../rvv/autovec/vx_vf/vx_vmslt-run-1-i16.c    |  15 ++
 .../rvv/autovec/vx_vf/vx_vmslt-run-1-i32.c    |  16 +++
 .../rvv/autovec/vx_vf/vx_vmslt-run-1-i64.c    |  15 ++
 .../rvv/autovec/vx_vf/vx_vmslt-run-1-i8.c     |  15 ++
 20 files changed, 213 insertions(+), 1 deletion(-)
 create mode 100644 
gcc/testsuite/gcc.target/riscv/rvv/autovec/vx_vf/vx_vmslt-run-1-i16.c
 create mode 100644 
gcc/testsuite/gcc.target/riscv/rvv/autovec/vx_vf/vx_vmslt-run-1-i32.c
 create mode 100644 
gcc/testsuite/gcc.target/riscv/rvv/autovec/vx_vf/vx_vmslt-run-1-i64.c
 create mode 100644 
gcc/testsuite/gcc.target/riscv/rvv/autovec/vx_vf/vx_vmslt-run-1-i8.c

-- 
2.43.0

Reply via email to