RFR: 8312425: [vectorapi] AArch64: Optimize vector math operations with SLEEF [v5]
Xiaohong Gong
xgong at openjdk.org
Tue Dec 5 07:24:42 UTC 2023
On Fri, 1 Dec 2023 16:36:18 GMT, Magnus Ihse Bursie <ihse at openjdk.org> wrote:
>> You need to expand this logic to cover more instances. See e.g. lib-ffi.m4 for inspiration.
>>
>> Basic flow:
>> * if user has specified libsleef root with argument, check both lib/ and lib64/ under that root.
>> * if user has not specified libsleef root, and we have no SYSROOT, try PKG_CHECK
>> * Otherwise, look in well-known directories which is $SYSROOT/usr/[local/]lib[64].
>
> also, ideally, you will add the corresponding specific overrides like in ffi:
>
> AC_ARG_WITH(libffi-include, [AS_HELP_STRING([--with-libffi-include],
> [specify directory for the libffi include files])])
> AC_ARG_WITH(libffi-lib, [AS_HELP_STRING([--with-libffi-lib],
> [specify directory for the libffi library])])
Thanks for the suggestion @magicus !
The check in current `lib-sleef.m4` is very common:
- If user has specified libsleef root by '--with-libsleef', we assume it is the manually built sleef lib. So only `lib/` and `include/` is checked. And the flags are set based on that path.
- If user has not specified the libsleef root, and no `SYSROOT` is set, we try `PKG_CHECK` (like what you suggested)
- Otherwise, check `sleef.h`
- We assume the sleef module is installed under one of the valid system paths if the header can be found. So just linking with `-lsleef` will success.
It's an issue in current flow like what @theRealAph met. I will add the options like `--with-libsleef-lib` and `--with-libsleef-include` like ffi. Regarding to extending the check for`--with-libsleef`, I think we can just make it simple like what it is now. Or, we have to check all the potential valid lib paths like `lib/`, `lib64/`, or maybe `lib/aarch64-linux-gnu`. The same to the `include` part. @theRealAph @magicus , WDYT?
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/16234#discussion_r1414980861
More information about the build-dev
mailing list