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