RFR: 8295282: Use Zicboz/cbo.zero to zero-out memory on RISC-V [v4]
Yadong Wang
yadongwang at openjdk.org
Tue Oct 18 09:39:06 UTC 2022
On Tue, 18 Oct 2022 09:03:36 GMT, Ludovic Henry <luhenry at openjdk.org> wrote:
>> Similarly to AArch64 DC.ZVA, the RISC-V Zicboz [1] extension provides the cbo.zero [2] instruction that allows to zero out memory a cache-line at a time. This should be faster than storing zeroes 64bits at a time.
>>
>> [1] https://github.com/riscv/riscv-CMOs
>> [2] https://github.com/riscv/riscv-CMOs/blob/master/cmobase/Zicboz.adoc#insns-cbo_zero
>
> Ludovic Henry has updated the pull request incrementally with one additional commit since the last revision:
>
> fixup! Add -XX:CacheLineSize= to set cache line size
src/hotspot/cpu/riscv/macroAssembler_riscv.cpp line 4126:
> 4124: srai(t1, t0, 3);
> 4125: sub(cnt, cnt, t1);
> 4126: add(t2, zr, zr);
The usage of temporary registers needs to be made known to C2. You'd better pass arguments in and add effect in the ad file.
-------------
PR: https://git.openjdk.org/jdk/pull/10718
More information about the hotspot-dev
mailing list