Re: RFR: 8271515: Integration of JEP 417: Vector API (Third Incubator) [v8]
On Thu, 4 Nov 2021 15:56:46 GMT, Paul Sandoz wrote: >> 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 incrementally with two additional > commits since the last revision: > > - 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 Marked as reviewed by ngasson (Reviewer). - PR: https://git.openjdk.java.net/jdk/pull/5873
Re: RFR: 8271515: Integration of JEP 417: Vector API (Third Incubator) [v8]
> 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 incrementally with two additional commits since the last revision: - 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 - Changes: - all: https://git.openjdk.java.net/jdk/pull/5873/files - new: https://git.openjdk.java.net/jdk/pull/5873/files/c9a77225..571e6f39 Webrevs: - full: https://webrevs.openjdk.java.net/?repo=jdk=5873=07 - incr: https://webrevs.openjdk.java.net/?repo=jdk=5873=06-07 Stats: 40 lines in 2 files changed: 22 ins; 4 del; 14 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