summaryrefslogtreecommitdiffstatshomepage
path: root/3rdparty/softfloat
diff options
context:
space:
mode:
author cracyc <cracyc@users.noreply.github.com>2026-03-06 22:20:17 -0600
committer cracyc <cracyc@users.noreply.github.com>2026-03-06 22:20:17 -0600
commit9641b67e9155c25eb068363d6fb8d944fdb4034a (patch)
tree40d34c372e82c8de8ecafaf2331ac21a908ee971 /3rdparty/softfloat
parent4510879b73277d57c0d2249ee6671cedd4a59f88 (diff)
i386: fix softfloat with gcc 15 optimizer
Diffstat (limited to '3rdparty/softfloat')
-rw-r--r--3rdparty/softfloat/softfloat.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/3rdparty/softfloat/softfloat.c b/3rdparty/softfloat/softfloat.c
index edd4def337b..f9e5fed7d1c 100644
--- a/3rdparty/softfloat/softfloat.c
+++ b/3rdparty/softfloat/softfloat.c
@@ -827,6 +827,7 @@ float64 int32_to_float64( int32 a )
bits64 zSig;
if ( a == 0 ) return 0;
+ if ( a == (sbits32) 0x80000000 ) return packFloat64( 1, 0x41E, 0 );
zSign = ( a < 0 );
absA = zSign ? - a : a;
shiftCount = countLeadingZeros32( absA ) + 21;
@@ -852,6 +853,7 @@ floatx80 int32_to_floatx80( int32 a )
bits64 zSig;
if ( a == 0 ) return packFloatx80( 0, 0, 0 );
+ if ( a == (sbits32) 0x80000000 ) return packFloatx80( 1, 0x401E, 0 );
zSign = ( a < 0 );
absA = zSign ? - a : a;
shiftCount = countLeadingZeros32( absA ) + 32;