1 Commits

Author SHA1 Message Date
DingliZhang 3296f9a20f RISC-V: Fold boolean vector lane extraction into scalar loads
OpenJDK GHA Sanity Checks / Prepare the run (push) Has been cancelled
OpenJDK GHA Sanity Checks / linux-x64-hs-nopch (push) Has been cancelled
OpenJDK GHA Sanity Checks / linux-x64-hs-zero (push) Has been cancelled
OpenJDK GHA Sanity Checks / linux-x64-hs-minimal (push) Has been cancelled
OpenJDK GHA Sanity Checks / linux-x64-hs-optimized (push) Has been cancelled
OpenJDK GHA Sanity Checks / linux-x64-static-libs (push) Has been cancelled
OpenJDK GHA Sanity Checks / linux-cross-compile (push) Has been cancelled
OpenJDK GHA Sanity Checks / alpine-linux-x64 (push) Has been cancelled
OpenJDK GHA Sanity Checks / macos-x64 (push) Has been cancelled
OpenJDK GHA Sanity Checks / docs (push) Has been cancelled
OpenJDK GHA Sanity Checks / linux-x64 (push) Has been cancelled
OpenJDK GHA Sanity Checks / linux-x64-static (push) Has been cancelled
OpenJDK GHA Sanity Checks / linux-aarch64 (push) Has been cancelled
OpenJDK GHA Sanity Checks / macos-aarch64 (push) Has been cancelled
OpenJDK GHA Sanity Checks / windows-x64 (push) Has been cancelled
OpenJDK GHA Sanity Checks / windows-aarch64 (push) Has been cancelled
2026-08-21 10:13:00 +08:00
+23
View File
@@ -5113,6 +5113,29 @@ instruct extractD(fRegD dst, vReg src, immI idx, vReg tmp)
ins_pipe(pipe_slow);
%}
instruct extractUB_loadV_index_imm(iRegINoSp dst, memory mem, immI idx)
%{
match(Set dst (ExtractUB (LoadVector mem) idx));
format %{ "lbu $dst, $mem+$idx\t# boolean vector lane" %}
ins_encode %{
__ lbu(as_Register($dst$$reg),
Address(as_Register($mem$$base), $mem$$disp + (int)($idx$$constant)));
%}
ins_pipe(iload_reg_mem);
%}
instruct extractUB_loadV_index_reg(iRegINoSp dst, memory mem, iRegI idx)
%{
match(Set dst (ExtractUB (LoadVector mem) idx));
format %{ "lbu $dst, $mem+$idx\t# boolean vector lane" %}
ins_encode %{
Register dst = as_Register($dst$$reg);
__ add(dst, as_Register($mem$$base), as_Register($idx$$reg));
__ lbu(dst, Address(dst, $mem$$disp));
%}
ins_pipe(pipe_slow);
%}
instruct extractUB_index_imm(iRegINoSp dst, vReg src, immI idx, vReg tmp)
%{
match(Set dst (ExtractUB src idx));