]> git.pld-linux.org Git - packages/lpcnetfreedv.git/blob - lpcnetfreedv-vector-updates.patch
- new, partially based on Fedora
[packages/lpcnetfreedv.git] / lpcnetfreedv-vector-updates.patch
1 diff --git a/CMakeLists.txt b/CMakeLists.txt
2 index 680f52c..e536f30 100644
3 --- a/CMakeLists.txt
4 +++ b/CMakeLists.txt
5 @@ -52,6 +52,9 @@ message(STATUS "LPCNet version: ${LPCNET_VERSION}")
6  # Set default flags
7  set(CMAKE_C_FLAGS "-Wall -W -Wextra -Wno-unused-function -O3 -g -I. -MD ${CMAKE_C_FLAGS} -DENABLE_ASSERTIONS")
8  
9 +# Arch specific stuff here
10 +message(STATUS "Host system arch is: ${CMAKE_SYSTEM_PROCESSOR}")
11 +
12  # Detection of available CPU optimizations
13  if(NOT DISABLE_CPU_OPTIMIZATION)
14      if(UNIX AND NOT APPLE)
15 @@ -87,7 +90,7 @@ elseif(${AVX} OR ${AVX} GREATER 0)
16      set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -mavx")
17  endif()
18  
19 -# RPi
20 +# RPi / ARM 32bit
21  if(${NEON} OR ${NEON} GREATER 0)
22      message(STATUS "neon processor flags found or enabled.")
23      set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -mfpu=neon -march=armv8-a -mtune=cortex-a53")
24 diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
25 index 41a78dc..6c49f5e 100644
26 --- a/src/CMakeLists.txt
27 +++ b/src/CMakeLists.txt
28 @@ -49,7 +49,7 @@ target_link_libraries(dump_data lpcnetfreedv m codec2)
29  add_executable(test_lpcnet test_lpcnet.c)
30  target_link_libraries(test_lpcnet lpcnetfreedv m codec2)
31  
32 -if(AVX OR AVX2)
33 +if(AVX OR AVX2 OR CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64")
34      add_executable(test_vec test_vec.c)
35      target_link_libraries(test_vec m)
36  else()
37 diff --git a/src/nnet.c b/src/nnet.c
38 index 8ad4a26..ccb9c94 100644
39 --- a/src/nnet.c
40 +++ b/src/nnet.c
41 @@ -43,7 +43,7 @@
42  
43  #ifdef __AVX__
44  #include "vec_avx.h"
45 -#elif __ARM_NEON__
46 +#elif __ARM_NEON__ || __aarch64__
47  #include "vec_neon.h"
48  #else
49  #warning Compiling without any vectorization. This code will be very slow
50 diff --git a/src/test_vec.c b/src/test_vec.c
51 index 09b51e7..254292b 100644
52 --- a/src/test_vec.c
53 +++ b/src/test_vec.c
54 @@ -26,7 +26,7 @@ const char simd[]="AVX2";
55  #else
56  const char simd[]="AVX";
57  #endif
58 -#elif __ARM_NEON__
59 +#elif __ARM_NEON__ || __aarch64__
60  #include "vec_neon.h"
61  const char simd[]="NEON";
62  #else
This page took 0.068031 seconds and 3 git commands to generate.