From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:39013) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1W0ACz-0006wO-8W for qemu-devel@nongnu.org; Mon, 06 Jan 2014 08:27:10 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1W0ACv-0003vi-2h for qemu-devel@nongnu.org; Mon, 06 Jan 2014 08:27:06 -0500 Received: from mnementh.archaic.org.uk ([2001:8b0:1d0::1]:44426) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1W0ACu-0003uu-MU for qemu-devel@nongnu.org; Mon, 06 Jan 2014 08:27:04 -0500 From: Peter Maydell Date: Mon, 6 Jan 2014 13:10:57 +0000 Message-Id: <1389013881-15726-1-git-send-email-peter.maydell@linaro.org> Subject: [Qemu-devel] [PATCH v2 00/24] A64 decoder patchset 6: rest of floating point List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: Tom Musta , Peter Crosthwaite , patches@linaro.org, Michael Matz , Alexander Graf , Claudio Fontana , Dirk Mueller , Will Newton , Laurent Desnogues , =?UTF-8?q?Alex=20Benn=C3=A9e?= , kvmarm@lists.cs.columbia.edu, Christoffer Dall , Richard Henderson This patchset completes the FP emulation, leaving us with only Neon (and CRC32) to go to complete the user-mode emulation. Most of this is fixing issues and adding new features to softfloat. (As usual, all Linaro authored softfloat patches are licensed under either softfloat-2a or softfloat-2b, at your option.) We need Tom Musta's softfloat patches too, so I have included them here (updated to the latest versions with the issues fixed). Changes v1->v2: * updated versions of Tom Musta's patches "Fix float64_to_uint64" and "Add float32_to_uint64" * 16 bit int-to-float fns now take exact-width types * new patch: "softfloat: Make the int-to-float functions take exact-width types", to make the other int-to-float functions consistent * "Prepare VFP_CONV_FIX helpers for A64 uses" now also drops the cast in the int_to_float call, since the above changes make it unnecessary * use 32 bit type as the intermediate when doing float-to-16-bit-int conversions * new patch: "softfloat: Refactor code handling various rounding modes" which is a pure refactoring of the rounding mode code to consistently use switches; this makes the "ties-away" support patch nicer and ends up with more readable code Alex: we should coordinate about whether these softfloat patches should go through my tree or yours, otherwise there's going to be a clash... thanks -- PMM Alexander Graf (1): target-arm: A64: Add "Floating-point<->fixed-point" instructions Peter Maydell (13): softfloat: Fix exception flag handling for float32_to_float16() softfloat: Add 16 bit integer to float conversions softfloat: Make the int-to-float functions take exact-width types softfloat: Only raise Invalid when conversions to int are out of range softfloat: Fix factor 2 error for scalbn on denormal inputs softfloat: Provide complete set of accessors for fp state softfloat: Factor out RoundAndPackFloat16 and NormalizeFloat16Subnormal softfloat: Add float16 <=> float64 conversion functions softfloat: Refactor code handling various rounding modes softfloat: Add support for ties-away rounding target-arm: Ignore most exceptions from scalbn when doing fixpoint conversion target-arm: A64: Add 1-source 32-to-32 and 64-to-64 FP instructions target-arm: A64: Add support for FCVT between half, single and double Tom Musta (5): softfloat: Fix float64_to_uint64 softfloat: Add float32_to_uint64() softfloat: Fix float64_to_uint64_round_to_zero softfloat: Fix float64_to_uint32 softfloat: Fix float64_to_uint32_round_to_zero Will Newton (5): softfloat: Add float to 16bit integer conversions. target-arm: Prepare VFP_CONV_FIX helpers for A64 uses target-arm: Rename A32 VFP conversion helpers target-arm: A64: Add extra VFP fixed point conversion helpers target-arm: A64: Add floating-point<->integer conversion instructions fpu/softfloat.c | 1055 ++++++++++++++++++++++++++++++++------------ include/fpu/softfloat.h | 96 +++- target-arm/helper.c | 141 +++++- target-arm/helper.h | 25 ++ target-arm/translate-a64.c | 424 +++++++++++++++++- target-arm/translate.c | 24 +- 6 files changed, 1428 insertions(+), 337 deletions(-) -- 1.8.5