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