[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