Skip to content

v26.07

Latest

Choose a tag to compare

@blapie blapie released this 29 Jul 15:28
v26.07
4be260a

This release expands vectorised special-case handling across math
routines, adds a correctly rounded AdvSIMD expf and baseline AdvSIMD
lgamma implementations, broadens string/ with new scalar memchr/memset
helpers and SVE2 strchr support, and fixes fp/ double-precision division
underflow handling. It also improves SVE exponential special-case
handling, refreshes math/string benchmark infrastructure, and tidies
shared interfaces. It also fixes SVE cross-lane correctness issues in
several math routines.

Main AOR directory

Change

  • Update compilers from gcc 14 -> 16 and clang 20 -> 22, and distro Ubuntu 24 -> 26.
  • Add math maintainer

fp/

Change

  • Fix underflow handling in ddiv.

math/

Add

  • aarch64/advsimd: Implement correctly rounded expf.
  • aarch64/advsimd: Add baseline loop-over-scalar lgamma and lgammaf implementations.
  • aarch64/advsimd and sve: Add shared fallback and special-case helper for trig and exponential routines.

Change

  • aarch64/sve: Fix cross-lane interactions in acosh, exp2f, log1p(f), pow(f), and tanf.
  • aarch64/sve: Improve fp32 and fp64 exponential special-case handling for accuracy and performance.
  • aarch64/advsimd and sve: Rework sin/cos/sincos/cexpi(f) to use new vectorised fallback paths.
  • aarch64/advsimd and sve: Vectorise or optimise special-case handling for asinh/acosh/atanh/hypot, log/log2/log10/log1p, and exp/exp2/exp10/expm1/hyperbolic routines.
  • math: Move common pow/powf helpers into shared headers and tidy mathlib/ULP naming.

string/

Add

  • Add scalar _arm_sc* implementations, including memchr and memset.
  • Add SVE2 infrastructure and an SVE2 strchr implementation with optimizations.

Change

  • Improve memchr and memset for 64-byte lengths.
  • Increase benchmark iterations and rename benchmark iteration constants.

Full Changelog: v26.01...v26.07