On Mon, 5 Oct 2026 04:53:34 GMT, Jatin Bhateja <[email protected]> wrote:
> Hi All, > > Currently Float16Vector.rearrange operations are not intrinsified and are > executed through the fallback implementation. > rearrange is a pure lane-permutation (data movement) operation; it never > interprets the 16-bit lane bits as an IEEE binary16 > number. Since a Float16 lane maps to T_SHORT, it reuses the existing 16-bit > vector permute backend directly. > > Patch adds Add intrinsification support encompassing the following tasks: > - Inline expander extension: allow LT_FLOAT16 past the lane-type guard in > inline_vector_rearrange all downstream logic already resolves to the T_SHORT > permute path. > - Add an IR verification test asserting VectorRearrange is generated for > Float16Vector.rearrange with correctness versus the fallback. > > Following are the performance number of benchmarks included with the patch on > an AVX512-FP16 target. > > > Baseline:- > Benchmark (vectorDim) Mode Cnt > Score Error Units > Float16VectorOperationsBenchmark.rearrangeBenchmark 1024 thrpt 2 > 217.410 ops/ms > Float16VectorOperationsBenchmark.rearrangeBenchmark 2057 thrpt 2 > 93.602 ops/ms > > Withopt:- > Benchmark (vectorDim) Mode Cnt > Score Error Units > Float16VectorOperationsBenchmark.rearrangeBenchmark 1024 thrpt 2 > 21842.915 ops/ms > Float16VectorOperationsBenchmark.rearrangeBenchmark 2057 thrpt 2 > 4047.767 ops/ms > > > Please 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). Ping reviewers, kindly review this patch. ------------- PR Comment: https://git.openjdk.org/jdk/pull/33198#issuecomment-6488915759
