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

Reply via email to