|
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; }
[Prev in Thread] | Current Thread | [Next in Thread] |