hg: panama/dev: JDK-8224988: Elemental shift and rotate operations speedup
jatin.bhateja at intel.com
jatin.bhateja at intel.com
Tue Jun 11 11:35:29 UTC 2019
Changeset: 1ca9a30eff96
Author: jbhateja
Date: 2019-06-11 17:04 +0530
URL: http://hg.openjdk.java.net/panama/dev/rev/1ca9a30eff96
JDK-8224988: Elemental shift and rotate operations speedup
Summary: Patch is having following changes:-
A) Intrinsification of two vector APIs:
1) VectorShuffle.shuffleIota(VectorSpecies, int)
2) VectorShuffle.toVector()
B) Re-implimentation of following vector APIs using above intrinsified APIs.
1) Vector.shiftLanesLeft(int)
2) Vector.shiftLanesRight(int)
3) Vector.rotateLanesLeft(int)
4) Vector.rotateLanesRight(int)
Reviewed-by: sviswanathan, kkharbas, johnr
Contributed-by: Jatin Bhateja <jatin.bhateja at intel.com>
! src/hotspot/cpu/x86/stubGenerator_x86_64.cpp
! src/hotspot/cpu/x86/stubRoutines_x86.hpp
! src/hotspot/cpu/x86/stubRoutines_x86_64.cpp
! src/hotspot/cpu/x86/x86.ad
! src/hotspot/share/classfile/vmSymbols.hpp
! src/hotspot/share/opto/classes.hpp
! src/hotspot/share/opto/compile.cpp
! src/hotspot/share/opto/library_call.cpp
! src/hotspot/share/opto/vectornode.cpp
! src/hotspot/share/opto/vectornode.hpp
! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Byte128Vector.java
! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Byte256Vector.java
! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Byte512Vector.java
! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Byte64Vector.java
! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/ByteMaxVector.java
! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/ByteVector.java
! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Double128Vector.java
! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Double256Vector.java
! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Double512Vector.java
! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Double64Vector.java
! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/DoubleMaxVector.java
! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/DoubleVector.java
! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Float128Vector.java
! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Float256Vector.java
! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Float512Vector.java
! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Float64Vector.java
! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/FloatMaxVector.java
! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/FloatVector.java
! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Int128Vector.java
! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Int256Vector.java
! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Int512Vector.java
! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Int64Vector.java
! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/IntMaxVector.java
! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/IntVector.java
! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Long128Vector.java
! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Long256Vector.java
! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Long512Vector.java
! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Long64Vector.java
! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/LongMaxVector.java
! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/LongVector.java
! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Short128Vector.java
! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Short256Vector.java
! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Short512Vector.java
! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Short64Vector.java
! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/ShortMaxVector.java
! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/ShortVector.java
! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Vector.java
! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/VectorIntrinsics.java
! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/VectorShuffle.java
! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/X-Vector.java.template
! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/X-VectorBits.java.template
More information about the panama-dev
mailing list