[vectorIntrinsics+mask] RFR: 8270349: Initial X86 backend support for optimizing masking operations on AVX512 targets. [v3]
Sandhya Viswanathan
sviswanathan at openjdk.java.net
Fri Aug 13 00:30:36 UTC 2021
On Thu, 12 Aug 2021 18:49:21 GMT, Jatin Bhateja <jbhateja at openjdk.org> wrote:
>> src/hotspot/cpu/x86/macroAssembler_x86.cpp line 8212:
>>
>>> 8210: case T_BOOLEAN:
>>> 8211: case T_BYTE:
>>> 8212: kandbl(dst, src1, src2);
>>
>> Is the type here the vector element type? Is so, for byte vector we need kandql. For short kanddl. For int kandwl, For long kandbl.
>
> No its not vector type. From the instruction side always T_LONG basic type is passed. TypeVectMask is vector of booleans. We can use vector length to emit shorter instructions , but efficiency wise its wont be different to doing an operation over entire opmask register.
"uint masklen" would be a better argument instead of "BasicType type". Similar to your other mask operation instructions like alltrue, anytrue, kortest below.
-------------
PR: https://git.openjdk.java.net/panama-vector/pull/99
More information about the panama-dev
mailing list