RFR: 8353217: Build libsleef on macos-aarch64

Vladimir Ivanov vlivanov at openjdk.org
Mon Mar 31 21:57:07 UTC 2025


On Mon, 31 Mar 2025 12:27:23 GMT, Magnus Ihse Bursie <ihse at openjdk.org> wrote:

>> Build and use SLEEF library as a backend implementation for Vector API trigonometric functions on macosx-aarch64 platform.
>> 
>> It improves raw throughput and eliminates GC overhead of non-intrinsified Vector API operation.
>> 
>> PR includes build changes and libsleef sources relocation from `src/jdk.incubator.vector/linux/native/` to `src/jdk.incubator.vector/share/native/`.
>> 
>> Once libsleef library is present, existing code in `stubGenerator_aarch64.cpp` successfully links at JVM startup. 
>> 
>> Testing: hs-tier1 - hs-tier4, microbenchmarks
>
> Instead of trying to guide you how to fix this, I made the unification of all libsleef stanzas myself. It is available here:
> 
> https://github.com/openjdk/jdk/commit/04feadda561b2f7a6afff440ab5b4e188361c048
> 
> That commit assumes that `vector_math_sve.c`  should have `$(SVE_CFLAGS)` on mac as well as on linux. If that is not correct, then it needs to be adjusted.

Thanks a lot, @magicus!

> That commit assumes that vector_math_sve.c should have $(SVE_CFLAGS) on mac as well as on linux. If that is not correct, then it needs to be adjusted.

As of now, Apple Silicon doesn't support SVE/SVE2, so I intentionally excluded SVE support on macosx-aarch64. What would be the best way to exclude `vector_math_sve.c` on macosx-aarch64?

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

PR Comment: https://git.openjdk.org/jdk/pull/24306#issuecomment-2767501215


More information about the hotspot-dev mailing list