-
Bug
-
Resolution: Fixed
-
P1
-
24
-
b20
-
x86_64
-
generic
-
Verified
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.
P.S. A redo issue is created as the original fix failed the build.
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.
P.S. A redo issue is created as the original fix failed the build.
- duplicates
-
JDK-8342440 [BACKOUT] Support two vector selectFrom API
-
- Closed
-
- relates to
-
JDK-8338023 Support two vector selectFrom API
-
- Closed
-
- links to
-
Commit(master) openjdk/jdk/d4f0ba73
-
Review(master) openjdk/jdk/21547