qemu-devel
[Top][All Lists]
Advanced

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

Re: [PATCH v3 13/16] target/arm: Pass pointer to qc to qrdmla/qrdmls


From: Peter Maydell
Subject: Re: [PATCH v3 13/16] target/arm: Pass pointer to qc to qrdmla/qrdmls
Date: Tue, 12 May 2020 15:28:20 +0100

On Fri, 8 May 2020 at 16:22, Richard Henderson
<address@hidden> 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 <address@hidden>
> ---

>  /* 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 <address@hidden>

thanks
-- PMM



reply via email to

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