qemu-arm
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH for-6.2 17/34] target/arm: Implement MVE VMLAS


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~



reply via email to

[Prev in Thread] Current Thread [Next in Thread]