Current VectorAPI Java side implementation expresses rotateLeft and rotateRight operations using following operations:-
vec1 = lanewise(VectorOperators.LSHL, n)
vec2 = lanewise(VectorOperators.LSHR, n)
res = lanewise(VectorOperations.OR, vec1 , vec2)
To move this handling from Java side to C2 compiler side which currently facilitates dismantling the rotate operation into above operations if target ISA does not support a direct rotate instruction.
vec1 = lanewise(VectorOperators.LSHL, n)
vec2 = lanewise(VectorOperators.LSHR, n)
res = lanewise(VectorOperations.OR, vec1 , vec2)
To move this handling from Java side to C2 compiler side which currently facilitates dismantling the rotate operation into above operations if target ISA does not support a direct rotate instruction.
- relates to
-
JDK-8271366 [REDO] JDK-8266054 VectorAPI rotate operation optimization
-
- Resolved
-