--- old/src/jdk.incubator.vector/share/classes/jdk/incubator/vector/VectorIntrinsics.java 2019-05-14 07:09:41.068514165 +0530 +++ new/src/jdk.incubator.vector/share/classes/jdk/incubator/vector/VectorIntrinsics.java 2019-05-14 07:09:40.832514159 +0530 @@ -101,6 +101,33 @@ } /* ============================================================================ */ + interface ShuffleIotaOperation { + VectorShuffle apply(int step, int length); + } + + @HotSpotIntrinsicCandidate + static + + VectorShuffle shuffleIota(Class E, Class ShuffleClass, VectorSpecies s, int length, + int step, ShuffleIotaOperation defaultImpl) { + assert isNonCapturingLambda(defaultImpl) : defaultImpl; + return defaultImpl.apply(step, length); + } + + interface ShuffleToVectorOperation { + VM apply(Sh s); + } + + @HotSpotIntrinsicCandidate + static + , E> + VM shuffleToVector(Class VM, ClassE , Class ShuffleClass, Sh s, int length, + ShuffleToVectorOperation defaultImpl) { + assert isNonCapturingLambda(defaultImpl) : defaultImpl; + return defaultImpl.apply(s); + } + + /* ============================================================================ */ @HotSpotIntrinsicCandidate static