RFR: 8284960: Integration of JEP 426: Vector API (Fourth Incubator) [v3]
Jatin Bhateja
jbhateja at openjdk.java.net
Tue May 10 12:48:25 UTC 2022
> Hi All,
>
> Patch adds the planned support for new vector operations and APIs targeted for [JEP 426: Vector API (Fourth Incubator).](https://bugs.openjdk.java.net/browse/JDK-8280173)
>
> Following is the brief summary of changes:-
>
> 1) Extends the scope of existing lanewise API for following new vector operations.
> - VectorOperations.BIT_COUNT: counts the number of one-bits
> - VectorOperations.LEADING_ZEROS_COUNT: counts the number of leading zero bits
> - VectorOperations.TRAILING_ZEROS_COUNT: counts the number of trailing zero bits
> - VectorOperations.REVERSE: reversing the order of bits
> - VectorOperations.REVERSE_BYTES: reversing the order of bytes
> - compress and expand bits: Semantics are based on Hacker's Delight section 7-4 Compress, or Generalized Extract.
>
> 2) Adds following new APIs to perform cross lane vector compress and expansion operations under the influence of a mask.
> - Vector.compress
> - Vector.expand
> - VectorMask.compress
>
> 3) Adds predicated and non-predicated versions of following new APIs to load and store the contents of vector from foreign MemorySegments.
> - Vector.fromMemorySegment
> - Vector.intoMemorySegment
>
> 4) C2 Compiler IR enhancements and optimized X86 and AARCH64 backend support for each newly added operation.
>
>
> Patch has been regressed over AARCH64 and X86 targets different AVX levels.
>
> Kindly review and share your feedback.
>
> Best Regards,
> Jatin
Jatin Bhateja has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains 11 commits:
- Merge branch 'master' of http://github.com/openjdk/jdk into JDK-8284960
- 8284960: Correcting a typo.
- 8284960: Integrating changes from panama-vector (Add @since 19 tags).
- Merge branch 'master' of http://github.com/openjdk/jdk into JDK-8284960
- Merge branch 'master' of http://github.com/openjdk/jdk into JDK-8284960
- Merge branch 'master' of http://github.com/openjdk/jdk into JDK-8284960
- 8284960: AARCH64 backend changes.
- Merge branch 'master' of http://github.com/openjdk/jdk into JDK-8284960
- Merge branch 'master' of http://github.com/openjdk/jdk into JDK-8284960
- Merge branch 'master' of http://github.com/openjdk/jdk into JDK-8284960
- ... and 1 more: https://git.openjdk.java.net/jdk/compare/3fa1c404...b021e082
-------------
Changes: https://git.openjdk.java.net/jdk/pull/8425/files
Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=8425&range=02
Stats: 37901 lines in 214 files changed: 16527 ins; 16924 del; 4450 mod
Patch: https://git.openjdk.java.net/jdk/pull/8425.diff
Fetch: git fetch https://git.openjdk.java.net/jdk pull/8425/head:pull/8425
PR: https://git.openjdk.java.net/jdk/pull/8425
More information about the hotspot-compiler-dev
mailing list