On Fri, 13 Mar 2026 05:12:50 GMT, Jatin Bhateja <[email protected]> wrote:
>> 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 47 commits: > > - Merge branch 'master' of http://github.com/openjdk/jdk into JDK-8370691 > - Fix float16 handling for toIntegralChecked routine, some other cleanups > - 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 > - 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 > - ... and 37 more: https://git.openjdk.org/jdk/compare/bd738643...7f617b77 @jatin-bhateja Good job, seems like you seem to be making good progress on splitting things out! Most of it is now Float16 specific :) Do you think even more could be split out still? For example, I see quite some changes in non-Float16 tests. Could those still be split out? src/hotspot/cpu/aarch64/aarch64.ad line 8312: > 8310: ins_pipe(pipe_slow); > 8311: %} > 8312: How is this change related to the Float16 changes? src/jdk.incubator.vector/share/classes/jdk/incubator/vector/ByteVector128.java line 95: > 93: @ForceInline > 94: @Override > 95: public final Class<Byte> elementType() { return ETYPE; } This looks like a refactoring that could be done separately, right? test/jdk/jdk/incubator/vector/ShortVectorMaxTests.java line 1731: > 1729: assertEquals(asFloatingSpecies.vectorShape(), > SPECIES.vectorShape()); > 1730: assertEquals(asFloatingSpecies.length(), SPECIES.length()); > 1731: assertEquals(asFloating.viewAsIntegralLanes().species(), > SPECIES); These changes seem unrelated to Float16, right? Can they be done separately? ------------- Changes requested by epeter (Reviewer). PR Review: https://git.openjdk.org/jdk/pull/28002#pullrequestreview-3942079617 PR Review Comment: https://git.openjdk.org/jdk/pull/28002#discussion_r2929461412 PR Review Comment: https://git.openjdk.org/jdk/pull/28002#discussion_r2929483340 PR Review Comment: https://git.openjdk.org/jdk/pull/28002#discussion_r2929487553
