]> git.proxmox.com Git - mirror_qemu.git/commitdiff
target-xtensa: specialize softfloat NaN rules
authorMax Filippov <jcmvbkbc@gmail.com>
Wed, 19 Sep 2012 00:23:53 +0000 (04:23 +0400)
committerBlue Swirl <blauwirbel@gmail.com>
Sat, 22 Sep 2012 17:59:12 +0000 (17:59 +0000)
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>
fpu/softfloat-specialize.h

index 50b54b879183f25724d8d5bbca343c8e696d1b70..a1d489e42562bce253eed3d9b833d2add25c7bbb 100644 (file)
@@ -64,7 +64,8 @@ const float16 float16_default_nan = const_float16(0xFE00);
 *----------------------------------------------------------------------------*/
 #if defined(TARGET_SPARC)
 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);
 #elif SNAN_BIT_IS_ONE
 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;
     }
 }
-#elif defined(TARGET_PPC)
+#elif defined(TARGET_PPC) || defined(TARGET_XTENSA)
 static int pickNaN(flag aIsQNaN, flag aIsSNaN, flag bIsQNaN, flag bIsSNaN,
                    flag aIsLargerSignificand)
 {