[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v2 0/6] target-arm: Fix bugs in fp exception flag se
From: |
Peter Maydell |
Subject: |
[Qemu-devel] [PATCH v2 0/6] target-arm: Fix bugs in fp exception flag setting |
Date: |
Thu, 19 May 2011 14:46:13 +0100 |
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(-)
- [Qemu-devel] [PATCH v2 0/6] target-arm: Fix bugs in fp exception flag setting,
Peter Maydell <=
- [Qemu-devel] [PATCH v2 1/6] target-arm: Don't set FP exceptions in recip, recip_sqrt estimate fns, Peter Maydell, 2011/05/19
- [Qemu-devel] [PATCH v2 5/6] target-arm: Signal Underflow when denormal flushed to zero on output, Peter Maydell, 2011/05/19
- [Qemu-devel] [PATCH v2 2/6] target-arm: Signal InputDenormal for VRECPE, VRSQRTE, VRECPS, VRSQRTS, Peter Maydell, 2011/05/19
- [Qemu-devel] [PATCH v2 6/6] target-arm: Use correct float status for Neon int-float conversions, Peter Maydell, 2011/05/19
- [Qemu-devel] [PATCH v2 3/6] target-arm: Signal InvalidOp for Neon GE and GT compares of QNaN, Peter Maydell, 2011/05/19
- [Qemu-devel] [PATCH v2 4/6] softfloat: Add new flag for when denormal result is flushed to zero, Peter Maydell, 2011/05/19
- Re: [Qemu-devel] [PATCH v2 0/6] target-arm: Fix bugs in fp exception flag setting, Aurelien Jarno, 2011/05/23