> It turns out the 2-step FP16 to integral conversion process is usually 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 except for the FP16 to 
> Byte case. That path now uses a direct conversion instruction from the 
> AVX10.2 ISA. 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).

Mohamed Issa has updated the pull request incrementally with one additional 
commit since the last revision:

  Remove AVX10.2 fp16 to byte direct conversion vector instruction as it causes 
correctness issues.

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

Changes:
  - all: https://git.openjdk.org/jdk/pull/32957/files
  - new: https://git.openjdk.org/jdk/pull/32957/files/84e80949..266784c5

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

  Stats: 37 lines in 7 files changed: 2 ins; 34 del; 1 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