package/snappy: fix compilation error raised by vqtbl1q_u8 instruction
The package compilation for the raspberrypi3_qt5we_defconfig raises the following error: In file included from buildroot/output/build/snappy-1.1.10/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 The issue was raised by commit b3fb0b5b4b076 ("Enable vector byte shuffle optimizations on ARM NEON") contained in version 1.1.10. Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com> (cherry picked from commit 01f35f8875acc98adb670d789b256790e2418be8) Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
This commit is contained in:
parent
fae5c84c3d
commit
4b2aabf2df
@ -0,0 +1,52 @@
|
|||||||
|
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
|
||||||
|
|
Loading…
Reference in New Issue
Block a user