Add new HalffloatVector 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 
HalffloatVector 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 
HalfflotVector benchmarking kernels compared to equivalent 
Float16OperationsBenchmark kernels.

<img width="837" height="650" alt="{A2BA2D85-085A-489F-8DDD-0FCFB5986EA5}" 
src="https://github.com/user-attachments/assets/2f34138e-80f4-4870-9b5f-f64bf43c1b11";
 />

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

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

Commit messages:
 - 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
 - Adding a HalffloatVectorBenchmark having benchmarking kernel parity with 
Float16OperationsBenchmark
 - Adding IR Framework test
 - Fix JTREG failures
 - Build failure fixes
 - ... and 1 more: https://git.openjdk.org/jdk/compare/e34a8318...c60d533c

Changes: https://git.openjdk.org/jdk/pull/28002/files
  Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=28002&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8370691
  Stats: 66541 lines in 134 files changed: 54467 ins; 460 del; 11614 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

Reply via email to