RFR: 8353730: TestSubNodeFloatDoubleNegation.java fails with native Float16 support [v3]
Manuel Hässig
duke at openjdk.org
Thu Apr 10 10:55:51 UTC 2025
> 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>
-------------
Changes:
- all: https://git.openjdk.org/jdk/pull/24565/files
- new: https://git.openjdk.org/jdk/pull/24565/files/5eaedf2b..176cb067
Webrevs:
- full: https://webrevs.openjdk.org/?repo=jdk&pr=24565&range=02
- incr: https://webrevs.openjdk.org/?repo=jdk&pr=24565&range=01-02
Stats: 1 line in 1 file changed: 0 ins; 0 del; 1 mod
Patch: https://git.openjdk.org/jdk/pull/24565.diff
Fetch: git fetch https://git.openjdk.org/jdk.git pull/24565/head:pull/24565
PR: https://git.openjdk.org/jdk/pull/24565
More information about the hotspot-compiler-dev
mailing list