RFR: 8271589: fatal error with variable shift count integer rotate operation.
Vladimir Kozlov
kvn at openjdk.java.net
Mon Aug 2 19:42:32 UTC 2021
On Mon, 2 Aug 2021 18:17:48 GMT, Jatin Bhateja <jbhateja at openjdk.org> wrote:
> > I assume `TestLongVectRotate.java` should be also updated.
> > And you need add cases for Long type vector shifts if they can be generated.
>
> Long rotates patterns with variable shifts i.e. Long.rotateLeft/Right(a[i], int_b[i]/ (int) long_b[i]) are not auto-vectorized currently.
> Problem is only seen with rotation over integers. I have kept the changes minimal as suggested earlier.
You said in an other comment:
"This is to handle long rotates, SLP will insert a ConvI2L before broadcasting shift value into a long vector."
Is it really a big change for test to cover this case? This is new code in your changes which needs test coverage I think.
I will start testing current changes (with removed assert(is_invariant_vector()) we agreed on).
-------------
PR: https://git.openjdk.java.net/jdk/pull/4956
More information about the hotspot-compiler-dev
mailing list