On Sat, 17 Jul 2021 at 21:46, Richard Henderson
<richard.hender...@linaro.org> wrote:
>
> On 7/13/21 6:37 AM, Peter Maydell wrote:
> > +/* Max and min of absolute values */
> > +static int64_t do_maxa(int64_t n, int64_t m)
> > +{
> > +    if (n < 0) {
> > +        n = -n;
> > +    }
> > +    if (m < 0) {
> > +        m = -m;
> > +    }
> > +    return MAX(n, m);
> > +}
>
> This doesn't look quite right.  The n operand is extracted unsigned, and only 
> the m
> operand is subjected to ABS.

Yes, you're right (this patch does always extract ra (here n)
unsigned, so the only case where it makes a difference is
VMINAV when the input ra is negative). I noticed this wrinkle
when implementing the FP variant of this insn, but missed it here.

-- PMM

Reply via email to