target/arm: Fix SMMLS argument order
commite0a0c8322b8ebcdad674f443a3e86db8708d6738
authorRichard Henderson <richard.henderson@linaro.org>
Thu, 29 Aug 2019 01:32:58 +0000 (28 18:32 -0700)
committerPeter Maydell <peter.maydell@linaro.org>
Tue, 3 Sep 2019 15:20:34 +0000 (3 16:20 +0100)
tree5c5a2d7661ed25b49d5aa1c12bff3b2936217e08
parent3499ec086a30508383cdcb3cabdaa90356712dd3
target/arm: Fix SMMLS argument order

The previous simplification got the order of operands to the
subtraction wrong.  Since the 64-bit product is the subtrahend,
we must use a 64-bit subtract to properly compute the borrow
from the low-part of the product.

Fixes: 5f8cd06ebcf5 ("target/arm: Simplify SMMLA, SMMLAR, SMMLS, SMMLSR")
Reported-by: Laurent Desnogues <laurent.desnogues@gmail.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Tested-by: Laurent Desnogues <laurent.desnogues@gmail.com>
Message-id: 20190829013258.16102-1-richard.henderson@linaro.org
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
target/arm/translate.c