softfloat: do not set denominator high bit for floatx80 remainder
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>
This commit is contained in:
parent
b662495dca
commit
566601f1f9
|
@ -5751,7 +5751,6 @@ floatx80 floatx80_modrem(floatx80 a, floatx80 b, bool mod,
|
||||||
if ( aSig0 == 0 ) return a;
|
if ( aSig0 == 0 ) return a;
|
||||||
normalizeFloatx80Subnormal( aSig0, &aExp, &aSig0 );
|
normalizeFloatx80Subnormal( aSig0, &aExp, &aSig0 );
|
||||||
}
|
}
|
||||||
bSig |= UINT64_C(0x8000000000000000);
|
|
||||||
zSign = aSign;
|
zSign = aSign;
|
||||||
expDiff = aExp - bExp;
|
expDiff = aExp - bExp;
|
||||||
aSig1 = 0;
|
aSig1 = 0;
|
||||||
|
|
Loading…
Reference in a new issue