On Tue, 27 Jul 2021 18:05:49 GMT, Sandhya Viswanathan 
<sviswanat...@openjdk.org> wrote:

>> Correcting this,  I2L may be needed in auto-vectorization flow since 
>> Integer/Long.rotate[Right/Left] APIs accept only integral shift, so for 
>> Long.rotate* operations integral shift value must be converted to long using 
>> I2L before broadcasting it. VectorAPI lanewise operations between 
>> vector-scalar, scalar type already matches with vector basic type.  Since 
>> degeneration routine is common b/w both the flows so maintaining IR 
>> consistency here.
>
> For Vector API the shift is always coming in as int type for rotate by scalar 
> (lanewiseShiftTemplate). The down conversion to byte or short needs to be 
> done before scalar2vector.

I see that similar thing is done before for shift, so down conversion to sub 
type is not required.

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

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

Reply via email to