sleef

SIMD Library for Evaluating Elementary Functions, vectorized libm and DFT

Latest version: 3.9.0

Add to xmake.lua

add_requires("sleef 3.9.0")

Learn how to add and link packages with Xmake →

Information

License
BSL-1.0
Recipe updated
2026-06-28T11:18:56.000Z

Platforms

  • android: armeabi, armeabi-v7a, arm64-v8a, riscv64, x86, x86_64, mips, mip64
  • msys: i386, x86_64
  • mingw: i386, x86_64, arm, arm64
  • windows: x86, x64, arm, arm64, arm64ec
  • linux: i386, x86_64, armv7, armv7s, arm64, mips, mips64, mipsel, mips64el, loong64, riscv64, s390x, ppc, ppc64, ppc64el, sparc64
  • bsd: i386, x86_64, arm, arm64, ppc, ppc64, ppc64el, riscv64, sparc64
  • harmony: armeabi-v7a, arm64-v8a, x86, x86_64
  • cross: i386, x86_64, arm, armv7, arm64, mips, mips64, mips64el, riscv, riscv64, loong64, s390x, ppc, ppc64, ppc64el, sh4, sparc64
  • wasm: wasm32, wasm64
  • iphoneos: arm64, x86_64
  • macosx: x86_64, arm64

Options

altdiv
Enable alternative division method (AArch64 only) · Type: boolean · Default: false
altsqrt
Enable alternative sqrt method (AArch64 only) · Type: boolean · Default: false
asan
Enable address sanitizing on all targets. · Type: boolean · Default: false
avx
AVX support · Type: boolean · Default: true
avx2
AVX2 support · Type: boolean · Default: true
avx512f
AVX512F support · Type: boolean · Default: true
cuda
Enable CUDA · Type: boolean · Default: false
dft
Build libsleefdft · Type: boolean · Default: false
dft_stream
Utilize streaming instructions in DFT · Type: boolean · Default: false
float128
Enable float128 support · Type: boolean · Default: true
fma4
FMA4 support · Type: boolean · Default: true
gnuabi
Build libsleefgnuabi · Type: boolean · Default: true
inline_headers
Build header for inlining whole SLEEF functions · Type: boolean · Default: false
libm
build libsleef with libm, can turn off on Windows to solve mutiple math functions issue · Type: boolean · Default: true
lto
Enable LTO on GCC or ThinLTO on clang · Type: boolean · Default: false
openmp
Enable OpenMP · Type: boolean · Default: true
quad
Build libsleefquad · Type: boolean · Default: false
rvvm1
RVVM1 support · Type: boolean · Default: true
rvvm2
RVVM2 support · Type: boolean · Default: true
scalar
Build libsleefscalar · Type: boolean · Default: false
show_config
Show SLEEF configuration status messages · Type: boolean · Default: true
sse2
SSE2 support · Type: boolean · Default: true
sse4
SSE4 support · Type: boolean · Default: true
sve
SVE support · Type: boolean · Default: true
vsx
VSX support · Type: boolean · Default: true
vsx3
VSX3 support · Type: boolean · Default: true
vxe
VXE support · Type: boolean · Default: true
vxe2
VXE2 support · Type: boolean · Default: true

Versions

  • 3.9.0

Dependencies

Install with xrepo

Install the package independently of a project and inspect its available configuration.

install

xrepo install "sleef 3.9.0"

show info

xrepo info "sleef"

Link a library to your target

Declare the requirement, then attach the library to the target that uses it.

xmake.lua

add_requires("sleef 3.9.0")

target("demo")
    set_kind("binary")
    add_files("src/*.cpp")
    add_packages("sleef")

Open a package environment

Open a shell with the environment exported by this package. Use the executable names documented by the package.

enter shell

xrepo env -b "sleef 3.9.0" shell