[PATCH v4 2/2] Enable libmvec support for AArch64

Szabolcs Nagy szabolcs.nagy@arm.com
Wed Apr 12 12:55:53 GMT 2023


The 04/11/2023 17:08, Joe Ramsay via Libc-alpha wrote:
> This patch enables libmvec on AArch64. The proposed change is mainly
> implementing build infrastructure to add the new routines to ABI,
> tests and benchmarks. I have demonstrated how this all fits together
> by adding implementations for vector cos, in both single and double
> precision, targeting both Advanced SIMD and SVE.
> 
> The implementations of the routines themselves are just loops over the
> scalar routine from libm for now, as we are more concerned with
> getting the plumbing right at this point. We plan to contribute vector
> routines from the Arm Optimized Routines repo that are compliant with
> requirements described in the libmvec wiki.
> 
> Building libmvec requires minimum GCC 10 for SVE ACLE. To avoid raising
> the minimum GCC by such a big jump, we allow users to disable libmvec
> if their compiler is too old.
> 
> Note that at this point users have to manually call the vector math
> functions. This seems to be acceptable to some downstream users.
> 
> ---
> 
> Changes from v3:
>  * Remove unused libm-test-ulps-name
> 
> Thanks,
> Joe

this version looks good to me.

but i think we should add a NEWS entry along the lines of

* Added libmvec vector math library support to AArch64.  It requires
  GCC version >= 10.1.0.  It can be disabled via --disable-mathvec,
  however that is not a supported configuration as it changes the ABI.
  The symbol names follow the AArch64 vector ABI, they are declared
  in math.h and have to be called manually at this point.

please prepare another patch with NEWS update.

later on when we add new API/ABI symbols we should list them
in this NEWS entry too.

thanks.


More information about the Libc-alpha mailing list