From: Konstantinos Margaritis Date: Mon, 6 Dec 2021 21:35:51 +0000 (+0000) Subject: fix wrong castings for NEON X-Git-Tag: vectorscan/5.4.6^2~3^2~2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=fec557c1f9ca7d9eae4ca6a3e419a50bef674a06;p=thirdparty%2Fvectorscan.git fix wrong castings for NEON --- diff --git a/src/util/arch/arm/simd_utils.h b/src/util/arch/arm/simd_utils.h index 96cd332c..d1ab583f 100644 --- a/src/util/arch/arm/simd_utils.h +++ b/src/util/arch/arm/simd_utils.h @@ -129,7 +129,7 @@ m128 lshift_m128(m128 a, unsigned b) { return (m128) vshlq_n_u32((uint32x4_t)a, b); } #endif -#define CASE_LSHIFT_m128(a, offset) case offset: return (m128)vshlq_n_u32((int8x16_t)(a), (offset)); break; +#define CASE_LSHIFT_m128(a, offset) case offset: return (m128)vshlq_n_u32((uint32x4_t)(a), (offset)); break; switch (b) { case 0: return a; break; CASE_LSHIFT_m128(a, 1); @@ -175,7 +175,7 @@ m128 rshift_m128(m128 a, unsigned b) { return (m128) vshrq_n_u32((uint32x4_t)a, b); } #endif -#define CASE_RSHIFT_m128(a, offset) case offset: return (m128)vshrq_n_u32((int8x16_t)(a), (offset)); break; +#define CASE_RSHIFT_m128(a, offset) case offset: return (m128)vshrq_n_u32((uint32x4_t)(a), (offset)); break; switch (b) { case 0: return a; break; CASE_RSHIFT_m128(a, 1); @@ -221,7 +221,7 @@ m128 lshift64_m128(m128 a, unsigned b) { return (m128) vshlq_n_u64((uint64x2_t)a, b); } #endif -#define CASE_LSHIFT64_m128(a, offset) case offset: return (m128)vshlq_n_u64((int8x16_t)(a), (offset)); break; +#define CASE_LSHIFT64_m128(a, offset) case offset: return (m128)vshlq_n_u64((uint64x2_t)(a), (offset)); break; switch (b) { case 0: return a; break; CASE_LSHIFT64_m128(a, 1); @@ -299,7 +299,7 @@ m128 rshift64_m128(m128 a, unsigned b) { return (m128) vshrq_n_u64((uint64x2_t)a, b); } #endif -#define CASE_RSHIFT64_m128(a, offset) case offset: return (m128)vshrq_n_u64((int8x16_t)(a), (offset)); break; +#define CASE_RSHIFT64_m128(a, offset) case offset: return (m128)vshrq_n_u64((uint64x2_t)(a), (offset)); break; switch (b) { case 0: return a; break; CASE_RSHIFT64_m128(a, 1);