[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: |
Peter Maydell |
Subject: |
Re: [PATCH for-6.2 17/34] target/arm: Implement MVE VMLAS |
Date: |
Sat, 17 Jul 2021 11:06:10 +0100 |
On Fri, 16 Jul 2021 at 23:12, Richard Henderson
<richard.henderson@linaro.org> wrote:
>
> 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),
I have noticed that that text often appears for insns where it doesn't
really apply. I mostly ignore the text in favour of looking at
the pseudocode for working out what is supposed to be done.
-- PMM
- Re: [PATCH for-6.2 11/34] target/arm: Implement MVE VMULL (polynomial), (continued)
[PATCH for-6.2 18/34] target/arm: Implement MVE shift-by-scalar, Peter Maydell, 2021/07/13
[PATCH for-6.2 16/34] target/arm: Implement MVE VPSEL, Peter Maydell, 2021/07/13
[PATCH for-6.2 14/34] target/arm: Implement MVE integer vector comparisons, Peter Maydell, 2021/07/13
[PATCH for-6.2 28/34] target/arm: Implement MVE VMAXA, VMINA, Peter Maydell, 2021/07/13