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