RFR: 8271515: Integration of JEP 417: Vector API (Third Incubator) [v10]
Paul Sandoz
psandoz at openjdk.java.net
Thu Nov 11 21:44:53 UTC 2021
> This PR improves the performance of vector operations that accept masks on architectures that support masking in hardware, specifically Intel AVX512 and ARM SVE.
>
> On architectures that do not support masking in hardware the same technique as before is applied to most operations, specifically composition using blend.
>
> Masked loads/stores are a special form of masked operation that require additional care to ensure out-of-bounds access throw exceptions. The range checking has not been fully optimized and will require further work.
>
> No API enhancements were required and only a few additional tests were needed.
Paul Sandoz has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains 16 commits:
- Merge branch 'master' into JDK-8271515-vector-api
- Add missing null check post mask unboxing.
- Merge pull request #2 from nsjian/vector-conversion-fix
AArch64: Incorrect SVE double to int and float to long vector conversion
- Incorrect double to int and float to long vector conversion
Like JDK-8276151, SVE vector double to int and float to long
conversions have similar issue. According to Java language
specification [1], we should convert double/float to
integer/long directly, instead of converting to long/int and then
narrowing/extending to target types. Test cases will be updated in
JDK-8276151.
[1] https://docs.oracle.com/javase/specs/jls/se17/html/jls-5.html#jls-5.1.3
- Merge branch 'master' into JDK-8271515-vector-api
- Merge pull request #1 from nsjian/JDK-8271515
Address AArch64 review comments from Nick.
- Address review comments from Nick.
- Merge branch 'master' into JDK-8271515-vector-api
- Resolve review comments.
- Merge branch 'master' into JDK-8271515-vector-api
- ... and 6 more: https://git.openjdk.java.net/jdk/compare/6f35eede...44697f8b
-------------
Changes: https://git.openjdk.java.net/jdk/pull/5873/files
Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=5873&range=09
Stats: 21982 lines in 104 files changed: 16217 ins; 2087 del; 3678 mod
Patch: https://git.openjdk.java.net/jdk/pull/5873.diff
Fetch: git fetch https://git.openjdk.java.net/jdk pull/5873/head:pull/5873
PR: https://git.openjdk.java.net/jdk/pull/5873
More information about the core-libs-dev
mailing list