target-arm: Fix rounding constant addition for Neon shifts
commit4bd4ee072cfbd3555b34279c8529f7f5f8d6c14a
authorChristophe Lyon <christophe.lyon@st.com>
Tue, 15 Feb 2011 13:44:41 +0000 (15 13:44 +0000)
committerAurelien Jarno <aurelien@aurel32.net>
Sun, 20 Feb 2011 16:43:01 +0000 (20 17:43 +0100)
treea03f5e5430dc1fea28b20897860cb171ea8bad00
parentd68a6f3a6deb2f5eee198b6fa46877a20227d86e
target-arm: Fix rounding constant addition for Neon shifts

Handle cases where adding the rounding constant could overflow in Neon
shift instructions: VRSHR, VRSRA, VQRSHRN, VQRSHRUN, VRSHRN.

Signed-off-by: Christophe Lyon <christophe.lyon@st.com>
[peter.maydell@linaro.org: fix handling of large shifts in rshl_s32,
calculate signed saturated value as other functions do.]
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
target-arm/neon_helper.c