RFR: 8353730: TestSubNodeFloatDoubleNegation.java fails with native Float16 support [v3]

Manuel Hässig duke at openjdk.org
Fri Apr 11 11:24:30 UTC 2025


On Thu, 10 Apr 2025 10:55:51 GMT, Manuel Hässig <duke at openjdk.org> wrote:

>> Due to insufficient testing on machines supporting FP16 arithmetic in their ISA, I missed that these machines generate two `SUB_FH` nodes and, crucially, an additional `SUB_F` node. We suspect that this comes from some kind of fallback code path ([open issue](https://bugs.openjdk.org/browse/JDK-8353732); also see [discussion in RISC-V PR fixing the same issue](https://github.com/openjdk/jdk/pull/24421#issuecomment-2777755042)).
>> 
>> This PR fixes this issue for all architectures that support FP16 instructions (that I know of), by only matching `SUB_HF` nodes when the CPU supports FP16. The tests for ARM are currently commented out, due to the support for Float16 still being a work in progress (see PR #23748).
>> 
>> I tested the fix using software emulation of an x86_64 CPU with the `avx512_fp16` feature. I also ran the [sanity checks](https://github.com/mhaessig/jdk/actions/runs/14376762241) (the Alpine Linux build fails at `configure`, which is unrelated to this change) as well as tier1 through tier3 and Oracle internal testing.
>
> Manuel Hässig has updated the pull request incrementally with one additional commit since the last revision:
> 
>   Add issue number to comment
>   
>   Co-authored-by: Christian Hagedorn <christian.hagedorn at oracle.com>

Thank you for the reviews!

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

PR Comment: https://git.openjdk.org/jdk/pull/24565#issuecomment-2796621340


More information about the hotspot-compiler-dev mailing list