All of lore.kernel.org
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH v2 0/6] target-arm: Fix bugs in fp exception flag setting
@ 2011-05-19 13:46 Peter Maydell
  2011-05-19 13:46 ` [Qemu-devel] [PATCH v2 1/6] target-arm: Don't set FP exceptions in recip, recip_sqrt estimate fns Peter Maydell
                   ` (6 more replies)
  0 siblings, 7 replies; 10+ messages in thread
From: Peter Maydell @ 2011-05-19 13:46 UTC (permalink / raw)
  To: qemu-devel; +Cc: Paul Brook, Aurelien Jarno, patches

This patch series fixes a number of minor bugs in the ARM target where
we were not correctly setting the cumulative exception flags in the
FPSCR. It includes adding a new flag to softfloat indicating when a
denormal result has been flushed to zero (as discussed previously on
the list.)

Tested with the usual random instruction sequence testing (covering
all the neon and vfp data processing instructions which can set FPSCR
exception flags). These patches fix all the FPSCR flags bugs I found,
with the exception of those in the VCVT float-int and float32-float16
conversion routines, which are a bit trickier to fix because they are
bugs in softfloat rather than merely in the arm helper functions.

v1->v2 changes:
 patches 1,2,3,4,5 are unchanged (v2 patches 4,5 are v1's 6 and 7)
 v2 patch 6 replaces the v1 patches 4,5, and makes the int-float
 conversion helpers take just a pointer to the correct fp_status
 rather than an entire CPUState pointer, as suggested by Paul Brook.


Peter Maydell (6):
  target-arm: Don't set FP exceptions in recip, recip_sqrt estimate fns
  target-arm: Signal InputDenormal for VRECPE, VRSQRTE, VRECPS, VRSQRTS
  target-arm: Signal InvalidOp for Neon GE and GT compares of QNaN
  softfloat: Add new flag for when denormal result is flushed to zero
  target-arm: Signal Underflow when denormal flushed to zero on output
  target-arm: Use correct float status for Neon int-float conversions

 fpu/softfloat.c          |   41 ++++++++++--
 fpu/softfloat.h          |    3 +-
 target-arm/helper.c      |  158 +++++++++++++++++----------------------------
 target-arm/helper.h      |   60 +++++++++---------
 target-arm/neon_helper.c |   40 +++++-------
 target-arm/translate.c   |  148 +++++++++++++++++++++++--------------------
 6 files changed, 223 insertions(+), 227 deletions(-)

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

end of thread, other threads:[~2011-05-25 21:31 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-05-19 13:46 [Qemu-devel] [PATCH v2 0/6] target-arm: Fix bugs in fp exception flag setting Peter Maydell
2011-05-19 13:46 ` [Qemu-devel] [PATCH v2 1/6] target-arm: Don't set FP exceptions in recip, recip_sqrt estimate fns Peter Maydell
2011-05-19 13:46 ` [Qemu-devel] [PATCH v2 2/6] target-arm: Signal InputDenormal for VRECPE, VRSQRTE, VRECPS, VRSQRTS Peter Maydell
2011-05-19 13:46 ` [Qemu-devel] [PATCH v2 3/6] target-arm: Signal InvalidOp for Neon GE and GT compares of QNaN Peter Maydell
2011-05-19 13:46 ` [Qemu-devel] [PATCH v2 4/6] softfloat: Add new flag for when denormal result is flushed to zero Peter Maydell
2011-05-19 13:46 ` [Qemu-devel] [PATCH v2 5/6] target-arm: Signal Underflow when denormal flushed to zero on output Peter Maydell
2011-05-19 13:46 ` [Qemu-devel] [PATCH v2 6/6] target-arm: Use correct float status for Neon int-float conversions Peter Maydell
2011-05-25 20:49   ` Stefan Weil
2011-05-25 21:31     ` Peter Maydell
2011-05-23 21:33 ` [Qemu-devel] [PATCH v2 0/6] target-arm: Fix bugs in fp exception flag setting Aurelien Jarno

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.