On Wed, 27 Oct 2021 21:42:29 GMT, Paul Sandoz <psan...@openjdk.org> 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 with a new target base due to a > merge or a rebase. The pull request now contains 12 commits: > > - 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 > - Apply patch from https://github.com/openjdk/panama-vector/pull/152 > - Apply patch from https://github.com/openjdk/panama-vector/pull/142 > - Apply patch from https://github.com/openjdk/panama-vector/pull/139 > - Apply patch from https://github.com/openjdk/panama-vector/pull/151 > - ... and 2 more: > https://git.openjdk.java.net/jdk/compare/9a3e9542...c9a77225 src/hotspot/cpu/aarch64/aarch64_sve_ad.m4 line 2349: > 2347: BasicType to_bt = Matcher::vector_element_basic_type(this); > 2348: Assembler::SIMD_RegVariant to_size = __ > elemType_to_regVariant(to_bt); > 2349: __ sve_fcvtzs(as_FloatRegister($dst$$reg), __ D, ptrue, > as_FloatRegister($src$$reg), __ D); Converting from double to long and then narrow to target types did not follow JLS. I will fix it. Thanks to @fg1417 for helping to find out this issue. ------------- PR: https://git.openjdk.java.net/jdk/pull/5873