Message ID | 20200408115953.1158-1-fredrik@strupe.net (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [1/2] target/arm: Make VQDMULL undefined when U=1 | expand |
On Wed, 8 Apr 2020 at 15:54, Fredrik Strupe <fredrik@strupe.net> wrote: > > 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") > --- I'm going to apply this patch to target-arm.next because my refactoring of Neon hasn't got to this group of insns yet, so putting the fix into the tree is the easiest way to remind me to handle it during the refactoring. (The other patch is in code I've already refactored; I'm planning to send out a series with that refactoring shortly.) thanks -- PMM
diff --git a/target/arm/translate.c b/target/arm/translate.c index 9f9f4e19e0..dfe9dbbcfd 100644 --- a/target/arm/translate.c +++ b/target/arm/translate.c @@ -5817,7 +5817,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 */ };
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") --- target/arm/translate.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)