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 <[email protected]>
r~
