RFR: 8353786: Migrate Vector API math library support to FFM API [v5]

Xiaohong Gong xgong at openjdk.org
Fri Apr 18 01:48:51 UTC 2025


On Thu, 17 Apr 2025 18:08:21 GMT, Vladimir Ivanov <vlivanov at 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


More information about the hotspot-dev mailing list