Integrated: 8347794: RISC-V: Add Zfhmin - Float cleanup
Robbin Ehn
rehn at openjdk.org
Wed Jan 22 10:28:50 UTC 2025
On Wed, 15 Jan 2025 10:12:57 GMT, Robbin Ehn <rehn at openjdk.org> wrote:
> Hey, please consider.
>
> I'm looking making RVA23 support complete and I was looking into adding Zfhmin.
> I notice Zfh instructions didn't have any asserts checking if this extensions was enabled.
> I then notice that we had the inferior instruction description using a funct7 instead of FMT + funct5.
> We also had this same format repeated many times.
>
> This patch takes all instructions format duplicates and replaces them with 'fp_base'.
> fadd_s is thus described in code as:
> `fp_base<S_32_sp, 0b00000>(Rd, Rs1, Rs2, rm);`
> Instead of:
> `INSN(fadd_s, 0b1010011, 0b0000000);`
>
> It then moves zfh/zfhmin to a sepererate section and assert checks them.
>
> Also as a bonus RoundingMode uses camel case while fclass_mask C, style.
> So I changed fclass_mask to FClassBit, now thinking about it not sure if it should be bit or mask.
> As in the context of the instruction fclass it is a bit, but when using the helpers e.g. zero it's a mask.
>
> Tested:
> jdk/java/lang/Math
> jdk/java/util/Formatter/
> jdk/java/lang/Float/
> jdk/java/lang/Double/
> hotspot/jtreg/compiler/floatingpoint/
> hotspot/jtreg/compiler/c2/FloatingPointFoldingTest.java
> hotspot/jtreg/compiler/eliminateAutobox/
> hotspot/jtreg/vmTestbase/jit/
>
> And tier1 twice, no FP issues. (Using UseZfh/min)
>
> Thanks, Robbin
This pull request has now been integrated.
Changeset: fb438492
Author: Robbin Ehn <rehn at openjdk.org>
URL: https://git.openjdk.org/jdk/commit/fb438492275cd15390d26460cada2d5e1a49c159
Stats: 536 lines in 8 files changed: 303 ins; 133 del; 100 mod
8347794: RISC-V: Add Zfhmin - Float cleanup
Reviewed-by: fyang, mli
-------------
PR: https://git.openjdk.org/jdk/pull/23130
More information about the hotspot-dev
mailing list