Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions Configure.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -217,6 +217,8 @@ elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "s390x")
set(CLANG_FLAGS_ENABLE_PURECFMA_SCALAR "-march=z14;-mzvector")
elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "riscv64")
set(SLEEF_ARCH_RISCV64 ON CACHE INTERNAL "True for RISCV64 architecture.")
elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "loongarch64")
set(SLEEF_ARCH_LOONGARCH64 ON CACHE INTERNAL "True for LoongArch64 architecture.")
endif()

set(COMPILER_SUPPORTS_PUREC_SCALAR 1)
Expand Down
2 changes: 1 addition & 1 deletion src/arch/helperpurec_scalar.h
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@
#define ENABLE_FMA_SP
//@#define ENABLE_FMA_SP

#if defined(__AVX2__) || defined(__aarch64__) || defined(__arm__) || defined(__powerpc64__) || defined(__zarch__) || defined(__riscv) || CONFIG == 3
#if defined(__AVX2__) || defined(__aarch64__) || defined(__arm__) || defined(__powerpc64__) || defined(__zarch__) || defined(__riscv) || defined(__loongarch64) || CONFIG == 3
#ifndef FP_FAST_FMA
//@#ifndef FP_FAST_FMA
#define FP_FAST_FMA
Expand Down
3 changes: 3 additions & 0 deletions src/libm-tester/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,9 @@ elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "s390x")
elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "riscv64")
set(TEST3_CINZ purec_scalar rvvm1nofma rvvm2nofma)
set(TEST3_FINZ purecfma_scalar rvvm1 rvvm2)
elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "loongarch64")
set(TEST3_CINZ purec_scalar)
set(TEST3_FINZ purecfma_scalar)
endif()

#
Expand Down
6 changes: 6 additions & 0 deletions src/libm/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -69,6 +69,12 @@ elseif(SLEEF_ARCH_RISCV64)
PUREC_SCALAR
PURECFMA_SCALAR
)
elseif(SLEEF_ARCH_LOONGARCH64)
set(SLEEF_HEADER_LIST
PUREC_SCALAR
PURECFMA_SCALAR
DSP_SCALAR
)
endif()

# HEADER_PARAMS
Expand Down
2 changes: 1 addition & 1 deletion src/libm/sleeflibm_header.h.org.in
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ extern "C"
#define SLEEF_INLINE __forceinline
#endif

#if defined(__AVX2__) || defined(__aarch64__) || defined(__arm__) || defined(__powerpc64__) || defined(__zarch__)
#if defined(__AVX2__) || defined(__aarch64__) || defined(__arm__) || defined(__powerpc64__) || defined(__zarch__) || defined(__loongarch64)
#ifndef FP_FAST_FMA
#define FP_FAST_FMA
#endif
Expand Down
6 changes: 6 additions & 0 deletions src/quad/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -93,6 +93,12 @@ elseif(SLEEF_ARCH_RISCV64)
PURECFMA_SCALAR
DSPSCALAR
)
elseif(SLEEF_ARCH_LOONGARCH64)
set(SLEEF_HEADER_LIST
PUREC_SCALAR
PURECFMA_SCALAR
DSPSCALAR
)
endif()

#
Expand Down