mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-11 03:24:58 -06:00
target-xtensa: specialize softfloat NaN rules
NaN propagation rule: leftmost NaN in the expression gets propagated to the result. Signed-off-by: Max Filippov <jcmvbkbc@gmail.com> Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
This commit is contained in:
parent
10f6ca0340
commit
b81fe822da
1 changed files with 3 additions and 2 deletions
|
@ -64,7 +64,8 @@ const float16 float16_default_nan = const_float16(0xFE00);
|
||||||
*----------------------------------------------------------------------------*/
|
*----------------------------------------------------------------------------*/
|
||||||
#if defined(TARGET_SPARC)
|
#if defined(TARGET_SPARC)
|
||||||
const float32 float32_default_nan = const_float32(0x7FFFFFFF);
|
const float32 float32_default_nan = const_float32(0x7FFFFFFF);
|
||||||
#elif defined(TARGET_PPC) || defined(TARGET_ARM) || defined(TARGET_ALPHA)
|
#elif defined(TARGET_PPC) || defined(TARGET_ARM) || defined(TARGET_ALPHA) || \
|
||||||
|
defined(TARGET_XTENSA)
|
||||||
const float32 float32_default_nan = const_float32(0x7FC00000);
|
const float32 float32_default_nan = const_float32(0x7FC00000);
|
||||||
#elif SNAN_BIT_IS_ONE
|
#elif SNAN_BIT_IS_ONE
|
||||||
const float32 float32_default_nan = const_float32(0x7FBFFFFF);
|
const float32 float32_default_nan = const_float32(0x7FBFFFFF);
|
||||||
|
@ -403,7 +404,7 @@ static int pickNaN(flag aIsQNaN, flag aIsSNaN, flag bIsQNaN, flag bIsSNaN,
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#elif defined(TARGET_PPC)
|
#elif defined(TARGET_PPC) || defined(TARGET_XTENSA)
|
||||||
static int pickNaN(flag aIsQNaN, flag aIsSNaN, flag bIsQNaN, flag bIsSNaN,
|
static int pickNaN(flag aIsQNaN, flag aIsSNaN, flag bIsQNaN, flag bIsSNaN,
|
||||||
flag aIsLargerSignificand)
|
flag aIsLargerSignificand)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue