RFR: 8367292: VectorAPI: Optimize VectorMask.fromLong/toLong() for SVE [v2]
    Xiaohong Gong 
    xgong at openjdk.org
       
    Thu Oct 23 07:25:06 UTC 2025
    
    
  
On Thu, 23 Oct 2025 07:21:02 GMT, Xiaohong Gong <xgong at openjdk.org> wrote:
>> I'm wondering if the name `VectorStoreMaskNode` is even very good. Is it about storing a mask, or a mask for storing? But is it really limited to storing things, or could it also be for loads? Or is it rather a conversion?
>
> `VectorStoreMask` is a opposite operation of `VectorLoadMask`. We can treat it as a layout conversion for a vector mask. It is used to convert a vector mask (either a unpacked vector or a predicate) to a packed vector status (i.e. 8-bit element size). Because, in Java API, elements of a `VectorMask` is stored into a boolean array.
> if (Matcher::vector_mask_must_be_packed_vector(mopc, mask_vec->bottom_type()->is_vect())) {
>     mask_vec = gvn().transform(VectorStoreMaskNode::make(gvn(), mask_vec, elem_bt, num_elem));
>   }
Is the function name `vector_mask_must_be_packed` fine to you? This looks smarter to me.
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/27481#discussion_r2454169830
    
    
More information about the hotspot-compiler-dev
mailing list