RFR: 8295968: RISC-V: Rename some assembler intrinsic functions for RVV 1.0.

Zixian Cai zcai at openjdk.org
Thu Oct 27 07:07:20 UTC 2022


On Thu, 27 Oct 2022 02:23:13 GMT, Dingli Zhang <dzhang at openjdk.org> wrote:

> Hi,
> 
> Some instructions previously had old assembler notation, but were renamed in RVV1.0[1][2] to be consistent with scalar instructions. We'd better keep the name the same as the new assembler mnemonics.
> 
> [1] https://github.com/riscv/riscv-v-spec/blob/v1.0/v-spec.adoc#152-vector-count-population-in-mask-vcpopm
> [2] https://github.com/riscv/riscv-v-spec/blob/v1.0/v-spec.adoc#151-vector-mask-register-logical-instructions
> 
> Please take a look and have some reviews. Thanks a lot.
> 
> ## Testing:
> 
> - hotspot and jdk tier1 on unmatched board without new failures

Not a reviewer. The changes match the spec. But perhaps it's a good idea to still keep the old names for compatibility per the spec. See line comments.

src/hotspot/cpu/riscv/assembler_riscv.hpp line 1139:

> 1137: 
> 1138:   // Vector Mask
> 1139:   INSN(vcpop_m,  0b1010111, 0b010, 0b10000, 0b010000);

>  The assembler instruction alias `vpopc.m` is being retained for software compatibility.

src/hotspot/cpu/riscv/assembler_riscv.hpp line 1495:

> 1493:   // Vector Mask-Register Logical Instructions
> 1494:   INSN(vmxnor_mm,   0b1010111, 0b010, 0b1, 0b011111);
> 1495:   INSN(vmorn_mm,  0b1010111, 0b010, 0b1, 0b011100);

> The old `vmandnot` and `vmornot` mnemonics can be retained as assembler aliases for compatibility.

-------------

PR: https://git.openjdk.org/jdk/pull/10878


More information about the hotspot-compiler-dev mailing list