qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [PATCH 2/7] softfloat: Simplify `floatx80ToCommonNaN' funct


From: Maciej W. Rozycki
Subject: [Qemu-devel] [PATCH 2/7] softfloat: Simplify `floatx80ToCommonNaN' function
Date: Tue, 9 Dec 2014 01:54:53 +0000
User-agent: Alpine 1.10 (DEB 962 2008-03-14)

Make the bit shuffling in one place only and replace input if required 
instead.

Signed-off-by: Thomas Schwinge <address@hidden>
Signed-off-by: Maciej W. Rozycki <address@hidden>
---
qemu-softfloat-floatx80-nan.diff
Index: qemu-git-trunk/fpu/softfloat-specialize.h
===================================================================
--- qemu-git-trunk.orig/fpu/softfloat-specialize.h      2014-11-06 
06:08:34.927738779 +0000
+++ qemu-git-trunk/fpu/softfloat-specialize.h   2014-11-20 21:58:09.908941613 
+0000
@@ -934,15 +934,14 @@ static commonNaNT floatx80ToCommonNaN( f
     commonNaNT z;
 
     if ( floatx80_is_signaling_nan( a ) ) float_raise( float_flag_invalid 
STATUS_VAR);
-    if ( a.low >> 63 ) {
-        z.sign = a.high >> 15;
-        z.low = 0;
-        z.high = a.low << 1;
-    } else {
-        z.sign = floatx80_default_nan_high >> 15;
-        z.low = 0;
-        z.high = floatx80_default_nan_low << 1;
+    /* Replace a Pseudo NaN with a default NaN.  */
+    if (!(a.low >> 63)) {
+        a.low = floatx80_default_nan_low;
+        a.high = floatx80_default_nan_high;
     }
+    z.sign = a.high >> 15;
+    z.low = 0;
+    z.high = a.low << 1;
     return z;
 }
 



reply via email to

[Prev in Thread] Current Thread [Next in Thread]