[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v3 0/6] target-arm: Fix floating point conversions
From: |
Peter Maydell |
Subject: |
[Qemu-devel] [PATCH v3 0/6] target-arm: Fix floating point conversions |
Date: |
Thu, 10 Feb 2011 11:28:55 +0000 |
This patchset fixes two issues:
* default_nan_mode not being honoured for float-to-float conversions
* half precision conversions being broken in a number of ways as
well as not handling default_nan_mode.
With this patchset qemu passes random-instruction-selection tests
for VCVT.F32.F16, VCVT.F16.F32, VCVTB and VCVTT, in both IEEE and
non-IEEE modes, with and without default-NaN behaviour.
Christophe: this patchset includes your softfloat v3 patch, although
I have split it up a little to keep the float16 bits separate.
Changes since v2:
* added STRUCT_TYPES version of float16 and fixed various
places which needed a make_float16()/float16_val() in order
to compile with STRUCT_TYPES enabled
* s/bits16/float16/ in patch 3 as suggested by Aurelien
* fixed the types in the f16-related ARM helper wrappers in patch 6
Patch 2 is unchanged and so I've added Aurelien's reviewed-by
signoff; the others all changed, although mostly in minor ways.
(Compiling with STRUCT_TYPES enabled also needs some fixes to
existing float32/float64 code; I'll send a separate patchset
for that.)
Christophe Lyon (1):
softfloat: Honour default_nan_mode for float-to-float conversions
Peter Maydell (5):
softfloat: Add float16 type and float16 NaN handling functions
softfloat: Fix single-to-half precision float conversions
softfloat: Correctly handle NaNs in float16_to_float32()
target-arm: Silence NaNs resulting from half-precision conversions
target-arm: Use standard FPSCR for Neon half-precision operations
fpu/softfloat-specialize.h | 130 ++++++++++++++++++++++++++++++++++++++++++--
fpu/softfloat.c | 100 ++++++++++++++++++++++------------
fpu/softfloat.h | 19 ++++++-
target-arm/helper.c | 38 +++++++++++--
target-arm/helpers.h | 2 +
target-arm/translate.c | 16 +++---
6 files changed, 251 insertions(+), 54 deletions(-)
- [Qemu-devel] [PATCH v3 0/6] target-arm: Fix floating point conversions,
Peter Maydell <=
- [Qemu-devel] [PATCH v3 5/6] target-arm: Silence NaNs resulting from half-precision conversions, Peter Maydell, 2011/02/10
- [Qemu-devel] [PATCH v3 4/6] softfloat: Correctly handle NaNs in float16_to_float32(), Peter Maydell, 2011/02/10
- [Qemu-devel] [PATCH v3 2/6] softfloat: Honour default_nan_mode for float-to-float conversions, Peter Maydell, 2011/02/10
- [Qemu-devel] [PATCH v3 1/6] softfloat: Add float16 type and float16 NaN handling functions, Peter Maydell, 2011/02/10
- [Qemu-devel] [PATCH v3 6/6] target-arm: Use standard FPSCR for Neon half-precision operations, Peter Maydell, 2011/02/10
- [Qemu-devel] [PATCH v3 3/6] softfloat: Fix single-to-half precision float conversions, Peter Maydell, 2011/02/10
- Re: [Qemu-devel] [PATCH v3 0/6] target-arm: Fix floating point conversions, Aurelien Jarno, 2011/02/10