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