[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v5 13/28] fpu/softfloat: Partial support for ARM
From: |
Peter Maydell |
Subject: |
Re: [Qemu-devel] [PATCH v5 13/28] fpu/softfloat: Partial support for ARM Alternative half-precision |
Date: |
Tue, 15 May 2018 11:52:05 +0100 |
On 14 May 2018 at 23:12, Richard Henderson <address@hidden> wrote:
> From: Alex Bennée <address@hidden>
>
> For float16 ARM supports an alternative half-precision format which
> sacrifices the ability to represent NaN/Inf in return for a higher
> dynamic range. The new FloatFmt flag, arm_althp, is then used to
> modify the behaviour of canonicalize and round_canonical with respect
> to representation and exception raising.
>
> Usage of this new flag waits until we re-factor float-to-float conversions.
>
> Signed-off-by: Alex Bennée <address@hidden>
> Signed-off-by: Richard Henderson <address@hidden>
>
> ---
> v3
> - squash NaN to 0 if destination is AHP F16
> v4
> - handle inf -> ahp max in float_to_float not round_canonical
> - assert no nan and inf for ahp in round_canonical
> - check ahp before snan in float_to_float
> v5
> - split out canonicalize and round_canonical changes from the rest
> ---
> fpu/softfloat.c | 19 ++++++++++++++++---
> 1 file changed, 16 insertions(+), 3 deletions(-)
>
> diff --git a/fpu/softfloat.c b/fpu/softfloat.c
> index 41253c6749..55d0d01ec3 100644
> --- a/fpu/softfloat.c
> +++ b/fpu/softfloat.c
> @@ -220,8 +220,10 @@ typedef struct {
> * frac_shift: shift to normalise the fraction with DECOMPOSED_BINARY_POINT
> * The following are computed based the size of fraction
> * frac_lsb: least significant bit of fraction
> - * fram_lsbm1: the bit bellow the least significant bit (for rounding)
> + * frac_lsbm1: the bit bellow the least significant bit (for rounding)
"below"
> * round_mask/roundeven_mask: masks used for rounding
> + * The following optional modifiers are available:
> + * arm_althp: handle ARM Alternative Half Precision
> */
Otherwise
Reviewed-by: Peter Maydell <address@hidden>
thanks
-- PMM
- [Qemu-devel] [PATCH v5 08/28] fpu/softfloat: Replace float_class_msnan with parts_silence_nan, (continued)
- [Qemu-devel] [PATCH v5 08/28] fpu/softfloat: Replace float_class_msnan with parts_silence_nan, Richard Henderson, 2018/05/14
- [Qemu-devel] [PATCH v5 07/28] fpu/softfloat: Replace float_class_dnan with parts_default_nan, Richard Henderson, 2018/05/14
- [Qemu-devel] [PATCH v5 11/28] target/arm: squash FZ16 behaviour for conversions, Richard Henderson, 2018/05/14
- [Qemu-devel] [PATCH v5 12/28] target/arm: Remove floatX_maybe_silence_nan from conversions, Richard Henderson, 2018/05/14
- [Qemu-devel] [PATCH v5 10/28] target/arm: convert conversion helpers to fpst/ahp_flag, Richard Henderson, 2018/05/14
- [Qemu-devel] [PATCH v5 13/28] fpu/softfloat: Partial support for ARM Alternative half-precision, Richard Henderson, 2018/05/14
- Re: [Qemu-devel] [PATCH v5 13/28] fpu/softfloat: Partial support for ARM Alternative half-precision,
Peter Maydell <=
- [Qemu-devel] [PATCH v5 16/28] target/m68k: Use floatX_silence_nan when we have already checked for SNaN, Richard Henderson, 2018/05/14
- [Qemu-devel] [PATCH v5 15/28] target/hppa: Remove floatX_maybe_silence_nan from conversions, Richard Henderson, 2018/05/14
- [Qemu-devel] [PATCH v5 14/28] fpu/softfloat: re-factor float to float conversions, Richard Henderson, 2018/05/14
- [Qemu-devel] [PATCH v5 17/28] target/mips: Remove floatX_maybe_silence_nan from conversions, Richard Henderson, 2018/05/14
- [Qemu-devel] [PATCH v5 18/28] target/riscv: Remove floatX_maybe_silence_nan from conversions, Richard Henderson, 2018/05/14
- [Qemu-devel] [PATCH v5 19/28] target/s390x: Remove floatX_maybe_silence_nan from conversions, Richard Henderson, 2018/05/14
- [Qemu-devel] [PATCH v5 20/28] fpu/softfloat: Use float*_silence_nan in propagateFloat*NaN, Richard Henderson, 2018/05/14