> Patch optimizes Vector.slice operation with constant index using x86 ALIGNR > instruction. > Intrinsification is performed using new hybrid call generator infrastructure > added along with https://github.com/openjdk/jdk/pull/30876 which performs > lazy intrinsification and in case of intrinsic failure which will happen for > variable slice index will perform procedural inlining of fallback > implementation to prevent call overhead and boxing penalties. The existing > vector API-based slice implementation is now the fallback code. > > Vector API jtreg tests pass at various AVX levels. > > Following are the performance numbers of benchmark included with the patch > over AVX512 and legacy target :- > > <img width="993" height="1053" alt="image" > src="https://github.com/user-attachments/assets/9f5bbd6e-892d-4bfe-870f-070dabe32232" > /> > <img width="996" height="341" alt="image" > src="https://github.com/user-attachments/assets/7732ed97-131f-478b-8c50-67c6990f5ea1" > /> > > <img width="976" height="883" alt="image" > src="https://github.com/user-attachments/assets/09f08034-3f1d-4acd-a2d9-dfb29c7d1513" > /> > > > > Kindly 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).
Jatin Bhateja has updated the pull request incrementally with one additional commit since the last revision: Review comments resolution and removing noise from benchmark ------------- Changes: - all: https://git.openjdk.org/jdk/pull/24104/files - new: https://git.openjdk.org/jdk/pull/24104/files/1438b375..abf44aa6 Webrevs: - full: https://webrevs.openjdk.org/?repo=jdk&pr=24104&range=24 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=24104&range=23-24 Stats: 979 lines in 10 files changed: 445 ins; 382 del; 152 mod Patch: https://git.openjdk.org/jdk/pull/24104.diff Fetch: git fetch https://git.openjdk.org/jdk.git pull/24104/head:pull/24104 PR: https://git.openjdk.org/jdk/pull/24104
