[vectorIntrinsics+mask] RFR: 8266621: Add masking support for unary/ternary vector intrinsics

Xiaohong Gong xgong at openjdk.java.net
Wed May 19 03:44:12 UTC 2021


On Fri, 14 May 2021 16:40:47 GMT, Vladimir Ivanov <vlivanov at openjdk.org> wrote:

>> Similar with [1], this patch adds the masking support for `unary/ternary` vector intrinsics. It adds the mask information to the original intrinsic methods which are called both by masked and non-masked unary/ternary operations. For non-masked operations, the mask class and value are set to null.
>> 
>> Also change to use the `"binaryMaskedOp"` for vector mask logical operations instead of` "binaryOp"`. So that all the original nary intrinsics and hotspot implementation can be removed.
>> 
>> Note that this patch only contains the Vector API java implementation and the hotspot intrinsics changes. No compiler mid-end and backend implementations are included.
>> 
>> [1] https://bugs.openjdk.java.net/browse/JDK-8264563
>
> Overall, looks good.
> 
> 2 comments:
> * On naming: while browsing the patch and seeing `Masked` I constantly think about non-Masked counterpart. What about reusing `unaryOp`/`binaryOp`/`ternaryOp` names for the merged intrinsic?  
> 
> * Can you remind me what happens for SVML stubs when `mask != NULL`? Does the JVM reject the intrinsification? I believe the stubs don't support masked operation mode.

Hi @iwanowww , do you have any other comments for this PR? Can we merge this PR first and revisit the naming issue after then?

-------------

PR: https://git.openjdk.java.net/panama-vector/pull/80


More information about the panama-dev mailing list