Skip to content
  1. Feb 14, 2024
  2. Feb 09, 2024
  3. Feb 08, 2024
  4. Feb 07, 2024
  5. Jan 25, 2024
  6. Jan 24, 2024
  7. Jan 15, 2024
  8. Jan 10, 2024
  9. Jan 09, 2024
  10. Jan 08, 2024
  11. Dec 13, 2023
    • Joe Ramsay's avatar
      Support parallel builds with make (#491) · ba403c0e
      Joe Ramsay authored
      Individual COMMANDS in define_custom_command are not guaranteed to
      execute sequentially, meaning that the inline headers may be broken if
      doing a parallel build with make. Each command is extracted into its
      own custom_command (some are merged, such as subsequent sed calls) so
      that CMake can properly make sense of the dependencies and generate
      consistent headers in parallel.
      
      * Atomise creation of inline header, alias, dispscalar, simd disp, sleefquad header and build
      * Reuse existing atomic inline libm header generation for CUDA
      
      Now that custom_commands are atomic, parallel builds should be
      supported with make.
      
      * Use CMake cat instead of shell cat
      
      This requires minimum CMake 3.18, which is not particularly
      recent. This provides a better cross-platform way of concatenating
      files.
      ba403c0e
  12. Dec 12, 2023
  13. Dec 08, 2023
  14. Nov 21, 2023
  15. Nov 20, 2023
    • Ludovic Henry's avatar
      Integrate RISC-V support (#477) · cea44342
      Ludovic Henry authored
      
      
      * Add support for the RISC-V Vector ISA
      - RISC-V V 1.0 with (latest) intrinsics >=0.12.
      - Enable bit manip extensions on RISC-V.
      - Add RVVM*NOFMA configurations for determinism/bit-reproducibility across all architectures.
      
      * Not supported yet
      - DFT, QUAD, and GNUABI.
      - Only upcoming versions of gcc (14+) have support for latest intrinsics. Will be supported when available in release version of gcc.
      
      * CI Updates
      - Add riscv64 CI on GitHub Actions.
      - Add gcc (11 - #483) and llvm (17) builds on all architectures.
      - Disable a few failing test variants, tracked in #484 and #485.
      - Use same compiler versions across all builds.
      - Add sysroot for dependencies.
      - Nit: Reorder build-cross targets to group gcc/llvm per-arch together.
      
      ---------
      
      Co-authored-by: default avatarGlassOfWhiskey <iacopo.c92@gmail.com>
      Co-authored-by: default avatarEric Love <eric.love@sifive.com>
      cea44342
  16. Nov 10, 2023
    • Ludovic Henry's avatar
      Add CI on Github Actions for x86_64, aarch64, arm, ppc64 and s390x (#476) · 69cfa713
      Ludovic Henry authored
      * Add CI on Github Actions for x86_64, aarch64, armhf, ppc64 and s390x
      * Disable -march=native for testervecabi - fails when compiling on a host CPU with AVX512f (#478)
      * Enable qemu features for s390x, ppc64, and arm
      * Add some architecture-specific cmake flags
      * Use job dependencies to avoid duplicating building native
      * Fix permissions in downloaded artifacts
      * Disable arm inline headers - don't work (#480)
      * Document why DISABLE_VXE2 on s390x
      69cfa713
  17. Apr 05, 2021
  18. Mar 12, 2021
    • friendlyanon's avatar
      CMake package config (#412) · eb3d9778
      friendlyanon authored
      
      
      * Use variables from GNUInstallDirs everywhere
      
      * Componentize the install rules
      
      * Add headers to the interface include path
      
      * Add install rules for CMake package config
      
      * Associate inline headers to a target
      
      Previously inline_headers was a UTILITY target, which cannot be
      installed, so it was renamed to inline_headers_util and a new
      inline_headers INTERFACE library target is introduced instead.
      
      Co-authored-by: default avatarfriendlyanon <friendlyanon@users.noreply.github.com>
      eb3d9778
  19. Feb 13, 2021
  20. Feb 10, 2021
    • Naoki Shibata's avatar
      Yet another cleanup (#407) · 6725c54b
      Naoki Shibata authored
      This is yet another patch for cleaning up the code.
      It mainly removes warning messages generated when compiling gnuabi_compatibility.c.
      It unifies the code for detecting availability of vector extensions.
      It removes unused variables.
      It adds mveclibtest.c that tests if substitution of mveclib with sleefgnuabi works.
      6725c54b
  21. Feb 07, 2021
  22. Feb 05, 2021
    • Naoki Shibata's avatar
      Add functionality to replace libm and libquadmath functions (#405) · 65f0e7cb
      Naoki Shibata authored
      With this patch, libm functions and libquadmath functions can be replaced with sleef functions by defining SLEEF_REPLACE_LIBM_FUNCS and SLEEF_REPLACE_LIBQUADMATH_FUNCS macros before including sleef.h and sleefquad.h, respectively. The replaced libm functions can be automatically vectorized with gcc on x86_64.
      65f0e7cb
  23. Feb 04, 2021
    • Naoki Shibata's avatar
      Add OpenMP SIMD pragma to function declarations in sleef.h (#404) · 6f1189c8
      Naoki Shibata authored
      This patch adds vector ABI aliases to the vector functions.
      It also adds "omp declare simd" pragma to the declaration of scalar functions in sleef.h.
      This pragma is only enabled if SLEEF_ENABLE_OMP_SIMD is defined.
      By the modifications above, the auto-vectorizer in gcc can convert calls to sleef scalar functions to the corresponding vector functions.
      6f1189c8
  24. Feb 02, 2021
    • Naoki Shibata's avatar
      Separate scalar lib (#403) · 263098d9
      Naoki Shibata authored
      With this patch, the scalar functions implemented in sleefdp.c and sleefsp.c will be included in libsleefscalar.
      The functions with the same names in libsleef will be aliases to the dispatcher added in PR #402.
      By modifying like this, the scalar functions will run faster on computers with FMA support.
      263098d9
  25. Feb 01, 2021
  26. Jan 30, 2021
  27. Jan 27, 2021
  28. Jan 26, 2021
Loading