[vectorIntrinsics+mask] RFR: 8270349: Initial X86 backend support for optimizing masking operations on AVX512 targets. [v2]
Sandhya Viswanathan
sviswanathan at openjdk.java.net
Thu Aug 12 17:01:42 UTC 2021
On Thu, 12 Aug 2021 11:27:42 GMT, Jatin Bhateja <jbhateja at openjdk.org> wrote:
>> src/hotspot/cpu/x86/assembler_x86.cpp line 7569:
>>
>>> 7567: }
>>> 7568:
>>> 7569: void Assembler::evpxord(XMMRegister dst, KRegister mask, XMMRegister nds, Address src, bool merge, int vector_len) {
>>
>> Most of the added instruction are very similar. Lot of duplication of code. Could be modularized for easy maintenance and review.
>
> These are leaf level routines and existing assembler were lacking masked variants of these routines. Further re-factoring may complexify things.
Sounds good.
>> src/hotspot/cpu/x86/assembler_x86.cpp line 9000:
>>
>>> 8998: }
>>> 8999:
>>> 9000: void Assembler::evppermd(XMMRegister dst, KRegister mask, XMMRegister nds, Address src, bool merge, int vector_len) {
>>
>> This should be evpermd.
>
> evp is chosen as prefix in all the masked assemble routines. (evex + vector + packed)
ev is the prefix and evp.
-------------
PR: https://git.openjdk.java.net/panama-vector/pull/99
More information about the panama-dev
mailing list