Patch optimizes Float16 to integral conversion operations. Currently, its a two step process where by first a Float16 value is converted to a single precision floating point value followed by a conversion to an integral value.
x86 targets supporting AVX512-FP16 feature provides direct instruction to convert a Float16 value to integral value. Following are the performance numbers of micro benchmark included with the patch on Granite Rapids with and without auto-vectorization. <img width="1125" height="636" alt="image" src="https://github.com/user-attachments/assets/ca6e6757-1579-475f-8307-9454c7c025c1" /> Kindly review and share your feedback. Best Regards, Jatin --------- - [x] I confirm that I make this contribution in accordance with the [OpenJDK Interim AI Policy](https://openjdk.org/legal/ai). ------------- Commit messages: - 8382523: Optimize Float16 to integral conversion operations for AVX512-FP16 targets Changes: https://git.openjdk.org/jdk/pull/30928/files Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=30928&range=00 Issue: https://bugs.openjdk.org/browse/JDK-8382523 Stats: 729 lines in 12 files changed: 726 ins; 0 del; 3 mod Patch: https://git.openjdk.org/jdk/pull/30928.diff Fetch: git fetch https://git.openjdk.org/jdk.git pull/30928/head:pull/30928 PR: https://git.openjdk.org/jdk/pull/30928
