Ai
1 Star 0 Fork 24

Benshuai5D/openjdk-21

forked from src-openEuler/openjdk-21
关闭
 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
Backport-JDK-8355878-RISC-V-jdk-incubator-vector-Dou.patch 1.70 KB
一键复制 编辑 原始数据 按行查看 历史
Benshuai5D 提交于 2025-05-21 01:38 +08:00 . sync master to openEuler-24.03-LTS
From 5724de06f17cae3db89c911674d0b1906403af45 Mon Sep 17 00:00:00 2001
From: Dingli Zhang <dingli@iscas.ac.cn>
Date: Tue, 29 Apr 2025 22:42:53 +0800
Subject: [PATCH] Backport JDK-8355878: RISC-V:
jdk/incubator/vector/DoubleMaxVectorTests.java fails when using RVV
diff --git a/src/hotspot/cpu/riscv/riscv.ad b/src/hotspot/cpu/riscv/riscv.ad
index 148cf8dd3ae..d47b3a0502f 100644
--- a/src/hotspot/cpu/riscv/riscv.ad
+++ b/src/hotspot/cpu/riscv/riscv.ad
@@ -1609,7 +1609,8 @@ uint MachSpillCopyNode::implementation(CodeBuffer *cbuf, PhaseRegAlloc *ra_, boo
__ unspill(as_VectorRegister(Matcher::_regEncode[dst_lo]), ra_->reg2offset(src_lo));
} else if (src_lo_rc == rc_vector && dst_lo_rc == rc_vector) {
// vpr to vpr
- __ vmv1r_v(as_VectorRegister(Matcher::_regEncode[dst_lo]), as_VectorRegister(Matcher::_regEncode[src_lo]));
+ __ vsetvli_helper(T_BYTE, MaxVectorSize);
+ __ vmv_v_v(as_VectorRegister(Matcher::_regEncode[dst_lo]), as_VectorRegister(Matcher::_regEncode[src_lo]));
} else {
ShouldNotReachHere();
}
@@ -1628,7 +1629,8 @@ uint MachSpillCopyNode::implementation(CodeBuffer *cbuf, PhaseRegAlloc *ra_, boo
__ unspill_vmask(as_VectorRegister(Matcher::_regEncode[dst_lo]), ra_->reg2offset(src_lo));
} else if (src_lo_rc == rc_vector && dst_lo_rc == rc_vector) {
// vmask to vmask
- __ vmv1r_v(as_VectorRegister(Matcher::_regEncode[dst_lo]), as_VectorRegister(Matcher::_regEncode[src_lo]));
+ __ vsetvli_helper(T_BYTE, MaxVectorSize >> 3);
+ __ vmv_v_v(as_VectorRegister(Matcher::_regEncode[dst_lo]), as_VectorRegister(Matcher::_regEncode[src_lo]));
} else {
ShouldNotReachHere();
}
--
2.34.1
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/zhangyunbo7/openjdk-21.git
git@gitee.com:zhangyunbo7/openjdk-21.git
zhangyunbo7
openjdk-21
openjdk-21
openEuler-24.03-LTS

搜索帮助