On 6/7/21 9:58 AM, Peter Maydell wrote:
+static inline uint32_t do_ushl(uint32_t n, int8_t shift, int esize) +{ + if (shift >= esize || shift <= -esize) { + return 0; + } else if (shift < 0) { + return n >> -shift; + } else { + return n << shift; + } +}
Current form uses the helpers. #define NEON_FN(dest, src1, src2) \ (dest = do_uqrshl_bhs(src1, (int8_t)src2, 16, false, NULL)) NEON_VOP(shl_u16, neon_u16, 2) #undef NEON_FN etc. Otherwise, Reviewed-by: Richard Henderson <richard.hender...@linaro.org> r~