qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH v3 0/6] target-arm: Fix floating point conversions
@ 2011-02-10 11:28 Peter Maydell
  2011-02-10 11:28 ` [Qemu-devel] [PATCH v3 1/6] softfloat: Add float16 type and float16 NaN handling functions Peter Maydell
                   ` (6 more replies)
  0 siblings, 7 replies; 8+ messages in thread
From: Peter Maydell @ 2011-02-10 11:28 UTC (permalink / raw)
  To: qemu-devel; +Cc: Christophe Lyon, patches

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(-)

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2011-02-10 18:47 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-02-10 11:28 [Qemu-devel] [PATCH v3 0/6] target-arm: Fix floating point conversions Peter Maydell
2011-02-10 11:28 ` [Qemu-devel] [PATCH v3 1/6] softfloat: Add float16 type and float16 NaN handling functions Peter Maydell
2011-02-10 11:28 ` [Qemu-devel] [PATCH v3 2/6] softfloat: Honour default_nan_mode for float-to-float conversions Peter Maydell
2011-02-10 11:28 ` [Qemu-devel] [PATCH v3 3/6] softfloat: Fix single-to-half precision float conversions Peter Maydell
2011-02-10 11:28 ` [Qemu-devel] [PATCH v3 4/6] softfloat: Correctly handle NaNs in float16_to_float32() Peter Maydell
2011-02-10 11:29 ` [Qemu-devel] [PATCH v3 5/6] target-arm: Silence NaNs resulting from half-precision conversions Peter Maydell
2011-02-10 11:29 ` [Qemu-devel] [PATCH v3 6/6] target-arm: Use standard FPSCR for Neon half-precision operations Peter Maydell
2011-02-10 18:47 ` [Qemu-devel] [PATCH v3 0/6] target-arm: Fix floating point conversions Aurelien Jarno

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).