On Fri, 8 May 2020 at 16:22, Richard Henderson <richard.hender...@linaro.org> wrote: > > Pass a pointer directly to env->vfp.qc[0], rather than env. > This will allow SVE2, which does not modify QC, to pass a > pointer to dummy storage. > > Signed-off-by: Richard Henderson <richard.hender...@linaro.org> > ---
> /* Signed saturating rounding doubling multiply-accumulate high half, 16-bit > */ > -static uint16_t inl_qrdmlah_s16(CPUARMState *env, int16_t src1, > - int16_t src2, int16_t src3) > +static int16_t inl_qrdmlah_s16(int16_t src1, int16_t src2, > + int16_t src3, uint32_t *sat) Why has the return type changed here ? The new type does make more sense (there's no behaviour change since the return value is always assigned to either an int16_t or uint16_t lvalue), but it also doesn't seem related to the passing-of-QC that this patch is doing. > { > /* Simplify: > * = ((a3 << 16) + ((e1 * e2) << 1) + (1 << 15)) >> 16 > /* Signed saturating rounding doubling multiply-subtract high half, 16-bit */ > -static uint16_t inl_qrdmlsh_s16(CPUARMState *env, int16_t src1, > - int16_t src2, int16_t src3) > +static int16_t inl_qrdmlsh_s16(int16_t src1, int16_t src2, > + int16_t src3, uint32_t *sat) Ditto. Otherwise Reviewed-by: Peter Maydell <peter.mayd...@linaro.org> thanks -- PMM