RFR: 8292898: [vectorapi] Unify vector mask cast operation [v4]

Xiaohong Gong xgong at openjdk.org
Tue Sep 27 01:51:28 UTC 2022


On Mon, 26 Sep 2022 15:34:34 GMT, Jatin Bhateja <jbhateja at openjdk.org> wrote:

>> Xiaohong Gong has updated the pull request incrementally with one additional commit since the last revision:
>> 
>>   Add assertion to the elem num for mast cast
>
> src/hotspot/share/opto/vectorIntrinsics.cpp line 2547:
> 
>> 2545:       if (is_mask) {
>> 2546:         // Make sure that cast for vector mask is implemented to particular type/size combination.
>> 2547:         if (!arch_supports_vector(Op_VectorMaskCast, num_elem_to, elem_bt_to, VecMaskNotUsed)) {
> 
> Mask casting does involve loading of masks, hence we should be passing VecMaskUseLoad  instead of  VecMaskNotUsed,  I see that we are already querying target support for load/store mask nodes on Line#2439 but use of VecMaskUseAll looks stricter than needed.

`VecMaskUseAll` is fine to me since the final vector box may need to store mask if it is mask casting/reinterpreting. So since it has checked the load/store mask on Line#2439, do you think it needs to double check the load mask pattern here?

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

PR: https://git.openjdk.org/jdk/pull/10192


More information about the hotspot-compiler-dev mailing list