Support following new vector permutation API:-
Declaration:-
Vector<E>.selectFrom(Vector<E> v1, Vector<E> v2)
Semantics:-
Using index values stored in the lanes of this vector, assemble values stored in first (v1) and second (v2) vector arguments. Thus, first and second vector serves as a table, whose elements are selected by indexes in the current vector. API is applicable to all integral and floating-point types. The result of this operation is semantically equivalent to expression v1.rearrange(this.toShuffle(), v2). Values held in index vector lanes must lie within valid two vector index range [0, 2*VLEN) else API throws an IndexOutOfBoundException.
Add necessary Java side implementation, C2 compiler IR and inline expander, in absence of direct two vector permutation instruction in target ISA, a lowering transformation dismantles new IR into constituent IR supported by target platforms.
Optimized x86 backend implementation for AVX512 and legacy targets.
Declaration:-
Vector<E>.selectFrom(Vector<E> v1, Vector<E> v2)
Semantics:-
Using index values stored in the lanes of this vector, assemble values stored in first (v1) and second (v2) vector arguments. Thus, first and second vector serves as a table, whose elements are selected by indexes in the current vector. API is applicable to all integral and floating-point types. The result of this operation is semantically equivalent to expression v1.rearrange(this.toShuffle(), v2). Values held in index vector lanes must lie within valid two vector index range [0, 2*VLEN) else API throws an IndexOutOfBoundException.
Add necessary Java side implementation, C2 compiler IR and inline expander, in absence of direct two vector permutation instruction in target ISA, a lowering transformation dismantles new IR into constituent IR supported by target platforms.
Optimized x86 backend implementation for AVX512 and legacy targets.
- csr for
- 
                    JDK-8340338 Support two vector selectFrom API -           
- Closed
 
-         
- relates to
- 
                    JDK-8342439 Build failure after 8338023 -           
- Closed
 
-         
- 
                    JDK-8348868 AArch64: Add backend support for SelectFromTwoVector -           
- Resolved
 
-         
- links to
- 
                     Commit(master)
        openjdk/jdk/709914fc Commit(master)
        openjdk/jdk/709914fc
- 
                     Review(master)
        openjdk/jdk/20508 Review(master)
        openjdk/jdk/20508