target-arm: Fix Neon VQ(R)DMULH.S16 instructions
Correct an error in the implementation of the 16 bit forms of VQ(R)DMULH, bringing them into line with the 32 bit implementation. Signed-off-by: Juha Riihimäki <juha.riihimaki@nokia.com> Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
This commit is contained in:
parent
92e3c2a39e
commit
46eece9d89
|
@ -880,8 +880,9 @@ uint32_t HELPER(neon_cnt_u8)(uint32_t x)
|
||||||
if ((tmp ^ (tmp << 1)) & SIGNBIT) { \
|
if ((tmp ^ (tmp << 1)) & SIGNBIT) { \
|
||||||
SET_QC(); \
|
SET_QC(); \
|
||||||
tmp = (tmp >> 31) ^ ~SIGNBIT; \
|
tmp = (tmp >> 31) ^ ~SIGNBIT; \
|
||||||
|
} else { \
|
||||||
|
tmp <<= 1; \
|
||||||
} \
|
} \
|
||||||
tmp <<= 1; \
|
|
||||||
if (round) { \
|
if (round) { \
|
||||||
int32_t old = tmp; \
|
int32_t old = tmp; \
|
||||||
tmp += 1 << 15; \
|
tmp += 1 << 15; \
|
||||||
|
|
Loading…
Reference in a new issue