< prev index next >

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

Print this page




 245     }
 246 
 247     /* ============================================================================ */
 248 
 249     interface VectorCompareOp<V,M> {
 250         M apply(V v1, V v2);
 251     }
 252 
 253     @HotSpotIntrinsicCandidate
 254     static <V extends Vector<E,S>,
 255             M extends Vector.Mask<E,S>,
 256             S extends Vector.Shape, E>
 257     M compare(int cond, Class<V> vectorClass, Class<M> maskClass, Class<?> elementType, int length,
 258               V v1, V v2,
 259               VectorCompareOp<V,M> defaultImpl) {
 260         return defaultImpl.apply(v1, v2);
 261     }
 262 
 263     /* ============================================================================ */
 264 



















 265     interface VectorBlendOp<V extends Vector<E,S>,
 266                             M extends Vector.Mask<E,S>,
 267                             S extends Vector.Shape, E> {
 268         V apply(V v1, V v2, M mask);
 269     }
 270 
 271     @HotSpotIntrinsicCandidate
 272     static
 273     <V extends Vector<E,S>,
 274      M extends Vector.Mask<E,S>,
 275      S extends Vector.Shape, E>
 276     V blend(Class<V> vectorClass, Class<M> maskClass, Class<?> elementType, int length,
 277             V v1, V v2, M m,
 278             VectorBlendOp<V,M,S,E> defaultImpl) {
 279         return defaultImpl.apply(v1, v2, m);
 280     }
 281 
 282     /* ============================================================================ */
 283 
 284     interface VectorBroadcastIntOp<V extends Vector<?,?>> {




 245     }
 246 
 247     /* ============================================================================ */
 248 
 249     interface VectorCompareOp<V,M> {
 250         M apply(V v1, V v2);
 251     }
 252 
 253     @HotSpotIntrinsicCandidate
 254     static <V extends Vector<E,S>,
 255             M extends Vector.Mask<E,S>,
 256             S extends Vector.Shape, E>
 257     M compare(int cond, Class<V> vectorClass, Class<M> maskClass, Class<?> elementType, int length,
 258               V v1, V v2,
 259               VectorCompareOp<V,M> defaultImpl) {
 260         return defaultImpl.apply(v1, v2);
 261     }
 262 
 263     /* ============================================================================ */
 264 
 265     interface VectorRearrangeOp<V extends Vector<E,S>,
 266                             Sh extends Vector.Shuffle<E,S>,
 267                             S extends Vector.Shape, E> {
 268         V apply(V v1, Sh shuffle);
 269     }
 270 
 271     @HotSpotIntrinsicCandidate
 272     static
 273     <V extends Vector<E,S>,
 274      Sh extends Vector.Shuffle<E,S>,
 275      S extends Vector.Shape, E>
 276     V rearrangeOp(Class<V> vectorClass, Class<Sh> shuffleClass, Class<?> elementType, int vlen,
 277             V v1, Sh sh,
 278             VectorRearrangeOp<V,Sh,S,E> defaultImpl) {
 279         return defaultImpl.apply(v1, sh);
 280     }
 281 
 282     /* ============================================================================ */
 283 
 284     interface VectorBlendOp<V extends Vector<E,S>,
 285                             M extends Vector.Mask<E,S>,
 286                             S extends Vector.Shape, E> {
 287         V apply(V v1, V v2, M mask);
 288     }
 289 
 290     @HotSpotIntrinsicCandidate
 291     static
 292     <V extends Vector<E,S>,
 293      M extends Vector.Mask<E,S>,
 294      S extends Vector.Shape, E>
 295     V blend(Class<V> vectorClass, Class<M> maskClass, Class<?> elementType, int length,
 296             V v1, V v2, M m,
 297             VectorBlendOp<V,M,S,E> defaultImpl) {
 298         return defaultImpl.apply(v1, v2, m);
 299     }
 300 
 301     /* ============================================================================ */
 302 
 303     interface VectorBroadcastIntOp<V extends Vector<?,?>> {


< prev index next >