[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v6 06/82] target/arm: Implement SVE2 saturating/rounding bitw
From: |
Peter Maydell |
Subject: |
Re: [PATCH v6 06/82] target/arm: Implement SVE2 saturating/rounding bitwise shift left (predicated) |
Date: |
Tue, 11 May 2021 16:56:09 +0100 |
On Tue, 11 May 2021 at 16:40, Richard Henderson
<richard.henderson@linaro.org> wrote:
>
> On 5/11/21 3:43 AM, Peter Maydell wrote:
> >> +#define do_sqshl_d(n, m) \
> >> + ({ uint32_t discard; do_sqrshl_d(n, m, false, &discard); })
> > Why pass in &discard rather than just NULL ? (Similarly below.)
>
> sat != NULL means enable saturation.
>
> Discard the results because unlike NEON, there is no architectural SVE flag to
> indicate that saturation has occurred.
Aha. Might be useful to expand the comment a little:
/*
* Unlike the NEON and AdvSIMD versions, there is no QC bit to set.
* We pass in a pointer to a dummy saturation field to trigger
* the saturating arithmetic but discard the information about
* whether it has occurred.
*/
-- PMM