Integrated: 8347981: RISC-V: Add Zfa zli imm loads
Robbin Ehn
rehn at openjdk.org
Fri Jan 24 11:49:56 UTC 2025
On Fri, 17 Jan 2025 08:47:09 GMT, Robbin Ehn <rehn at openjdk.org> wrote:
> Hi, please consider!
>
> This patch the Zfa zli floating point immediate load.
> As a bonus it adds fmv_?_x(Rd, zr); for loading fp/dp 0x0.
> There are some more instruction in Zfa, but this was such a clear use-case so I only did fli as a start.
>
> When using one of the 32 'popular' floats we can now materialze them without a load.
> E.g.
> `float f = f1 * 0.5 + f2 * 2.0;`
> Only require 2 loads instead of 4: as '0.5' and '2.0' is such popular float values.
>
> As Java is often memory bound we should also investigate doing lui+ssli+fmv for float/doubles instead of a load when materializing.
>
> Note the _fli_s/_fli_d will be proper merged on the 8347794: RISC-V: Add Zfhmin - Float cleanup.
>
> Passes:
> ./test/jdk/java/lang/Math
> ./test/hotspot/jtreg/compiler/floatingpoint/
> ./test/jdk/java/util/Formatter/
> ./test/jdk/java/lang/Float/
> ./test/jdk/java/lang/Double/
> ./test/hotspot/jtreg/compiler/c2/FloatingPointFoldingTest.java
> ./test/hotspot/jtreg/compiler/eliminateAutobox/
> ./test/hotspot/jtreg/vmTestbase/jit/
>
> Running tier1
>
> Thanks!
This pull request has now been integrated.
Changeset: 9c55e253
Author: Robbin Ehn <rehn at openjdk.org>
URL: https://git.openjdk.org/jdk/commit/9c55e2538c5c7374d6f4589d8bdd45ee205276f1
Stats: 192 lines in 7 files changed: 183 ins; 0 del; 9 mod
8347981: RISC-V: Add Zfa zli imm loads
Reviewed-by: fyang, luhenry
-------------
PR: https://git.openjdk.org/jdk/pull/23171
More information about the hotspot-dev
mailing list