On 6/11/25 9:12 PM, pan2...@intel.com wrote:
From: Pan Li <pan2...@intel.com>

This patch would like to introduce the combine of vec_dup + vmax.vv
into vmax.vx on the cost value of GR2VR.  The late-combine will take place
if the cost of GR2VR is zero, or reject the combine if non-zero like 1,
15
in test.  There will be two cases for the combine:

Case 0:
  |   ...
  |   vmv.v.x
  | L1:
  |   vmax.vv
  |   J L1
  |   ...

Case 1:
  |   ...
  | L1:
  |   vmv.v.x
  |   vmax.vv
  |   J L1
  |   ...

Both will be combined to below if the cost of GR2VR is zero.
  |   ...
  | L1:
  |   vmax.vx
  |   J L1
  |   ...

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

Pan Li (5):
   RISC-V: Combine vec_duplicate + vmax.vv to vmax.vx on GR2VR cost
   RISC-V: Add test for vec_dup + vmax.vv combine case 0 with max func 0 and 
GR2VR cost 0, 2 and 15
   RISC-V: Add test for vec_dup + vmax.vv combine case 0 with max func 1 and 
GR2VR cost 0, 2 and 15
   RISC-V: Add test for vec_dup + vmax.vv combine case 1 with max func 0 and 
GR2VR cost 0, 1 and 2
   RISC-V: Add test for vec_dup + vmax.vv combine case 1 with max func 1 and 
GR2VR cost 0, 1 and 2
This series is OK. Consider similar patches that handle vmin and unsigned variants pre-approved as well assuming they follow the same basic structure.


Jeff

Reply via email to