From: Christophe Lyon <christophe.l...@st.com> Fix handling of unsigned VRSHL.s8 and .s16 right shifts by the type width.
Signed-off-by: Christophe Lyon <christophe.l...@st.com> Reviewed-by: Peter Maydell <peter.mayd...@linaro.org> --- target-arm/neon_helper.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/target-arm/neon_helper.c b/target-arm/neon_helper.c index f692640..2930b5e 100644 --- a/target-arm/neon_helper.c +++ b/target-arm/neon_helper.c @@ -605,7 +605,7 @@ uint64_t HELPER(neon_rshl_s64)(uint64_t valop, uint64_t shiftop) tmp < -(ssize_t)sizeof(src1) * 8) { \ dest = 0; \ } else if (tmp == -(ssize_t)sizeof(src1) * 8) { \ - dest = src1 >> (tmp - 1); \ + dest = src1 >> (-tmp - 1); \ } else if (tmp < 0) { \ dest = (src1 + (1 << (-1 - tmp))) >> -tmp; \ } else { \ -- 1.7.1