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

Xiaohong Gong xgong at openjdk.java.net
Wed Apr 7 09:17:31 UTC 2021


On Tue, 6 Apr 2021 22:29:35 GMT, Sandhya Viswanathan <sviswanathan at openjdk.org> wrote:

>> Xiaohong Gong has updated the pull request incrementally with one additional commit since the last revision:
>> 
>>   Revert changes of register allocation and new added mask IRs
>
> src/jdk.incubator.vector/share/classes/jdk/incubator/vector/X-Vector.java.template line 823:
> 
>> 821:         if (opKind(op, VO_SHIFT) && ($type$)(int)e == e) {
>> 822:             $abstractvectortype$ shift = lanewiseShift(op, (int) e);
>> 823:             return m != null ? blend(shift, m) : shift;
> 
> Checking for m!=null would cause boxing here.

Since I didn't add the masked intrinisic version for `broadcastInt` that is called by `lanewiseShift`. I think it can be fixed with the same solution for other binary `lanewise`. Once the masked `broadcastInt` is added, the code might look like:
   if (opKind(op, VO_SHIFT) && ($type$)(int)e == e) {
         return lanewiseShift(op, (int) e, m);
   }

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

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


More information about the panama-dev mailing list