It turns out he 2-step FP16 to integral conversion process is more beneficial on platforms that support AVX10.2 instructions. This is mainly due to the reduced instruction count and automatic special case handling (e.g., NaN). With that in mind, the changes in this PR go back to the original approach when AVX10.2 is detected in the C2 compiler. There are also some updates to the JTREG tests and JMH benchmarks.
The JTREG test listed below was used to verify correctness with `-XX:-UseSuperWord` and `-XX:+UseSuperWord` JVM options applied. All modifications and tests used [OpenJDK v28-b15](https://github.com/openjdk/jdk/releases/tag/jdk-28%2B15) as the baseline build. 1. `jtreg:test/hotspot/jtreg/compiler/vectorapi/TestFloat16ToIntegralConv.java` --------- - [x] I confirm that I make this contribution in accordance with the [OpenJDK Interim AI Policy](https://openjdk.org/legal/ai). ------------- Commit messages: - Disable AVX512 FP16 direct conversion on targets that support AVX10.2 Changes: https://git.openjdk.org/jdk/pull/32957/files Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=32957&range=00 Issue: https://bugs.openjdk.org/browse/JDK-8392723 Stats: 83 lines in 4 files changed: 63 ins; 0 del; 20 mod Patch: https://git.openjdk.org/jdk/pull/32957.diff Fetch: git fetch https://git.openjdk.org/jdk.git pull/32957/head:pull/32957 PR: https://git.openjdk.org/jdk/pull/32957
