On Thu, 17 Apr 2025 18:08:21 GMT, Vladimir Ivanov <vliva...@openjdk.org> wrote:

>> Please see the `addr` definition code in 
>> https://github.com/openjdk/jdk/blob/master/src/hotspot/share/opto/vectorIntrinsics.cpp#L1877
>>  . If queried `addr` returns `nullptr` for 256-bit vectors, and the arch 
>> supports scalable vector, then the `addr` will be assigned to the scalable 
>> ones.
>
> Ah, ok. Thanks for the pointer. I aligned lookup logic with existing 
> behavior. 
> 
> I'd like to double-check one things: is it fine to use scalable vector 
> variants for fixed-sized vector shapes of smaller size without any explicit 
> masking/stripping of upper vector part?

Yes, it's fine for lanewise oeprations. For others like cross-lanes, stores and 
other operations, we will generate a predicate to strip the upper vector part. 
The op list that need the masking are listed here: 
https://github.com/openjdk/jdk/blob/master/src/hotspot/cpu/aarch64/aarch64_vector.ad#L280

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

PR Review Comment: https://git.openjdk.org/jdk/pull/24462#discussion_r2049872110

Reply via email to