< prev index next >

src/jdk.incubator.vector/share/classes/jdk/incubator/vector/VectorIntrinsics.java

Print this page

        

*** 99,108 **** --- 99,135 ---- assert isNonCapturingLambda(defaultImpl) : defaultImpl; return defaultImpl.broadcast(bits, s); } /* ============================================================================ */ + interface ShuffleIotaOperation<E> { + VectorShuffle<E> apply(int step, int length); + } + + @HotSpotIntrinsicCandidate + static + <E> + VectorShuffle<E> shuffleIota(Class<?> E, Class<?> ShuffleClass, VectorSpecies<E> s, int length, + int step, ShuffleIotaOperation<E> defaultImpl) { + assert isNonCapturingLambda(defaultImpl) : defaultImpl; + return defaultImpl.apply(step, length); + } + + interface ShuffleToVectorOperation<VM, Sh, E> { + VM apply(Sh s); + } + + @HotSpotIntrinsicCandidate + static + <VM ,Sh extends VectorShuffle<E>, E> + VM shuffleToVector(Class<?> VM, Class<?>E , Class<?> ShuffleClass, Sh s, int length, + ShuffleToVectorOperation<VM,Sh,E> defaultImpl) { + assert isNonCapturingLambda(defaultImpl) : defaultImpl; + return defaultImpl.apply(s); + } + + /* ============================================================================ */ @HotSpotIntrinsicCandidate static <V extends Vector<?>> long reductionCoerced(int oprId, Class<?> vectorClass, Class<?> elementType, int length,
< prev index next >