RFR: 8370691: Add new Float16Vector type and enable intrinsification of vector operations supported by auto-vectorizer [v25]
Jatin Bhateja
jbhateja at openjdk.org
Thu Feb 26 06:46:53 UTC 2026
> Add a new Float16lVector type and corresponding concrete vector classes, in addition to existing primitive vector types, maintaining operation parity with the FloatVector type.
> - Add necessary inline expander support.
> - Enable intrinsification for a few vector operations, namely ADD/SUB/MUL/DIV/MAX/MIN/FMA.
> - Use existing Float16 vector IR and backend support.
> - Extended the existing VectorAPI JTREG test suite for the newly added Float16Vector operations.
>
> The idea here is to first be at par with Float16 auto-vectorization support before intrinsifying new operations (conversions, reduction, etc).
>
> The following are the performance numbers for some of the selected Float16Vector benchmarking kernels compared to equivalent auto-vectorized Float16OperationsBenchmark kernels.
>
> <img width="1344" height="532" alt="image" src="https://github.com/user-attachments/assets/c8157c3c-22b0-4bc1-9de9-7a68cadb7b2a" />
>
> Initial RFP[1] was floated on the panama-dev mailing list.
>
> Kindly review the draft PR and share your feedback.
>
> Best Regards,
> Jatin
>
> [1] https://mail.openjdk.org/pipermail/panama-dev/2025-August/021100.html
Jatin Bhateja has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains 42 commits:
- Merge branch 'master' of http://github.com/openjdk/jdk into JDK-8370691
- More cleanups
- Merge branch 'master' of http://github.com/openjdk/jdk into JDK-8370691
- JCheck whitespace fixes
- Merge branch 'master' of http://github.com/openjdk/jdk into JDK-8370691
- Test cleanups and re-factoring
- Merge branch 'master' of http://github.com/openjdk/jdk into JDK-8370691
- Adding new lane type constants for intrinsic entries, removing basictype extension changes
- Merge branch 'master' of http://github.com/openjdk/jdk into JDK-8370691
- Clanups
- ... and 32 more: https://git.openjdk.org/jdk/compare/fd74232d...59cc28e9
-------------
Changes: https://git.openjdk.org/jdk/pull/28002/files
Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=28002&range=24
Stats: 53925 lines in 109 files changed: 49707 ins; 74 del; 4144 mod
Patch: https://git.openjdk.org/jdk/pull/28002.diff
Fetch: git fetch https://git.openjdk.org/jdk.git pull/28002/head:pull/28002
PR: https://git.openjdk.org/jdk/pull/28002
More information about the core-libs-dev
mailing list