[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-arm] [Qemu-devel] [PATCH v4 1/9] softfloat: Implement run-time
From: |
Eduardo Habkost |
Subject: |
Re: [Qemu-arm] [Qemu-devel] [PATCH v4 1/9] softfloat: Implement run-time-configurable meaning of signaling NaN bit |
Date: |
Tue, 12 Apr 2016 15:45:51 -0300 |
User-agent: |
Mutt/1.5.23 (2014-03-12) |
On Tue, Apr 12, 2016 at 02:58:03PM +0200, Aleksandar Markovic wrote:
[...]
> 4) Updated code for all platforms to reflect changes in SoftFloat library.
> This change is twofolds: it includes modifications of SoftFloat library
> functions invocations, and an addition of invocation of function
> set_snan_bit_is_one() during CPU initialization, with arguments that
> are appropriate for each particular platform.
>
> In order to be at the same time accurate in relation to floating point
> arithmetics and consistent with a particular platform code, following
> principle is adopted related to invocations of new function
> set_snan_bit_is_one():
>
> 1. If a target platform doesn't use SoftFloat library, nothing is added.
> (cris, lm32, moxie)
> 2. Else, if a target platform's signaling bit meaning is "1 is
> signaling", explicit invocation of set_snan_bit_is_one(1) is added.
> (mips, sh4, unicore32)
> (for mips this will change in the second patch of this
> series, but this very patch leaves mips features as
> they currently are.)
> 3. Else, if a target platform explicitly sets other fields of its
> float_status structure(s), explicit invocation of
> set_snan_bit_is_one(0) is added.
> (ppc, s390x, tricore)
> 4. Else, if a target platform doesn't explicitly set its structure
> CPUXXXState, explicit invocation of set_snan_bit_is_one(0) is added.
> (alpha, xtensa)
The CPU struct is zeroed by object_new() when the CPU object is
created, so the field is already set to 0 by default on all
architectures. You shouldn't need set_snan_bit_is_one(0) calls on
CPU initialization on any architecture.
> 5. For remaining cases, nothing is added. (Those cases explicitly set
> their CPUXXXState/float_status structures to 0, and thus implicitly
> perform set_snan_bit_is_one(0).)
> (arm, i386, m68k, microblaze, openrisc, sparc)
>
--
Eduardo
- Re: [Qemu-arm] [PATCH v4 3/9] softfloat: For Mips only, correct order in pickNaNMulAdd(), (continued)
- [Qemu-arm] [PATCH v4 6/9] target-mips: Activate IEEE 274-2008 support, Aleksandar Markovic, 2016/04/12
- [Qemu-arm] [PATCH v4 5/9] softfloat: Clean up white spaces in softfloat-specialize.h, Aleksandar Markovic, 2016/04/12
- [Qemu-arm] [PATCH v4 2/9] softfloat: For Mips only, correct default NaN values, Aleksandar Markovic, 2016/04/12
- [Qemu-arm] [PATCH v4 4/9] softfloat: Clean up hex constants capitalization in softfloat-specialize.h, Aleksandar Markovic, 2016/04/12
- [Qemu-arm] [PATCH v4 8/9] target-mips: Add nan2008 flavor of <CEIL|CVT|FLOOR|ROUND|TRUNC>.<L|W>.<S|D>, Aleksandar Markovic, 2016/04/12
- [Qemu-arm] [PATCH v4 7/9] target-mips: Add abs2008 flavor of <ABS|NEG>.<S|D>, Aleksandar Markovic, 2016/04/12
- [Qemu-arm] [PATCH v4 1/9] softfloat: Implement run-time-configurable meaning of signaling NaN bit, Aleksandar Markovic, 2016/04/12
- Re: [Qemu-arm] [Qemu-devel] [PATCH v4 1/9] softfloat: Implement run-time-configurable meaning of signaling NaN bit,
Eduardo Habkost <=
- Re: [Qemu-arm] [PATCH v4 1/9] softfloat: Implement run-time-configurable meaning of signaling NaN bit, Leon Alrae, 2016/04/13
- Re: [Qemu-arm] [PATCH v4 1/9] softfloat: Implement run-time-configurable meaning of signaling NaN bit, Leon Alrae, 2016/04/14