diff mbox series

[PULL,18/31] softfloat: do not set denominator high bit for floatx80 remainder

Message ID 20200624105048.375353-18-pbonzini@redhat.com
State New
Headers show
Series [PULL,01/31] kvm: support to get/set dirty log initial-all-set capability | expand

Commit Message

Paolo Bonzini June 24, 2020, 10:50 a.m. UTC
From: Joseph Myers <joseph@codesourcery.com>

The floatx80 remainder implementation unnecessarily sets the high bit
of bSig explicitly.  By that point in the function, arguments that are
invalid, zero, infinity or NaN have already been handled and
subnormals have been through normalizeFloatx80Subnormal, so the high
bit will already be set.  Remove the unnecessary code.

Signed-off-by: Joseph Myers <joseph@codesourcery.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <alpine.DEB.2.21.2006081656220.23637@digraph.polyomino.org.uk>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 fpu/softfloat.c | 1 -
 1 file changed, 1 deletion(-)
diff mbox series

Patch

diff --git a/fpu/softfloat.c b/fpu/softfloat.c
index ab50088c35..1ee3342715 100644
--- a/fpu/softfloat.c
+++ b/fpu/softfloat.c
@@ -5751,7 +5751,6 @@  floatx80 floatx80_modrem(floatx80 a, floatx80 b, bool mod,
         if ( aSig0 == 0 ) return a;
         normalizeFloatx80Subnormal( aSig0, &aExp, &aSig0 );
     }
-    bSig |= UINT64_C(0x8000000000000000);
     zSign = aSign;
     expDiff = aExp - bExp;
     aSig1 = 0;