From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from [140.186.70.92] (port=58320 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1PnAPA-0000tl-5i for qemu-devel@nongnu.org; Wed, 09 Feb 2011 08:48:29 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1PnAP8-0004eE-Gt for qemu-devel@nongnu.org; Wed, 09 Feb 2011 08:48:24 -0500 Received: from mnementh.archaic.org.uk ([81.2.115.146]:51013) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1PnAP8-0004b4-8g for qemu-devel@nongnu.org; Wed, 09 Feb 2011 08:48:22 -0500 From: Peter Maydell Date: Wed, 9 Feb 2011 13:48:06 +0000 Message-Id: <1297259292-5025-1-git-send-email-peter.maydell@linaro.org> Subject: [Qemu-devel] [PATCH 0/6] target-arm: Fix floating point conversions List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: Christophe Lyon , patches@linaro.org 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. Peter Maydell (6): softfloat: Add float16 type and float16 NaN handling functions softfloat: Honour default_nan_mode for float-to-float conversions 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 | 125 ++++++++++++++++++++++++++++++++++++++++++-- fpu/softfloat.c | 66 ++++++++++++----------- fpu/softfloat.h | 12 ++++- target-arm/helper.c | 38 +++++++++++-- target-arm/helpers.h | 2 + target-arm/translate.c | 16 +++--- 6 files changed, 208 insertions(+), 51 deletions(-)