RFR: 8312425: [vectorapi] AArch64: Optimize vector math operations with SLEEF [v4]

Andrew Haley aph at openjdk.org
Mon Nov 27 10:31:13 UTC 2023


On Mon, 27 Nov 2023 01:06:21 GMT, Xiaohong Gong <xgong at openjdk.org> wrote:

>> make/autoconf/lib-vmath.m4 line 94:
>> 
>>> 92:           # Check the ARM SVE feature
>>> 93:           SVE_CFLAGS="-march=armv8-a+sve"
>>> 94: 
>> 
>> What's this about? We're building a standard binary, and all SVE detection is to be deferred to runtime.
>
> We have to use this c-compiler option to build out the SVE ABIs (e.g. `svfloat32_t sinfx_u10sve(svfloat32_t input)`) in `libvmath.so`. Without this option, at build time, all the sve related featues like `arm_sve.h / __ARM_FEATURE_SVE` are missing, together with the sve symbols in `libvmath.so` we needed at runtime.  That means at runtime, hotspot cannot find out the sve symbols and the vector operations will fall back to the default java implementation.

That's fine, but we must make sure that SVE is not used by the compiler in any other places. If you've already built on non-SVE and tested the result on both SVE and non-SVE, I'm happy.

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

PR Review Comment: https://git.openjdk.org/jdk/pull/16234#discussion_r1405950723


More information about the build-dev mailing list