buildroot/package/snappy/0001-Fix-compilation-error-...

53 lines
1.9 KiB
Diff
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

From 284d5a6f267d4962b2b88540f218c10740a6c053 Mon Sep 17 00:00:00 2001
From: Dario Binacchi <dario.binacchi@amarulasolutions.com>
Date: Sat, 8 Jun 2024 18:42:16 +0200
Subject: [PATCH] Fix compilation error raised by vqtbl1q_u8 instruction
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
The compilation in Buildroot for the raspberrypi3_qt5we_defconfig
configuration:
make raspberrypi3_qt5we_defconfig
make
raises the following error:
In file included from buildroot/output/build/snappy-1.2.1/snappy.cc:29:
buildroot/output/build/snappy-1.2.1/snappy-internal.h: In function snappy::internal::V128 snappy::internal::V128_Shuffle(V128, V128):
buildroot/output/build/snappy-1.2.1/snappy-internal.h:109:10: error: vqtbl1q_u8 was not declared in this scope; did you mean vtbl1_u8?
109 | return vqtbl1q_u8(input, shuffle_mask);
| ^~~~~~~~~~
| vtbl1_u8
make[4]: *** [CMakeFiles/snappy.dir/build.make:118: CMakeFiles/snappy.dir/snappy.cc.o] Error 1
As reported by [1], the vqtbl1q_u8 instruction is supported by A64
architectures. For this reason, the patch enables the use of the
instruction only for NEON of such architecture.
[1] https://developer.arm.com/architectures/instruction-sets/intrinsics/vqtbl1q_u8
Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com>
Upstream: https://github.com/google/snappy/pull/185
---
snappy-internal.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/snappy-internal.h b/snappy-internal.h
index ae78247dbbc9..256d32344d1a 100644
--- a/snappy-internal.h
+++ b/snappy-internal.h
@@ -46,7 +46,7 @@
#include <arm_neon.h>
#endif
-#if SNAPPY_HAVE_SSSE3 || SNAPPY_HAVE_NEON
+#if SNAPPY_HAVE_SSSE3 || (SNAPPY_HAVE_NEON && defined(__aarch64__))
#define SNAPPY_HAVE_VECTOR_BYTE_SHUFFLE 1
#else
#define SNAPPY_HAVE_VECTOR_BYTE_SHUFFLE 0
--
2.43.0