On Thu, 14 May 2026 at 13:03, Peter Maydell <[email protected]> wrote:
>
> On Fri, 8 May 2026 at 00:49, Richard Henderson
> <[email protected]> wrote:
> >
> > Signed-off-by: Richard Henderson <[email protected]>
> > ---
> >  target/arm/tcg/helper-defs.h   |  5 ++++
> >  target/arm/tcg/translate-a64.c | 38 +++++++++++++++++++++++++
> >  target/arm/tcg/vec_helper.c    | 52 ++++++++++++++++++++++++++++++++++
> >  target/arm/tcg/a64.decode      |  6 ++++
> >  4 files changed, 101 insertions(+)
>
> > diff --git a/target/arm/tcg/vec_helper.c b/target/arm/tcg/vec_helper.c
> > index 3231bb2100..f0dc11bc8a 100644
> > --- a/target/arm/tcg/vec_helper.c
> > +++ b/target/arm/tcg/vec_helper.c
> > @@ -3345,3 +3345,55 @@ DO_SME2_LUT(4,4,h, 2)
> >  DO_SME2_LUT(4,4,s, 4)
> >
> >  #undef DO_SME2_LUT
> > +
> > +void HELPER(gvec_luti2_b)(void *vd, void *vn, void *vm, uint32_t desc)
> > +{
> > +    unsigned part = simd_data(desc);
> > +    unsigned vl = simd_oprsz(desc);
> > +    unsigned elements = vl / 8;
>
> Isn't simd_oprsz() the size in bytes? The pseudocode for
> these ASIMD insns calculates the element count using sizes
> in bytes, with "elements = 128 / esize" (esize being 8 or 16),

I meant "in bits" here, of course.

-- PMM

Reply via email to