RFR: 8347794: RISC-V: Add Zfhmin - Float cleanup [v5]

Fei Yang fyang at openjdk.org
Tue Jan 21 08:40:36 UTC 2025


On Tue, 21 Jan 2025 08:28:22 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
>
> Robbin Ehn has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains seven additional commits since the last revision:
> 
>  - Fixed type Rs2
>  - Merge branch 'master' into zfhmin
>  - Fix nit
>  - Merge branch 'master' into zfhmin
>  - FClassBits
>  - Merge branch 'master' into zfhmin
>  - Baseline

Marked as reviewed by fyang (Reviewer).

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

PR Review: https://git.openjdk.org/jdk/pull/23130#pullrequestreview-2563836186


More information about the hotspot-dev mailing list