diff mbox

[2/7] softfloat: Simplify `floatx80ToCommonNaN' function

Message ID alpine.DEB.1.10.1412082204350.19155@tp.orcam.me.uk
State New
Headers show

Commit Message

Maciej W. Rozycki Dec. 9, 2014, 1:54 a.m. UTC
Make the bit shuffling in one place only and replace input if required 
instead.

Signed-off-by: Thomas Schwinge <thomas@codesourcery.com>
Signed-off-by: Maciej W. Rozycki <macro@codesourcery.com>
---
qemu-softfloat-floatx80-nan.diff

Comments

Leon Alrae Jan. 28, 2015, 4:15 p.m. UTC | #1
On 09/12/2014 01:54, Maciej W. Rozycki wrote:
> Make the bit shuffling in one place only and replace input if required 
> instead.
> 
> Signed-off-by: Thomas Schwinge <thomas@codesourcery.com>
> Signed-off-by: Maciej W. Rozycki <macro@codesourcery.com>
> ---
> qemu-softfloat-floatx80-nan.diff
> Index: qemu-git-trunk/fpu/softfloat-specialize.h

Reviewed-by: Leon Alrae <leon.alrae@imgtec.com>
diff mbox

Patch

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;
 }