target/arm: Make VQDMULL undefined when U=1
authorFredrik Strupe <fredrik@strupe.net>
Wed, 8 Apr 2020 11:59:53 +0000 (13:59 +0200)
committerPeter Maydell <peter.maydell@linaro.org>
Mon, 4 May 2020 09:32:44 +0000 (10:32 +0100)
According to Arm ARM, VQDMULL is only valid when U=0, while having
U=1 is unallocated.

Signed-off-by: Fredrik Strupe <fredrik@strupe.net>
Fixes: 695272dcb976 ("target-arm: Handle UNDEF cases for Neon 3-regs-different-widths")
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
target/arm/translate.c

index d4ad2028f12ba8f007f883fda4a1192fb9c76482..e3fc7924428035a00333a485c3110a111f707365 100644 (file)
@@ -6016,7 +6016,7 @@ static int disas_neon_data_insn(DisasContext *s, uint32_t insn)
                     {0, 0, 0, 0}, /* VMLSL */
                     {0, 0, 0, 9}, /* VQDMLSL */
                     {0, 0, 0, 0}, /* Integer VMULL */
-                    {0, 0, 0, 1}, /* VQDMULL */
+                    {0, 0, 0, 9}, /* VQDMULL */
                     {0, 0, 0, 0xa}, /* Polynomial VMULL */
                     {0, 0, 0, 7}, /* Reserved: always UNDEF */
                 };