RFR: 8318158: RISC-V: implement roundD/roundF intrinsics [v7]

Olga Mikhaltsova omikhaltcova at openjdk.org
Mon Dec 18 16:06:00 UTC 2023


On Mon, 18 Dec 2023 05:25:06 GMT, Fei Yang <fyang at openjdk.org> wrote:

>> Olga Mikhaltsova has updated the pull request incrementally with one additional commit since the last revision:
>> 
>>   Optimization against regression on SiFive
>
> src/hotspot/cpu/riscv/macroAssembler_riscv.cpp line 4264:
> 
>> 4262: void MacroAssembler::java_round_float(Register dst, FloatRegister src, FloatRegister ftmp) {
>> 4263:   Label done;
>> 4264:   mv(dst, zr);
> 
> I see slightly improvement on both platforms when moving `mv` into between `feq_s`/`feq_d` and `beqz`.

Thx! Fixed.

> src/hotspot/cpu/riscv/macroAssembler_riscv.cpp line 4265:
> 
>> 4263:   Label done;
>> 4264:   mv(dst, zr);
>> 4265:   li(t0, 0x3f000000);
> 
> Suggestion: `mv(t0, jint_cast(0.5f));`

Thx! Fixed.

> src/hotspot/cpu/riscv/macroAssembler_riscv.cpp line 4282:
> 
>> 4280:   Label done;
>> 4281:   mv(dst, zr);
>> 4282:   li(t0, 0x3fe0000000000000);
> 
> Suggestion: `mv(t0, julong_cast(0.5));`

Thx! Fixed.

> src/hotspot/cpu/riscv/riscv.ad line 8367:
> 
>> 8365:   %}
>> 8366: 
>> 8367:   ins_pipe(pipe_class_default);
> 
> Suggestion: `ins_pipe(pipe_slow);`

Thx! Fixed.

> src/hotspot/cpu/riscv/riscv.ad line 8381:
> 
>> 8379:   %}
>> 8380: 
>> 8381:   ins_pipe(pipe_class_default);
> 
> Suggestion: `ins_pipe(pipe_slow);`

Thx! Fixed.

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

PR Review Comment: https://git.openjdk.org/jdk/pull/16382#discussion_r1430349432
PR Review Comment: https://git.openjdk.org/jdk/pull/16382#discussion_r1430350571
PR Review Comment: https://git.openjdk.org/jdk/pull/16382#discussion_r1430349683
PR Review Comment: https://git.openjdk.org/jdk/pull/16382#discussion_r1430350023
PR Review Comment: https://git.openjdk.org/jdk/pull/16382#discussion_r1430349863


More information about the hotspot-dev mailing list