From de7c6fe8347ab726c80ebbfcdb57f4b714d5243d Mon Sep 17 00:00:00 2001 From: John Naylor Date: Wed, 6 Mar 2024 15:54:25 +0700 Subject: [PATCH] Fix signedness error in 9f225e992 for gcc The first argument of vshrq_n_s8 needs to be a signed vector type, but it was passed unsigned. Clang is more lax with conversion, but gcc needs a cast. Fix by me, tested by Masahiko Sawada Per buildfarm members splitfin, batta, widowbird, snakefly, parula, massasauga Discussion: https://postgr.es/m/20240306074106.mg6w4koohdlworbs%40alap3.anarazel.de --- src/include/port/simd.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/include/port/simd.h b/src/include/port/simd.h index 326b4faff51..597496f2fb7 100644 --- a/src/include/port/simd.h +++ b/src/include/port/simd.h @@ -323,7 +323,7 @@ vector8_highbit_mask(const Vector8 v) 1 << 4, 1 << 5, 1 << 6, 1 << 7, }; - uint8x16_t masked = vandq_u8(vld1q_u8(mask), (uint8x16_t) vshrq_n_s8(v, 7)); + uint8x16_t masked = vandq_u8(vld1q_u8(mask), (uint8x16_t) vshrq_n_s8((int8x16_t) v, 7)); uint8x16_t maskedhi = vextq_u8(masked, masked, 8); return (uint32) vaddvq_u16((uint16x8_t) vzip1q_u8(masked, maskedhi)); -- 2.30.2