mirror of
https://github.com/archlinuxarm/PKGBUILDs.git
synced 2024-11-28 22:57:37 +00:00
60 lines
2.4 KiB
Diff
60 lines
2.4 KiB
Diff
|
From ddace4afd21c7c41ab76b849346425d7b412a38e Mon Sep 17 00:00:00 2001
|
||
|
From: Kevin Mihelich <kevin@archlinuxarm.org>
|
||
|
Date: Mon, 25 Apr 2016 18:03:26 -0600
|
||
|
Subject: [PATCH] Use NEON for ARMv7 only
|
||
|
|
||
|
Signed-off-by: Kevin Mihelich <kevin@archlinuxarm.org>
|
||
|
---
|
||
|
lib/CMakeLists.txt | 14 +++++++++++---
|
||
|
1 file changed, 11 insertions(+), 3 deletions(-)
|
||
|
|
||
|
diff --git a/lib/CMakeLists.txt b/lib/CMakeLists.txt
|
||
|
index 1accb59..19746d5 100644
|
||
|
--- a/lib/CMakeLists.txt
|
||
|
+++ b/lib/CMakeLists.txt
|
||
|
@@ -250,6 +250,14 @@ if(NOT CPU_IS_x86)
|
||
|
endif(NOT CPU_IS_x86)
|
||
|
|
||
|
########################################################################
|
||
|
+# if the CPU is not ARMv7, eliminate NEON
|
||
|
+########################################################################
|
||
|
+
|
||
|
+if(NOT ${CMAKE_SYSTEM_PROCESSOR} MATCHES "armv7.*")
|
||
|
+ OVERRULE_ARCH(neon "Architecture is not ARMv7")
|
||
|
+endif(NOT ${CMAKE_SYSTEM_PROCESSOR} MATCHES "armv7.*")
|
||
|
+
|
||
|
+########################################################################
|
||
|
# implement overruling in the ORC case,
|
||
|
# since ORC always passes flag detection
|
||
|
########################################################################
|
||
|
@@ -414,7 +422,7 @@ include_directories(
|
||
|
# Handle ASM support
|
||
|
# on by default, but let users turn it off
|
||
|
########################################################################
|
||
|
-if(${CMAKE_VERSION} VERSION_GREATER "2.8.9")
|
||
|
+if((${CMAKE_VERSION} VERSION_GREATER "2.8.9") AND (${CMAKE_SYSTEM_PROCESSOR} MATCHES "armv7.*"))
|
||
|
set(ASM_ARCHS_AVAILABLE "neon")
|
||
|
|
||
|
set(FULL_C_FLAGS "${CMAKE_C_FLAGS}" "${CMAKE_CXX_COMPILER_ARG1}")
|
||
|
@@ -443,7 +451,7 @@ if(${CMAKE_VERSION} VERSION_GREATER "2.8.9")
|
||
|
message(STATUS "asm flags: ${CMAKE_ASM_FLAGS}")
|
||
|
endforeach(ARCH)
|
||
|
|
||
|
-else(${CMAKE_VERSION} VERSION_GREATER "2.8.9")
|
||
|
+else((${CMAKE_VERSION} VERSION_GREATER "2.8.9") AND (${CMAKE_SYSTEM_PROCESSOR} MATCHES "armv7.*"))
|
||
|
message(STATUS "Not enabling ASM support. CMake >= 2.8.10 required.")
|
||
|
foreach(machine_name ${available_machines})
|
||
|
string(REGEX MATCH "neon" NEON_MACHINE ${machine_name})
|
||
|
@@ -451,7 +459,7 @@ else(${CMAKE_VERSION} VERSION_GREATER "2.8.9")
|
||
|
message(FATAL_ERROR "CMake >= 2.8.10 is required for ARM NEON support")
|
||
|
endif()
|
||
|
endforeach()
|
||
|
-endif(${CMAKE_VERSION} VERSION_GREATER "2.8.9")
|
||
|
+endif((${CMAKE_VERSION} VERSION_GREATER "2.8.9") AND (${CMAKE_SYSTEM_PROCESSOR} MATCHES "armv7.*"))
|
||
|
|
||
|
########################################################################
|
||
|
# Handle orc support
|
||
|
--
|
||
|
2.8.0
|
||
|
|