> 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="1449" height="629" alt="image" > src="https://github.com/user-attachments/assets/b4474361-9886-4315-a614-f4073fd075b9" > /> > > 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 15 commits: - Merge branch 'master' of http://github.com/openjdk/jdk into JDK-8370691 - Cleanups - Adding support for custom basic type T_FLOAT16, passing BasicType lane types to inline expander entries - Cleaning up interface as per review suggestions - Some cleanups - Fix some JTREG failures - Merge branch 'master' of http://github.com/openjdk/jdk into JDK-8370691 - Revamped JTreg test generation and bug fixes - Cleanups - Removing redundant warmup constraint - ... and 5 more: https://git.openjdk.org/jdk/compare/8bafc2f0...f34d324f ------------- Changes: https://git.openjdk.org/jdk/pull/28002/files Webrev: Webrev is not available because diff is too large Stats: 509516 lines in 232 files changed: 281237 ins; 226539 del; 1740 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
