RFR: 8268151: Vector API toShuffle optimization [v2]

Vladimir Ivanov vlivanov at openjdk.java.net
Fri Jun 4 13:06:00 UTC 2021


On Thu, 3 Jun 2021 21:43:19 GMT, Sandhya Viswanathan <sviswanathan at openjdk.org> wrote:

>> The Vector API toShuffle method can be optimized  using existing vector conversion intrinsic.
>> 
>> The following changes are made:
>> 1) vector.toShuffle java implementation is changed to call VectorSupport.convert.
>> 2) The conversion intrinsic (inline_vector_convert()) in vectorIntrinsics.cpp is changed to allow shuffle as a destination type.
>> 3) The shuffle.toVector intrinsic (inline_vector_shuffle_to_vector()) in vectorIntrinsics.cpp now explicitly generates conversion node instead of performing conversion during unbox. This is to remove unnecessary boxing during back to back vector.toShuffle and shuffle.toVector calls. 
>> 
>> Best Regards,
>> Sandhya
>
> Sandhya Viswanathan has updated the pull request incrementally with one additional commit since the last revision:
> 
>   Implement review comments

Looks good. 

One inefficiency I noticed is that repeated `toVector()`/`toShuffle` leave a trail of redundant `VectorCastB2X`/`VectorCast[S..L]2X` nodes behind.

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

Marked as reviewed by vlivanov (Reviewer).

PR: https://git.openjdk.java.net/jdk/pull/4326


More information about the core-libs-dev mailing list