RFR: 8308915: RISC-V: Improve temporary vector register usage avoiding the use of v0 [v2]
Dingli Zhang
dzhang at openjdk.org
Mon May 29 00:55:42 UTC 2023
> We have some macro assembler functions that use v0 hardcoded as a temporary
> register currently.
>
> However, the mask value used to control execution of a masked vector
> instruction is always supplied by vector register v0 in RVV1.0[1]. If v0 is
> alive holding a mask value the the same time, this will cause spilling of
> this vector register. So it is better to replace v0 with other vector registers to
> improve code execution efficiency.
>
> In addition, this pr also adds several missing spaces in the format of the
> instructions, and fixes several pipeline classes.
>
> [1] https://github.com/riscv/riscv-v-spec/blob/v1.0/v-spec.adoc
>
> ## Testing:
> QEMU w/ UseRVV:
> - [x] Tier1 tests (release)
> - [x] Tier2 tests (release)
> - [x] Tier3 tests (release)
> - [x] test/jdk/jdk/incubator/vector (fastdebug)
Dingli Zhang has updated the pull request incrementally with one additional commit since the last revision:
Fix comment
-------------
Changes:
- all: https://git.openjdk.org/jdk/pull/14166/files
- new: https://git.openjdk.org/jdk/pull/14166/files/05446b0a..9fea08dc
Webrevs:
- full: https://webrevs.openjdk.org/?repo=jdk&pr=14166&range=01
- incr: https://webrevs.openjdk.org/?repo=jdk&pr=14166&range=00-01
Stats: 1 line in 1 file changed: 0 ins; 0 del; 1 mod
Patch: https://git.openjdk.org/jdk/pull/14166.diff
Fetch: git fetch https://git.openjdk.org/jdk.git pull/14166/head:pull/14166
PR: https://git.openjdk.org/jdk/pull/14166
More information about the hotspot-compiler-dev
mailing list