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