[vectorIntrinsics+mask] RFR: 8270349: Initial X86 backend support for optimizing masking operations on AVX512 targets. [v8]
Jatin Bhateja
jbhateja at openjdk.java.net
Mon Aug 23 02:53:16 UTC 2021
On Thu, 19 Aug 2021 21:38:33 GMT, Sandhya Viswanathan <sviswanathan at openjdk.org> wrote:
>> 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:
>>
>> - 8270349: Jcheck error resolution (extra white space)
>> - Merge branch 'vectorIntrinsics+mask' of http://github.com/openjdk/panama-vector into JDK-8270349
>> - 8270349: Optimizing JIT sequence for alltrue/anytrue and maskAll operations.
>> - 8270349: Minor fix missed in last checkin.
>> - 8270349: Review comments resolution.
>> - 8270349: Review comments resolution.
>> - 8270349: Review comments resolution.
>> - Merge branch 'vectorIntrinsics+mask' of http://github.com/openjdk/panama-vector into JDK-8270349
>> - 8270349: Merge with latest vectorIntrinsics+mask tip + extend backend support for XorV,AndV,OrV and Compare masked operations.
>> - 8270349: Fix for 32-bit build failure.
>> - ... and 1 more: https://git.openjdk.java.net/panama-vector/compare/c1950c63...b001f939
>
> src/hotspot/cpu/x86/x86.ad line 7256:
>
>> 7254: predicate(UseAVX > 2 &&
>> 7255: (VM_Version::supports_avx512vl() ||
>> 7256: Matcher::vector_length_in_bytes(n->in(1)->in(1)) == 64) && // src1
>
> This doesn't look correct. This instruct sets vec dst, whereas with avx512vl kReg dst is expected.
> Should have been:
> !VM_Version::supports_avx512vl() &&
> vector_length_in_bytes(n->in(1)->in(1)) == 64 &&
Yes this new pattern was added specifically for 64 byte unsigned/signed comparisons (will apply to integral types only) for targets which do not support VL extensions.
-------------
PR: https://git.openjdk.java.net/panama-vector/pull/99
More information about the panama-dev
mailing list