tesseract/tesseract_neon.patch
2024-01-21 09:26:04 +01:00

34 lines
1.5 KiB
Diff

diff -rupN --no-dereference tesseract-5.3.4/CMakeLists.txt tesseract-5.3.4-new/CMakeLists.txt
--- tesseract-5.3.4/CMakeLists.txt 2024-01-21 09:25:25.058988861 +0100
+++ tesseract-5.3.4-new/CMakeLists.txt 2024-01-21 09:25:25.068988378 +0100
@@ -249,7 +249,7 @@ elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "a
set(HAVE_AVX512F FALSE)
set(HAVE_FMA FALSE)
set(HAVE_SSE4_1 FALSE)
- set(HAVE_NEON TRUE)
+ check_cxx_compiler_flag("-mfpu=neon" HAVE_NEON)
elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "arm.*")
diff -rupN --no-dereference tesseract-5.3.4/src/arch/simddetect.cpp tesseract-5.3.4-new/src/arch/simddetect.cpp
--- tesseract-5.3.4/src/arch/simddetect.cpp 2024-01-18 08:48:04.000000000 +0100
+++ tesseract-5.3.4-new/src/arch/simddetect.cpp 2024-01-21 09:25:25.071988233 +0100
@@ -254,7 +254,7 @@ SIMDDetect::SIMDDetect() {
// SSE detected.
SetDotProduct(DotProductSSE, &IntSimdMatrix::intSimdMatrixSSE);
#endif
-#if defined(HAVE_NEON) || defined(__aarch64__)
+#if defined(HAVE_NEON)
} else if (neon_available_) {
// NEON detected.
SetDotProduct(DotProductNEON, &IntSimdMatrix::intSimdMatrixNEON);
@@ -311,7 +311,7 @@ void SIMDDetect::Update() {
} else if (dotproduct == "accelerate") {
SetDotProduct(DotProductAccelerate, IntSimdMatrix::intSimdMatrix);
#endif
-#if defined(HAVE_NEON) || defined(__aarch64__)
+#if defined(HAVE_NEON)
} else if (dotproduct == "neon" && neon_available_) {
// NEON selected by config variable.
SetDotProduct(DotProductNEON, &IntSimdMatrix::intSimdMatrixNEON);