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

Manuel Hässig duke at openjdk.org
Thu Apr 10 09:29:19 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 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 two additional commits since the last revision:

 - Merge branch 'master' into jdk-8353730-fp16
 - Fix float16 double negation test

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

Changes:
  - all: https://git.openjdk.org/jdk/pull/24565/files
  - new: https://git.openjdk.org/jdk/pull/24565/files/38de7c7a..5eaedf2b

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=24565&range=01
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=24565&range=00-01

  Stats: 19179 lines in 338 files changed: 5693 ins; 12153 del; 1333 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