RFR: 8367292: VectorAPI: Optimize VectorMask.fromLong/toLong() for SVE [v2]
    Emanuel Peter 
    epeter at openjdk.org
       
    Thu Oct 23 10:53:07 UTC 2025
    
    
  
On Thu, 23 Oct 2025 09:52:10 GMT, Xiaohong Gong <xgong at openjdk.org> wrote:
>> Hi @XiaohongGong I am a bit confused with this condition here - 
>> 
>> `mask_vec->bottom_type()->isa_vectmask() == nullptr`
>> 
>> So this means that `mask_vec` is not of type `TypeVectMask` right? Which means it is not a vector predicate/mask type? Then how can the `VectorStoreMaskNode` convert mask_vec predicate to a packed vector?
>
> Yes, this means the mask is a type of `TypeVect`. This just happens on architectures that do not support the predicate feature like NEON. On these architectures, `VectorStoreMaskNode` will convert the unpacked vector to a packed one. Some vector mask operations' implementation works on the packed mask layout on these architectures.
@XiaohongGong thanks for all he explanations. From what you say, it seems that `vector_mask_must_be_packed` is good.
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/27481#discussion_r2454698901
    
    
More information about the hotspot-compiler-dev
mailing list