On 6/8/25 3:30 AM, pan2...@intel.com wrote:
From: Pan Li <pan2...@intel.com>
This patch would like to introduce the combine of vec_dup + vrem.vv into
vrem.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:
| vrem.vv
| J L1
| ...
Case 1:
| ...
| L1:
| vmv.v.x
| vrem.vv
| J L1
| ...
Both will be combined to below if the cost of GR2VR is zero.
| ...
| L1:
| vrem.vx
| J L1
| ...
The below test suites are passed for this patch series.
* The rv64gcv fully regression test.
Pan Li (4):
RISC-V: Combine vec_duplicate + vrem.vv to vrem.vx on GR2VR cost
RISC-V: Reconcile the existing test for vrem.vx combine
RISC-V: Add test for vec_duplicate + vrem.vv combine case 0 with GR2VR cost
0, 2 and 15
RISC-V: Add test for vec_duplicate + vrem.vv combine case 1 with GR2VR cost
0, 1 and 2
OK. ANd if there's a vremu variant in the works that looks basically
the same from an implementation standpoint, then consider it
pre-approved as well.
jeff