blob: 9d101d5670dcd753d6efe0fda452d331f6dc5026 [file] [log] [blame] [edit]
include(CheckSymbolExists)
list(APPEND LDFLAGS -lm )
list(APPEND CFLAGS -Wno-implicit-int)
set(FP_TOLERANCE 0.001)
set(Source
ReedSolomon.c
evalloop.c
fbench.c
ffbench.c
flops-1.c
flops-2.c
flops-3.c
flops-4.c
flops-5.c
flops-6.c
flops-7.c
flops-8.c
flops.c
fp-convert.c
himenobmtxpa.c
lowercase.c
mandel-2.c
mandel.c
matmul_f64_4x4.c
oourafft.c
perlin.c
pi.c
revertBits.c
richards_benchmark.c
salsa20.c
whetstone.c
)
if(NOT ARCH STREQUAL "PowerPC" OR NOT TARGET_OS STREQUAL "Darwin")
list(APPEND Source dt.c)
endif()
if(ARCH STREQUAL "AArch64")
if(TARGET_OS STREQUAL "Darwin")
file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/CheckHasAArch64FMV.h "void __init_cpu_features_resolver(void);")
check_symbol_exists(__init_cpu_features_resolver ${CMAKE_CURRENT_BINARY_DIR}/CheckHasAArch64FMV.h HAS_AARCH64_FMV)
if(HAS_AARCH64_FMV)
list(APPEND CFLAGS -DHAS_DARWIN_FMV)
list(APPEND Source aarch64-init-cpu-features.c)
endif()
elseif(TARGET_OS STREQUAL "Linux")
file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/CheckHasAArch64FMV.h "void __init_cpu_features(void);")
check_symbol_exists(__init_cpu_features ${CMAKE_CURRENT_BINARY_DIR}/CheckHasAArch64FMV.h HAS_AARCH64_FMV)
if(HAS_AARCH64_FMV)
list(APPEND CFLAGS -DHAS_LINUX_FMV)
list(APPEND Source aarch64-init-cpu-features.c)
endif()
endif()
endif()
llvm_singlesource()
set_property(TARGET flops PROPERTY C_STANDARD 17)