[vectorIntrinsics+mask] RFR: 8264563: Add masked vector intrinsics for binary/store operations [v5]

Xiaohong Gong xgong at openjdk.java.net
Mon Apr 19 01:43:46 UTC 2021


On Fri, 16 Apr 2021 15:19:47 GMT, Jatin Bhateja <jbhateja at openjdk.org> wrote:

>> Xiaohong Gong has updated the pull request incrementally with one additional commit since the last revision:
>> 
>>   Remove null checking for the mask argument in API implementation
>
> src/hotspot/share/classfile/vmIntrinsics.hpp line 819:
> 
>> 817:    do_signature(vector_binary_op_sig, "(ILjava/lang/Class;Ljava/lang/Class;ILjava/lang/Object;Ljava/lang/Object;"                              \
>> 818:                                        "Ljava/util/function/BiFunction;)Ljava/lang/Object;")                                                   \
>> 819:    do_name(vector_binary_op_name,     "binaryOp")                                                                                              \
> 
> Since VectorSupport.binaryMaskOp is the main intrinsic routine are these bindings for VectorSupport.binaryOp still valid

I think this is not used anymore. I didn't do any cleanup, since currently unary/ternary still use the old version. We can do the cleanup together with unary/ternary in future.

> src/hotspot/share/opto/library_call.cpp line 633:
> 
>> 631:     return inline_vector_nary_operation(1);
>> 632:   case vmIntrinsics::_VectorBinaryOp:
>> 633:     return inline_vector_nary_operation(2);
> 
> Can't we merge this with masked version ?

Yes, this will be merge with the masked version in future. Since I didn't add the codes for unary/ternary operations, I choose this to be leaved as it is. We can remove it after all opcodes for unary/ternary are supported.

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

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


More information about the panama-dev mailing list