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