RFR: 8284937: riscv: should not allocate special register for temp
Yanhong Zhu
yzhu at openjdk.java.net
Mon Apr 18 08:24:58 UTC 2022
Following testcases fail with -XX:+UseRVV after [JDK-8284863](https://bugs.openjdk.java.net/browse/JDK-8284863):
test/hotspot/jtreg/compiler/vectorapi/VectorCastShape128Test.java
test/hotspot/jtreg/compiler/vectorapi/VectorCastShape64Test.java
test/hotspot/jtreg/compiler/vectorapi/VectorMaskCastTest.java
test/hotspot/jtreg/compiler/vectorapi/VectorMaskLoadStoreTest.java
The root cause of this problem is that special registers were allocated as temporary registers in C2. Similar issue also exists in several other C2 instructs for riscv.
With this patch, testcases above are all passed.
Additional testing:
- QEMU full with RVV enabled
- QEMU full with RVV disabled
- Native hotspot/jdk tier1 with RVV disabled
-------------
Commit messages:
- should not allocate special register for tmp
Changes: https://git.openjdk.java.net/jdk/pull/8283/files
Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=8283&range=00
Issue: https://bugs.openjdk.java.net/browse/JDK-8284937
Stats: 32 lines in 2 files changed: 0 ins; 0 del; 32 mod
Patch: https://git.openjdk.java.net/jdk/pull/8283.diff
Fetch: git fetch https://git.openjdk.java.net/jdk pull/8283/head:pull/8283
PR: https://git.openjdk.java.net/jdk/pull/8283
More information about the hotspot-compiler-dev
mailing list