RFR: 8322174: RISC-V: C2 VectorizedHashCode RVV Version [v16]

Yuri Gaevsky duke at openjdk.org
Tue Aug 5 12:53:24 UTC 2025


> The patch adds possibility to use RVV instructions for faster vectorizedHashCode calculations on RVV v1.0.0 capable hardware.
> 
> Testing: hotspot/jtreg/compiler/ under QEMU-8.1 with RVV v1.0.0.

Yuri Gaevsky has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains 17 commits:

 - Merge master
 - replaced vmul_vv + vadd_vv by vmadd_vv
 - returned lmul==m4
 - fixed error made for prevoius lmul-m1 experiment
 - make an experiment with lmul==1 instead of lmul==4.
 - move vredsum_vs out of VEC_LOOP to improve performance
 - - removed tail processing with RVV instructions as simple scalar loop provides in general better results
 - simplified arrays_hashcode_v() to be closer to VLA and use less general-purpose registers; minor cosmetic changes
 - change slli+add sequence to shadd
 - reorder instructions to make RVV instructions contiguous
 - ... and 7 more: https://git.openjdk.org/jdk/compare/ba0ae4cb...e7fac6c7

-------------

Changes: https://git.openjdk.org/jdk/pull/17413/files
  Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=17413&range=15
  Stats: 443 lines in 6 files changed: 441 ins; 0 del; 2 mod
  Patch: https://git.openjdk.org/jdk/pull/17413.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/17413/head:pull/17413

PR: https://git.openjdk.org/jdk/pull/17413


More information about the hotspot-compiler-dev mailing list