diff options
| author | 2026-03-06 22:20:17 -0600 | |
|---|---|---|
| committer | 2026-03-06 22:20:17 -0600 | |
| commit | 9641b67e9155c25eb068363d6fb8d944fdb4034a (patch) | |
| tree | 40d34c372e82c8de8ecafaf2331ac21a908ee971 /3rdparty/softfloat | |
| parent | 4510879b73277d57c0d2249ee6671cedd4a59f88 (diff) | |
i386: fix softfloat with gcc 15 optimizer
Diffstat (limited to '3rdparty/softfloat')
| -rw-r--r-- | 3rdparty/softfloat/softfloat.c | 2 |
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; |
