|
From: | Richard Henderson |
Subject: | Re: [PATCH for-6.2 17/34] target/arm: Implement MVE VMLAS |
Date: | Fri, 16 Jul 2021 15:11:58 -0700 |
User-agent: | Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.11.0 |
On 7/13/21 6:37 AM, Peter Maydell wrote:
Implement the MVE VMLAS insn, which multiplies a vector by a vector and adds a scalar. Signed-off-by: Peter Maydell<peter.maydell@linaro.org> --- target/arm/helper-mve.h | 8 ++++++++ target/arm/mve.decode | 3 +++ target/arm/mve_helper.c | 31 +++++++++++++++++++++++++++++++ target/arm/translate-mve.c | 2 ++ 4 files changed, 44 insertions(+)
...
+/* Vector by vector plus scalar */ +#define DO_VMLAS(D, N, M) ((N) * (D) + (M)) + +DO_2OP_ACC_SCALAR_S(vmlass, DO_VMLAS) +DO_2OP_ACC_SCALAR_U(vmlasu, DO_VMLAS)
This is confusing. The ARM says # Operations that do not perform # widening are always unsigned (encoded with U=1),This instruction does not perform widening, but it then codes on to enumerate the signed/unsigned encodings.
I suppose you're matching what's written, so Reviewed-by: Richard Henderson <richard.henderson@linaro.org> r~
[Prev in Thread] | Current Thread | [Next in Thread] |