All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
- SVE target support is added to libsleef. shibatch#180
- SVE target support is added to DFT. With this patch, DFT operations can be carried out using 256, 512, 1024 and 2048-bit wide vectors according to runtime availability of vector registers and operators. shibatch#182
- 3.5-ULP versions of sinh, cosh, tanh, sinhf, coshf, tanhf, and the corresponding testing functionalities are added. shibatch#192
- Power VSX target support is added to libsleef. shibatch#195
- Payne-Hanek like argument reduction is added to libsleef. shibatch#197
- The whole build system of the project migrated from makefiles to
cmake. In particualr this includes
libsleef
,libsleefgnuabi
,libdft
and all the tests. - Benchmarks that compare
libsleef
vsSVML
on X86 Linux are available in the project tree under src/libm-benchmarks directory. - Extensive upstream testing via Travis CI and Appveyor, on the
following systems:
- OS: Windows / Linux / OSX.
- Compilers: gcc / clang / MSVC.
- Targets: X86 (SSE/AVX/AVX2/AVX512F), AArch64 (Advanced SIMD), ARM (NEON). Emulators like QEMU or SDE can be used to run the tests.
- Added the following new vector functions (with relative testing):
log2
- New compatibility tests have been added to check that
libsleefgnuabi
exports the GNUABI symbols correctly. - The library can be compiled to an LLVM bitcode object.
- Added masked interface to the library to support AVX512F masked vectorization.
- Use native instructions if available for
sqrt
. - Fixed fmax and fmin behavior on AArch64: shibatch#140
- Speed improvements for
asin
,acos
,fmod
andlog
. Computation speed of other functions are also improved by general optimization. shibatch#97 - Removed
libm
dependency.
- Makefile build system