JDK-8361532 : RISC-V: Several vector tests fail after JDK-8354383
  • Type: Bug
  • Component: hotspot
  • Sub-Component: compiler
  • Affected Version: 25,26
  • Priority: P3
  • Status: Resolved
  • Resolution: Fixed
  • OS: linux
  • CPU: riscv
  • Submitted: 2025-07-08
  • Updated: 2025-08-28
  • Resolved: 2025-07-09
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 25 JDK 26
25.0.1Fixed 26 b06Fixed
Related Reports
Causes :  
Description
RISC-V: Several vector tests fail after JDK-8354383

Hi all,
Please take a look and review this PR, thanks!

After JDK-8354383, the following test cases fail when fastdebug with rvv:
jdk/incubator/vector/Byte128VectorLoadStoreTests.java 
jdk/incubator/vector/Byte256VectorLoadStoreTests.java 
jdk/incubator/vector/Byte64VectorLoadStoreTests.java 
jdk/incubator/vector/ByteMaxVectorLoadStoreTests.java 
jdk/incubator/vector/Double128VectorLoadStoreTests.java 
jdk/incubator/vector/Double256VectorLoadStoreTests.java 
jdk/incubator/vector/DoubleMaxVectorLoadStoreTests.java 
jdk/incubator/vector/Float128VectorLoadStoreTests.java 
jdk/incubator/vector/Float256VectorLoadStoreTests.java 
jdk/incubator/vector/Float64VectorLoadStoreTests.java 
jdk/incubator/vector/FloatMaxVectorLoadStoreTests.java 
jdk/incubator/vector/Short128VectorLoadStoreTests.java 
jdk/incubator/vector/Short256VectorLoadStoreTests.java 
jdk/incubator/vector/Short64VectorLoadStoreTests.java 
jdk/incubator/vector/ShortMaxVectorLoadStoreTests.java

The error log is as follows:
o531  CastVV  === o726 o751  [[ o530 ]]  #vectormask<B,8> unconditional dependency

--N: o531  CastVV  === o726 o751  [[ o530 ]]  #vectormask<B,8> unconditional dependency

   --N: o751  Phi  === o726 o539 o293  [[ o531 ]]  #vectormask<B,8>
   VREGMASK  0  VREGMASK
   VREGMASK_V0  0  VREGMASK_V0

#
# A fatal error has been detected by the Java Runtime Environment:
#
#  Internal Error (/home/zhangdingli/jdk/src/hotspot/share/opto/matcher.cpp:1765), pid=1692890, tid=1693070
#  assert(false) failed: bad AD file
#
# JRE version: OpenJDK Runtime Environment (26.0) (fastdebug build 26-internal-adhoc.zhangdingli.jdk)
# Java VM: OpenJDK 64-Bit Server VM (fastdebug 26-internal-adhoc.zhangdingli.jdk, mixed mode, compressed oops, compressed class ptrs, g1 gc, linux-riscv64)
# Problematic frame:
# V  [libjvm.so+0x10fdfd0]  Matcher::Label_Root(Node const*, State*, Node*, Node*&)+0x680
#
# Core dump will be written. Default location: Core dumps may be processed with "/usr/lib/systemd/systemd-coredump %P %u %g %s %t %c %h" (or dumping to /home/zhangdingli/jdk/jtreg_0708/JTwork/scratch/0/core.1692890)
#
# An error report file with more information is saved as:

The reason for the error is that riscv lacks CastVV with dst as the mask register. 
Comments
A pull request was submitted for review. Branch: master URL: https://git.openjdk.org/jdk25u/pull/15 Date: 2025-07-09 06:03:52 +0000
09-07-2025

[jdk25u-fix-request] Approval Request from Dingli Zhang Same issue exists in jdk25u repo as well. Backport to fix jvm crash when running vectorapi tests with linux-riscv64 fastdebug builds. This is a RISC-V specific change, should be low risk.
09-07-2025

Changeset: e0245682 Branch: master Author: Dingli Zhang <dzhang@openjdk.org> Committer: Fei Yang <fyang@openjdk.org> Date: 2025-07-09 05:57:38 +0000 URL: https://git.openjdk.org/jdk/commit/e0245682c8d5a0daae055045c81248c12fb23c09
09-07-2025

A pull request was submitted for review. Branch: master URL: https://git.openjdk.org/jdk/pull/26178 Date: 2025-07-08 02:30:27 +0000
08-07-2025