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